jky-component-lib 0.0.107 → 0.0.108

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,14 +1,7 @@
1
- /* AMap 高德地图组件样式 */
2
- .jky-amap-container {
3
- /* 地图容器样式 */
4
- position: relative;
5
- overflow: hidden;
6
1
 
7
- /* 隐藏高德地图的 logo 和版权信息(注意:商业使用请遵守高德地图条款) */
8
- .amap-logo {
9
- display: none !important;
10
- }
11
- .amap-copyright {
12
- display: none !important;
13
- }
2
+ /* JkyAMarker 组件样式 - 参考高德官方示例 */
3
+ .amap-icon img,
4
+ .amap-marker-content img {
5
+ width: 25px;
6
+ height: 34px;
14
7
  }
@@ -1,7 +1,3 @@
1
1
 
2
- /* JkyAMarker 组件样式 - 参考高德官方示例 */
3
- .amap-icon img,
4
- .amap-marker-content img {
5
- width: 25px;
6
- height: 34px;
7
- }
2
+ /* 轨迹回放组件不需要额外样式 */
3
+ /* 所有样式通过 TailwindCSS 工具类或外部组件控制 */
@@ -1,3 +1,14 @@
1
+ /* AMap 高德地图组件样式 */
2
+ .jky-amap-container {
3
+ /* 地图容器样式 */
4
+ position: relative;
5
+ overflow: hidden;
1
6
 
2
- /* 轨迹回放组件不需要额外样式 */
3
- /* 所有样式通过 TailwindCSS 工具类或外部组件控制 */
7
+ /* 隐藏高德地图的 logo 和版权信息(注意:商业使用请遵守高德地图条款) */
8
+ .amap-logo {
9
+ display: none !important;
10
+ }
11
+ .amap-copyright {
12
+ display: none !important;
13
+ }
14
+ }
@@ -1,4 +1,4 @@
1
- const version = "0.0.107";
1
+ const version = "0.0.108";
2
2
  export {
3
3
  version
4
4
  };
@@ -18,6 +18,7 @@ declare const __VLS_component: import('vue').DefineComponent<PageHeaderProps, {}
18
18
  onLogout?: (() => any) | undefined;
19
19
  }>, {
20
20
  height: string | number;
21
+ theme: "light" | "dark";
21
22
  statusIcons: import('./types').PageHeaderStatusIcon[];
22
23
  userDropdownItems: import('./types').PageHeaderUserDropdonItem[];
23
24
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLElement>;
@@ -17,7 +17,7 @@ var __spreadValues = (a, b) => {
17
17
  return a;
18
18
  };
19
19
  var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
- import { defineComponent, computed, openBlock, createElementBlock, normalizeStyle, createElementVNode, createBlock, normalizeProps, mergeProps, createCommentVNode, toDisplayString, renderSlot, Fragment, renderList, normalizeClass, unref, withCtx, resolveDynamicComponent, createVNode, createTextVNode } from "vue";
20
+ import { defineComponent, computed, openBlock, createElementBlock, normalizeStyle, normalizeClass, createElementVNode, createBlock, normalizeProps, mergeProps, createCommentVNode, toDisplayString, renderSlot, Fragment, renderList, unref, withCtx, resolveDynamicComponent, createVNode, createTextVNode } from "vue";
21
21
  import { ElIcon, ElDropdown, ElDropdownMenu, ElDropdownItem } from "element-plus";
22
22
  import _sfc_main$1 from "./PopoverMenu.vue.js";
23
23
  const _hoisted_1 = { class: "jky-page-header__container" };
@@ -30,17 +30,10 @@ const _hoisted_4 = {
30
30
  const _hoisted_5 = { class: "jky-page-header__center" };
31
31
  const _hoisted_6 = { class: "jky-page-header__right" };
32
32
  const _hoisted_7 = { class: "jky-page-header__status-icons hidden md:flex" };
33
- const _hoisted_8 = {
34
- xmlns: "http://www.w3.org/2000/svg",
35
- style: { "color": "white" },
36
- fill: "none",
37
- viewBox: "0 0 24 24",
38
- stroke: "currentColor"
39
- };
40
- const _hoisted_9 = { class: "jky-page-header__time hidden md:block" };
41
- const _hoisted_10 = { class: "jky-page-header__user" };
42
- const _hoisted_11 = ["src", "alt"];
43
- const _hoisted_12 = {
33
+ const _hoisted_8 = { class: "jky-page-header__time hidden md:block" };
34
+ const _hoisted_9 = { class: "jky-page-header__user" };
35
+ const _hoisted_10 = ["src", "alt"];
36
+ const _hoisted_11 = {
44
37
  key: 0,
45
38
  class: "jky-page-header__username text-base hidden md:block"
46
39
  };
@@ -52,6 +45,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
52
45
  logo: {},
53
46
  title: {},
54
47
  height: { default: 76 },
48
+ theme: { default: "dark" },
55
49
  background: {},
56
50
  backgroundImage: {},
57
51
  statusIcons: { default: () => [] },
@@ -95,7 +89,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
95
89
  return (_ctx, _cache) => {
96
90
  var _a, _b, _c, _d;
97
91
  return openBlock(), createElementBlock("header", {
98
- class: "jky-page-header",
92
+ class: normalizeClass(["jky-page-header", [`jky-page-header--${props.theme || _ctx.$attrs.theme || "dark"}`]]),
99
93
  style: normalizeStyle([backgroundStyle.value, { height: heightValue.value }])
100
94
  }, [
101
95
  createElementVNode("div", _hoisted_1, [
@@ -118,12 +112,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
118
112
  return openBlock(), createElementBlock(Fragment, { key: index }, [
119
113
  typeof icon.icon === "string" ? (openBlock(), createElementBlock("span", {
120
114
  key: 0,
121
- class: normalizeClass(["jky-page-header__status-icon text-white cursor-pointer", [icon.icon]])
115
+ class: normalizeClass(["jky-page-header__status-icon cursor-pointer text-xl", icon.icon])
122
116
  }, null, 2)) : (openBlock(), createBlock(unref(ElIcon), {
123
117
  key: 1,
124
118
  size: 20,
125
119
  title: icon.label,
126
- color: icon.color || "white",
120
+ color: icon.color,
127
121
  class: "jky-page-header__status-icon cursor-pointer",
128
122
  onClick: icon.onClick
129
123
  }, {
@@ -151,7 +145,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
151
145
  default: withCtx(() => [
152
146
  typeof icon.icon === "string" ? (openBlock(), createElementBlock("span", {
153
147
  key: 0,
154
- class: normalizeClass(["text-white", [icon.icon]])
148
+ class: normalizeClass(["jky-page-header__status-icon", icon.icon])
155
149
  }, null, 2)) : (openBlock(), createBlock(unref(ElIcon), {
156
150
  key: 1,
157
151
  size: 16,
@@ -174,24 +168,29 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
174
168
  default: withCtx(() => [
175
169
  createVNode(unref(ElIcon), {
176
170
  size: 20,
177
- class: "jky-page-header__status-icon text-white"
171
+ class: "jky-page-header__status-icon"
178
172
  }, {
179
- default: withCtx(() => [
180
- (openBlock(), createElementBlock("svg", _hoisted_8, [..._cache[1] || (_cache[1] = [
173
+ default: withCtx(() => [..._cache[1] || (_cache[1] = [
174
+ createElementVNode("svg", {
175
+ xmlns: "http://www.w3.org/2000/svg",
176
+ fill: "none",
177
+ viewBox: "0 0 24 24",
178
+ stroke: "currentColor"
179
+ }, [
181
180
  createElementVNode("path", {
182
181
  "stroke-linecap": "round",
183
182
  "stroke-linejoin": "round",
184
183
  "stroke-width": "2",
185
184
  d: "M4 6h16M4 12h16M4 18h16"
186
- }, null, -1)
187
- ])]))
188
- ]),
185
+ })
186
+ ], -1)
187
+ ])]),
189
188
  _: 1
190
189
  })
191
190
  ]),
192
191
  _: 1
193
192
  })) : createCommentVNode("", true),
194
- createElementVNode("div", _hoisted_9, [
193
+ createElementVNode("div", _hoisted_8, [
195
194
  renderSlot(_ctx.$slots, "time", {}, () => [
196
195
  createElementVNode("span", null, toDisplayString((/* @__PURE__ */ new Date()).toLocaleString("zh-CN")), 1)
197
196
  ])
@@ -199,8 +198,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
199
198
  __props.showMore && ((_d = (_c = __props.popover) == null ? void 0 : _c.menus) == null ? void 0 : _d.length) ? (openBlock(), createBlock(_sfc_main$1, mergeProps({
200
199
  key: 1,
201
200
  "ref-name": "更多",
202
- "ref-icon-class": "icon-[mdi--format-list-bulleted]"
203
- }, __props.popover, { placement: "bottom-end" }), null, 16)) : createCommentVNode("", true),
201
+ "ref-icon-class": "icon-[mdi--format-list-bulleted]",
202
+ theme: __props.theme
203
+ }, __props.popover, { placement: "bottom-end" }), null, 16, ["theme"])) : createCommentVNode("", true),
204
204
  createVNode(unref(ElDropdown), {
205
205
  trigger: "hover",
206
206
  onCommand: handleCommand
@@ -229,7 +229,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
229
229
  })
230
230
  ]),
231
231
  default: withCtx(() => [
232
- createElementVNode("div", _hoisted_10, [
232
+ createElementVNode("div", _hoisted_9, [
233
233
  renderSlot(_ctx.$slots, "userIcon", {}, () => [
234
234
  __props.userAvatar ? (openBlock(), createBlock(unref(ElIcon), {
235
235
  key: 0,
@@ -241,7 +241,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
241
241
  src: __props.userAvatar,
242
242
  alt: __props.userName,
243
243
  class: "rounded-full"
244
- }, null, 8, _hoisted_11)
244
+ }, null, 8, _hoisted_10)
245
245
  ]),
246
246
  _: 1
247
247
  })) : (openBlock(), createBlock(unref(ElIcon), {
@@ -255,14 +255,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
255
255
  _: 1
256
256
  }))
257
257
  ]),
258
- __props.userName ? (openBlock(), createElementBlock("span", _hoisted_12, toDisplayString(__props.userName), 1)) : createCommentVNode("", true)
258
+ __props.userName ? (openBlock(), createElementBlock("span", _hoisted_11, toDisplayString(__props.userName), 1)) : createCommentVNode("", true)
259
259
  ])
260
260
  ]),
261
261
  _: 3
262
262
  }),
263
263
  __props.showLogout ? (openBlock(), createElementBlock("div", {
264
264
  key: 2,
265
- class: "jky-page-header__logout h-full flex items-center text-white",
265
+ class: "jky-page-header__logout h-full flex items-center",
266
266
  onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("logout"))
267
267
  }, [..._cache[3] || (_cache[3] = [
268
268
  createElementVNode("span", { class: "icon-[ri--logout-circle-line] mr-2" }, null, -1),
@@ -270,7 +270,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
270
270
  ])])) : createCommentVNode("", true)
271
271
  ])
272
272
  ])
273
- ], 4);
273
+ ], 6);
274
274
  };
275
275
  }
276
276
  }));
@@ -5,6 +5,7 @@ declare const _default: import('vue').DefineComponent<PageHeaderPopoverMenuProps
5
5
  width: number;
6
6
  placement: import('element-plus').Placement;
7
7
  trigger: Arrayable<TooltipTriggerType>;
8
+ theme: "light" | "dark";
8
9
  menus: PageHeaderPopoverMenuItem[];
9
10
  highlightCurrent: boolean;
10
11
  buttonClass: string;
@@ -1,19 +1,15 @@
1
- import { defineComponent, ref, openBlock, createElementBlock, createVNode, unref, withCtx, createElementVNode, Fragment, renderList, createBlock, normalizeClass, createCommentVNode, toDisplayString } from "vue";
1
+ import { defineComponent, useAttrs, ref, computed, openBlock, createElementBlock, createVNode, unref, withCtx, createElementVNode, Fragment, renderList, createBlock, normalizeClass, createCommentVNode, toDisplayString } from "vue";
2
2
  import { ElPopover, ElButton } from "element-plus";
3
3
  const _hoisted_1 = {
4
4
  key: 0,
5
- class: "jky-page-header__popover mr-2 h-full flex items-center text-white"
5
+ class: "jky-page-header__popover mr-2 h-full flex items-center"
6
6
  };
