Compare commits

..
780 Commits
Author SHA1 Message Date
Hooray 468b7e011b v5存档 2026-03-31 02:12:25 +08:00
Hooray 4eb6b057b8 更新依赖 2026-03-31 01:52:57 +08:00
Hooray 0b04270de7 types 2026-03-25 22:26:57 +08:00
Hooray 9460e6d4d0 修复 FaSelect options 数组为空报错 2026-03-25 22:12:14 +08:00
Hooray f343f63840 更新依赖 2026-03-25 22:09:46 +08:00
Hooray 7c8dec3421 更新依赖 2026-03-15 02:13:26 +08:00
Hooray d0d0990f7c 优化路由守卫逻辑,简化条件判断和重定向处理 2026-03-07 15:11:58 +08:00
Hooray fed4dbcbde 更新依赖 2026-03-07 11:59:50 +08:00
Hooray 7c17dd6e5a 修复 overscroll-behavior 属性行为在 chrome 144 变更引起的 bug 2026-01-22 22:30:06 +08:00
Hooray 357620b6bf 更新依赖 2025-12-28 04:24:05 +08:00
Hooray 18477eff52 更新依赖 2025-12-25 13:13:30 +08:00
Hooray c5aea0449b 优化明暗切换过渡效果 2025-12-02 01:46:03 +08:00
Hooray c08fba325b 移除注册表单中的验证码字段 2025-11-10 15:39:22 +08:00
Hooray 943f68e0e0 移除 FaDrawer / FaModal 组件内置的 FaScrollArea 组件 2025-11-09 19:56:22 +08:00
Hooray 663c195da1 更新依赖 2025-11-09 19:29:57 +08:00
Hooray 31ab568563 修复FaImagePreview组件更改src值后不重置加载状态问题 2025-11-05 02:15:05 +08:00
Hooray 24a2887aa3 useFaModal 示例扩充 2025-10-31 18:24:31 +08:00
Hooray 81b4cab380 更新依赖 2025-10-23 14:29:43 +08:00
Hooray ebbbfceac9 修复自定义内容不生效 2025-10-10 15:08:45 +08:00
Hooray 1888297a2c 更新依赖 2025-10-08 12:42:24 +08:00
Hooray 91fb70b2c5 修复明暗主题切换动画闪烁 2025-09-25 18:38:37 +08:00
Hooray fdfbafea0a 主导航切换演示示例调整 2025-09-22 16:36:08 +08:00
Hooray fda3adf95a 修复 FaSwitch 图标不居中 2025-09-22 16:33:31 +08:00
Hooray 3b2f69d127 修复 FaImagePreview 预览时警告 2025-09-22 15:38:48 +08:00
Hooray cf41d7cc8c 更新依赖 2025-09-17 02:04:53 +08:00
Hooray 1a550c5385 移除 FaScrollArea 组件中的垂直滚动逻辑 2025-09-12 14:43:22 +08:00
Hooray c87c9f6c07 新增 FaCollapsible 组件 2025-09-05 16:25:33 +08:00
Hooray 60bb408ccc FaCheckbox 支持半选状态 2025-09-05 16:15:13 +08:00
Hooray 705f14e415 修复 FaFileUpload 和 FaImageUpload 在表单中点击可能会触发表单提交 2025-09-05 16:10:50 +08:00
Hooray 3990c4f437 更新依赖 2025-09-01 10:11:39 +08:00
Hooray eee125d2c7 修复 FaPinInput 组件输入bug 2025-09-01 00:24:07 +08:00
Hooray 8f2745ab59 优化标签页快捷键跳转逻辑 2025-08-15 11:29:54 +08:00
Hooray f1202cae20 FaSelect 组件支持更多类型 2025-08-13 10:28:07 +08:00
Hooray 8daee24eba 优化请求错误处理逻辑 2025-08-13 00:30:04 +08:00
Hooray b52578283c 更新依赖 2025-08-10 10:51:10 +08:00
Hooray 7c3d3820c2 优化响应拦截器逻辑 2025-08-08 17:44:58 +08:00
Hooray 48772f9003 useFaModal 和 useFaDrawer 页面卸载时自动清理 2025-08-06 18:06:35 +08:00
Hooray 8cbb3402da 确保 router.close 方法在 router.push 后处理 tabbar 状态 2025-08-05 23:43:34 +08:00
Hooray 1dd7a03a84 增加 FaTextarea 组件 2025-08-02 14:49:16 +08:00
Hooray 95a128372b FaSlider 组件增加 tooltip 属性 2025-08-02 03:59:53 +08:00
Hooray 42b1d20652 调整 FaDrawer 和 FaModal 组件的底部样式,增加内边距 2025-08-02 03:56:54 +08:00
Hooray cbe373c061 添加单选按钮组示例 2025-08-02 03:54:26 +08:00
Hooray 85e67c4fea 优化次导航第一层最深路径解析逻辑 2025-07-31 23:05:00 +08:00
Hooray 22ab17fb25 优化菜单项初始化逻辑 2025-07-30 23:51:26 +08:00
Hooray cd8eff5f97 修复 FaDrawer and FaModal 组件在头部不显示时的警告 2025-07-30 22:16:31 +08:00
Hooray e4ef6449e0 FaModal 和 FaDrawer 组件添加 zIndex 属性 2025-07-30 21:43:41 +08:00
Hooray 522a97f8d6 重构 useFaModal 和 useFaDrawer 2025-07-29 00:57:27 +08:00
Hooray 59fb213060 优化页面缓存逻辑 2025-07-28 20:32:08 +08:00
Hooray d4ca52ea8d 更新依赖 2025-07-25 15:20:15 +08:00
Hooray 17953c7645 FaModal 和 FaDrawer 分别增加命令式调用API 2025-07-25 14:09:57 +08:00
Hooray 5726479100 优化 tabId ,排除路由中的 query 参数 2025-07-21 10:19:55 +08:00
Hooray 3946adaecb 更新依赖 2025-07-18 14:18:22 +08:00
Hooray 7d27b74846 移除无用演示页面 2025-07-10 14:22:51 +08:00
Hooray 058f42fb37 修复 FaButtonGroup 组件的按钮边框样式,确保在非最后一个和非第一个按钮时正确应用圆角样式 2025-07-05 15:42:40 +08:00
Hooray d25dbeffdc 新增 FaFileUpload 组件,移除 FileUpload 组件 2025-07-05 15:41:00 +08:00
Hooray fb70031109 新增 FaImageUpload 组件,移除 ImageUpload 和 ImagesUpload 组件 2025-07-03 23:56:11 +08:00
Hooray f5bda00696 FaImagePreview 组件函数式调用增加多图支持 2025-07-02 15:16:09 +08:00
Hooray 60a3c4d3a1 FaImagePreview 组件增加函数式调用 2025-07-02 01:45:24 +08:00
Hooray 00f729340c 修复自动生成 store 文件目录错误 2025-06-30 15:20:47 +08:00
Hooray d076de4094 更新依赖 2025-06-29 18:17:47 +08:00
Hooray 366396c9d9 vite 升级到 7.0 2025-06-26 17:38:16 +08:00
Hooray 44717364d2 标签页右键菜单补充图标 2025-06-25 18:33:32 +08:00
Hooray 52012d46fa 个人设置弹窗适配移动端 2025-06-24 10:11:13 +08:00
Hooray e61465f75e 扩展路由 close 函数,并移除 useTabbar 中 close 函数 2025-06-21 15:19:47 +08:00
Hooray 97b15818b5 pinia store 改为自动导入 2025-06-17 12:37:10 +08:00
Hooray 5366aeb185 移除 useViewTransition 函数封装 2025-06-16 11:37:51 +08:00
Hooray 9ce9f36a10 新增 FaImagePreview 组件,并移除 ImagePreview 组件 2025-06-15 23:52:04 +08:00
Hooray e2c0eb5292 FaDrawer 和 FaModal 组件新增 destroyOnClose 属性 2025-06-13 16:06:11 +08:00
Hooray 3259ef0c9c 修复账户按钮移动端次导航下不实现用户名 2025-06-12 11:29:58 +08:00
Hooray c6c71b42d0 优化主题样式和全局样式引入 2025-06-12 02:08:33 +08:00
Hooray 4c23c8b55e 优化导航菜单动效执行性能 2025-06-11 18:26:50 +08:00
Hooray 3fe319e033 为 FaTabs 组件添加 listClass 和 contentClass 属性,以支持自定义样式 2025-06-11 10:08:00 +08:00
Hooray 801d346bc7 FaModal 组件增加 beforeClose 回调函数,优化关闭逻辑并支持异步处理 2025-06-10 14:39:35 +08:00
Hooray 0a940763ef 修复权限未开启时菜单未过滤的问题,并简化菜单过滤逻辑 2025-06-09 23:49:23 +08:00
Hooray 2c9118e847 演示路由调整 2025-06-09 18:25:21 +08:00
Hooray 440f8d3f07 FaModal 组件 provide/inject 改为组件传参方式 2025-06-09 11:43:09 +08:00
Hooray ec5aeee854 更新依赖 2025-06-09 01:17:44 +08:00
Hooray 4af458f067 新增 FaButtonGroup 组件 2025-06-07 16:54:16 +08:00
Hooray 34f29061f8 使用 useId 优化菜单逻辑 2025-06-07 10:20:49 +08:00
Hooray ab9719727c 更新viewport设置以改善移动设备上的显示效果 2025-06-06 16:33:00 +08:00
Hooray c20738ea9c 首屏loading适配暗黑模式 2025-06-06 15:05:00 +08:00
Hooray e667db15db 增加 Vue Data UI 示例 2025-06-05 14:02:08 +08:00
Hooray 0d7317eb44 优化生成icon脚本 2025-06-04 14:09:22 +08:00
Hooray a0821be5d7 更新依赖 2025-06-03 10:47:06 +08:00
Hooray b3e5814eea 更新 Node.js 版本要求 2025-06-03 10:06:15 +08:00
Hooray 9b07c0cd64 更新依赖 2025-05-30 14:47:53 +08:00
Hooray 2f6f07dfed 修复激活标签页定位可能不居中的问题 2025-05-27 18:19:54 +08:00
Hooray e87b72f624 修复次导航收起时页面展示错误 2025-05-26 14:34:48 +08:00
Hooray 3c09401955 将 FaDropdown 组件插槽名从 label 修改为 header,并新增 footer 插槽 2025-05-21 12:01:01 +08:00
Hooray 8796f3c1cb 优化布局相关 CSS 变量处理逻辑 2025-05-15 16:04:04 +08:00
Hooray c5fa23efbe 更新依赖 2025-05-15 10:50:38 +08:00
Hooray f574c5dcf7 增加请求重试机制 2025-05-14 17:30:31 +08:00
Hooray 716eab01eb 优化菜单点击处理逻辑,增加对链接的判断 2025-05-14 14:13:57 +08:00
Hooray 8ace4fd547 新增 FaProgress 组件 2025-05-14 10:43:22 +08:00
Hooray 3cba38822c typo 2025-05-06 09:43:14 +08:00
Hooray ae5ff8f973 新增 FaHoverCard 组件 2025-05-06 03:01:10 +08:00
Hooray 34c7e41028 对未设置 redirect 的父路由,访问时将自动重定向到允许访问的子路由 2025-05-05 00:58:15 +08:00
Hooray d572e6d933 调整 ElLink 组件示例 2025-05-04 14:40:40 +08:00
Hooray 451b42b418 优化 FaScrollArea 滚动体验 2025-05-02 23:18:58 +08:00
Hooray 5412e35059 调整标签页关闭逻辑,优先跳转至前一个标签页 2025-05-01 20:09:14 +08:00
Hooray e05ae827f3 FaScrollArea 组件新增 onScroll 事件 2025-05-01 17:07:10 +08:00
Hooray a2fc0d3431 移除 QuickAdmin 2025-05-01 03:09:44 +08:00
Hooray 8156aa1ff5 代码调整 2025-04-30 15:20:59 +08:00
Hooray 824c64ae94 toast 代替 ElMessage 2025-04-30 15:08:46 +08:00
Hooray 464c495df2 更新依赖 2025-04-30 14:15:10 +08:00
Hooray 06d7479939 新增工具栏全局开关设置 2025-04-29 17:23:28 +08:00
Hooray 912d20a55c 新增预设插槽 header-after-menu、main-sidebar-after-menu 和 sub-sidebar-after-menu 2025-04-28 18:21:05 +08:00
Hooray 82c28e61f9 将账号信息按钮封装为 AccountButton 组件,并优化工具栏和导航栏的显示逻辑 2025-04-28 18:12:25 +08:00
Hooray 5ad061008b 移除 vue-office 示例 2025-04-28 17:32:51 +08:00
Hooray 5dbedd24ae 修复导航logo在禁用主页时依旧显示可点击状态 2025-04-24 15:55:43 +08:00
Hooray 55503bdb66 修复 FaDrawer 和 FaModal 组件中遗漏的 props 2025-04-12 16:36:12 +08:00
Hooray 5e1d9266e1 多个内建组件添加 defineOptions 以设置组件名称 2025-04-07 16:21:36 +08:00
Hooray 8eda175402 FileUpload 组件增加 onRemove 事件回调 2025-04-07 16:18:35 +08:00
Hooray 476cce6068 更新依赖 2025-04-04 18:51:53 +08:00
Hooray 664114b1a5 回滚移除 <Suspense> 2025-04-03 17:53:53 +08:00
Hooray bd430e2788 优化icons生成脚本 2025-04-03 14:47:25 +08:00
Hooray 25aa911556 更新依赖 2025-03-30 20:33:03 +08:00
Hooray 2f06a3ac2a 样式优化 2025-03-29 13:20:17 +08:00
Hooray 9bb68311d7 重写路由 push/go/replace 函数,移除 useTabbar 中 open/go/replace 函数 2025-03-29 01:51:48 +08:00
Hooray 2f3f374fa0 优化子菜单过渡效果,支持两套实现方案 2025-03-26 22:38:07 +08:00
Hooray 8b51977b32 增加 cursor 配置 2025-03-26 15:43:57 +08:00
Hooray 5eed494401 修改圆角系数类型为 number 2025-03-24 18:38:09 +08:00
Hooray a0c18ac7ca 新增 FaSlider 组件 2025-03-24 18:23:20 +08:00
Hooray b97cd9478b 在路由守卫中捕获异常时,添加登出逻辑 2025-03-24 14:02:32 +08:00
Hooray a35a85f6df 移除 unocss-preset-scrollbar 依赖 2025-03-24 00:04:31 +08:00
Hooray 9d20a8fbe6 layouts 布局支持 <Suspense> 2025-03-13 15:54:09 +08:00
Hooray b55ea0f61b 浏览器不支持 color-mix 时,框架主题不会同步至 element-plus 主题 2025-03-13 15:52:53 +08:00
Hooray 0440d52b17 FaCopyright 组件改用 unocss 实现样式 2025-03-12 12:41:12 +08:00
Hooray 8b9a2d0c44 修复 FaDrawer 组件 contentClass 设置无效 2025-03-12 01:22:10 +08:00
Hooray 4a0ffdd0f0 优化导航菜单 2025-03-10 21:49:36 +08:00
Hooray 49cdde285a 根据 reka-ui 调整用法 2025-03-10 17:31:34 +08:00
Hooray 7f31f86ec3 更新依赖 2025-03-10 16:35:51 +08:00
Hooray e4dad2bb42 radix-vue 迁移到 reka-ui 2025-03-10 16:08:09 +08:00
Hooray 28a532243b 面包屑导航回滚回 computed 模式 2025-03-05 10:29:49 +08:00
Hooray 1100646921 FaDivider 增加 class props 2025-03-03 23:03:04 +08:00
Hooray fabeb0d3a2 FaPageMain group 作用域 2025-03-03 23:01:28 +08:00
Hooray 39b731cf2e FaContextMenu z-index 被遮挡 2025-03-03 14:51:03 +08:00
Hooray c5f50b5686 vue-office 示例修复 2025-03-03 11:02:23 +08:00
Hooray 87ad97e5cf 更新依赖 2025-03-03 00:31:48 +08:00
Hooray 57c9d26980 调整动效 2025-03-02 10:59:59 +08:00
Hooray baa766f62a FaPopover 组件增加手动控制面板显示 2025-02-28 15:44:52 +08:00
Hooray bd764543b4 更新依赖 2025-02-28 14:10:14 +08:00
Hooray 06b62d5e8f 增加 vue devtools 启动编辑器环境变量 2025-02-27 16:26:28 +08:00
Hooray bb7ba8cfc9 更新依赖 2025-02-26 18:39:41 +08:00
Hooray 3a6c74f49a 修复 useFaModal 弹窗警告 2025-02-26 18:08:49 +08:00
Hooray 2292952d03 快捷键事件绑定/解绑迁移到各自组件中 2025-02-26 17:42:01 +08:00
Hooray 60147a7e1f 刷新按钮增加按住ctrl使用原生浏览器刷新功能 2025-02-26 17:00:45 +08:00
Hooray c59cd96fe3 优化页面刷新,刷新时禁用页面切换动画 2025-02-26 14:47:46 +08:00
Hooray 475ce3ab3d 优化删除路由中间层级对应组件的边界场景 2025-02-22 11:13:09 +08:00
Hooray 18c216390d 导航搜索面板唤起时输入框未聚焦 2025-02-22 10:44:53 +08:00
Hooray be51be6715 抽离 Copyright 组件为内建组件 2025-02-20 01:48:17 +08:00
Hooray d4e6c65247 将 BackTop 组件移动到 App.vue 2025-02-20 01:28:29 +08:00
Hooray bdae84d464 更新依赖 2025-02-18 14:33:49 +08:00
Hooray d80178c409 重构注册路由数据结构 2025-02-16 02:48:36 +08:00
Hooray 9f0bdf49b9 FaSelect 组件增加 class props 2025-02-14 18:46:56 +08:00
Hooray e76325475e FaDrawer/FaModal开启遮罩层时禁用全局滚动 2025-02-11 17:56:10 +08:00
Hooray 6ed6b87fb5 更新依赖 2025-02-07 17:11:59 +08:00
Hooray 871113e34f 优化FaDrawer/FaModal遮罩层 2025-02-05 10:04:33 +08:00
Hooray 6ed480cc2f v5.0 2025-01-24 11:44:38 +08:00
Hooray 3d993bb0b4 更新依赖 2024-12-09 11:06:47 +08:00
Hooray 570cdf9296 更新依赖 2024-12-05 10:51:19 +08:00
Hooray d70e2d523b 修复退出登录后Tab页不清除的问题 2024-11-25 18:25:01 +08:00
Hooray 952a148086 增加友情推荐 2024-11-13 18:38:04 +08:00
Hooray 553caa5307 修复文件系统路由模式下主导航高亮效果不更新 2024-11-07 23:37:21 +08:00
Hooray 30bf80a3f6 更新依赖 2024-10-18 15:19:45 +08:00
Hooray 1feea3d0c9 修复vscode无法校验css文件 2024-10-16 10:29:24 +08:00
Hooray d50b8927f6 四周年庆 2024-10-15 14:22:25 +08:00
Hooray 24d78701b0 新增友情推荐 unibest 2024-10-15 09:29:01 +08:00
Hooray e662e9a095 重构鉴权指令、鉴权组件 2024-10-08 15:18:20 +08:00
Hooray 18242685bc 优化导航菜单折叠 2024-10-08 15:18:20 +08:00
Hooray de890461f8 导航菜单动画优化 2024-10-02 00:02:30 +08:00
Hooray 8c8d612cfe 将 sass 替换为 sass-embedded 2024-09-25 17:00:56 +08:00
Hooray ecc7ed30a2 修复顶部相关布局时,移动端下工具栏不显示 2024-09-23 13:47:02 +08:00
Hooray fb7384056a 更新 tsconfig 配置 2024-09-21 13:26:06 +08:00
Hooray beab7dc1d3 更新依赖 2024-09-21 03:55:35 +08:00
Hooray 3941a53e34 修复顶部相关布局时,工具栏重复渲染 2024-09-20 23:21:11 +08:00
Hooray Hu 5fccf2136b 使用 vite-plugin-archiver 插件代替框架存档功能 2024-09-19 09:16:57 +08:00
Hooray Hu d557879395 更新依赖 2024-09-15 11:47:52 +08:00
Hooray Hu 851dff8c95 使用 vite-plugin-vue-app-loading 插件代替框架首屏loading 2024-09-13 02:08:41 +08:00
Hooray Hu 17f21b42f4 友链调整 2024-09-10 15:57:19 +08:00
Hooray Hu 97a97d8804 修改全局loading消失时机 2024-09-09 10:19:41 +08:00
Hooray Hu 5c840a6be9 优化登录相关组件 2024-09-06 01:45:01 +08:00
Hooray Hu 76336c1111 增加图片裁剪插件示例 2024-09-04 15:29:35 +08:00
Hooray Hu 8bf90c390c 优化全局loading 2024-09-03 10:24:06 +08:00
Hooray Hu 662ede640a 更新依赖 2024-09-01 19:10:56 +08:00
Hooray Hu a09d7eae95 移除 unocss 自定义 shortcuts 2024-08-28 14:00:53 +08:00
Hooray Hu ddab4a8dee 路由导航守卫移入到单独文件维护 2024-08-27 10:55:50 +08:00
Hooray Hu bec65faaab 布局相关css变量移入到布局组件中维护 2024-08-27 10:34:28 +08:00
Hooray Hu e8eb5d48e6 引入 postcss-nested 2024-08-26 23:16:47 +08:00
Hooray Hu f68e32d99b 修改百度统计代码 2024-08-22 09:18:52 +08:00
Hooray Hu 1f27a26de4 文件预览示例调整 2024-08-19 18:36:53 +08:00
Hooray Hu fa718299c1 更换域名 2024-08-19 16:02:27 +08:00
Hooray Hu 20daca1fdb 增加文件预览示例 2024-08-19 13:46:31 +08:00
Hooray Hu 4f9d806a02 SvgIcon 组件支持传入本地图片,网络图片增加载入和失败状态 2024-08-14 17:48:26 +08:00
Hooray Hu cea5c718be 修复带参路由无法记录到标签栏中 2024-08-08 16:12:08 +08:00
Hooray Hu b581cf61d2 重构登录页面 2024-08-06 02:36:14 +08:00
Hooray Hu 2219f59d5c 扩充 unocss 自定义 shortcuts 2024-08-05 14:42:27 +08:00
Hooray Hu eb663fcd02 示例调整 2024-08-03 23:07:34 +08:00
Hooray Hu 9a9db5d559 更新依赖 2024-08-03 21:59:16 +08:00
Hooray Hu f008ef429b 手动登出时不带上重定向地址 2024-07-31 15:38:07 +08:00
Hooray Hu 31ddb57fbe FileUpload 组件文件列表增加下载功能 2024-07-31 13:52:30 +08:00
Hooray Hu 28a82c6611 typo 2024-07-30 17:41:33 +08:00
Hooray Hu 7b56acd83b 代码微调 2024-07-24 17:12:18 +08:00
Hooray Hu 580fdb46be 导航菜单尺寸调整 2024-07-21 18:25:16 +08:00
Hooray Hu 9bba33213e 更新依赖 2024-07-18 11:28:26 +08:00
Hooray Hu f417cbfbe7 eslint 规则调整 2024-07-11 19:54:57 +08:00
Hooray Hu 8503c24a8a 上传组件增加自定义上传 2024-07-09 18:01:05 +08:00
Hooray Hu 51d330e514 vite插件合并到单个文件中维护 2024-07-08 16:41:07 +08:00
Hooray Hu eedeb1bc17 移除createInjectionKey函数 2024-07-05 17:42:53 +08:00
Hooray Hu cfeba93180 移除无用代码 2024-07-05 15:14:09 +08:00
Hooray Hu c36c8b321f 环境变量 VITE_APP_DISABLE_DEVTOOL 改成用 vite 插件的方式注入代码中 2024-07-03 23:25:22 +08:00
Hooray Hu 6c77443253 环境变量 VITE_APP_DEBUG_TOOL 改成用 vite 插件的方式注入代码中 2024-07-03 23:00:24 +08:00
Hooray Hu 38723aa3bc 次导航支持隐藏 2024-07-02 00:34:40 +08:00
Hooray Hu 88548360b6 更新依赖 2024-06-29 12:50:12 +08:00
Hooray Hu 1f116e79f7 HDropdownMenu 组件样式调整 2024-06-28 14:21:17 +08:00
Hooray Hu c48dea7caa 新增哀悼模式和色弱模式 2024-06-28 10:06:32 +08:00
Hooray Hu fe852477f0 增加禁用开发者工具环境变量 2024-06-26 10:42:43 +08:00
Hooray Hu fb10737c1c 修复主导航 children 为空时报错 2024-06-25 00:43:50 +08:00
Hooray Hu a5f75f9d72 配置项 menu.menuMode 变更为 menu.mode 2024-06-24 17:16:12 +08:00
Hooray Hu 0c701f35f3 修复vscode失效配置 2024-06-24 15:54:26 +08:00
Hooray Hu afa1e64276 更新依赖 2024-06-15 22:58:11 +08:00
Hooray Hu 4df17f4bf3 样式微调 2024-06-12 14:10:41 +08:00
Hooray Hu 28f835fe17 更新依赖 2024-06-07 10:30:40 +08:00
Hooray Hu 73a57bd1a4 修改 unocss 写法 2024-05-29 14:29:49 +08:00
Hooray Hu 15a069f278 优化标签栏滚动体验 2024-05-28 16:49:15 +08:00
Hooray Hu 7e3ee34ef3 更新依赖,修改 unocss 写法 2024-05-22 15:42:37 +08:00
Hooray Hu 7f7536c466 更新依赖 2024-05-20 09:58:50 +08:00
Hooray Hu 6540d74930 修复后端返回路由数据中 children 为空数组导致菜单无法正常生成 2024-05-14 10:13:34 +08:00
Hooray Hu c8559883e5 示例代码调整 2024-05-13 20:44:54 +08:00
Hooray Hu eba36e3313 增加node版本控制文件 2024-05-09 09:51:31 +08:00
Hooray Hu 074b35652d 更换链接 2024-05-07 09:52:32 +08:00
Hooray Hu 81f766cd54 更新依赖 2024-05-01 12:34:07 +08:00
Hooray Hu 0fe76d257d 调整标签页操作按钮点击区域 2024-04-29 17:50:43 +08:00
Hooray Hu c1c6ca1376 增加 vchart 演示 2024-04-26 23:42:53 +08:00
Hooray Hu d38e405c6a 登录页增加扫码登录参考 2024-04-26 11:27:02 +08:00
Hooray Hu c4ebcfcf9c 更新 github 工作流 2024-04-24 17:24:40 +08:00
Hooray Hu e122ca4739 移除无用代码 2024-04-24 17:24:15 +08:00
Hooray Hu f0ddac0a94 修复类型定义 2024-04-23 10:26:52 +08:00
Hooray Hu 425fed358f 标签栏解绑错误快捷键 2024-04-15 09:51:23 +08:00
Hooray Hu 458abe0679 更新 any-rule 正则 2024-04-12 21:39:15 +08:00
Hooray Hu ba3e3273e4 明暗图标替换 2024-04-09 17:20:33 +08:00
Hooray Hu a861646d76 标签栏右键菜单自定义样式没在指定 class 范围内生效 2024-04-09 16:55:52 +08:00
Hooray Hu 3210178aa3 路由 meta.auth 保持元信息默认合并行为,路由访问改为通过 route.matched 进行逐级鉴权 2024-04-09 15:13:32 +08:00
Hooray Hu afe7b2e442 修复一级路由设置 meta.menu: false 无效 2024-04-05 14:44:01 +08:00
Hooray Hu dde17d4d68 更新依赖 2024-03-31 22:51:24 +08:00
Hooray Hu 53cd5dab02 移除活动信息 2024-03-31 01:32:51 +08:00
Hooray Hu 093a7923a1 文件路由系统下,用户权限变化后,菜单不更新 2024-03-28 21:59:11 +08:00
Hooray Hu ebf59fda22 移除routeStore.routes 2024-03-28 16:38:08 +08:00
Hooray Hu e983de6acf menuStore.menus 转为内部使用,外部统一使用 menuStore.allMenus 2024-03-28 13:48:20 +08:00
Hooray Hu 5b85bdd953 页面宽度判断移动端设备从992调整为1024 2024-03-28 09:22:35 +08:00
Hooray Hu e9d7970f9f 增加 vue hooks plus 插件示例 2024-03-26 14:42:45 +08:00
Hooray Hu 5b01a1f9dc 更新依赖 2024-03-21 14:47:38 +08:00
Hooray Hu f48ebec022 修复后端返回路由时,因为父级auth为空字符串或数组导致子级权限失效的问题 2024-03-19 22:32:55 +08:00
Hooray Hu 10fae3fde1 修改 github actions 2024-03-18 02:14:12 +08:00
Hooray Hu 7bc6fa4feb 修复顶部导航数量过多,导致工具栏被遮挡 2024-03-18 00:31:01 +08:00
Hooray Hu a6ed0a5455 修复顶部导航鼠标滚动回弹 2024-03-18 00:27:16 +08:00
Hooray Hu 864f996e99 路由增加 meta.menu 配置,同时 meta.sidebar 进入弃用过渡期 2024-03-17 00:12:48 +08:00
Hooray Hu c96eb69f3b 更新依赖 2024-03-14 11:55:18 +08:00
Hooray Hu 15cb0a59b3 修改 tinymce 安装说明 2024-03-09 14:26:32 +08:00
Hooray Hu 1825cea40f 更新活动信息 2024-03-07 11:21:24 +08:00
Hooray Hu bbac5c7ecf 修复 mock 模板请求无响应数据 2024-03-07 09:22:48 +08:00
Hooray Hu 80235a16fb 调整 onsize 事件写法 2024-03-05 09:27:37 +08:00
Hooray Hu 006cf16f41 修改 workflow 2024-03-04 09:23:10 +08:00
Hooray Hu 0a36ae78e5 移除弃用扩展 2024-03-04 09:08:23 +08:00
Hooray Hu 1345010686 增加最低 node 版本限制 2024-02-29 14:14:35 +08:00
Hooray Hu dc4371d55a 更新 workflows 2024-02-28 10:35:16 +08:00
Hooray Hu 641f502473 用户态改回用 localStorage 存储 2024-02-26 15:16:17 +08:00
Hooray Hu ba9b33b4a4 更新依赖 2024-02-26 13:57:36 +08:00
Hooray Hu 623e32ea23 修复类型报错 2024-02-25 16:47:18 +08:00
Hooray Hu 1c865a0a2f 更新依赖 2024-02-25 16:37:10 +08:00
Hooray Hu 683bc49c23 调整友情推荐 2024-02-25 16:35:14 +08:00
Hooray Hu 86a70d6632 增加 vue-currency-input 插件示例 2024-02-21 13:52:34 +08:00
Hooray Hu 15cfb9fb23 修改登录相关数据 2024-02-12 23:59:05 +08:00
Hooray Hu 57ccc553fb 更新依赖 2024-02-11 21:06:18 +08:00
Hooray Hu f5e6c1a83b 更新依赖 2024-02-04 14:43:33 +08:00
Hooray Hu dc9ce837af 修复标签栏未开启时调用 useTabbar 内函数报错 2024-02-01 11:32:25 +08:00
Hooray Hu a086dde98e 样式调整 2024-01-31 17:00:26 +08:00
Hooray Hu 4eeb6d45c8 vite-plugin-vue-devtools 替换 vite-plugin-vue-inspector 2024-01-30 17:08:51 +08:00
Hooray Hu 863a362e89 代码微调 2024-01-30 01:16:56 +08:00
Hooray Hu d89d67e434 增加标签页演示页面 2024-01-30 01:16:27 +08:00
Hooray Hu 7f0d841130 明暗模式设置为跟随系统时,支持动态切换 2024-01-27 10:39:51 +08:00
Hooray Hu 2a3700fc54 修复顶部模式下页面载入进度条被遮挡 2024-01-26 15:45:06 +08:00
Hooray Hu 95a1b28b5a 导航菜单收起时,无二级的一级导航增加 tooltip 展示 2024-01-26 00:59:03 +08:00
Hooray Hu 700608460e 优惠信息调整 2024-01-25 22:49:38 +08:00
Hooray Hu ad03d7db53 更新依赖 2024-01-25 09:41:28 +08:00
Hooray Hu 380b9cccd8 增加标签页支持 2024-01-25 09:32:06 +08:00
Hooray Hu 86a6fb5173 增加图片支持,整站图标改用 unocss icon 方式使用,方便在内网环境使用 2024-01-18 00:30:59 +08:00
Hooray Hu 3210b80a4d 增加打包后生成存档文件支持 2024-01-14 00:11:09 +08:00
Hooray Hu 2e34d88d94 vite-plugin-compression2 替换 vite-plugin-compression 2024-01-14 00:08:44 +08:00
Hooray Hu 738c74d1c4 增加运行时信息 2024-01-14 00:06:09 +08:00
Hooray Hu fb540ebef9 引入 unplugin-turbo-console 优化开发体验 2024-01-12 10:44:47 +08:00
Hooray Hu 4ebba1f54e 更新依赖 2024-01-11 10:50:58 +08:00
Hooray Hu dc4f4e1d3a 修复导航模式切换到 single 时有几率报错 2024-01-08 10:59:57 +08:00
Hooray Hu 81d2b12515 用 defineModel 重构部分组件 2024-01-07 00:23:00 +08:00
Hooray Hu 07c8a48386 更新依赖 2024-01-06 21:24:30 +08:00
Hooray Hu a08f6efd86 优化 HDropdown / HDropdownMenu / HTooltip 组件触发隐藏逻辑 2024-01-06 11:24:28 +08:00
Hooray Hu d58f359c19 mock 数据修复 2024-01-05 00:48:59 +08:00
Hooray Hu 0cd1a5f8b6 移除无用样式 2024-01-04 22:59:39 +08:00
Hooray Hu 19b881d526 修复工具栏显示/隐藏逻辑 2024-01-04 22:58:30 +08:00
Hooray Hu 2e68444755 样式微调 2024-01-04 11:21:08 +08:00
Hooray Hu c59c5017a4 vite-plugin-fake-server 替换 vite-plugin-mock 2024-01-04 01:15:10 +08:00
Hooray Hu 15ed4a6063 修复次导航高度变化时,底部阴影不变化 2024-01-02 02:06:07 +08:00
Hooray Hu 6420fc1d66 次导航展开收起按钮位置移动到次导航底部 2024-01-02 01:15:14 +08:00
Hooray Hu 3b9f68828f 修复 FixedActionBar 组件阴影样式未生效 2024-01-02 00:28:05 +08:00
Hooray Hu 49f0baba92 更新依赖 2024-01-01 01:15:42 +08:00
Hooray Hu 4af1e44b51 工具栏文件目录结构调整 2023-12-30 15:42:26 +08:00
Hooray Hu f0fc82fd7a 应用配置 toolbar 对象内属性调整 2023-12-28 21:55:16 +08:00
Hooray Hu bbd314e042 修复路由 HTML5 模式下点击导航刷新页面的问题 2023-12-26 15:51:56 +08:00
Hooray Hu e1cff24d34 更新依赖 2023-12-24 00:21:02 +08:00
Hooray Hu f8d69f35f0 更新依赖,更新stylelint配置 2023-12-22 16:44:41 +08:00
Hooray Hu 14633772d5 更新依赖 2023-12-21 00:04:33 +08:00
Hooray Hu be4cb14a9a 应用配置 app.enableAppSetting 迁移到环境变量文件中 2023-12-18 00:14:18 +08:00
Hooray Hu b8b18a8d83 优化 UI 组件库的配置和使用方式 2023-12-17 02:54:19 +08:00
Hooray Hu 248c81c973 更新依赖 2023-12-16 00:52:56 +08:00
Hooray Hu 4a9e95827c 更新合作伙伴及演示地址 2023-12-14 23:38:31 +08:00
Hooray Hu a9a2704ae1 应用配置增加 home.fullPath 2023-12-14 21:43:07 +08:00
Hooray Hu f1c31a2fc2 优化应用配置复制功能 2023-12-12 01:02:50 +08:00
Hooray Hu 470e26ab52 导航栏设置激活状态逻辑优化 2023-12-10 03:31:31 +08:00
Hooray Hu cb85fe4e3b 最子级菜单项用 <a> 渲染 2023-12-08 15:01:13 +08:00
Hooray Hu eda549025c 更新 vscode 配置 2023-12-08 09:39:45 +08:00
Hooray Hu ae393104e0 更新依赖 2023-12-07 14:10:17 +08:00
Hooray Hu 52c7d2d300 主页样式微调 2023-12-07 09:04:59 +08:00
Hooray Hu e06387be2a 更新依赖 2023-12-04 00:37:39 +08:00
Hooray Hu 759319dbdc 更新依赖 2023-11-29 14:48:33 +08:00
Hooray Hu 73bd98e0f4 修复次导航的显隐逻辑 2023-11-29 14:07:10 +08:00
Hooray Hu 9e3797c05c 更新依赖,eslint 增加 unocss 配置 2023-11-28 16:00:04 +08:00
Hooray Hu f31c69a557 修改 SearchBar 组件示例 2023-11-28 10:51:29 +08:00
Hooray Hu 648560c308 更新依赖 2023-11-25 23:19:50 +08:00
Hooray Hu bbb747beb8 eslint 规则替换 2023-11-21 17:05:12 +08:00
Hooray Hu 281d99fa54 登录页logo图替换为img标签 2023-11-21 15:50:47 +08:00
Hooray Hu 7c574a3897 导航title类型补充 2023-11-21 14:26:49 +08:00
Hooray Hu d8add2f6d8 修复次导航第一个导航无子级路由时不显示 2023-11-21 11:37:01 +08:00
Hooray Hu ad12376037 调整导航顶部模式下展示样式 2023-11-20 15:10:46 +08:00
Hooray Hu ae07789d4f 更新依赖 2023-11-20 09:46:43 +08:00
Hooray Hu a079b0236f 搜索界面弹出时动画失效 2023-11-17 00:28:36 +08:00
Hooray Hu bb135be01a 修复文件系统路由下,导航栏无法展开多级和一级导航无法点击 2023-11-15 00:13:38 +08:00
Hooray Hu 41aca36bd7 更新依赖 2023-11-10 10:48:02 +08:00
Hooray Hu ffbd9907a2 修复 vue-esign 插件示例未显示 2023-11-09 11:15:08 +08:00
Hooray Hu 8c9fe3b2ff 合作伙伴增加 form-create 2023-11-08 19:20:43 +08:00
Hooray Hu 66797558c7 更新依赖 2023-11-05 12:11:40 +08:00
Hooray Hu 28264a8790 增加 Vexip UI 示例链接 2023-11-03 23:47:11 +08:00
Hooray Hu d489b035d6 生态增加 Vexip UI 链接 2023-11-03 22:50:10 +08:00
Hooray Hu 0e752033f2 调整 HDialog / HSlideover 组件 overlay 属性默认为 false 2023-11-03 22:46:18 +08:00
Hooray Hu 548f1ed2f3 移除 Copyright 组件无效样式 2023-11-03 22:40:54 +08:00
Hooray Hu e7cfe9170b 修复 plop 无法使用 2023-10-31 20:57:22 +08:00
Hooray Hu e670ddddd9 修复导航跳转时如果被中断,高亮位置不正确 2023-10-31 16:07:43 +08:00
Hooray Hu 89ed9f6a27 修复 HTabList 组件文字不居中的问题 2023-10-31 10:01:46 +08:00
Hooray Hu 72373eb793 更新依赖 2023-10-30 14:51:34 +08:00
Hooray Hu 6354902950 修复火狐下样式兼容性问题 2023-10-30 14:47:14 +08:00
Hooray Hu 807e3f9402 v4.0 2023-10-29 23:00:06 +08:00
Hooray Hu 8dd088de9d 更新依赖 2023-10-25 23:06:14 +08:00
Hooray Hu b354f7d59c 更新依赖 2023-10-17 09:37:11 +08:00
Hooray Hu 4cd7386646 修复搜索结果列表图标展示过大 2023-10-11 17:20:37 +08:00
Hooray Hu 1fb946a678 更新依赖 2023-10-10 09:09:22 +08:00
Hooray Hu 7c40a235ce 修复 403/404 页面图标尺寸 2023-09-26 15:13:39 +08:00
Hooray Hu ef5cbcd32f 修复后端返回路由 component 字段为空导致link导航失效 2023-09-15 00:21:49 +08:00
Hooray Hu b7de39d877 开发环境默认关闭本地代理 2023-09-09 09:36:04 +08:00
Hooray Hu 8b8b780d33 更新依赖 2023-08-26 12:18:11 +08:00
Hooray Hu 4e30569d5c 补充 process 引入 2023-08-26 12:17:42 +08:00
Hooray Hu 436f6308b0 plop 模板读取增加校验 2023-07-29 10:17:09 +08:00
Hooray Hu aa8e12c5c7 更新依赖,修改 ts 警告 2023-07-29 10:15:20 +08:00
Hooray Hu c5c66c99eb 更新依赖 2023-07-04 15:29:02 +08:00
Hooray Hu 516a582845 更新工作流 2023-07-04 15:17:55 +08:00
Hooray Hu d95d363af9 更新依赖 2023-06-22 17:21:45 +08:00
Hooray Hu bcb9f04566 修复mock数据 2023-06-20 11:39:38 +08:00
Hooray Hu b3ada7a5d1 更新任务流 2023-06-14 16:13:17 +08:00
Hooray Hu c3cc59ed4e 更新依赖 2023-06-12 21:46:30 +08:00
Hooray Hu 05e1da7678 eventBus 类型完善 2023-06-05 20:26:33 +08:00
Hooray Hu 870f25b5c7 更新 github actions 2023-06-04 22:08:13 +08:00
Hooray Hu 833c314afd 更新百度统计 2023-06-04 21:27:00 +08:00
Hooray Hu 97d6112582 移除 el-icon 使用 2023-06-03 17:24:01 +08:00
Hooray Hu afa46bf747 copyright 组件移动到 layouts 目录下 2023-06-02 00:27:34 +08:00
Hooray Hu 33bef7bd93 优化 plop 启动脚本,自动读取模版目录 2023-06-01 23:46:17 +08:00
Hooray Hu 0e55453f3d 代码微调 2023-06-01 23:34:58 +08:00
Hooray Hu b228a9540a 修改网址 2023-05-30 21:40:52 +08:00
Hooray Hu 9f38ff6e20 更新活动信息 2023-05-27 04:03:35 +08:00
Hooray Hu d0eeb0fdb3 调整 copyright 默认设置 2023-05-27 01:51:44 +08:00
Hooray Hu 4f489c91d4 代码微调 2023-05-24 10:58:02 +08:00
Hooray Hu ef5e2fe76c 使用 defineOptions 设置组件 name 2023-05-24 10:57:00 +08:00
Hooray Hu 859ceac472 统一调整 defineEmits 写法 2023-05-23 23:14:58 +08:00
Hooray Hu 107a0b5a1b 更新依赖 2023-05-23 23:06:41 +08:00
Hooray Hu 01b4da8480 移除模板代码中的 $route 2023-05-13 01:58:57 +08:00
Hooray Hu 5ff0aba078 调整 <script setup> 属性顺序 2023-05-13 00:42:47 +08:00
Hooray Hu f59151289f 统一调整 defineProps 以及默认值的写法 2023-05-13 00:35:32 +08:00
Hooray Hu c2e1b97e5a 使用 defineOptions 设置组件 name 2023-05-13 00:13:32 +08:00
Hooray Hu e011ba2fd2 更新依赖 2023-05-11 22:33:52 +08:00
Hooray Hu c0db5b97b2 引入vite legacy插件 2023-05-10 11:03:33 +08:00
Hooray Hu 8c9fbc542b 更新依赖 2023-05-08 09:01:36 +08:00
Hooray Hu 136d2cf216 重构次导航默认展开效果 2023-05-06 16:16:42 +08:00
Hooray Hu 2ffc8fe59d 修改mock请求地址 2023-05-06 13:40:07 +08:00
Hooray Hu 31bb047dac 主页排版调整 2023-05-05 23:49:37 +08:00
Hooray Hu d4f7261882 SearchBar 组件示例调整 2023-05-05 23:46:01 +08:00
Hooray Hu a632405423 优化 PageHeader 组件样式 2023-05-05 23:38:08 +08:00
Hooray Hu 8c5af5d8e0 更新依赖 2023-05-02 02:24:11 +08:00
Hooray Hu b7ba455ca7 入口 index.html 设置为不缓存 2023-04-26 23:03:23 +08:00
Hooray Hu b56258e209 更新依赖 2023-04-26 23:01:36 +08:00
Hooray Hu 250c2fb7f6 修改 hidden 类名,避免和 unocss 产生冲突 2023-04-26 16:12:55 +08:00
Hooray Hu 394694bc4c 修复主页无法引入请求 api 并使用的问题 2023-04-25 00:37:46 +08:00
Hooray Hu 2b205bf5bd 更新依赖 2023-04-22 02:38:29 +08:00
Hooray Hu 0ba65db768 移除 BatchActionBar 组件 2023-04-22 01:24:03 +08:00
Hooray Hu 97edf77ab7 重构接口请求,统一管理接口请求模块 2023-04-22 01:08:02 +08:00
Hooray Hu f0b1551530 重构 SearchBar 组件 2023-04-19 16:36:25 +08:00
Hooray Hu a6c46ea7d4 vite-plugin-vue-setup-extend 替换为 unplugin-vue-setup-extend-plus 2023-04-14 15:43:33 +08:00
Hooray Hu 58892d4994 更新依赖 2023-04-13 15:43:53 +08:00
Hooray Hu fffadc5f4f 调整应用配置的配置项,并将应用配置按钮从工具栏删除 2023-04-12 13:46:58 +08:00
Hooray Hu 58d4a56663 优化登录 mock ,通过请求头里的 token 信息判断用户 2023-04-12 00:16:24 +08:00
Hooray Hu c74f435bc6 引入 stylelint-stylistic 插件 2023-04-10 02:28:06 +08:00
Hooray Hu 5a245fb819 vite-plugin-vue-layouts 替换为 vite-plugin-vue-meta-layouts 2023-04-06 01:16:04 +08:00
Hooray Hu 429df53573 调整代码风格 2023-04-06 00:04:23 +08:00
Hooray Hu 31b07f887d 更新依赖 2023-04-05 23:59:38 +08:00
Hooray aa08ee93ab 移除Editor组件及演示 2023-04-01 14:37:20 +08:00
Hooray b6e47b6f6d 更新依赖,修改lint配置 2023-03-28 01:14:35 +08:00
Hooray a83a8213e1 使用 Vite 新特性将入口 html 页面里的 title 用环境变量替换 2023-03-25 11:56:19 +08:00
Hooray 8d43865e84 修改 hidden 类名 2023-03-22 16:53:40 +08:00
Hooray 591a2fe4b8 更新依赖 2023-03-22 16:51:02 +08:00
Hooray 1c842c9ac5 更新依赖 2023-03-10 23:55:05 +08:00
Hooray 04ea69db9d 代码微调 2023-03-08 20:45:33 +08:00
Hooray 639868dc8b 调整基础组件演示页面 2023-03-07 23:23:17 +08:00
hooray 1b0389c1b5 修复 axios baseURL 配置,解决构建后 baseURL 不生效的问题 2023-03-06 16:26:00 +08:00
hooray 07932329a0 移除响应性语法糖功能,该实验性功能已被废弃 2023-03-06 14:52:03 +08:00
Hooray a2173b3137 用户权限变更后,自动更新导航菜单和页面权限,无需刷新页面或者重新登录 2023-03-05 18:02:21 +08:00
Hooray c34a2a623e 更新依赖 2023-03-05 15:29:59 +08:00
hooray db750d9289 调整权限演示页面 2023-02-27 11:34:38 +08:00
Hooray 6feafeb2d5 调整优惠信息 2023-02-26 16:20:52 +08:00
Hooray 49d9e5eb2d 优化无权限路由的过滤函数 2023-02-25 19:06:42 +08:00
Hooray 9e723d44df 更新依赖 2023-02-25 12:16:06 +08:00
Hooray 9583aae73b 自动生成页面模板增加基于文件系统路由的配置项 2023-02-25 12:07:51 +08:00
Hooray 8516f9f974 调整eslint规则 2023-02-25 12:05:45 +08:00
Hooray 894199b61e 压缩svg文件 2023-02-25 11:02:17 +08:00
Hooray e896f301d2 增加403无权限页面 2023-02-25 10:58:21 +08:00
Hooray fb129e83a2 修复登录页标题未正常显示 2023-02-23 22:30:52 +08:00
hooray c253ef6fb4 修复路由meta.auth设置为''/[]时,权限判断为无权限的问题 2023-02-22 21:01:54 +08:00
hooray 108073b6e1 移除 vite-plugin-html 插件 2023-02-22 19:16:50 +08:00
Hooray 2ab04b1fdf 更新依赖 2023-02-20 01:56:45 +08:00
Hooray b6ed4a3f69 优化mac系统下快捷键键位展示 2023-02-18 22:19:39 +08:00
hooray 85d8824bb6 更新依赖,移除 stylelint 废弃规则 2023-02-13 17:37:13 +08:00
hooray 214d073361 更新依赖 2023-02-11 21:31:07 +08:00
hooray 9f77082a99 解决eslint警告 2023-02-02 14:47:51 +08:00
hooray 2745dcf447 更新依赖 2023-02-02 14:47:32 +08:00
hooray 3f4e9f1020 更新依赖 2023-01-31 15:19:34 +08:00
hooray 68a62adca6 更新依赖 2023-01-15 12:18:45 +08:00
hooray ea80e01c50 修复面包屑导航显示bug 2023-01-15 12:17:31 +08:00
hooray 82018a1ecb 更新优惠活动 2023-01-09 16:43:18 +08:00
hooray f1e34ce39a 更新依赖 2023-01-09 10:22:10 +08:00
hooray a48ae3f16a 部署测试 2023-01-07 11:26:18 +08:00
hooray 846f8e58f2 更新默认 copyright 信息 2023-01-03 11:24:26 +08:00
hooray 1a55efd4e5 更新依赖 2022-12-28 12:55:26 +08:00
hooray cabd25636a 修复次导航收起时图标不居中 2022-12-22 12:01:00 +08:00
hooray ff43003921 更新依赖 2022-12-22 11:55:25 +08:00
hooray a841910406 修复预览图片无法完整覆盖 el-table 固定列 2022-12-19 22:15:11 +08:00
hooray 73152a00ef 引入 vite-plugin-vue-inspector 插件 2022-12-19 20:43:18 +08:00
hooray 4523624cb0 修复应用配置中复制配置按钮,复制内容过多的问题 2022-12-18 18:50:52 +08:00
hooray a6e33aeec1 移除环境配置文件里无效配置 2022-12-15 22:33:50 +08:00
hooray ff29d5b20a 修改 vite 构建配置 2022-12-14 00:10:03 +08:00
hooray 72d5dcb8c6 修改 vite 构建配置,兼容 github pages 2022-12-13 23:44:16 +08:00
hooray c4f14ec849 更新依赖 2022-12-13 22:29:49 +08:00
hooray 376ae390b2 pinia store 改为 setup 写法 2022-12-13 22:25:57 +08:00
hooray e2aa5480cd 更新依赖 2022-12-10 16:59:02 +08:00
hooray daf4efe963 优化搜索界面布局样式 2022-12-10 16:57:49 +08:00
hooray cd77d1850e 给 /src/types/ 路径增加 # alias 2022-12-09 00:58:45 +08:00
hooray 67bed03411 将类型定义 d.ts 文件统一存放到 /src/types/ 目录下 2022-12-08 02:31:00 +08:00
hooray c9f7cdc5c3 修复导航栏a标签href异常 2022-12-07 12:02:17 +08:00
hooray 99616f3edc 调整全局搜索快捷键说明文字因背景导致显示不清晰 2022-12-06 21:27:57 +08:00
hooray 7339d50d94 优化遮罩层样式 2022-12-05 00:36:34 +08:00
hooray f0a46d6ca1 顶栏增加粘性模式 2022-12-04 23:11:24 +08:00
hooray 6dfe35d6b7 改用 element plus 原生 api 实现密码输入框显示密码功能 2022-12-04 03:57:37 +08:00
hooray 1c5cef936e 更新依赖 2022-12-03 16:00:32 +08:00
hooray 68f45dd7dc 增加外链路由跳转提示页面,重构外链路由的配置方式 2022-12-01 20:11:56 +08:00
hooray 7a3ff65b05 代码微调 2022-11-30 04:09:26 +08:00
hooray 7e5911d0e0 修复 eslint 警告 2022-11-30 03:59:01 +08:00
hooray f19110725e 更新依赖 2022-11-30 02:07:34 +08:00
hooray 6a97837cd6 修改 Menu.recordRaw 和 Menu.recordMainRaw 类型里的 meta 为可选参数 2022-11-27 23:39:54 +08:00
hooray 68116da966 修复标题显示异常 2022-11-27 23:36:20 +08:00
hooray c0a13151a4 移除自定义 Route.recordRaw 类型,改用 RouteRecordRaw 类型 2022-11-27 17:50:06 +08:00
hooray 3941ebdb40 修复文件系统路由模式下,全局搜索列表 icon 显示不全 2022-11-27 04:09:09 +08:00
hooray 363f3e83b7 路由meta.title修改为非必须 2022-11-27 03:51:54 +08:00
hooray 7281bc5679 更新依赖 2022-11-26 09:41:14 +08:00
hooray 63133acc77 更新依赖 2022-11-19 21:35:28 +08:00
hooray d60a5f8674 修复文件系统路由下,次导航无法按层级依次展开 2022-11-19 09:29:47 +08:00
hooray 9d2bf27936 控制台修改为主页,路由调整为根路由 2022-11-19 09:29:27 +08:00
hooray 34270f1f5c 优化 PageHeader 组件在移动端下的展示 2022-11-13 00:50:43 +08:00
hooray ba642ab075 更新依赖 2022-11-10 19:52:09 +08:00
hooray 9bd4a57cad husky 替换为 simple-git-hooks 2022-11-09 16:04:56 +08:00
hooray f85b937234 更新依赖 2022-11-08 00:36:24 +08:00
hooray d98cdf2b9b logo 支持非正方形图片 2022-11-04 17:23:56 +08:00
hooray 90746aa9d5 更新依赖 2022-10-29 18:42:55 +08:00
hooray 2da911fb50 更新依赖 2022-10-25 08:32:56 +08:00
hooray dde3407fb0 调整 copyright 信息和展示逻辑 2022-10-25 08:26:55 +08:00
hooray 73a40ebd74 移除 vite-plugin-restart 2022-10-25 08:24:41 +08:00
hooray 101474dfad 优化配置项合并 2022-10-25 08:23:03 +08:00
hooray 21477cf630 useCurrentInstance() 重命名为 useGlobalProperties() 2022-10-23 14:23:43 +08:00
hooray ebf0ceeb90 调整 github action 构建 2022-10-23 14:19:09 +08:00
hooray 08bef75035 将 element plus 反馈组件改为手动引入 2022-10-23 14:17:15 +08:00
hooray a17c531340 给 eslint 和 stylelint 命令增加 --cache 设置 2022-10-23 14:04:42 +08:00
hooray 3e6511f0e8 重建 pnpm-lock.yaml 文件 2022-10-23 14:02:53 +08:00
hooray ba6e35bbb3 更新依赖 2022-10-23 13:59:28 +08:00
hooray b2abbf1ff1 增加 vscode 推荐扩展 2022-10-22 00:51:06 +08:00
hooray f84b719e22 增加 vue-tsc 校验脚本 2022-10-21 03:58:48 +08:00
hooray e1f58537d5 修复类型报错 2022-10-16 07:11:30 +08:00
hooray ad26aec066 优化拦截器 2022-10-16 06:48:26 +08:00
hooray 2ab995d8c9 更新依赖 2022-10-16 05:59:51 +08:00
hooray 5e2c3079fc 更新 tinymce 主题样式和汉化文件 2022-10-16 05:58:52 +08:00
hooray 09476108c5 更新依赖 2022-10-14 18:43:49 +08:00
hooray ded2606d17 回退部分定位组件的 z-index 设置,强制重写 v-loading 的 z-index 样式 2022-10-13 19:18:39 +08:00
hooray 18cee4fcd5 调整部分定位组件的z-index层级 2022-10-13 14:21:13 +08:00
hooray aec2ea5574 路由导航守卫代码注释调整 2022-10-13 14:18:51 +08:00
hooray 240bfed070 优化代码逻辑 2022-10-13 14:14:57 +08:00
hooray 76a8e16958 更新依赖 2022-10-13 14:11:45 +08:00
hooray 77353ec8c6 优化构建 2022-10-12 01:37:55 +08:00
hooray 371ba26f51 调整文件忽略 2022-10-12 01:34:50 +08:00
hooray 9eb5d3e6f7 修复获取侧边栏导航最深一级路由可能返回为空的问题 2022-10-12 01:30:16 +08:00
hooray 1ca406c475 简化导航守卫里的逻辑 2022-10-12 01:29:03 +08:00
hooray 68ee500d67 优化构建 2022-10-12 01:25:42 +08:00
hooray 67783fc6b7 优化构建 2022-10-12 01:19:37 +08:00
hooray ee78a80307 更新依赖 2022-10-10 23:38:34 +08:00
Hooray a004108702 更新依赖 2022-10-09 02:38:02 +08:00
Hooray 78819f9420 更新 stylelint 规则 2022-10-03 22:11:54 +08:00
Hooray 4ec678f71f 控制语句代码风格调整 2022-10-02 03:29:49 +08:00
Hooray 340436d757 优化文件生成模版 2022-09-29 22:04:39 +08:00
Hooray 715d96f823 更新依赖 2022-09-29 21:55:38 +08:00
hooray 3a196d6809 修复mock文件引入后缀错误 2022-09-26 00:28:19 +08:00
hooray 03a10f569c 修改演示配置 2022-09-26 00:18:23 +08:00
hooray 83d993321f 修改演示配置 2022-09-26 00:09:49 +08:00
hooray 4fe1a52d23 修改演示配置 2022-09-26 00:05:06 +08:00
hooray 22e8192b58 TypeScript 支持 2022-09-25 23:32:45 +08:00
hooray bedd986d45 更新依赖 2022-09-16 01:47:39 +08:00
Hooray 7308a43c5f 更新依赖 2022-09-04 21:04:54 +08:00
hooray faaf93ffc8 更新依赖 2022-08-29 15:36:10 +08:00
hooray 1ac149adae 优化顶部导航滚动 2022-08-21 16:34:33 +08:00
hooray 91e0c17b2f 优化导航顶部模式下的展示 2022-08-20 16:37:23 +08:00
hooray e3ae303a46 更新依赖 2022-08-19 20:50:58 +08:00
hooray 4b2ff7d52c 优化 FileUpload 组件 2022-08-14 18:33:40 +08:00
hooray 453ed1447b 更新依赖 2022-08-14 18:18:19 +08:00
hooray 9f6c7847ed 修改样式文件目录结构,优化 element plus 样式载入 2022-08-14 18:15:24 +08:00
hooray 820a62c0f9 更新演示 2022-08-10 20:07:24 +08:00
hooray 1b9158f5b9 更新演示 2022-08-10 19:49:10 +08:00
hooray e39b90c625 优化 FileUpload 组件 2022-08-10 17:45:24 +08:00
hooray 5de8e48764 修复编辑器默认图片上传 bug 2022-08-10 12:08:07 +08:00
hooray a1b62e52de 更新依赖 2022-08-09 22:35:36 +08:00
hooray 5a505ef876 CascaderArea 组件升级为 PcasCascader 组件 2022-08-07 04:02:14 +08:00
hooray 63fa2d1862 更新合作伙伴 2022-07-31 15:50:10 +08:00
hooray a93fc433f6 修改演示 2022-07-30 19:24:17 +08:00
hooray 421a8e0612 调整目录结构 2022-07-30 01:37:40 +08:00
hooray 80182c54c3 移除全局属性 2022-07-30 00:39:05 +08:00
hooray 03b10947a6 代码微调 2022-07-30 00:12:56 +08:00
hooray 326b7c331d 更新依赖 2022-07-28 14:12:14 +08:00
hooray 0a373796fc 修复 FileUpload 组件 headers 参数未使用的问题 2022-07-28 14:07:26 +08:00
hooray 7ca0bdb4a4 优化登录页banner展示 2022-07-20 11:35:20 +08:00
hooray 21d0b2ea63 更新依赖 2022-07-11 18:24:06 +08:00
hooray 65aa3b2594 修复登出后 F5 刷新失效的问题 2022-07-11 18:22:28 +08:00
hooray bfc35babbc 修复面包屑导航展示bug 2022-07-08 03:37:23 +08:00
hooray 304f0aa39a 代码优化 2022-07-06 00:38:02 +08:00
hooray 4ca42b1cf1 更新依赖 2022-07-03 02:52:09 +08:00
Hooray 4df4b5a8da 代码优化 2022-07-01 18:02:50 +08:00
Hooray 00a01c6cb4 更新依赖 2022-07-01 14:50:05 +08:00
Hooray fced35267b 更新依赖 2022-06-30 10:37:32 +08:00
Hooray 25e0b1f7fc 修改 github action 2022-06-27 10:03:35 +08:00
hooray 4a306a47b8 导航调整 2022-06-24 00:26:43 +08:00
hooray dd530fa5f8 优化导航守卫路由动态注册,将404页面修改为固定路由 2022-06-24 00:11:31 +08:00
hooray 910dcaa060 调整文件系统路由下页面刷新效果 2022-06-24 00:01:34 +08:00
hooray b545ea7c66 代码调整 2022-06-22 20:27:50 +08:00
Hooray 4e4e757d5f 更新代码 2022-06-22 17:32:42 +08:00
Hooray 649f97292e 代码调整 2022-06-22 17:25:41 +08:00
hooray 6da5e87cd3 代码调整 2022-06-21 22:48:29 +08:00
hooray abcc1203e6 代码调整 2022-06-21 22:39:31 +08:00
Hooray f0167313a7 tinymce 更新到 6.x 2022-06-21 14:32:54 +08:00
hooray f730295b35 PageMain 组件增加 title slot 设置 2022-06-19 20:55:32 +08:00
hooray e9d7f88be2 优化全局搜索组件,移除 teleport 特性 2022-06-18 23:08:38 +08:00
hooray c55d690cff 更新依赖 2022-06-18 23:06:54 +08:00
Hooray 11c5062c21 移除 github action 2022-06-16 15:01:39 +08:00
hooray 795b8b6899 移除 keep-alive 组件延迟设置 include 参数无效的 hack 写法 2022-06-15 21:02:44 +08:00
Hooray 36b3c926db 修复面包屑导航无法显示一级导航的问题 2022-06-14 18:18:45 +08:00
hooray 1a3412c001 底部版权增加备案号设置 2022-06-12 16:54:55 +08:00
hooray 5a2ffe8bc1 优化 el-drawer 组件使用 2022-06-11 12:31:26 +08:00
hooray 859d0be44c 更新依赖 2022-06-10 01:23:42 +08:00
hooray 9c13fc8fb5 优化pinia使用 2022-06-08 01:44:55 +08:00
Hooray 21597d27bd 替换 jsdelivr 地址 2022-06-07 09:51:50 +08:00
hooray 6f5d381a08 更新控制台相关链接 2022-06-06 01:40:44 +08:00
hooray 0f9e4edc68 修改github action 2022-06-05 18:25:45 +08:00
hooray e3f7bee75b 更新github action 2022-06-05 01:43:24 +08:00
hooray 115cc55502 优化开发环境首次载入速度 2022-06-02 01:07:20 +08:00
hooray c5c40b48b1 layout 变量全部改用 css var 2022-05-30 20:53:18 +08:00
Hooray 1d7f026fd7 404页面增加暗黑模式支持 2022-05-27 17:54:29 +08:00
hooray 379e84f1d8 更新依赖 2022-05-27 01:39:07 +08:00
hooray 314f48080b 迁移readme 2022-05-25 23:49:18 +08:00
Hooray a6f4e71248 更新依赖 2022-05-24 10:40:42 +08:00
hooray 6590d27817 element 样式覆盖文件存放目录调整 2022-05-22 18:14:49 +08:00
hooray 8f9acfcc3a 代码微调 2022-05-22 12:00:28 +08:00
hooray b286b7ffdd 优化element plus按需载入时,组件对应的样式文件会导致vite重复重载页面并加载很慢的问题 2022-05-22 04:31:07 +08:00
hooray 0d9ebc5599 优化路由配置 2022-05-21 20:15:57 +08:00
hooray 2ff29a7321 因 transition-group 组件兼容性问题,vue 版本退回 3.2.33 2022-05-21 12:05:55 +08:00
hooray c9242796ac 增加暗黑模式 2022-05-21 01:21:33 +08:00
hooray 1af46e435a 替换工具栏图标 2022-05-12 23:36:39 +08:00
hooray adec54848f 优化顶部导航样式 2022-05-12 23:26:43 +08:00
Hooray 9e3d79085f 环境变量里增加 mock 开关,解决生产环境上传组件无法上传的问题 2022-05-12 11:25:33 +08:00
hooray 396302cf9b Merge branch 'master' of https://gitee.com/hooray/fantastic-admin 2022-05-10 22:24:52 +08:00
hooray be7b528ee1 更新readme 2022-05-10 22:24:42 +08:00
Hooray 526f51a342 优化pinia使用 2022-05-10 14:42:59 +08:00
hooray 76ca25a807 更新readme 2022-05-09 00:29:07 +08:00
hooray ff7714640f 更新readme 2022-05-08 14:54:12 +08:00
hooray 99a63317f4 更新相关链接 2022-05-08 09:16:27 +08:00
hooray b97028a3b5 修改eslint配置 2022-05-07 00:30:37 +08:00
hooray cc0bcebd14 调整stylelint配置 2022-05-06 23:04:39 +08:00
Hooray f8533eb570 修改vscode推荐扩展 2022-05-06 09:24:26 +08:00
hooray 6f792ffec9 暂时解决element plus按需载入时,组件对应的样式文件会导致vite重复重载页面并加载很慢的问题 2022-05-06 02:20:48 +08:00
hooray e1344e7c91 优化unplugin-auto-import插件配置 2022-05-02 16:45:38 +08:00
hooray cf6fef85c0 优化vite-plugin-restart插件配置 2022-05-02 16:37:26 +08:00
hooray 3a05f0d84a 更新依赖 2022-05-02 16:36:48 +08:00
Hooray 0876b4311b 更新依赖 2022-04-29 02:54:38 +08:00
hooray 19ae735d2c 修改图标生成脚本,修改 .gitignore 配置 2022-04-25 23:15:27 +08:00
Hooray 61f05e52d4 优化搜索面板快捷键操作 2022-04-25 20:25:41 +08:00
Hooray 1b3740bbc6 重构图标使用方式;将element plus 改为按需导入 2022-04-25 20:21:08 +08:00
Hooray 33b9a11208 更新依赖 2022-04-25 16:39:43 +08:00
Hooray 9cf5269c33 更新依赖 2022-04-19 17:44:03 +08:00
Hooray 421e1d01bf 优化index.html 2022-04-12 03:19:56 +08:00
Hooray d213a094da 更新依赖 2022-04-12 03:17:27 +08:00
hooray 6d45383ac6 更新BuyIt组件 2022-04-09 23:53:30 +08:00
hooray 89e6903e2e 更新readme 2022-04-09 15:42:08 +08:00
hooray d627fa71c9 修复多图上传组件布局没对齐的问题 2022-04-05 04:14:31 +08:00
hooray 041933b089 代码缩进调整 2022-04-03 11:45:42 +08:00
hooray b4d66b4f34 调整浏览器升级提示 2022-04-03 02:59:58 +08:00
hooray a34a101c22 更新推广信息 2022-04-03 02:59:37 +08:00
hooray ffeef5d5b7 增加浏览器升级提示 2022-04-03 02:31:25 +08:00
hooray d2bb733d94 更新依赖 2022-04-03 02:28:16 +08:00
hooray f4c0c52f35 更新依赖 2022-03-30 02:08:48 +08:00
hooray fd31fab0fd 优化 SearchBar 组件,避免展开收起按钮被遮挡导致无法点击 2022-03-22 23:36:52 +08:00
hooray e1ea667eb1 修复个人中心基本设置无法输入的问题 2022-03-21 17:24:33 +08:00
hooray c93f635a9d 更新依赖 2022-03-15 21:33:49 +08:00
hooray 2ffc8c18d9 修改stylelint配置,优化代码 2022-03-12 09:51:33 +08:00
hooray 3685b70c2f 移除 TableHeightAdaption 组件 2022-03-11 11:10:22 +08:00
hooray ffcf9922c5 更新依赖 2022-03-09 17:06:52 +08:00
hooray c4c44297a2 Merge branch 'master' of https://gitee.com/hooray/fantastic-admin 2022-03-05 05:21:20 +08:00
hooray ff052e6769 调整 lint-staged 配置 2022-03-05 05:21:03 +08:00
hooray 2d97f31538 侧边栏导航折叠时隐藏箭头图标,代码优化 2022-03-04 10:22:57 +08:00
hooray 1c70a66a17 更新依赖 2022-03-02 15:18:52 +08:00
hooray 57e97d5322 更新依赖 2022-03-01 16:04:03 +08:00
hooray d893ca4a0d 修改文案 2022-02-27 00:57:05 +08:00
hooray 6178dd0a7f 更新推广文案 2022-02-26 17:01:17 +08:00
hooray 13a599628b 修复应用设置里 tooltip 不显示的问题 2022-02-26 15:17:27 +08:00
hooray 53e0a28a1a 更新 readme 2022-02-26 00:12:04 +08:00
hooray 2acc622e70 更新依赖 2022-02-25 18:05:00 +08:00
hooray 3c8e4f0248 更新依赖 2022-02-25 14:26:27 +08:00
hooray 7904ab66e8 增加基于文件系统的路由支持 2022-02-25 14:24:51 +08:00
hooray 35fd8f69ab 优化面包屑导航代码逻辑 2022-02-25 14:22:35 +08:00
hooray ae29c837ff 修复editor组件样式引用报错 2022-02-24 14:54:42 +08:00
hooray 6d562c2c5f 移除 Result 组件 2022-02-23 15:05:57 +08:00
hooray 6b5d432ab3 调整stylelint规则,移除无用依赖 2022-02-15 17:24:40 +08:00
hooray cfd7c2aac4 调整stylelint规则 2022-02-15 16:19:35 +08:00
hooray 3c89983ccf Merge branch 'master' of https://gitee.com/hooray/fantastic-admin 2022-02-11 09:52:00 +08:00
hooray 41c6bbf3f0 采用script、template、style的顺序优化所有sfc文件 2022-02-11 09:51:43 +08:00
hooray 6aa2275f2e 更新依赖 2022-02-11 01:26:53 +08:00
hooray 09efe7d54a 更新依赖 2022-02-07 19:42:15 +08:00
hooray 47e6fdacef 更新演示站控制台页面 2022-02-04 23:45:05 +08:00
hooray af9eb0cb06 优化menu全局状态,合并setHeaderActived和switchHeaderActived两个action 2022-02-04 03:08:35 +08:00
hooray 4ab6d83c16 search组件复原 2022-02-01 22:32:31 +08:00
hooray 393823bad9 更新依赖 2022-02-01 15:29:09 +08:00
hooray 151e510e2c 优化全局状态,将导航和路由拆分成menu和route分别管理 2022-02-01 02:31:55 +08:00
hooray c8e2d48f3a 修改默认vscode配置 2022-01-28 23:48:47 +08:00
hooray 17c6351a8c 更新依赖,更新vite插件配置 2022-01-28 10:32:13 +08:00
hooray b8c35dfc88 更新 vscode 扩展安装建议 2022-01-28 09:56:05 +08:00
hooray 445cdb08a6 更新readme 2022-01-25 23:43:15 +08:00
hooray a13d4e5a86 更新依赖 2022-01-25 11:22:24 +08:00
hooray 019fd3dc03 优化vite自动重启插件配置 2022-01-25 09:56:25 +08:00
hooray 77baee03db 更新依赖 2022-01-24 13:43:46 +08:00
hooray e41c3d9929 修复因 el-table dom结构调整导致 TableHeightAdaption 组件失效 2022-01-23 23:49:48 +08:00
hooray d55d452744 修复导航栏single模式下展示bug 2022-01-21 10:09:37 +08:00
hooray a9573ea957 增加jsx支持,以及演示代码 2022-01-20 02:13:11 +08:00
hooray 5a1d0be7b0 代码微调 2022-01-16 06:27:33 +08:00
hooray 266f8c3038 应用配置优化 2022-01-16 05:50:59 +08:00
hooray 86b49483c3 更新依赖 2022-01-16 05:23:44 +08:00
hooray b0e3bd2fb5 settings.js 参数结构调整,ThemeSetting 组件重构并更名为 AppSetting 2022-01-16 05:23:01 +08:00
hooray 8e24cb6000 优化主题配色配置,增加进度条颜色设置 2022-01-13 01:11:47 +08:00
hooray 20510ff9c9 更新依赖 2022-01-12 10:07:20 +08:00
hooray 387f17990f 代码优化,增加 vueuse 库,页面布局调整 2022-01-10 05:19:53 +08:00
hooray 1f2e8c1c6b 优化 keep-alive 动态缓存 2022-01-06 15:38:19 +08:00
hooray c195fd2bc2 优化 TableHeightAdaption 组件 2022-01-06 01:14:39 +08:00
hooray 1ff85c7bea 样式微调 2022-01-03 21:45:48 +08:00
hooray 69b358867a 更新依赖,调整 element plus 相关代码以便适配最新版本 2022-01-02 15:23:33 +08:00
hooray 5f5f5287bd 更新依赖 2021-12-30 03:13:49 +08:00
hooray 5d7461c5cc 使用 pinia 替换 vuex 2021-12-30 03:09:32 +08:00
hooray 65eff15674 优化拦截器里 toLogin 方法,先清除用户信息状态再跳转登录页 2021-12-29 04:37:49 +08:00
hooray ac02f25e84 移除 AbsoluteContainer 组件,新增 TableHeightAdaption 组件 2021-12-15 00:21:03 +08:00
hooray 435322c689 调整lint-staged配置 2021-12-13 14:53:01 +08:00
hooray 9e91f4f13e 代码微调 2021-12-11 11:23:06 +08:00
hooray 63a1e7f299 更新依赖 2021-12-11 10:21:00 +08:00
hooray 33d359b3e7 更新依赖 2021-12-10 14:16:18 +08:00
hooray 6250a39be6 更新依赖 2021-12-09 10:06:51 +08:00
hooray 0d7fa150f0 优化侧边栏宽度计算 2021-12-09 09:50:35 +08:00
hooray 5a79f120e4 修复开启切换侧边栏同时跳转页面,但子导航是外链时的bug 2021-12-08 10:17:23 +08:00
hooray 7b2110fcf2 更新依赖 2021-12-02 10:06:37 +08:00
hooray 994e918f42 更新依赖 2021-11-30 10:31:33 +08:00
hooray 3f37375677 探索版更名为 one-step-admin 2021-11-30 03:49:15 +08:00
hooray 551cf8e162 Merge branch 'master' of https://gitee.com/hooray/fantastic-admin 2021-11-30 03:32:39 +08:00
hooray 36b5dd1afb 更新readme 2021-11-30 03:32:34 +08:00
hooray e1ea02329e 更新依赖 2021-11-26 09:52:32 +08:00
hooray 42c4f6c346 增加战略合作导航栏目 2021-11-24 14:51:41 +08:00
hooray 9049807407 优化个人中心页面,使用 script setup 重写 2021-11-22 06:40:01 +08:00
hooray 93dd7a0704 更新依赖,增加 mavon-editor 2021-11-19 17:46:49 +08:00
hooray a322dd4415 优化请求拦截器 2021-11-17 14:27:40 +08:00
hooray d45d5c4c8d 优化请求拦截器里 toLogin 函数 2021-11-16 17:39:07 +08:00
hooray f2db545457 更新依赖,stylelint规则调整 2021-11-16 15:43:09 +08:00
hooray 884ffd2018 element icon 全局替换 2021-11-13 10:53:10 +08:00
hooray fdd3a63f84 优化面包屑导航数据 2021-11-13 10:44:12 +08:00
hooray c003834bd8 调整vscode配置 2021-11-12 14:34:12 +08:00
hooray 13d9908fd6 更新依赖 2021-11-11 13:49:50 +08:00
hooray b36a765fdb 优化生成路由相关代码 2021-11-11 09:27:55 +08:00
hooray 95a192b138 更新stylelint配置 2021-11-10 17:25:02 +08:00
hooray f3ba4c82f7 优化路由全局前置守卫执行逻辑 2021-11-10 10:21:36 +08:00
hooray c867f0009e 优化svg-icon组件 2021-11-08 19:46:12 +08:00
hooray b114d8a5c2 更新依赖 2021-11-06 10:14:04 +08:00
hooray 02867d8d95 代码优化 2021-11-06 09:54:49 +08:00
hooray 5a68088e39 修复权限未开启时,侧边栏原始数据被污染,导致退出再登录,侧边栏导航层级被拍平 2021-11-06 09:24:31 +08:00
hooray 9d5fd44d4e 更新readme 2021-11-05 11:12:36 +08:00
hooray b7aa15eac1 移动端下切换路由时自动收起侧边栏导航 2021-11-05 10:53:41 +08:00
hooray eff64e4e46 优化全局组件里 element icon 的使用 2021-11-04 16:01:16 +08:00
hooray c8a322dbdb 登录页用script setup语法糖重写 2021-11-04 15:20:26 +08:00
hooray 660232bbf5 更新依赖,修改 element icon 使用方式调整,优化 svg-icon 2021-11-04 15:12:48 +08:00
hooray 6dee02353b 修复开启切换侧边栏同时跳转页面的配置项后无法跳转的问题 2021-11-03 10:46:45 +08:00
hooray b7dcdb78f8 优化图片上传组件 2021-11-02 15:38:10 +08:00
hooray e74be58556 首页弹窗优化 2021-11-02 14:50:54 +08:00
hooray 48161b9e95 图片上传组件优化 2021-11-02 14:35:20 +08:00
hooray 5cfc2d4a12 更新首页弹窗 2021-11-02 14:33:24 +08:00
hooray 71c3518945 百度统计代码调整 2021-11-02 09:56:53 +08:00
hooray e2beaeab7d 更新readme 2021-11-01 22:52:52 +08:00
hooray 49d7dbb880 更新依赖 2021-10-30 00:16:38 +08:00
hooray 63d650fdcc 更新依赖 2021-10-29 04:32:48 +08:00
hooray cd9bf2880e stylelint 相关依赖升级,根据规则调整部分代码 2021-10-23 20:59:30 +08:00
hooray 10cd51cba7 更新 stylelint 相关依赖和配置 2021-10-23 15:15:22 +08:00
hooray 0d4eec44c7 更新依赖 2021-10-23 15:09:39 +08:00
hooray cbf2035e95 代码优化 2021-10-22 09:58:26 +08:00
hooray 2288cffae4 移除多余代码 2021-10-20 16:12:03 +08:00
hooray 0d34eaa5d9 移除多余代码 2021-10-20 09:15:25 +08:00
hooray 3b7ab4d4f2 代码微调,解决控制台警告 2021-10-19 02:02:07 +08:00
hooray ec57941720 更新优惠活动 2021-10-18 00:08:51 +08:00
hooray f9d6f15b5c 导航模式为侧边栏模式(不含主导航)时,优化在移动端下展示 2021-10-15 17:39:44 +08:00
hooray b199e8aef4 Merge branch 'master' of https://gitee.com/hooray/fantastic-admin 2021-10-15 13:53:53 +08:00
hooray 4537e5185d 路由后置钩子里代码精简 2021-10-15 13:53:48 +08:00
hooray 2569f0d8e9 修复后端返回路由里 auth 无效的bug 2021-10-14 19:25:36 +08:00
hooray 27a174b872 更新依赖 2021-10-14 12:07:16 +08:00
hooray 3ea84b4c77 修复导航模式为侧边栏模式(不含主导航)时,在移动端展示报错的问题 2021-10-13 16:54:15 +08:00
hooray cd6ed03e4d 优化框架判断是否为移动端设备的逻辑 2021-10-13 10:46:16 +08:00
hooray 48dc29dc14 配置推荐vscode扩展 2021-10-12 09:45:15 +08:00
hooray fb62c5b5da 移除无用文件 2021-10-12 00:35:31 +08:00
hooray 86c8b11d7a 引入 @element-plus/icons 并全局注册 2021-10-09 16:18:39 +08:00
hooray 8d9366821b 更新依赖 2021-10-08 22:43:48 +08:00
hooray 948ee44f79 优化图片上传组件 2021-10-08 16:26:10 +08:00
hooray 380281343d 修改拦截器token获取失败 2021-10-08 15:06:49 +08:00
hooray 6aefcdc8d7 更新依赖,element-plus默认中文 2021-09-29 17:00:01 +08:00
hooray 7bf40583a7 修复侧边栏导航图标显示问题 2021-09-29 09:42:42 +08:00
hooray 06c6b23539 vite配置更新 2021-09-29 02:39:11 +08:00
hooray 1a2b183737 引入 vite-plugin-vue-setup-extend 依赖,优化 plop 模版 2021-09-29 02:27:57 +08:00
hooray a6b0a82a17 移除mixins目录 2021-09-28 03:58:25 +08:00
hooray 8212249967 优化BuyIt组件展示效果 2021-09-28 01:35:52 +08:00
hooray 6031423d0e 更新依赖 2021-09-25 09:43:22 +08:00
hooray a7f5cba449 样式修改 2021-09-22 09:10:37 +08:00
hooray 86598c9003 更新依赖 2021-09-22 08:53:15 +08:00
hooray ba74283b8a 修复http-server预览指令报错的问题,vite相关相关插件配置优化 2021-09-20 07:28:10 +08:00
hooray 93bad49662 修改 unplugin-auto-import 配置 2021-09-19 15:08:10 +08:00
hooray dc0326d5eb 更新依赖 2021-09-16 08:55:22 +08:00
hooray b9d4dcfe4a 优化搜索界面,移动端不显示快捷键提示 2021-09-10 18:03:23 +08:00
hooray 9dc788d324 引入 unplugin-auto-import 依赖,修改框架部分代码 2021-09-09 16:40:22 +08:00
hooray 97122d1467 更新依赖,修改 axios baseURL设置 2021-09-09 10:34:05 +08:00
hooray a88ebdfa89 layout/ 目录下文件用 script setup 语法糖重写 2021-09-08 09:15:52 +08:00
hooray 516fcba5ed 用 script setup 语法糖重写 2021-09-07 14:40:15 +08:00
hooray 5d06055af8 layout/ 目录下文件用 script setup 语法糖重写 2021-09-07 14:29:48 +08:00
hooray 94d4a23fd2 公用组件用 script setup 语法糖重写 2021-09-04 11:13:51 +08:00
hooray 767a5c4644 修改 pre-commit 配置 2021-09-04 11:06:02 +08:00
hooray 6e8891d546 依赖更新 2021-09-03 14:44:05 +08:00
hooray aa921f32f9 修复当element默认尺寸修改后,登录页输入框图标布局中的bug 2021-09-01 10:56:52 +08:00
hooray 9bec0920a3 演示代码调整 2021-09-01 02:28:29 +08:00
hooray 73578c3eab 代码微调 2021-08-31 16:01:49 +08:00
hooray 4df04d2d07 vite配置优化 2021-08-31 00:36:17 +08:00
hooray e09880dc34 依赖更新,vite-plugin-components升级为unplugin-vue-components 2021-08-30 20:52:35 +08:00
hooray 12c7506828 移除组件全局引用,改成 vite-plugin-components 的自动引入 2021-08-30 10:08:23 +08:00
hooray 37d817af6a 更新依赖 2021-08-29 19:51:35 +08:00
hooray 5a195d87e4 导航栏增加默认打开配置项 2021-08-29 19:11:07 +08:00
hooray f48462268d 增加侧边栏导航是否保持展开一个子项的配置 2021-08-29 15:16:32 +08:00
hooray 4b89a4e86f 替换载入动画 2021-08-28 14:18:50 +08:00
hooray 2318f596dd 修改package 2021-08-27 15:17:41 +08:00
hooray fef4cd36fb first commit 2021-08-27 10:32:21 +08:00
558 changed files with 49568 additions and 13141 deletions
-69
View File
@@ -1,69 +0,0 @@
// .commitlintrc.js
/** @type {import('cz-git').UserConfig} */
module.exports = {
rules: {
// @see: https://commitlint.js.org/#/reference-rules
},
prompt: {
alias: { fd: 'docs: fix typos' },
messages: {
type: '选择你要提交的类型 :',
scope: '选择一个提交范围(可选):',
customScope: '请输入自定义的提交范围 :',
subject: '填写简短精炼的变更描述 :\n',
body: '填写更加详细的变更描述(可选)。使用 "|" 换行 :\n',
breaking: '列举非兼容性重大的变更(可选)。使用 "|" 换行 :\n',
footerPrefixsSelect: '选择关联issue前缀(可选):',
customFooterPrefixs: '输入自定义issue前缀 :',
footer: '列举关联issue (可选) 例如: #31, #I3244 :\n',
confirmCommit: '是否提交或修改commit ?'
},
types: [
{ value: 'feat', name: 'feat: ✨ 新增功能 | A new feature', emoji: ':sparkles:' },
{ value: 'fix', name: 'fix: 🐛 修复缺陷 | A bug fix', emoji: ':bug:' },
{ value: 'docs', name: 'docs: 📝 文档更新 | Documentation only changes', emoji: ':memo:' },
{ value: 'style', name: 'style: 💄 代码格式 | Changes that do not affect the meaning of the code', emoji: ':lipstick:' },
{ value: 'refactor', name: 'refactor: ♻️ 代码重构 | A code change that neither fixes a bug nor adds a feature', emoji: ':recycle:' },
{ value: 'perf', name: 'perf: ⚡️ 性能提升 | A code change that improves performance', emoji: ':zap:' },
{ value: 'test', name: 'test: ✅ 测试相关 | Adding missing tests or correcting existing tests', emoji: ':white_check_mark:' },
{ value: 'build', name: 'build: 📦️ 构建相关 | Changes that affect the build system or external dependencies', emoji: ':package:' },
{ value: 'ci', name: 'ci: 🎡 持续集成 | Changes to our CI configuration files and scripts', emoji: ':ferris_wheel:' },
{ value: 'revert', name: 'revert: ⏪️ 回退代码 | Revert to a commit', emoji: ':rewind:' },
{ value: 'chore', name: 'chore: 🔨 其他修改 | Other changes that do not modify src or test files', emoji: ':hammer:' },
],
useEmoji: false,
emojiAlign: 'center',
themeColorCode: '',
scopes: [],
allowCustomScopes: true,
allowEmptyScopes: true,
customScopesAlign: 'bottom',
customScopesAlias: 'custom',
emptyScopesAlias: 'empty',
upperCaseSubject: false,
markBreakingChangeMode: true,
allowBreakingChanges: ['feat', 'fix'],
breaklineNumber: 100,
breaklineChar: '|',
skipQuestions: [],
issuePrefixs: [
// 如果使用 gitee 作为开发管理
{ value: 'link', name: 'link: 链接 ISSUES 进行中' },
{ value: 'closed', name: 'closed: 标记 ISSUES 已完成' }
],
customIssuePrefixsAlign: 'top',
emptyIssuePrefixsAlias: 'skip',
customIssuePrefixsAlias: 'custom',
allowCustomIssuePrefixs: true,
allowEmptyIssuePrefixs: true,
confirmColorize: true,
maxHeaderLength: Infinity,
maxSubjectLength: Infinity,
minSubjectLength: 0,
scopeOverrides: undefined,
defaultBody: '',
defaultIssues: '',
defaultScope: '',
defaultSubject: ''
}
}
+10
View File
@@ -0,0 +1,10 @@
{
"recommendations": [
"EditorConfig.EditorConfig",
"mikestead.dotenv",
"dbaeumer.vscode-eslint",
"stylelint.vscode-stylelint",
"Vue.volar",
"antfu.unocss"
]
}
+29
View File
@@ -0,0 +1,29 @@
{
"eslint.useFlatConfig": true,
"prettier.enable": false,
"editor.formatOnSave": false,
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit",
"source.fixAll.stylelint": "explicit",
"source.organizeImports": "never"
},
"stylelint.validate": [
"css",
"postcss",
"scss",
"vue"
],
"eslint.validate": [
"javascript",
"javascriptreact",
"typescript",
"typescriptreact",
"vue",
"html",
"markdown",
"json",
"jsonc",
"yaml"
],
"typescript.tsdk": "node_modules/typescript/lib"
}
Regular → Executable
View File
Regular → Executable
+7 -1
View File
@@ -1,9 +1,15 @@
# 应用配置面板
VITE_APP_SETTING = true
# 页面标题
VITE_APP_TITLE = Fantastic-admin 基础版
# 接口请求地址,会设置到 axios 的 baseURL 参数上
VITE_APP_API_BASEURL = /
# 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空
VITE_APP_DEBUG_TOOL =
# 是否禁用开发者工具,可防止被调试
VITE_APP_DISABLE_DEVTOOL = false
# 是否开启代理
VITE_OPEN_PROXY = true
VITE_OPEN_PROXY = false
# 是否开启开发者工具
VITE_OPEN_DEVTOOLS = true
Regular → Executable
+8 -4
View File
@@ -1,15 +1,19 @@
NODE_ENV = production
# 应用配置面板
VITE_APP_SETTING = true
# 页面标题
VITE_APP_TITLE = 页面标题
VITE_APP_TITLE = Fantastic-admin 基础版
# 接口请求地址,会设置到 axios 的 baseURL 参数上
VITE_APP_API_BASEURL = /
# 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空
VITE_APP_DEBUG_TOOL =
# 是否禁用开发者工具,可防止被调试
VITE_APP_DISABLE_DEVTOOL = true
# 是否在打包时启用 Mock
VITE_BUILD_MOCK = false
VITE_BUILD_MOCK = true
# 是否在打包时生成 sourcemap
VITE_BUILD_SOURCEMAP = false
# 是否在打包时开启压缩,支持 gzip 和 brotli
VITE_BUILD_COMPRESS = gzip,brotli
# 是否在打包后生成存档,支持 zip 和 tar
VITE_BUILD_ARCHIVE =
-15
View File
@@ -1,15 +0,0 @@
NODE_ENV = production
# 页面标题
VITE_APP_TITLE = 页面标题(test)
# 接口请求地址,会设置到 axios 的 baseURL 参数上
VITE_APP_API_BASEURL = /
# 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空
VITE_APP_DEBUG_TOOL =
# 是否在打包时启用 Mock
VITE_BUILD_MOCK = true
# 是否在打包时生成 sourcemap
VITE_BUILD_SOURCEMAP = true
# 是否在打包时开启压缩,支持 gzip 和 brotli
VITE_BUILD_COMPRESS =
-2
View File
@@ -1,2 +0,0 @@
dist/
node_modules/
-3
View File
@@ -1,3 +0,0 @@
{
"extends": "@antfu"
}
-22
View File
@@ -1,22 +0,0 @@
name: Release
on:
push:
tags:
- 'v*'
jobs:
release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- uses: actions/setup-node@v3
with:
node-version: 16.x
- run: npx changelogithub # or changelogithub@0.12 if ensure the stable result
env:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
-23
View File
@@ -1,23 +0,0 @@
name: repo-sync
on:
# 每天自动同步
schedule:
- cron: '0 0 * * *'
# 手动触发部署
workflow_dispatch:
jobs:
sync-to-gitee:
runs-on: ubuntu-latest
steps:
- name: Sync to Gitee
uses: wearerequired/git-mirror-action@master
env:
# 注意在 Settings->Secrets 配置 GITEE_RSA_PRIVATE_KEY
SSH_PRIVATE_KEY: ${{ secrets.GITEE_RSA_PRIVATE_KEY }}
with:
# 注意替换为你的 GitHub 源仓库地址
source-repo: git@github.com:hooray/fantastic-admin.git
# 注意替换为你的 Gitee 目标仓库地址
destination-repo: git@gitee.com:hooray/fantastic-admin.git
Regular → Executable
+2 -2
View File
@@ -3,5 +3,5 @@ node_modules
dist*
dist-ssr
*.local
src/assets/sprites/*.*
!src/assets/sprites/.gitkeep
.eslintcache
.stylelintcache
-4
View File
@@ -1,4 +0,0 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
pnpm lint-staged
Regular → Executable
+2 -3
View File
@@ -1,5 +1,4 @@
{
"src/**/*.{js,jsx,ts,tsx}": "eslint --fix",
"src/**/*.{css,scss}": "stylelint --fix --allow-empty-input",
"src/**/*.vue": ["eslint --fix", "stylelint --fix --allow-empty-input"]
"*.{ts,tsx,vue}": "eslint --cache --fix",
"*.{css,scss,vue}": "stylelint --cache --fix"
}
+1
View File
@@ -0,0 +1 @@
22
Regular → Executable
+2
View File
@@ -1,2 +1,4 @@
shamefully-hoist=true
strict-peer-dependencies=false
engine-strict=true
verify-deps-before-run=prompt
-3
View File
@@ -1,3 +0,0 @@
dist/
node_modules/
src/assets/sprites/
-23
View File
@@ -1,23 +0,0 @@
{
"extends": [
"stylelint-config-standard",
"stylelint-config-standard-vue/scss"
],
"overrides": [
{
"files": ["**/*.scss"],
"customSyntax": "postcss-scss"
}
],
"plugins": [
"stylelint-scss"
],
"rules": {
"at-rule-no-unknown": null,
"no-descending-specificity": null,
"property-no-unknown": null,
"font-family-no-missing-generic-family-keyword": null,
"selector-class-pattern": null,
"max-line-length": null
}
}
Vendored Regular → Executable
+2 -1
View File
@@ -4,6 +4,7 @@
"mikestead.dotenv",
"dbaeumer.vscode-eslint",
"stylelint.vscode-stylelint",
"vue.volar"
"Vue.volar",
"antfu.unocss"
]
}
Vendored Regular → Executable
+26 -3
View File
@@ -1,7 +1,30 @@
{
"npm.packageManager": "pnpm",
"js/ts.tsdk.path": "node_modules/typescript/lib",
"prettier.enable": false,
"editor.formatOnSave": false,
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true,
"source.fixAll.stylelint": true
"source.fixAll.eslint": "explicit",
"source.fixAll.stylelint": "explicit",
"source.organizeImports": "never"
},
"stylelint.validate": ["css", "scss", "vue"]
"eslint.useFlatConfig": true,
"eslint.validate": [
"javascript",
"javascriptreact",
"typescript",
"typescriptreact",
"vue",
"html",
"markdown",
"json",
"jsonc",
"yaml"
],
"stylelint.validate": [
"css",
"postcss",
"scss",
"vue"
]
}
+1 -1
View File
@@ -1,6 +1,6 @@
MIT License
Copyright (c) 2020 fantastic-template
Copyright (c) 2020 fantastic-admin
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
-102
View File
@@ -1,102 +0,0 @@
<p align="center">
<img src="https://hooray.gitee.io/fantastic-admin/logo.png" width="200" height="200" />
</p>
<h1 align="center">Fantastic-admin</h1>
<p align="center">一款<b>开箱即用</b>的 Vue 中后台管理系统框架</p>
<p align="center">
<a href="https://hooray.gitee.io/fantastic-admin/" target="_blank">官网</a>
( <a href="https://hooray.github.io/fantastic-admin" target="_blank">备用</a> )
<span>&nbsp;|&nbsp;</span>
演示
( <a href="https://hooray.gitee.io/fantastic-admin/vue3/basic" target="_blank">基础版</a>
<a href="https://hooray.gitee.io/fantastic-admin/vue3/pro" target="_blank">专业版</a> )
<span>&nbsp;|&nbsp;</span>
<a href="https://hooray.gitee.io/fantastic-admin/support.html" target="_blank">技术支持</a>
<span>&nbsp;|&nbsp;</span>
<a href="https://hooray.gitee.io/fantastic-admin/buy.html" target="_blank">购买</a>
<p>
## 特点
- 丰富的布局与主题,覆盖市面上各种中后台应用场景,兼容PC、平板和移动端
- 提供系统配置文件,轻松实现个性化定制
- 精心设计的动效,让每一处的动画都干净利落
- 根据路由配置自动生成导航栏
- 基于文件系统的路由
- 支持全方位权限验证
- 内置多级路由最佳缓存方案
- 轻松实现国际化多语言适配
- 提供接近于浏览器原生标签栏操作体验的标签页功能
## 分支说明
- `master` Vue3 版本框架源码分支,不含示例代码,可直接用于实际开发
- `example` Vue3 版本演示源码分支,同线上演示站,包含大量示例,可用于参考学习
- `vue2` Vue2 版本框架源码分支,不含示例代码,可直接用于实际开发(停止维护)
- `vue2-example` Vue2 版本演示源码分支,包含大量示例,可用于参考学习(停止维护)
## 预览
> 预览截图为 Vue3 专业版
<table>
<tr>
<td><img src="https://hooray.gitee.io/fantastic-admin/preview1.png" /></td>
<td><img src="https://hooray.gitee.io/fantastic-admin/preview2.png" /></td>
<td><img src="https://hooray.gitee.io/fantastic-admin/preview3.png" /></td>
</tr>
<tr>
<td><img src="https://hooray.gitee.io/fantastic-admin/preview4.png" /></td>
<td><img src="https://hooray.gitee.io/fantastic-admin/preview5.png" /></td>
<td><img src="https://hooray.gitee.io/fantastic-admin/preview6.png" /></td>
</tr>
</table>
## 支持
如果觉得 Fantastic-admin 这个框架不错,或者已经在使用了,希望你可以在 **Github** 或者 **Gitee(码云)** 帮我点个 ⭐ ,这将对我是极大的鼓励。
[![star](https://img.shields.io/github/stars/hooray/fantastic-admin?style=social)](https://github.com/hooray/fantastic-admin/stargazers)
[![star](https://gitee.com/hooray/fantastic-admin/badge/star.svg?theme=dark)](https://gitee.com/hooray/fantastic-admin/stargazers)
## 生态
<table>
<tr>
<th colspan="3" align="center">
<a href="https://hooray.gitee.io/fantastic-startkit/" target="_blank">Fantastic-startkit</a>
</th>
</tr>
<tr>
<th colspan="3" align="center">
一款开箱即用的 Vue 项目启动套件
</th>
</tr>
</table>
<table>
<tr>
<th colspan="3" align="center">
<a href="https://hooray.gitee.io/one-step-admin/" target="_blank">One-step-admin</a>
</th>
</tr>
<tr>
<th colspan="3" align="center">
一款干啥都快人一步的 Vue 中后台管理系统框架
</th>
</tr>
<tr>
<td><img src="https://hooray.gitee.io/one-step-admin/preview1.png" /></td>
<td><img src="https://hooray.gitee.io/one-step-admin/preview2.png" /></td>
<td><img src="https://hooray.gitee.io/one-step-admin/preview3.png" /></td>
</tr>
<tr>
<td><img src="https://hooray.gitee.io/one-step-admin/preview4.png" /></td>
<td><img src="https://hooray.gitee.io/one-step-admin/preview5.png" /></td>
<td><img src="https://hooray.gitee.io/one-step-admin/preview6.png" /></td>
</tr>
</table>
+16
View File
@@ -0,0 +1,16 @@
{
"$schema": "https://shadcn-vue.com/schema.json",
"style": "default",
"typescript": true,
"tailwind": {
"config": "tailwind.config.js",
"css": "src/assets/index.css",
"baseColor": "neutral",
"cssVariables": true
},
"aliases": {
"components": "@/ui/shadcn",
"utils": "@/utils",
"lib": "@/utils"
}
}
+32
View File
@@ -0,0 +1,32 @@
import antfu from '@antfu/eslint-config'
export default antfu(
{
unocss: true,
ignores: [
'public',
'dist*',
],
},
{
rules: {
'e18e/prefer-static-regex': 'off',
'eslint-comments/no-unlimited-disable': 'off',
'curly': ['error', 'all'],
'ts/no-unused-expressions': ['error', {
allowShortCircuit: true,
allowTernary: true,
}],
},
},
{
files: [
'src/**/*.vue',
],
rules: {
'vue/block-order': ['error', {
order: ['route', 'script', 'template', 'style'],
}],
},
},
)
Regular → Executable
+13 -16
View File
@@ -2,29 +2,23 @@
<html>
<head>
<meta charset="UTF-8" />
<link rel="icon" href="/favicon.ico" />
<link rel="icon" href="/favicon.svg" />
<link rel="stylesheet" href="/browser_upgrade/index.css" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title><%= title %></title>
<%- copyrightScript %>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0, viewport-fit=cover"/>
<meta http-equiv="Expires" content="0">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Cache-control" content="no-cache">
<meta http-equiv="Cache" content="no-cache">
<title>%VITE_APP_TITLE%</title>
</head>
<body>
<div id="app">
<div class="fantastic-admin-home">
<div class="loading">
<div class="square"></div>
<div class="square"></div>
<div class="square"></div>
<div class="square"></div>
</div>
<div class="text"><%= title %>载入中…</div>
</div>
<div id="browser-upgrade">
<div class="title">为了您的体验,推荐使用以下浏览器</div>
<div class="browsers">
<a href="https://www.microsoft.com/edge" target="_blank" class="browser">
<img class="browser-icon" src="/browser_upgrade/edge.png" />
<div class="browser-name">Mircosoft Edge</div>
<div class="browser-name">Microsoft Edge</div>
</a>
<a href="https://www.google.cn/chrome/" target="_blank" class="browser">
<img class="browser-icon" src="/browser_upgrade/chrome.png" />
@@ -33,8 +27,11 @@
</div>
</div>
</div>
<%- loadingScript %>
<script>
if (!!window.ActiveXObject || 'ActiveXObject' in window) {
document.getElementById('browser-upgrade').style.display = 'block'
}
</script>
<script type="module" src="/src/main.ts"></script>
<%- devtoolScript %>
</body>
</html>
+204
View File
@@ -0,0 +1,204 @@
<style>
@keyframes rainbow {
0% { --rainbow-color: #00a98e; }
1.25% { --rainbow-color: #00a996; }
2.5% { --rainbow-color: #00a99f; }
3.75% { --rainbow-color: #00a9a7; }
5% { --rainbow-color: #00a9b0; }
6.25% { --rainbow-color: #00a9b8; }
7.5% { --rainbow-color: #00a9c0; }
8.75% { --rainbow-color: #00a8c7; }
10% { --rainbow-color: #00a8cf; }
11.25% { --rainbow-color: #00a7d5; }
12.5% { --rainbow-color: #00a6dc; }
13.75% { --rainbow-color: #00a6e2; }
15% { --rainbow-color: #00a4e7; }
16.25% { --rainbow-color: #00a3ec; }
17.5% { --rainbow-color: #00a2f1; }
18.75% { --rainbow-color: #00a0f4; }
20% { --rainbow-color: #009ff7; }
21.25% { --rainbow-color: #009dfa; }
22.5% { --rainbow-color: #009bfc; }
23.75% { --rainbow-color: #0098fd; }
25% { --rainbow-color: #0096fd; }
26.25% { --rainbow-color: #0093fd; }
27.5% { --rainbow-color: #2e90fc; }
28.75% { --rainbow-color: #4d8dfa; }
30% { --rainbow-color: #638af8; }
31.25% { --rainbow-color: #7587f5; }
32.5% { --rainbow-color: #8583f1; }
33.75% { --rainbow-color: #9280ed; }
35% { --rainbow-color: #9f7ce9; }
36.25% { --rainbow-color: #aa78e3; }
37.5% { --rainbow-color: #b574dd; }
38.75% { --rainbow-color: #be71d7; }
40% { --rainbow-color: #c76dd1; }
41.25% { --rainbow-color: #cf69c9; }
42.5% { --rainbow-color: #d566c2; }
43.75% { --rainbow-color: #dc63ba; }
45% { --rainbow-color: #e160b3; }
46.25% { --rainbow-color: #e65eab; }
47.5% { --rainbow-color: #e95ca2; }
48.75% { --rainbow-color: #ed5a9a; }
50% { --rainbow-color: #ef5992; }
51.25% { --rainbow-color: #f15989; }
52.5% { --rainbow-color: #f25981; }
53.75% { --rainbow-color: #f25a79; }
55% { --rainbow-color: #f25c71; }
56.25% { --rainbow-color: #f15e69; }
57.5% { --rainbow-color: #ef6061; }
58.75% { --rainbow-color: #ed635a; }
60% { --rainbow-color: #eb6552; }
61.25% { --rainbow-color: #e8694b; }
62.5% { --rainbow-color: #e46c44; }
63.75% { --rainbow-color: #e06f3d; }
65% { --rainbow-color: #db7336; }
66.25% { --rainbow-color: #d77630; }
67.5% { --rainbow-color: #d17a2a; }
68.75% { --rainbow-color: #cc7d24; }
70% { --rainbow-color: #c6811e; }
71.25% { --rainbow-color: #bf8418; }
72.5% { --rainbow-color: #b98713; }
73.75% { --rainbow-color: #b28a0f; }
75% { --rainbow-color: #ab8d0c; }
76.25% { --rainbow-color: #a3900b; }
77.5% { --rainbow-color: #9c920d; }
78.75% { --rainbow-color: #949510; }
80% { --rainbow-color: #8b9715; }
81.25% { --rainbow-color: #83991b; }
82.5% { --rainbow-color: #7a9b21; }
83.75% { --rainbow-color: #719d27; }
85% { --rainbow-color: #679e2e; }
86.25% { --rainbow-color: #5da035; }
87.5% { --rainbow-color: #51a13c; }
88.75% { --rainbow-color: #44a244; }
90% { --rainbow-color: #34a44b; }
91.25% { --rainbow-color: #1ba553; }
92.5% { --rainbow-color: #00a65b; }
93.75% { --rainbow-color: #00a663; }
95% { --rainbow-color: #00a76c; }
96.25% { --rainbow-color: #00a874; }
97.5% { --rainbow-color: #00a87d; }
98.75% { --rainbow-color: #00a985; }
100% { --rainbow-color: #00a98e; }
}
:root {
--rainbow-color: #00a98e;
animation: rainbow 20s linear infinite;
}
.loading-container {
position: fixed;
top: 0;
left: 0;
z-index: 10000;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
width: 100%;
height: 100%;
color: var(--rainbow-color);
user-select: none;
background-color: hsl(var(--background));
}
.loading-container *::before,
.loading-container *::after {
box-sizing: content-box;
}
.loading-container .loading {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: center;
width: 40px;
height: 40px;
}
.loading-container .loading .square {
display: flex;
align-items: center;
justify-content: center;
width: 20px;
height: 20px;
}
.loading-container .loading .square::before {
width: 10px;
height: 10px;
content: "";
border: 3px solid var(--rainbow-color);
border-radius: 15%;
animation: square-to-dot-animation 2s linear infinite;
}
.loading-container .loading .square:nth-child(1)::before {
animation-delay: calc(150ms * 1);
}
.loading-container .loading .square:nth-child(2)::before {
animation-delay: calc(150ms * 2);
}
.loading-container .loading .square:nth-child(3)::before {
animation-delay: calc(150ms * 3);
}
.loading-container .loading .square:nth-child(4)::before {
animation-delay: calc(150ms * 4);
}
@keyframes square-to-dot-animation {
15%,
25% {
width: 0;
height: 0;
margin: 5px;
border-width: 5px;
border-radius: 100%;
}
40% {
width: 10px;
height: 10px;
margin: initial;
border-width: 3px;
border-radius: 15%;
}
}
.loading-container .name {
position: relative;
margin-top: 20px;
font-size: 24px;
line-height: 1.5;
}
.loading-container .tips {
position: relative;
margin-top: 10px;
font-size: 16px;
opacity: 0.5;
line-height: 1.5;
}
.loading-container .tips::after {
position: absolute;
padding-left: 5px;
content: "…";
}
</style>
<div class="loading-container">
<div class="loading">
<div class="square"></div>
<div class="square"></div>
<div class="square"></div>
<div class="square"></div>
</div>
<div class="name">%VITE_APP_TITLE%</div>
<div class="tips">载入中</div>
</div>
Regular → Executable
+123 -70
View File
@@ -1,88 +1,141 @@
{
"version": "2.0.1",
"type": "module",
"packageManager": "pnpm@10.33.0",
"engines": {
"node": "^20.19.0 || >=22.12.0"
},
"scripts": {
"dev": "vite",
"build:test": "vue-tsc --noEmit && vite build --mode test",
"build": "vue-tsc --noEmit && vite build",
"serve:test": "http-server ./dist-test -o",
"serve": "http-server ./dist -o",
"build:example": "vue-tsc -b && vite build --mode example",
"serve:example": "http-server ./dist-example -o",
"svgo": "svgo -f src/assets/icons",
"new": "plop",
"lint:eslint": "eslint src/**/*.{ts,tsx,vue} --fix",
"lint:stylelint": "stylelint src/**/*.{css,scss,vue} --fix",
"prepare": "husky install",
"postinstall": "esno scripts/prepare.js",
"generate:icons": "tsx ./scripts/generate.icons.ts",
"lint": "npm-run-all -s lint:tsc lint:eslint lint:stylelint",
"lint:tsc": "vue-tsc -b",
"lint:eslint": "eslint . --cache --fix",
"lint:stylelint": "stylelint \"src/**/*.{css,scss,vue}\" --cache --fix",
"preinstall": "npx only-allow pnpm",
"commit": "git cz",
"release": "bumpp"
"postinstall": "simple-git-hooks",
"taze": "taze minor -wIr"
},
"dependencies": {
"@tinymce/tinymce-vue": "^5.0.0",
"@vueuse/core": "^9.2.0",
"@vueuse/integrations": "^9.2.0",
"axios": "^0.27.2",
"dayjs": "^1.11.5",
"element-plus": "^2.2.17",
"hotkeys-js": "^3.10.0",
"lodash-es": "^4.17.21",
"mitt": "^3.0.0",
"mockjs": "^1.1.0",
"@antv/g2plot": "^2.4.35",
"@bytemd/plugin-gfm": "^1.22.0",
"@bytemd/vue-next": "^1.22.0",
"@tinymce/tinymce-vue": "^6.3.0",
"@vee-validate/zod": "^4.15.1",
"@visactor/vchart": "^2.0.20",
"@vue-office/docx": "^1.6.3",
"@vue-office/excel": "^1.7.14",
"@vueuse/components": "^14.2.1",
"@vueuse/core": "^14.2.1",
"@vueuse/integrations": "^14.2.1",
"animate.css": "^4.1.1",
"axios": "^1.14.0",
"bytemd": "^1.22.0",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"cropperjs": "1.6.2",
"dayjs": "^1.11.20",
"defu": "^6.1.4",
"disable-devtool": "^0.3.9",
"echarts": "^6.0.0",
"element-plus": "^2.13.6",
"eruda": "^3.4.3",
"es-toolkit": "^1.45.1",
"filesize": "^11.0.15",
"hotkeys-js": "^4.0.2",
"lucide-vue-next": "^1.0.0",
"mitt": "^3.0.1",
"nprogress": "^0.2.0",
"path-browserify": "^1.0.1",
"path-to-regexp": "^6.2.1",
"pinia": "^2.0.22",
"qs": "^6.11.0",
"tinymce": "^6.2.0",
"vue": "^3.2.39",
"vue-router": "^4.1.5"
"path-to-regexp": "^8.4.0",
"pinia": "^3.0.4",
"print-js": "^1.6.0",
"qrcode": "^1.5.4",
"qs": "^6.15.0",
"reka-ui": "^2.9.2",
"scule": "^1.3.0",
"splitpanes": "^4.0.4",
"swiper": "^12.1.3",
"tailwind-merge": "^3.5.0",
"tinymce": "7.9.2",
"ua-parser-js": "^2.0.9",
"vconsole": "^3.15.1",
"vee-validate": "^4.15.1",
"vue": "^3.5.31",
"vue-currency-input": "^3.2.2",
"vue-data-ui": "^3.17.2",
"vue-esign": "^1.1.4",
"vue-hooks-plus": "^2.4.3",
"vue-router": "^5.0.4",
"vue-sonner": "^2.0.9",
"vxe-table": "^4.18.10",
"xe-utils": "^4.0.4",
"zod": "^4.3.6"
},
"devDependencies": {
"@antfu/eslint-config": "^0.27.0",
"@iconify-json/ep": "^1.1.7",
"@iconify/vue": "^4.0.0",
"@types/nprogress": "^0.2.0",
"@types/path-browserify": "^1.0.0",
"@types/qs": "^6.9.7",
"@vitejs/plugin-vue": "^3.1.0",
"@vitejs/plugin-vue-jsx": "^2.0.1",
"autoprefixer": "^10.4.12",
"bumpp": "^8.2.1",
"cz-git": "^1.3.11",
"eslint": "^8.24.0",
"esno": "^0.16.3",
"fs-extra": "^10.1.0",
"@antfu/eslint-config": "^7.7.3",
"@clack/prompts": "^1.1.0",
"@faker-js/faker": "^10.4.0",
"@iconify/json": "^2.2.456",
"@iconify/vue": "^5.0.0",
"@stylistic/stylelint-config": "^5.0.0",
"@types/nprogress": "^0.2.3",
"@types/path-browserify": "^1.0.3",
"@types/qrcode": "^1.5.6",
"@types/qs": "^6.15.0",
"@types/splitpanes": "^2.2.6",
"@unocss/eslint-plugin": "^66.6.7",
"@unocss/preset-legacy-compat": "^66.6.7",
"@unocss/reset": "^66.6.7",
"@vitejs/plugin-legacy": "^8.0.1",
"@vitejs/plugin-vue": "^6.0.5",
"@vitejs/plugin-vue-jsx": "^5.1.5",
"@vue/tsconfig": "^0.9.1",
"autoprefixer": "^10.4.27",
"boxen": "^8.0.1",
"eslint": "^10.1.0",
"fs-extra": "^11.3.4",
"http-server": "^14.1.1",
"husky": "^8.0.1",
"lint-staged": "^13.0.3",
"plop": "^3.1.1",
"postcss-html": "^1.5.0",
"postcss-scss": "^4.0.5",
"sass": "^1.55.0",
"stylelint": "^14.12.1",
"stylelint-config-standard": "^28.0.0",
"stylelint-config-standard-scss": "^5.0.0",
"lint-staged": "^16.4.0",
"npm-run-all2": "^8.0.4",
"picocolors": "^1.1.1",
"plop": "^4.0.5",
"postcss": "^8.5.8",
"postcss-nested": "^7.0.2",
"sass-embedded": "^1.98.0",
"simple-git-hooks": "^2.13.1",
"stylelint": "^17.6.0",
"stylelint-config-recess-order": "^7.7.0",
"stylelint-config-standard-scss": "^17.0.0",
"stylelint-config-standard-vue": "^1.0.0",
"stylelint-scss": "^4.3.0",
"svgo": "^2.8.0",
"typescript": "^4.8.3",
"unplugin-auto-import": "^0.11.2",
"unplugin-vue-components": "^0.22.7",
"vite": "^3.1.3",
"vite-plugin-banner": "^0.5.0",
"vite-plugin-compression": "^0.5.1",
"vite-plugin-html": "^3.2.0",
"vite-plugin-mock": "^2.9.6",
"vite-plugin-pages": "^0.26.0",
"vite-plugin-restart": "^0.2.0",
"vite-plugin-spritesmith": "^0.1.1",
"stylelint-scss": "^7.0.0",
"svgo": "^4.0.1",
"taze": "^19.10.0",
"tsx": "^4.21.0",
"typescript": "^6.0.2",
"unocss": "^66.6.7",
"unocss-preset-animations": "^1.3.0",
"unplugin-auto-import": "^21.0.0",
"unplugin-turbo-console": "^2.3.0",
"unplugin-vue-components": "^32.0.0",
"vite": "^8.0.3",
"vite-plugin-app-loading": "^0.4.0",
"vite-plugin-archiver": "^0.2.0",
"vite-plugin-banner": "^0.8.1",
"vite-plugin-compression2": "^2.5.3",
"vite-plugin-env-parse": "^1.0.15",
"vite-plugin-fake-server": "^2.2.3",
"vite-plugin-pages": "^0.33.3",
"vite-plugin-svg-icons": "^2.0.1",
"vite-plugin-vue-layouts": "^0.6.0",
"vite-plugin-vue-setup-extend": "^0.4.0",
"vue-tsc": "^0.40.13"
"vite-plugin-vue-devtools": "^8.1.1",
"vite-plugin-vue-meta-layouts": "^0.6.1",
"vue-tsc": "^3.2.6"
},
"config": {
"commitizen": {
"path": "node_modules/cz-git"
}
"simple-git-hooks": {
"pre-commit": "pnpm lint-staged",
"preserveUnused": true
}
}
+9 -5
View File
@@ -1,13 +1,17 @@
<script lang="ts" setup{{#if isGlobal}} name="{{ properCase name }}"{{/if}}>
// const proxy = useCurrentInstance()
<script setup lang="ts">
{{#if isGlobal}}
defineOptions({
name: '{{ properCase name }}',
})
{{/if}}
</script>
<template>
<div>
<!-- 内容区 -->
<!-- 布局 -->
</div>
</template>
<style lang="scss" scoped>
// scss
<style scoped>
/* 样式 */
</style>
+10 -9
View File
@@ -1,4 +1,4 @@
const fs = require('fs')
import fs from 'node:fs'
function getFolder(path) {
const components = []
@@ -13,7 +13,7 @@ function getFolder(path) {
return components
}
module.exports = {
export default {
description: '创建组件',
prompts: [
{
@@ -36,22 +36,23 @@ module.exports = {
name: 'name',
message: '请输入组件名称',
validate: (v) => {
if (!v || v.trim === '')
if (!v || v.trim === '') {
return '组件名称不能为空'
else
}
else {
return true
}
},
},
],
actions: (data) => {
let path = ''
if (data.isGlobal)
if (data.isGlobal) {
path = 'src/components/{{properCase name}}/index.vue'
else
}
else {
path = `${data.path}/components/{{properCase name}}/index.vue`
}
const actions = [
{
type: 'add',
+85
View File
@@ -0,0 +1,85 @@
import { faker } from '@faker-js/faker'
import { defineFakeRoute } from 'vite-plugin-fake-server/client'
const AllList: any[] = []
for (let i = 0; i < 50; i++) {
AllList.push({
id: i + 1,
title: faker.color.human(),
})
}
export default defineFakeRoute([
{
url: '/mock/{{#if relativePath}}{{ relativePath }}/{{/if}}{{ moduleName }}/list',
method: 'get',
response: ({ query }) => {
const { title, from, limit } = query
const list = AllList.filter((item) => {
return title ? item.title.includes(title) : true
})
const pageList = list.filter((item, index) => {
return index >= ~~from && index < (~~from + ~~limit)
})
return {
error: '',
status: 1,
data: {
list: pageList,
total: list.length,
},
}
},
},
{
url: '/mock/{{#if relativePath}}{{ relativePath }}/{{/if}}{{ moduleName }}/detail',
method: 'get',
response: ({ query }) => {
const info = AllList.filter(item => item.id === query.id)
return {
error: '',
status: 1,
data: info[0],
}
},
},
{
url: '/mock/{{#if relativePath}}{{ relativePath }}/{{/if}}{{ moduleName }}/create',
method: 'post',
response: () => {
return {
error: '',
status: 1,
data: {
isSuccess: true,
},
}
},
},
{
url: '/mock/{{#if relativePath}}{{ relativePath }}/{{/if}}{{ moduleName }}/edit',
method: 'post',
response: () => {
return {
error: '',
status: 1,
data: {
isSuccess: true,
},
}
},
},
{
url: '/mock/{{#if relativePath}}{{ relativePath }}/{{/if}}{{ moduleName }}/delete',
method: 'post',
response: () => {
return {
error: '',
status: 1,
data: {
isSuccess: true,
},
}
},
},
])
+43
View File
@@ -0,0 +1,43 @@
import fs from 'node:fs'
import path from 'node:path'
function getFolder(path) {
const components = []
const files = fs.readdirSync(path)
files.forEach((item) => {
const stat = fs.lstatSync(`${path}/${item}`)
if (stat.isDirectory() === true && item !== 'components') {
components.push(`${path}/${item}`)
components.push(...getFolder(`${path}/${item}`))
}
})
return components
}
export default {
description: '创建标准模块 Mock',
prompts: [
{
type: 'list',
name: 'path',
message: '请选择模块目录',
choices: getFolder('src/views'),
},
],
actions: (data) => {
const pathArr = path.relative('src/views', data.path).split('\\')
const moduleName = pathArr.pop()
const relativePath = pathArr.join('/')
const actions = []
actions.push({
type: 'add',
path: pathArr.length === 0 ? 'src/mock/{{moduleName}}.ts' : `src/mock/${pathArr.join('.')}.{{moduleName}}.ts`,
templateFile: 'plop-templates/mock/mock.hbs',
data: {
relativePath,
moduleName,
},
})
return actions
},
}
Regular → Executable
+14 -7
View File
@@ -1,15 +1,22 @@
<script lang="ts" setup name="{{ properCase componentName }}">
// const proxy = useCurrentInstance()
// const router = useRouter()
// const route = useRoute()
{{#if isFilesystem}}
<route lang="yaml">
meta:
title: 页面标题
</route>
{{/if}}
<script setup lang="ts">
defineOptions({
name: '{{ properCase componentName }}',
})
</script>
<template>
<div>
页面内容区域
<!-- 布局 -->
</div>
</template>
<style lang="scss" scoped>
// scss
<style scoped>
/* 样式 */
</style>
Regular → Executable
+13 -6
View File
@@ -1,5 +1,5 @@
const path = require('path')
const fs = require('fs')
import fs from 'node:fs'
import path from 'node:path'
function getFolder(path) {
const components = []
@@ -14,7 +14,7 @@ function getFolder(path) {
return components
}
module.exports = {
export default {
description: '创建页面',
prompts: [
{
@@ -28,13 +28,20 @@ module.exports = {
name: 'name',
message: '请输入文件名',
validate: (v) => {
if (!v || v.trim === '')
if (!v || v.trim === '') {
return '文件名不能为空'
else
}
else {
return true
}
},
},
{
type: 'confirm',
name: 'isFilesystem',
message: '是否为基于文件系统的路由页面',
default: false,
},
],
actions: (data) => {
const relativePath = path.relative('src/views', data.path)
Regular → Executable
+8 -8
View File
@@ -1,11 +1,11 @@
const use{{ properCase name }}Store = defineStore(
export const use{{ properCase name }}Store = defineStore(
// 唯一ID
'{{ camelCase name }}',
{
state: () => ({}),
getters: {},
actions: {}
}
)
() => {
const someThing = ref(0)
export default use{{ properCase name }}Store
return {
someThing,
}
},
)
Regular → Executable
+6 -5
View File
@@ -1,4 +1,4 @@
module.exports = {
export default {
description: '创建全局状态',
prompts: [
{
@@ -6,11 +6,12 @@ module.exports = {
name: 'name',
message: '请输入模块名称',
validate: (v) => {
if (!v || v.trim === '')
if (!v || v.trim === '') {
return '模块名称不能为空'
else
}
else {
return true
}
},
},
],
@@ -18,7 +19,7 @@ module.exports = {
const actions = [
{
type: 'add',
path: 'src/store/modules/{{camelCase name}}.js',
path: 'src/store/modules/{{camelCase name}}.ts',
templateFile: 'plop-templates/store/index.hbs',
},
]
Regular → Executable
+11 -4
View File
@@ -1,6 +1,13 @@
module.exports = function (plop) {
import { promises as fs } from 'node:fs'
export default async function (plop) {
plop.setWelcomeMessage('请选择需要创建的模式:')
plop.setGenerator('page', require('./plop-templates/page/prompt'))
plop.setGenerator('component', require('./plop-templates/component/prompt'))
plop.setGenerator('store', require('./plop-templates/store/prompt'))
const items = await fs.readdir('./plop-templates')
for (const item of items) {
const stat = await fs.lstat(`./plop-templates/${item}`)
if (stat.isDirectory()) {
const prompt = await import(`./plop-templates/${item}/prompt.js`)
plop.setGenerator(item, prompt.default)
}
}
}
+20200 -6033
View File
File diff suppressed because it is too large Load Diff
Regular → Executable
+3 -2
View File
@@ -1,5 +1,6 @@
module.exports = {
export default {
plugins: {
autoprefixer: {},
'autoprefixer': {},
'postcss-nested': {},
},
}
View File

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

Regular → Executable
View File

Before

Width:  |  Height:  |  Size: 4.0 KiB

After

Width:  |  Height:  |  Size: 4.0 KiB

Regular → Executable
+35 -105
View File
@@ -1,119 +1,49 @@
#app {
height: 100%;
}
.fantastic-admin-home {
position: absolute;
z-index: 10000;
top: 0;
left: 0;
height: 100%;
width: 100%;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
user-select: none;
color: #736477;
background-color: snow;
}
.fantastic-admin-home .loading {
height: 40px;
width: 40px;
display: flex;
align-items: center;
justify-content: center;
flex-wrap: wrap;
}
.fantastic-admin-home .square {
display: flex;
align-items: center;
justify-content: center;
height: 20px;
width: 20px;
}
.fantastic-admin-home .square::before {
content: "";
width: 10px;
height: 10px;
border-radius: 15%;
border: 3px solid #8c858f;
}
.fantastic-admin-home .loading.animate .square::before {
animation: square-to-dot-animation 1.2s linear;
}
.fantastic-admin-home .loading.animate .square:nth-child(1)::before {
animation-delay: calc(100ms * 1);
}
.fantastic-admin-home .loading.animate .square:nth-child(2)::before {
animation-delay: calc(100ms * 2);
}
.fantastic-admin-home .loading.animate .square:nth-child(3)::before {
animation-delay: calc(100ms * 3);
}
.fantastic-admin-home .loading.animate .square:nth-child(4)::before {
animation-delay: calc(100ms * 4);
}
@keyframes square-to-dot-animation {
15%,
55% {
border-radius: 100%;
width: 0;
height: 0;
margin: 5px;
border-width: 5px;
}
70% {
border-radius: 15%;
width: 10px;
height: 10px;
margin: initial;
border-width: 3px;
}
}
.fantastic-admin-home .text {
font-size: 24px;
margin-top: 20px;
}
#browser-upgrade {
position: absolute;
z-index: 10001;
top: 0;
left: 0;
height: 100%;
width: 100%;
display: none;
user-select: none;
color: #736477;
background-color: snow;
position: absolute;
top: 0;
left: 0;
z-index: 10001;
display: none;
width: 100%;
height: 100%;
color: #736477;
user-select: none;
background-color: snow;
}
#browser-upgrade .title {
margin: 40px 0;
text-align: center;
font-size: 24px;
margin: 40px 0;
font-size: 24px;
text-align: center;
}
#browser-upgrade .browsers {
text-align: center;
text-align: center;
}
#browser-upgrade .browsers .browser {
display: inline-block;
margin: 0 20px;
cursor: pointer;
text-decoration: none;
display: inline-block;
margin: 0 20px;
text-decoration: none;
cursor: pointer;
}
#browser-upgrade .browsers .browser .browser-icon {
display: block;
width: 50px;
height: 50px;
margin: 0 auto;
border: none;
display: block;
width: 50px;
height: 50px;
margin: 0 auto;
border: none;
}
#browser-upgrade .browsers .browser .browser-name {
text-align: center;
margin-top: 10px;
padding-bottom: 2px;
color: #736477;
border-bottom: 1px solid transparent;
padding-bottom: 2px;
margin-top: 10px;
color: #736477;
text-align: center;
border-bottom: 1px solid transparent;
}
#browser-upgrade .browsers .browser:hover .browser-name {
border-bottom: 1px solid #736477;
border-bottom: 1px solid #736477;
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

+14
View File
@@ -0,0 +1,14 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -21 206 206" xml:space="preserve">
<path d="M0,82.57C0,58.4,0,34.23,0,10.06C0,1.35,1.35,0,10.03,0C45.36,0,80.7-0.01,116.03,0.03c1.77,0,3.59,0.26,5.29,0.74
c3.07,0.87,3.57,3.21,2.45,5.8c-4.37,10.1-8.83,20.15-13.31,30.2c-1.44,3.23-4.06,4.26-7.54,4.25c-18.5-0.09-37,0.1-55.5-0.14
c-4.95-0.06-6.49,2.12-6.46,6.47c0.02,3,0.11,6.01-0.02,9c-0.3,6.8,0.34,9.29,9.51,9.62c5.36,0.19,10.73,0.04,16.09,0.04
c7.57,0,15.15-0.04,22.72,0.01c5.13,0.03,6.6,2.12,4.59,6.89C90.43,81.09,86.27,89,83.4,97.35c-2.59,7.55-8.57,7.27-14.28,7.56
c-7.48,0.38-15,0.17-22.5,0.06c-3.69-0.05-4.96,1.04-4.86,5.18c0.36,15.83,0.26,31.67,0.12,47.5c-0.04,4.2-2.26,6.53-6.94,6.42
c-9-0.21-18-0.06-27-0.06c-6.05,0-7.91-1.8-7.92-7.94C-0.02,131.57,0,107.07,0,82.57z" fill="#42b883" />
<path d="M132.98,94.13c-8.21,18.88-16.33,37.1-24.06,55.48c-6.02,14.31-5.81,14.4-21.31,14.4c-6.67,0-13.33,0.05-20-0.01
c-5.91-0.05-7.71-2.44-5.46-7.61c6.86-15.8,13.86-31.55,20.82-47.31c9.41-21.32,18.81-42.63,28.24-63.94
c5.59-12.62,11.14-25.25,16.94-37.77c0.82-1.78,2.95-4.09,4.47-4.09c1.63,0,4,2.11,4.78,3.86c13.4,29.78,26.56,59.66,39.87,89.49
c6.48,14.53,13.16,28.97,19.72,43.46c2.57,5.68,5.11,11.38,7.61,17.1c1.61,3.68-0.13,6.75-4.12,6.77
c-23.83,0.08-47.66,0.09-71.49-0.01c-4.03-0.02-5.46-2.47-3.98-6.17c2.26-5.63,4.77-11.16,6.95-16.82c1.74-4.54,4.92-6.06,9.6-5.98
c9.65,0.16,9.89-0.55,5.89-9.13c-4.57-9.81-8.76-19.8-13.14-29.7C134.08,95.62,133.68,95.17,132.98,94.13z" fill="#42b883" />
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

File diff suppressed because one or more lines are too long
Regular → Executable
+1 -1
View File
File diff suppressed because one or more lines are too long
+22 -10
View File
@@ -1,65 +1,77 @@
body {
background-color: #222f3e;
color: #fff;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
line-height: 1.4;
margin: 1rem;
}
a {
color: #4099ff;
}
table {
border-collapse: collapse;
}
/* Apply a default padding if legacy cellpadding attribute is missing */
table:not([cellpadding]) th,
table:not([cellpadding]) td {
padding: 0.4rem;
}
/* Set default table styles if a table has a positive border attribute
and no inline css */
table[border]:not([border="0"]):not([style*="border-width"]) th,
table[border]:not([border="0"]):not([style*="border-width"]) td {
table[border]:not([border="0"], [style*="border-width"]) th,
table[border]:not([border="0"], [style*="border-width"]) td {
border-width: 1px;
}
/* Set default table styles if a table has a positive border attribute
and no inline css */
table[border]:not([border="0"]):not([style*="border-style"]) th,
table[border]:not([border="0"]):not([style*="border-style"]) td {
table[border]:not([border="0"], [style*="border-style"]) th,
table[border]:not([border="0"], [style*="border-style"]) td {
border-style: solid;
}
/* Set default table styles if a table has a positive border attribute
and no inline css */
table[border]:not([border="0"]):not([style*="border-color"]) th,
table[border]:not([border="0"]):not([style*="border-color"]) td {
table[border]:not([border="0"], [style*="border-color"]) th,
table[border]:not([border="0"], [style*="border-color"]) td {
border-color: #6d737b;
}
figure {
display: table;
margin: 1rem auto;
}
figure figcaption {
color: #8a8f97;
display: block;
margin-top: 0.25rem;
text-align: center;
}
hr {
border-color: #6d737b;
border-style: solid;
border-width: 1px 0 0 0;
border-width: 1px 0 0;
}
code {
background-color: #6d737b;
border-radius: 3px;
padding: 0.1rem 0.2rem;
}
.mce-content-body:not([dir=rtl]) blockquote {
.mce-content-body:not([dir="rtl"]) blockquote {
border-left: 2px solid #6d737b;
margin-left: 1.5rem;
padding-left: 1rem;
}
.mce-content-body[dir=rtl] blockquote {
.mce-content-body[dir="rtl"] blockquote {
border-right: 2px solid #6d737b;
margin-right: 1.5rem;
padding-right: 1rem;
+21 -1
View File
@@ -1 +1,21 @@
body{background-color:#222f3e;color:#fff;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,'Open Sans','Helvetica Neue',sans-serif;line-height:1.4;margin:1rem}a{color:#4099ff}table{border-collapse:collapse}table:not([cellpadding]) td,table:not([cellpadding]) th{padding:.4rem}table[border]:not([border="0"]):not([style*=border-width]) td,table[border]:not([border="0"]):not([style*=border-width]) th{border-width:1px}table[border]:not([border="0"]):not([style*=border-style]) td,table[border]:not([border="0"]):not([style*=border-style]) th{border-style:solid}table[border]:not([border="0"]):not([style*=border-color]) td,table[border]:not([border="0"]):not([style*=border-color]) th{border-color:#6d737b}figure{display:table;margin:1rem auto}figure figcaption{color:#8a8f97;display:block;margin-top:.25rem;text-align:center}hr{border-color:#6d737b;border-style:solid;border-width:1px 0 0 0}code{background-color:#6d737b;border-radius:3px;padding:.1rem .2rem}.mce-content-body:not([dir=rtl]) blockquote{border-left:2px solid #6d737b;margin-left:1.5rem;padding-left:1rem}.mce-content-body[dir=rtl] blockquote{border-right:2px solid #6d737b;margin-right:1.5rem;padding-right:1rem}
body { background-color: #222f3e; color: #fff; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif; line-height: 1.4; margin: 1rem; }
a { color: #4099ff; }
table { border-collapse: collapse; }
table:not([cellpadding]) td,
table:not([cellpadding]) th { padding: 0.4rem; }
table[border]:not([border="0"], [style*="border-width"]) td,
table[border]:not([border="0"], [style*="border-width"]) th { border-width: 1px; }
table[border]:not([border="0"], [style*="border-style"]) td,
table[border]:not([border="0"], [style*="border-style"]) th { border-style: solid; }
table[border]:not([border="0"], [style*="border-color"]) td,
table[border]:not([border="0"], [style*="border-color"]) th { border-color: #6d737b; }
figure { display: table; margin: 1rem auto; }
figure figcaption { color: #8a8f97; display: block; margin-top: 0.25rem; text-align: center; }
hr { border-color: #6d737b; border-style: solid; border-width: 1px 0 0; }
code { background-color: #6d737b; border-radius: 3px; padding: 0.1rem 0.2rem; }
.mce-content-body:not([dir="rtl"]) blockquote { border-left: 2px solid #6d737b; margin-left: 1.5rem; padding-left: 1rem; }
.mce-content-body[dir="rtl"] blockquote { border-right: 2px solid #6d737b; margin-right: 1.5rem; padding-right: 1rem; }
+21 -10
View File
@@ -1,60 +1,71 @@
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
line-height: 1.4;
margin: 1rem;
}
table {
border-collapse: collapse;
}
/* Apply a default padding if legacy cellpadding attribute is missing */
table:not([cellpadding]) th,
table:not([cellpadding]) td {
padding: 0.4rem;
}
/* Set default table styles if a table has a positive border attribute
and no inline css */
table[border]:not([border="0"]):not([style*="border-width"]) th,
table[border]:not([border="0"]):not([style*="border-width"]) td {
table[border]:not([border="0"], [style*="border-width"]) th,
table[border]:not([border="0"], [style*="border-width"]) td {
border-width: 1px;
}
/* Set default table styles if a table has a positive border attribute
and no inline css */
table[border]:not([border="0"]):not([style*="border-style"]) th,
table[border]:not([border="0"]):not([style*="border-style"]) td {
table[border]:not([border="0"], [style*="border-style"]) th,
table[border]:not([border="0"], [style*="border-style"]) td {
border-style: solid;
}
/* Set default table styles if a table has a positive border attribute
and no inline css */
table[border]:not([border="0"]):not([style*="border-color"]) th,
table[border]:not([border="0"]):not([style*="border-color"]) td {
table[border]:not([border="0"], [style*="border-color"]) th,
table[border]:not([border="0"], [style*="border-color"]) td {
border-color: #ccc;
}
figure {
display: table;
margin: 1rem auto;
}
figure figcaption {
color: #999;
display: block;
margin-top: 0.25rem;
text-align: center;
}
hr {
border-color: #ccc;
border-style: solid;
border-width: 1px 0 0 0;
border-width: 1px 0 0;
}
code {
background-color: #e8e8e8;
border-radius: 3px;
padding: 0.1rem 0.2rem;
}
.mce-content-body:not([dir=rtl]) blockquote {
.mce-content-body:not([dir="rtl"]) blockquote {
border-left: 2px solid #ccc;
margin-left: 1.5rem;
padding-left: 1rem;
}
.mce-content-body[dir=rtl] blockquote {
.mce-content-body[dir="rtl"] blockquote {
border-right: 2px solid #ccc;
margin-right: 1.5rem;
padding-right: 1rem;
+20 -1
View File
@@ -1 +1,20 @@
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,'Open Sans','Helvetica Neue',sans-serif;line-height:1.4;margin:1rem}table{border-collapse:collapse}table:not([cellpadding]) td,table:not([cellpadding]) th{padding:.4rem}table[border]:not([border="0"]):not([style*=border-width]) td,table[border]:not([border="0"]):not([style*=border-width]) th{border-width:1px}table[border]:not([border="0"]):not([style*=border-style]) td,table[border]:not([border="0"]):not([style*=border-style]) th{border-style:solid}table[border]:not([border="0"]):not([style*=border-color]) td,table[border]:not([border="0"]):not([style*=border-color]) th{border-color:#ccc}figure{display:table;margin:1rem auto}figure figcaption{color:#999;display:block;margin-top:.25rem;text-align:center}hr{border-color:#ccc;border-style:solid;border-width:1px 0 0 0}code{background-color:#e8e8e8;border-radius:3px;padding:.1rem .2rem}.mce-content-body:not([dir=rtl]) blockquote{border-left:2px solid #ccc;margin-left:1.5rem;padding-left:1rem}.mce-content-body[dir=rtl] blockquote{border-right:2px solid #ccc;margin-right:1.5rem;padding-right:1rem}
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif; line-height: 1.4; margin: 1rem; }
table { border-collapse: collapse; }
table:not([cellpadding]) td,
table:not([cellpadding]) th { padding: 0.4rem; }
table[border]:not([border="0"], [style*="border-width"]) td,
table[border]:not([border="0"], [style*="border-width"]) th { border-width: 1px; }
table[border]:not([border="0"], [style*="border-style"]) td,
table[border]:not([border="0"], [style*="border-style"]) th { border-style: solid; }
table[border]:not([border="0"], [style*="border-color"]) td,
table[border]:not([border="0"], [style*="border-color"]) th { border-color: #ccc; }
figure { display: table; margin: 1rem auto; }
figure figcaption { color: #999; display: block; margin-top: 0.25rem; text-align: center; }
hr { border-color: #ccc; border-style: solid; border-width: 1px 0 0; }
code { background-color: #e8e8e8; border-radius: 3px; padding: 0.1rem 0.2rem; }
.mce-content-body:not([dir="rtl"]) blockquote { border-left: 2px solid #ccc; margin-left: 1.5rem; padding-left: 1rem; }
.mce-content-body[dir="rtl"] blockquote { border-right: 2px solid #ccc; margin-right: 1.5rem; padding-right: 1rem; }
+23 -12
View File
@@ -4,62 +4,73 @@
min-height: 100%;
}
}
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
}
@media screen {
body {
background-color: #fff;
box-shadow: 0 0 4px rgba(0, 0, 0, 0.15);
box-shadow: 0 0 4px rgb(0 0 0 / 15%);
box-sizing: border-box;
margin: 1rem auto 0;
max-width: 820px;
min-height: calc(100vh - 1rem);
padding: 4rem 6rem 6rem 6rem;
padding: 4rem 6rem 6rem;
}
}
table {
border-collapse: collapse;
}
/* Apply a default padding if legacy cellpadding attribute is missing */
table:not([cellpadding]) th,
table:not([cellpadding]) td {
padding: 0.4rem;
}
/* Set default table styles if a table has a positive border attribute
and no inline css */
table[border]:not([border="0"]):not([style*="border-width"]) th,
table[border]:not([border="0"]):not([style*="border-width"]) td {
table[border]:not([border="0"], [style*="border-width"]) th,
table[border]:not([border="0"], [style*="border-width"]) td {
border-width: 1px;
}
/* Set default table styles if a table has a positive border attribute
and no inline css */
table[border]:not([border="0"]):not([style*="border-style"]) th,
table[border]:not([border="0"]):not([style*="border-style"]) td {
table[border]:not([border="0"], [style*="border-style"]) th,
table[border]:not([border="0"], [style*="border-style"]) td {
border-style: solid;
}
/* Set default table styles if a table has a positive border attribute
and no inline css */
table[border]:not([border="0"]):not([style*="border-color"]) th,
table[border]:not([border="0"]):not([style*="border-color"]) td {
table[border]:not([border="0"], [style*="border-color"]) th,
table[border]:not([border="0"], [style*="border-color"]) td {
border-color: #ccc;
}
figure figcaption {
color: #999;
margin-top: 0.25rem;
text-align: center;
}
hr {
border-color: #ccc;
border-style: solid;
border-width: 1px 0 0 0;
border-width: 1px 0 0;
}
.mce-content-body:not([dir=rtl]) blockquote {
.mce-content-body:not([dir="rtl"]) blockquote {
border-left: 2px solid #ccc;
margin-left: 1.5rem;
padding-left: 1rem;
}
.mce-content-body[dir=rtl] blockquote {
.mce-content-body[dir="rtl"] blockquote {
border-right: 2px solid #ccc;
margin-right: 1.5rem;
padding-right: 1rem;
+21 -1
View File
@@ -1 +1,21 @@
@media screen{html{background:#f4f4f4;min-height:100%}}body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,'Open Sans','Helvetica Neue',sans-serif}@media screen{body{background-color:#fff;box-shadow:0 0 4px rgba(0,0,0,.15);box-sizing:border-box;margin:1rem auto 0;max-width:820px;min-height:calc(100vh - 1rem);padding:4rem 6rem 6rem 6rem}}table{border-collapse:collapse}table:not([cellpadding]) td,table:not([cellpadding]) th{padding:.4rem}table[border]:not([border="0"]):not([style*=border-width]) td,table[border]:not([border="0"]):not([style*=border-width]) th{border-width:1px}table[border]:not([border="0"]):not([style*=border-style]) td,table[border]:not([border="0"]):not([style*=border-style]) th{border-style:solid}table[border]:not([border="0"]):not([style*=border-color]) td,table[border]:not([border="0"]):not([style*=border-color]) th{border-color:#ccc}figure figcaption{color:#999;margin-top:.25rem;text-align:center}hr{border-color:#ccc;border-style:solid;border-width:1px 0 0 0}.mce-content-body:not([dir=rtl]) blockquote{border-left:2px solid #ccc;margin-left:1.5rem;padding-left:1rem}.mce-content-body[dir=rtl] blockquote{border-right:2px solid #ccc;margin-right:1.5rem;padding-right:1rem}
@media screen { html { background: #f4f4f4; min-height: 100%; } }
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif; }
@media screen { body { background-color: #fff; box-shadow: 0 0 4px rgb(0 0 0 / 15%); box-sizing: border-box; margin: 1rem auto 0; max-width: 820px; min-height: calc(100vh - 1rem); padding: 4rem 6rem 6rem; } }
table { border-collapse: collapse; }
table:not([cellpadding]) td,
table:not([cellpadding]) th { padding: 0.4rem; }
table[border]:not([border="0"], [style*="border-width"]) td,
table[border]:not([border="0"], [style*="border-width"]) th { border-width: 1px; }
table[border]:not([border="0"], [style*="border-style"]) td,
table[border]:not([border="0"], [style*="border-style"]) th { border-style: solid; }
table[border]:not([border="0"], [style*="border-color"]) td,
table[border]:not([border="0"], [style*="border-color"]) th { border-color: #ccc; }
figure figcaption { color: #999; margin-top: 0.25rem; text-align: center; }
hr { border-color: #ccc; border-style: solid; border-width: 1px 0 0; }
.mce-content-body:not([dir="rtl"]) blockquote { border-left: 2px solid #ccc; margin-left: 1.5rem; padding-left: 1rem; }
.mce-content-body[dir="rtl"] blockquote { border-right: 2px solid #ccc; margin-right: 1.5rem; padding-right: 1rem; }
+22 -10
View File
@@ -1,65 +1,77 @@
body {
background-color: #2f3742;
color: #dfe0e4;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
line-height: 1.4;
margin: 1rem;
}
a {
color: #4099ff;
}
table {
border-collapse: collapse;
}
/* Apply a default padding if legacy cellpadding attribute is missing */
table:not([cellpadding]) th,
table:not([cellpadding]) td {
padding: 0.4rem;
}
/* Set default table styles if a table has a positive border attribute
and no inline css */
table[border]:not([border="0"]):not([style*="border-width"]) th,
table[border]:not([border="0"]):not([style*="border-width"]) td {
table[border]:not([border="0"], [style*="border-width"]) th,
table[border]:not([border="0"], [style*="border-width"]) td {
border-width: 1px;
}
/* Set default table styles if a table has a positive border attribute
and no inline css */
table[border]:not([border="0"]):not([style*="border-style"]) th,
table[border]:not([border="0"]):not([style*="border-style"]) td {
table[border]:not([border="0"], [style*="border-style"]) th,
table[border]:not([border="0"], [style*="border-style"]) td {
border-style: solid;
}
/* Set default table styles if a table has a positive border attribute
and no inline css */
table[border]:not([border="0"]):not([style*="border-color"]) th,
table[border]:not([border="0"]):not([style*="border-color"]) td {
table[border]:not([border="0"], [style*="border-color"]) th,
table[border]:not([border="0"], [style*="border-color"]) td {
border-color: #6d737b;
}
figure {
display: table;
margin: 1rem auto;
}
figure figcaption {
color: #8a8f97;
display: block;
margin-top: 0.25rem;
text-align: center;
}
hr {
border-color: #6d737b;
border-style: solid;
border-width: 1px 0 0 0;
border-width: 1px 0 0;
}
code {
background-color: #6d737b;
border-radius: 3px;
padding: 0.1rem 0.2rem;
}
.mce-content-body:not([dir=rtl]) blockquote {
.mce-content-body:not([dir="rtl"]) blockquote {
border-left: 2px solid #6d737b;
margin-left: 1.5rem;
padding-left: 1rem;
}
.mce-content-body[dir=rtl] blockquote {
.mce-content-body[dir="rtl"] blockquote {
border-right: 2px solid #6d737b;
margin-right: 1.5rem;
padding-right: 1rem;
+21 -1
View File
@@ -1 +1,21 @@
body{background-color:#2f3742;color:#dfe0e4;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,'Open Sans','Helvetica Neue',sans-serif;line-height:1.4;margin:1rem}a{color:#4099ff}table{border-collapse:collapse}table:not([cellpadding]) td,table:not([cellpadding]) th{padding:.4rem}table[border]:not([border="0"]):not([style*=border-width]) td,table[border]:not([border="0"]):not([style*=border-width]) th{border-width:1px}table[border]:not([border="0"]):not([style*=border-style]) td,table[border]:not([border="0"]):not([style*=border-style]) th{border-style:solid}table[border]:not([border="0"]):not([style*=border-color]) td,table[border]:not([border="0"]):not([style*=border-color]) th{border-color:#6d737b}figure{display:table;margin:1rem auto}figure figcaption{color:#8a8f97;display:block;margin-top:.25rem;text-align:center}hr{border-color:#6d737b;border-style:solid;border-width:1px 0 0 0}code{background-color:#6d737b;border-radius:3px;padding:.1rem .2rem}.mce-content-body:not([dir=rtl]) blockquote{border-left:2px solid #6d737b;margin-left:1.5rem;padding-left:1rem}.mce-content-body[dir=rtl] blockquote{border-right:2px solid #6d737b;margin-right:1.5rem;padding-right:1rem}
body { background-color: #2f3742; color: #dfe0e4; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif; line-height: 1.4; margin: 1rem; }
a { color: #4099ff; }
table { border-collapse: collapse; }
table:not([cellpadding]) td,
table:not([cellpadding]) th { padding: 0.4rem; }
table[border]:not([border="0"], [style*="border-width"]) td,
table[border]:not([border="0"], [style*="border-width"]) th { border-width: 1px; }
table[border]:not([border="0"], [style*="border-style"]) td,
table[border]:not([border="0"], [style*="border-style"]) th { border-style: solid; }
table[border]:not([border="0"], [style*="border-color"]) td,
table[border]:not([border="0"], [style*="border-color"]) th { border-color: #6d737b; }
figure { display: table; margin: 1rem auto; }
figure figcaption { color: #8a8f97; display: block; margin-top: 0.25rem; text-align: center; }
hr { border-color: #6d737b; border-style: solid; border-width: 1px 0 0; }
code { background-color: #6d737b; border-radius: 3px; padding: 0.1rem 0.2rem; }
.mce-content-body:not([dir="rtl"]) blockquote { border-left: 2px solid #6d737b; margin-left: 1.5rem; padding-left: 1rem; }
.mce-content-body[dir="rtl"] blockquote { border-right: 2px solid #6d737b; margin-right: 1.5rem; padding-right: 1rem; }
+21 -10
View File
@@ -1,60 +1,71 @@
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
line-height: 1.4;
margin: 1rem;
}
table {
border-collapse: collapse;
}
/* Apply a default padding if legacy cellpadding attribute is missing */
table:not([cellpadding]) th,
table:not([cellpadding]) td {
padding: 0.4rem;
}
/* Set default table styles if a table has a positive border attribute
and no inline css */
table[border]:not([border="0"]):not([style*="border-width"]) th,
table[border]:not([border="0"]):not([style*="border-width"]) td {
table[border]:not([border="0"], [style*="border-width"]) th,
table[border]:not([border="0"], [style*="border-width"]) td {
border-width: 1px;
}
/* Set default table styles if a table has a positive border attribute
and no inline css */
table[border]:not([border="0"]):not([style*="border-style"]) th,
table[border]:not([border="0"]):not([style*="border-style"]) td {
table[border]:not([border="0"], [style*="border-style"]) th,
table[border]:not([border="0"], [style*="border-style"]) td {
border-style: solid;
}
/* Set default table styles if a table has a positive border attribute
and no inline css */
table[border]:not([border="0"]):not([style*="border-color"]) th,
table[border]:not([border="0"]):not([style*="border-color"]) td {
table[border]:not([border="0"], [style*="border-color"]) th,
table[border]:not([border="0"], [style*="border-color"]) td {
border-color: #ccc;
}
figure {
display: table;
margin: 1rem auto;
}
figure figcaption {
color: #999;
display: block;
margin-top: 0.25rem;
text-align: center;
}
hr {
border-color: #ccc;
border-style: solid;
border-width: 1px 0 0 0;
border-width: 1px 0 0;
}
code {
background-color: #e8e8e8;
border-radius: 3px;
padding: 0.1rem 0.2rem;
}
.mce-content-body:not([dir=rtl]) blockquote {
.mce-content-body:not([dir="rtl"]) blockquote {
border-left: 2px solid #ccc;
margin-left: 1.5rem;
padding-left: 1rem;
}
.mce-content-body[dir=rtl] blockquote {
.mce-content-body[dir="rtl"] blockquote {
border-right: 2px solid #ccc;
margin-right: 1.5rem;
padding-right: 1rem;
+20 -1
View File
@@ -1 +1,20 @@
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,'Open Sans','Helvetica Neue',sans-serif;line-height:1.4;margin:1rem}table{border-collapse:collapse}table:not([cellpadding]) td,table:not([cellpadding]) th{padding:.4rem}table[border]:not([border="0"]):not([style*=border-width]) td,table[border]:not([border="0"]):not([style*=border-width]) th{border-width:1px}table[border]:not([border="0"]):not([style*=border-style]) td,table[border]:not([border="0"]):not([style*=border-style]) th{border-style:solid}table[border]:not([border="0"]):not([style*=border-color]) td,table[border]:not([border="0"]):not([style*=border-color]) th{border-color:#ccc}figure{display:table;margin:1rem auto}figure figcaption{color:#999;display:block;margin-top:.25rem;text-align:center}hr{border-color:#ccc;border-style:solid;border-width:1px 0 0 0}code{background-color:#e8e8e8;border-radius:3px;padding:.1rem .2rem}.mce-content-body:not([dir=rtl]) blockquote{border-left:2px solid #ccc;margin-left:1.5rem;padding-left:1rem}.mce-content-body[dir=rtl] blockquote{border-right:2px solid #ccc;margin-right:1.5rem;padding-right:1rem}
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif; line-height: 1.4; margin: 1rem; }
table { border-collapse: collapse; }
table:not([cellpadding]) td,
table:not([cellpadding]) th { padding: 0.4rem; }
table[border]:not([border="0"], [style*="border-width"]) td,
table[border]:not([border="0"], [style*="border-width"]) th { border-width: 1px; }
table[border]:not([border="0"], [style*="border-style"]) td,
table[border]:not([border="0"], [style*="border-style"]) th { border-style: solid; }
table[border]:not([border="0"], [style*="border-color"]) td,
table[border]:not([border="0"], [style*="border-color"]) th { border-color: #ccc; }
figure { display: table; margin: 1rem auto; }
figure figcaption { color: #999; display: block; margin-top: 0.25rem; text-align: center; }
hr { border-color: #ccc; border-style: solid; border-width: 1px 0 0; }
code { background-color: #e8e8e8; border-radius: 3px; padding: 0.1rem 0.2rem; }
.mce-content-body:not([dir="rtl"]) blockquote { border-left: 2px solid #ccc; margin-left: 1.5rem; padding-left: 1rem; }
.mce-content-body[dir="rtl"] blockquote { border-right: 2px solid #ccc; margin-right: 1.5rem; padding-right: 1rem; }
+21 -10
View File
@@ -1,61 +1,72 @@
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
line-height: 1.4;
margin: 1rem auto;
max-width: 900px;
}
table {
border-collapse: collapse;
}
/* Apply a default padding if legacy cellpadding attribute is missing */
table:not([cellpadding]) th,
table:not([cellpadding]) td {
padding: 0.4rem;
}
/* Set default table styles if a table has a positive border attribute
and no inline css */
table[border]:not([border="0"]):not([style*="border-width"]) th,
table[border]:not([border="0"]):not([style*="border-width"]) td {
table[border]:not([border="0"], [style*="border-width"]) th,
table[border]:not([border="0"], [style*="border-width"]) td {
border-width: 1px;
}
/* Set default table styles if a table has a positive border attribute
and no inline css */
table[border]:not([border="0"]):not([style*="border-style"]) th,
table[border]:not([border="0"]):not([style*="border-style"]) td {
table[border]:not([border="0"], [style*="border-style"]) th,
table[border]:not([border="0"], [style*="border-style"]) td {
border-style: solid;
}
/* Set default table styles if a table has a positive border attribute
and no inline css */
table[border]:not([border="0"]):not([style*="border-color"]) th,
table[border]:not([border="0"]):not([style*="border-color"]) td {
table[border]:not([border="0"], [style*="border-color"]) th,
table[border]:not([border="0"], [style*="border-color"]) td {
border-color: #ccc;
}
figure {
display: table;
margin: 1rem auto;
}
figure figcaption {
color: #999;
display: block;
margin-top: 0.25rem;
text-align: center;
}
hr {
border-color: #ccc;
border-style: solid;
border-width: 1px 0 0 0;
border-width: 1px 0 0;
}
code {
background-color: #e8e8e8;
border-radius: 3px;
padding: 0.1rem 0.2rem;
}
.mce-content-body:not([dir=rtl]) blockquote {
.mce-content-body:not([dir="rtl"]) blockquote {
border-left: 2px solid #ccc;
margin-left: 1.5rem;
padding-left: 1rem;
}
.mce-content-body[dir=rtl] blockquote {
.mce-content-body[dir="rtl"] blockquote {
border-right: 2px solid #ccc;
margin-right: 1.5rem;
padding-right: 1rem;
+20 -1
View File
@@ -1 +1,20 @@
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,'Open Sans','Helvetica Neue',sans-serif;line-height:1.4;margin:1rem auto;max-width:900px}table{border-collapse:collapse}table:not([cellpadding]) td,table:not([cellpadding]) th{padding:.4rem}table[border]:not([border="0"]):not([style*=border-width]) td,table[border]:not([border="0"]):not([style*=border-width]) th{border-width:1px}table[border]:not([border="0"]):not([style*=border-style]) td,table[border]:not([border="0"]):not([style*=border-style]) th{border-style:solid}table[border]:not([border="0"]):not([style*=border-color]) td,table[border]:not([border="0"]):not([style*=border-color]) th{border-color:#ccc}figure{display:table;margin:1rem auto}figure figcaption{color:#999;display:block;margin-top:.25rem;text-align:center}hr{border-color:#ccc;border-style:solid;border-width:1px 0 0 0}code{background-color:#e8e8e8;border-radius:3px;padding:.1rem .2rem}.mce-content-body:not([dir=rtl]) blockquote{border-left:2px solid #ccc;margin-left:1.5rem;padding-left:1rem}.mce-content-body[dir=rtl] blockquote{border-right:2px solid #ccc;margin-right:1.5rem;padding-right:1rem}
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif; line-height: 1.4; margin: 1rem auto; max-width: 900px; }
table { border-collapse: collapse; }
table:not([cellpadding]) td,
table:not([cellpadding]) th { padding: 0.4rem; }
table[border]:not([border="0"], [style*="border-width"]) td,
table[border]:not([border="0"], [style*="border-width"]) th { border-width: 1px; }
table[border]:not([border="0"], [style*="border-style"]) td,
table[border]:not([border="0"], [style*="border-style"]) th { border-style: solid; }
table[border]:not([border="0"], [style*="border-color"]) td,
table[border]:not([border="0"], [style*="border-color"]) th { border-color: #ccc; }
figure { display: table; margin: 1rem auto; }
figure figcaption { color: #999; display: block; margin-top: 0.25rem; text-align: center; }
hr { border-color: #ccc; border-style: solid; border-width: 1px 0 0; }
code { background-color: #e8e8e8; border-radius: 3px; padding: 0.1rem 0.2rem; }
.mce-content-body:not([dir="rtl"]) blockquote { border-left: 2px solid #ccc; margin-left: 1.5rem; padding-left: 1rem; }
.mce-content-body[dir="rtl"] blockquote { border-right: 2px solid #ccc; margin-right: 1.5rem; padding-right: 1rem; }
+51 -6
View File
@@ -21,11 +21,28 @@
.mce-content-body .mce-item-anchor[data-mce-selected] {
outline-offset: 1px;
}
.tox-comments-visible .tox-comment {
background-color: #fff0b7;
.tox-comments-visible .tox-comment[contenteditable="false"]:not([data-mce-selected]),
.tox-comments-visible span.tox-comment img:not([data-mce-selected]),
.tox-comments-visible span.tox-comment > audio:not([data-mce-selected]),
.tox-comments-visible span.tox-comment > video:not([data-mce-selected]),
.tox-comments-visible span.tox-comment span.mce-preview-object:not([data-mce-selected]) {
outline: 3px solid #ffe89d;
}
.tox-comments-visible .tox-comment[data-mce-annotation-active="true"]:not([data-mce-selected="inline-boundary"]) {
background-color: #ffe168;
.tox-comments-visible .tox-comment[contenteditable="false"][data-mce-annotation-active="true"]:not([data-mce-selected]) {
outline: 3px solid #fed635;
}
.tox-comments-visible span.tox-comment[data-mce-annotation-active="true"] img:not([data-mce-selected]),
.tox-comments-visible span.tox-comment[data-mce-annotation-active="true"] > audio:not([data-mce-selected]),
.tox-comments-visible span.tox-comment[data-mce-annotation-active="true"] > video:not([data-mce-selected]),
.tox-comments-visible span.tox-comment[data-mce-annotation-active="true"] span.mce-preview-object:not([data-mce-selected]) {
outline: 3px solid #fed635;
}
.tox-comments-visible span.tox-comment:not([data-mce-selected]) {
background-color: #ffe89d;
outline: none;
}
.tox-comments-visible span.tox-comment[data-mce-annotation-active="true"]:not([data-mce-selected="inline-boundary"]) {
background-color: #fed635;
}
.tox-checklist > li:not(.tox-checklist--hidden) {
list-style: none;
@@ -186,6 +203,27 @@ pre[class*="language-"] {
.tox-cursor-format-painter {
cursor: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A"), default;
}
div.mce-footnotes hr {
margin-inline-end: auto;
margin-inline-start: 0;
width: 25%;
}
div.mce-footnotes li > a.mce-footnotes-backlink {
text-decoration: none;
}
@media print {
sup.mce-footnote a {
color: black;
text-decoration: none;
}
div.mce-footnotes {
break-inside: avoid;
width: 100%;
}
div.mce-footnotes li > a.mce-footnotes-backlink {
display: none;
}
}
.mce-content-body figure.align-left {
float: left;
}
@@ -215,6 +253,13 @@ pre[class*="language-"] {
.mce-preview-object[data-mce-selected="2"] .mce-shim {
display: none;
}
.mce-content-body .mce-mergetag:hover {
background-color: rgba(0, 108, 231, 0.3);
}
.mce-content-body .mce-mergetag-affix {
background-color: rgba(0, 108, 231, 0.3);
color: #006ce7;
}
.mce-object {
background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%20fill%3D%22%23cccccc%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;
border: 1px dashed #aaa;
@@ -506,10 +551,10 @@ pre[class*="language-"] {
border-color: rgba(0, 84, 180, 0.7);
}
}
.mce-content-body img::-moz-selection {
.mce-content-body img[data-mce-selected]::-moz-selection {
background: none;
}
.mce-content-body img::selection {
.mce-content-body img[data-mce-selected]::selection {
background: none;
}
.ephox-snooker-resizer-bar {
+51 -6
View File
@@ -21,11 +21,28 @@
.mce-content-body .mce-item-anchor[data-mce-selected] {
outline-offset: 1px;
}
.tox-comments-visible .tox-comment {
background-color: #fff0b7;
.tox-comments-visible .tox-comment[contenteditable="false"]:not([data-mce-selected]),
.tox-comments-visible span.tox-comment img:not([data-mce-selected]),
.tox-comments-visible span.tox-comment > audio:not([data-mce-selected]),
.tox-comments-visible span.tox-comment > video:not([data-mce-selected]),
.tox-comments-visible span.tox-comment span.mce-preview-object:not([data-mce-selected]) {
outline: 3px solid #ffe89d;
}
.tox-comments-visible .tox-comment[data-mce-annotation-active="true"]:not([data-mce-selected="inline-boundary"]) {
background-color: #ffe168;
.tox-comments-visible .tox-comment[contenteditable="false"][data-mce-annotation-active="true"]:not([data-mce-selected]) {
outline: 3px solid #fed635;
}
.tox-comments-visible span.tox-comment[data-mce-annotation-active="true"] img:not([data-mce-selected]),
.tox-comments-visible span.tox-comment[data-mce-annotation-active="true"] > audio:not([data-mce-selected]),
.tox-comments-visible span.tox-comment[data-mce-annotation-active="true"] > video:not([data-mce-selected]),
.tox-comments-visible span.tox-comment[data-mce-annotation-active="true"] span.mce-preview-object:not([data-mce-selected]) {
outline: 3px solid #fed635;
}
.tox-comments-visible span.tox-comment:not([data-mce-selected]) {
background-color: #ffe89d;
outline: none;
}
.tox-comments-visible span.tox-comment[data-mce-annotation-active="true"]:not([data-mce-selected="inline-boundary"]) {
background-color: #fed635;
}
.tox-checklist > li:not(.tox-checklist--hidden) {
list-style: none;
@@ -205,6 +222,27 @@ pre[class*="language-"] {
.tox-cursor-format-painter {
cursor: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A"), default;
}
div.mce-footnotes hr {
margin-inline-end: auto;
margin-inline-start: 0;
width: 25%;
}
div.mce-footnotes li > a.mce-footnotes-backlink {
text-decoration: none;
}
@media print {
sup.mce-footnote a {
color: black;
text-decoration: none;
}
div.mce-footnotes {
break-inside: avoid;
width: 100%;
}
div.mce-footnotes li > a.mce-footnotes-backlink {
display: none;
}
}
.mce-content-body figure.align-left {
float: left;
}
@@ -234,6 +272,13 @@ pre[class*="language-"] {
.mce-preview-object[data-mce-selected="2"] .mce-shim {
display: none;
}
.mce-content-body .mce-mergetag:hover {
background-color: rgba(0, 108, 231, 0.1);
}
.mce-content-body .mce-mergetag-affix {
background-color: rgba(0, 108, 231, 0.1);
color: #006ce7;
}
.mce-object {
background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;
border: 1px dashed #aaa;
@@ -525,10 +570,10 @@ pre[class*="language-"] {
border-color: rgba(0, 84, 180, 0.7);
}
}
.mce-content-body img::-moz-selection {
.mce-content-body img[data-mce-selected]::-moz-selection {
background: none;
}
.mce-content-body img::selection {
.mce-content-body img[data-mce-selected]::selection {
background: none;
}
.ephox-snooker-resizer-bar {
+310 -1
View File
File diff suppressed because one or more lines are too long
+299 -1
View File
File diff suppressed because one or more lines are too long
+90 -19
View File
@@ -252,11 +252,24 @@ button::-moz-focus-inner {
margin: 0;
outline: none;
padding: 4px 16px;
position: relative;
text-align: center;
text-decoration: none;
text-transform: none;
white-space: nowrap;
}
.tox .tox-button::before {
border-radius: 6px;
bottom: -1px;
box-shadow: inset 0 0 0 2px #fff, 0 0 0 1px #006ce7, 0 0 0 3px rgba(0, 108, 231, 0.25);
content: '';
left: -1px;
opacity: 0;
pointer-events: none;
position: absolute;
right: -1px;
top: -1px;
}
.tox .tox-button[disabled] {
background-color: #006ce7;
background-image: none;
@@ -272,6 +285,9 @@ button::-moz-focus-inner {
box-shadow: none;
color: #fff;
}
.tox .tox-button:focus-visible:not(:disabled)::before {
opacity: 1;
}
.tox .tox-button:hover:not(:disabled) {
background-color: #0060ce;
background-image: none;
@@ -933,8 +949,9 @@ button::-moz-focus-inner {
justify-content: space-between;
}
.tox .tox-comment__date {
color: rgba(255, 255, 255, 0.5);
color: #fff;
font-size: 12px;
line-height: 18px;
}
.tox .tox-comment__body {
color: #fff;
@@ -1093,20 +1110,30 @@ button::-moz-focus-inner {
.tox .tox-user__avatar svg {
fill: rgba(255, 255, 255, 0.5);
}
.tox .tox-user__avatar img {
border-radius: 50%;
height: 36px;
object-fit: cover;
vertical-align: middle;
width: 36px;
}
.tox .tox-user__name {
color: rgba(255, 255, 255, 0.5);
font-size: 12px;
color: #fff;
font-size: 14px;
font-style: normal;
font-weight: bold;
text-transform: uppercase;
line-height: 18px;
text-transform: none;
}
.tox:not([dir=rtl]) .tox-user__avatar svg {
.tox:not([dir=rtl]) .tox-user__avatar svg,
.tox:not([dir=rtl]) .tox-user__avatar img {
margin-right: 8px;
}
.tox:not([dir=rtl]) .tox-user__avatar + .tox-user__name {
margin-left: 8px;
}
.tox[dir=rtl] .tox-user__avatar svg {
.tox[dir=rtl] .tox-user__avatar svg,
.tox[dir=rtl] .tox-user__avatar img {
margin-left: 8px;
}
.tox[dir=rtl] .tox-user__avatar + .tox-user__name {
@@ -1151,10 +1178,11 @@ button::-moz-focus-inner {
width: 95vw;
z-index: 2;
}
@media only screen and (max-width:767px) {
@media only screen and (max-width: 767px ) {
body:not(.tox-force-desktop) .tox .tox-dialog {
align-self: flex-start;
margin: 8px auto;
max-height: calc(100vh - 8px * 2);
width: calc(100vw - 16px);
}
}
@@ -1210,7 +1238,7 @@ button::-moz-focus-inner {
text-align: left;
text-transform: none;
}
@media only screen and (max-width:767px) {
@media only screen and (max-width: 767px ) {
body:not(.tox-force-desktop) .tox .tox-dialog__body {
flex-direction: column;
}
@@ -1221,7 +1249,7 @@ button::-moz-focus-inner {
flex-direction: column;
padding: 16px 16px;
}
@media only screen and (max-width:767px) {
@media only screen and (max-width: 767px ) {
body:not(.tox-force-desktop) .tox .tox-dialog__body-nav {
flex-direction: row;
-webkit-overflow-scrolling: touch;
@@ -1389,6 +1417,9 @@ button::-moz-focus-inner {
padding-bottom: 8px;
padding-top: 8px;
}
.tox .tox-dialog__iframe.tox-dialog__iframe--opaque {
background: #fff;
}
.tox .tox-dialog__popups {
position: absolute;
width: 100%;
@@ -1421,12 +1452,12 @@ button::-moz-focus-inner {
.tox .tox-dialog-dock-transition.tox-dialog-dock-fadein {
transition-delay: 0s;
}
@media only screen and (max-width:767px) {
@media only screen and (max-width: 767px ) {
body:not(.tox-force-desktop) .tox:not([dir=rtl]) .tox-dialog__body-nav {
margin-right: 0;
}
}
@media only screen and (max-width:767px) {
@media only screen and (max-width: 767px ) {
body:not(.tox-force-desktop) .tox:not([dir=rtl]) .tox-dialog__body-nav-item:not(:first-child) {
margin-left: 8px;
}
@@ -1438,12 +1469,12 @@ button::-moz-focus-inner {
.tox[dir=rtl] .tox-dialog__body {
text-align: right;
}
@media only screen and (max-width:767px) {
@media only screen and (max-width: 767px ) {
body:not(.tox-force-desktop) .tox[dir=rtl] .tox-dialog__body-nav {
margin-left: 0;
}
}
@media only screen and (max-width:767px) {
@media only screen and (max-width: 767px ) {
body:not(.tox-force-desktop) .tox[dir=rtl] .tox-dialog__body-nav-item:not(:first-child) {
margin-right: 8px;
}
@@ -1500,6 +1531,8 @@ body.tox-dialog__disable-scroll {
overflow: hidden;
}
.tox .tox-editor-header {
display: grid;
grid-template-columns: 1fr min-content;
z-index: 1;
}
.tox:not(.tox-tinymce-inline) .tox-editor-header {
@@ -1581,8 +1614,7 @@ body.tox-dialog__disable-scroll {
max-width: 25em;
}
.tox .tox-autocompleter .tox-menu {
border-color: #161f29;
box-shadow: none;
box-sizing: border-box;
max-width: 25em;
}
.tox .tox-autocompleter .tox-autocompleter-highlight {
@@ -2073,6 +2105,12 @@ body.tox-dialog__disable-scroll {
.tox .tox-menu.tox-collection.tox-collection--grid {
padding: 8px;
}
@media only screen and (min-width: 768px ) {
.tox .tox-menu .tox-collection__item-label {
overflow-wrap: break-word;
word-break: normal;
}
}
.tox .tox-menu__label h1,
.tox .tox-menu__label h2,
.tox .tox-menu__label h3,
@@ -2085,16 +2123,45 @@ body.tox-dialog__disable-scroll {
margin: 0;
}
.tox .tox-menubar {
background: url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='transparent'/%3E%3C/svg%3E") left 0 top 0 #222F3E;
background: repeating-linear-gradient(transparent 0px 1px, transparent 1px 39px) center top 39px / 100% calc(100% - 39px) no-repeat;
background-color: #222F3E;
display: flex;
flex: 0 0 auto;
flex-shrink: 0;
flex-wrap: wrap;
grid-column: 1 / -1;
grid-row: 1;
padding: 0 11px 0 12px;
}
.tox.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-menubar {
border-top: 1px solid transparent;
.tox .tox-promotion + .tox-menubar {
grid-column: 1;
}
.tox .tox-promotion {
background: repeating-linear-gradient(transparent 0px 1px, transparent 1px 39px) center top 39px / 100% calc(100% - 39px) no-repeat;
background-color: #222F3E;
grid-column: 2;
grid-row: 1;
padding-inline-end: 8px;
padding-inline-start: 4px;
padding-top: 5px;
}
.tox .tox-promotion-link {
align-items: unsafe center;
background-color: #E8F1F8;
border-radius: 5px;
color: #086BE6;
cursor: pointer;
display: flex;
font-size: 14px;
height: 26.6px;
padding: 4px 8px;
white-space: nowrap;
}
.tox .tox-promotion-link:hover {
background-color: #B4D7FF;
}
.tox .tox-promotion-link:focus {
background-color: #D9EDF7;
}
/* Deprecated. Remove in next major release */
.tox .tox-mbtn {
@@ -2874,10 +2941,14 @@ body.tox-dialog__disable-scroll {
.tox .tox-toolbar__overflow--shrinking {
transition: opacity 0.3s ease, height 0.2s linear 0.1s, visibility 0s linear 0.3s;
}
.tox .tox-toolbar-overlord,
.tox .tox-anchorbar {
grid-column: 1 / -1;
}
.tox .tox-menubar + .tox-toolbar,
.tox .tox-menubar + .tox-toolbar-overlord {
border-top: 1px solid transparent;
margin-top: 0px;
margin-top: -1px;
padding-bottom: 1px;
padding-top: 1px;
}
+772 -1
View File
File diff suppressed because one or more lines are too long
+5
View File
@@ -1,6 +1,7 @@
body.tox-dialog__disable-scroll {
overflow: hidden;
}
.tox-fullscreen {
border: 0;
height: 100%;
@@ -11,9 +12,11 @@ body.tox-dialog__disable-scroll {
touch-action: pinch-zoom;
width: 100%;
}
.tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle {
display: none;
}
.tox.tox-tinymce.tox-fullscreen,
.tox-shadowhost.tox-fullscreen {
left: 0;
@@ -21,9 +24,11 @@ body.tox-dialog__disable-scroll {
top: 0;
z-index: 1200;
}
.tox.tox-tinymce.tox-fullscreen {
background-color: transparent;
}
.tox-fullscreen .tox.tox-tinymce-aux,
.tox-fullscreen ~ .tox.tox-tinymce-aux {
z-index: 1201;
+10 -1
View File
@@ -1 +1,10 @@
body.tox-dialog__disable-scroll{overflow:hidden}.tox-fullscreen{border:0;height:100%;margin:0;overflow:hidden;overscroll-behavior:none;padding:0;touch-action:pinch-zoom;width:100%}.tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle{display:none}.tox-shadowhost.tox-fullscreen,.tox.tox-tinymce.tox-fullscreen{left:0;position:fixed;top:0;z-index:1200}.tox.tox-tinymce.tox-fullscreen{background-color:transparent}.tox-fullscreen .tox.tox-tinymce-aux,.tox-fullscreen~.tox.tox-tinymce-aux{z-index:1201}
body.tox-dialog__disable-scroll { overflow: hidden; }
.tox-fullscreen { border: 0; height: 100%; margin: 0; overflow: hidden; overscroll-behavior: none; padding: 0; touch-action: pinch-zoom; width: 100%; }
.tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle { display: none; }
.tox-shadowhost.tox-fullscreen,
.tox.tox-tinymce.tox-fullscreen { left: 0; position: fixed; top: 0; z-index: 1200; }
.tox.tox-tinymce.tox-fullscreen { background-color: transparent; }
.tox-fullscreen .tox.tox-tinymce-aux,
.tox-fullscreen ~ .tox.tox-tinymce-aux { z-index: 1201; }
+51 -6
View File
@@ -21,11 +21,28 @@
.mce-content-body .mce-item-anchor[data-mce-selected] {
outline-offset: 1px;
}
.tox-comments-visible .tox-comment {
background-color: #fff0b7;
.tox-comments-visible .tox-comment[contenteditable="false"]:not([data-mce-selected]),
.tox-comments-visible span.tox-comment img:not([data-mce-selected]),
.tox-comments-visible span.tox-comment > audio:not([data-mce-selected]),
.tox-comments-visible span.tox-comment > video:not([data-mce-selected]),
.tox-comments-visible span.tox-comment span.mce-preview-object:not([data-mce-selected]) {
outline: 3px solid #ffe89d;
}
.tox-comments-visible .tox-comment[data-mce-annotation-active="true"]:not([data-mce-selected="inline-boundary"]) {
background-color: #ffe168;
.tox-comments-visible .tox-comment[contenteditable="false"][data-mce-annotation-active="true"]:not([data-mce-selected]) {
outline: 3px solid #fed635;
}
.tox-comments-visible span.tox-comment[data-mce-annotation-active="true"] img:not([data-mce-selected]),
.tox-comments-visible span.tox-comment[data-mce-annotation-active="true"] > audio:not([data-mce-selected]),
.tox-comments-visible span.tox-comment[data-mce-annotation-active="true"] > video:not([data-mce-selected]),
.tox-comments-visible span.tox-comment[data-mce-annotation-active="true"] span.mce-preview-object:not([data-mce-selected]) {
outline: 3px solid #fed635;
}
.tox-comments-visible span.tox-comment:not([data-mce-selected]) {
background-color: #ffe89d;
outline: none;
}
.tox-comments-visible span.tox-comment[data-mce-annotation-active="true"]:not([data-mce-selected="inline-boundary"]) {
background-color: #fed635;
}
.tox-checklist > li:not(.tox-checklist--hidden) {
list-style: none;
@@ -205,6 +222,27 @@ pre[class*="language-"] {
.tox-cursor-format-painter {
cursor: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A"), default;
}
div.mce-footnotes hr {
margin-inline-end: auto;
margin-inline-start: 0;
width: 25%;
}
div.mce-footnotes li > a.mce-footnotes-backlink {
text-decoration: none;
}
@media print {
sup.mce-footnote a {
color: black;
text-decoration: none;
}
div.mce-footnotes {
break-inside: avoid;
width: 100%;
}
div.mce-footnotes li > a.mce-footnotes-backlink {
display: none;
}
}
.mce-content-body figure.align-left {
float: left;
}
@@ -234,6 +272,13 @@ pre[class*="language-"] {
.mce-preview-object[data-mce-selected="2"] .mce-shim {
display: none;
}
.mce-content-body .mce-mergetag:hover {
background-color: rgba(0, 108, 231, 0.1);
}
.mce-content-body .mce-mergetag-affix {
background-color: rgba(0, 108, 231, 0.1);
color: #006ce7;
}
.mce-object {
background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;
border: 1px dashed #aaa;
@@ -525,10 +570,10 @@ pre[class*="language-"] {
border-color: rgba(0, 84, 180, 0.7);
}
}
.mce-content-body img::-moz-selection {
.mce-content-body img[data-mce-selected]::-moz-selection {
background: none;
}
.mce-content-body img::selection {
.mce-content-body img[data-mce-selected]::selection {
background: none;
}
.ephox-snooker-resizer-bar {
+51 -6
View File
@@ -21,11 +21,28 @@
.mce-content-body .mce-item-anchor[data-mce-selected] {
outline-offset: 1px;
}
.tox-comments-visible .tox-comment {
background-color: #fff0b7;
.tox-comments-visible .tox-comment[contenteditable="false"]:not([data-mce-selected]),
.tox-comments-visible span.tox-comment img:not([data-mce-selected]),
.tox-comments-visible span.tox-comment > audio:not([data-mce-selected]),
.tox-comments-visible span.tox-comment > video:not([data-mce-selected]),
.tox-comments-visible span.tox-comment span.mce-preview-object:not([data-mce-selected]) {
outline: 3px solid #ffe89d;
}
.tox-comments-visible .tox-comment[data-mce-annotation-active="true"]:not([data-mce-selected="inline-boundary"]) {
background-color: #ffe168;
.tox-comments-visible .tox-comment[contenteditable="false"][data-mce-annotation-active="true"]:not([data-mce-selected]) {
outline: 3px solid #fed635;
}
.tox-comments-visible span.tox-comment[data-mce-annotation-active="true"] img:not([data-mce-selected]),
.tox-comments-visible span.tox-comment[data-mce-annotation-active="true"] > audio:not([data-mce-selected]),
.tox-comments-visible span.tox-comment[data-mce-annotation-active="true"] > video:not([data-mce-selected]),
.tox-comments-visible span.tox-comment[data-mce-annotation-active="true"] span.mce-preview-object:not([data-mce-selected]) {
outline: 3px solid #fed635;
}
.tox-comments-visible span.tox-comment:not([data-mce-selected]) {
background-color: #ffe89d;
outline: none;
}
.tox-comments-visible span.tox-comment[data-mce-annotation-active="true"]:not([data-mce-selected="inline-boundary"]) {
background-color: #fed635;
}
.tox-checklist > li:not(.tox-checklist--hidden) {
list-style: none;
@@ -205,6 +222,27 @@ pre[class*="language-"] {
.tox-cursor-format-painter {
cursor: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A"), default;
}
div.mce-footnotes hr {
margin-inline-end: auto;
margin-inline-start: 0;
width: 25%;
}
div.mce-footnotes li > a.mce-footnotes-backlink {
text-decoration: none;
}
@media print {
sup.mce-footnote a {
color: black;
text-decoration: none;
}
div.mce-footnotes {
break-inside: avoid;
width: 100%;
}
div.mce-footnotes li > a.mce-footnotes-backlink {
display: none;
}
}
.mce-content-body figure.align-left {
float: left;
}
@@ -234,6 +272,13 @@ pre[class*="language-"] {
.mce-preview-object[data-mce-selected="2"] .mce-shim {
display: none;
}
.mce-content-body .mce-mergetag:hover {
background-color: rgba(0, 108, 231, 0.1);
}
.mce-content-body .mce-mergetag-affix {
background-color: rgba(0, 108, 231, 0.1);
color: #006ce7;
}
.mce-object {
background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;
border: 1px dashed #aaa;
@@ -525,10 +570,10 @@ pre[class*="language-"] {
border-color: rgba(0, 84, 180, 0.7);
}
}
.mce-content-body img::-moz-selection {
.mce-content-body img[data-mce-selected]::-moz-selection {
background: none;
}
.mce-content-body img::selection {
.mce-content-body img[data-mce-selected]::selection {
background: none;
}
.ephox-snooker-resizer-bar {
+310 -1
View File
File diff suppressed because one or more lines are too long
Vendored Regular → Executable
+312 -1
View File
File diff suppressed because one or more lines are too long
+90 -19
View File
@@ -252,11 +252,24 @@ button::-moz-focus-inner {
margin: 0;
outline: none;
padding: 4px 16px;
position: relative;
text-align: center;
text-decoration: none;
text-transform: none;
white-space: nowrap;
}
.tox .tox-button::before {
border-radius: 6px;
bottom: -1px;
box-shadow: inset 0 0 0 2px #fff, 0 0 0 1px #006ce7, 0 0 0 3px rgba(0, 108, 231, 0.25);
content: '';
left: -1px;
opacity: 0;
pointer-events: none;
position: absolute;
right: -1px;
top: -1px;
}
.tox .tox-button[disabled] {
background-color: #006ce7;
background-image: none;
@@ -272,6 +285,9 @@ button::-moz-focus-inner {
box-shadow: none;
color: #fff;
}
.tox .tox-button:focus-visible:not(:disabled)::before {
opacity: 1;
}
.tox .tox-button:hover:not(:disabled) {
background-color: #0060ce;
background-image: none;
@@ -933,8 +949,9 @@ button::-moz-focus-inner {
justify-content: space-between;
}
.tox .tox-comment__date {
color: rgba(34, 47, 62, 0.7);
color: #222f3e;
font-size: 12px;
line-height: 18px;
}
.tox .tox-comment__body {
color: #222f3e;
@@ -1093,20 +1110,30 @@ button::-moz-focus-inner {
.tox .tox-user__avatar svg {
fill: rgba(34, 47, 62, 0.7);
}
.tox .tox-user__avatar img {
border-radius: 50%;
height: 36px;
object-fit: cover;
vertical-align: middle;
width: 36px;
}
.tox .tox-user__name {
color: rgba(34, 47, 62, 0.7);
font-size: 12px;
color: #222f3e;
font-size: 14px;
font-style: normal;
font-weight: bold;
text-transform: uppercase;
line-height: 18px;
text-transform: none;
}
.tox:not([dir=rtl]) .tox-user__avatar svg {
.tox:not([dir=rtl]) .tox-user__avatar svg,
.tox:not([dir=rtl]) .tox-user__avatar img {
margin-right: 8px;
}
.tox:not([dir=rtl]) .tox-user__avatar + .tox-user__name {
margin-left: 8px;
}
.tox[dir=rtl] .tox-user__avatar svg {
.tox[dir=rtl] .tox-user__avatar svg,
.tox[dir=rtl] .tox-user__avatar img {
margin-left: 8px;
}
.tox[dir=rtl] .tox-user__avatar + .tox-user__name {
@@ -1151,10 +1178,11 @@ button::-moz-focus-inner {
width: 95vw;
z-index: 2;
}
@media only screen and (max-width:767px) {
@media only screen and (max-width: 767px ) {
body:not(.tox-force-desktop) .tox .tox-dialog {
align-self: flex-start;
margin: 8px auto;
max-height: calc(100vh - 8px * 2);
width: calc(100vw - 16px);
}
}
@@ -1210,7 +1238,7 @@ button::-moz-focus-inner {
text-align: left;
text-transform: none;
}
@media only screen and (max-width:767px) {
@media only screen and (max-width: 767px ) {
body:not(.tox-force-desktop) .tox .tox-dialog__body {
flex-direction: column;
}
@@ -1221,7 +1249,7 @@ button::-moz-focus-inner {
flex-direction: column;
padding: 16px 16px;
}
@media only screen and (max-width:767px) {
@media only screen and (max-width: 767px ) {
body:not(.tox-force-desktop) .tox .tox-dialog__body-nav {
flex-direction: row;
-webkit-overflow-scrolling: touch;
@@ -1389,6 +1417,9 @@ button::-moz-focus-inner {
padding-bottom: 8px;
padding-top: 8px;
}
.tox .tox-dialog__iframe.tox-dialog__iframe--opaque {
background: #fff;
}
.tox .tox-dialog__popups {
position: absolute;
width: 100%;
@@ -1421,12 +1452,12 @@ button::-moz-focus-inner {
.tox .tox-dialog-dock-transition.tox-dialog-dock-fadein {
transition-delay: 0s;
}
@media only screen and (max-width:767px) {
@media only screen and (max-width: 767px ) {
body:not(.tox-force-desktop) .tox:not([dir=rtl]) .tox-dialog__body-nav {
margin-right: 0;
}
}
@media only screen and (max-width:767px) {
@media only screen and (max-width: 767px ) {
body:not(.tox-force-desktop) .tox:not([dir=rtl]) .tox-dialog__body-nav-item:not(:first-child) {
margin-left: 8px;
}
@@ -1438,12 +1469,12 @@ button::-moz-focus-inner {
.tox[dir=rtl] .tox-dialog__body {
text-align: right;
}
@media only screen and (max-width:767px) {
@media only screen and (max-width: 767px ) {
body:not(.tox-force-desktop) .tox[dir=rtl] .tox-dialog__body-nav {
margin-left: 0;
}
}
@media only screen and (max-width:767px) {
@media only screen and (max-width: 767px ) {
body:not(.tox-force-desktop) .tox[dir=rtl] .tox-dialog__body-nav-item:not(:first-child) {
margin-right: 8px;
}
@@ -1500,6 +1531,8 @@ body.tox-dialog__disable-scroll {
overflow: hidden;
}
.tox .tox-editor-header {
display: grid;
grid-template-columns: 1fr min-content;
z-index: 1;
}
.tox:not(.tox-tinymce-inline) .tox-editor-header {
@@ -1581,8 +1614,7 @@ body.tox-dialog__disable-scroll {
max-width: 25em;
}
.tox .tox-autocompleter .tox-menu {
border-color: #eeeeee;
box-shadow: none;
box-sizing: border-box;
max-width: 25em;
}
.tox .tox-autocompleter .tox-autocompleter-highlight {
@@ -2073,6 +2105,12 @@ body.tox-dialog__disable-scroll {
.tox .tox-menu.tox-collection.tox-collection--grid {
padding: 8px;
}
@media only screen and (min-width: 768px ) {
.tox .tox-menu .tox-collection__item-label {
overflow-wrap: break-word;
word-break: normal;
}
}
.tox .tox-menu__label h1,
.tox .tox-menu__label h2,
.tox .tox-menu__label h3,
@@ -2085,16 +2123,45 @@ body.tox-dialog__disable-scroll {
margin: 0;
}
.tox .tox-menubar {
background: url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='transparent'/%3E%3C/svg%3E") left 0 top 0 #fff;
background: repeating-linear-gradient(transparent 0px 1px, transparent 1px 39px) center top 39px / 100% calc(100% - 39px) no-repeat;
background-color: #fff;
display: flex;
flex: 0 0 auto;
flex-shrink: 0;
flex-wrap: wrap;
grid-column: 1 / -1;
grid-row: 1;
padding: 0 11px 0 12px;
}
.tox.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-menubar {
border-top: 1px solid transparent;
.tox .tox-promotion + .tox-menubar {
grid-column: 1;
}
.tox .tox-promotion {
background: repeating-linear-gradient(transparent 0px 1px, transparent 1px 39px) center top 39px / 100% calc(100% - 39px) no-repeat;
background-color: #fff;
grid-column: 2;
grid-row: 1;
padding-inline-end: 8px;
padding-inline-start: 4px;
padding-top: 5px;
}
.tox .tox-promotion-link {
align-items: unsafe center;
background-color: #E8F1F8;
border-radius: 5px;
color: #086BE6;
cursor: pointer;
display: flex;
font-size: 14px;
height: 26.6px;
padding: 4px 8px;
white-space: nowrap;
}
.tox .tox-promotion-link:hover {
background-color: #B4D7FF;
}
.tox .tox-promotion-link:focus {
background-color: #D9EDF7;
}
/* Deprecated. Remove in next major release */
.tox .tox-mbtn {
@@ -2874,10 +2941,14 @@ body.tox-dialog__disable-scroll {
.tox .tox-toolbar__overflow--shrinking {
transition: opacity 0.3s ease, height 0.2s linear 0.1s, visibility 0s linear 0.3s;
}
.tox .tox-toolbar-overlord,
.tox .tox-anchorbar {
grid-column: 1 / -1;
}
.tox .tox-menubar + .tox-toolbar,
.tox .tox-menubar + .tox-toolbar-overlord {
border-top: 1px solid transparent;
margin-top: 0px;
margin-top: -1px;
padding-bottom: 1px;
padding-top: 1px;
}
Vendored Regular → Executable
+771 -1
View File
File diff suppressed because one or more lines are too long
+5
View File
@@ -1,6 +1,7 @@
body.tox-dialog__disable-scroll {
overflow: hidden;
}
.tox-fullscreen {
border: 0;
height: 100%;
@@ -11,9 +12,11 @@ body.tox-dialog__disable-scroll {
touch-action: pinch-zoom;
width: 100%;
}
.tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle {
display: none;
}
.tox.tox-tinymce.tox-fullscreen,
.tox-shadowhost.tox-fullscreen {
left: 0;
@@ -21,9 +24,11 @@ body.tox-dialog__disable-scroll {
top: 0;
z-index: 1200;
}
.tox.tox-tinymce.tox-fullscreen {
background-color: transparent;
}
.tox-fullscreen .tox.tox-tinymce-aux,
.tox-fullscreen ~ .tox.tox-tinymce-aux {
z-index: 1201;
+10 -1
View File
@@ -1 +1,10 @@
body.tox-dialog__disable-scroll{overflow:hidden}.tox-fullscreen{border:0;height:100%;margin:0;overflow:hidden;overscroll-behavior:none;padding:0;touch-action:pinch-zoom;width:100%}.tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle{display:none}.tox-shadowhost.tox-fullscreen,.tox.tox-tinymce.tox-fullscreen{left:0;position:fixed;top:0;z-index:1200}.tox.tox-tinymce.tox-fullscreen{background-color:transparent}.tox-fullscreen .tox.tox-tinymce-aux,.tox-fullscreen~.tox.tox-tinymce-aux{z-index:1201}
body.tox-dialog__disable-scroll { overflow: hidden; }
.tox-fullscreen { border: 0; height: 100%; margin: 0; overflow: hidden; overscroll-behavior: none; padding: 0; touch-action: pinch-zoom; width: 100%; }
.tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle { display: none; }
.tox-shadowhost.tox-fullscreen,
.tox.tox-tinymce.tox-fullscreen { left: 0; position: fixed; top: 0; z-index: 1200; }
.tox.tox-tinymce.tox-fullscreen { background-color: transparent; }
.tox-fullscreen .tox.tox-tinymce-aux,
.tox-fullscreen ~ .tox.tox-tinymce-aux { z-index: 1201; }
+51 -6
View File
@@ -21,11 +21,28 @@
.mce-content-body .mce-item-anchor[data-mce-selected] {
outline-offset: 1px;
}
.tox-comments-visible .tox-comment {
background-color: #fff0b7;
.tox-comments-visible .tox-comment[contenteditable="false"]:not([data-mce-selected]),
.tox-comments-visible span.tox-comment img:not([data-mce-selected]),
.tox-comments-visible span.tox-comment > audio:not([data-mce-selected]),
.tox-comments-visible span.tox-comment > video:not([data-mce-selected]),
.tox-comments-visible span.tox-comment span.mce-preview-object:not([data-mce-selected]) {
outline: 3px solid #ffe89d;
}
.tox-comments-visible .tox-comment[data-mce-annotation-active="true"]:not([data-mce-selected="inline-boundary"]) {
background-color: #ffe168;
.tox-comments-visible .tox-comment[contenteditable="false"][data-mce-annotation-active="true"]:not([data-mce-selected]) {
outline: 3px solid #fed635;
}
.tox-comments-visible span.tox-comment[data-mce-annotation-active="true"] img:not([data-mce-selected]),
.tox-comments-visible span.tox-comment[data-mce-annotation-active="true"] > audio:not([data-mce-selected]),
.tox-comments-visible span.tox-comment[data-mce-annotation-active="true"] > video:not([data-mce-selected]),
.tox-comments-visible span.tox-comment[data-mce-annotation-active="true"] span.mce-preview-object:not([data-mce-selected]) {
outline: 3px solid #fed635;
}
.tox-comments-visible span.tox-comment:not([data-mce-selected]) {
background-color: #ffe89d;
outline: none;
}
.tox-comments-visible span.tox-comment[data-mce-annotation-active="true"]:not([data-mce-selected="inline-boundary"]) {
background-color: #fed635;
}
.tox-checklist > li:not(.tox-checklist--hidden) {
list-style: none;
@@ -186,6 +203,27 @@ pre[class*="language-"] {
.tox-cursor-format-painter {
cursor: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A"), default;
}
div.mce-footnotes hr {
margin-inline-end: auto;
margin-inline-start: 0;
width: 25%;
}
div.mce-footnotes li > a.mce-footnotes-backlink {
text-decoration: none;
}
@media print {
sup.mce-footnote a {
color: black;
text-decoration: none;
}
div.mce-footnotes {
break-inside: avoid;
width: 100%;
}
div.mce-footnotes li > a.mce-footnotes-backlink {
display: none;
}
}
.mce-content-body figure.align-left {
float: left;
}
@@ -215,6 +253,13 @@ pre[class*="language-"] {
.mce-preview-object[data-mce-selected="2"] .mce-shim {
display: none;
}
.mce-content-body .mce-mergetag:hover {
background-color: rgba(0, 108, 231, 0.3);
}
.mce-content-body .mce-mergetag-affix {
background-color: rgba(0, 108, 231, 0.3);
color: #006ce7;
}
.mce-object {
background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%20fill%3D%22%23cccccc%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;
border: 1px dashed #aaa;
@@ -506,10 +551,10 @@ pre[class*="language-"] {
border-color: rgba(0, 84, 180, 0.7);
}
}
.mce-content-body img::-moz-selection {
.mce-content-body img[data-mce-selected]::-moz-selection {
background: none;
}
.mce-content-body img::selection {
.mce-content-body img[data-mce-selected]::selection {
background: none;
}
.ephox-snooker-resizer-bar {
+51 -6
View File
@@ -21,11 +21,28 @@
.mce-content-body .mce-item-anchor[data-mce-selected] {
outline-offset: 1px;
}
.tox-comments-visible .tox-comment {
background-color: #fff0b7;
.tox-comments-visible .tox-comment[contenteditable="false"]:not([data-mce-selected]),
.tox-comments-visible span.tox-comment img:not([data-mce-selected]),
.tox-comments-visible span.tox-comment > audio:not([data-mce-selected]),
.tox-comments-visible span.tox-comment > video:not([data-mce-selected]),
.tox-comments-visible span.tox-comment span.mce-preview-object:not([data-mce-selected]) {
outline: 3px solid #ffe89d;
}
.tox-comments-visible .tox-comment[data-mce-annotation-active="true"]:not([data-mce-selected="inline-boundary"]) {
background-color: #ffe168;
.tox-comments-visible .tox-comment[contenteditable="false"][data-mce-annotation-active="true"]:not([data-mce-selected]) {
outline: 3px solid #fed635;
}
.tox-comments-visible span.tox-comment[data-mce-annotation-active="true"] img:not([data-mce-selected]),
.tox-comments-visible span.tox-comment[data-mce-annotation-active="true"] > audio:not([data-mce-selected]),
.tox-comments-visible span.tox-comment[data-mce-annotation-active="true"] > video:not([data-mce-selected]),
.tox-comments-visible span.tox-comment[data-mce-annotation-active="true"] span.mce-preview-object:not([data-mce-selected]) {
outline: 3px solid #fed635;
}
.tox-comments-visible span.tox-comment:not([data-mce-selected]) {
background-color: #ffe89d;
outline: none;
}
.tox-comments-visible span.tox-comment[data-mce-annotation-active="true"]:not([data-mce-selected="inline-boundary"]) {
background-color: #fed635;
}
.tox-checklist > li:not(.tox-checklist--hidden) {
list-style: none;
@@ -205,6 +222,27 @@ pre[class*="language-"] {
.tox-cursor-format-painter {
cursor: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A"), default;
}
div.mce-footnotes hr {
margin-inline-end: auto;
margin-inline-start: 0;
width: 25%;
}
div.mce-footnotes li > a.mce-footnotes-backlink {
text-decoration: none;
}
@media print {
sup.mce-footnote a {
color: black;
text-decoration: none;
}
div.mce-footnotes {
break-inside: avoid;
width: 100%;
}
div.mce-footnotes li > a.mce-footnotes-backlink {
display: none;
}
}
.mce-content-body figure.align-left {
float: left;
}
@@ -234,6 +272,13 @@ pre[class*="language-"] {
.mce-preview-object[data-mce-selected="2"] .mce-shim {
display: none;
}
.mce-content-body .mce-mergetag:hover {
background-color: rgba(0, 108, 231, 0.1);
}
.mce-content-body .mce-mergetag-affix {
background-color: rgba(0, 108, 231, 0.1);
color: #006ce7;
}
.mce-object {
background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;
border: 1px dashed #aaa;
@@ -525,10 +570,10 @@ pre[class*="language-"] {
border-color: rgba(0, 84, 180, 0.7);
}
}
.mce-content-body img::-moz-selection {
.mce-content-body img[data-mce-selected]::-moz-selection {
background: none;
}
.mce-content-body img::selection {
.mce-content-body img[data-mce-selected]::selection {
background: none;
}
.ephox-snooker-resizer-bar {
+310 -1
View File
File diff suppressed because one or more lines are too long
+299 -1
View File
File diff suppressed because one or more lines are too long
+98 -18
View File
@@ -252,11 +252,24 @@ button::-moz-focus-inner {
margin: 0;
outline: none;
padding: 4px 16px;
position: relative;
text-align: center;
text-decoration: none;
text-transform: none;
white-space: nowrap;
}
.tox .tox-button::before {
border-radius: 3px;
bottom: -1px;
box-shadow: inset 0 0 0 2px #fff, 0 0 0 1px #207ab7, 0 0 0 3px rgba(32, 122, 183, 0.25);
content: '';
left: -1px;
opacity: 0;
pointer-events: none;
position: absolute;
right: -1px;
top: -1px;
}
.tox .tox-button[disabled] {
background-color: #207ab7;
background-image: none;
@@ -272,6 +285,9 @@ button::-moz-focus-inner {
box-shadow: none;
color: #fff;
}
.tox .tox-button:focus-visible:not(:disabled)::before {
opacity: 1;
}
.tox .tox-button:hover:not(:disabled) {
background-color: #1c6ca1;
background-image: none;
@@ -933,8 +949,9 @@ button::-moz-focus-inner {
justify-content: space-between;
}
.tox .tox-comment__date {
color: rgba(255, 255, 255, 0.5);
color: #fff;
font-size: 12px;
line-height: 18px;
}
.tox .tox-comment__body {
color: #fff;
@@ -1093,20 +1110,30 @@ button::-moz-focus-inner {
.tox .tox-user__avatar svg {
fill: rgba(255, 255, 255, 0.5);
}
.tox .tox-user__avatar img {
border-radius: 50%;
height: 36px;
object-fit: cover;
vertical-align: middle;
width: 36px;
}
.tox .tox-user__name {
color: rgba(255, 255, 255, 0.5);
font-size: 12px;
color: #fff;
font-size: 14px;
font-style: normal;
font-weight: bold;
text-transform: uppercase;
line-height: 18px;
text-transform: none;
}
.tox:not([dir=rtl]) .tox-user__avatar svg {
.tox:not([dir=rtl]) .tox-user__avatar svg,
.tox:not([dir=rtl]) .tox-user__avatar img {
margin-right: 8px;
}
.tox:not([dir=rtl]) .tox-user__avatar + .tox-user__name {
margin-left: 8px;
}
.tox[dir=rtl] .tox-user__avatar svg {
.tox[dir=rtl] .tox-user__avatar svg,
.tox[dir=rtl] .tox-user__avatar img {
margin-left: 8px;
}
.tox[dir=rtl] .tox-user__avatar + .tox-user__name {
@@ -1151,10 +1178,11 @@ button::-moz-focus-inner {
width: 95vw;
z-index: 2;
}
@media only screen and (max-width:767px) {
@media only screen and (max-width: 767px ) {
body:not(.tox-force-desktop) .tox .tox-dialog {
align-self: flex-start;
margin: 8px auto;
max-height: calc(100vh - 8px * 2);
width: calc(100vw - 16px);
}
}
@@ -1210,7 +1238,7 @@ button::-moz-focus-inner {
text-align: left;
text-transform: none;
}
@media only screen and (max-width:767px) {
@media only screen and (max-width: 767px ) {
body:not(.tox-force-desktop) .tox .tox-dialog__body {
flex-direction: column;
}
@@ -1221,7 +1249,7 @@ button::-moz-focus-inner {
flex-direction: column;
padding: 16px 16px;
}
@media only screen and (max-width:767px) {
@media only screen and (max-width: 767px ) {
body:not(.tox-force-desktop) .tox .tox-dialog__body-nav {
flex-direction: row;
-webkit-overflow-scrolling: touch;
@@ -1389,6 +1417,9 @@ button::-moz-focus-inner {
padding-bottom: 8px;
padding-top: 8px;
}
.tox .tox-dialog__iframe.tox-dialog__iframe--opaque {
background: #fff;
}
.tox .tox-dialog__popups {
position: absolute;
width: 100%;
@@ -1421,12 +1452,12 @@ button::-moz-focus-inner {
.tox .tox-dialog-dock-transition.tox-dialog-dock-fadein {
transition-delay: 0s;
}
@media only screen and (max-width:767px) {
@media only screen and (max-width: 767px ) {
body:not(.tox-force-desktop) .tox:not([dir=rtl]) .tox-dialog__body-nav {
margin-right: 0;
}
}
@media only screen and (max-width:767px) {
@media only screen and (max-width: 767px ) {
body:not(.tox-force-desktop) .tox:not([dir=rtl]) .tox-dialog__body-nav-item:not(:first-child) {
margin-left: 8px;
}
@@ -1438,12 +1469,12 @@ button::-moz-focus-inner {
.tox[dir=rtl] .tox-dialog__body {
text-align: right;
}
@media only screen and (max-width:767px) {
@media only screen and (max-width: 767px ) {
body:not(.tox-force-desktop) .tox[dir=rtl] .tox-dialog__body-nav {
margin-left: 0;
}
}
@media only screen and (max-width:767px) {
@media only screen and (max-width: 767px ) {
body:not(.tox-force-desktop) .tox[dir=rtl] .tox-dialog__body-nav-item:not(:first-child) {
margin-right: 8px;
}
@@ -1500,6 +1531,8 @@ body.tox-dialog__disable-scroll {
overflow: hidden;
}
.tox .tox-editor-header {
display: grid;
grid-template-columns: 1fr min-content;
z-index: 1;
}
.tox:not(.tox-tinymce-inline) .tox-editor-header {
@@ -1581,8 +1614,7 @@ body.tox-dialog__disable-scroll {
max-width: 25em;
}
.tox .tox-autocompleter .tox-menu {
border-color: #000000;
box-shadow: none;
box-sizing: border-box;
max-width: 25em;
}
.tox .tox-autocompleter .tox-autocompleter-highlight {
@@ -2073,6 +2105,12 @@ body.tox-dialog__disable-scroll {
.tox .tox-menu.tox-collection.tox-collection--grid {
padding: 4px;
}
@media only screen and (min-width: 768px ) {
.tox .tox-menu .tox-collection__item-label {
overflow-wrap: break-word;
word-break: normal;
}
}
.tox .tox-menu__label h1,
.tox .tox-menu__label h2,
.tox .tox-menu__label h3,
@@ -2091,10 +2129,39 @@ body.tox-dialog__disable-scroll {
flex: 0 0 auto;
flex-shrink: 0;
flex-wrap: wrap;
grid-column: 1 / -1;
grid-row: 1;
padding: 0 4px 0 4px;
}
.tox.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-menubar {
border-top: 1px solid #000000;
.tox .tox-promotion + .tox-menubar {
grid-column: 1;
}
.tox .tox-promotion {
background: url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%23000000'/%3E%3C/svg%3E") left 0 top 0 #222f3e;
background-color: #222f3e;
grid-column: 2;
grid-row: 1;
padding-inline-end: 8px;
padding-inline-start: 4px;
padding-top: 5px;
}
.tox .tox-promotion-link {
align-items: unsafe center;
background-color: #E8F1F8;
border-radius: 5px;
color: #086BE6;
cursor: pointer;
display: flex;
font-size: 14px;
height: 26.6px;
padding: 4px 8px;
white-space: nowrap;
}
.tox .tox-promotion-link:hover {
background-color: #B4D7FF;
}
.tox .tox-promotion-link:focus {
background-color: #D9EDF7;
}
/* Deprecated. Remove in next major release */
.tox .tox-mbtn {
@@ -2874,10 +2941,14 @@ body.tox-dialog__disable-scroll {
.tox .tox-toolbar__overflow--shrinking {
transition: opacity 0.3s ease, height 0.2s linear 0.1s, visibility 0s linear 0.3s;
}
.tox .tox-toolbar-overlord,
.tox .tox-anchorbar {
grid-column: 1 / -1;
}
.tox .tox-menubar + .tox-toolbar,
.tox .tox-menubar + .tox-toolbar-overlord {
border-top: 1px solid #000000;
margin-top: 0;
margin-top: -1px;
padding-bottom: 0px;
padding-top: 0px;
}
@@ -3087,6 +3158,12 @@ body.tox-dialog__disable-scroll {
border: 1px solid #000000;
padding: 0;
}
.tox .tox-pop .tox-pop__dialog .tox-toolbar {
padding: 0;
}
.tox:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-menubar {
border-top: 1px solid #000000;
}
.tox:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-toolbar-overlord:first-child .tox-toolbar__primary,
.tox:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-toolbar:first-child {
border-top: 1px solid #000000;
@@ -3117,3 +3194,6 @@ body.tox-dialog__disable-scroll {
padding-bottom: 0;
padding-right: 0;
}
.tox .tox-button::before {
display: none;
}
+812 -1
View File
File diff suppressed because one or more lines are too long
+5
View File
@@ -1,6 +1,7 @@
body.tox-dialog__disable-scroll {
overflow: hidden;
}
.tox-fullscreen {
border: 0;
height: 100%;
@@ -11,9 +12,11 @@ body.tox-dialog__disable-scroll {
touch-action: pinch-zoom;
width: 100%;
}
.tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle {
display: none;
}
.tox.tox-tinymce.tox-fullscreen,
.tox-shadowhost.tox-fullscreen {
left: 0;
@@ -21,9 +24,11 @@ body.tox-dialog__disable-scroll {
top: 0;
z-index: 1200;
}
.tox.tox-tinymce.tox-fullscreen {
background-color: transparent;
}
.tox-fullscreen .tox.tox-tinymce-aux,
.tox-fullscreen ~ .tox.tox-tinymce-aux {
z-index: 1201;
+10 -1
View File
@@ -1 +1,10 @@
body.tox-dialog__disable-scroll{overflow:hidden}.tox-fullscreen{border:0;height:100%;margin:0;overflow:hidden;overscroll-behavior:none;padding:0;touch-action:pinch-zoom;width:100%}.tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle{display:none}.tox-shadowhost.tox-fullscreen,.tox.tox-tinymce.tox-fullscreen{left:0;position:fixed;top:0;z-index:1200}.tox.tox-tinymce.tox-fullscreen{background-color:transparent}.tox-fullscreen .tox.tox-tinymce-aux,.tox-fullscreen~.tox.tox-tinymce-aux{z-index:1201}
body.tox-dialog__disable-scroll { overflow: hidden; }
.tox-fullscreen { border: 0; height: 100%; margin: 0; overflow: hidden; overscroll-behavior: none; padding: 0; touch-action: pinch-zoom; width: 100%; }
.tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle { display: none; }
.tox-shadowhost.tox-fullscreen,
.tox.tox-tinymce.tox-fullscreen { left: 0; position: fixed; top: 0; z-index: 1200; }
.tox.tox-tinymce.tox-fullscreen { background-color: transparent; }
.tox-fullscreen .tox.tox-tinymce-aux,
.tox-fullscreen ~ .tox.tox-tinymce-aux { z-index: 1201; }
+51 -6
View File
@@ -21,11 +21,28 @@
.mce-content-body .mce-item-anchor[data-mce-selected] {
outline-offset: 1px;
}
.tox-comments-visible .tox-comment {
background-color: #fff0b7;
.tox-comments-visible .tox-comment[contenteditable="false"]:not([data-mce-selected]),
.tox-comments-visible span.tox-comment img:not([data-mce-selected]),
.tox-comments-visible span.tox-comment > audio:not([data-mce-selected]),
.tox-comments-visible span.tox-comment > video:not([data-mce-selected]),
.tox-comments-visible span.tox-comment span.mce-preview-object:not([data-mce-selected]) {
outline: 3px solid #ffe89d;
}
.tox-comments-visible .tox-comment[data-mce-annotation-active="true"]:not([data-mce-selected="inline-boundary"]) {
background-color: #ffe168;
.tox-comments-visible .tox-comment[contenteditable="false"][data-mce-annotation-active="true"]:not([data-mce-selected]) {
outline: 3px solid #fed635;
}
.tox-comments-visible span.tox-comment[data-mce-annotation-active="true"] img:not([data-mce-selected]),
.tox-comments-visible span.tox-comment[data-mce-annotation-active="true"] > audio:not([data-mce-selected]),
.tox-comments-visible span.tox-comment[data-mce-annotation-active="true"] > video:not([data-mce-selected]),
.tox-comments-visible span.tox-comment[data-mce-annotation-active="true"] span.mce-preview-object:not([data-mce-selected]) {
outline: 3px solid #fed635;
}
.tox-comments-visible span.tox-comment:not([data-mce-selected]) {
background-color: #ffe89d;
outline: none;
}
.tox-comments-visible span.tox-comment[data-mce-annotation-active="true"]:not([data-mce-selected="inline-boundary"]) {
background-color: #fed635;
}
.tox-checklist > li:not(.tox-checklist--hidden) {
list-style: none;
@@ -205,6 +222,27 @@ pre[class*="language-"] {
.tox-cursor-format-painter {
cursor: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A"), default;
}
div.mce-footnotes hr {
margin-inline-end: auto;
margin-inline-start: 0;
width: 25%;
}
div.mce-footnotes li > a.mce-footnotes-backlink {
text-decoration: none;
}
@media print {
sup.mce-footnote a {
color: black;
text-decoration: none;
}
div.mce-footnotes {
break-inside: avoid;
width: 100%;
}
div.mce-footnotes li > a.mce-footnotes-backlink {
display: none;
}
}
.mce-content-body figure.align-left {
float: left;
}
@@ -234,6 +272,13 @@ pre[class*="language-"] {
.mce-preview-object[data-mce-selected="2"] .mce-shim {
display: none;
}
.mce-content-body .mce-mergetag:hover {
background-color: rgba(0, 108, 231, 0.1);
}
.mce-content-body .mce-mergetag-affix {
background-color: rgba(0, 108, 231, 0.1);
color: #006ce7;
}
.mce-object {
background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;
border: 1px dashed #aaa;
@@ -525,10 +570,10 @@ pre[class*="language-"] {
border-color: rgba(0, 84, 180, 0.7);
}
}
.mce-content-body img::-moz-selection {
.mce-content-body img[data-mce-selected]::-moz-selection {
background: none;
}
.mce-content-body img::selection {
.mce-content-body img[data-mce-selected]::selection {
background: none;
}
.ephox-snooker-resizer-bar {
+51 -6
View File
@@ -21,11 +21,28 @@
.mce-content-body .mce-item-anchor[data-mce-selected] {
outline-offset: 1px;
}
.tox-comments-visible .tox-comment {
background-color: #fff0b7;
.tox-comments-visible .tox-comment[contenteditable="false"]:not([data-mce-selected]),
.tox-comments-visible span.tox-comment img:not([data-mce-selected]),
.tox-comments-visible span.tox-comment > audio:not([data-mce-selected]),
.tox-comments-visible span.tox-comment > video:not([data-mce-selected]),
.tox-comments-visible span.tox-comment span.mce-preview-object:not([data-mce-selected]) {
outline: 3px solid #ffe89d;
}
.tox-comments-visible .tox-comment[data-mce-annotation-active="true"]:not([data-mce-selected="inline-boundary"]) {
background-color: #ffe168;
.tox-comments-visible .tox-comment[contenteditable="false"][data-mce-annotation-active="true"]:not([data-mce-selected]) {
outline: 3px solid #fed635;
}
.tox-comments-visible span.tox-comment[data-mce-annotation-active="true"] img:not([data-mce-selected]),
.tox-comments-visible span.tox-comment[data-mce-annotation-active="true"] > audio:not([data-mce-selected]),
.tox-comments-visible span.tox-comment[data-mce-annotation-active="true"] > video:not([data-mce-selected]),
.tox-comments-visible span.tox-comment[data-mce-annotation-active="true"] span.mce-preview-object:not([data-mce-selected]) {
outline: 3px solid #fed635;
}
.tox-comments-visible span.tox-comment:not([data-mce-selected]) {
background-color: #ffe89d;
outline: none;
}
.tox-comments-visible span.tox-comment[data-mce-annotation-active="true"]:not([data-mce-selected="inline-boundary"]) {
background-color: #fed635;
}
.tox-checklist > li:not(.tox-checklist--hidden) {
list-style: none;
@@ -205,6 +222,27 @@ pre[class*="language-"] {
.tox-cursor-format-painter {
cursor: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A"), default;
}
div.mce-footnotes hr {
margin-inline-end: auto;
margin-inline-start: 0;
width: 25%;
}
div.mce-footnotes li > a.mce-footnotes-backlink {
text-decoration: none;
}
@media print {
sup.mce-footnote a {
color: black;
text-decoration: none;
}
div.mce-footnotes {
break-inside: avoid;
width: 100%;
}
div.mce-footnotes li > a.mce-footnotes-backlink {
display: none;
}
}
.mce-content-body figure.align-left {
float: left;
}
@@ -234,6 +272,13 @@ pre[class*="language-"] {
.mce-preview-object[data-mce-selected="2"] .mce-shim {
display: none;
}
.mce-content-body .mce-mergetag:hover {
background-color: rgba(0, 108, 231, 0.1);
}
.mce-content-body .mce-mergetag-affix {
background-color: rgba(0, 108, 231, 0.1);
color: #006ce7;
}
.mce-object {
background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;
border: 1px dashed #aaa;
@@ -525,10 +570,10 @@ pre[class*="language-"] {
border-color: rgba(0, 84, 180, 0.7);
}
}
.mce-content-body img::-moz-selection {
.mce-content-body img[data-mce-selected]::-moz-selection {
background: none;
}
.mce-content-body img::selection {
.mce-content-body img[data-mce-selected]::selection {
background: none;
}
.ephox-snooker-resizer-bar {
+310 -1
View File
File diff suppressed because one or more lines are too long
+312 -1
View File
File diff suppressed because one or more lines are too long
+99 -19
View File
@@ -252,11 +252,24 @@ button::-moz-focus-inner {
margin: 0;
outline: none;
padding: 4px 16px;
position: relative;
text-align: center;
text-decoration: none;
text-transform: none;
white-space: nowrap;
}
.tox .tox-button::before {
border-radius: 3px;
bottom: -1px;
box-shadow: inset 0 0 0 2px #fff, 0 0 0 1px #207ab7, 0 0 0 3px rgba(32, 122, 183, 0.25);
content: '';
left: -1px;
opacity: 0;
pointer-events: none;
position: absolute;
right: -1px;
top: -1px;
}
.tox .tox-button[disabled] {
background-color: #207ab7;
background-image: none;
@@ -272,6 +285,9 @@ button::-moz-focus-inner {
box-shadow: none;
color: #fff;
}
.tox .tox-button:focus-visible:not(:disabled)::before {
opacity: 1;
}
.tox .tox-button:hover:not(:disabled) {
background-color: #1c6ca1;
background-image: none;
@@ -933,8 +949,9 @@ button::-moz-focus-inner {
justify-content: space-between;
}
.tox .tox-comment__date {
color: rgba(34, 47, 62, 0.7);
color: #222f3e;
font-size: 12px;
line-height: 18px;
}
.tox .tox-comment__body {
color: #222f3e;
@@ -1093,20 +1110,30 @@ button::-moz-focus-inner {
.tox .tox-user__avatar svg {
fill: rgba(34, 47, 62, 0.7);
}
.tox .tox-user__avatar img {
border-radius: 50%;
height: 36px;
object-fit: cover;
vertical-align: middle;
width: 36px;
}
.tox .tox-user__name {
color: rgba(34, 47, 62, 0.7);
font-size: 12px;
color: #222f3e;
font-size: 14px;
font-style: normal;
font-weight: bold;
text-transform: uppercase;
line-height: 18px;
text-transform: none;
}
.tox:not([dir=rtl]) .tox-user__avatar svg {
.tox:not([dir=rtl]) .tox-user__avatar svg,
.tox:not([dir=rtl]) .tox-user__avatar img {
margin-right: 8px;
}
.tox:not([dir=rtl]) .tox-user__avatar + .tox-user__name {
margin-left: 8px;
}
.tox[dir=rtl] .tox-user__avatar svg {
.tox[dir=rtl] .tox-user__avatar svg,
.tox[dir=rtl] .tox-user__avatar img {
margin-left: 8px;
}
.tox[dir=rtl] .tox-user__avatar + .tox-user__name {
@@ -1151,10 +1178,11 @@ button::-moz-focus-inner {
width: 95vw;
z-index: 2;
}
@media only screen and (max-width:767px) {
@media only screen and (max-width: 767px ) {
body:not(.tox-force-desktop) .tox .tox-dialog {
align-self: flex-start;
margin: 8px auto;
max-height: calc(100vh - 8px * 2);
width: calc(100vw - 16px);
}
}
@@ -1210,7 +1238,7 @@ button::-moz-focus-inner {
text-align: left;
text-transform: none;
}
@media only screen and (max-width:767px) {
@media only screen and (max-width: 767px ) {
body:not(.tox-force-desktop) .tox .tox-dialog__body {
flex-direction: column;
}
@@ -1221,7 +1249,7 @@ button::-moz-focus-inner {
flex-direction: column;
padding: 16px 16px;
}
@media only screen and (max-width:767px) {
@media only screen and (max-width: 767px ) {
body:not(.tox-force-desktop) .tox .tox-dialog__body-nav {
flex-direction: row;
-webkit-overflow-scrolling: touch;
@@ -1389,6 +1417,9 @@ button::-moz-focus-inner {
padding-bottom: 8px;
padding-top: 8px;
}
.tox .tox-dialog__iframe.tox-dialog__iframe--opaque {
background: #fff;
}
.tox .tox-dialog__popups {
position: absolute;
width: 100%;
@@ -1421,12 +1452,12 @@ button::-moz-focus-inner {
.tox .tox-dialog-dock-transition.tox-dialog-dock-fadein {
transition-delay: 0s;
}
@media only screen and (max-width:767px) {
@media only screen and (max-width: 767px ) {
body:not(.tox-force-desktop) .tox:not([dir=rtl]) .tox-dialog__body-nav {
margin-right: 0;
}
}
@media only screen and (max-width:767px) {
@media only screen and (max-width: 767px ) {
body:not(.tox-force-desktop) .tox:not([dir=rtl]) .tox-dialog__body-nav-item:not(:first-child) {
margin-left: 8px;
}
@@ -1438,12 +1469,12 @@ button::-moz-focus-inner {
.tox[dir=rtl] .tox-dialog__body {
text-align: right;
}
@media only screen and (max-width:767px) {
@media only screen and (max-width: 767px ) {
body:not(.tox-force-desktop) .tox[dir=rtl] .tox-dialog__body-nav {
margin-left: 0;
}
}
@media only screen and (max-width:767px) {
@media only screen and (max-width: 767px ) {
body:not(.tox-force-desktop) .tox[dir=rtl] .tox-dialog__body-nav-item:not(:first-child) {
margin-right: 8px;
}
@@ -1500,6 +1531,8 @@ body.tox-dialog__disable-scroll {
overflow: hidden;
}
.tox .tox-editor-header {
display: grid;
grid-template-columns: 1fr min-content;
z-index: 1;
}
.tox:not(.tox-tinymce-inline) .tox-editor-header {
@@ -1510,7 +1543,7 @@ body.tox-dialog__disable-scroll {
transition: box-shadow 0.5s;
}
.tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-bottom .tox-editor-header {
border-top: 1px solid #c1c1c1;
border-top: 1px solid #cccccc;
box-shadow: none;
}
.tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-sticky-on .tox-editor-header {
@@ -1581,8 +1614,7 @@ body.tox-dialog__disable-scroll {
max-width: 25em;
}
.tox .tox-autocompleter .tox-menu {
border-color: #cccccc;
box-shadow: none;
box-sizing: border-box;
max-width: 25em;
}
.tox .tox-autocompleter .tox-autocompleter-highlight {
@@ -2073,6 +2105,12 @@ body.tox-dialog__disable-scroll {
.tox .tox-menu.tox-collection.tox-collection--grid {
padding: 4px;
}
@media only screen and (min-width: 768px ) {
.tox .tox-menu .tox-collection__item-label {
overflow-wrap: break-word;
word-break: normal;
}
}
.tox .tox-menu__label h1,
.tox .tox-menu__label h2,
.tox .tox-menu__label h3,
@@ -2091,10 +2129,39 @@ body.tox-dialog__disable-scroll {
flex: 0 0 auto;
flex-shrink: 0;
flex-wrap: wrap;
grid-column: 1 / -1;
grid-row: 1;
padding: 0 4px 0 4px;
}
.tox.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-menubar {
border-top: 1px solid #cccccc;
.tox .tox-promotion + .tox-menubar {
grid-column: 1;
}
.tox .tox-promotion {
background: url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%23cccccc'/%3E%3C/svg%3E") left 0 top 0 #fff;
background-color: #fff;
grid-column: 2;
grid-row: 1;
padding-inline-end: 8px;
padding-inline-start: 4px;
padding-top: 5px;
}
.tox .tox-promotion-link {
align-items: unsafe center;
background-color: #E8F1F8;
border-radius: 5px;
color: #086BE6;
cursor: pointer;
display: flex;
font-size: 14px;
height: 26.6px;
padding: 4px 8px;
white-space: nowrap;
}
.tox .tox-promotion-link:hover {
background-color: #B4D7FF;
}
.tox .tox-promotion-link:focus {
background-color: #D9EDF7;
}
/* Deprecated. Remove in next major release */
.tox .tox-mbtn {
@@ -2874,10 +2941,14 @@ body.tox-dialog__disable-scroll {
.tox .tox-toolbar__overflow--shrinking {
transition: opacity 0.3s ease, height 0.2s linear 0.1s, visibility 0s linear 0.3s;
}
.tox .tox-toolbar-overlord,
.tox .tox-anchorbar {
grid-column: 1 / -1;
}
.tox .tox-menubar + .tox-toolbar,
.tox .tox-menubar + .tox-toolbar-overlord {
border-top: 1px solid #cccccc;
margin-top: 0;
margin-top: -1px;
padding-bottom: 0px;
padding-top: 0px;
}
@@ -3087,6 +3158,12 @@ body.tox-dialog__disable-scroll {
border: 1px solid #cccccc;
padding: 0;
}
.tox .tox-pop .tox-pop__dialog .tox-toolbar {
padding: 0;
}
.tox:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-menubar {
border-top: 1px solid #cccccc;
}
.tox:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-toolbar-overlord:first-child .tox-toolbar__primary,
.tox:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-toolbar:first-child {
border-top: 1px solid #cccccc;
@@ -3117,3 +3194,6 @@ body.tox-dialog__disable-scroll {
padding-bottom: 0;
padding-right: 0;
}
.tox .tox-button::before {
display: none;
}
Vendored Regular → Executable
+812 -1
View File
File diff suppressed because one or more lines are too long
+5
View File
@@ -1,6 +1,7 @@
body.tox-dialog__disable-scroll {
overflow: hidden;
}
.tox-fullscreen {
border: 0;
height: 100%;
@@ -11,9 +12,11 @@ body.tox-dialog__disable-scroll {
touch-action: pinch-zoom;
width: 100%;
}
.tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle {
display: none;
}
.tox.tox-tinymce.tox-fullscreen,
.tox-shadowhost.tox-fullscreen {
left: 0;
@@ -21,9 +24,11 @@ body.tox-dialog__disable-scroll {
top: 0;
z-index: 1200;
}
.tox.tox-tinymce.tox-fullscreen {
background-color: transparent;
}
.tox-fullscreen .tox.tox-tinymce-aux,
.tox-fullscreen ~ .tox.tox-tinymce-aux {
z-index: 1201;
+10 -1
View File
@@ -1 +1,10 @@
body.tox-dialog__disable-scroll{overflow:hidden}.tox-fullscreen{border:0;height:100%;margin:0;overflow:hidden;overscroll-behavior:none;padding:0;touch-action:pinch-zoom;width:100%}.tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle{display:none}.tox-shadowhost.tox-fullscreen,.tox.tox-tinymce.tox-fullscreen{left:0;position:fixed;top:0;z-index:1200}.tox.tox-tinymce.tox-fullscreen{background-color:transparent}.tox-fullscreen .tox.tox-tinymce-aux,.tox-fullscreen~.tox.tox-tinymce-aux{z-index:1201}
body.tox-dialog__disable-scroll { overflow: hidden; }
.tox-fullscreen { border: 0; height: 100%; margin: 0; overflow: hidden; overscroll-behavior: none; padding: 0; touch-action: pinch-zoom; width: 100%; }
.tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle { display: none; }
.tox-shadowhost.tox-fullscreen,
.tox.tox-tinymce.tox-fullscreen { left: 0; position: fixed; top: 0; z-index: 1200; }
.tox.tox-tinymce.tox-fullscreen { background-color: transparent; }
.tox-fullscreen .tox.tox-tinymce-aux,
.tox-fullscreen ~ .tox.tox-tinymce-aux { z-index: 1201; }
+108
View File
@@ -0,0 +1,108 @@
import { spawn } from 'node:child_process'
import path from 'node:path'
import process from 'node:process'
import * as p from '@clack/prompts'
import { lookupCollection, lookupCollections } from '@iconify/json'
import fs from 'fs-extra'
// 拿到全部图标集的原始数据
const raw = await lookupCollections()
let lastChoose = fs.readFileSync(path.resolve(process.cwd(), 'src/iconify/index.json'), 'utf-8')
lastChoose = JSON.parse(lastChoose)
// 取出可使用的图标集数据用于选择,并按名称排序
const collections = Object.entries(raw).map(([id, item]) => ({
...item,
id,
})).sort((a, b) => a.name.localeCompare(b.name))
p.intro('图标集生成工具')
/**
* 分别会在对应目录下生成以下文件,其中(1)(3)用于离线下载并安装图标,(2)用于图标选择器使用
* (1) src/iconify/index.json 记录用户交互信息
* (2) src/iconify/data.json 包含多个图标集数据,仅记录图标名
* (3) public/icons/*-raw.json 多个图标集的原始数据,独立存放,用于离线使用
*/
const answers = await p.group(
{
collections: () =>
p.multiselect({
message: '请选择需要生成的图标集',
options: collections.map(item => ({
label: item.name,
value: item.id,
hint: `${item.total} 个图标`,
})),
initialValues: lastChoose.collections,
}),
isOfflineUse: () =>
p.confirm({
message: '是否需要离线使用',
initialValue: false,
}),
},
{
onCancel: () => {
p.cancel('操作已取消')
process.exit(0)
},
},
)
const spinner = p.spinner()
spinner.start('正在生成图标集...')
await fs.writeJSON(
path.resolve(process.cwd(), 'src/iconify/index.json'),
{
collections: answers.collections,
isOfflineUse: answers.isOfflineUse,
},
)
const outputDir = path.resolve(process.cwd(), 'public/icons')
await fs.ensureDir(outputDir)
await fs.emptyDir(outputDir)
const collectionsMeta: object[] = []
for (const info of answers.collections) {
const setData = await lookupCollection(info)
collectionsMeta.push({
prefix: setData.prefix,
info: setData.info,
icons: Object.keys(setData.icons),
})
const offlineFilePath = path.join(outputDir, `${info}-raw.json`)
if (answers.isOfflineUse) {
await fs.writeJSON(offlineFilePath, setData)
}
}
await fs.writeJSON(
path.resolve(process.cwd(), 'src/iconify/data.json'),
collectionsMeta,
)
// 使用 spawn 运行 eslint
const eslint = spawn('eslint', ['src/iconify/data.json', 'src/iconify/index.json', '--cache', '--fix'], {
stdio: 'inherit',
shell: true,
})
eslint.on('error', (err) => {
p.log.error(`ESLint 执行失败: ${err.message}`)
process.exit(1)
})
eslint.on('close', (code) => {
if (code !== 0) {
p.log.error(`ESLint 执行失败,退出码: ${code}`)
process.exit(code)
}
spinner.stop('图标集生成完成!')
})
-15
View File
@@ -1,15 +0,0 @@
import path from 'node:path'
import fs from 'fs-extra'
import { icons } from '@iconify-json/ep'
async function prepare() {
const outputDir = path.resolve(process.cwd(), 'public/icons')
await fs.ensureDir(outputDir)
await fs.emptyDir(outputDir)
await fs.writeJSON(
path.resolve(outputDir, 'icons.json'),
icons,
)
}
prepare()
-66
View File
@@ -1,66 +0,0 @@
{
// Default options
'functions': true,
'variableNameTransforms': ['dasherize']
}
{{#block "sprites"}}
{{#each sprites}}
${{../spritesheet_info.strings.name}}-sprite-{{strings.name}}: ({{px.x}}, {{px.y}}, {{px.offset_x}}, {{px.offset_y}}, {{px.width}}, {{px.height}}, {{px.total_width}}, {{px.total_height}}, '{{{escaped_image}}}', '{{name}}');
{{/each}}
${{spritesheet_info.strings.name}}-sprites: (
{{#each sprites}}
{{strings.name}}: ${{../spritesheet_info.strings.name}}-sprite-{{strings.name}},
{{/each}}
);
{{/block}}
{{#block "sprite-functions"}}
{{#if options.functions}}
@mixin {{spritesheet_info.strings.name}}-sprite-width($sprite) {
width: nth($sprite, 5);
}
@mixin {{spritesheet_info.strings.name}}-sprite-height($sprite) {
height: nth($sprite, 6);
}
@mixin {{spritesheet_info.strings.name}}-sprite-position($sprite) {
$sprite-offset-x: nth($sprite, 3);
$sprite-offset-y: nth($sprite, 4);
background-position: $sprite-offset-x $sprite-offset-y;
}
@mixin {{spritesheet_info.strings.name}}-sprite-size($sprite) {
background-size: nth($sprite, 7) nth($sprite, 8);
}
@mixin {{spritesheet_info.strings.name}}-sprite-image($sprite) {
$sprite-image: nth($sprite, 9);
background-image: url(#{$sprite-image});
}
@mixin {{spritesheet_info.strings.name}}-sprite($name) {
@include {{spritesheet_info.strings.name}}-sprite-image(map-get(${{spritesheet_info.strings.name}}-sprites, #{$name}));
@include {{spritesheet_info.strings.name}}-sprite-position(map-get(${{spritesheet_info.strings.name}}-sprites, #{$name}));
@include {{spritesheet_info.strings.name}}-sprite-size(map-get(${{spritesheet_info.strings.name}}-sprites, #{$name}));
@include {{spritesheet_info.strings.name}}-sprite-width(map-get(${{spritesheet_info.strings.name}}-sprites, #{$name}));
@include {{spritesheet_info.strings.name}}-sprite-height(map-get(${{spritesheet_info.strings.name}}-sprites, #{$name}));
background-repeat: no-repeat;
}
{{/if}}
{{/block}}
{{#block "spritesheet-functions"}}
{{#if options.functions}}
@mixin all-{{spritesheet_info.strings.name}}-sprites() {
@each $key, $val in ${{spritesheet_info.strings.name}}-sprites {
$sprite-name: nth($val, 10);
.{{spritesheet_info.strings.name}}-#{$sprite-name}-sprites {
@include {{spritesheet_info.strings.name}}-sprite($key);
}
}
}
{{/if}}
{{/block}}
Regular → Executable
+27 -73
View File
@@ -1,72 +1,27 @@
<script lang="ts" setup>
import zhCn from 'element-plus/es/locale/lang/zh-cn'
import hotkeys from 'hotkeys-js'
import eventBus from './utils/eventBus'
import useSettingsStore from '@/store/modules/settings'
import useMenuStore from '@/store/modules/menu'
<script setup lang="ts">
import { ua } from '@/utils/ua'
import Provider from './ui/provider/index.vue'
const route = useRoute()
const settingsStore = useSettingsStore()
const { auth } = useAuth()
const buttonConfig = ref({
autoInsertSpace: true,
})
document.body.setAttribute('data-os', ua.getOS().name || '')
// 侧边栏主导航当前实际宽度
const mainSidebarActualWidth = computed(() => {
let actualWidth = parseInt(getComputedStyle(document.documentElement).getPropertyValue('--g-main-sidebar-width'))
if (['head', 'single'].includes(settingsStore.menu.menuMode))
actualWidth = 0
return `${actualWidth}px`
})
// 侧边栏次导航当前实际宽度
const subSidebarActualWidth = computed(() => {
let actualWidth = parseInt(getComputedStyle(document.documentElement).getPropertyValue('--g-sub-sidebar-width'))
if (settingsStore.menu.subMenuCollapse)
actualWidth = 64
return `${actualWidth}px`
})
watch(() => settingsStore.app.colorScheme, () => {
if (settingsStore.app.colorScheme === 'dark')
document.documentElement.classList.add('dark')
else
document.documentElement.classList.remove('dark')
}, {
immediate: true,
})
watch(() => settingsStore.mode, () => {
if (settingsStore.mode === 'pc') {
settingsStore.$patch((state) => {
state.menu.subMenuCollapse = settingsStore.subMenuCollapseLastStatus
})
}
else if (settingsStore.mode === 'mobile') {
settingsStore.$patch((state) => {
state.menu.subMenuCollapse = true
})
}
document.body.setAttribute('data-mode', settingsStore.mode)
}, {
immediate: true,
})
watch(() => settingsStore.menu.menuMode, () => {
document.body.setAttribute('data-menu-mode', settingsStore.menu.menuMode)
}, {
immediate: true,
const isAuth = computed(() => {
return route.matched.every((item) => {
return auth(item.meta.auth ?? '')
})
})
// 设置网页 title
watch([
() => settingsStore.app.enableDynamicTitle,
() => settingsStore.settings.app.enableDynamicTitle,
() => settingsStore.title,
], () => {
if (settingsStore.app.enableDynamicTitle && settingsStore.title) {
const title = settingsStore.title
if (settingsStore.settings.app.enableDynamicTitle && settingsStore.title) {
const title = typeof settingsStore.title === 'function' ? settingsStore.title() : settingsStore.title
document.title = `${title} - ${import.meta.env.VITE_APP_TITLE}`
}
else {
@@ -74,27 +29,26 @@ watch([
}
}, {
immediate: true,
deep: true,
})
onMounted(() => {
settingsStore.setMode(document.documentElement.clientWidth)
window.onresize = () => {
window.addEventListener('resize', () => {
settingsStore.setMode(document.documentElement.clientWidth)
}
hotkeys('alt+i', () => {
eventBus.emit('global-system-info-toggle')
})
})
</script>
<template>
<el-config-provider :locale="zhCn" :size="settingsStore.app.elementSize" :button="buttonConfig">
<RouterView
:style="{
'--g-main-sidebar-actual-width': mainSidebarActualWidth,
'--g-sub-sidebar-actual-width': subSidebarActualWidth,
}"
/>
<system-info />
</el-config-provider>
<Provider>
<RouterView v-slot="{ Component }">
<component :is="Component" v-if="isAuth" />
<FaNotAllowed v-else />
</RouterView>
<FaBackToTop />
<FaToast />
<FaNotification />
<FaSystemInfo />
</Provider>
</template>
Regular → Executable
+74 -43
View File
@@ -1,33 +1,35 @@
import axios from 'axios'
// import qs from 'qs'
import router from '@/router/index'
import useUserStore from '@/store/modules/user'
import { toast } from 'vue-sonner'
const toLogin = () => {
router.push({
path: '/login',
query: {
redirect: router.currentRoute.value.path !== '/login' ? router.currentRoute.value.fullPath : undefined,
},
})
// 请求重试配置
const MAX_RETRY_COUNT = 3 // 最大重试次数
const RETRY_DELAY = 1000 // 重试延迟时间(毫秒)
// 扩展 AxiosRequestConfig 类型
declare module 'axios' {
export interface AxiosRequestConfig {
retry?: boolean
retryCount?: number
}
}
const api = axios.create({
baseURL: import.meta.env.DEV && import.meta.env.VITE_OPEN_PROXY === 'true' ? '/proxy/' : import.meta.env.VITE_APP_API_BASEURL,
timeout: 10000,
baseURL: (import.meta.env.DEV && import.meta.env.VITE_OPEN_PROXY) ? '/proxy/' : import.meta.env.VITE_APP_API_BASEURL,
timeout: 1000 * 60,
responseType: 'json',
})
api.interceptors.request.use(
(request) => {
// 全局拦截请求发送前提交的参数
const userStore = useUserStore()
/**
* 全局拦截请求发送前提交的参数
* 以下代码为示例,在请求头里带上 token 信息
*/
if (userStore.isLogin && request.headers)
request.headers.Token = userStore.token
// 设置请求头
if (request.headers) {
if (userStore.isLogin) {
request.headers.Token = userStore.token
}
}
// 是否将 POST 请求参数进行字符串化处理
if (request.method === 'post') {
// request.data = qs.stringify(request.data, {
@@ -38,45 +40,74 @@ api.interceptors.request.use(
},
)
// 处理错误信息的函数
function handleError(error: any) {
if (error.status === 401) {
useUserStore().requestLogout()
}
else {
let message = error.message
if (message === 'Network Error') {
message = '后端网络故障'
}
else if (message.includes('timeout')) {
message = '接口请求超时'
}
else if (message.includes('Request failed with status code')) {
message = `接口${message.substr(message.length - 3)}异常`
}
toast.error('Error', {
description: message,
})
}
return Promise.reject(error)
}
api.interceptors.response.use(
(response) => {
/**
* 全局拦截请求发送后返回的数据,如果数据有报错则在这做全局的错误提示
* 假设返回数据格式为:{ status: 1, error: '', data: '' }
* 假设返回数据格式为:{ status: 1, error: '', data: {} }
* 规则是当 status 为 1 时表示请求成功,为 0 时表示接口需要登录或者登录状态失效,需要重新登录
* 请求出错时 error 会返回错误信息
*/
if (response.data.status === 1) {
if (response.data.error === '') {
// 请求成功并且没有报错
return Promise.resolve(response.data)
if (typeof response.data === 'object') {
if (response.data.status === 1) {
if (response.data.error !== '') {
toast.warning('Warning', {
description: response.data.error,
})
return Promise.reject(response.data)
}
}
else {
// 这里做错误提示,如果使用了 element plus 则可以使用 Message 进行提示
// ElMessage.error(options)
return Promise.reject(response.data)
useUserStore().requestLogout()
}
return Promise.resolve(response.data)
}
else {
toLogin()
return Promise.reject(response.data)
}
},
(error) => {
let message = error.message
if (message === 'Network Error')
message = '后端网络故障'
else if (message.includes('timeout'))
message = '接口请求超时'
else if (message.includes('Request failed with status code'))
message = `接口${message.substr(message.length - 3)}异常`
ElMessage({
message,
type: 'error',
})
return Promise.reject(error)
async (error) => {
// 获取请求配置
const config = error.config
// 如果配置不存在或未启用重试,则直接处理错误
if (!config || !config.retry) {
return handleError(error)
}
// 设置重试次数
config.retryCount = config.retryCount || 0
// 判断是否超过重试次数
if (config.retryCount >= MAX_RETRY_COUNT) {
return handleError(error)
}
// 重试次数自增
config.retryCount += 1
// 延迟重试
await new Promise(resolve => setTimeout(resolve, RETRY_DELAY))
// 重新发起请求
return api(config)
},
)
+13
View File
@@ -0,0 +1,13 @@
import api from '../index'
export default {
// 后端获取路由数据
routeList: () => api.get('app/route/list', {
baseURL: '/mock/',
}),
// 基于文件系统路由模式下,后端获取导航菜单数据
menuList: () => api.get('app/menu/list', {
baseURL: '/mock/',
}),
}
+24
View File
@@ -0,0 +1,24 @@
import api from '../index'
export default {
// 登录
login: (data: {
account: string
password: string
}) => api.post('user/login', data, {
baseURL: '/mock/',
}),
// 获取权限
permission: () => api.get('user/permission', {
baseURL: '/mock/',
}),
// 修改密码
passwordEdit: (data: {
password: string
newPassword: string
}) => api.post('user/password/edit', data, {
baseURL: '/mock/',
}),
}
+1
View File
File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 6.0 KiB

Regular → Executable
+1 -1
View File
File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 6.5 KiB

After

Width:  |  Height:  |  Size: 6.4 KiB

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200" class="icon" viewBox="0 0 1024 1024"><path fill="#dca54f" d="m136.533 273.067 669.048 422.058c10.65 6.725 15.838 20.48 12.697 33.588-3.106 13.073-13.824 22.186-26.077 22.22H238.42c-27.306 0-50.346-22.425-53.726-52.326l-48.162-425.54z"/><path fill="#dca54f" d="M834.219 698.607c-3.345 29.9-26.385 52.326-53.692 52.326H245.794c-12.288 0-41.984-9.113-45.124-22.186-3.175-13.073 2.048-26.863 12.697-33.588l668.98-422.092-48.128 425.506z"/><path fill="#e7b15c" d="m512 170.667 298.428 490.598a61.44 61.44 0 0 1 2.184 59.324c-9.489 18.705-27.818 30.344-47.718 30.344H512z"/><path fill="#f2d59c" d="M512 170.667 196.062 666.01a61.44 61.44 0 0 0-2.185 59.323c9.49 18.705 27.341 25.6 47.24 25.6H512z"/><path fill="#e7b15c" d="M459.776 153.327c0 18.193 9.967 34.987 26.112 44.1a53.35 53.35 0 0 0 52.224 0c16.145-9.113 26.112-25.941 26.112-44.1 0-28.126-23.381-50.927-52.224-50.927s-52.224 22.801-52.224 50.927M851.319 255.18c-.41 18.432 9.455 35.67 25.771 45.022 16.316 9.318 36.523 9.318 52.873 0 16.315-9.353 26.18-26.59 25.77-45.056-.614-27.648-23.825-49.8-52.224-49.8-28.364 0-51.541 22.152-52.19 49.834m-783.018 0c-.444 18.432 9.42 35.67 25.736 45.022 16.316 9.318 36.523 9.318 52.873 0 16.316-9.353 26.18-26.59 25.77-45.056-.614-27.648-23.825-49.8-52.223-49.8-28.365 0-51.542 22.152-52.19 49.834z"/><path fill="#dca54f" d="M238.933 819.2h546.134q34.133 0 34.133 34.133t-34.133 34.134H238.933q-34.133 0-34.133-34.134t34.133-34.133"/></svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

Some files were not shown because too many files have changed in this diff Show More