@robot-admin/naive-ui-components 0.23.2 → 0.24.0

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.
Files changed (90) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +29 -2
  3. package/README_EN.md +8 -2
  4. package/dist/C_Table.base.css +108 -130
  5. package/dist/C_Table.css +108 -130
  6. package/dist/C_Table.d.cts +2 -2
  7. package/dist/C_Table.d.ts +2 -2
  8. package/dist/C_Table2.cjs +3 -3
  9. package/dist/C_Table2.js +3 -3
  10. package/dist/constants.d.cts +1 -1
  11. package/dist/constants.d.ts +1 -1
  12. package/dist/constants2.d.cts +4 -4
  13. package/dist/constants2.d.ts +4 -4
  14. package/dist/constants3.d.cts +3 -3
  15. package/dist/constants3.d.ts +3 -3
  16. package/dist/constants4.d.cts +1 -1
  17. package/dist/constants4.d.ts +1 -1
  18. package/dist/data2.d.cts +6 -6
  19. package/dist/data2.d.ts +6 -6
  20. package/dist/index.d.cts +2 -2
  21. package/dist/index.d.ts +2 -2
  22. package/dist/index10.vue.d.cts +3 -3
  23. package/dist/index10.vue.d.ts +2 -2
  24. package/dist/index11.vue.d.cts +2 -2
  25. package/dist/index11.vue.d.ts +12 -1
  26. package/dist/index12.vue.d.cts +12 -1
  27. package/dist/index13.vue.d.ts +5 -5
  28. package/dist/index14.vue.d.cts +5 -5
  29. package/dist/index15.vue.d.ts +8 -8
  30. package/dist/index16.vue.d.cts +8 -8
  31. package/dist/index16.vue.d.ts +1 -1
  32. package/dist/index17.vue.d.cts +1 -1
  33. package/dist/index18.vue.d.ts +1 -1
  34. package/dist/index19.vue.d.cts +1 -1
  35. package/dist/index19.vue.d.ts +1 -1
  36. package/dist/index2.vue.d.cts +2 -2
  37. package/dist/index2.vue.d.ts +2 -2
  38. package/dist/index20.vue.d.cts +1 -1
  39. package/dist/index22.vue.d.ts +2 -2
  40. package/dist/index23.vue.d.cts +2 -2
  41. package/dist/index23.vue.d.ts +2 -2
  42. package/dist/index26.vue.d.cts +3 -3
  43. package/dist/index26.vue.d.ts +3 -3
  44. package/dist/index27.vue.d.cts +2 -2
  45. package/dist/index27.vue.d.ts +2 -2
  46. package/dist/index28.vue.d.cts +1 -1
  47. package/dist/index28.vue.d.ts +1 -1
  48. package/dist/index29.vue.d.cts +2 -2
  49. package/dist/index29.vue.d.ts +2 -2
  50. package/dist/index3.vue.d.cts +3 -3
  51. package/dist/index3.vue.d.ts +3 -3
  52. package/dist/index5.vue.d.cts +2 -2
  53. package/dist/index7.vue.d.ts +3 -3
  54. package/dist/index8.vue.d.cts +3 -3
  55. package/dist/index9.vue.d.ts +3 -3
  56. package/dist/mapUtils.d.cts +2 -2
  57. package/dist/mapUtils.d.ts +2 -2
  58. package/dist/presets.d.cts +1 -1
  59. package/dist/presets.d.ts +1 -1
  60. package/dist/style.css +108 -130
  61. package/dist/useCalendarEvents.d.cts +1 -1
  62. package/dist/useCalendarEvents.d.ts +1 -1
  63. package/dist/useCollapsePanel.d.cts +1 -1
  64. package/dist/useCollapsePanel.d.ts +1 -1
  65. package/dist/useComponentLocale.cjs +1 -1
  66. package/dist/useComponentLocale.js +1 -1
  67. package/dist/useCropperCore.d.cts +9 -9
  68. package/dist/useCropperCore.d.ts +9 -9
  69. package/dist/useDynamicFormState.d.cts +14 -11
  70. package/dist/useDynamicFormState.d.ts +14 -11
  71. package/dist/useEdgeInteraction.d.cts +2 -2
  72. package/dist/useEdgeInteraction.d.ts +2 -2
  73. package/dist/useFullscreen.d.cts +3 -3
  74. package/dist/useFullscreen.d.ts +3 -3
  75. package/dist/useGlobalSearch.d.cts +1 -1
  76. package/dist/useGlobalSearch.d.ts +1 -1
  77. package/dist/useInfiniteScroll.d.cts +3 -3
  78. package/dist/useInfiniteScroll.d.ts +3 -3
  79. package/dist/useQRCode.d.cts +3 -3
  80. package/dist/useQRCode.d.ts +3 -3
  81. package/dist/useSignatureHistory.d.cts +2 -2
  82. package/dist/useSignatureHistory.d.ts +2 -2
  83. package/dist/useSplitResize.d.cts +6 -6
  84. package/dist/useSplitResize.d.ts +6 -6
  85. package/dist/useWorkflowValidation.d.cts +96 -96
  86. package/dist/useWorkflowValidation.d.ts +96 -96
  87. package/dist/verification.d.cts +2 -2
  88. package/dist/verification.d.ts +2 -2
  89. package/docs/guides/table-density.md +27 -0
  90. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @robot-admin/naive-ui-components
2
2
 
3
+ ## 0.24.0
4
+
5
+ ### Minor Changes
6
+
7
+ - C_Table 未指定宽度的列改为有界内容测宽,保留显式列宽、列设置、原生尺寸和横向虚拟化。增加 status 精简配置,复用主题标签,支持默认语义色、字典显示、自定义文字与颜色,不修改原值及输出契约。
8
+
9
+ ## 0.23.3
10
+
11
+ ### Patch Changes
12
+
13
+ - C_Table 默认保留 Naive UI 原生空态,继承 Provider 的主题、语言和 renderEmpty,自定义 empty 插槽按需转发,与 MachTable 插画空态保持区分。
14
+
3
15
  ## 0.23.2