7
- const _hoisted_2 = { class: "flex items-center" };
8
- const _hoisted_3 = {
9
- key: 0,
10
- class: "text-white ml-2"
11
- };
12
- const _hoisted_4 = { class: "grid grid-cols-3 gap-2 p-2" };
13
- const _hoisted_5 = { class: "text-sm text-center" };
7
+ const _hoisted_2 = { class: "grid grid-cols-3 gap-2 p-2" };
8
+ const _hoisted_3 = { class: "text-sm text-center" };
14
9
  const _sfc_main = /* @__PURE__ */ defineComponent({
15
10
  __name: "PopoverMenu",
16
11
  props: {
12
+ theme: { default: "dark" },
17
13
  refIconClass: {},
18
14
  refName: {},
19
15
  menus: { default: () => [] },
@@ -27,6 +23,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
27
23
  },
28
24
  setup(__props) {
29
25
  const props = __props;
26
+ const attrs = useAttrs();
30
27
  const popoverIndex = ref("");
31
28
  function onPopoverButtonClick(item) {
32
29
  var _a;
@@ -35,6 +32,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
35
32
  }
36
33
  (_a = item.onClick) == null ? void 0 : _a.call(item);
37
34
  }
35
+ const textClass = computed(() => {
36
+ var _a, _b;
37
+ const theme = (_b = (_a = props.theme) != null ? _a : attrs.theme) != null ? _b : "dark";
38
+ return theme === "dark" ? "text-white" : "text-black";
39
+ });
38
40
  return (_ctx, _cache) => {
39
41
  var _a;
40
42
  return ((_a = __props.menus) == null ? void 0 : _a.length) ? (openBlock(), createElementBlock("div", _hoisted_1, [
@@ -45,15 +47,20 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
45
47
  width: __props.width
46
48
  }, {
47
49
  reference: withCtx(() => [
48
- createElementVNode("div", _hoisted_2, [
50
+ createElementVNode("div", {
51
+ class: normalizeClass(["flex items-center", textClass.value])
52
+ }, [
49
53
  createElementVNode("span", {
50
- class: normalizeClass(["icon-[ant-design--menu-fold-outlined] text-[white] text-2xl cursor-pointer hover:opacity-80", __props.refIconClass])
54
+ class: normalizeClass(["icon-[ant-design--menu-fold-outlined] cursor-pointer hover:opacity-80 text-xl", [__props.refIconClass, textClass.value]])
51
55
  }, null, 2),
52
- __props.refName ? (openBlock(), createElementBlock("span", _hoisted_3, toDisplayString(__props.refName), 1)) : createCommentVNode("", true)
53
- ])
56
+ __props.refName ? (openBlock(), createElementBlock("span", {
57
+ key: 0,
58
+ class: normalizeClass(["ml-2 text-sm", textClass.value])
59
+ }, toDisplayString(__props.refName), 3)) : createCommentVNode("", true)
60
+ ], 2)
54
61
  ]),
55
62
  default: withCtx(() => [
56
- createElementVNode("div", _hoisted_4, [
63
+ createElementVNode("div", _hoisted_2, [
57
64
  (openBlock(true), createElementBlock(Fragment, null, renderList(__props.menus, (item) => {
58
65
  return openBlock(), createBlock(unref(ElButton), {
59
66
  key: item.value,
@@ -70,7 +77,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
70
77
  key: 0,
71
78
  class: normalizeClass(["text-xl mr-2", [item.icon]])
72
79
  }, null, 2)) : createCommentVNode("", true),
73
- createElementVNode("span", _hoisted_5, toDisplayString(item.label), 1)
80
+ createElementVNode("span", _hoisted_3, toDisplayString(item.label), 1)
74
81
  ], 2)
75
82
  ]),
76
83
  _: 2
@@ -1,7 +1,27 @@
1
1
  /* PageHeader 组件样式变量 */
2
- :root {
3
- /* 背景 */
2
+ :root, .jky-page-header {
3
+ /* 主题相关 - dark 主题(默认) */
4
+ --jky-page-header-title-color: #ffffff;
5
+ --jky-page-header-text-color: rgba(255, 255, 255, 0.85);
6
+ --jky-page-header-icon-color: #ffffff;
4
7
  --jky-page-header-bg-color: #1890ff;
8
+ }
9
+ /* dark 主题 */
10
+ .jky-page-header--dark {
11
+ --jky-page-header-title-color: #ffffff;
12
+ --jky-page-header-text-color: rgba(255, 255, 255, 0.85);
13
+ --jky-page-header-icon-color: #ffffff;
14
+ --el-text-color-regular: #ffffff;
15
+ }
16
+ /* light 主题 */
17
+ .jky-page-header--light {
18
+ --jky-page-header-title-color: #000000;
19
+ --jky-page-header-text-color: rgba(0, 0, 0, 0.85);
20
+ --jky-page-header-icon-color: #000000;
21
+ --el-text-color-regular: #000000;
22
+ }
23
+ :root, .jky-page-header {
24
+ /* 背景 */
5
25
  --jky-page-header-bg-size: cover;
6
26
  --jky-page-header-bg-position: center;
7
27
  --jky-page-header-box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
@@ -17,15 +37,12 @@
17
37
  --jky-page-header-gap-center-mobile: 12px;
18
38
 
19
39
  /* 文字 */
20
- --jky-page-header-title-color: #ffffff;
21
40
  --jky-page-header-title-size: 20px;
22
41
  --jky-page-header-title-size-mobile: 16px;
23
42
  --jky-page-header-title-weight: 600;
24
- --jky-page-header-text-color: rgba(255, 255, 255, 0.85);
25
43
  --jky-page-header-text-size: 16px;
26
44
 
27
45
  /* 图标 */
28
- --jky-page-header-icon-color: #ffffff;
29
46
  --jky-page-header-icon-size: 20px;
30
47
  --jky-page-header-icon-hover-opacity: 0.8;
31
48
 
@@ -248,14 +248,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
248
248
  }, null, 8, ["default-active", "menu-data"])
249
249
  ]),
250
250
  _: 1
251
- })) : createCommentVNode("", true),
252
- createVNode(_sfc_main$1, {
251
+ })) : (openBlock(), createBlock(_sfc_main$1, {
252
+ key: 1,
253
253
  mode: "vertical",
254
254
  "default-active": activeSideMenu.value,
255
255
  "menu-data": displayedSideMenu.value,
256
256
  class: "jky-page-layout__side-menu",
257
257
  onSelect: handleMenuSelect
258
- }, null, 8, ["default-active", "menu-data"])
258
+ }, null, 8, ["default-active", "menu-data"]))
259
259
  ]),
260
260
  _: 1
261
261
  }, 8, ["style"])) : createCommentVNode("", true)
package/dist/es/style.css CHANGED
@@ -2633,8 +2633,8 @@
2633
2633
  color: var(--el-color-warning);
2634
2634
  }
2635
2635
 
2636
- .text-\[white\] {
2637
- color: #fff;
2636
+ .text-black {
2637
+ color: var(--color-black);
2638
2638
  }
2639
2639
 
2640
2640
  .text-blue-100 {
@@ -1 +1 @@
1
- .jky-add-input,:root{--jky-add-input-gap:12px;--jky-add-input-row-gap:8px;--jky-add-input-min-width:100px;--jky-add-input-action-width:80px}.jky-add-input{display:flex;flex-direction:column;gap:var(--jky-add-input-row-gap);min-width:var(--jky-add-input-min-width)}.jky-add-input__row{align-items:center;display:flex;gap:var(--jky-add-input-gap)}.jky-add-input__key,.jky-add-input__value{flex:1;min-width:0}.jky-add-input__actions{display:flex;flex-shrink:0;gap:var(--jky-add-input-gap);width:var(--jky-add-input-action-width)}.jky-amap-container{overflow:hidden;position:relative;.amap-copyright,.amap-logo{display:none!important}}:root{--jky-button-primary-bg:#007bff;--jky-button-primary-text:#fff;--jky-button-primary-hover-bg:#0056b3;--jky-button-success-bg:#28a745;--jky-button-success-text:#fff;--jky-button-success-hover-bg:#1e7e34;--jky-button-warning-bg:#ffc107;--jky-button-warning-text:#fff;--jky-button-warning-hover-bg:#e0a800;--jky-button-danger-bg:#dc3545;--jky-button-danger-text:#fff;--jky-button-danger-hover-bg:#c82333;--jky-button-info-bg:#6c757d;--jky-button-info-text:#fff;--jky-button-info-hover-bg:#5a6268;--jky-button-default-bg:#fff;--jky-button-default-text:#606266;--jky-button-default-border:#dcdfe6;--jky-button-default-hover-bg:#f5f7fa;--jky-button-font-size:14px;--jky-button-font-size-small:12px;--jky-button-font-size-large:16px;--jky-button-padding:0 16px;--jky-button-padding-small:0 12px;--jky-button-padding-large:0 20px;--jky-button-height:40px;--jky-button-height-small:32px;--jky-button-height-large:48px;--jky-button-border-radius:0.375rem;--jky-button-disabled-opacity:0.5;--jky-button-disabled-bg:#f5f7fa;--jky-button-disabled-text:#c0c4cc;--jky-button-loading-opacity:0.7;--jky-button-icon-size:1.25rem;--jky-button-icon-margin:0.5rem}.jky-button{align-items:center;background-color:var(--jky-button-default-bg);border:1px solid var(--jky-button-default-border);border-radius:var(--jky-button-border-radius);color:var(--jky-button-default-text);cursor:pointer;display:inline-flex;font-size:var(--jky-button-font-size);font-weight:500;height:var(--jky-button-height);justify-content:center;padding:var(--jky-button-padding);transition:color .2s,background-color .2s}.jky-button--primary{background-color:var(--jky-button-primary-bg);border:none;color:var(--jky-button-primary-text)}.jky-button--primary:hover{background-color:var(--jky-button-primary-hover-bg)}.jky-button--success{background-color:var(--jky-button-success-bg);border:none;color:var(--jky-button-success-text)}.jky-button--success:hover{background-color:var(--jky-button-success-hover-bg)}.jky-button--warning{background-color:var(--jky-button-warning-bg);border:none;color:var(--jky-button-warning-text)}.jky-button--warning:hover{background-color:var(--jky-button-warning-hover-bg)}.jky-button--danger{background-color:var(--jky-button-danger-bg);border:none;color:var(--jky-button-danger-text)}.jky-button--danger:hover{background-color:var(--jky-button-danger-hover-bg)}.jky-button--info{background-color:var(--jky-button-info-bg);border:none;color:var(--jky-button-info-text)}.jky-button--info:hover{background-color:var(--jky-button-info-hover-bg)}.jky-button--small{font-size:var(--jky-button-font-size-small);height:var(--jky-button-height-small);padding:var(--jky-button-padding-small)}.jky-button--large{font-size:var(--jky-button-font-size-large);height:var(--jky-button-height-large);padding:var(--jky-button-padding-large)}.jky-button.is-disabled{background-color:var(--jky-button-disabled-bg);color:var(--jky-button-disabled-text);cursor:not-allowed;opacity:var(--jky-button-disabled-opacity);pointer-events:none}.jky-button.is-loading{opacity:var(--jky-button-loading-opacity);pointer-events:none;position:relative}.jky-button__loading{display:flex;inset:0;position:absolute}.jky-button__icon,.jky-button__loading{align-items:center;justify-content:center}.jky-button__icon{display:inline-flex;font-size:1em;margin-right:var(--jky-button-icon-margin)}.jky-button__icon:only-child{margin-right:0}.jky-button--suffix .jky-button__icon{margin-left:var(--jky-button-icon-margin);margin-right:0}.jky-button:focus-visible{box-shadow:0 0 0 2px #fff,0 0 0 4px #000;outline:2px solid transparent;outline-offset:2px}.loading-spinner{animation:spin 1s linear infinite;height:var(--jky-button-icon-size);width:var(--jky-button-icon-size)}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}:root{--jky-button-nav-active-bg:var(--el-color-primary);--jky-button-nav-active-text:#fff;--jky-button-nav-inactive-bg:var(--el-fill-color-light);--jky-button-nav-inactive-text:var(--el-text-color-regular);--el-dropdown-menu-margin-left:12px}.jky-button-nav{align-items:center;display:flex;flex-wrap:wrap;.el-dropdown{margin-left:var(--el-dropdown-menu-margin-left)}}.jky-button-nav-item{background-color:var(--jky-button-nav-inactive-bg);color:var(--jky-button-nav-inactive-text);&.is-active,&[aria-pressed=true]{background-color:var(--jky-button-nav-active-bg);color:var(--jky-button-nav-active-text)}}:root{--j-code-mirror-border-color:#dcdfe6;--j-code-mirror-border-radius:4px;--j-code-mirror-height:400px}.j-code-mirror-editor{border-radius:var(--j-code-mirror-border-radius);height:var(--j-code-mirror-height);overflow:hidden;width:100%}.code-mirror-container{height:100%;overflow:auto;width:100%}.code-mirror-container .cm-editor{height:100%}.code-mirror-container .cm-scroller{font-family:Consolas,Monaco,Courier New,monospace;font-size:14px;line-height:1.5;overflow:auto}.code-mirror-container .cm-gutters{background-color:#2c2d2d;border-color:#4c4d4f;color:#909399}.jky-form,:root{--jky-form-item-border-width:4px;--jky-form-item-border-color:var(--el-color-primary);--jky-form-item-bg-color:rgba(var(--el-color-primary-rgb),0.5);--jky-form-grid-cols-xs:1;--jky-form-grid-cols-sm:2;--jky-form-grid-cols-md:2;--jky-form-grid-cols-lg:3;--jky-form-grid-cols-xl:3;--jky-form-grid-cols-2xl:4;--jky-form-grid-cols-3xl:4}.jky-form--grid{display:grid;gap:var(--el-form-item-gutter,16px);grid-template-columns:repeat(var(--jky-form-grid-cols-xs),minmax(0,1fr))}.el-form--inline.jky-form--grid .el-form-item{margin-right:0;.el-form-item__content{align-items:flex-start}}@media (min-width:640px){.jky-form--grid{grid-template-columns:repeat(var(--jky-form-grid-cols-sm,var(--jky-form-grid-cols-xs)),minmax(0,1fr))}}@media (min-width:768px){.jky-form--grid{grid-template-columns:repeat(var(--jky-form-grid-cols-md,var(--jky-form-grid-cols-sm)),minmax(0,1fr))}}@media (min-width:1024px){.jky-form--grid{grid-template-columns:repeat(var(--jky-form-grid-cols-lg,var(--jky-form-grid-cols-md)),minmax(0,1fr))}}@media (min-width:1280px){.jky-form--grid{grid-template-columns:repeat(var(--jky-form-grid-cols-xl,var(--jky-form-grid-cols-lg)),minmax(0,1fr))}}@media (min-width:1536px){.jky-form--grid{grid-template-columns:repeat(var(--jky-form-grid-cols-2xl,var(--jky-form-grid-cols-xl)),minmax(0,1fr))}}@media (min-width:1920px){.jky-form--grid{grid-template-columns:repeat(var(--jky-form-grid-cols-3xl,var(--jky-form-grid-cols-2xl)),minmax(0,1fr))}}:root{--jky-menu-bg-color:#fff;--jky-menu-text-color:#303133;--jky-menu-active-color:#409eff;--jky-menu-hover-bg-color:#f5f7fa;--jky-menu-hover-text-color:#606266;--jky-menu-item-height:56px;--jky-menu-item-padding:0 20px;--jky-menu-item-font-size:14px;--jky-menu-icon-size:18px;--jky-menu-icon-margin:8px;--jky-menu-border-color:#e4e7ed;--jky-menu-disabled-opacity:0.5;--jky-menu-disabled-text-color:#c0c4cc}.jky-menu{li+li{margin-top:0}}:root{--jky-page-header-bg-color:#1890ff;--jky-page-header-bg-size:cover;--jky-page-header-bg-position:center;--jky-page-header-box-shadow:0 2px 8px rgba(0,0,0,.15);--jky-page-header-padding-x:24px;--jky-page-header-padding-x-mobile:16px;--jky-page-header-gap:16px;--jky-page-header-gap-mobile:12px;--jky-page-header-gap-left:12px;--jky-page-header-gap-status:12px;--jky-page-header-gap-center:24px;--jky-page-header-gap-center-mobile:12px;--jky-page-header-title-color:#fff;--jky-page-header-title-size:20px;--jky-page-header-title-size-mobile:16px;--jky-page-header-title-weight:600;--jky-page-header-text-color:hsla(0,0%,100%,.85);--jky-page-header-text-size:16px;--jky-page-header-icon-color:#fff;--jky-page-header-icon-size:20px;--jky-page-header-icon-hover-opacity:0.8;--jky-page-header-logo-height:40px;--jky-page-header-avatar-size:32px}.jky-page-header{background-color:var(--jky-page-header-bg-color);background-position:var(--jky-page-header-bg-position);background-size:var(--jky-page-header-bg-size);box-shadow:var(--jky-page-header-box-shadow);width:100%}.jky-page-header__container{align-items:center;display:flex;height:100%;justify-content:space-between;margin:0 auto;max-width:100%;padding:0 var(--jky-page-header-padding-x)}.jky-page-header__left{align-items:center;display:flex;flex-shrink:0;gap:var(--jky-page-header-gap-left)}.jky-page-header__logo{height:var(--jky-page-header-logo-height);object-fit:contain;width:auto}.jky-page-header__title{color:var(--jky-page-header-title-color);font-size:var(--jky-page-header-title-size);font-weight:var(--jky-page-header-title-weight);white-space:nowrap}.jky-page-header__center{align-items:center;display:flex;flex:1;justify-content:center;margin:0 var(--jky-page-header-gap-center);min-width:0}.jky-page-header__right{align-items:center;display:flex;flex-shrink:0;gap:var(--jky-page-header-gap)}.jky-page-header__status-icons{align-items:center;display:flex;gap:var(--jky-page-header-gap-status)}.jky-page-header__status-icon{color:var(--jky-page-header-icon-color);cursor:pointer;transition:opacity .2s;&:hover{opacity:var(--jky-page-header-icon-hover-opacity)}}.jky-page-header__time{color:var(--jky-page-header-text-color);font-size:var(--jky-page-header-text-size);white-space:nowrap}.jky-page-header__user{align-items:center;color:var(--jky-page-header-text-color);cursor:pointer;display:flex;gap:8px}.jky-page-header__avatar{color:var(--jky-page-header-icon-color);img{height:100%;object-fit:cover;width:100%}}.jky-page-header__username{white-space:nowrap}.jky-page-header__logout,.jky-page-header__username{color:var(--jky-page-header-text-color);font-size:var(--jky-page-header-text-size)}@media (max-width:768px){.jky-page-header__container{padding:0 var(--jky-page-header-padding-x-mobile)}.jky-page-header__title{font-size:var(--jky-page-header-title-size-mobile)}.jky-page-header__center{margin:0 var(--jky-page-header-gap-center-mobile)}.jky-page-header__right{gap:var(--jky-page-header-gap-mobile)}}:root{--jky-page-layout-gap:5}.jky-page-layout{column-gap:calc(var(--spacing)*var(--jky-page-layout-gap));.el-menu{border-right:none}}.jky-page-table{--jky-page-table_pagination-position:flex-end;.jky-page-table__pagination{.el-scrollbar__view{display:flex;justify-content:var(--jky-page-table_pagination-position)}}}.jky-action-column{.el-button+.el-button{margin-left:0}}:root{--jky-rich-editor-border:#d9d9d9;--jky-rich-editor-border-hover:#409eff;--jky-rich-editor-border-radius:4px;--jky-rich-editor-box-shadow:0 0 0 1px #409eff}.jky-rich-editor{width:100%}.jky-rich-editor .tox-tinymce{border:1px solid var(--jky-rich-editor-border);border-radius:var(--jky-rich-editor-border-radius);transition:border-color .2s}.jky-rich-editor .tox-tinymce:hover{border-color:var(--jky-rich-editor-border-hover)}.jky-rich-editor .tox-tinymce:focus-within{border-color:var(--jky-rich-editor-border-hover);box-shadow:var(--jky-rich-editor-box-shadow)}.jky-rich-editor.is-disabled .tox-tinymce{background-color:#f5f7fa;cursor:not-allowed}.jky-rich-editor.is-readonly .tox-tinymce{background-color:#fafafa}:root{--jky-say-hello-bg:#42b883;--jky-say-hello-text:#fff;--jky-say-hello-hover-bg:#3aa876;--jky-say-hello-font-size:16px;--jky-say-hello-padding:8px 20px;--jky-say-hello-margin:4px 2px;--jky-say-hello-border-radius:6px}.jky-say-hello{background-color:var(--jky-say-hello-bg);border-radius:var(--jky-say-hello-border-radius);color:var(--jky-say-hello-text);cursor:pointer;display:inline-block;font-size:var(--jky-say-hello-font-size);margin:var(--jky-say-hello-margin);padding:var(--jky-say-hello-padding);text-align:center;text-decoration:none;transition:background-color .2s ease}.jky-say-hello:hover{background-color:var(--jky-say-hello-hover-bg)}@import "tailwindcss";@plugin "@iconify/tailwind4";@source "../node_modules/jky-component-lib/dist/es/";@source "../docs/**/*.md";@source "./**/*.md";@source "./**/*.vue";@source "./**/*.css";@custom-variant dark (&:is(.dark *));.jky-tabs{.el-tabs__content{display:none}.el-tabs__header{margin-bottom:0}}.jky-tabs-round{--el-tabs-header-height:32px;--el-tabs-item-background:#fff;--el-tabs-active-item-background:var(--el-color-primary);.el-tabs__header{--el-border-color-light:transparent}.el-tabs__item{background-color:var(--el-tabs-item-background);border-bottom:none!important;border-radius:999px;margin-left:1rem;&.is-active{background-color:var(--el-tabs-active-item-background);.el-icon,.jky-tabs-__item-label{color:var(--el-color-white)}}&.first-child{margin-left:0}}}.jky-tabs-context-menu{display:inline-block}
1
+ .jky-add-input,:root{--jky-add-input-gap:12px;--jky-add-input-row-gap:8px;--jky-add-input-min-width:100px;--jky-add-input-action-width:80px}.jky-add-input{display:flex;flex-direction:column;gap:var(--jky-add-input-row-gap);min-width:var(--jky-add-input-min-width)}.jky-add-input__row{align-items:center;display:flex;gap:var(--jky-add-input-gap)}.jky-add-input__key,.jky-add-input__value{flex:1;min-width:0}.jky-add-input__actions{display:flex;flex-shrink:0;gap:var(--jky-add-input-gap);width:var(--jky-add-input-action-width)}.jky-amap-container{overflow:hidden;position:relative;.amap-copyright,.amap-logo{display:none!important}}:root{--jky-button-primary-bg:#007bff;--jky-button-primary-text:#fff;--jky-button-primary-hover-bg:#0056b3;--jky-button-success-bg:#28a745;--jky-button-success-text:#fff;--jky-button-success-hover-bg:#1e7e34;--jky-button-warning-bg:#ffc107;--jky-button-warning-text:#fff;--jky-button-warning-hover-bg:#e0a800;--jky-button-danger-bg:#dc3545;--jky-button-danger-text:#fff;--jky-button-danger-hover-bg:#c82333;--jky-button-info-bg:#6c757d;--jky-button-info-text:#fff;--jky-button-info-hover-bg:#5a6268;--jky-button-default-bg:#fff;--jky-button-default-text:#606266;--jky-button-default-border:#dcdfe6;--jky-button-default-hover-bg:#f5f7fa;--jky-button-font-size:14px;--jky-button-font-size-small:12px;--jky-button-font-size-large:16px;--jky-button-padding:0 16px;--jky-button-padding-small:0 12px;--jky-button-padding-large:0 20px;--jky-button-height:40px;--jky-button-height-small:32px;--jky-button-height-large:48px;--jky-button-border-radius:0.375rem;--jky-button-disabled-opacity:0.5;--jky-button-disabled-bg:#f5f7fa;--jky-button-disabled-text:#c0c4cc;--jky-button-loading-opacity:0.7;--jky-button-icon-size:1.25rem;--jky-button-icon-margin:0.5rem}.jky-button{align-items:center;background-color:var(--jky-button-default-bg);border:1px solid var(--jky-button-default-border);border-radius:var(--jky-button-border-radius);color:var(--jky-button-default-text);cursor:pointer;display:inline-flex;font-size:var(--jky-button-font-size);font-weight:500;height:var(--jky-button-height);justify-content:center;padding:var(--jky-button-padding);transition:color .2s,background-color .2s}.jky-button--primary{background-color:var(--jky-button-primary-bg);border:none;color:var(--jky-button-primary-text)}.jky-button--primary:hover{background-color:var(--jky-button-primary-hover-bg)}.jky-button--success{background-color:var(--jky-button-success-bg);border:none;color:var(--jky-button-success-text)}.jky-button--success:hover{background-color:var(--jky-button-success-hover-bg)}.jky-button--warning{background-color:var(--jky-button-warning-bg);border:none;color:var(--jky-button-warning-text)}.jky-button--warning:hover{background-color:var(--jky-button-warning-hover-bg)}.jky-button--danger{background-color:var(--jky-button-danger-bg);border:none;color:var(--jky-button-danger-text)}.jky-button--danger:hover{background-color:var(--jky-button-danger-hover-bg)}.jky-button--info{background-color:var(--jky-button-info-bg);border:none;color:var(--jky-button-info-text)}.jky-button--info:hover{background-color:var(--jky-button-info-hover-bg)}.jky-button--small{font-size:var(--jky-button-font-size-small);height:var(--jky-button-height-small);padding:var(--jky-button-padding-small)}.jky-button--large{font-size:var(--jky-button-font-size-large);height:var(--jky-button-height-large);padding:var(--jky-button-padding-large)}.jky-button.is-disabled{background-color:var(--jky-button-disabled-bg);color:var(--jky-button-disabled-text);cursor:not-allowed;opacity:var(--jky-button-disabled-opacity);pointer-events:none}.jky-button.is-loading{opacity:var(--jky-button-loading-opacity);pointer-events:none;position:relative}.jky-button__loading{display:flex;inset:0;position:absolute}.jky-button__icon,.jky-button__loading{align-items:center;justify-content:center}.jky-button__icon{display:inline-flex;font-size:1em;margin-right:var(--jky-button-icon-margin)}.jky-button__icon:only-child{margin-right:0}.jky-button--suffix .jky-button__icon{margin-left:var(--jky-button-icon-margin);margin-right:0}.jky-button:focus-visible{box-shadow:0 0 0 2px #fff,0 0 0 4px #000;outline:2px solid transparent;outline-offset:2px}.loading-spinner{animation:spin 1s linear infinite;height:var(--jky-button-icon-size);width:var(--jky-button-icon-size)}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}:root{--jky-button-nav-active-bg:var(--el-color-primary);--jky-button-nav-active-text:#fff;--jky-button-nav-inactive-bg:var(--el-fill-color-light);--jky-button-nav-inactive-text:var(--el-text-color-regular);--el-dropdown-menu-margin-left:12px}.jky-button-nav{align-items:center;display:flex;flex-wrap:wrap;.el-dropdown{margin-left:var(--el-dropdown-menu-margin-left)}}.jky-button-nav-item{background-color:var(--jky-button-nav-inactive-bg);color:var(--jky-button-nav-inactive-text);&.is-active,&[aria-pressed=true]{background-color:var(--jky-button-nav-active-bg);color:var(--jky-button-nav-active-text)}}:root{--j-code-mirror-border-color:#dcdfe6;--j-code-mirror-border-radius:4px;--j-code-mirror-height:400px}.j-code-mirror-editor{border-radius:var(--j-code-mirror-border-radius);height:var(--j-code-mirror-height);overflow:hidden;width:100%}.code-mirror-container{height:100%;overflow:auto;width:100%}.code-mirror-container .cm-editor{height:100%}.code-mirror-container .cm-scroller{font-family:Consolas,Monaco,Courier New,monospace;font-size:14px;line-height:1.5;overflow:auto}.code-mirror-container .cm-gutters{background-color:#2c2d2d;border-color:#4c4d4f;color:#909399}.jky-form,:root{--jky-form-item-border-width:4px;--jky-form-item-border-color:var(--el-color-primary);--jky-form-item-bg-color:rgba(var(--el-color-primary-rgb),0.5);--jky-form-grid-cols-xs:1;--jky-form-grid-cols-sm:2;--jky-form-grid-cols-md:2;--jky-form-grid-cols-lg:3;--jky-form-grid-cols-xl:3;--jky-form-grid-cols-2xl:4;--jky-form-grid-cols-3xl:4}.jky-form--grid{display:grid;gap:var(--el-form-item-gutter,16px);grid-template-columns:repeat(var(--jky-form-grid-cols-xs),minmax(0,1fr))}.el-form--inline.jky-form--grid .el-form-item{margin-right:0;.el-form-item__content{align-items:flex-start}}@media (min-width:640px){.jky-form--grid{grid-template-columns:repeat(var(--jky-form-grid-cols-sm,var(--jky-form-grid-cols-xs)),minmax(0,1fr))}}@media (min-width:768px){.jky-form--grid{grid-template-columns:repeat(var(--jky-form-grid-cols-md,var(--jky-form-grid-cols-sm)),minmax(0,1fr))}}@media (min-width:1024px){.jky-form--grid{grid-template-columns:repeat(var(--jky-form-grid-cols-lg,var(--jky-form-grid-cols-md)),minmax(0,1fr))}}@media (min-width:1280px){.jky-form--grid{grid-template-columns:repeat(var(--jky-form-grid-cols-xl,var(--jky-form-grid-cols-lg)),minmax(0,1fr))}}@media (min-width:1536px){.jky-form--grid{grid-template-columns:repeat(var(--jky-form-grid-cols-2xl,var(--jky-form-grid-cols-xl)),minmax(0,1fr))}}@media (min-width:1920px){.jky-form--grid{grid-template-columns:repeat(var(--jky-form-grid-cols-3xl,var(--jky-form-grid-cols-2xl)),minmax(0,1fr))}}:root{--jky-menu-bg-color:#fff;--jky-menu-text-color:#303133;--jky-menu-active-color:#409eff;--jky-menu-hover-bg-color:#f5f7fa;--jky-menu-hover-text-color:#606266;--jky-menu-item-height:56px;--jky-menu-item-padding:0 20px;--jky-menu-item-font-size:14px;--jky-menu-icon-size:18px;--jky-menu-icon-margin:8px;--jky-menu-border-color:#e4e7ed;--jky-menu-disabled-opacity:0.5;--jky-menu-disabled-text-color:#c0c4cc}.jky-menu{li+li{margin-top:0}}.jky-page-header,:root{--jky-page-header-title-color:#fff;--jky-page-header-text-color:hsla(0,0%,100%,.85);--jky-page-header-icon-color:#fff;--jky-page-header-bg-color:#1890ff}.jky-page-header--dark{--jky-page-header-title-color:#fff;--jky-page-header-text-color:hsla(0,0%,100%,.85);--jky-page-header-icon-color:#fff;--el-text-color-regular:#fff}.jky-page-header--light{--jky-page-header-title-color:#000;--jky-page-header-text-color:rgba(0,0,0,.85);--jky-page-header-icon-color:#000;--el-text-color-regular:#000}.jky-page-header,:root{--jky-page-header-bg-size:cover;--jky-page-header-bg-position:center;--jky-page-header-box-shadow:0 2px 8px rgba(0,0,0,.15);--jky-page-header-padding-x:24px;--jky-page-header-padding-x-mobile:16px;--jky-page-header-gap:16px;--jky-page-header-gap-mobile:12px;--jky-page-header-gap-left:12px;--jky-page-header-gap-status:12px;--jky-page-header-gap-center:24px;--jky-page-header-gap-center-mobile:12px;--jky-page-header-title-size:20px;--jky-page-header-title-size-mobile:16px;--jky-page-header-title-weight:600;--jky-page-header-text-size:16px;--jky-page-header-icon-size:20px;--jky-page-header-icon-hover-opacity:0.8;--jky-page-header-logo-height:40px;--jky-page-header-avatar-size:32px}.jky-page-header{background-color:var(--jky-page-header-bg-color);background-position:var(--jky-page-header-bg-position);background-size:var(--jky-page-header-bg-size);box-shadow:var(--jky-page-header-box-shadow);width:100%}.jky-page-header__container{align-items:center;display:flex;height:100%;justify-content:space-between;margin:0 auto;max-width:100%;padding:0 var(--jky-page-header-padding-x)}.jky-page-header__left{align-items:center;display:flex;flex-shrink:0;gap:var(--jky-page-header-gap-left)}.jky-page-header__logo{height:var(--jky-page-header-logo-height);object-fit:contain;width:auto}.jky-page-header__title{color:var(--jky-page-header-title-color);font-size:var(--jky-page-header-title-size);font-weight:var(--jky-page-header-title-weight);white-space:nowrap}.jky-page-header__center{align-items:center;display:flex;flex:1;justify-content:center;margin:0 var(--jky-page-header-gap-center);min-width:0}.jky-page-header__right{align-items:center;display:flex;flex-shrink:0;gap:var(--jky-page-header-gap)}.jky-page-header__status-icons{align-items:center;display:flex;gap:var(--jky-page-header-gap-status)}.jky-page-header__status-icon{color:var(--jky-page-header-icon-color);cursor:pointer;transition:opacity .2s;&:hover{opacity:var(--jky-page-header-icon-hover-opacity)}}.jky-page-header__time{color:var(--jky-page-header-text-color);font-size:var(--jky-page-header-text-size);white-space:nowrap}.jky-page-header__user{align-items:center;color:var(--jky-page-header-text-color);cursor:pointer;display:flex;gap:8px}.jky-page-header__avatar{color:var(--jky-page-header-icon-color);img{height:100%;object-fit:cover;width:100%}}.jky-page-header__username{white-space:nowrap}.jky-page-header__logout,.jky-page-header__username{color:var(--jky-page-header-text-color);font-size:var(--jky-page-header-text-size)}@media (max-width:768px){.jky-page-header__container{padding:0 var(--jky-page-header-padding-x-mobile)}.jky-page-header__title{font-size:var(--jky-page-header-title-size-mobile)}.jky-page-header__center{margin:0 var(--jky-page-header-gap-center-mobile)}.jky-page-header__right{gap:var(--jky-page-header-gap-mobile)}}:root{--jky-page-layout-gap:5}.jky-page-layout{column-gap:calc(var(--spacing)*var(--jky-page-layout-gap));.el-menu{border-right:none}}.jky-page-table{--jky-page-table_pagination-position:flex-end;.jky-page-table__pagination{.el-scrollbar__view{display:flex;justify-content:var(--jky-page-table_pagination-position)}}}.jky-action-column{.el-button+.el-button{margin-left:0}}:root{--jky-rich-editor-border:#d9d9d9;--jky-rich-editor-border-hover:#409eff;--jky-rich-editor-border-radius:4px;--jky-rich-editor-box-shadow:0 0 0 1px #409eff}.jky-rich-editor{width:100%}.jky-rich-editor .tox-tinymce{border:1px solid var(--jky-rich-editor-border);border-radius:var(--jky-rich-editor-border-radius);transition:border-color .2s}.jky-rich-editor .tox-tinymce:hover{border-color:var(--jky-rich-editor-border-hover)}.jky-rich-editor .tox-tinymce:focus-within{border-color:var(--jky-rich-editor-border-hover);box-shadow:var(--jky-rich-editor-box-shadow)}.jky-rich-editor.is-disabled .tox-tinymce{background-color:#f5f7fa;cursor:not-allowed}.jky-rich-editor.is-readonly .tox-tinymce{background-color:#fafafa}:root{--jky-say-hello-bg:#42b883;--jky-say-hello-text:#fff;--jky-say-hello-hover-bg:#3aa876;--jky-say-hello-font-size:16px;--jky-say-hello-padding:8px 20px;--jky-say-hello-margin:4px 2px;--jky-say-hello-border-radius:6px}.jky-say-hello{background-color:var(--jky-say-hello-bg);border-radius:var(--jky-say-hello-border-radius);color:var(--jky-say-hello-text);cursor:pointer;display:inline-block;font-size:var(--jky-say-hello-font-size);margin:var(--jky-say-hello-margin);padding:var(--jky-say-hello-padding);text-align:center;text-decoration:none;transition:background-color .2s ease}.jky-say-hello:hover{background-color:var(--jky-say-hello-hover-bg)}@import "tailwindcss";@plugin "@iconify/tailwind4";@source "../node_modules/jky-component-lib/dist/es/";@source "../docs/**/*.md";@source "./**/*.md";@source "./**/*.vue";@source "./**/*.css";@custom-variant dark (&:is(.dark *));.jky-tabs{.el-tabs__content{display:none}.el-tabs__header{margin-bottom:0}}.jky-tabs-round{--el-tabs-header-height:32px;--el-tabs-item-background:#fff;--el-tabs-active-item-background:var(--el-color-primary);.el-tabs__header{--el-border-color-light:transparent}.el-tabs__item{background-color:var(--el-tabs-item-background);border-bottom:none!important;border-radius:999px;margin-left:1rem;&.is-active{background-color:var(--el-tabs-active-item-background);.el-icon,.jky-tabs-__item-label{color:var(--el-color-white)}}&.first-child{margin-left:0}}}.jky-tabs-context-menu{display:inline-block}
@@ -1,14 +1,7 @@
1
- /* AMap 高德地图组件样式 */
2
- .jky-amap-container {
3
- /* 地图容器样式 */
4
- position: relative;
5
- overflow: hidden;
6
1
 
7
- /* 隐藏高德地图的 logo 和版权信息(注意:商业使用请遵守高德地图条款) */
8
- .amap-logo {
9
- display: none !important;
10
- }
11
- .amap-copyright {
12
- display: none !important;
13
- }
2
+ /* JkyAMarker 组件样式 - 参考高德官方示例 */
3
+ .amap-icon img,
4
+ .amap-marker-content img {
5
+ width: 25px;
6
+ height: 34px;
14
7
  }
@@ -1,7 +1,3 @@
1
1
 
2
- /* JkyAMarker 组件样式 - 参考高德官方示例 */
3
- .amap-icon img,
4
- .amap-marker-content img {
5
- width: 25px;
6
- height: 34px;
7
- }
2
+ /* 轨迹回放组件不需要额外样式 */
3
+ /* 所有样式通过 TailwindCSS 工具类或外部组件控制 */
@@ -1,3 +1,14 @@
1
+ /* AMap 高德地图组件样式 */
2
+ .jky-amap-container {
3
+ /* 地图容器样式 */
4
+ position: relative;
5
+ overflow: hidden;
1
6
 
2
- /* 轨迹回放组件不需要额外样式 */
3
- /* 所有样式通过 TailwindCSS 工具类或外部组件控制 */
7
+ /* 隐藏高德地图的 logo 和版权信息(注意:商业使用请遵守高德地图条款) */
8
+ .amap-logo {
9
+ display: none !important;
10
+ }
11
+ .amap-copyright {
12
+ display: none !important;
13
+ }
14
+ }
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const version = "0.0.107";
3
+ const version = "0.0.108";
4
4
  exports.version = version;
@@ -18,6 +18,7 @@ declare const __VLS_component: import('vue').DefineComponent<PageHeaderProps, {}
18
18
  onLogout?: (() => any) | undefined;
19
19
  }>, {
20
20
  height: string | number;
21
+ theme: "light" | "dark";
21
22
  statusIcons: import('./types').PageHeaderStatusIcon[];
22
23
  userDropdownItems: import('./types').PageHeaderUserDropdonItem[];
23
24
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLElement>;
@@ -32,17 +32,10 @@ const _hoisted_4 = {
32
32
  const _hoisted_5 = { class: "jky-page-header__center" };
33
33
  const _hoisted_6 = { class: "jky-page-header__right" };
34
34
  const _hoisted_7 = { class: "jky-page-header__status-icons hidden md:flex" };
35
- const _hoisted_8 = {
36
- xmlns: "http://www.w3.org/2000/svg",
37
- style: { "color": "white" },
38
- fill: "none",
39
- viewBox: "0 0 24 24",
40
- stroke: "currentColor"
41
- };
42
- const _hoisted_9 = { class: "jky-page-header__time hidden md:block" };
43
- const _hoisted_10 = { class: "jky-page-header__user" };
44
- const _hoisted_11 = ["src", "alt"];
45
- const _hoisted_12 = {
35
+ const _hoisted_8 = { class: "jky-page-header__time hidden md:block" };
36
+ const _hoisted_9 = { class: "jky-page-header__user" };
37
+ const _hoisted_10 = ["src", "alt"];
38
+ const _hoisted_11 = {
46
39
  key: 0,
47
40
  class: "jky-page-header__username text-base hidden md:block"
48
41
  };
@@ -54,6 +47,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValu
54
47
  logo: {},
55
48
  title: {},
56
49
  height: { default: 76 },
50
+ theme: { default: "dark" },
57
51
  background: {},
58
52
  backgroundImage: {},
59
53
  statusIcons: { default: () => [] },
@@ -97,7 +91,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValu
97
91
  return (_ctx, _cache) => {
98
92
  var _a, _b, _c, _d;
99
93
  return vue.openBlock(), vue.createElementBlock("header", {
100
- class: "jky-page-header",
94
+ class: vue.normalizeClass(["jky-page-header", [`jky-page-header--${props.theme || _ctx.$attrs.theme || "dark"}`]]),
101
95
  style: vue.normalizeStyle([backgroundStyle.value, { height: heightValue.value }])
102
96
  }, [
103
97
  vue.createElementVNode("div", _hoisted_1, [
@@ -120,12 +114,12 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValu
120
114
  return vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: index }, [
121
115
  typeof icon.icon === "string" ? (vue.openBlock(), vue.createElementBlock("span", {
122
116
  key: 0,
123
- class: vue.normalizeClass(["jky-page-header__status-icon text-white cursor-pointer", [icon.icon]])
117
+ class: vue.normalizeClass(["jky-page-header__status-icon cursor-pointer text-xl", icon.icon])
124
118
  }, null, 2)) : (vue.openBlock(), vue.createBlock(vue.unref(ElementPlus.ElIcon), {
125
119
  key: 1,
126
120
  size: 20,
127
121
  title: icon.label,
128
- color: icon.color || "white",
122
+ color: icon.color,
129
123
  class: "jky-page-header__status-icon cursor-pointer",
130
124
  onClick: icon.onClick
131
125
  }, {
@@ -153,7 +147,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValu
153
147
  default: vue.withCtx(() => [
154
148
  typeof icon.icon === "string" ? (vue.openBlock(), vue.createElementBlock("span", {
155
149
  key: 0,
156
- class: vue.normalizeClass(["text-white", [icon.icon]])
150
+ class: vue.normalizeClass(["jky-page-header__status-icon", icon.icon])
157
151
  }, null, 2)) : (vue.openBlock(), vue.createBlock(vue.unref(ElementPlus.ElIcon), {
158
152
  key: 1,
159
153
  size: 16,
@@ -176,24 +170,29 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValu
176
170
  default: vue.withCtx(() => [
177
171
  vue.createVNode(vue.unref(ElementPlus.ElIcon), {
178
172
  size: 20,
179
- class: "jky-page-header__status-icon text-white"
173
+ class: "jky-page-header__status-icon"
180
174
  }, {
181
- default: vue.withCtx(() => [
182
- (vue.openBlock(), vue.createElementBlock("svg", _hoisted_8, [..._cache[1] || (_cache[1] = [
175
+ default: vue.withCtx(() => [..._cache[1] || (_cache[1] = [
176
+ vue.createElementVNode("svg", {
177
+ xmlns: "http://www.w3.org/2000/svg",
178
+ fill: "none",
179
+ viewBox: "0 0 24 24",
180
+ stroke: "currentColor"
181
+ }, [
183
182
  vue.createElementVNode("path", {
184
183
  "stroke-linecap": "round",
185
184
  "stroke-linejoin": "round",
186
185
  "stroke-width": "2",
187
186
  d: "M4 6h16M4 12h16M4 18h16"
188
- }, null, -1)
189
- ])]))
190
- ]),
187
+ })
188
+ ], -1)
189
+ ])]),
191
190
  _: 1
192
191
  })
193
192
  ]),
194
193
  _: 1
195
194
  })) : vue.createCommentVNode("", true),
196
- vue.createElementVNode("div", _hoisted_9, [
195
+ vue.createElementVNode("div", _hoisted_8, [
197
196
  vue.renderSlot(_ctx.$slots, "time", {}, () => [
198
197
  vue.createElementVNode("span", null, vue.toDisplayString((/* @__PURE__ */ new Date()).toLocaleString("zh-CN")), 1)
199
198
  ])
@@ -201,8 +200,9 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValu
201
200
  __props.showMore && ((_d = (_c = __props.popover) == null ? void 0 : _c.menus) == null ? void 0 : _d.length) ? (vue.openBlock(), vue.createBlock(PopoverMenu_vue_vue_type_script_setup_true_lang.default, vue.mergeProps({
202
201
  key: 1,
203
202
  "ref-name": "更多",
204
- "ref-icon-class": "icon-[mdi--format-list-bulleted]"
205
- }, __props.popover, { placement: "bottom-end" }), null, 16)) : vue.createCommentVNode("", true),
203
+ "ref-icon-class": "icon-[mdi--format-list-bulleted]",
204
+ theme: __props.theme
205
+ }, __props.popover, { placement: "bottom-end" }), null, 16, ["theme"])) : vue.createCommentVNode("", true),
206
206
  vue.createVNode(vue.unref(ElementPlus.ElDropdown), {
207
207
  trigger: "hover",
208
208
  onCommand: handleCommand
@@ -231,7 +231,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValu
231
231
  })
232
232
  ]),
233
233
  default: vue.withCtx(() => [
234
- vue.createElementVNode("div", _hoisted_10, [
234
+ vue.createElementVNode("div", _hoisted_9, [
235
235
  vue.renderSlot(_ctx.$slots, "userIcon", {}, () => [
236
236
  __props.userAvatar ? (vue.openBlock(), vue.createBlock(vue.unref(ElementPlus.ElIcon), {
237
237
  key: 0,
@@ -243,7 +243,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValu
243
243
  src: __props.userAvatar,
244
244
  alt: __props.userName,
245
245
  class: "rounded-full"
246
- }, null, 8, _hoisted_11)
246
+ }, null, 8, _hoisted_10)
247
247
  ]),
248
248
  _: 1
249
249
  })) : (vue.openBlock(), vue.createBlock(vue.unref(ElementPlus.ElIcon), {
@@ -257,14 +257,14 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValu
257
257
  _: 1
258
258
  }))
259
259
  ]),
260
- __props.userName ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_12, vue.toDisplayString(__props.userName), 1)) : vue.createCommentVNode("", true)
260
+ __props.userName ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_11, vue.toDisplayString(__props.userName), 1)) : vue.createCommentVNode("", true)
261
261
  ])
262
262
  ]),
263
263
  _: 3
264
264
  }),
265
265
  __props.showLogout ? (vue.openBlock(), vue.createElementBlock("div", {
266
266
  key: 2,
267
- class: "jky-page-header__logout h-full flex items-center text-white",
267
+ class: "jky-page-header__logout h-full flex items-center",
268
268
  onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("logout"))
269
269
  }, [..._cache[3] || (_cache[3] = [
270
270
  vue.createElementVNode("span", { class: "icon-[ri--logout-circle-line] mr-2" }, null, -1),
@@ -272,7 +272,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValu
272
272
  ])])) : vue.createCommentVNode("", true)
273
273
  ])