4
16
 
5
17
  ### Patch Changes
package/README.md CHANGED
@@ -33,7 +33,7 @@
33
33
  | 按需消费 | 60 个独立组件入口、自动导入 Resolver、组件样式入口,以及表单/表格的基础样式层级 |
34
34
  | 独立接入 | 支持全量注册与局部导入;反馈、文案和全局配置可由宿主提供,表单弹窗可接入结构兼容的 Headless CRUD |
35
35
 
36
- 组件库负责界面与交互;业务接口、身份权限、上传服务和第三方平台配置由应用接入。当前仓库版本 **0.23.2**,版本变化见 [CHANGELOG](./CHANGELOG.md)。
36
+ 组件库负责界面与交互;业务接口、身份权限、上传服务和第三方平台配置由应用接入。当前仓库版本 **0.24.0**,版本变化见 [CHANGELOG](./CHANGELOG.md)。
37
37
 
38
38
  表单与搜索共用 `config.density: 'compact'`:收紧字段、布局和空校验区,实际错误仍自然展开。表单弹窗默认紧凑,页脚按钮 22px;搜索可继承应用密度。紧凑数字输入默认隐藏步进按钮,保留键盘、精度和上下限,也可逐字段开启。按需设置默认值与显式覆盖见[表单密度](./docs/guides/form-density.md)。
39
39
 
@@ -41,7 +41,7 @@
41
41
 
42
42
  ## 能力地图
43
43
 
44
- `C_Table` 默认空态采用内置的淡蓝表格卡片与放大镜插画,亮暗主题跟随 Naive Provider。无需页面补样式;用 `#empty` 完整替换内容,或通过 `config.locale.messages` 的 `table.empty` / `table.emptyHint` 覆盖文案。已有全局 `emptyText` 覆盖标题,加载与错误状态保持独立。
44
+ `C_Table` 保留 Naive UI 原生空态,继承 Provider 的主题、语言与 `componentOptions.DataTable.renderEmpty`。使用 `#empty` 可替换单个表格的空态内容。
45
45
 
46
46
  | 场景 | 代表组件 | 覆盖能力 |
47
47
  | ---------- | ---------------------------------------------------------------- | -------------------------------------------------------- |
@@ -215,3 +215,30 @@ bun run check:audit # 单独运行依赖安全审计,CI 在 verify 前执行
215
215
  ## 许可证
216
216
 