274
274
  ])
275
- ], 4);
275
+ ], 6);
276
276
  };
277
277
  }
278
278
  }));
@@ -5,6 +5,7 @@ declare const _default: import('vue').DefineComponent<PageHeaderPopoverMenuProps
5
5
  width: number;
6
6
  placement: import('element-plus').Placement;
7
7
  trigger: Arrayable<TooltipTriggerType>;
8
+ theme: "light" | "dark";
8
9
  menus: PageHeaderPopoverMenuItem[];
9
10
  highlightCurrent: boolean;
10
11
  buttonClass: string;
@@ -4,18 +4,14 @@ const vue = require("vue");
4
4
  const ElementPlus = require("element-plus");
5
5
  const _hoisted_1 = {
6
6
  key: 0,
7
- class: "jky-page-header__popover mr-2 h-full flex items-center text-white"
7
+ class: "jky-page-header__popover mr-2 h-full flex items-center"
8
8
  };
9
- const _hoisted_2 = { class: "flex items-center" };
10
- const _hoisted_3 = {
11
- key: 0,
12
- class: "text-white ml-2"
13
- };
14
- const _hoisted_4 = { class: "grid grid-cols-3 gap-2 p-2" };
15
- const _hoisted_5 = { class: "text-sm text-center" };
9
+ const _hoisted_2 = { class: "grid grid-cols-3 gap-2 p-2" };
10
+ const _hoisted_3 = { class: "text-sm text-center" };
16
11
  const _sfc_main = /* @__PURE__ */ vue.defineComponent({
17
12
  __name: "PopoverMenu",
18
13
  props: {
14
+ theme: { default: "dark" },
19
15
  refIconClass: {},
20
16
  refName: {},
21
17
  menus: { default: () => [] },
@@ -29,6 +25,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
29
25
  },
30
26
  setup(__props) {
31
27
  const props = __props;
28
+ const attrs = vue.useAttrs();
32
29
  const popoverIndex = vue.ref("");
33
30
  function onPopoverButtonClick(item) {
34
31
  var _a;
@@ -37,6 +34,11 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
37
34
  }
38
35
  (_a = item.onClick) == null ? void 0 : _a.call(item);
39
36
  }
37
+ const textClass = vue.computed(() => {
38
+ var _a, _b;
39
+ const theme = (_b = (_a = props.theme) != null ? _a : attrs.theme) != null ? _b : "dark";
40
+ return theme === "dark" ? "text-white" : "text-black";
41
+ });
40
42
  return (_ctx, _cache) => {
41
43
  var _a;
42
44
  return ((_a = __props.menus) == null ? void 0 : _a.length) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
@@ -47,15 +49,20 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
47
49
  width: __props.width
48
50
  }, {
49
51
  reference: vue.withCtx(() => [
50
- vue.createElementVNode("div", _hoisted_2, [
52
+ vue.createElementVNode("div", {
53
+ class: vue.normalizeClass(["flex items-center", textClass.value])
54
+ }, [
51
55
  vue.createElementVNode("span", {
52
- class: vue.normalizeClass(["icon-[ant-design--menu-fold-outlined] text-[white] text-2xl cursor-pointer hover:opacity-80", __props.refIconClass])
56
+ class: vue.normalizeClass(["icon-[ant-design--menu-fold-outlined] cursor-pointer hover:opacity-80 text-xl", [__props.refIconClass, textClass.value]])
53
57
  }, null, 2),
54
- __props.refName ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3, vue.toDisplayString(__props.refName), 1)) : vue.createCommentVNode("", true)
55
- ])
58
+ __props.refName ? (vue.openBlock(), vue.createElementBlock("span", {
59
+ key: 0,
60
+ class: vue.normalizeClass(["ml-2 text-sm", textClass.value])
61
+ }, vue.toDisplayString(__props.refName), 3)) : vue.createCommentVNode("", true)
62
+ ], 2)
56
63
  ]),
57
64
  default: vue.withCtx(() => [
58
- vue.createElementVNode("div", _hoisted_4, [
65
+ vue.createElementVNode("div", _hoisted_2, [
59
66
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(__props.menus, (item) => {
60
67
  return vue.openBlock(), vue.createBlock(vue.unref(ElementPlus.ElButton), {
61
68
  key: item.value,
@@ -72,7 +79,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
72
79
  key: 0,
73
80
  class: vue.normalizeClass(["text-xl mr-2", [item.icon]])
74
81
  }, null, 2)) : vue.createCommentVNode("", true),
75
- vue.createElementVNode("span", _hoisted_5, vue.toDisplayString(item.label), 1)
82
+ vue.createElementVNode("span", _hoisted_3, vue.toDisplayString(item.label), 1)
76
83
  ], 2)
77
84
  ]),
78
85
  _: 2
@@ -1,7 +1,27 @@
1
1
  /* PageHeader 组件样式变量 */
2
- :root {
3
- /* 背景 */
2
+ :root, .jky-page-header {
3
+ /* 主题相关 - dark 主题(默认) */
4
+ --jky-page-header-title-color: #ffffff;
5
+ --jky-page-header-text-color: rgba(255, 255, 255, 0.85);
6
+ --jky-page-header-icon-color: #ffffff;
4
7
  --jky-page-header-bg-color: #1890ff;
8
+ }
9
+ /* dark 主题 */
10
+ .jky-page-header--dark {
11
+ --jky-page-header-title-color: #ffffff;
12
+ --jky-page-header-text-color: rgba(255, 255, 255, 0.85);
13
+ --jky-page-header-icon-color: #ffffff;
14
+ --el-text-color-regular: #ffffff;
15
+ }
16
+ /* light 主题 */
17
+ .jky-page-header--light {
18
+ --jky-page-header-title-color: #000000;
19
+ --jky-page-header-text-color: rgba(0, 0, 0, 0.85);
20
+ --jky-page-header-icon-color: #000000;
21
+ --el-text-color-regular: #000000;
22
+ }
23
+ :root, .jky-page-header {
24
+ /* 背景 */
5
25
  --jky-page-header-bg-size: cover;
6
26
  --jky-page-header-bg-position: center;
7
27
  --jky-page-header-box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
@@ -17,15 +37,12 @@
17
37
  --jky-page-header-gap-center-mobile: 12px;
18
38
 
19
39
  /* 文字 */
20
- --jky-page-header-title-color: #ffffff;
21
40
  --jky-page-header-title-size: 20px;
22
41
  --jky-page-header-title-size-mobile: 16px;
23
42
  --jky-page-header-title-weight: 600;
24
- --jky-page-header-text-color: rgba(255, 255, 255, 0.85);
25
43
  --jky-page-header-text-size: 16px;
26
44
 
27
45
  /* 图标 */
28
- --jky-page-header-icon-color: #ffffff;
29
46
  --jky-page-header-icon-size: 20px;
30
47
  --jky-page-header-icon-hover-opacity: 0.8;
31
48
 
@@ -250,14 +250,14 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValu
250
250
  }, null, 8, ["default-active", "menu-data"])
251
251
  ]),
252
252
  _: 1
253
- })) : vue.createCommentVNode("", true),
254
- vue.createVNode(Menu_vue_vue_type_script_setup_true_lang.default, {
253
+ })) : (vue.openBlock(), vue.createBlock(Menu_vue_vue_type_script_setup_true_lang.default, {
254
+ key: 1,
255
255
  mode: "vertical",
256
256
  "default-active": activeSideMenu.value,
257
257
  "menu-data": displayedSideMenu.value,
258
258
  class: "jky-page-layout__side-menu",
259
259
  onSelect: handleMenuSelect
260
- }, null, 8, ["default-active", "menu-data"])
260
+ }, null, 8, ["default-active", "menu-data"]))
261
261
  ]),