217
217
  [MIT License](./LICENSE) · Made by [CHENY](https://github.com/ChenyCHENYU)
218
+
219
+ ## 内容列宽与状态颜色(0.24)
220
+
221
+ `C_Table` 未声明 `width` 的业务列默认按表头和显示文字测宽,均匀抽样最多 100 条已加载数据,默认 80–360px。`minWidth/maxWidth` 可调整边界;显式列宽、原生百分比宽度、列设置后的宽度和 `display.columnWidth` 优先。`autoWidth: false` 恢复原统一默认 180px。横向虚拟化同样使用数值测宽,不依赖浏览器扫描所有行;长内容默认省略并提供 tooltip。
222
+
223
+ ```ts
224
+ const columns = [
225
+ { type: 'index' },
226
+ { key: 'customer', title: '客户', maxWidth: 280 },
227
+ { key: 'status', title: '状态', dictionary: 'order-status', status: true },
228
+ {
229
+ key: 'planStatus',
230
+ title: '计划状态',
231
+ status: {
232
+ S1B: { label: '待复核', color: 'danger' },
233
+ S1C: { label: '已完成', color: 'success' },
234
+ special: { label: '特殊处理', color: '#8b5cf6' },
235
+ },
236
+ },
237
+ ]
238
+ ```
239
+
240
+ 状态列复用 Naive UI 标签和主题。支持 `success/warning/danger/info/neutral`,也支持 Naive 的 `error/default/primary` 和 CSS 颜色。未知代码保持中性;`0/false` 是有效值,空值保留空态。显式 render 优先;formatter/字典文字会用于默认颜色判断和测宽。状态配置只改变展示,不会改写数据、排序、筛选或导出。
241
+
242
+ 测宽不额外挂载或执行 render;图标、进度条和复杂自定义内容请显式指定 width。数据与字典更新会触发新的有界测量,配置和缓存只属于当前组件实例。此版本将未声明宽度的业务列由自然布局改为有界内容宽度;既有显式布局及原生 table-layout 覆盖仍保留。
243
+
244
+ 可拖动列的最小宽度会计入列头文字和排序/筛选控件;与显式 minWidth 取较大值,避免缩窄时压盖标题。超长标题的默认保护上限为 360px,复杂自定义标题请配置 minWidth。
package/README_EN.md CHANGED
@@ -33,7 +33,7 @@
33
33
  | Selective loading | 60 component entries, an auto-import resolver, component CSS and base styles for forms and tables |
34
34
  | Application integration | Global registration or local imports; injectable feedback, locale and defaults; form dialogs compatible with structurally matching headless CRUD controllers |
35
35
 
36
- The library handles UI and interaction. Applications supply business APIs, authentication, authorization, upload services and platform configuration. The current repository version is **0.23.2**; see the [changelog](./CHANGELOG.md) for release details.
36
+ The library handles UI and interaction. Applications supply business APIs, authentication, authorization, upload services and platform configuration. The current repository version is **0.24.0**; see the [changelog](./CHANGELOG.md) for release details.
37
37
 
38
38
  Forms and search share `config.density: 'compact'`, reducing field spacing and empty validation space while allowing errors to expand naturally. Form modals default to compact density with 22px footer buttons, and search can inherit application density. Compact numeric fields hide step buttons by default while retaining keyboard interaction, precision and limits; individual fields can enable buttons. See [form density](./docs/guides/form-density.en.md) for on-demand defaults and explicit overrides.
39
39
 
@@ -41,7 +41,7 @@ Business workspaces can share dictionary providers, container-aware search, regi
41
41
 
42
42
  ## Capability map
43
43
 
44
- `C_Table` includes a soft-blue table/search illustration that follows the Naive light/dark provider. Override it with `#empty`, or change `table.empty` / `table.emptyHint` through `config.locale.messages`. The existing global `emptyText` controls the title. Loading and error states remain separate.
44
+ `C_Table` retains the native Naive UI empty state, including provider theme, locale and `componentOptions.DataTable.renderEmpty`. Use `#empty` to replace the content of one table.
45
45
 
46
46
  | Scenario | Representative components | Capabilities |
47
47
  | --------------------- | ---------------------------------------------------------------- | ------------------------------------------------------------------------------------ |
@@ -215,3 +215,9 @@ See [development and build](./docs/engineering.en.md) for individual checks and
215
215
  ## License
216
216
 
217
217
  [MIT License](./LICENSE) · Made by [CHENY](https://github.com/ChenyCHENYU)
218
+
219
+ ## Content widths and status columns (0.24)
220
+
221
+ Columns without `width` now measure their header and up to 100 evenly sampled loaded rows, using formatted, dictionary and status labels. Automatic widths default to 80–360px; use `minWidth/maxWidth` to adjust. Explicit widths (including native strings), saved column widths and `display.columnWidth` take precedence. `autoWidth: false` restores the 180px default. Long automatic cells use ellipsis and a tooltip; horizontal virtualization uses the same numeric widths.
222
+
223
+ Use `{ key: 'status', status: true }` for themed status tags, or `status: { S1B: { label: 'Review', color: 'danger' }, S1C: 'success' }`. Semantic colors and CSS colors are supported. Unknown codes stay neutral, zero/false stay valid, and explicit render functions win. Display changes never rewrite data or export policy. Measurement does not invoke render functions; give graphical/custom columns explicit widths. Data and dictionary updates remeasure a bounded sample; all caches remain component-local.
@@ -1588,29 +1588,7 @@ to {
1588
1588
  .px[data-v-92119048]{padding-left:1rem;padding-right:1rem;}
1589
1589
  .accent-blue-500[data-v-92119048]{--un-accent-opacity:1;accent-color:rgb(59 130 246 / var(--un-accent-opacity));}
1590
1590
 
1591
- /* 矢量使用 SVG 展示属性,样式仅管理排版,避免增加表格公共样式负担。 */
1592
- .c-table-empty[data-v-b2a0a10f] {
1593
- min-width: 0;
1594
- text-align: center;
1595
- overflow-wrap: anywhere;
1596
- }
1597
- .c-table-empty__title[data-v-b2a0a10f] {
1598
- color: var(--c-table-empty-fg);
1599
- font-size: 14px;
1600
- font-weight: 500;
1601
- line-height: 22px;
1602
- }
1603
- .c-table-empty__hint[data-v-b2a0a10f] {
1604
- color: var(--c-table-empty-hint);
1605
- font-size: 12px;
1606
- line-height: 20px;
1607
- }
1608
-
1609
- /* layer: default */
1610
- .m77[data-v-b2a0a10f]{margin:19.25rem;}
1611
- .block[data-v-b2a0a10f]{display:block;}
1612
-
1613
- .c-table-wrapper[data-v-edcf4c02] {
1591
+ .c-table-wrapper[data-v-f043b5ac] {
1614
1592
  --c-table-border-color: var(--border-color, #e5e7eb);
1615
1593
  --c-table-bg: var(--body-color, #fff);
1616
1594
  --c-table-header-bg: var(--card-color, #fafafc);
@@ -1621,55 +1599,55 @@ to {
1621
1599
  width: 100%;
1622
1600
  position: relative;
1623
1601
  }
1624
- .c-table-wrapper--compact[data-v-edcf4c02] {
1602
+ .c-table-wrapper--compact[data-v-f043b5ac] {
1625
1603
  --c-table-gap: 8px;
1626
1604
  --c-table-button-font-size: 14px;
1627
1605
  --c-table-cell-min-height: 28px;
1628
1606
  --c-table-cell-padding: 2px 4px;
1629
1607
  }
1630
- .c-table-wrapper--default[data-v-edcf4c02] {
1608
+ .c-table-wrapper--default[data-v-f043b5ac] {
1631
1609
  --c-table-gap: 16px;
1632
1610
  --c-table-button-font-size: 14px;
1633
1611
  --c-table-cell-min-height: 36px;
1634
1612
  --c-table-cell-padding: 6px 8px;
1635
1613
  }
1636
- .c-table-wrapper--comfortable[data-v-edcf4c02] {
1614
+ .c-table-wrapper--comfortable[data-v-f043b5ac] {
1637
1615
  --c-table-gap: 20px;
1638
1616
  --c-table-button-font-size: 15px;
1639
1617
  --c-table-cell-min-height: 40px;
1640
1618
  --c-table-cell-padding: 8px 10px;
1641
1619
  }
1642
- .c-table-wrapper--flex[data-v-edcf4c02] {
1620
+ .c-table-wrapper--flex[data-v-f043b5ac] {
1643
1621
  display: flex;
1644
1622
  flex-direction: column;
1645
1623
  height: 100%;
1646
1624
  min-height: 0;
1647
1625
  }
1648
- .c-table-wrapper--flex[data-v-edcf4c02] > .n-data-table,
1649
- .c-table-wrapper--flex > .table-error-state[data-v-edcf4c02] {
1626
+ .c-table-wrapper--flex[data-v-f043b5ac] > .n-data-table,
1627
+ .c-table-wrapper--flex > .table-error-state[data-v-f043b5ac] {
1650
1628
  flex: 1;
1651
1629
  min-height: 0;
1652
1630
  }
1653
- .c-table-wrapper--flex > .table-toolbar[data-v-edcf4c02],
1654
- .c-table-wrapper--flex > .batch-actions-bar[data-v-edcf4c02],
1655
- .c-table-wrapper--flex > .pagination-wrapper[data-v-edcf4c02] {
1631
+ .c-table-wrapper--flex > .table-toolbar[data-v-f043b5ac],
1632
+ .c-table-wrapper--flex > .batch-actions-bar[data-v-f043b5ac],
1633
+ .c-table-wrapper--flex > .pagination-wrapper[data-v-f043b5ac] {
1656
1634
  flex-shrink: 0;
1657
1635
  }
1658
- .column-drag-ghost[data-v-edcf4c02] {
1636
+ .column-drag-ghost[data-v-f043b5ac] {
1659
1637
  opacity: var(--c-table-drag-ghost-opacity);
1660
1638
  background: var(--c-table-drag-ghost-bg) !important;
1661
1639
  }
1662
- .drag-handle[data-v-edcf4c02] {
1640
+ .drag-handle[data-v-f043b5ac] {
1663
1641
  cursor: grab;
1664
1642
  }
1665
- .drag-handle[data-v-edcf4c02]:active {
1643
+ .drag-handle[data-v-f043b5ac]:active {
1666
1644
  cursor: grabbing;
1667
1645
  }
1668
- .c-table-wrapper[data-v-edcf4c02] .n-data-table-tfoot {
1646
+ .c-table-wrapper[data-v-f043b5ac] .n-data-table-tfoot {
1669
1647
  background: var(--c-table-summary-bg);
1670
1648
  font-weight: var(--c-table-summary-font-weight);
1671
1649
  }
1672
- .table-toolbar[data-v-edcf4c02] {
1650
+ .table-toolbar[data-v-f043b5ac] {
1673
1651
  display: flex;
1674
1652
  justify-content: space-between;
1675
1653
  align-items: center;
@@ -1677,29 +1655,29 @@ to {
1677
1655
  gap: var(--c-table-gap, 12px);
1678
1656
  flex-wrap: wrap;
1679
1657
  }
1680
- .table-toolbar .toolbar-left[data-v-edcf4c02] {
1658
+ .table-toolbar .toolbar-left[data-v-f043b5ac] {
1681
1659
  display: flex;
1682
1660
  align-items: center;
1683
1661
  gap: var(--c-table-gap, 12px);
1684
1662
  flex-wrap: wrap;
1685
1663
  min-width: 0;
1686
1664
  }
1687
- .table-toolbar .toolbar-right[data-v-edcf4c02] {
1665
+ .table-toolbar .toolbar-right[data-v-f043b5ac] {
1688
1666
  display: flex;
1689
1667
  align-items: center;
1690
1668
  gap: var(--c-table-gap, 8px);
1691
1669
  flex-wrap: wrap;
1692
1670
  }
1693
- .table-toolbar .toolbar-right .column-settings-btn[data-v-edcf4c02] {
1671
+ .table-toolbar .toolbar-right .column-settings-btn[data-v-f043b5ac] {
1694
1672
  opacity: 0.6;
1695
1673
  transition: opacity 0.2s ease, transform 0.2s ease;
1696
1674
  cursor: pointer;
1697
1675
  }
1698
- .table-toolbar .toolbar-right .column-settings-btn[data-v-edcf4c02]:hover {
1676
+ .table-toolbar .toolbar-right .column-settings-btn[data-v-f043b5ac]:hover {
1699
1677
  opacity: 1;
1700
1678
  transform: scale(1.1);
1701
1679
  }
1702
- .dynamic-rows-toolbar[data-v-edcf4c02] {
1680
+ .dynamic-rows-toolbar[data-v-f043b5ac] {
1703
1681
  margin-bottom: var(--c-table-gap, 16px);
1704
1682
  padding: var(--c-table-gap, 16px);
1705
1683
  border-radius: 8px;
@@ -1708,35 +1686,35 @@ to {
1708
1686
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
1709
1687
  transition: all 0.2s ease;
1710
1688
  }
1711
- .dynamic-rows-toolbar[data-v-edcf4c02]:hover {
1689
+ .dynamic-rows-toolbar[data-v-f043b5ac]:hover {
1712
1690
  border-color: var(--n-primary-color-suppl);
1713
1691
  }
1714
- [data-v-edcf4c02] .n-data-table {
1692
+ [data-v-f043b5ac] .n-data-table {
1715
1693
  table-layout: auto !important;
1716
1694
  width: 100% !important;
1717
1695
  border-radius: 8px;
1718
1696
  overflow: hidden;
1719
1697
  }
1720
- [data-v-edcf4c02] .n-data-table-wrapper {
1698
+ [data-v-f043b5ac] .n-data-table-wrapper {
1721
1699
  overflow-x: auto !important;
1722
1700
  }
1723
- .pagination-wrapper[data-v-edcf4c02] {
1701
+ .pagination-wrapper[data-v-f043b5ac] {
1724
1702
  margin-top: var(--c-table-gap, 16px);
1725
1703
  display: flex;
1726
1704
  justify-content: flex-end;
1727
1705
  }
1728
- [data-v-edcf4c02] .c-table-index-column {
1706
+ [data-v-f043b5ac] .c-table-index-column {
1729
1707
  padding-inline: 8px;
1730
1708
  }
1731
- [data-v-edcf4c02] .c-table-actions-column {
1709
+ [data-v-f043b5ac] .c-table-actions-column {
1732
1710
  text-align: center !important;
1733
1711
  padding: 8px 12px !important;
1734
1712
  }
1735
- [data-v-edcf4c02] .c-table-actions-column .n-space {
1713
+ [data-v-f043b5ac] .c-table-actions-column .n-space {
1736
1714
  justify-content: center !important;
1737
1715
  align-items: center !important;
1738
1716
  }
1739
- [data-v-edcf4c02] .cell-edit-wrapper {
1717
+ [data-v-f043b5ac] .cell-edit-wrapper {
1740
1718
  display: flex;
1741
1719
  align-items: center;
1742
1720
  justify-content: space-between;
@@ -1748,18 +1726,18 @@ to {
1748
1726
  cursor: pointer;
1749
1727
  position: relative;
1750
1728
  }
1751
- [data-v-edcf4c02] .cell-edit-wrapper:hover {
1729
+ [data-v-f043b5ac] .cell-edit-wrapper:hover {
1752
1730
  background-color: var(--n-color-target);
1753
1731
  }
1754
- [data-v-edcf4c02] .cell-edit-wrapper:hover .cell-edit-icon {
1732
+ [data-v-f043b5ac] .cell-edit-wrapper:hover .cell-edit-icon {
1755
1733
  opacity: 1;
1756
1734
  color: var(--n-color-success);
1757
1735
  transform: scale(1.05);
1758
1736
  }
1759
- [data-v-edcf4c02] .cell-edit-wrapper:active {
1737
+ [data-v-f043b5ac] .cell-edit-wrapper:active {
1760
1738
  transform: translateY(1px);
1761
1739
  }
1762
- [data-v-edcf4c02] .cell-value {
1740
+ [data-v-f043b5ac] .cell-value {
1763
1741
  flex: 1;
1764
1742
  overflow: hidden;
1765
1743
  text-overflow: ellipsis;
@@ -1768,7 +1746,7 @@ to {
1768
1746
  line-height: 1.4;
1769
1747
  font-size: 13px;
1770
1748
  }
1771
- .c-table-wrapper[data-v-edcf4c02] .cell-edit-icon {
1749
+ .c-table-wrapper[data-v-f043b5ac] .cell-edit-icon {
1772
1750
  flex-shrink: 0;
1773
1751
  width: 24px;
1774
1752
  height: 24px;
@@ -1783,20 +1761,20 @@ to {
1783
1761
  opacity: 0;
1784
1762
  position: relative;
1785
1763
  }
1786
- .c-table-wrapper[data-v-edcf4c02] .cell-edit-icon:hover {
1764
+ .c-table-wrapper[data-v-f043b5ac] .cell-edit-icon:hover {
1787
1765
  opacity: 1 !important;
1788
1766
  color: var(--n-color-success-hover) !important;
1789
1767
  background-color: var(--n-color-success-pressed);
1790
1768
  transform: scale(1.1);
1791
1769
  }
1792
- .c-table-wrapper[data-v-edcf4c02] .cell-edit-icon:active {
1770
+ .c-table-wrapper[data-v-f043b5ac] .cell-edit-icon:active {
1793
1771
  transform: scale(0.95);
1794
1772
  }
1795
- .c-table-wrapper[data-v-edcf4c02] .cell-edit-icon svg {
1773
+ .c-table-wrapper[data-v-f043b5ac] .cell-edit-icon svg {
1796
1774
  width: 14px;
1797
1775
  height: 14px;
1798
1776
  }
1799
- .cell-editing-container[data-v-edcf4c02],[data-v-edcf4c02] .cell-editing-container {
1777
+ .cell-editing-container[data-v-f043b5ac],[data-v-f043b5ac] .cell-editing-container {
1800
1778
  display: flex !important;
1801
1779
  align-items: center !important;
1802
1780
  width: 100% !important;
@@ -1808,35 +1786,35 @@ to {
1808
1786
  box-shadow: 0 0 0 2px var(--n-primary-color-suppl) !important;
1809
1787
  gap: 8px !important;
1810
1788
  }
1811
- .cell-editing-input[data-v-edcf4c02],[data-v-edcf4c02] .cell-editing-input {
1789
+ .cell-editing-input[data-v-f043b5ac],[data-v-f043b5ac] .cell-editing-input {
1812
1790
  flex: 1 !important;
1813
1791
  min-width: 0 !important;
1814
1792
  }
1815
- [data-v-edcf4c02] .cell-editing-input .n-input {
1793
+ [data-v-f043b5ac] .cell-editing-input .n-input {
1816
1794
  border: none !important;
1817
1795
  box-shadow: none !important;
1818
1796
  background: transparent !important;
1819
1797
  }
1820
- [data-v-edcf4c02] .cell-editing-input .n-input.n-input--focus {
1798
+ [data-v-f043b5ac] .cell-editing-input .n-input.n-input--focus {
1821
1799
  border: none !important;
1822
1800
  box-shadow: none !important;
1823
1801
  }
1824
- [data-v-edcf4c02] .cell-editing-input .n-input-number {
1802
+ [data-v-f043b5ac] .cell-editing-input .n-input-number {
1825
1803
  border: none !important;
1826
1804
  box-shadow: none !important;
1827
1805
  background: transparent !important;
1828
1806
  }
1829
- [data-v-edcf4c02] .cell-editing-input .n-select {
1807
+ [data-v-f043b5ac] .cell-editing-input .n-select {
1830
1808
  border: none !important;
1831
1809
  box-shadow: none !important;
1832
1810
  background: transparent !important;
1833
1811
  }
1834
- [data-v-edcf4c02] .cell-editing-input .n-select .n-base-selection {
1812
+ [data-v-f043b5ac] .cell-editing-input .n-select .n-base-selection {
1835
1813
  border: none !important;
1836
1814
  box-shadow: none !important;
1837
1815
  background: transparent !important;
1838
1816
  }
1839
- .cell-editing-actions[data-v-edcf4c02],[data-v-edcf4c02] .cell-editing-actions {
1817
+ .cell-editing-actions[data-v-f043b5ac],[data-v-f043b5ac] .cell-editing-actions {
1840
1818
  display: flex !important;
1841
1819
  flex-shrink: 0 !important;
1842
1820
  align-items: center !important;
@@ -1847,7 +1825,7 @@ to {
1847
1825
  padding: 2px !important;
1848
1826
  box-shadow: var(--n-box-shadow) !important;
1849
1827
  }
1850
- .cell-action-btn[data-v-edcf4c02],[data-v-edcf4c02] .cell-action-btn {
1828
+ .cell-action-btn[data-v-f043b5ac],[data-v-f043b5ac] .cell-action-btn {
1851
1829
  display: flex !important;
1852
1830
  align-items: center !important;
1853
1831
  justify-content: center !important;
@@ -1859,25 +1837,25 @@ to {
1859
1837
  transition: all 0.2s ease !important;
1860
1838
  background: transparent !important;
1861
1839
  }
1862
- .cell-action-btn.cell-action-save[data-v-edcf4c02],[data-v-edcf4c02] .cell-action-btn.cell-action-save {
1840
+ .cell-action-btn.cell-action-save[data-v-f043b5ac],[data-v-f043b5ac] .cell-action-btn.cell-action-save {
1863
1841
  color: var(--n-color-success) !important;
1864
1842
  }
1865
- .cell-action-btn.cell-action-save[data-v-edcf4c02]:hover,[data-v-edcf4c02] .cell-action-btn.cell-action-save:hover {
1843
+ .cell-action-btn.cell-action-save[data-v-f043b5ac]:hover,[data-v-f043b5ac] .cell-action-btn.cell-action-save:hover {
1866
1844
  background: var(--n-color-success-pressed) !important;
1867
1845
  transform: scale(1.1) !important;
1868
1846
  }
1869
- .cell-action-btn.cell-action-cancel[data-v-edcf4c02],[data-v-edcf4c02] .cell-action-btn.cell-action-cancel {
1847
+ .cell-action-btn.cell-action-cancel[data-v-f043b5ac],[data-v-f043b5ac] .cell-action-btn.cell-action-cancel {
1870
1848
  color: var(--n-color-error) !important;
1871
1849
  }
1872
- .cell-action-btn.cell-action-cancel[data-v-edcf4c02]:hover,[data-v-edcf4c02] .cell-action-btn.cell-action-cancel:hover {
1850
+ .cell-action-btn.cell-action-cancel[data-v-f043b5ac]:hover,[data-v-f043b5ac] .cell-action-btn.cell-action-cancel:hover {
1873
1851
  background: var(--n-color-error-pressed) !important;
1874
1852
  transform: scale(1.1) !important;
1875
1853
  }
1876
- .cell-action-btn svg[data-v-edcf4c02],[data-v-edcf4c02] .cell-action-btn svg {
1854
+ .cell-action-btn svg[data-v-f043b5ac],[data-v-f043b5ac] .cell-action-btn svg {
1877
1855
  width: 11px !important;
1878
1856
  height: 11px !important;
1879
1857
  }
1880
- [data-v-edcf4c02] .n-button {
1858
+ [data-v-f043b5ac] .n-button {
1881
1859
  white-space: nowrap;
1882
1860
  font-size: var(--c-table-button-font-size, 12px) !important;
1883
1861
  flex-shrink: 0 !important;
@@ -1885,106 +1863,106 @@ to {
1885
1863
  transition: all 0.2s ease;
1886
1864
  font-weight: 500;
1887
1865
  }
1888
- [data-v-edcf4c02] .n-button .n-icon {
1866
+ [data-v-f043b5ac] .n-button .n-icon {
1889
1867
  margin-right: 4px !important;
1890
1868
  }
1891
- [data-v-edcf4c02] .n-button.n-button--small-type {
1869
+ [data-v-f043b5ac] .n-button.n-button--small-type {
1892
1870
  padding: 4px 8px;
1893
1871
  height: 28px;
1894
1872
  line-height: 20px;
1895
1873
  }
1896
- [data-v-edcf4c02] .n-button.n-button--quaternary-type:hover {
1874
+ [data-v-f043b5ac] .n-button.n-button--quaternary-type:hover {
1897
1875
  transform: translateY(-1px);
1898
1876
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
1899
1877
  }
1900
- [data-v-edcf4c02] .n-button.n-button--quaternary-type:active {
1878
+ [data-v-f043b5ac] .n-button.n-button--quaternary-type:active {
1901
1879
  transform: translateY(0);
1902
1880
  }
1903
- [data-v-edcf4c02] .n-space.n-space--horizontal .n-space-item:not(:last-child) {
1881
+ [data-v-f043b5ac] .n-space.n-space--horizontal .n-space-item:not(:last-child) {
1904
1882
  margin-right: 6px !important;
1905
1883
  }
1906
- [data-v-edcf4c02] .n-modal .n-card {
1884
+ [data-v-f043b5ac] .n-modal .n-card {
1907
1885
  border-radius: 12px;
1908
1886
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
1909
1887
  }
1910
- [data-v-edcf4c02] .n-modal .n-card__header {
1888
+ [data-v-f043b5ac] .n-modal .n-card__header {
1911
1889
  padding: 20px 24px 16px;
1912
1890
  font-weight: 600;
1913
1891
  font-size: 16px;
1914
1892
  }
1915
- [data-v-edcf4c02] .n-modal .n-card__content {
1893
+ [data-v-f043b5ac] .n-modal .n-card__content {
1916
1894
  padding: 0 24px 16px;
1917
1895
  }
1918
- [data-v-edcf4c02] .n-modal .n-card__action {
1896
+ [data-v-f043b5ac] .n-modal .n-card__action {
1919
1897
  padding: 16px 24px 20px;
1920
1898
  border-top: 1px solid var(--n-divider-color);
1921
1899
  }
1922
- [data-v-edcf4c02] .n-descriptions .n-descriptions-item-label {
1900
+ [data-v-f043b5ac] .n-descriptions .n-descriptions-item-label {
1923
1901
  font-weight: 500;
1924
1902
  color: var(--n-text-color-2);
1925
1903
  }
1926
- [data-v-edcf4c02] .n-descriptions .n-descriptions-item-content {
1904
+ [data-v-f043b5ac] .n-descriptions .n-descriptions-item-content {
1927
1905
  color: var(--n-text-color-1);
1928
1906
  word-break: break-all;
1929
1907
  }
1930
1908
  @media (max-width: 768px) {
1931
- .c-table-wrapper[data-v-edcf4c02] {
1909
+ .c-table-wrapper[data-v-f043b5ac] {
1932
1910
  overflow-x: auto;
1933
1911
  }
1934
- [data-v-edcf4c02] .n-button {
1912
+ [data-v-f043b5ac] .n-button {
1935
1913
  font-size: 11px !important;
1936
1914
  padding: 3px 6px;
1937
1915
  }
1938
- [data-v-edcf4c02] .n-button .n-icon {
1916
+ [data-v-f043b5ac] .n-button .n-icon {
1939
1917
  margin-right: 2px !important;
1940
1918
  }
1941
- .cell-edit-icon[data-v-edcf4c02] {
1919
+ .cell-edit-icon[data-v-f043b5ac] {
1942
1920
  opacity: 0.6;
1943
1921
  }
1944
1922
  }
1945
1923
  @media (max-width: 768px) {
1946
- .cell-editing-container[data-v-edcf4c02],[data-v-edcf4c02] .cell-editing-container {
1924
+ .cell-editing-container[data-v-f043b5ac],[data-v-f043b5ac] .cell-editing-container {
1947
1925
  gap: 6px !important;
1948
1926
  }
1949
- .cell-editing-actions[data-v-edcf4c02],[data-v-edcf4c02] .cell-editing-actions {
1927
+ .cell-editing-actions[data-v-f043b5ac],[data-v-f043b5ac] .cell-editing-actions {
1950
1928
  gap: 3px !important;
1951
1929
  padding: 2px !important;
1952
1930
  }
1953
- .cell-action-btn[data-v-edcf4c02],[data-v-edcf4c02] .cell-action-btn {
1931
+ .cell-action-btn[data-v-f043b5ac],[data-v-f043b5ac] .cell-action-btn {
1954
1932
  width: 18px !important;
1955
1933
  height: 18px !important;
1956
1934
  }
1957
- .cell-action-btn svg[data-v-edcf4c02],[data-v-edcf4c02] .cell-action-btn svg {
1935
+ .cell-action-btn svg[data-v-f043b5ac],[data-v-f043b5ac] .cell-action-btn svg {
1958
1936
  width: 10px !important;
1959
1937
  height: 10px !important;
1960
1938
  }
1961
- .cell-edit-icon[data-v-edcf4c02] {
1939
+ .cell-edit-icon[data-v-f043b5ac] {
1962
1940
  opacity: 0.6 !important;
1963
1941
  }
1964
- [data-v-edcf4c02] .cell-value {
1942
+ [data-v-f043b5ac] .cell-value {
1965
1943
  margin-right: 12px !important;
1966
1944
  }
1967
1945
  }
1968
- [data-v-edcf4c02] .cell-edit-wrapper:focus-within,[data-v-edcf4c02] .cell-editing-container:focus-within {
1946
+ [data-v-f043b5ac] .cell-edit-wrapper:focus-within,[data-v-f043b5ac] .cell-editing-container:focus-within {
1969
1947
  outline: 2px solid var(--n-primary-color);
1970
1948
  outline-offset: 2px;
1971
1949
  }
1972
1950
  @media (prefers-contrast: high) {
1973
- .cell-edit-icon[data-v-edcf4c02] {
1951
+ .cell-edit-icon[data-v-f043b5ac] {
1974
1952
  opacity: 0.8;
1975
1953
  }
1976
- .cell-editing-actions[data-v-edcf4c02] {
1954
+ .cell-editing-actions[data-v-f043b5ac] {
1977
1955
  border-width: 2px;
1978
1956
  }
1979
1957
  }
1980
- .row-drag-ghost[data-v-edcf4c02] {
1958
+ .row-drag-ghost[data-v-f043b5ac] {
1981
1959
  opacity: 0.4;
1982
1960
  background: var(--c-table-drag-ghost-bg) !important;
1983
1961
  }
1984
- .row-drag-chosen[data-v-edcf4c02] {
1962
+ .row-drag-chosen[data-v-f043b5ac] {
1985
1963
  background: var(--n-color-hover, #f5f5f5) !important;
1986
1964
  }
1987
- .batch-actions-bar[data-v-edcf4c02] {
1965
+ .batch-actions-bar[data-v-f043b5ac] {
1988
1966
  display: flex;
1989
1967
  align-items: center;
1990
1968
  justify-content: space-between;
@@ -1994,52 +1972,52 @@ to {
1994
1972
  border-radius: 6px;
1995
1973
  border: 1px solid var(--n-primary-color-suppl, #70b3ff);
1996
1974
  }
1997
- .batch-actions-bar .batch-info[data-v-edcf4c02] {
1975
+ .batch-actions-bar .batch-info[data-v-f043b5ac] {
1998
1976
  font-size: 13px;
1999
1977
  color: var(--n-text-color-2);
2000
1978
  font-weight: 500;
2001
1979
  }
2002
- .table-error-state[data-v-edcf4c02] {
1980
+ .table-error-state[data-v-f043b5ac] {
2003
1981
  padding: 48px 24px;
2004
1982
  text-align: center;
2005
1983
  }
2006
- .table-error-state .error-content[data-v-edcf4c02] {
1984
+ .table-error-state .error-content[data-v-f043b5ac] {
2007
1985
  display: flex;
2008
1986
  flex-direction: column;
2009
1987
  align-items: center;
2010
1988
  gap: 12px;
2011
1989
  color: var(--n-text-color-3, #999);
2012
1990
  }
2013
- .table-error-state .error-message[data-v-edcf4c02] {
1991
+ .table-error-state .error-message[data-v-f043b5ac] {
2014
1992
  font-size: 14px;
2015
1993
  margin: 0;
2016
1994
  color: var(--n-text-color-2, #666);
2017
1995
  }
2018
1996
 
2019
1997
  /* layer: default */
2020
- .visible[data-v-edcf4c02]{visibility:visible;}
2021
- .fixed[data-v-edcf4c02]{position:fixed;}
2022
- .grid[data-v-edcf4c02]{display:grid;}
2023
- .mb-2[data-v-edcf4c02]{margin-bottom:0.5rem;}
2024
- .mb-4[data-v-edcf4c02]{margin-bottom:1rem;}
2025
- .ml-2[data-v-edcf4c02]{margin-left:0.5rem;}
2026
- .w60\%[data-v-edcf4c02]{width:60%;}
2027
- .flex[data-v-edcf4c02]{display:flex;}
2028
- .table[data-v-edcf4c02]{display:table;}
2029
- .scale-110[data-v-edcf4c02]{--un-scale-x:1.1;--un-scale-y:1.1;transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z));}
2030
- .cursor-pointer[data-v-edcf4c02]{cursor:pointer;}
2031
- .items-center[data-v-edcf4c02]{align-items:center;}
2032
- .justify-end[data-v-edcf4c02]{justify-content:flex-end;}
2033
- .justify-center[data-v-edcf4c02]{justify-content:center;}
2034
- .rd[data-v-edcf4c02]{border-radius:0.25rem;}
2035
- .bg-gray-50[data-v-edcf4c02]{--un-bg-opacity:1;background-color:rgb(249 250 251 / var(--un-bg-opacity));}
2036
- .p-4[data-v-edcf4c02]{padding:1rem;}
2037
- .px[data-v-edcf4c02]{padding-left:1rem;padding-right:1rem;}
2038
- .py-8[data-v-edcf4c02]{padding-top:2rem;padding-bottom:2rem;}
2039
- .text-center[data-v-edcf4c02]{text-align:center;}
2040
- .text-sm[data-v-edcf4c02]{font-size:0.875rem;line-height:1.25rem;}
2041
- .text-gray-400[data-v-edcf4c02]{--un-text-opacity:1;color:rgb(156 163 175 / var(--un-text-opacity));}
2042
- .text-gray-500[data-v-edcf4c02]{--un-text-opacity:1;color:rgb(107 114 128 / var(--un-text-opacity));}
2043
- .text-gray-600[data-v-edcf4c02]{--un-text-opacity:1;color:rgb(75 85 99 / var(--un-text-opacity));}
2044
- .accent-blue-500[data-v-edcf4c02]{--un-accent-opacity:1;accent-color:rgb(59 130 246 / var(--un-accent-opacity));}
2045
- .filter[data-v-edcf4c02]{filter:var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia);}
1998
+ .visible[data-v-f043b5ac]{visibility:visible;}
1999
+ .fixed[data-v-f043b5ac]{position:fixed;}
2000
+ .grid[data-v-f043b5ac]{display:grid;}
2001
+ .mb-2[data-v-f043b5ac]{margin-bottom:0.5rem;}
2002
+ .mb-4[data-v-f043b5ac]{margin-bottom:1rem;}
2003
+ .ml-2[data-v-f043b5ac]{margin-left:0.5rem;}
2004
+ .w60\%[data-v-f043b5ac]{width:60%;}
2005
+ .flex[data-v-f043b5ac]{display:flex;}
2006
+ .table[data-v-f043b5ac]{display:table;}
2007
+ .scale-110[data-v-f043b5ac]{--un-scale-x:1.1;--un-scale-y:1.1;transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z));}
2008
+ .cursor-pointer[data-v-f043b5ac]{cursor:pointer;}
2009
+ .items-center[data-v-f043b5ac]{align-items:center;}
2010
+ .justify-end[data-v-f043b5ac]{justify-content:flex-end;}
2011
+ .justify-center[data-v-f043b5ac]{justify-content:center;}
2012
+ .rd[data-v-f043b5ac]{border-radius:0.25rem;}
2013
+ .bg-gray-50[data-v-f043b5ac]{--un-bg-opacity:1;background-color:rgb(249 250 251 / var(--un-bg-opacity));}
2014
+ .p-4[data-v-f043b5ac]{padding:1rem;}
2015
+ .px[data-v-f043b5ac]{padding-left:1rem;padding-right:1rem;}
2016
+ .py-8[data-v-f043b5ac]{padding-top:2rem;padding-bottom:2rem;}
2017
+ .text-center[data-v-f043b5ac]{text-align:center;}
2018
+ .text-sm[data-v-f043b5ac]{font-size:0.875rem;line-height:1.25rem;}
2019
+ .text-gray-400[data-v-f043b5ac]{--un-text-opacity:1;color:rgb(156 163 175 / var(--un-text-opacity));}
2020
+ .text-gray-500[data-v-f043b5ac]{--un-text-opacity:1;color:rgb(107 114 128 / var(--un-text-opacity));}
2021
+ .text-gray-600[data-v-f043b5ac]{--un-text-opacity:1;color:rgb(75 85 99 / var(--un-text-opacity));}
2022
+ .accent-blue-500[data-v-f043b5ac]{--un-accent-opacity:1;accent-color:rgb(59 130 246 / var(--un-accent-opacity));}
2023
+ .filter[data-v-f043b5ac]{filter:var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia);}