262
262
  _: 1
263
263
  }, 8, ["style"])) : vue.createCommentVNode("", true)
@@ -2633,8 +2633,8 @@
2633
2633
  color: var(--el-color-warning);
2634
2634
  }
2635
2635
 
2636
- .text-\[white\] {
2637
- color: #fff;
2636
+ .text-black {
2637
+ color: var(--color-black);
2638
2638
  }
2639
2639
 
2640
2640
  .text-blue-100 {
@@ -1 +1 @@
1
- .jky-add-input,:root{--jky-add-input-gap:12px;--jky-add-input-row-gap:8px;--jky-add-input-min-width:100px;--jky-add-input-action-width:80px}.jky-add-input{display:flex;flex-direction:column;gap:var(--jky-add-input-row-gap);min-width:var(--jky-add-input-min-width)}.jky-add-input__row{align-items:center;display:flex;gap:var(--jky-add-input-gap)}.jky-add-input__key,.jky-add-input__value{flex:1;min-width:0}.jky-add-input__actions{display:flex;flex-shrink:0;gap:var(--jky-add-input-gap);width:var(--jky-add-input-action-width)}.jky-amap-container{overflow:hidden;position:relative;.amap-copyright,.amap-logo{display:none!important}}:root{--jky-button-primary-bg:#007bff;--jky-button-primary-text:#fff;--jky-button-primary-hover-bg:#0056b3;--jky-button-success-bg:#28a745;--jky-button-success-text:#fff;--jky-button-success-hover-bg:#1e7e34;--jky-button-warning-bg:#ffc107;--jky-button-warning-text:#fff;--jky-button-warning-hover-bg:#e0a800;--jky-button-danger-bg:#dc3545;--jky-button-danger-text:#fff;--jky-button-danger-hover-bg:#c82333;--jky-button-info-bg:#6c757d;--jky-button-info-text:#fff;--jky-button-info-hover-bg:#5a6268;--jky-button-default-bg:#fff;--jky-button-default-text:#606266;--jky-button-default-border:#dcdfe6;--jky-button-default-hover-bg:#f5f7fa;--jky-button-font-size:14px;--jky-button-font-size-small:12px;--jky-button-font-size-large:16px;--jky-button-padding:0 16px;--jky-button-padding-small:0 12px;--jky-button-padding-large:0 20px;--jky-button-height:40px;--jky-button-height-small:32px;--jky-button-height-large:48px;--jky-button-border-radius:0.375rem;--jky-button-disabled-opacity:0.5;--jky-button-disabled-bg:#f5f7fa;--jky-button-disabled-text:#c0c4cc;--jky-button-loading-opacity:0.7;--jky-button-icon-size:1.25rem;--jky-button-icon-margin:0.5rem}.jky-button{align-items:center;background-color:var(--jky-button-default-bg);border:1px solid var(--jky-button-default-border);border-radius:var(--jky-button-border-radius);color:var(--jky-button-default-text);cursor:pointer;display:inline-flex;font-size:var(--jky-button-font-size);font-weight:500;height:var(--jky-button-height);justify-content:center;padding:var(--jky-button-padding);transition:color .2s,background-color .2s}.jky-button--primary{background-color:var(--jky-button-primary-bg);border:none;color:var(--jky-button-primary-text)}.jky-button--primary:hover{background-color:var(--jky-button-primary-hover-bg)}.jky-button--success{background-color:var(--jky-button-success-bg);border:none;color:var(--jky-button-success-text)}.jky-button--success:hover{background-color:var(--jky-button-success-hover-bg)}.jky-button--warning{background-color:var(--jky-button-warning-bg);border:none;color:var(--jky-button-warning-text)}.jky-button--warning:hover{background-color:var(--jky-button-warning-hover-bg)}.jky-button--danger{background-color:var(--jky-button-danger-bg);border:none;color:var(--jky-button-danger-text)}.jky-button--danger:hover{background-color:var(--jky-button-danger-hover-bg)}.jky-button--info{background-color:var(--jky-button-info-bg);border:none;color:var(--jky-button-info-text)}.jky-button--info:hover{background-color:var(--jky-button-info-hover-bg)}.jky-button--small{font-size:var(--jky-button-font-size-small);height:var(--jky-button-height-small);padding:var(--jky-button-padding-small)}.jky-button--large{font-size:var(--jky-button-font-size-large);height:var(--jky-button-height-large);padding:var(--jky-button-padding-large)}.jky-button.is-disabled{background-color:var(--jky-button-disabled-bg);color:var(--jky-button-disabled-text);cursor:not-allowed;opacity:var(--jky-button-disabled-opacity);pointer-events:none}.jky-button.is-loading{opacity:var(--jky-button-loading-opacity);pointer-events:none;position:relative}.jky-button__loading{display:flex;inset:0;position:absolute}.jky-button__icon,.jky-button__loading{align-items:center;justify-content:center}.jky-button__icon{display:inline-flex;font-size:1em;margin-right:var(--jky-button-icon-margin)}.jky-button__icon:only-child{margin-right:0}.jky-button--suffix .jky-button__icon{margin-left:var(--jky-button-icon-margin);margin-right:0}.jky-button:focus-visible{box-shadow:0 0 0 2px #fff,0 0 0 4px #000;outline:2px solid transparent;outline-offset:2px}.loading-spinner{animation:spin 1s linear infinite;height:var(--jky-button-icon-size);width:var(--jky-button-icon-size)}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}:root{--jky-button-nav-active-bg:var(--el-color-primary);--jky-button-nav-active-text:#fff;--jky-button-nav-inactive-bg:var(--el-fill-color-light);--jky-button-nav-inactive-text:var(--el-text-color-regular);--el-dropdown-menu-margin-left:12px}.jky-button-nav{align-items:center;display:flex;flex-wrap:wrap;.el-dropdown{margin-left:var(--el-dropdown-menu-margin-left)}}.jky-button-nav-item{background-color:var(--jky-button-nav-inactive-bg);color:var(--jky-button-nav-inactive-text);&.is-active,&[aria-pressed=true]{background-color:var(--jky-button-nav-active-bg);color:var(--jky-button-nav-active-text)}}:root{--j-code-mirror-border-color:#dcdfe6;--j-code-mirror-border-radius:4px;--j-code-mirror-height:400px}.j-code-mirror-editor{border-radius:var(--j-code-mirror-border-radius);height:var(--j-code-mirror-height);overflow:hidden;width:100%}.code-mirror-container{height:100%;overflow:auto;width:100%}.code-mirror-container .cm-editor{height:100%}.code-mirror-container .cm-scroller{font-family:Consolas,Monaco,Courier New,monospace;font-size:14px;line-height:1.5;overflow:auto}.code-mirror-container .cm-gutters{background-color:#2c2d2d;border-color:#4c4d4f;color:#909399}.jky-form,:root{--jky-form-item-border-width:4px;--jky-form-item-border-color:var(--el-color-primary);--jky-form-item-bg-color:rgba(var(--el-color-primary-rgb),0.5);--jky-form-grid-cols-xs:1;--jky-form-grid-cols-sm:2;--jky-form-grid-cols-md:2;--jky-form-grid-cols-lg:3;--jky-form-grid-cols-xl:3;--jky-form-grid-cols-2xl:4;--jky-form-grid-cols-3xl:4}.jky-form--grid{display:grid;gap:var(--el-form-item-gutter,16px);grid-template-columns:repeat(var(--jky-form-grid-cols-xs),minmax(0,1fr))}.el-form--inline.jky-form--grid .el-form-item{margin-right:0;.el-form-item__content{align-items:flex-start}}@media (min-width:640px){.jky-form--grid{grid-template-columns:repeat(var(--jky-form-grid-cols-sm,var(--jky-form-grid-cols-xs)),minmax(0,1fr))}}@media (min-width:768px){.jky-form--grid{grid-template-columns:repeat(var(--jky-form-grid-cols-md,var(--jky-form-grid-cols-sm)),minmax(0,1fr))}}@media (min-width:1024px){.jky-form--grid{grid-template-columns:repeat(var(--jky-form-grid-cols-lg,var(--jky-form-grid-cols-md)),minmax(0,1fr))}}@media (min-width:1280px){.jky-form--grid{grid-template-columns:repeat(var(--jky-form-grid-cols-xl,var(--jky-form-grid-cols-lg)),minmax(0,1fr))}}@media (min-width:1536px){.jky-form--grid{grid-template-columns:repeat(var(--jky-form-grid-cols-2xl,var(--jky-form-grid-cols-xl)),minmax(0,1fr))}}@media (min-width:1920px){.jky-form--grid{grid-template-columns:repeat(var(--jky-form-grid-cols-3xl,var(--jky-form-grid-cols-2xl)),minmax(0,1fr))}}:root{--jky-menu-bg-color:#fff;--jky-menu-text-color:#303133;--jky-menu-active-color:#409eff;--jky-menu-hover-bg-color:#f5f7fa;--jky-menu-hover-text-color:#606266;--jky-menu-item-height:56px;--jky-menu-item-padding:0 20px;--jky-menu-item-font-size:14px;--jky-menu-icon-size:18px;--jky-menu-icon-margin:8px;--jky-menu-border-color:#e4e7ed;--jky-menu-disabled-opacity:0.5;--jky-menu-disabled-text-color:#c0c4cc}.jky-menu{li+li{margin-top:0}}:root{--jky-page-header-bg-color:#1890ff;--jky-page-header-bg-size:cover;--jky-page-header-bg-position:center;--jky-page-header-box-shadow:0 2px 8px rgba(0,0,0,.15);--jky-page-header-padding-x:24px;--jky-page-header-padding-x-mobile:16px;--jky-page-header-gap:16px;--jky-page-header-gap-mobile:12px;--jky-page-header-gap-left:12px;--jky-page-header-gap-status:12px;--jky-page-header-gap-center:24px;--jky-page-header-gap-center-mobile:12px;--jky-page-header-title-color:#fff;--jky-page-header-title-size:20px;--jky-page-header-title-size-mobile:16px;--jky-page-header-title-weight:600;--jky-page-header-text-color:hsla(0,0%,100%,.85);--jky-page-header-text-size:16px;--jky-page-header-icon-color:#fff;--jky-page-header-icon-size:20px;--jky-page-header-icon-hover-opacity:0.8;--jky-page-header-logo-height:40px;--jky-page-header-avatar-size:32px}.jky-page-header{background-color:var(--jky-page-header-bg-color);background-position:var(--jky-page-header-bg-position);background-size:var(--jky-page-header-bg-size);box-shadow:var(--jky-page-header-box-shadow);width:100%}.jky-page-header__container{align-items:center;display:flex;height:100%;justify-content:space-between;margin:0 auto;max-width:100%;padding:0 var(--jky-page-header-padding-x)}.jky-page-header__left{align-items:center;display:flex;flex-shrink:0;gap:var(--jky-page-header-gap-left)}.jky-page-header__logo{height:var(--jky-page-header-logo-height);object-fit:contain;width:auto}.jky-page-header__title{color:var(--jky-page-header-title-color);font-size:var(--jky-page-header-title-size);font-weight:var(--jky-page-header-title-weight);white-space:nowrap}.jky-page-header__center{align-items:center;display:flex;flex:1;justify-content:center;margin:0 var(--jky-page-header-gap-center);min-width:0}.jky-page-header__right{align-items:center;display:flex;flex-shrink:0;gap:var(--jky-page-header-gap)}.jky-page-header__status-icons{align-items:center;display:flex;gap:var(--jky-page-header-gap-status)}.jky-page-header__status-icon{color:var(--jky-page-header-icon-color);cursor:pointer;transition:opacity .2s;&:hover{opacity:var(--jky-page-header-icon-hover-opacity)}}.jky-page-header__time{color:var(--jky-page-header-text-color);font-size:var(--jky-page-header-text-size);white-space:nowrap}.jky-page-header__user{align-items:center;color:var(--jky-page-header-text-color);cursor:pointer;display:flex;gap:8px}.jky-page-header__avatar{color:var(--jky-page-header-icon-color);img{height:100%;object-fit:cover;width:100%}}.jky-page-header__username{white-space:nowrap}.jky-page-header__logout,.jky-page-header__username{color:var(--jky-page-header-text-color);font-size:var(--jky-page-header-text-size)}@media (max-width:768px){.jky-page-header__container{padding:0 var(--jky-page-header-padding-x-mobile)}.jky-page-header__title{font-size:var(--jky-page-header-title-size-mobile)}.jky-page-header__center{margin:0 var(--jky-page-header-gap-center-mobile)}.jky-page-header__right{gap:var(--jky-page-header-gap-mobile)}}:root{--jky-page-layout-gap:5}.jky-page-layout{column-gap:calc(var(--spacing)*var(--jky-page-layout-gap));.el-menu{border-right:none}}.jky-page-table{--jky-page-table_pagination-position:flex-end;.jky-page-table__pagination{.el-scrollbar__view{display:flex;justify-content:var(--jky-page-table_pagination-position)}}}.jky-action-column{.el-button+.el-button{margin-left:0}}:root{--jky-rich-editor-border:#d9d9d9;--jky-rich-editor-border-hover:#409eff;--jky-rich-editor-border-radius:4px;--jky-rich-editor-box-shadow:0 0 0 1px #409eff}.jky-rich-editor{width:100%}.jky-rich-editor .tox-tinymce{border:1px solid var(--jky-rich-editor-border);border-radius:var(--jky-rich-editor-border-radius);transition:border-color .2s}.jky-rich-editor .tox-tinymce:hover{border-color:var(--jky-rich-editor-border-hover)}.jky-rich-editor .tox-tinymce:focus-within{border-color:var(--jky-rich-editor-border-hover);box-shadow:var(--jky-rich-editor-box-shadow)}.jky-rich-editor.is-disabled .tox-tinymce{background-color:#f5f7fa;cursor:not-allowed}.jky-rich-editor.is-readonly .tox-tinymce{background-color:#fafafa}:root{--jky-say-hello-bg:#42b883;--jky-say-hello-text:#fff;--jky-say-hello-hover-bg:#3aa876;--jky-say-hello-font-size:16px;--jky-say-hello-padding:8px 20px;--jky-say-hello-margin:4px 2px;--jky-say-hello-border-radius:6px}.jky-say-hello{background-color:var(--jky-say-hello-bg);border-radius:var(--jky-say-hello-border-radius);color:var(--jky-say-hello-text);cursor:pointer;display:inline-block;font-size:var(--jky-say-hello-font-size);margin:var(--jky-say-hello-margin);padding:var(--jky-say-hello-padding);text-align:center;text-decoration:none;transition:background-color .2s ease}.jky-say-hello:hover{background-color:var(--jky-say-hello-hover-bg)}@import "tailwindcss";@plugin "@iconify/tailwind4";@source "../node_modules/jky-component-lib/dist/es/";@source "../docs/**/*.md";@source "./**/*.md";@source "./**/*.vue";@source "./**/*.css";@custom-variant dark (&:is(.dark *));.jky-tabs{.el-tabs__content{display:none}.el-tabs__header{margin-bottom:0}}.jky-tabs-round{--el-tabs-header-height:32px;--el-tabs-item-background:#fff;--el-tabs-active-item-background:var(--el-color-primary);.el-tabs__header{--el-border-color-light:transparent}.el-tabs__item{background-color:var(--el-tabs-item-background);border-bottom:none!important;border-radius:999px;margin-left:1rem;&.is-active{background-color:var(--el-tabs-active-item-background);.el-icon,.jky-tabs-__item-label{color:var(--el-color-white)}}&.first-child{margin-left:0}}}.jky-tabs-context-menu{display:inline-block}
1
+ .jky-add-input,:root{--jky-add-input-gap:12px;--jky-add-input-row-gap:8px;--jky-add-input-min-width:100px;--jky-add-input-action-width:80px}.jky-add-input{display:flex;flex-direction:column;gap:var(--jky-add-input-row-gap);min-width:var(--jky-add-input-min-width)}.jky-add-input__row{align-items:center;display:flex;gap:var(--jky-add-input-gap)}.jky-add-input__key,.jky-add-input__value{flex:1;min-width:0}.jky-add-input__actions{display:flex;flex-shrink:0;gap:var(--jky-add-input-gap);width:var(--jky-add-input-action-width)}.jky-amap-container{overflow:hidden;position:relative;.amap-copyright,.amap-logo{display:none!important}}:root{--jky-button-primary-bg:#007bff;--jky-button-primary-text:#fff;--jky-button-primary-hover-bg:#0056b3;--jky-button-success-bg:#28a745;--jky-button-success-text:#fff;--jky-button-success-hover-bg:#1e7e34;--jky-button-warning-bg:#ffc107;--jky-button-warning-text:#fff;--jky-button-warning-hover-bg:#e0a800;--jky-button-danger-bg:#dc3545;--jky-button-danger-text:#fff;--jky-button-danger-hover-bg:#c82333;--jky-button-info-bg:#6c757d;--jky-button-info-text:#fff;--jky-button-info-hover-bg:#5a6268;--jky-button-default-bg:#fff;--jky-button-default-text:#606266;--jky-button-default-border:#dcdfe6;--jky-button-default-hover-bg:#f5f7fa;--jky-button-font-size:14px;--jky-button-font-size-small:12px;--jky-button-font-size-large:16px;--jky-button-padding:0 16px;--jky-button-padding-small:0 12px;--jky-button-padding-large:0 20px;--jky-button-height:40px;--jky-button-height-small:32px;--jky-button-height-large:48px;--jky-button-border-radius:0.375rem;--jky-button-disabled-opacity:0.5;--jky-button-disabled-bg:#f5f7fa;--jky-button-disabled-text:#c0c4cc;--jky-button-loading-opacity:0.7;--jky-button-icon-size:1.25rem;--jky-button-icon-margin:0.5rem}.jky-button{align-items:center;background-color:var(--jky-button-default-bg);border:1px solid var(--jky-button-default-border);border-radius:var(--jky-button-border-radius);color:var(--jky-button-default-text);cursor:pointer;display:inline-flex;font-size:var(--jky-button-font-size);font-weight:500;height:var(--jky-button-height);justify-content:center;padding:var(--jky-button-padding);transition:color .2s,background-color .2s}.jky-button--primary{background-color:var(--jky-button-primary-bg);border:none;color:var(--jky-button-primary-text)}.jky-button--primary:hover{background-color:var(--jky-button-primary-hover-bg)}.jky-button--success{background-color:var(--jky-button-success-bg);border:none;color:var(--jky-button-success-text)}.jky-button--success:hover{background-color:var(--jky-button-success-hover-bg)}.jky-button--warning{background-color:var(--jky-button-warning-bg);border:none;color:var(--jky-button-warning-text)}.jky-button--warning:hover{background-color:var(--jky-button-warning-hover-bg)}.jky-button--danger{background-color:var(--jky-button-danger-bg);border:none;color:var(--jky-button-danger-text)}.jky-button--danger:hover{background-color:var(--jky-button-danger-hover-bg)}.jky-button--info{background-color:var(--jky-button-info-bg);border:none;color:var(--jky-button-info-text)}.jky-button--info:hover{background-color:var(--jky-button-info-hover-bg)}.jky-button--small{font-size:var(--jky-button-font-size-small);height:var(--jky-button-height-small);padding:var(--jky-button-padding-small)}.jky-button--large{font-size:var(--jky-button-font-size-large);height:var(--jky-button-height-large);padding:var(--jky-button-padding-large)}.jky-button.is-disabled{background-color:var(--jky-button-disabled-bg);color:var(--jky-button-disabled-text);cursor:not-allowed;opacity:var(--jky-button-disabled-opacity);pointer-events:none}.jky-button.is-loading{opacity:var(--jky-button-loading-opacity);pointer-events:none;position:relative}.jky-button__loading{display:flex;inset:0;position:absolute}.jky-button__icon,.jky-button__loading{align-items:center;justify-content:center}.jky-button__icon{display:inline-flex;font-size:1em;margin-right:var(--jky-button-icon-margin)}.jky-button__icon:only-child{margin-right:0}.jky-button--suffix .jky-button__icon{margin-left:var(--jky-button-icon-margin);margin-right:0}.jky-button:focus-visible{box-shadow:0 0 0 2px #fff,0 0 0 4px #000;outline:2px solid transparent;outline-offset:2px}.loading-spinner{animation:spin 1s linear infinite;height:var(--jky-button-icon-size);width:var(--jky-button-icon-size)}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}:root{--jky-button-nav-active-bg:var(--el-color-primary);--jky-button-nav-active-text:#fff;--jky-button-nav-inactive-bg:var(--el-fill-color-light);--jky-button-nav-inactive-text:var(--el-text-color-regular);--el-dropdown-menu-margin-left:12px}.jky-button-nav{align-items:center;display:flex;flex-wrap:wrap;.el-dropdown{margin-left:var(--el-dropdown-menu-margin-left)}}.jky-button-nav-item{background-color:var(--jky-button-nav-inactive-bg);color:var(--jky-button-nav-inactive-text);&.is-active,&[aria-pressed=true]{background-color:var(--jky-button-nav-active-bg);color:var(--jky-button-nav-active-text)}}:root{--j-code-mirror-border-color:#dcdfe6;--j-code-mirror-border-radius:4px;--j-code-mirror-height:400px}.j-code-mirror-editor{border-radius:var(--j-code-mirror-border-radius);height:var(--j-code-mirror-height);overflow:hidden;width:100%}.code-mirror-container{height:100%;overflow:auto;width:100%}.code-mirror-container .cm-editor{height:100%}.code-mirror-container .cm-scroller{font-family:Consolas,Monaco,Courier New,monospace;font-size:14px;line-height:1.5;overflow:auto}.code-mirror-container .cm-gutters{background-color:#2c2d2d;border-color:#4c4d4f;color:#909399}.jky-form,:root{--jky-form-item-border-width:4px;--jky-form-item-border-color:var(--el-color-primary);--jky-form-item-bg-color:rgba(var(--el-color-primary-rgb),0.5);--jky-form-grid-cols-xs:1;--jky-form-grid-cols-sm:2;--jky-form-grid-cols-md:2;--jky-form-grid-cols-lg:3;--jky-form-grid-cols-xl:3;--jky-form-grid-cols-2xl:4;--jky-form-grid-cols-3xl:4}.jky-form--grid{display:grid;gap:var(--el-form-item-gutter,16px);grid-template-columns:repeat(var(--jky-form-grid-cols-xs),minmax(0,1fr))}.el-form--inline.jky-form--grid .el-form-item{margin-right:0;.el-form-item__content{align-items:flex-start}}@media (min-width:640px){.jky-form--grid{grid-template-columns:repeat(var(--jky-form-grid-cols-sm,var(--jky-form-grid-cols-xs)),minmax(0,1fr))}}@media (min-width:768px){.jky-form--grid{grid-template-columns:repeat(var(--jky-form-grid-cols-md,var(--jky-form-grid-cols-sm)),minmax(0,1fr))}}@media (min-width:1024px){.jky-form--grid{grid-template-columns:repeat(var(--jky-form-grid-cols-lg,var(--jky-form-grid-cols-md)),minmax(0,1fr))}}@media (min-width:1280px){.jky-form--grid{grid-template-columns:repeat(var(--jky-form-grid-cols-xl,var(--jky-form-grid-cols-lg)),minmax(0,1fr))}}@media (min-width:1536px){.jky-form--grid{grid-template-columns:repeat(var(--jky-form-grid-cols-2xl,var(--jky-form-grid-cols-xl)),minmax(0,1fr))}}@media (min-width:1920px){.jky-form--grid{grid-template-columns:repeat(var(--jky-form-grid-cols-3xl,var(--jky-form-grid-cols-2xl)),minmax(0,1fr))}}:root{--jky-menu-bg-color:#fff;--jky-menu-text-color:#303133;--jky-menu-active-color:#409eff;--jky-menu-hover-bg-color:#f5f7fa;--jky-menu-hover-text-color:#606266;--jky-menu-item-height:56px;--jky-menu-item-padding:0 20px;--jky-menu-item-font-size:14px;--jky-menu-icon-size:18px;--jky-menu-icon-margin:8px;--jky-menu-border-color:#e4e7ed;--jky-menu-disabled-opacity:0.5;--jky-menu-disabled-text-color:#c0c4cc}.jky-menu{li+li{margin-top:0}}.jky-page-header,:root{--jky-page-header-title-color:#fff;--jky-page-header-text-color:hsla(0,0%,100%,.85);--jky-page-header-icon-color:#fff;--jky-page-header-bg-color:#1890ff}.jky-page-header--dark{--jky-page-header-title-color:#fff;--jky-page-header-text-color:hsla(0,0%,100%,.85);--jky-page-header-icon-color:#fff;--el-text-color-regular:#fff}.jky-page-header--light{--jky-page-header-title-color:#000;--jky-page-header-text-color:rgba(0,0,0,.85);--jky-page-header-icon-color:#000;--el-text-color-regular:#000}.jky-page-header,:root{--jky-page-header-bg-size:cover;--jky-page-header-bg-position:center;--jky-page-header-box-shadow:0 2px 8px rgba(0,0,0,.15);--jky-page-header-padding-x:24px;--jky-page-header-padding-x-mobile:16px;--jky-page-header-gap:16px;--jky-page-header-gap-mobile:12px;--jky-page-header-gap-left:12px;--jky-page-header-gap-status:12px;--jky-page-header-gap-center:24px;--jky-page-header-gap-center-mobile:12px;--jky-page-header-title-size:20px;--jky-page-header-title-size-mobile:16px;--jky-page-header-title-weight:600;--jky-page-header-text-size:16px;--jky-page-header-icon-size:20px;--jky-page-header-icon-hover-opacity:0.8;--jky-page-header-logo-height:40px;--jky-page-header-avatar-size:32px}.jky-page-header{background-color:var(--jky-page-header-bg-color);background-position:var(--jky-page-header-bg-position);background-size:var(--jky-page-header-bg-size);box-shadow:var(--jky-page-header-box-shadow);width:100%}.jky-page-header__container{align-items:center;display:flex;height:100%;justify-content:space-between;margin:0 auto;max-width:100%;padding:0 var(--jky-page-header-padding-x)}.jky-page-header__left{align-items:center;display:flex;flex-shrink:0;gap:var(--jky-page-header-gap-left)}.jky-page-header__logo{height:var(--jky-page-header-logo-height);object-fit:contain;width:auto}.jky-page-header__title{color:var(--jky-page-header-title-color);font-size:var(--jky-page-header-title-size);font-weight:var(--jky-page-header-title-weight);white-space:nowrap}.jky-page-header__center{align-items:center;display:flex;flex:1;justify-content:center;margin:0 var(--jky-page-header-gap-center);min-width:0}.jky-page-header__right{align-items:center;display:flex;flex-shrink:0;gap:var(--jky-page-header-gap)}.jky-page-header__status-icons{align-items:center;display:flex;gap:var(--jky-page-header-gap-status)}.jky-page-header__status-icon{color:var(--jky-page-header-icon-color);cursor:pointer;transition:opacity .2s;&:hover{opacity:var(--jky-page-header-icon-hover-opacity)}}.jky-page-header__time{color:var(--jky-page-header-text-color);font-size:var(--jky-page-header-text-size);white-space:nowrap}.jky-page-header__user{align-items:center;color:var(--jky-page-header-text-color);cursor:pointer;display:flex;gap:8px}.jky-page-header__avatar{color:var(--jky-page-header-icon-color);img{height:100%;object-fit:cover;width:100%}}.jky-page-header__username{white-space:nowrap}.jky-page-header__logout,.jky-page-header__username{color:var(--jky-page-header-text-color);font-size:var(--jky-page-header-text-size)}@media (max-width:768px){.jky-page-header__container{padding:0 var(--jky-page-header-padding-x-mobile)}.jky-page-header__title{font-size:var(--jky-page-header-title-size-mobile)}.jky-page-header__center{margin:0 var(--jky-page-header-gap-center-mobile)}.jky-page-header__right{gap:var(--jky-page-header-gap-mobile)}}:root{--jky-page-layout-gap:5}.jky-page-layout{column-gap:calc(var(--spacing)*var(--jky-page-layout-gap));.el-menu{border-right:none}}.jky-page-table{--jky-page-table_pagination-position:flex-end;.jky-page-table__pagination{.el-scrollbar__view{display:flex;justify-content:var(--jky-page-table_pagination-position)}}}.jky-action-column{.el-button+.el-button{margin-left:0}}:root{--jky-rich-editor-border:#d9d9d9;--jky-rich-editor-border-hover:#409eff;--jky-rich-editor-border-radius:4px;--jky-rich-editor-box-shadow:0 0 0 1px #409eff}.jky-rich-editor{width:100%}.jky-rich-editor .tox-tinymce{border:1px solid var(--jky-rich-editor-border);border-radius:var(--jky-rich-editor-border-radius);transition:border-color .2s}.jky-rich-editor .tox-tinymce:hover{border-color:var(--jky-rich-editor-border-hover)}.jky-rich-editor .tox-tinymce:focus-within{border-color:var(--jky-rich-editor-border-hover);box-shadow:var(--jky-rich-editor-box-shadow)}.jky-rich-editor.is-disabled .tox-tinymce{background-color:#f5f7fa;cursor:not-allowed}.jky-rich-editor.is-readonly .tox-tinymce{background-color:#fafafa}:root{--jky-say-hello-bg:#42b883;--jky-say-hello-text:#fff;--jky-say-hello-hover-bg:#3aa876;--jky-say-hello-font-size:16px;--jky-say-hello-padding:8px 20px;--jky-say-hello-margin:4px 2px;--jky-say-hello-border-radius:6px}.jky-say-hello{background-color:var(--jky-say-hello-bg);border-radius:var(--jky-say-hello-border-radius);color:var(--jky-say-hello-text);cursor:pointer;display:inline-block;font-size:var(--jky-say-hello-font-size);margin:var(--jky-say-hello-margin);padding:var(--jky-say-hello-padding);text-align:center;text-decoration:none;transition:background-color .2s ease}.jky-say-hello:hover{background-color:var(--jky-say-hello-hover-bg)}@import "tailwindcss";@plugin "@iconify/tailwind4";@source "../node_modules/jky-component-lib/dist/es/";@source "../docs/**/*.md";@source "./**/*.md";@source "./**/*.vue";@source "./**/*.css";@custom-variant dark (&:is(.dark *));.jky-tabs{.el-tabs__content{display:none}.el-tabs__header{margin-bottom:0}}.jky-tabs-round{--el-tabs-header-height:32px;--el-tabs-item-background:#fff;--el-tabs-active-item-background:var(--el-color-primary);.el-tabs__header{--el-border-color-light:transparent}.el-tabs__item{background-color:var(--el-tabs-item-background);border-bottom:none!important;border-radius:999px;margin-left:1rem;&.is-active{background-color:var(--el-tabs-active-item-background);.el-icon,.jky-tabs-__item-label{color:var(--el-color-white)}}&.first-child{margin-left:0}}}.jky-tabs-context-menu{display:inline-block}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "jky-component-lib",
3
3
  "type": "module",
4
- "version": "0.0.107",
4
+ "version": "0.0.108",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },