@robot-admin/naive-ui-components 0.16.0 → 0.17.1

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 (225) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/README.md +12 -9
  3. package/README_EN.md +12 -9
  4. package/dist/C_ActionBar.css +56 -48
  5. package/dist/C_ActionBar2.cjs +1 -1
  6. package/dist/C_ActionBar2.js +1 -1
  7. package/dist/C_AntV2.cjs +1 -1
  8. package/dist/C_AntV2.js +3 -3
  9. package/dist/C_Barcode.css +6 -6
  10. package/dist/C_Barcode2.cjs +1 -1
  11. package/dist/C_Barcode2.js +1 -1
  12. package/dist/C_Chat.css +269 -185
  13. package/dist/C_Chat2.cjs +1 -1
  14. package/dist/C_Chat2.js +1 -1
  15. package/dist/C_Code.css +26 -26
  16. package/dist/C_Code2.cjs +1 -1
  17. package/dist/C_Code2.js +1 -1
  18. package/dist/C_Draggable2.cjs +1 -1
  19. package/dist/C_Draggable2.js +1 -1
  20. package/dist/C_FilePreview.css +96 -57
  21. package/dist/C_FilePreview2.cjs +1 -1
  22. package/dist/C_FilePreview2.js +1 -1
  23. package/dist/C_Form.base.css +295 -277
  24. package/dist/C_Form.css +295 -277
  25. package/dist/C_Form.d.cts +2 -1
  26. package/dist/C_Form.d.ts +2 -1
  27. package/dist/C_FormModal.css +10 -10
  28. package/dist/C_FormModal2.cjs +1 -1
  29. package/dist/C_FormModal2.js +1 -1
  30. package/dist/C_FormSearch.css +67 -68
  31. package/dist/C_FormSearch.d.cts +2 -1
  32. package/dist/C_FormSearch.d.ts +2 -1
  33. package/dist/C_FormSearch2.cjs +1 -1
  34. package/dist/C_FormSearch2.js +1 -1
  35. package/dist/C_FullCalendar2.cjs +1 -1
  36. package/dist/C_FullCalendar2.js +1 -1
  37. package/dist/C_GlobalSearch.css +140 -118
  38. package/dist/C_GlobalSearch2.cjs +1 -1
  39. package/dist/C_GlobalSearch2.js +1 -1
  40. package/dist/C_ImageCropper.css +12 -10
  41. package/dist/C_ImageCropper2.cjs +1 -1
  42. package/dist/C_ImageCropper2.js +1 -1
  43. package/dist/C_Login.css +79 -79
  44. package/dist/C_Login2.cjs +1 -1
  45. package/dist/C_Login2.js +1 -1
  46. package/dist/C_Map.css +10 -10
  47. package/dist/C_Map2.cjs +1 -1
  48. package/dist/C_Map2.js +1 -1
  49. package/dist/C_OrgChart.css +28 -4
  50. package/dist/C_OrgChart2.cjs +1 -1
  51. package/dist/C_OrgChart2.js +1 -1
  52. package/dist/C_QRCode2.cjs +1 -1
  53. package/dist/C_QRCode2.js +1 -1
  54. package/dist/C_Signature.css +15 -15
  55. package/dist/C_Signature2.cjs +1 -1
  56. package/dist/C_Signature2.js +1 -1
  57. package/dist/C_SplitPane.cjs +1 -1
  58. package/dist/C_SplitPane.css +251 -109
  59. package/dist/C_SplitPane.js +1 -1
  60. package/dist/C_SplitPane2.cjs +1 -1
  61. package/dist/C_SplitPane2.js +1 -1
  62. package/dist/C_Table.base.css +491 -563
  63. package/dist/C_Table.cjs +1 -1
  64. package/dist/C_Table.css +491 -563
  65. package/dist/C_Table.d.cts +3 -2
  66. package/dist/C_Table.d.ts +4 -2
  67. package/dist/C_Table.js +1 -1
  68. package/dist/C_TagsView2.cjs +1 -1
  69. package/dist/C_TagsView2.js +1 -1
  70. package/dist/C_Transfer.css +93 -84
  71. package/dist/C_Transfer2.cjs +1 -1
  72. package/dist/C_Transfer2.js +1 -1
  73. package/dist/C_Tree.css +72 -125
  74. package/dist/C_Tree.d.cts +3 -2
  75. package/dist/C_Tree.d.ts +15 -2
  76. package/dist/C_Tree2.cjs +1 -1
  77. package/dist/C_Tree2.js +1 -1
  78. package/dist/C_Upload.css +5 -5
  79. package/dist/C_Upload2.cjs +1 -1
  80. package/dist/C_Upload2.js +1 -1
  81. package/dist/C_VideoPlayer2.cjs +4 -3
  82. package/dist/C_VideoPlayer2.js +4 -3
  83. package/dist/C_VtableGantt.css +29 -28
  84. package/dist/C_VtableGantt2.cjs +1 -1
  85. package/dist/C_VtableGantt2.js +1 -1
  86. package/dist/C_WaterFall.css +29 -29
  87. package/dist/C_WaterFall2.cjs +1 -1
  88. package/dist/C_WaterFall2.js +1 -1
  89. package/dist/C_WorkFlow2.cjs +1 -1
  90. package/dist/C_WorkFlow2.js +1 -1
  91. package/dist/Card.cjs +1 -1
  92. package/dist/Card.js +1 -1
  93. package/dist/Custom.cjs +1 -1
  94. package/dist/Custom.js +1 -1
  95. package/dist/Dynamic.cjs +1 -1
  96. package/dist/Dynamic.js +1 -1
  97. package/dist/Steps.cjs +1 -1
  98. package/dist/Steps.js +1 -1
  99. package/dist/Tabs.cjs +1 -1
  100. package/dist/Tabs.js +1 -1
  101. package/dist/constants.d.cts +2 -2
  102. package/dist/constants.d.ts +2 -2
  103. package/dist/constants2.d.cts +2 -2
  104. package/dist/constants2.d.ts +2 -2
  105. package/dist/constants3.d.cts +2 -2
  106. package/dist/constants3.d.ts +2 -2
  107. package/dist/constants4.d.cts +4 -4
  108. package/dist/constants4.d.ts +4 -4
  109. package/dist/constants5.d.cts +3 -7
  110. package/dist/constants5.d.ts +3 -7
  111. package/dist/data.d.cts +10 -10
  112. package/dist/data.d.ts +10 -10
  113. package/dist/density.cjs +1 -0
  114. package/dist/density.d.cts +15 -0
  115. package/dist/density.d.ts +15 -0
  116. package/dist/density.js +1 -0
  117. package/dist/helpers.cjs +1 -1
  118. package/dist/helpers.js +1 -1
  119. package/dist/index.cjs +1 -1
  120. package/dist/index.d.cts +3 -3
  121. package/dist/index.d.ts +5 -3
  122. package/dist/index.js +1 -1
  123. package/dist/index.vue.d.cts +5 -5
  124. package/dist/index.vue.d.ts +5 -5
  125. package/dist/index10.vue.d.cts +5 -5
  126. package/dist/index10.vue.d.ts +3 -3
  127. package/dist/index11.vue.d.cts +3 -3
  128. package/dist/index11.vue.d.ts +5 -5
  129. package/dist/index12.vue.d.cts +5 -5
  130. package/dist/index13.vue.d.ts +5 -5
  131. package/dist/index14.vue.d.cts +5 -5
  132. package/dist/index14.vue.d.ts +9 -9
  133. package/dist/index15.vue.d.cts +9 -9
  134. package/dist/index15.vue.d.ts +3 -3
  135. package/dist/index16.vue.d.cts +3 -3
  136. package/dist/index17.vue.d.ts +1 -1
  137. package/dist/index18.vue.d.cts +1 -1
  138. package/dist/index18.vue.d.ts +7 -7
  139. package/dist/index19.vue.d.cts +7 -7
  140. package/dist/index19.vue.d.ts +5 -5
  141. package/dist/index2.vue.d.cts +2 -2
  142. package/dist/index2.vue.d.ts +2 -2
  143. package/dist/index20.vue.d.cts +6 -2
  144. package/dist/index20.vue.d.ts +6 -2
  145. package/dist/index21.vue.d.cts +2 -2
  146. package/dist/index21.vue.d.ts +2 -2
  147. package/dist/index22.vue.d.cts +2 -2
  148. package/dist/index22.vue.d.ts +2 -2
  149. package/dist/index23.vue.d.cts +2 -2
  150. package/dist/index23.vue.d.ts +2 -2
  151. package/dist/index25.vue.d.cts +5 -5
  152. package/dist/index25.vue.d.ts +5 -5
  153. package/dist/index27.vue.d.cts +2 -2
  154. package/dist/index27.vue.d.ts +2 -2
  155. package/dist/index28.vue.d.cts +7 -3
  156. package/dist/index28.vue.d.ts +7 -3
  157. package/dist/index3.vue.d.cts +3 -3
  158. package/dist/index3.vue.d.ts +3 -3
  159. package/dist/index4.vue.d.cts +5 -5
  160. package/dist/index5.vue.d.ts +2 -2
  161. package/dist/index6.vue.d.cts +2 -2
  162. package/dist/index6.vue.d.ts +7 -4
  163. package/dist/index7.vue.d.cts +7 -4
  164. package/dist/index7.vue.d.ts +2 -2
  165. package/dist/index8.vue.d.cts +2 -2
  166. package/dist/index8.vue.d.ts +4 -6
  167. package/dist/index9.vue.d.cts +4 -6
  168. package/dist/index9.vue.d.ts +5 -5
  169. package/dist/mapUtils.d.cts +4 -4
  170. package/dist/mapUtils.d.ts +4 -4
  171. package/dist/presets.d.cts +4 -1
  172. package/dist/presets.d.ts +4 -1
  173. package/dist/style.css +1763 -1566
  174. package/dist/useCalendarEvents.d.cts +10 -9
  175. package/dist/useCalendarEvents.d.ts +10 -9
  176. package/dist/useCollapsePanel.d.cts +3 -3
  177. package/dist/useCollapsePanel.d.ts +3 -3
  178. package/dist/useCropperCore.d.cts +9 -9
  179. package/dist/useCropperCore.d.ts +9 -9
  180. package/dist/useDraggableLayout.d.cts +15 -13
  181. package/dist/useDraggableLayout.d.ts +15 -13
  182. package/dist/useDynamicFormState.d.cts +5 -2
  183. package/dist/useDynamicFormState.d.ts +5 -2
  184. package/dist/useEdgeInteraction.d.cts +3 -3
  185. package/dist/useEdgeInteraction.d.ts +3 -3
  186. package/dist/useFullscreen.d.cts +4 -0
  187. package/dist/useFullscreen.d.ts +4 -0
  188. package/dist/useGlobalSearch.d.cts +9 -4
  189. package/dist/useGlobalSearch.d.ts +9 -4
  190. package/dist/useInfiniteScroll.d.cts +4 -1
  191. package/dist/useInfiniteScroll.d.ts +4 -1
  192. package/dist/useQRCode.d.cts +3 -3
  193. package/dist/useQRCode.d.ts +3 -3
  194. package/dist/useSearchState.d.cts +8 -6
  195. package/dist/useSearchState.d.ts +8 -6
  196. package/dist/useSignatureHistory.d.cts +7 -7
  197. package/dist/useSignatureHistory.d.ts +7 -7
  198. package/dist/useSplitResize.d.cts +50 -61
  199. package/dist/useSplitResize.d.ts +50 -61
  200. package/dist/useTableQuery.cjs +3 -3
  201. package/dist/useTableQuery.d.cts +237 -13
  202. package/dist/useTableQuery.d.ts +237 -13
  203. package/dist/useTableQuery.js +3 -3
  204. package/dist/useTimeSelection.d.cts +2 -2
  205. package/dist/useTimeSelection.d.ts +2 -2
  206. package/dist/useWorkflowValidation.d.cts +3 -3
  207. package/dist/useWorkflowValidation.d.ts +3 -3
  208. package/dist/verification.d.cts +5 -5
  209. package/dist/verification.d.ts +5 -5
  210. package/docs/component-review-20261019.md +55 -0
  211. package/docs/guides/form-density.en.md +42 -0
  212. package/docs/guides/form-density.md +59 -0
  213. package/docs/guides/runtime-performance.md +38 -0
  214. package/docs/guides/split-pane.en.md +103 -0
  215. package/docs/guides/split-pane.md +126 -0
  216. package/docs/guides/table-density.md +87 -0
  217. package/docs/guides/transfer.md +11 -0
  218. package/docs/guides/tree.md +157 -0
  219. package/docs/guides/usage.en.md +2 -0
  220. package/docs/guides/usage.md +2 -0
  221. package/docs/runtime-review-20261019.md +41 -0
  222. package/docs/wl-ui-produce-coverage.md +62 -0
  223. package/package.json +4 -2
  224. package/dist/useTreeOperations.d.cts +0 -185
  225. package/dist/useTreeOperations.d.ts +0 -185
package/dist/C_Form.d.cts CHANGED
@@ -1,2 +1,3 @@
1
1
  import { $ as FormStepActionsSlotProps, A as ResolvedFormConfig, B as DynamicFormConfig, C as unregisterRenderer, D as FormConfig, E as FORM_GLOBAL_CONFIG_KEY, F as AsyncOptionsContext, G as FormActionSlotProps, H as DynamicFormState, I as CardLayoutConfig, J as FormMode, K as FormErrorContext, L as ComponentType, M as resolveFormConfig, N as shouldShowActions, O as LAYOUTS_WITH_OWN_CONTROLS, P as useFormGlobalConfig, Q as FormSlots, R as CustomLayoutConfig, S as registerRenderer, T as FORM_DEFAULTS, U as FieldPath, V as DynamicFormController, W as FieldPathValue, X as FormOption, Y as FormModel, Z as FormRecord, _ as FormRendererContext, a as UseFormDirtyReturn, at as LayoutConfig, b as UseFormRendererOptions, c as UseCFormOptions, ct as OptionItem, d as defineFormOptions, dt as TabsLayoutConfig, et as FormSubmitContext, f as useCForm, ft as FormValidationRule, g as FormRenderer, gt as SPEC_RULES, h as FORM_RENDERER_REGISTRY_KEY, ht as RuleSpec, i as useDynamicFormState, it as LabelPlacement, j as mergeFormConfig, k as LayoutCallbacks, l as UseCFormReturn, lt as StepsLayoutConfig, m as ComponentMap, mt as PRESET_RULES, n as DynamicFormStateType, nt as GridLayoutConfig, o as useFormDirty, ot as LayoutType, p as _default, pt as NAIVE_COMBOS, q as FormInstance, r as FIELD_TYPE_OPTIONS, rt as InlineLayoutConfig, s as useFormState, st as MaybePromise, t as DYNAMIC_FORM_STATE_KEY, tt as FormTabActionsSlotProps, u as defineFormConfig, ut as SubmitEventPayload, v as FormRendererRegistry, w as useFormRenderer, x as createFormRendererRegistry, y as RendererProps, z as DynamicFieldConfig } from "./useDynamicFormState.cjs";
2
- export { type AsyncOptionsContext, _default as C_Form, type CardLayoutConfig, type ComponentMap, type ComponentType, type CustomLayoutConfig, DYNAMIC_FORM_STATE_KEY, type DynamicFieldConfig, type DynamicFormConfig, type DynamicFormController, type DynamicFormState, type DynamicFormStateType, FIELD_TYPE_OPTIONS, FORM_DEFAULTS, FORM_GLOBAL_CONFIG_KEY, FORM_RENDERER_REGISTRY_KEY, type FieldPath, type FieldPathValue, type FormActionSlotProps, type FormConfig, type FormErrorContext, type FormInstance, type FormMode, type FormModel, type FormOption, type FormRecord, type FormRenderer, type FormRendererContext, type FormRendererRegistry, type FormSlots, type FormStepActionsSlotProps, type FormSubmitContext, type FormTabActionsSlotProps, type FormValidationRule, type GridLayoutConfig, type InlineLayoutConfig, LAYOUTS_WITH_OWN_CONTROLS, type LabelPlacement, type LayoutCallbacks, type LayoutConfig, type LayoutType, type MaybePromise, NAIVE_COMBOS, type OptionItem, PRESET_RULES, type RendererProps, type ResolvedFormConfig, type RuleSpec, SPEC_RULES, type StepsLayoutConfig, type SubmitEventPayload, type TabsLayoutConfig, type UseCFormOptions, type UseCFormReturn, type UseFormDirtyReturn, type UseFormRendererOptions, createFormRendererRegistry, defineFormConfig, defineFormOptions, mergeFormConfig, registerRenderer, resolveFormConfig, shouldShowActions, unregisterRenderer, useCForm, useDynamicFormState, useFormDirty, useFormGlobalConfig, useFormRenderer, useFormState };
2
+ import { t as ComponentDensity } from "./density.cjs";
3
+ export { type AsyncOptionsContext, _default as C_Form, type CardLayoutConfig, type ComponentDensity, type ComponentMap, type ComponentType, type CustomLayoutConfig, DYNAMIC_FORM_STATE_KEY, type DynamicFieldConfig, type DynamicFormConfig, type DynamicFormController, type DynamicFormState, type DynamicFormStateType, FIELD_TYPE_OPTIONS, FORM_DEFAULTS, FORM_GLOBAL_CONFIG_KEY, FORM_RENDERER_REGISTRY_KEY, type FieldPath, type FieldPathValue, type FormActionSlotProps, type FormConfig, type FormErrorContext, type FormInstance, type FormMode, type FormModel, type FormOption, type FormRecord, type FormRenderer, type FormRendererContext, type FormRendererRegistry, type FormSlots, type FormStepActionsSlotProps, type FormSubmitContext, type FormTabActionsSlotProps, type FormValidationRule, type GridLayoutConfig, type InlineLayoutConfig, LAYOUTS_WITH_OWN_CONTROLS, type LabelPlacement, type LayoutCallbacks, type LayoutConfig, type LayoutType, type MaybePromise, NAIVE_COMBOS, type OptionItem, PRESET_RULES, type RendererProps, type ResolvedFormConfig, type RuleSpec, SPEC_RULES, type StepsLayoutConfig, type SubmitEventPayload, type TabsLayoutConfig, type UseCFormOptions, type UseCFormReturn, type UseFormDirtyReturn, type UseFormRendererOptions, createFormRendererRegistry, defineFormConfig, defineFormOptions, mergeFormConfig, registerRenderer, resolveFormConfig, shouldShowActions, unregisterRenderer, useCForm, useDynamicFormState, useFormDirty, useFormGlobalConfig, useFormRenderer, useFormState };
package/dist/C_Form.d.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  import { $ as FormStepActionsSlotProps, A as ResolvedFormConfig, B as DynamicFormConfig, C as unregisterRenderer, D as FormConfig, E as FORM_GLOBAL_CONFIG_KEY, F as AsyncOptionsContext, G as FormActionSlotProps, H as DynamicFormState, I as CardLayoutConfig, J as FormMode, K as FormErrorContext, L as ComponentType, M as resolveFormConfig, N as shouldShowActions, O as LAYOUTS_WITH_OWN_CONTROLS, P as useFormGlobalConfig, Q as FormSlots, R as CustomLayoutConfig, S as registerRenderer, T as FORM_DEFAULTS, U as FieldPath, V as DynamicFormController, W as FieldPathValue, X as FormOption, Y as FormModel, Z as FormRecord, _ as FormRendererContext, a as UseFormDirtyReturn, at as LayoutConfig, b as UseFormRendererOptions, c as UseCFormOptions, ct as OptionItem, d as defineFormOptions, dt as TabsLayoutConfig, et as FormSubmitContext, f as useCForm, ft as FormValidationRule, g as FormRenderer, gt as SPEC_RULES, h as FORM_RENDERER_REGISTRY_KEY, ht as RuleSpec, i as useDynamicFormState, it as LabelPlacement, j as mergeFormConfig, k as LayoutCallbacks, l as UseCFormReturn, lt as StepsLayoutConfig, m as ComponentMap, mt as PRESET_RULES, n as DynamicFormStateType, nt as GridLayoutConfig, o as useFormDirty, ot as LayoutType, p as _default, pt as NAIVE_COMBOS, q as FormInstance, r as FIELD_TYPE_OPTIONS, rt as InlineLayoutConfig, s as useFormState, st as MaybePromise, t as DYNAMIC_FORM_STATE_KEY, tt as FormTabActionsSlotProps, u as defineFormConfig, ut as SubmitEventPayload, v as FormRendererRegistry, w as useFormRenderer, x as createFormRendererRegistry, y as RendererProps, z as DynamicFieldConfig } from "./useDynamicFormState.js";
2
- export { type AsyncOptionsContext, _default as C_Form, type CardLayoutConfig, type ComponentMap, type ComponentType, type CustomLayoutConfig, DYNAMIC_FORM_STATE_KEY, type DynamicFieldConfig, type DynamicFormConfig, type DynamicFormController, type DynamicFormState, type DynamicFormStateType, FIELD_TYPE_OPTIONS, FORM_DEFAULTS, FORM_GLOBAL_CONFIG_KEY, FORM_RENDERER_REGISTRY_KEY, type FieldPath, type FieldPathValue, type FormActionSlotProps, type FormConfig, type FormErrorContext, type FormInstance, type FormMode, type FormModel, type FormOption, type FormRecord, type FormRenderer, type FormRendererContext, type FormRendererRegistry, type FormSlots, type FormStepActionsSlotProps, type FormSubmitContext, type FormTabActionsSlotProps, type FormValidationRule, type GridLayoutConfig, type InlineLayoutConfig, LAYOUTS_WITH_OWN_CONTROLS, type LabelPlacement, type LayoutCallbacks, type LayoutConfig, type LayoutType, type MaybePromise, NAIVE_COMBOS, type OptionItem, PRESET_RULES, type RendererProps, type ResolvedFormConfig, type RuleSpec, SPEC_RULES, type StepsLayoutConfig, type SubmitEventPayload, type TabsLayoutConfig, type UseCFormOptions, type UseCFormReturn, type UseFormDirtyReturn, type UseFormRendererOptions, createFormRendererRegistry, defineFormConfig, defineFormOptions, mergeFormConfig, registerRenderer, resolveFormConfig, shouldShowActions, unregisterRenderer, useCForm, useDynamicFormState, useFormDirty, useFormGlobalConfig, useFormRenderer, useFormState };
2
+ import { t as ComponentDensity } from "./density.js";
3
+ export { type AsyncOptionsContext, _default as C_Form, type CardLayoutConfig, type ComponentDensity, type ComponentMap, type ComponentType, type CustomLayoutConfig, DYNAMIC_FORM_STATE_KEY, type DynamicFieldConfig, type DynamicFormConfig, type DynamicFormController, type DynamicFormState, type DynamicFormStateType, FIELD_TYPE_OPTIONS, FORM_DEFAULTS, FORM_GLOBAL_CONFIG_KEY, FORM_RENDERER_REGISTRY_KEY, type FieldPath, type FieldPathValue, type FormActionSlotProps, type FormConfig, type FormErrorContext, type FormInstance, type FormMode, type FormModel, type FormOption, type FormRecord, type FormRenderer, type FormRendererContext, type FormRendererRegistry, type FormSlots, type FormStepActionsSlotProps, type FormSubmitContext, type FormTabActionsSlotProps, type FormValidationRule, type GridLayoutConfig, type InlineLayoutConfig, LAYOUTS_WITH_OWN_CONTROLS, type LabelPlacement, type LayoutCallbacks, type LayoutConfig, type LayoutType, type MaybePromise, NAIVE_COMBOS, type OptionItem, PRESET_RULES, type RendererProps, type ResolvedFormConfig, type RuleSpec, SPEC_RULES, type StepsLayoutConfig, type SubmitEventPayload, type TabsLayoutConfig, type UseCFormOptions, type UseCFormReturn, type UseFormDirtyReturn, type UseFormRendererOptions, createFormRendererRegistry, defineFormConfig, defineFormOptions, mergeFormConfig, registerRenderer, resolveFormConfig, shouldShowActions, unregisterRenderer, useCForm, useDynamicFormState, useFormDirty, useFormGlobalConfig, useFormRenderer, useFormState };
@@ -7,41 +7,41 @@
7
7
  * @Description: 紧凑型数据驱动表单弹窗样式
8
8
  * Copyright (c) 2026 by CHENY, All Rights Reserved 😎.
9
9
  */
10
- .c-form-modal[data-v-ebe93803] {
10
+ .c-form-modal[data-v-96dd2fea] {
11
11
  overflow: hidden;
12
12
  border-radius: 10px;
13
13
  }
14
- .c-form-modal[data-v-ebe93803] .n-card-header {
14
+ .c-form-modal[data-v-96dd2fea] .n-card-header {
15
15
  min-height: 46px;
16
16
  padding: 12px 16px;
17
17
  border-bottom: 1px solid var(--n-border-color);
18
18
  }
19
- .c-form-modal[data-v-ebe93803] .n-card-header__main {
19
+ .c-form-modal[data-v-96dd2fea] .n-card-header__main {
20
20
  font-size: 15px;
21
21
  font-weight: 650;
22
22
  }
23
- .c-form-modal[data-v-ebe93803] .n-card__content {
23
+ .c-form-modal[data-v-96dd2fea] :is(.n-card-content, .n-card__content) {
24
24
  padding: 14px 16px 8px;
25
25
  }
26
- .c-form-modal[data-v-ebe93803] .n-card__action {
26
+ .c-form-modal[data-v-96dd2fea] .n-card__action {
27
27
  display: flex;
28
28
  justify-content: flex-end;
29
29
  padding: 10px 16px;
30
30
  background: color-mix(in srgb, var(--n-color-modal) 94%, var(--n-border-color));
31
31
  border-top: 1px solid var(--n-border-color);
32
32
  }
33
- .c-form-modal[data-v-ebe93803] .n-form-item {
33
+ .c-form-modal[data-v-96dd2fea] .n-form-item {
34
34
  margin-bottom: 2px;
35
35
  }
36
36
  @media (max-width: 640px) {
37
- .c-form-modal[data-v-ebe93803] .n-card__content {
37
+ .c-form-modal[data-v-96dd2fea] :is(.n-card-content, .n-card__content) {
38
38
  padding-inline: 12px;
39
39
  }
40
- .c-form-modal[data-v-ebe93803] .n-card__action {
40
+ .c-form-modal[data-v-96dd2fea] .n-card__action {
41
41
  padding-inline: 12px;
42
42
  }
43
43
  }
44
44
 
45
45
  /* layer: default */
46
- .visible[data-v-ebe93803]{visibility:visible;}
47
- .px[data-v-ebe93803]{padding-left:1rem;padding-right:1rem;}
46
+ .visible[data-v-96dd2fea]{visibility:visible;}
47
+ .px[data-v-96dd2fea]{padding-left:1rem;padding-right:1rem;}
@@ -1 +1 @@
1
- require(`./chunk.cjs`);const e=require(`./export-helper.cjs`),t=require(`./C_ActionBar2.cjs`),n=require(`./helpers.cjs`);let r=require(`vue`),i=require(`naive-ui`);const a=(0,r.defineComponent)({name:`C_FormModal`,__name:`index`,props:{editor:{},options:{},config:{default:()=>({})},width:{default:`min(620px, calc(100vw - 24px))`},createText:{default:`创建`},saveText:{default:`保存`},cancelText:{default:`取消`},closable:{type:Boolean,default:!0},maskClosable:{type:Boolean,default:!0},closeOnEsc:{type:Boolean,default:!0}},emits:[`submit`,`close`],setup(e,{emit:a}){let o=e,s=a,c=(0,r.ref)(null),l=(0,r.computed)({get:()=>o.editor.visible.value,set:e=>{e||h()}}),u=(0,r.computed)(()=>o.editor.title.value),d=(0,r.computed)(()=>o.editor.loading.value),f=(0,r.computed)(()=>typeof o.width==`number`?`${o.width}px`:o.width),p=(0,r.computed)({get:()=>o.editor.model.value??{},set:e=>{o.editor.setModel(e)}}),m=(0,r.computed)(()=>({size:`small`,...o.config,mode:o.editor.mode.value,initialValues:o.editor.model.value??void 0,showActions:!1,onSubmit:async(e,t)=>{if(await o.config?.onSubmit?.(e,t),t?.signal.aborted)return;let n=await o.editor.submit(e.model);t?.signal.aborted||s(`submit`,e,n)}})),h=()=>{o.editor.close(),s(`close`)},g={align:`right`},_=(0,r.computed)(()=>t.a([{key:`cancel`,label:o.cancelText,disabled:d,onClick:h},{key:o.editor.mode.value===`create`?`create`:`save`,label:o.editor.mode.value===`create`?o.createText:o.saveText,loading:d,onClick:async()=>{await c.value?.submit()}}]));return(a,o)=>((0,r.openBlock)(),(0,r.createBlock)((0,r.unref)(i.NModal),{show:l.value,"onUpdate:show":o[1]||=e=>l.value=e,preset:`card`,title:u.value,style:(0,r.normalizeStyle)({width:f.value}),"mask-closable":e.maskClosable,"close-on-esc":e.closeOnEsc,closable:e.closable,class:`c-form-modal`},{action:(0,r.withCtx)(()=>[(0,r.createVNode)(t.t,{actions:_.value,config:g},null,8,[`actions`])]),default:(0,r.withCtx)(()=>[l.value&&e.editor.model.value?((0,r.openBlock)(),(0,r.createBlock)((0,r.unref)(n.i),{key:0,ref_key:`formRef`,ref:c,modelValue:p.value,"onUpdate:modelValue":o[0]||=e=>p.value=e,options:e.options,config:m.value},(0,r.createSlots)({_:2},[(0,r.renderList)(a.$slots,(e,t)=>({name:t,fn:(0,r.withCtx)(e=>[(0,r.renderSlot)(a.$slots,t,(0,r.normalizeProps)((0,r.guardReactiveProps)(e)),void 0,!0)])}))]),1032,[`modelValue`,`options`,`config`])):(0,r.createCommentVNode)(`v-if`,!0)]),_:3},8,[`show`,`title`,`style`,`mask-closable`,`close-on-esc`,`closable`]))}});var o=e.t(a,[[`__scopeId`,`data-v-ebe93803`]]);Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return o}});
1
+ require(`./chunk.cjs`);const e=require(`./density.cjs`),t=require(`./export-helper.cjs`),n=require(`./C_ActionBar2.cjs`),r=require(`./helpers.cjs`);let i=require(`vue`),a=require(`naive-ui`);const o=(0,i.defineComponent)({name:`C_FormModal`,__name:`index`,props:{editor:{},options:{},config:{default:()=>({})},width:{default:`min(620px, calc(100vw - 24px))`},createText:{default:`创建`},saveText:{default:`保存`},cancelText:{default:`取消`},closable:{type:Boolean,default:!0},maskClosable:{type:Boolean,default:!0},closeOnEsc:{type:Boolean,default:!0}},emits:[`submit`,`close`],setup(t,{emit:o}){let s=t,c=o,l=(0,i.ref)(null),u=r.b(),d=(0,i.computed)(()=>s.config?.density??u.density),f=(0,i.computed)({get:()=>s.editor.visible.value,set:e=>{e||v()}}),p=(0,i.computed)(()=>s.editor.title.value),m=(0,i.computed)(()=>s.editor.loading.value),h=(0,i.computed)(()=>typeof s.width==`number`?`${s.width}px`:s.width),g=(0,i.computed)({get:()=>s.editor.model.value??{},set:e=>{s.editor.setModel(e)}}),_=(0,i.computed)(()=>({...d.value===void 0?{size:`small`}:{},...s.config,mode:s.editor.mode.value,initialValues:s.editor.model.value??void 0,showActions:!1,onSubmit:async(e,t)=>{if(await s.config?.onSubmit?.(e,t),t?.signal.aborted)return;let n=await s.editor.submit(e.model);t?.signal.aborted||c(`submit`,e,n)}})),v=()=>{s.editor.close(),c(`close`)},y=(0,i.computed)(()=>{let t={align:`right`};return(d.value!==void 0||s.config?.size!==void 0)&&(t.size=r.v(r._(_.value,u)).size),d.value!==void 0&&(t.gap=e.t(d.value).gap,t.compact=d.value===`compact`),t}),b=(0,i.computed)(()=>n.a([{key:`cancel`,label:s.cancelText,disabled:m,onClick:v},{key:s.editor.mode.value===`create`?`create`:`save`,label:s.editor.mode.value===`create`?s.createText:s.saveText,loading:m,onClick:async()=>{await l.value?.submit()}}]));return(e,o)=>((0,i.openBlock)(),(0,i.createBlock)((0,i.unref)(a.NModal),{show:f.value,"onUpdate:show":o[1]||=e=>f.value=e,preset:`card`,title:p.value,style:(0,i.normalizeStyle)({width:h.value}),"mask-closable":t.maskClosable,"close-on-esc":t.closeOnEsc,closable:t.closable,class:`c-form-modal`},{action:(0,i.withCtx)(()=>[(0,i.createVNode)(n.t,{actions:b.value,config:y.value},null,8,[`actions`,`config`])]),default:(0,i.withCtx)(()=>[f.value&&t.editor.model.value?((0,i.openBlock)(),(0,i.createBlock)((0,i.unref)(r.i),{key:0,ref_key:`formRef`,ref:l,modelValue:g.value,"onUpdate:modelValue":o[0]||=e=>g.value=e,options:t.options,config:_.value},(0,i.createSlots)({_:2},[(0,i.renderList)(e.$slots,(t,n)=>({name:n,fn:(0,i.withCtx)(t=>[(0,i.renderSlot)(e.$slots,n,(0,i.normalizeProps)((0,i.guardReactiveProps)(t)),void 0,!0)])}))]),1032,[`modelValue`,`options`,`config`])):(0,i.createCommentVNode)(`v-if`,!0)]),_:3},8,[`show`,`title`,`style`,`mask-closable`,`close-on-esc`,`closable`]))}});var s=t.t(o,[[`__scopeId`,`data-v-96dd2fea`]]);Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return s}});
@@ -1 +1 @@
1
- import{t as e}from"./export-helper.js";import{a as t,t as n}from"./C_ActionBar2.js";import{i as r}from"./helpers.js";import{computed as i,createBlock as a,createCommentVNode as o,createSlots as s,createVNode as c,defineComponent as l,guardReactiveProps as u,normalizeProps as d,normalizeStyle as f,openBlock as p,ref as m,renderList as h,renderSlot as g,unref as _,withCtx as v}from"vue";import{NModal as y}from"naive-ui";var b=e(l({name:`C_FormModal`,__name:`index`,props:{editor:{},options:{},config:{default:()=>({})},width:{default:`min(620px, calc(100vw - 24px))`},createText:{default:`创建`},saveText:{default:`保存`},cancelText:{default:`取消`},closable:{type:Boolean,default:!0},maskClosable:{type:Boolean,default:!0},closeOnEsc:{type:Boolean,default:!0}},emits:[`submit`,`close`],setup(e,{emit:l}){let b=e,x=l,S=m(null),C=i({get:()=>b.editor.visible.value,set:e=>{e||k()}}),w=i(()=>b.editor.title.value),T=i(()=>b.editor.loading.value),E=i(()=>typeof b.width==`number`?`${b.width}px`:b.width),D=i({get:()=>b.editor.model.value??{},set:e=>{b.editor.setModel(e)}}),O=i(()=>({size:`small`,...b.config,mode:b.editor.mode.value,initialValues:b.editor.model.value??void 0,showActions:!1,onSubmit:async(e,t)=>{if(await b.config?.onSubmit?.(e,t),t?.signal.aborted)return;let n=await b.editor.submit(e.model);t?.signal.aborted||x(`submit`,e,n)}})),k=()=>{b.editor.close(),x(`close`)},A={align:`right`},j=i(()=>t([{key:`cancel`,label:b.cancelText,disabled:T,onClick:k},{key:b.editor.mode.value===`create`?`create`:`save`,label:b.editor.mode.value===`create`?b.createText:b.saveText,loading:T,onClick:async()=>{await S.value?.submit()}}]));return(t,i)=>(p(),a(_(y),{show:C.value,"onUpdate:show":i[1]||=e=>C.value=e,preset:`card`,title:w.value,style:f({width:E.value}),"mask-closable":e.maskClosable,"close-on-esc":e.closeOnEsc,closable:e.closable,class:`c-form-modal`},{action:v(()=>[c(n,{actions:j.value,config:A},null,8,[`actions`])]),default:v(()=>[C.value&&e.editor.model.value?(p(),a(_(r),{key:0,ref_key:`formRef`,ref:S,modelValue:D.value,"onUpdate:modelValue":i[0]||=e=>D.value=e,options:e.options,config:O.value},s({_:2},[h(t.$slots,(e,n)=>({name:n,fn:v(e=>[g(t.$slots,n,d(u(e)),void 0,!0)])}))]),1032,[`modelValue`,`options`,`config`])):o(`v-if`,!0)]),_:3},8,[`show`,`title`,`style`,`mask-closable`,`close-on-esc`,`closable`]))}}),[[`__scopeId`,`data-v-ebe93803`]]);export{b as t};
1
+ import{t as e}from"./density.js";import{t}from"./export-helper.js";import{a as n,t as r}from"./C_ActionBar2.js";import{i,v as a,x as o,y as s}from"./helpers.js";import{computed as c,createBlock as l,createCommentVNode as u,createSlots as d,createVNode as f,defineComponent as p,guardReactiveProps as m,normalizeProps as h,normalizeStyle as g,openBlock as _,ref as v,renderList as y,renderSlot as b,unref as x,withCtx as S}from"vue";import{NModal as C}from"naive-ui";var w=t(p({name:`C_FormModal`,__name:`index`,props:{editor:{},options:{},config:{default:()=>({})},width:{default:`min(620px, calc(100vw - 24px))`},createText:{default:`创建`},saveText:{default:`保存`},cancelText:{default:`取消`},closable:{type:Boolean,default:!0},maskClosable:{type:Boolean,default:!0},closeOnEsc:{type:Boolean,default:!0}},emits:[`submit`,`close`],setup(t,{emit:p}){let w=t,T=p,E=v(null),D=o(),O=c(()=>w.config?.density??D.density),k=c({get:()=>w.editor.visible.value,set:e=>{e||F()}}),A=c(()=>w.editor.title.value),j=c(()=>w.editor.loading.value),M=c(()=>typeof w.width==`number`?`${w.width}px`:w.width),N=c({get:()=>w.editor.model.value??{},set:e=>{w.editor.setModel(e)}}),P=c(()=>({...O.value===void 0?{size:`small`}:{},...w.config,mode:w.editor.mode.value,initialValues:w.editor.model.value??void 0,showActions:!1,onSubmit:async(e,t)=>{if(await w.config?.onSubmit?.(e,t),t?.signal.aborted)return;let n=await w.editor.submit(e.model);t?.signal.aborted||T(`submit`,e,n)}})),F=()=>{w.editor.close(),T(`close`)},I=c(()=>{let t={align:`right`};return(O.value!==void 0||w.config?.size!==void 0)&&(t.size=s(a(P.value,D)).size),O.value!==void 0&&(t.gap=e(O.value).gap,t.compact=O.value===`compact`),t}),L=c(()=>n([{key:`cancel`,label:w.cancelText,disabled:j,onClick:F},{key:w.editor.mode.value===`create`?`create`:`save`,label:w.editor.mode.value===`create`?w.createText:w.saveText,loading:j,onClick:async()=>{await E.value?.submit()}}]));return(e,n)=>(_(),l(x(C),{show:k.value,"onUpdate:show":n[1]||=e=>k.value=e,preset:`card`,title:A.value,style:g({width:M.value}),"mask-closable":t.maskClosable,"close-on-esc":t.closeOnEsc,closable:t.closable,class:`c-form-modal`},{action:S(()=>[f(r,{actions:L.value,config:I.value},null,8,[`actions`,`config`])]),default:S(()=>[k.value&&t.editor.model.value?(_(),l(x(i),{key:0,ref_key:`formRef`,ref:E,modelValue:N.value,"onUpdate:modelValue":n[0]||=e=>N.value=e,options:t.options,config:P.value},d({_:2},[y(e.$slots,(t,n)=>({name:n,fn:S(t=>[b(e.$slots,n,h(m(t)),void 0,!0)])}))]),1032,[`modelValue`,`options`,`config`])):u(`v-if`,!0)]),_:3},8,[`show`,`title`,`style`,`mask-closable`,`close-on-esc`,`closable`]))}}),[[`__scopeId`,`data-v-96dd2fea`]]);export{w as t};
@@ -1,41 +1,39 @@
1
1
  :root{--c-primary: var(--primary-color, #2080f0);--c-primary-hover: var(--primary-color-hover, #4098fc);--c-primary-pressed: var(--primary-color-pressed, #1060c9);--c-success: var(--success-color, #18a058);--c-warning: var(--warning-color, #f0a020);--c-error: var(--error-color, #d03050);--c-info: var(--info-color, #2080f0);--c-bg-body: var(--body-color, #ffffff);--c-bg-card: var(--card-color, #ffffff);--c-bg-surface: var(--popover-color, #ffffff);--c-text-1: var(--text-color-1, #262626);--c-text-2: var(--text-color-2, #525252);--c-text-3: var(--text-color-3, #a3a3a3);--c-text-4: var(--text-color-4, #c0c0c0);--c-border: var(--border-color, #e5e7eb);--c-radius-sm: var(--border-radius-small, 4px);--c-radius: var(--border-radius, 6px);--c-transition-fast: 0.15s cubic-bezier(0.4, 0, 0.2, 1);--c-transition-base: 0.3s cubic-bezier(0.4, 0, 0.2, 1);--c-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08);--c-shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1);--c-shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1)}
2
2
 
3
- .form-search-card[data-v-3a5b7fab] .n-card__content {
4
- padding: 20px;
3
+ .form-search-card[data-v-4c7e8019] :is(.n-card-content, .n-card__content) {
4
+ padding: var(--c-search-padding, 20px);
5
5
  }
6
- .form-search[data-v-3a5b7fab] {
6
+ .form-search[data-v-4c7e8019] {
7
7
  display: flex;
8
8
  flex-wrap: wrap;
9
9
  align-items: end;
10
- gap: 20px 32px;
10
+ gap: var(--c-search-row-gap, 20px) var(--c-search-gap, 32px);
11
11
  }
12
- .form-search .form-search-item-box .form-item-input[data-v-3a5b7fab] {
12
+ .form-search .form-search-item-box .form-item-input[data-v-4c7e8019] {
13
13
  position: relative;
14
14
  }
15
- .form-search .form-search-item-box .form-item-input[data-v-3a5b7fab] .n-input,
16
- .form-search .form-search-item-box .form-item-input[data-v-3a5b7fab] .n-select,
17
- .form-search .form-search-item-box .form-item-input[data-v-3a5b7fab] .n-date-picker {
18
- width: 260px !important;
15
+ .form-search .form-search-item-box .form-item-input[data-v-4c7e8019] .n-input,
16
+ .form-search .form-search-item-box .form-item-input[data-v-4c7e8019] .n-select,
17
+ .form-search .form-search-item-box .form-item-input[data-v-4c7e8019] .n-date-picker {
18
+ width: 260px;
19
+ max-width: 100%;
19
20
  }
20
- .form-search .form-search-item-box .form-item-input[data-v-3a5b7fab] .n-space {
21
- gap: 8px !important;
22
- }
23
- .form-search .form-search-item-box .form-item-input[data-v-3a5b7fab] .n-space .n-button {
24
- width: 36px;
25
- height: 36px;
21
+ .form-search .form-search-item-box .form-item-input[data-v-4c7e8019] .n-space .n-button {
22
+ width: var(--n-height);
23
+ padding: 0;
26
24
  display: flex;
27
25
  align-items: center;
28
26
  justify-content: center;
29
27
  transition: all 0.2s ease;
30
28
  }
31
- .form-search .form-search-item-box .form-item-input[data-v-3a5b7fab] .n-space .n-button:hover {
29
+ .form-search .form-search-item-box .form-item-input[data-v-4c7e8019] .n-space .n-button:hover {
32
30
  transform: translateY(-1px);
33
31
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
34
32
  }
35
- .form-search .form-search-item-box .form-item-input[data-v-3a5b7fab] .n-space .n-button .n-button__icon {
33
+ .form-search .form-search-item-box .form-item-input[data-v-4c7e8019] .n-space .n-button .n-button__icon {
36
34
  margin: 0;
37
35
  }
38
- .form-search .form-search-item-box .form-item-input .input-history[data-v-3a5b7fab] {
36
+ .form-search .form-search-item-box .form-item-input .input-history[data-v-4c7e8019] {
39
37
  width: 100%;
40
38
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
41
39
  border: 1px solid var(--n-border-color);
@@ -51,7 +49,7 @@
51
49
  max-height: 240px;
52
50
  overflow-y: auto;
53
51
  }
54
- .form-search .form-search-item-box .form-item-input .input-history .history-item[data-v-3a5b7fab] {
52
+ .form-search .form-search-item-box .form-item-input .input-history .history-item[data-v-4c7e8019] {
55
53
  padding: 10px 12px;
56
54
  display: flex;
57
55
  align-items: center;
@@ -62,24 +60,24 @@
62
60
  transition: all 0.2s ease;
63
61
  position: relative;
64
62
  }
65
- .form-search .form-search-item-box .form-item-input .input-history .history-item[data-v-3a5b7fab]:hover {
63
+ .form-search .form-search-item-box .form-item-input .input-history .history-item[data-v-4c7e8019]:hover {
66
64
  background: var(--n-option-color-hover);
67
65
  }
68
- .form-search .form-search-item-box .form-item-input .input-history .history-item:hover .delete-icon[data-v-3a5b7fab] {
66
+ .form-search .form-search-item-box .form-item-input .input-history .history-item:hover .delete-icon[data-v-4c7e8019] {
69
67
  opacity: 1;
70
68
  transform: scale(1);
71
69
  }
72
- .form-search .form-search-item-box .form-item-input .input-history .history-item[data-v-3a5b7fab]:not(:last-of-type) {
70
+ .form-search .form-search-item-box .form-item-input .input-history .history-item[data-v-4c7e8019]:not(:last-of-type) {
73
71
  border-bottom: 1px solid var(--n-divider-color);
74
72
  }
75
- .form-search .form-search-item-box .form-item-input .input-history .history-item .history-text[data-v-3a5b7fab] {
73
+ .form-search .form-search-item-box .form-item-input .input-history .history-item .history-text[data-v-4c7e8019] {
76
74
  flex: 1;
77
75
  overflow: hidden;
78
76
  text-overflow: ellipsis;
79
77
  white-space: nowrap;
80
78
  margin-right: 8px;
81
79
  }
82
- .form-search .form-search-item-box .form-item-input .input-history .history-item .delete-icon[data-v-3a5b7fab] {
80
+ .form-search .form-search-item-box .form-item-input .input-history .history-item .delete-icon[data-v-4c7e8019] {
83
81
  opacity: 0;
84
82
  transform: scale(0.8);
85
83
  transition: all 0.2s ease;
@@ -91,99 +89,100 @@
91
89
  align-items: center;
92
90
  justify-content: center;
93
91
  }
94
- .form-search .form-search-item-box .form-item-input .input-history .history-item .delete-icon[data-v-3a5b7fab]:hover {
92
+ .form-search .form-search-item-box .form-item-input .input-history .history-item .delete-icon[data-v-4c7e8019]:hover {
95
93
  background: var(--n-close-color-hover);
96
94
  color: var(--n-close-color-pressed);
97
95
  transform: scale(1.1);
98
96
  }
99
- .form-search .form-search-item-box .form-item-input .input-history .history-footer[data-v-3a5b7fab] {
97
+ .form-search .form-search-item-box .form-item-input .input-history .history-footer[data-v-4c7e8019] {
100
98
  padding: 8px 12px;
101
99
  border-top: 1px solid var(--n-divider-color);
102
100
  background: var(--n-modal-color);
103
101
  }
104
- .form-search .form-search-item-box .form-item-input .input-history .history-footer .clear-all[data-v-3a5b7fab] {
102
+ .form-search .form-search-item-box .form-item-input .input-history .history-footer .clear-all[data-v-4c7e8019] {
105
103
  color: var(--n-text-color-disabled);
106
104
  font-size: 12px;
107
105
  cursor: pointer;
108
106
  transition: all 0.2s ease;
109
107
  }
110
- .form-search .form-search-item-box .form-item-input .input-history .history-footer .clear-all[data-v-3a5b7fab]:hover {
108
+ .form-search .form-search-item-box .form-item-input .input-history .history-footer .clear-all[data-v-4c7e8019]:hover {
111
109
  color: var(--n-error-color);
112
110
  }
113
- .form-search .form-search-item-box .form-item-input .input-history[data-v-3a5b7fab] {
111
+ .form-search .form-search-item-box .form-item-input .input-history[data-v-4c7e8019] {
114
112
  /* custom scrollbar */
115
113
  }
116
- .form-search .form-search-item-box .form-item-input .input-history[data-v-3a5b7fab]::-webkit-scrollbar {
114
+ .form-search .form-search-item-box .form-item-input .input-history[data-v-4c7e8019]::-webkit-scrollbar {
117
115
  width: 6px;
118
116
  }
119
- .form-search .form-search-item-box .form-item-input .input-history[data-v-3a5b7fab]::-webkit-scrollbar-track {
117
+ .form-search .form-search-item-box .form-item-input .input-history[data-v-4c7e8019]::-webkit-scrollbar-track {
120
118
  background: transparent;
121
119
  }
122
- .form-search .form-search-item-box .form-item-input .input-history[data-v-3a5b7fab]::-webkit-scrollbar-thumb {
120
+ .form-search .form-search-item-box .form-item-input .input-history[data-v-4c7e8019]::-webkit-scrollbar-thumb {
123
121
  background: var(--n-scrollbar-color);
124
122
  border-radius: 3px;
125
123
  }
126
- .form-search .form-search-item-box .form-item-input .input-history[data-v-3a5b7fab]::-webkit-scrollbar-thumb:hover {
124
+ .form-search .form-search-item-box .form-item-input .input-history[data-v-4c7e8019]::-webkit-scrollbar-thumb:hover {
127
125
  background: var(--n-scrollbar-color-hover);
128
126
  }
129
127
 
130
128
  /* responsive */
131
129
  @media (max-width: 1400px) {
132
- .form-search[data-v-3a5b7fab] {
133
- gap: 16px 28px;
130
+ .form-search[data-v-4c7e8019] {
131
+ gap: var(--c-search-row-gap, 16px) var(--c-search-gap, 28px);
134
132
  }
135
- .form-search .form-search-item-box .form-item-input[data-v-3a5b7fab] .n-input,
136
- .form-search .form-search-item-box .form-item-input[data-v-3a5b7fab] .n-select,
137
- .form-search .form-search-item-box .form-item-input[data-v-3a5b7fab] .n-date-picker {
138
- width: 240px !important;
133
+ .form-search .form-search-item-box .form-item-input[data-v-4c7e8019] .n-input,
134
+ .form-search .form-search-item-box .form-item-input[data-v-4c7e8019] .n-select,
135
+ .form-search .form-search-item-box .form-item-input[data-v-4c7e8019] .n-date-picker {
136
+ width: 240px;
139
137
  }
140
138
  }
141
139
  @media (max-width: 1200px) {
142
- .form-search[data-v-3a5b7fab] {
143
- gap: 16px 24px;
140
+ .form-search[data-v-4c7e8019] {
141
+ gap: var(--c-search-row-gap, 16px) var(--c-search-gap, 24px);
144
142
  }
145
- .form-search .form-search-item-box .form-item-input[data-v-3a5b7fab] .n-input,
146
- .form-search .form-search-item-box .form-item-input[data-v-3a5b7fab] .n-select,
147
- .form-search .form-search-item-box .form-item-input[data-v-3a5b7fab] .n-date-picker {
148
- width: 220px !important;
143
+ .form-search .form-search-item-box .form-item-input[data-v-4c7e8019] .n-input,
144
+ .form-search .form-search-item-box .form-item-input[data-v-4c7e8019] .n-select,
145
+ .form-search .form-search-item-box .form-item-input[data-v-4c7e8019] .n-date-picker {
146
+ width: 220px;
149
147
  }
150
148
  }
151
149
  @media (max-width: 900px) {
152
- .form-search[data-v-3a5b7fab] {
153
- gap: 12px 20px;
150
+ .form-search[data-v-4c7e8019] {
151
+ gap: var(--c-search-row-gap, 12px) var(--c-search-gap, 20px);
154
152
  }
155
- .form-search .form-search-item-box .form-item-input[data-v-3a5b7fab] .n-input,
156
- .form-search .form-search-item-box .form-item-input[data-v-3a5b7fab] .n-select,
157
- .form-search .form-search-item-box .form-item-input[data-v-3a5b7fab] .n-date-picker {
158
- width: 200px !important;
153
+ .form-search .form-search-item-box .form-item-input[data-v-4c7e8019] .n-input,
154
+ .form-search .form-search-item-box .form-item-input[data-v-4c7e8019] .n-select,
155
+ .form-search .form-search-item-box .form-item-input[data-v-4c7e8019] .n-date-picker {
156
+ width: 200px;
159
157
  }
160
158
  }
161
159
  @media (max-width: 600px) {
162
- .form-search-card[data-v-3a5b7fab] .n-card__content {
163
- padding: 16px;
160
+ .form-search-card[data-v-4c7e8019] :is(.n-card-content, .n-card__content) {
161
+ padding: var(--c-search-padding, 16px);
164
162
  }
165
- .form-search[data-v-3a5b7fab] {
166
- gap: 12px 0;
163
+ .form-search[data-v-4c7e8019] {
164
+ gap: var(--c-search-row-gap, 12px) 0;
167
165
  }
168
- .form-search .form-search-item-box[data-v-3a5b7fab] {
166
+ .form-search .form-search-item-box[data-v-4c7e8019] {
169
167
  width: 100%;
170
168
  }
171
- .form-search .form-search-item-box .form-item-input[data-v-3a5b7fab] .n-input,
172
- .form-search .form-search-item-box .form-item-input[data-v-3a5b7fab] .n-select,
173
- .form-search .form-search-item-box .form-item-input[data-v-3a5b7fab] .n-date-picker {
174
- width: 100% !important;
169
+ .form-search .form-search-item-box .form-item-input[data-v-4c7e8019] .n-input,
170
+ .form-search .form-search-item-box .form-item-input[data-v-4c7e8019] .n-select,
171
+ .form-search .form-search-item-box .form-item-input[data-v-4c7e8019] .n-date-picker {
172
+ width: 100%;
175
173
  }
176
- .form-search .form-search-item-box .form-item-input .input-history .history-item .delete-icon[data-v-3a5b7fab] {
174
+ .form-search .form-search-item-box .form-item-input .input-history .history-item .delete-icon[data-v-4c7e8019] {
177
175
  opacity: 1;
178
176
  }
179
177
  }
180
178
 
181
179
  /* layer: icons */
182
- .i-mdi\:chevron-down[data-v-3a5b7fab]{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' display='inline-block' vertical-align='middle' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M7.41 8.58L12 13.17l4.59-4.59L18 10l-6 6l-6-6z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;display:inline-block;vertical-align:middle;width:1em;height:1em;}
183
- .i-mdi\:chevron-up[data-v-3a5b7fab]{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' display='inline-block' vertical-align='middle' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6l-6 6z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;display:inline-block;vertical-align:middle;width:1em;height:1em;}
184
- .i-mdi\:close[data-v-3a5b7fab]{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' display='inline-block' vertical-align='middle' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M19 6.41L17.59 5L12 10.59L6.41 5L5 6.41L10.59 12L5 17.59L6.41 19L12 13.41L17.59 19L19 17.59L13.41 12z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;display:inline-block;vertical-align:middle;width:1em;height:1em;}
185
- .i-mdi\:refresh[data-v-3a5b7fab]{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' display='inline-block' vertical-align='middle' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M17.65 6.35A7.96 7.96 0 0 0 12 4a8 8 0 0 0-8 8a8 8 0 0 0 8 8c3.73 0 6.84-2.55 7.73-6h-2.08A5.99 5.99 0 0 1 12 18a6 6 0 0 1-6-6a6 6 0 0 1 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;display:inline-block;vertical-align:middle;width:1em;height:1em;}
186
- .i-mdi\:search[data-v-3a5b7fab]{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' display='inline-block' vertical-align='middle' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5l-1.5 1.5l-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16A6.5 6.5 0 0 1 3 9.5A6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14S14 12 14 9.5S12 5 9.5 5'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;display:inline-block;vertical-align:middle;width:1em;height:1em;}
180
+ .i-mdi\:chevron-down[data-v-4c7e8019]{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' display='inline-block' vertical-align='middle' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M7.41 8.58L12 13.17l4.59-4.59L18 10l-6 6l-6-6z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;display:inline-block;vertical-align:middle;width:1em;height:1em;}
181
+ .i-mdi\:chevron-up[data-v-4c7e8019]{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' display='inline-block' vertical-align='middle' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6l-6 6z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;display:inline-block;vertical-align:middle;width:1em;height:1em;}
182
+ .i-mdi\:close[data-v-4c7e8019]{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' display='inline-block' vertical-align='middle' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M19 6.41L17.59 5L12 10.59L6.41 5L5 6.41L10.59 12L5 17.59L6.41 19L12 13.41L17.59 19L19 17.59L13.41 12z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;display:inline-block;vertical-align:middle;width:1em;height:1em;}
183
+ .i-mdi\:refresh[data-v-4c7e8019]{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' display='inline-block' vertical-align='middle' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M17.65 6.35A7.96 7.96 0 0 0 12 4a8 8 0 0 0-8 8a8 8 0 0 0 8 8c3.73 0 6.84-2.55 7.73-6h-2.08A5.99 5.99 0 0 1 12 18a6 6 0 0 1-6-6a6 6 0 0 1 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;display:inline-block;vertical-align:middle;width:1em;height:1em;}
184
+ .i-mdi\:search[data-v-4c7e8019]{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' display='inline-block' vertical-align='middle' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5l-1.5 1.5l-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16A6.5 6.5 0 0 1 3 9.5A6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14S14 12 14 9.5S12 5 9.5 5'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;display:inline-block;vertical-align:middle;width:1em;height:1em;}
187
185
  /* layer: default */
188
- .h-4[data-v-3a5b7fab]{height:1rem;}
189
- .w-4[data-v-3a5b7fab]{width:1rem;}
186
+ .h-4[data-v-4c7e8019]{height:1rem;}
187
+ .w-4[data-v-4c7e8019]{width:1rem;}
188
+ .px[data-v-4c7e8019]{padding-left:1rem;padding-right:1rem;}
@@ -1,2 +1,3 @@
1
+ import { t as ComponentDensity } from "./density.cjs";
1
2
  import { a as FormSearchProps, c as SearchFormItem, i as FormSearchEmits, l as SearchFormParams, n as useSearchHistory, o as SearchConfig, r as _default, s as SearchFieldType, t as useSearchState, u as SearchOptionItem } from "./useSearchState.cjs";
2
- export { _default as C_FormSearch, type FormSearchEmits, type FormSearchProps, type SearchConfig, type SearchFieldType, type SearchFormItem, type SearchFormParams, type SearchOptionItem, useSearchHistory, useSearchState };
3
+ export { _default as C_FormSearch, type ComponentDensity, type FormSearchEmits, type FormSearchProps, type SearchConfig, type SearchFieldType, type SearchFormItem, type SearchFormParams, type SearchOptionItem, useSearchHistory, useSearchState };
@@ -1,2 +1,3 @@
1
+ import { t as ComponentDensity } from "./density.js";
1
2
  import { a as FormSearchProps, c as SearchFormItem, i as FormSearchEmits, l as SearchFormParams, n as useSearchHistory, o as SearchConfig, r as _default, s as SearchFieldType, t as useSearchState, u as SearchOptionItem } from "./useSearchState.js";
2
- export { _default as C_FormSearch, type FormSearchEmits, type FormSearchProps, type SearchConfig, type SearchFieldType, type SearchFormItem, type SearchFormParams, type SearchOptionItem, useSearchHistory, useSearchState };
3
+ export { _default as C_FormSearch, type ComponentDensity, type FormSearchEmits, type FormSearchProps, type SearchConfig, type SearchFieldType, type SearchFormItem, type SearchFormParams, type SearchOptionItem, useSearchHistory, useSearchState };
@@ -1 +1 @@
1
- require(`./chunk.cjs`);const e=require(`./useComponentLocale.cjs`),t=require(`./feedback.cjs`),n=require(`./export-helper.cjs`),r=require(`./useActionTask.cjs`),i=require(`./storage.cjs`),a=require(`./data.cjs`);let o=require(`vue`),s=require(`naive-ui`);function c(e,t,n={}){let r=()=>(0,o.toValue)(n),a=(0,o.computed)(()=>!!r().storageKey),s=t=>e.value.find(e=>e.prop===t),c=()=>{let{storageKey:t}=r();t&&i.i(t,Object.fromEntries(e.value.filter(e=>e.hisList?.length).map(e=>[e.prop,e.hisList])))},l=()=>{let{storageKey:e}=r();if(!e)return;let t=i.t(e);t&&(Array.isArray(t)?t.map(e=>[e.prop,e.hisList]):Object.entries(t)).forEach(([e,t])=>{let n=s(e);n&&Array.isArray(t)&&(n.hisList=[...t])})},u=t=>{e.value.forEach(e=>{e.isFocus=!!(e.hisList&&e.prop===t)})},d=e=>{l(),u(e)},f=()=>u(),p=(e,n)=>{t.value[n]=e,f()},m=(e,t)=>{let n=s(e);n?.hisList&&(n.hisList.splice(t,1),n.hisList.length===0&&(n.isFocus=!1),c())},h=e=>{let t=s(e);t?.hisList&&(t.hisList=[],t.isFocus=!1,c())},g=(e,t)=>{let n=e.indexOf(t);n>-1&&e.splice(n,1),e.unshift(t);let i=Math.max(1,r().maxItems??5);return e.length>i&&(e.length=i),e};return{enabled:a,handleFocus:d,closeAllPanels:f,selectHistoryItem:p,deleteHistoryItem:m,clearAllHistory:h,saveCurrentInputs:()=>{a.value&&(Object.keys(t.value).forEach(e=>{let n=t.value[e];if(n==null||n===``)return;let r=s(e);if(r?.type!==`input`||!r.hisList)return;let i=String(n).trim();i&&g(r.hisList,i)}),f(),c())},restoreFromStorage:l}}function l(n,i){let s=(0,o.computed)(()=>(0,o.toValue)(i.config)??{}),l=t.t(()=>s.value.feedback),{t:u}=e.t(()=>s.value.locale),d=(0,o.ref)(null),f=(0,o.computed)(()=>s.value.foldThreshold??7),p=(0,o.computed)(()=>s.value.requireValue??!0),m=(0,o.ref)(a.t(i.formItemList)),h=(0,o.ref)(a.t(i.formParams)),g=(0,o.ref)(!1),_=r.t(),v=(0,o.computed)(()=>_.isRunning(`search`)),y=!0;(0,o.getCurrentScope)()&&(0,o.onScopeDispose)(()=>{y=!1});let b=c(m,h,i.historyOptions),x=(0,o.computed)(()=>m.value.filter(e=>e.show!==!1)),S=(0,o.computed)(()=>x.value.filter((e,t)=>g.value||t<f.value)),C=(0,o.computed)(()=>x.value.length>f.value),w=e=>e==null||e===``||Array.isArray(e)&&e.length===0,T=()=>{m.value.forEach(e=>{e.isFocus=!1,e.type===`select`?(e.placeholder||=`请选择`,h.value[e.prop]===void 0&&(h.value[e.prop]=a.t(e.defaultValue??null))):h.value[e.prop]===void 0&&e.defaultValue!==void 0&&(h.value[e.prop]=a.t(e.defaultValue))})},E=async()=>{try{return await d.value?.validate(),!0}catch{return!1}},D=e=>y&&!(0,o.toValue)(i.loading)&&a.a(h.value,e),O=async()=>{let e=a.t(h.value);if(!await E()||!D(e))return!1;if(p.value&&!Object.entries(e).filter(([e])=>e!==`pageNum`&&e!==`pageSize`).some(([,e])=>!w(e)))return l.warning(u(`search.valueRequired`)),!1;if(b.saveCurrentInputs(),n(`search`,a.t(e)),!D(e))return!1;if(!s.value.onSearch)return!0;try{return await s.value.onSearch(e),y}catch(e){return y&&l.error(u(`search.failed`),e),!1}},k=async()=>{let e=await _.run(`search`,O,()=>!(0,o.toValue)(i.loading));return e.executed&&e.value},A=e=>{n(`change-params`,a.t(e)),n(`update:modelValue`,a.t(e))},j=()=>{F=!0;let e=++I;(0,o.nextTick)(()=>{e===I&&(F=!1)})},M=()=>{d.value?.restoreValidation();let e=a.t(h.value);Object.keys(e).forEach(t=>{t!==`pageNum`&&t!==`pageSize`&&(e[t]=a.t(m.value.find(e=>e.prop===t)?.defaultValue??null))}),j(),h.value=e,A(e),n(`reset`,a.t(e))},N=()=>{g.value=!g.value},P=(e,t)=>{j(),m.value=a.t(e),h.value=a.t(t),T()},F=!1,I=0;return T(),(0,o.watch)(h,e=>{F||A(e)},{deep:!0}),(0,o.onMounted)(()=>{b.restoreFromStorage()}),{formRef:d,fields:m,formParams:h,expanded:g,searching:v,visibleFields:S,hasExpandButton:C,history:b,searchFn:k,resetFn:M,toggleFold:N,syncFromProps:P}}const u=e=>{if(Array.isArray(e)&&e.length===2){if(e.every(e=>typeof e==`string`))return{mode:`formatted`,value:[e[0],e[1]]};if(e.every(e=>typeof e==`number`&&Number.isFinite(e)))return{mode:`timestamp`,value:[e[0],e[1]]}}return{mode:`timestamp`,value:null}},d=[`onClick`],f={class:`history-text`},p={key:0,class:`history-footer`},m=[`onClick`],h={class:`form-search-item-box`},g={class:`form-item-input`},_=(0,o.defineComponent)({name:`C_FormSearch`,__name:`index`,props:{bordered:{type:Boolean,default:!0},formItemList:{default:()=>[]},formParams:{default:()=>({})},modelValue:{},formSearchInputHistoryString:{},size:{default:`medium`},loading:{type:Boolean,default:!1},config:{}},emits:[`search`,`reset`,`change-params`,`update:modelValue`],setup(e,{expose:t,emit:n}){let r=e,{formRef:i,formParams:a,expanded:c,searching:_,visibleFields:v,hasExpandButton:y,history:b,searchFn:x,resetFn:S,toggleFold:C,syncFromProps:w}=l(n,{formItemList:r.formItemList,formParams:r.modelValue??r.formParams,config:()=>r.config,loading:()=>r.loading,historyOptions:()=>({storageKey:r.formSearchInputHistoryString,maxItems:r.config?.historyMaxItems})}),T=e=>e?.map(e=>({...e,label:e.label??e.labelDefault??``,value:e.value===void 0?e.label??e.labelDefault:e.value})),E=e=>{let t=a.value[e];return typeof t==`string`?t:null},D=e=>{let t=a.value[e];return typeof t==`string`||typeof t==`number`?t:null},O=(e,t)=>{a.value[e]=t},k=e=>{let t=u(a.value[e]);return t.mode===`formatted`?{formattedValue:t.value,"onUpdate:formattedValue":t=>O(e,t)}:{value:t.value,"onUpdate:value":t=>O(e,t)}};return(0,o.watch)(()=>[r.formItemList,r.modelValue,r.formParams,r.config],([e,t,n])=>w(e,t??n),{deep:!0}),t({formRef:i,formParams:a,searchFn:x,cleanFn:S,changeFoldState:C}),(t,n)=>((0,o.openBlock)(),(0,o.createBlock)((0,o.unref)(s.NCard),{class:`form-search-card custom-card`,bordered:e.bordered},{default:(0,o.withCtx)(()=>[(0,o.createVNode)((0,o.unref)(s.NForm),{class:`form-search`,model:(0,o.unref)(a),ref_key:`formRef`,ref:i,size:e.size,onSubmit:(0,o.withModifiers)((0,o.unref)(x),[`prevent`])},{default:(0,o.withCtx)(()=>[((0,o.openBlock)(!0),(0,o.createElementBlock)(o.Fragment,null,(0,o.renderList)((0,o.unref)(v),(e,t)=>((0,o.openBlock)(),(0,o.createElementBlock)(`div`,{class:`form-search-item-box`,key:e.prop||t},[e.type===`spacer`?(0,o.createCommentVNode)(`v-if`,!0):((0,o.openBlock)(),(0,o.createBlock)((0,o.unref)(s.NFormItem),{key:0,class:`form-item-input`,path:e.prop,rule:e.rules,"show-feedback":!1,"show-label":!1},{default:(0,o.withCtx)(()=>[e.type===`input`?((0,o.openBlock)(),(0,o.createBlock)((0,o.unref)(s.NInput),(0,o.mergeProps)({key:0,clearable:``,value:E(e.prop),"onUpdate:value":t=>O(e.prop,t),placeholder:e.placeholder},{ref_for:!0},e.attrs,{onFocus:t=>(0,o.unref)(b).handleFocus(e.prop),onBlur:(0,o.unref)(b).closeAllPanels}),null,16,[`value`,`onUpdate:value`,`placeholder`,`onFocus`,`onBlur`])):(0,o.createCommentVNode)(`v-if`,!0),e.isFocus?((0,o.openBlock)(),(0,o.createElementBlock)(`div`,{key:1,class:`input-history`,onMousedown:n[0]||=(0,o.withModifiers)(()=>{},[`prevent`])},[((0,o.openBlock)(!0),(0,o.createElementBlock)(o.Fragment,null,(0,o.renderList)(e.hisList,(t,r)=>((0,o.openBlock)(),(0,o.createElementBlock)(`div`,{class:`history-item`,onClick:n=>(0,o.unref)(b).selectHistoryItem(t,e.prop),key:t},[(0,o.createElementVNode)(`span`,f,(0,o.toDisplayString)(t),1),(0,o.createVNode)((0,o.unref)(s.NIcon),{class:`delete-icon`,size:`14`,onClick:(0,o.withModifiers)(t=>(0,o.unref)(b).deleteHistoryItem(e.prop,r),[`stop`])},{default:(0,o.withCtx)(()=>[...n[1]||=[(0,o.createElementVNode)(`div`,{class:`i-mdi:close`},null,-1)]]),_:1},8,[`onClick`])],8,d))),128)),e.hisList&&e.hisList.length>0?((0,o.openBlock)(),(0,o.createElementBlock)(`div`,p,[(0,o.createElementVNode)(`span`,{class:`clear-all`,onClick:(0,o.withModifiers)(t=>(0,o.unref)(b).clearAllHistory(e.prop),[`stop`])},` 清空历史记录 `,8,m)])):(0,o.createCommentVNode)(`v-if`,!0)],32)):(0,o.createCommentVNode)(`v-if`,!0),e.type===`select`?((0,o.openBlock)(),(0,o.createBlock)((0,o.unref)(s.NSelect),(0,o.mergeProps)({key:2,value:D(e.prop),"onUpdate:value":t=>O(e.prop,t),placeholder:e.placeholder||`请选择`,clearable:``,options:T(e.list)},{ref_for:!0},e.attrs),null,16,[`value`,`onUpdate:value`,`placeholder`,`options`])):(0,o.createCommentVNode)(`v-if`,!0),e.type===`date-range`?((0,o.openBlock)(),(0,o.createBlock)((0,o.unref)(s.NDatePicker),(0,o.mergeProps)({key:3,type:`datetimerange`},{ref_for:!0},{...k(e.prop),...e.attrs},{format:`yyyy-MM-dd HH:mm`,"value-format":`yyyy-MM-dd HH:mm`,"start-placeholder":`开始时间`,"end-placeholder":`结束时间`,clearable:``}),null,16)):(0,o.createCommentVNode)(`v-if`,!0)]),_:2},1032,[`path`,`rule`]))]))),128)),(0,o.createElementVNode)(`div`,h,[(0,o.createElementVNode)(`div`,g,[n[6]||=(0,o.createElementVNode)(`div`,{class:`button-label-placeholder`},null,-1),(0,o.createVNode)((0,o.unref)(s.NSpace),null,{default:(0,o.withCtx)(()=>[(0,o.createVNode)((0,o.unref)(s.NTooltip),{trigger:`hover`},{trigger:(0,o.withCtx)(()=>[(0,o.createVNode)((0,o.unref)(s.NButton),{type:`primary`,onClick:(0,o.unref)(x),loading:e.loading||(0,o.unref)(_)},{icon:(0,o.withCtx)(()=>[...n[2]||=[(0,o.createElementVNode)(`div`,{class:`i-mdi:search w-4 h-4`},null,-1)]]),_:1},8,[`onClick`,`loading`])]),default:(0,o.withCtx)(()=>[n[3]||=(0,o.createTextVNode)(` 搜索 `,-1)]),_:1}),(0,o.createVNode)((0,o.unref)(s.NTooltip),{trigger:`hover`},{trigger:(0,o.withCtx)(()=>[(0,o.createVNode)((0,o.unref)(s.NButton),{onClick:(0,o.unref)(S)},{icon:(0,o.withCtx)(()=>[...n[4]||=[(0,o.createElementVNode)(`div`,{class:`i-mdi:refresh w-4 h-4`},null,-1)]]),_:1},8,[`onClick`])]),default:(0,o.withCtx)(()=>[n[5]||=(0,o.createTextVNode)(` 重置 `,-1)]),_:1}),(0,o.unref)(y)?((0,o.openBlock)(),(0,o.createBlock)((0,o.unref)(s.NTooltip),{key:0,trigger:`hover`},{trigger:(0,o.withCtx)(()=>[(0,o.createVNode)((0,o.unref)(s.NButton),{onClick:(0,o.unref)(C)},{icon:(0,o.withCtx)(()=>[(0,o.createElementVNode)(`div`,{class:(0,o.normalizeClass)((0,o.unref)(c)?`i-mdi:chevron-up w-4 h-4`:`i-mdi:chevron-down w-4 h-4`)},null,2)]),_:1},8,[`onClick`])]),default:(0,o.withCtx)(()=>[(0,o.createTextVNode)(` `+(0,o.toDisplayString)((0,o.unref)(c)?`收起`:`展开`),1)]),_:1})):(0,o.createCommentVNode)(`v-if`,!0)]),_:1})])])]),_:1},8,[`model`,`size`,`onSubmit`])]),_:1},8,[`bordered`]))}});var v=n.t(_,[[`__scopeId`,`data-v-3a5b7fab`]]);Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return v}});
1
+ require(`./chunk.cjs`);const e=require(`./density.cjs`),t=require(`./useComponentLocale.cjs`),n=require(`./feedback.cjs`),r=require(`./export-helper.cjs`),i=require(`./useActionTask.cjs`),a=require(`./storage.cjs`),o=require(`./data.cjs`);let s=require(`vue`),c=require(`naive-ui`);function l(e,t,n={}){let r=()=>(0,s.toValue)(n),i=(0,s.computed)(()=>!!r().storageKey),o=t=>e.value.find(e=>e.prop===t),c=()=>{let{storageKey:t}=r();t&&a.i(t,Object.fromEntries(e.value.filter(e=>e.hisList?.length).map(e=>[e.prop,e.hisList])))},l=()=>{let{storageKey:e}=r();if(!e)return;let t=a.t(e);t&&(Array.isArray(t)?t.map(e=>[e.prop,e.hisList]):Object.entries(t)).forEach(([e,t])=>{let n=o(e);n&&Array.isArray(t)&&(n.hisList=[...t])})},u=t=>{e.value.forEach(e=>{e.isFocus=!!(e.hisList&&e.prop===t)})},d=e=>{l(),u(e)},f=()=>u(),p=(e,n)=>{t.value[n]=e,f()},m=(e,t)=>{let n=o(e);n?.hisList&&(n.hisList.splice(t,1),n.hisList.length===0&&(n.isFocus=!1),c())},h=e=>{let t=o(e);t?.hisList&&(t.hisList=[],t.isFocus=!1,c())},g=(e,t)=>{let n=e.indexOf(t);n>-1&&e.splice(n,1),e.unshift(t);let i=Math.max(1,r().maxItems??5);return e.length>i&&(e.length=i),e};return{enabled:i,handleFocus:d,closeAllPanels:f,selectHistoryItem:p,deleteHistoryItem:m,clearAllHistory:h,saveCurrentInputs:()=>{i.value&&(Object.keys(t.value).forEach(e=>{let n=t.value[e];if(n==null||n===``)return;let r=o(e);if(r?.type!==`input`||!r.hisList)return;let i=String(n).trim();i&&g(r.hisList,i)}),f(),c())},restoreFromStorage:l}}function u(e,r){let a=(0,s.computed)(()=>(0,s.toValue)(r.config)??{}),c=n.t(()=>a.value.feedback),{t:u}=t.t(()=>a.value.locale),d=(0,s.ref)(null),f=(0,s.computed)(()=>a.value.foldThreshold??7),p=(0,s.computed)(()=>a.value.requireValue??!0),m=(0,s.ref)(o.t(r.formItemList)),h=(0,s.ref)(o.t(r.formParams)),g=(0,s.ref)(!1),_=i.t(),v=(0,s.computed)(()=>_.isRunning(`search`)),y=!0;(0,s.getCurrentScope)()&&(0,s.onScopeDispose)(()=>{y=!1});let b=l(m,h,r.historyOptions),x=(0,s.computed)(()=>m.value.filter(e=>e.show!==!1)),S=(0,s.computed)(()=>x.value.filter((e,t)=>g.value||t<f.value)),C=(0,s.computed)(()=>x.value.length>f.value),w=e=>e==null||e===``||Array.isArray(e)&&e.length===0,T=()=>{m.value.forEach(e=>{e.isFocus=!1,e.type===`select`?(e.placeholder||=`请选择`,h.value[e.prop]===void 0&&(h.value[e.prop]=o.t(e.defaultValue??null))):h.value[e.prop]===void 0&&e.defaultValue!==void 0&&(h.value[e.prop]=o.t(e.defaultValue))})},E=async()=>{try{return await d.value?.validate(),!0}catch{return!1}},D=e=>y&&!(0,s.toValue)(r.loading)&&o.a(h.value,e),O=async()=>{let t=o.t(h.value);if(!await E()||!D(t))return!1;if(p.value&&!Object.entries(t).filter(([e])=>e!==`pageNum`&&e!==`pageSize`).some(([,e])=>!w(e)))return c.warning(u(`search.valueRequired`)),!1;if(b.saveCurrentInputs(),e(`search`,o.t(t)),!D(t))return!1;if(!a.value.onSearch)return!0;try{return await a.value.onSearch(t),y}catch(e){return y&&c.error(u(`search.failed`),e),!1}},k=async()=>{let e=await _.run(`search`,O,()=>!(0,s.toValue)(r.loading));return e.executed&&e.value},A=t=>{e(`change-params`,o.t(t)),e(`update:modelValue`,o.t(t))},j=()=>{F=!0;let e=++I;(0,s.nextTick)(()=>{e===I&&(F=!1)})},M=()=>{d.value?.restoreValidation();let t=o.t(h.value);Object.keys(t).forEach(e=>{e!==`pageNum`&&e!==`pageSize`&&(t[e]=o.t(m.value.find(t=>t.prop===e)?.defaultValue??null))}),j(),h.value=t,A(t),e(`reset`,o.t(t))},N=()=>{g.value=!g.value},P=(e,t)=>{j(),m.value=o.t(e),h.value=o.t(t),T()},F=!1,I=0;return T(),(0,s.watch)(h,e=>{F||A(e)},{deep:!0}),(0,s.onMounted)(()=>{b.restoreFromStorage()}),{formRef:d,fields:m,formParams:h,expanded:g,searching:v,visibleFields:S,hasExpandButton:C,history:b,searchFn:k,resetFn:M,toggleFold:N,syncFromProps:P}}const d=e=>{if(Array.isArray(e)&&e.length===2){if(e.every(e=>typeof e==`string`))return{mode:`formatted`,value:[e[0],e[1]]};if(e.every(e=>typeof e==`number`&&Number.isFinite(e)))return{mode:`timestamp`,value:[e[0],e[1]]}}return{mode:`timestamp`,value:null}},f=[`onClick`],p={class:`history-text`},m={key:0,class:`history-footer`},h=[`onClick`],g={class:`form-search-item-box form-search-actions`},_={class:`form-item-input`},v=(0,s.defineComponent)({name:`C_FormSearch`,__name:`index`,props:{bordered:{type:Boolean,default:!0},formItemList:{default:()=>[]},formParams:{default:()=>({})},modelValue:{},formSearchInputHistoryString:{},size:{},loading:{type:Boolean,default:!1},config:{}},emits:[`search`,`reset`,`change-params`,`update:modelValue`],setup(t,{expose:n,emit:r}){let i=t,a=r,o=(0,s.computed)(()=>e.t(i.config?.density)),l=(0,s.computed)(()=>i.size??o.value.size),v=(0,s.computed)(()=>{if(i.config?.density===void 0)return;let{gap:e,rowGap:t,padding:n}=o.value;return{"--c-search-gap":`${e}px`,"--c-search-row-gap":`${t}px`,"--c-search-padding":`${n}px`}}),{formRef:y,formParams:b,expanded:x,searching:S,visibleFields:C,hasExpandButton:w,history:T,searchFn:E,resetFn:D,toggleFold:O,syncFromProps:k}=u(a,{formItemList:i.formItemList,formParams:i.modelValue??i.formParams,config:()=>i.config,loading:()=>i.loading,historyOptions:()=>({storageKey:i.formSearchInputHistoryString,maxItems:i.config?.historyMaxItems})}),A=e=>e?.map(e=>({...e,label:e.label??e.labelDefault??``,value:e.value===void 0?e.label??e.labelDefault:e.value})),j=e=>{let t=b.value[e];return typeof t==`string`?t:null},M=e=>{let t=b.value[e];return typeof t==`string`||typeof t==`number`?t:null},N=(e,t)=>{b.value[e]=t},P=e=>{let t=d(b.value[e]);return t.mode===`formatted`?{formattedValue:t.value,"onUpdate:formattedValue":t=>N(e,t)}:{value:t.value,"onUpdate:value":t=>N(e,t)}};return(0,s.watch)(()=>[i.formItemList,i.modelValue,i.formParams],([e,t,n])=>k(e,t??n),{deep:!0}),n({formRef:y,formParams:b,searchFn:E,cleanFn:D,changeFoldState:O}),(e,n)=>((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(c.NCard),{class:(0,s.normalizeClass)([`form-search-card custom-card`,t.config?.density&&`form-search-card--${t.config.density}`]),style:(0,s.normalizeStyle)(v.value),bordered:t.bordered},{default:(0,s.withCtx)(()=>[(0,s.createVNode)((0,s.unref)(c.NForm),{class:`form-search`,model:(0,s.unref)(b),ref_key:`formRef`,ref:y,size:l.value,onSubmit:(0,s.withModifiers)((0,s.unref)(E),[`prevent`])},{default:(0,s.withCtx)(()=>[((0,s.openBlock)(!0),(0,s.createElementBlock)(s.Fragment,null,(0,s.renderList)((0,s.unref)(C),(e,t)=>((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{class:`form-search-item-box`,key:e.prop||t},[e.type===`spacer`?(0,s.createCommentVNode)(`v-if`,!0):((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(c.NFormItem),{key:0,class:`form-item-input`,path:e.prop,rule:e.rules,"show-feedback":!1,"show-label":!1},{default:(0,s.withCtx)(()=>[e.type===`input`?((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(c.NInput),(0,s.mergeProps)({key:0,clearable:``,size:l.value,value:j(e.prop),"onUpdate:value":t=>N(e.prop,t),placeholder:e.placeholder},{ref_for:!0},e.attrs,{onFocus:t=>(0,s.unref)(T).handleFocus(e.prop),onBlur:(0,s.unref)(T).closeAllPanels}),null,16,[`size`,`value`,`onUpdate:value`,`placeholder`,`onFocus`,`onBlur`])):(0,s.createCommentVNode)(`v-if`,!0),e.isFocus?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:1,class:`input-history`,onMousedown:n[0]||=(0,s.withModifiers)(()=>{},[`prevent`])},[((0,s.openBlock)(!0),(0,s.createElementBlock)(s.Fragment,null,(0,s.renderList)(e.hisList,(t,r)=>((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{class:`history-item`,onClick:n=>(0,s.unref)(T).selectHistoryItem(t,e.prop),key:t},[(0,s.createElementVNode)(`span`,p,(0,s.toDisplayString)(t),1),(0,s.createVNode)((0,s.unref)(c.NIcon),{class:`delete-icon`,size:`14`,onClick:(0,s.withModifiers)(t=>(0,s.unref)(T).deleteHistoryItem(e.prop,r),[`stop`])},{default:(0,s.withCtx)(()=>[...n[1]||=[(0,s.createElementVNode)(`div`,{class:`i-mdi:close`},null,-1)]]),_:1},8,[`onClick`])],8,f))),128)),e.hisList&&e.hisList.length>0?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,m,[(0,s.createElementVNode)(`span`,{class:`clear-all`,onClick:(0,s.withModifiers)(t=>(0,s.unref)(T).clearAllHistory(e.prop),[`stop`])},` 清空历史记录 `,8,h)])):(0,s.createCommentVNode)(`v-if`,!0)],32)):(0,s.createCommentVNode)(`v-if`,!0),e.type===`select`?((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(c.NSelect),(0,s.mergeProps)({key:2,value:M(e.prop),"onUpdate:value":t=>N(e.prop,t),placeholder:e.placeholder||`请选择`,clearable:``,size:l.value,options:A(e.list)},{ref_for:!0},e.attrs),null,16,[`value`,`onUpdate:value`,`placeholder`,`size`,`options`])):(0,s.createCommentVNode)(`v-if`,!0),e.type===`date-range`?((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(c.NDatePicker),(0,s.mergeProps)({key:3,type:`datetimerange`,size:l.value},{ref_for:!0},{...P(e.prop),...e.attrs},{format:`yyyy-MM-dd HH:mm`,"value-format":`yyyy-MM-dd HH:mm`,"start-placeholder":`开始时间`,"end-placeholder":`结束时间`,clearable:``}),null,16,[`size`])):(0,s.createCommentVNode)(`v-if`,!0)]),_:2},1032,[`path`,`rule`]))]))),128)),(0,s.createElementVNode)(`div`,g,[(0,s.createElementVNode)(`div`,_,[n[6]||=(0,s.createElementVNode)(`div`,{class:`button-label-placeholder`},null,-1),(0,s.createVNode)((0,s.unref)(c.NSpace),{size:t.config?.density?o.value.gap:8},{default:(0,s.withCtx)(()=>[(0,s.createVNode)((0,s.unref)(c.NTooltip),{trigger:`hover`},{trigger:(0,s.withCtx)(()=>[(0,s.createVNode)((0,s.unref)(c.NButton),{type:`primary`,size:l.value,"aria-label":`搜索`,onClick:(0,s.unref)(E),loading:t.loading||(0,s.unref)(S)},{icon:(0,s.withCtx)(()=>[...n[2]||=[(0,s.createElementVNode)(`div`,{class:`i-mdi:search w-4 h-4`},null,-1)]]),_:1},8,[`size`,`onClick`,`loading`])]),default:(0,s.withCtx)(()=>[n[3]||=(0,s.createTextVNode)(` 搜索 `,-1)]),_:1}),(0,s.createVNode)((0,s.unref)(c.NTooltip),{trigger:`hover`},{trigger:(0,s.withCtx)(()=>[(0,s.createVNode)((0,s.unref)(c.NButton),{size:l.value,"aria-label":`重置`,onClick:(0,s.unref)(D)},{icon:(0,s.withCtx)(()=>[...n[4]||=[(0,s.createElementVNode)(`div`,{class:`i-mdi:refresh w-4 h-4`},null,-1)]]),_:1},8,[`size`,`onClick`])]),default:(0,s.withCtx)(()=>[n[5]||=(0,s.createTextVNode)(` 重置 `,-1)]),_:1}),(0,s.unref)(w)?((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(c.NTooltip),{key:0,trigger:`hover`},{trigger:(0,s.withCtx)(()=>[(0,s.createVNode)((0,s.unref)(c.NButton),{size:l.value,"aria-label":(0,s.unref)(x)?`收起搜索条件`:`展开搜索条件`,"aria-expanded":(0,s.unref)(x),onClick:(0,s.unref)(O)},{icon:(0,s.withCtx)(()=>[(0,s.createElementVNode)(`div`,{class:(0,s.normalizeClass)((0,s.unref)(x)?`i-mdi:chevron-up w-4 h-4`:`i-mdi:chevron-down w-4 h-4`)},null,2)]),_:1},8,[`size`,`aria-label`,`aria-expanded`,`onClick`])]),default:(0,s.withCtx)(()=>[(0,s.createTextVNode)(` `+(0,s.toDisplayString)((0,s.unref)(x)?`收起`:`展开`),1)]),_:1})):(0,s.createCommentVNode)(`v-if`,!0)]),_:1},8,[`size`])])])]),_:1},8,[`model`,`size`,`onSubmit`])]),_:1},8,[`class`,`style`,`bordered`]))}});var y=r.t(v,[[`__scopeId`,`data-v-4c7e8019`]]);Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return y}});
@@ -1 +1 @@
1
- import{t as e}from"./useComponentLocale.js";import{t}from"./feedback.js";import{t as n}from"./export-helper.js";import{t as r}from"./useActionTask.js";import{i,t as a}from"./storage.js";import{a as o,t as s}from"./data.js";import{Fragment as c,computed as l,createBlock as u,createCommentVNode as d,createElementBlock as f,createElementVNode as p,createTextVNode as m,createVNode as h,defineComponent as g,getCurrentScope as _,mergeProps as v,nextTick as y,normalizeClass as b,onMounted as x,onScopeDispose as S,openBlock as C,ref as w,renderList as T,toDisplayString as E,toValue as D,unref as O,watch as k,withCtx as A,withModifiers as j}from"vue";import{NButton as M,NCard as N,NDatePicker as P,NForm as F,NFormItem as I,NIcon as L,NInput as R,NSelect as z,NSpace as B,NTooltip as V}from"naive-ui";function H(e,t,n={}){let r=()=>D(n),o=l(()=>!!r().storageKey),s=t=>e.value.find(e=>e.prop===t),c=()=>{let{storageKey:t}=r();t&&i(t,Object.fromEntries(e.value.filter(e=>e.hisList?.length).map(e=>[e.prop,e.hisList])))},u=()=>{let{storageKey:e}=r();if(!e)return;let t=a(e);t&&(Array.isArray(t)?t.map(e=>[e.prop,e.hisList]):Object.entries(t)).forEach(([e,t])=>{let n=s(e);n&&Array.isArray(t)&&(n.hisList=[...t])})},d=t=>{e.value.forEach(e=>{e.isFocus=!!(e.hisList&&e.prop===t)})},f=e=>{u(),d(e)},p=()=>d(),m=(e,n)=>{t.value[n]=e,p()},h=(e,t)=>{let n=s(e);n?.hisList&&(n.hisList.splice(t,1),n.hisList.length===0&&(n.isFocus=!1),c())},g=e=>{let t=s(e);t?.hisList&&(t.hisList=[],t.isFocus=!1,c())},_=(e,t)=>{let n=e.indexOf(t);n>-1&&e.splice(n,1),e.unshift(t);let i=Math.max(1,r().maxItems??5);return e.length>i&&(e.length=i),e};return{enabled:o,handleFocus:f,closeAllPanels:p,selectHistoryItem:m,deleteHistoryItem:h,clearAllHistory:g,saveCurrentInputs:()=>{o.value&&(Object.keys(t.value).forEach(e=>{let n=t.value[e];if(n==null||n===``)return;let r=s(e);if(r?.type!==`input`||!r.hisList)return;let i=String(n).trim();i&&_(r.hisList,i)}),p(),c())},restoreFromStorage:u}}function U(n,i){let a=l(()=>D(i.config)??{}),c=t(()=>a.value.feedback),{t:u}=e(()=>a.value.locale),d=w(null),f=l(()=>a.value.foldThreshold??7),p=l(()=>a.value.requireValue??!0),m=w(s(i.formItemList)),h=w(s(i.formParams)),g=w(!1),v=r(),b=l(()=>v.isRunning(`search`)),C=!0;_()&&S(()=>{C=!1});let T=H(m,h,i.historyOptions),E=l(()=>m.value.filter(e=>e.show!==!1)),O=l(()=>E.value.filter((e,t)=>g.value||t<f.value)),A=l(()=>E.value.length>f.value),j=e=>e==null||e===``||Array.isArray(e)&&e.length===0,M=()=>{m.value.forEach(e=>{e.isFocus=!1,e.type===`select`?(e.placeholder||=`请选择`,h.value[e.prop]===void 0&&(h.value[e.prop]=s(e.defaultValue??null))):h.value[e.prop]===void 0&&e.defaultValue!==void 0&&(h.value[e.prop]=s(e.defaultValue))})},N=async()=>{try{return await d.value?.validate(),!0}catch{return!1}},P=e=>C&&!D(i.loading)&&o(h.value,e),F=async()=>{let e=s(h.value);if(!await N()||!P(e))return!1;if(p.value&&!Object.entries(e).filter(([e])=>e!==`pageNum`&&e!==`pageSize`).some(([,e])=>!j(e)))return c.warning(u(`search.valueRequired`)),!1;if(T.saveCurrentInputs(),n(`search`,s(e)),!P(e))return!1;if(!a.value.onSearch)return!0;try{return await a.value.onSearch(e),C}catch(e){return C&&c.error(u(`search.failed`),e),!1}},I=async()=>{let e=await v.run(`search`,F,()=>!D(i.loading));return e.executed&&e.value},L=e=>{n(`change-params`,s(e)),n(`update:modelValue`,s(e))},R=()=>{U=!0;let e=++W;y(()=>{e===W&&(U=!1)})},z=()=>{d.value?.restoreValidation();let e=s(h.value);Object.keys(e).forEach(t=>{t!==`pageNum`&&t!==`pageSize`&&(e[t]=s(m.value.find(e=>e.prop===t)?.defaultValue??null))}),R(),h.value=e,L(e),n(`reset`,s(e))},B=()=>{g.value=!g.value},V=(e,t)=>{R(),m.value=s(e),h.value=s(t),M()},U=!1,W=0;return M(),k(h,e=>{U||L(e)},{deep:!0}),x(()=>{T.restoreFromStorage()}),{formRef:d,fields:m,formParams:h,expanded:g,searching:b,visibleFields:O,hasExpandButton:A,history:T,searchFn:I,resetFn:z,toggleFold:B,syncFromProps:V}}const W=e=>{if(Array.isArray(e)&&e.length===2){if(e.every(e=>typeof e==`string`))return{mode:`formatted`,value:[e[0],e[1]]};if(e.every(e=>typeof e==`number`&&Number.isFinite(e)))return{mode:`timestamp`,value:[e[0],e[1]]}}return{mode:`timestamp`,value:null}},G=[`onClick`],K={class:`history-text`},q={key:0,class:`history-footer`},J=[`onClick`],Y={class:`form-search-item-box`},X={class:`form-item-input`};var Z=n(g({name:`C_FormSearch`,__name:`index`,props:{bordered:{type:Boolean,default:!0},formItemList:{default:()=>[]},formParams:{default:()=>({})},modelValue:{},formSearchInputHistoryString:{},size:{default:`medium`},loading:{type:Boolean,default:!1},config:{}},emits:[`search`,`reset`,`change-params`,`update:modelValue`],setup(e,{expose:t,emit:n}){let r=e,{formRef:i,formParams:a,expanded:o,searching:s,visibleFields:l,hasExpandButton:g,history:_,searchFn:y,resetFn:x,toggleFold:S,syncFromProps:w}=U(n,{formItemList:r.formItemList,formParams:r.modelValue??r.formParams,config:()=>r.config,loading:()=>r.loading,historyOptions:()=>({storageKey:r.formSearchInputHistoryString,maxItems:r.config?.historyMaxItems})}),D=e=>e?.map(e=>({...e,label:e.label??e.labelDefault??``,value:e.value===void 0?e.label??e.labelDefault:e.value})),H=e=>{let t=a.value[e];return typeof t==`string`?t:null},Z=e=>{let t=a.value[e];return typeof t==`string`||typeof t==`number`?t:null},Q=(e,t)=>{a.value[e]=t},$=e=>{let t=W(a.value[e]);return t.mode===`formatted`?{formattedValue:t.value,"onUpdate:formattedValue":t=>Q(e,t)}:{value:t.value,"onUpdate:value":t=>Q(e,t)}};return k(()=>[r.formItemList,r.modelValue,r.formParams,r.config],([e,t,n])=>w(e,t??n),{deep:!0}),t({formRef:i,formParams:a,searchFn:y,cleanFn:x,changeFoldState:S}),(t,n)=>(C(),u(O(N),{class:`form-search-card custom-card`,bordered:e.bordered},{default:A(()=>[h(O(F),{class:`form-search`,model:O(a),ref_key:`formRef`,ref:i,size:e.size,onSubmit:j(O(y),[`prevent`])},{default:A(()=>[(C(!0),f(c,null,T(O(l),(e,t)=>(C(),f(`div`,{class:`form-search-item-box`,key:e.prop||t},[e.type===`spacer`?d(`v-if`,!0):(C(),u(O(I),{key:0,class:`form-item-input`,path:e.prop,rule:e.rules,"show-feedback":!1,"show-label":!1},{default:A(()=>[e.type===`input`?(C(),u(O(R),v({key:0,clearable:``,value:H(e.prop),"onUpdate:value":t=>Q(e.prop,t),placeholder:e.placeholder},{ref_for:!0},e.attrs,{onFocus:t=>O(_).handleFocus(e.prop),onBlur:O(_).closeAllPanels}),null,16,[`value`,`onUpdate:value`,`placeholder`,`onFocus`,`onBlur`])):d(`v-if`,!0),e.isFocus?(C(),f(`div`,{key:1,class:`input-history`,onMousedown:n[0]||=j(()=>{},[`prevent`])},[(C(!0),f(c,null,T(e.hisList,(t,r)=>(C(),f(`div`,{class:`history-item`,onClick:n=>O(_).selectHistoryItem(t,e.prop),key:t},[p(`span`,K,E(t),1),h(O(L),{class:`delete-icon`,size:`14`,onClick:j(t=>O(_).deleteHistoryItem(e.prop,r),[`stop`])},{default:A(()=>[...n[1]||=[p(`div`,{class:`i-mdi:close`},null,-1)]]),_:1},8,[`onClick`])],8,G))),128)),e.hisList&&e.hisList.length>0?(C(),f(`div`,q,[p(`span`,{class:`clear-all`,onClick:j(t=>O(_).clearAllHistory(e.prop),[`stop`])},` 清空历史记录 `,8,J)])):d(`v-if`,!0)],32)):d(`v-if`,!0),e.type===`select`?(C(),u(O(z),v({key:2,value:Z(e.prop),"onUpdate:value":t=>Q(e.prop,t),placeholder:e.placeholder||`请选择`,clearable:``,options:D(e.list)},{ref_for:!0},e.attrs),null,16,[`value`,`onUpdate:value`,`placeholder`,`options`])):d(`v-if`,!0),e.type===`date-range`?(C(),u(O(P),v({key:3,type:`datetimerange`},{ref_for:!0},{...$(e.prop),...e.attrs},{format:`yyyy-MM-dd HH:mm`,"value-format":`yyyy-MM-dd HH:mm`,"start-placeholder":`开始时间`,"end-placeholder":`结束时间`,clearable:``}),null,16)):d(`v-if`,!0)]),_:2},1032,[`path`,`rule`]))]))),128)),p(`div`,Y,[p(`div`,X,[n[6]||=p(`div`,{class:`button-label-placeholder`},null,-1),h(O(B),null,{default:A(()=>[h(O(V),{trigger:`hover`},{trigger:A(()=>[h(O(M),{type:`primary`,onClick:O(y),loading:e.loading||O(s)},{icon:A(()=>[...n[2]||=[p(`div`,{class:`i-mdi:search w-4 h-4`},null,-1)]]),_:1},8,[`onClick`,`loading`])]),default:A(()=>[n[3]||=m(` 搜索 `,-1)]),_:1}),h(O(V),{trigger:`hover`},{trigger:A(()=>[h(O(M),{onClick:O(x)},{icon:A(()=>[...n[4]||=[p(`div`,{class:`i-mdi:refresh w-4 h-4`},null,-1)]]),_:1},8,[`onClick`])]),default:A(()=>[n[5]||=m(` 重置 `,-1)]),_:1}),O(g)?(C(),u(O(V),{key:0,trigger:`hover`},{trigger:A(()=>[h(O(M),{onClick:O(S)},{icon:A(()=>[p(`div`,{class:b(O(o)?`i-mdi:chevron-up w-4 h-4`:`i-mdi:chevron-down w-4 h-4`)},null,2)]),_:1},8,[`onClick`])]),default:A(()=>[m(` `+E(O(o)?`收起`:`展开`),1)]),_:1})):d(`v-if`,!0)]),_:1})])])]),_:1},8,[`model`,`size`,`onSubmit`])]),_:1},8,[`bordered`]))}}),[[`__scopeId`,`data-v-3a5b7fab`]]);export{U as n,H as r,Z as t};
1
+ import{t as e}from"./density.js";import{t}from"./useComponentLocale.js";import{t as n}from"./feedback.js";import{t as r}from"./export-helper.js";import{t as i}from"./useActionTask.js";import{i as a,t as o}from"./storage.js";import{a as s,t as c}from"./data.js";import{Fragment as l,computed as u,createBlock as d,createCommentVNode as f,createElementBlock as p,createElementVNode as m,createTextVNode as h,createVNode as g,defineComponent as _,getCurrentScope as v,mergeProps as y,nextTick as b,normalizeClass as x,normalizeStyle as S,onMounted as C,onScopeDispose as w,openBlock as T,ref as E,renderList as D,toDisplayString as O,toValue as k,unref as A,watch as j,withCtx as M,withModifiers as N}from"vue";import{NButton as P,NCard as F,NDatePicker as I,NForm as L,NFormItem as R,NIcon as z,NInput as B,NSelect as V,NSpace as H,NTooltip as U}from"naive-ui";function W(e,t,n={}){let r=()=>k(n),i=u(()=>!!r().storageKey),s=t=>e.value.find(e=>e.prop===t),c=()=>{let{storageKey:t}=r();t&&a(t,Object.fromEntries(e.value.filter(e=>e.hisList?.length).map(e=>[e.prop,e.hisList])))},l=()=>{let{storageKey:e}=r();if(!e)return;let t=o(e);t&&(Array.isArray(t)?t.map(e=>[e.prop,e.hisList]):Object.entries(t)).forEach(([e,t])=>{let n=s(e);n&&Array.isArray(t)&&(n.hisList=[...t])})},d=t=>{e.value.forEach(e=>{e.isFocus=!!(e.hisList&&e.prop===t)})},f=e=>{l(),d(e)},p=()=>d(),m=(e,n)=>{t.value[n]=e,p()},h=(e,t)=>{let n=s(e);n?.hisList&&(n.hisList.splice(t,1),n.hisList.length===0&&(n.isFocus=!1),c())},g=e=>{let t=s(e);t?.hisList&&(t.hisList=[],t.isFocus=!1,c())},_=(e,t)=>{let n=e.indexOf(t);n>-1&&e.splice(n,1),e.unshift(t);let i=Math.max(1,r().maxItems??5);return e.length>i&&(e.length=i),e};return{enabled:i,handleFocus:f,closeAllPanels:p,selectHistoryItem:m,deleteHistoryItem:h,clearAllHistory:g,saveCurrentInputs:()=>{i.value&&(Object.keys(t.value).forEach(e=>{let n=t.value[e];if(n==null||n===``)return;let r=s(e);if(r?.type!==`input`||!r.hisList)return;let i=String(n).trim();i&&_(r.hisList,i)}),p(),c())},restoreFromStorage:l}}function G(e,r){let a=u(()=>k(r.config)??{}),o=n(()=>a.value.feedback),{t:l}=t(()=>a.value.locale),d=E(null),f=u(()=>a.value.foldThreshold??7),p=u(()=>a.value.requireValue??!0),m=E(c(r.formItemList)),h=E(c(r.formParams)),g=E(!1),_=i(),y=u(()=>_.isRunning(`search`)),x=!0;v()&&w(()=>{x=!1});let S=W(m,h,r.historyOptions),T=u(()=>m.value.filter(e=>e.show!==!1)),D=u(()=>T.value.filter((e,t)=>g.value||t<f.value)),O=u(()=>T.value.length>f.value),A=e=>e==null||e===``||Array.isArray(e)&&e.length===0,M=()=>{m.value.forEach(e=>{e.isFocus=!1,e.type===`select`?(e.placeholder||=`请选择`,h.value[e.prop]===void 0&&(h.value[e.prop]=c(e.defaultValue??null))):h.value[e.prop]===void 0&&e.defaultValue!==void 0&&(h.value[e.prop]=c(e.defaultValue))})},N=async()=>{try{return await d.value?.validate(),!0}catch{return!1}},P=e=>x&&!k(r.loading)&&s(h.value,e),F=async()=>{let t=c(h.value);if(!await N()||!P(t))return!1;if(p.value&&!Object.entries(t).filter(([e])=>e!==`pageNum`&&e!==`pageSize`).some(([,e])=>!A(e)))return o.warning(l(`search.valueRequired`)),!1;if(S.saveCurrentInputs(),e(`search`,c(t)),!P(t))return!1;if(!a.value.onSearch)return!0;try{return await a.value.onSearch(t),x}catch(e){return x&&o.error(l(`search.failed`),e),!1}},I=async()=>{let e=await _.run(`search`,F,()=>!k(r.loading));return e.executed&&e.value},L=t=>{e(`change-params`,c(t)),e(`update:modelValue`,c(t))},R=()=>{H=!0;let e=++U;b(()=>{e===U&&(H=!1)})},z=()=>{d.value?.restoreValidation();let t=c(h.value);Object.keys(t).forEach(e=>{e!==`pageNum`&&e!==`pageSize`&&(t[e]=c(m.value.find(t=>t.prop===e)?.defaultValue??null))}),R(),h.value=t,L(t),e(`reset`,c(t))},B=()=>{g.value=!g.value},V=(e,t)=>{R(),m.value=c(e),h.value=c(t),M()},H=!1,U=0;return M(),j(h,e=>{H||L(e)},{deep:!0}),C(()=>{S.restoreFromStorage()}),{formRef:d,fields:m,formParams:h,expanded:g,searching:y,visibleFields:D,hasExpandButton:O,history:S,searchFn:I,resetFn:z,toggleFold:B,syncFromProps:V}}const K=e=>{if(Array.isArray(e)&&e.length===2){if(e.every(e=>typeof e==`string`))return{mode:`formatted`,value:[e[0],e[1]]};if(e.every(e=>typeof e==`number`&&Number.isFinite(e)))return{mode:`timestamp`,value:[e[0],e[1]]}}return{mode:`timestamp`,value:null}},q=[`onClick`],J={class:`history-text`},Y={key:0,class:`history-footer`},X=[`onClick`],ee={class:`form-search-item-box form-search-actions`},te={class:`form-item-input`};var Z=r(_({name:`C_FormSearch`,__name:`index`,props:{bordered:{type:Boolean,default:!0},formItemList:{default:()=>[]},formParams:{default:()=>({})},modelValue:{},formSearchInputHistoryString:{},size:{},loading:{type:Boolean,default:!1},config:{}},emits:[`search`,`reset`,`change-params`,`update:modelValue`],setup(t,{expose:n,emit:r}){let i=t,a=r,o=u(()=>e(i.config?.density)),s=u(()=>i.size??o.value.size),c=u(()=>{if(i.config?.density===void 0)return;let{gap:e,rowGap:t,padding:n}=o.value;return{"--c-search-gap":`${e}px`,"--c-search-row-gap":`${t}px`,"--c-search-padding":`${n}px`}}),{formRef:_,formParams:v,expanded:b,searching:C,visibleFields:w,hasExpandButton:E,history:k,searchFn:W,resetFn:Z,toggleFold:Q,syncFromProps:ne}=G(a,{formItemList:i.formItemList,formParams:i.modelValue??i.formParams,config:()=>i.config,loading:()=>i.loading,historyOptions:()=>({storageKey:i.formSearchInputHistoryString,maxItems:i.config?.historyMaxItems})}),re=e=>e?.map(e=>({...e,label:e.label??e.labelDefault??``,value:e.value===void 0?e.label??e.labelDefault:e.value})),ie=e=>{let t=v.value[e];return typeof t==`string`?t:null},ae=e=>{let t=v.value[e];return typeof t==`string`||typeof t==`number`?t:null},$=(e,t)=>{v.value[e]=t},oe=e=>{let t=K(v.value[e]);return t.mode===`formatted`?{formattedValue:t.value,"onUpdate:formattedValue":t=>$(e,t)}:{value:t.value,"onUpdate:value":t=>$(e,t)}};return j(()=>[i.formItemList,i.modelValue,i.formParams],([e,t,n])=>ne(e,t??n),{deep:!0}),n({formRef:_,formParams:v,searchFn:W,cleanFn:Z,changeFoldState:Q}),(e,n)=>(T(),d(A(F),{class:x([`form-search-card custom-card`,t.config?.density&&`form-search-card--${t.config.density}`]),style:S(c.value),bordered:t.bordered},{default:M(()=>[g(A(L),{class:`form-search`,model:A(v),ref_key:`formRef`,ref:_,size:s.value,onSubmit:N(A(W),[`prevent`])},{default:M(()=>[(T(!0),p(l,null,D(A(w),(e,t)=>(T(),p(`div`,{class:`form-search-item-box`,key:e.prop||t},[e.type===`spacer`?f(`v-if`,!0):(T(),d(A(R),{key:0,class:`form-item-input`,path:e.prop,rule:e.rules,"show-feedback":!1,"show-label":!1},{default:M(()=>[e.type===`input`?(T(),d(A(B),y({key:0,clearable:``,size:s.value,value:ie(e.prop),"onUpdate:value":t=>$(e.prop,t),placeholder:e.placeholder},{ref_for:!0},e.attrs,{onFocus:t=>A(k).handleFocus(e.prop),onBlur:A(k).closeAllPanels}),null,16,[`size`,`value`,`onUpdate:value`,`placeholder`,`onFocus`,`onBlur`])):f(`v-if`,!0),e.isFocus?(T(),p(`div`,{key:1,class:`input-history`,onMousedown:n[0]||=N(()=>{},[`prevent`])},[(T(!0),p(l,null,D(e.hisList,(t,r)=>(T(),p(`div`,{class:`history-item`,onClick:n=>A(k).selectHistoryItem(t,e.prop),key:t},[m(`span`,J,O(t),1),g(A(z),{class:`delete-icon`,size:`14`,onClick:N(t=>A(k).deleteHistoryItem(e.prop,r),[`stop`])},{default:M(()=>[...n[1]||=[m(`div`,{class:`i-mdi:close`},null,-1)]]),_:1},8,[`onClick`])],8,q))),128)),e.hisList&&e.hisList.length>0?(T(),p(`div`,Y,[m(`span`,{class:`clear-all`,onClick:N(t=>A(k).clearAllHistory(e.prop),[`stop`])},` 清空历史记录 `,8,X)])):f(`v-if`,!0)],32)):f(`v-if`,!0),e.type===`select`?(T(),d(A(V),y({key:2,value:ae(e.prop),"onUpdate:value":t=>$(e.prop,t),placeholder:e.placeholder||`请选择`,clearable:``,size:s.value,options:re(e.list)},{ref_for:!0},e.attrs),null,16,[`value`,`onUpdate:value`,`placeholder`,`size`,`options`])):f(`v-if`,!0),e.type===`date-range`?(T(),d(A(I),y({key:3,type:`datetimerange`,size:s.value},{ref_for:!0},{...oe(e.prop),...e.attrs},{format:`yyyy-MM-dd HH:mm`,"value-format":`yyyy-MM-dd HH:mm`,"start-placeholder":`开始时间`,"end-placeholder":`结束时间`,clearable:``}),null,16,[`size`])):f(`v-if`,!0)]),_:2},1032,[`path`,`rule`]))]))),128)),m(`div`,ee,[m(`div`,te,[n[6]||=m(`div`,{class:`button-label-placeholder`},null,-1),g(A(H),{size:t.config?.density?o.value.gap:8},{default:M(()=>[g(A(U),{trigger:`hover`},{trigger:M(()=>[g(A(P),{type:`primary`,size:s.value,"aria-label":`搜索`,onClick:A(W),loading:t.loading||A(C)},{icon:M(()=>[...n[2]||=[m(`div`,{class:`i-mdi:search w-4 h-4`},null,-1)]]),_:1},8,[`size`,`onClick`,`loading`])]),default:M(()=>[n[3]||=h(` 搜索 `,-1)]),_:1}),g(A(U),{trigger:`hover`},{trigger:M(()=>[g(A(P),{size:s.value,"aria-label":`重置`,onClick:A(Z)},{icon:M(()=>[...n[4]||=[m(`div`,{class:`i-mdi:refresh w-4 h-4`},null,-1)]]),_:1},8,[`size`,`onClick`])]),default:M(()=>[n[5]||=h(` 重置 `,-1)]),_:1}),A(E)?(T(),d(A(U),{key:0,trigger:`hover`},{trigger:M(()=>[g(A(P),{size:s.value,"aria-label":A(b)?`收起搜索条件`:`展开搜索条件`,"aria-expanded":A(b),onClick:A(Q)},{icon:M(()=>[m(`div`,{class:x(A(b)?`i-mdi:chevron-up w-4 h-4`:`i-mdi:chevron-down w-4 h-4`)},null,2)]),_:1},8,[`size`,`aria-label`,`aria-expanded`,`onClick`])]),default:M(()=>[h(` `+O(A(b)?`收起`:`展开`),1)]),_:1})):f(`v-if`,!0)]),_:1},8,[`size`])])])]),_:1},8,[`model`,`size`,`onSubmit`])]),_:1},8,[`class`,`style`,`bordered`]))}}),[[`__scopeId`,`data-v-4c7e8019`]]);export{G as n,W as r,Z as t};
@@ -1 +1 @@
1
- const e=require(`./chunk.cjs`),t=require(`./feedback.cjs`),n=require(`./export-helper.cjs`);let r=require(`vue`),i=require(`naive-ui`),a=require(`@fullcalendar/vue3`);a=e.t(a);let o=require(`@fullcalendar/daygrid`);o=e.t(o);let s=require(`@fullcalendar/interaction`);s=e.t(s);let c=require(`@fullcalendar/list`);c=e.t(c);let l=require(`@fullcalendar/core/locales/zh-cn`);l=e.t(l);const u=[`#3f86ff`,`#ff6b6b`,`#67c23a`,`#e6a23c`,`#9c27b0`,`#00bcd4`,`#ff5722`],d={id:``,title:``,date:Date.now(),startTime:`09:00`,endTime:`10:00`,color:`#3f86ff`},f={left:`prev,next today`,center:`title`,right:`dayGridMonth,dayGridWeek,dayGridDay,listWeek`},p={today:`今天`,month:`月`,week:`周`,day:`日`,list:`列表`},m=/^([01]\d|2[0-3]):([0-5]\d)$/;function h(e,t,n){if(e===null||!Number.isFinite(e))return null;let r=m.exec(t),i=m.exec(n);if(!r||!i)return null;let a=Number(r[1])*60+Number(r[2]),o=Number(i[1])*60+Number(i[2]);if(o<=a)return null;let s=new Date(e);if(Number.isNaN(s.getTime()))return null;let c=e=>new Date(s.getFullYear(),s.getMonth(),s.getDate(),Math.floor(e/60),e%60),l=c(a),u=c(o);return l.getHours()*60+l.getMinutes()!==a||u.getHours()*60+u.getMinutes()!==o?null:{start:l,end:u}}let g=0;const _=()=>globalThis.crypto?.randomUUID?.()??`calendar-${Date.now()}-${++g}`;function v(e,n){let i=t.t(),a=(0,r.ref)(null),m=(0,r.ref)([...e.events??[]]),g=(0,r.ref)(!1),v=(0,r.ref)(!1),y=(0,r.ref)(!1),b=(0,r.shallowRef)(null),x=(0,r.ref)({...d}),S=e=>{m.value=[...m.value,e],n(`update:events`,m.value)},C=e=>{let t=m.value.findIndex(t=>t.id===e.id);t!==-1&&(m.value=m.value.map((n,r)=>r===t?{...n,...e}:n),n(`update:events`,m.value))},w=e=>{m.value=m.value.filter(t=>t.id!==e),n(`update:events`,m.value)};function T(t){e.editable&&(t.jsEvent.preventDefault(),b.value=t.event,e.showEditDialog&&(g.value=!0))}function E(t){!e.editable||!e.showAddDialog||k(t.date)}function D(e){let t={id:e.event.id,start:e.event.start??void 0,end:e.event.end??void 0};C(t),n(`event-dropped`,t),i.success(`事件 "${e.event.title}" 时间已更新`)}function O(e){let t={id:e.event.id,start:e.event.start??void 0,end:e.event.end??void 0};C(t),n(`event-updated`,t)}function k(e){y.value=!1,x.value={...d,date:e.getTime(),color:u[Math.floor(Math.random()*u.length)]},v.value=!0}function A(){let e=b.value;if(!e?.start)return;let{start:t}=e;y.value=!0;let n=new Date(t),r=e.end&&!e.allDay?new Date(e.end):new Date(t.getTime()+36e5);x.value={id:e.id,title:e.title,date:n.getTime(),startTime:`${String(n.getHours()).padStart(2,`0`)}:${String(n.getMinutes()).padStart(2,`0`)}`,endTime:`${String(r.getHours()).padStart(2,`0`)}:${String(r.getMinutes()).padStart(2,`0`)}`,color:e.backgroundColor||`#3f86ff`},g.value=!1,v.value=!0}function j(){if(!x.value.title.trim())return i.error(`请输入事件标题`),!1;let e=h(x.value.date,x.value.startTime,x.value.endTime);if(!e)return i.error(`请选择有效日期和时间,且结束时间须晚于开始时间`),!1;if(y.value&&!m.value.some(e=>e.id===x.value.id))return i.error(`事件已不存在,请刷新后重试`),!1;let t={id:y.value?x.value.id:_(),title:x.value.title.trim(),...e,color:x.value.color};return y.value?(C(t),n(`event-updated`,t),i.success(`事件已更新`)):(S(t),n(`event-added`,t),i.success(`事件已添加`)),v.value=!1,!0}function M(){if(!b.value)return;let{id:e,title:t}=b.value;if(!m.value.some(t=>t.id===e)){g.value=!1;return}w(e),n(`event-deleted`,{id:e,title:t}),g.value=!1,i.success(`已删除事件: ${t}`)}let N=(0,r.shallowRef)({plugins:[o.default,s.default,c.default],locale:l.default,initialView:e.initialView??`dayGridMonth`,events:m.value,headerToolbar:f,buttonText:p,editable:e.editable??!0,eventClick:T,dateClick:E,eventDrop:D,eventResize:O});return(0,r.watch)(()=>e.events,e=>{m.value=[...e??[]]},{deep:!0}),(0,r.watch)(m,e=>{N.value={...N.value,events:e}},{deep:!0}),(0,r.watch)(()=>e.editable,e=>{N.value={...N.value,editable:e??!0}}),(0,r.watch)(()=>e.initialView,e=>{e&&a.value?.getApi().changeView(e)}),{calendarRef:a,calendarOptions:N,showActionDialog:g,showEditModal:v,isEditing:y,selectedEvent:b,editForm:x,eventColors:u,openEditModal:A,saveEvent:j,deleteEvent:M,expose:{getApi:()=>a.value?.getApi(),addEvent:S,updateEvent:C,deleteEvent:w,getEvents:()=>m.value.map(e=>({...e,start:e.start instanceof Date?new Date(e.start):e.start,end:e.end instanceof Date?new Date(e.end):e.end}))}}}const y={class:`c-full-calendar`},b={class:`ml-10% mt-20px`},x={style:{padding:`20px`}},S={style:{"margin-bottom":`16px`}},C={style:{"margin-bottom":`16px`}},w={style:{display:`grid`,"grid-template-columns":`1fr 1fr`,gap:`16px`}},T={style:{"margin-top":`16px`}},E={style:{display:`flex`,gap:`8px`}},D=[`aria-label`,`aria-pressed`,`onClick`],O=(0,r.defineComponent)({name:`C_FullCalendar`,__name:`index`,props:{events:{default:()=>[]},initialView:{default:`dayGridMonth`},editable:{type:Boolean,default:!0},showAddDialog:{type:Boolean,default:!0},showEditDialog:{type:Boolean,default:!0}},emits:[`update:events`,`event-added`,`event-updated`,`event-deleted`,`event-dropped`],setup(e,{expose:t,emit:n}){let{calendarRef:o,calendarOptions:s,showActionDialog:c,showEditModal:l,isEditing:u,selectedEvent:d,editForm:f,eventColors:p,openEditModal:m,saveEvent:h,deleteEvent:g,expose:_}=v(e,n);return t(_),(e,t)=>((0,r.openBlock)(),(0,r.createElementBlock)(`div`,y,[(0,r.createVNode)((0,r.unref)(a.default),{ref_key:`calendarRef`,ref:o,options:(0,r.unref)(s)},null,8,[`options`]),(0,r.unref)(c)?((0,r.openBlock)(),(0,r.createBlock)((0,r.unref)(i.NModal),{key:0,show:(0,r.unref)(c),"onUpdate:show":t[0]||=e=>(0,r.isRef)(c)?c.value=e:null,preset:`dialog`,title:`事件操作 - ${(0,r.unref)(d)?.title}`,style:{width:`400px`}},{default:(0,r.withCtx)(()=>[(0,r.createElementVNode)(`div`,b,[(0,r.createVNode)((0,r.unref)(i.NButton),{type:`primary`,onClick:(0,r.unref)(m),style:{"margin-right":`12px`},size:`small`},{default:(0,r.withCtx)(()=>[...t[6]||=[(0,r.createTextVNode)(` 编辑 `,-1)]]),_:1},8,[`onClick`]),(0,r.createVNode)((0,r.unref)(i.NButton),{type:`error`,onClick:(0,r.unref)(g),size:`small`},{default:(0,r.withCtx)(()=>[...t[7]||=[(0,r.createTextVNode)(` 删除 `,-1)]]),_:1},8,[`onClick`])])]),_:1},8,[`show`,`title`])):(0,r.createCommentVNode)(`v-if`,!0),(0,r.createVNode)((0,r.unref)(i.NModal),{show:(0,r.unref)(l),"onUpdate:show":t[5]||=e=>(0,r.isRef)(l)?l.value=e:null,preset:`dialog`,title:(0,r.unref)(u)?`编辑事件`:`添加事件`,"positive-text":`保存`,"negative-text":`取消`,onPositiveClick:(0,r.unref)(h)},{default:(0,r.withCtx)(()=>[(0,r.createElementVNode)(`div`,x,[(0,r.createElementVNode)(`div`,S,[t[8]||=(0,r.createElementVNode)(`label`,{style:{display:`block`,"margin-bottom":`8px`,"font-weight":`500`}},`事件标题`,-1),(0,r.createVNode)((0,r.unref)(i.NInput),{value:(0,r.unref)(f).title,"onUpdate:value":t[1]||=e=>(0,r.unref)(f).title=e,placeholder:`请输入事件标题`,"aria-label":`事件标题`},null,8,[`value`])]),(0,r.createElementVNode)(`div`,C,[t[9]||=(0,r.createElementVNode)(`label`,{style:{display:`block`,"margin-bottom":`8px`,"font-weight":`500`}},`事件日期`,-1),(0,r.createVNode)((0,r.unref)(i.NDatePicker),{value:(0,r.unref)(f).date,"onUpdate:value":t[2]||=e=>(0,r.unref)(f).date=e,type:`date`,format:`yyyy-MM-dd`,style:{width:`100%`},"aria-label":`事件日期`},null,8,[`value`])]),(0,r.createElementVNode)(`div`,w,[(0,r.createElementVNode)(`div`,null,[t[10]||=(0,r.createElementVNode)(`label`,{style:{display:`block`,"margin-bottom":`8px`,"font-weight":`500`}},`开始时间`,-1),(0,r.createVNode)((0,r.unref)(i.NInput),{value:(0,r.unref)(f).startTime,"onUpdate:value":t[3]||=e=>(0,r.unref)(f).startTime=e,placeholder:`09:00`,"aria-label":`开始时间(24 小时制)`},null,8,[`value`])]),(0,r.createElementVNode)(`div`,null,[t[11]||=(0,r.createElementVNode)(`label`,{style:{display:`block`,"margin-bottom":`8px`,"font-weight":`500`}},`结束时间`,-1),(0,r.createVNode)((0,r.unref)(i.NInput),{value:(0,r.unref)(f).endTime,"onUpdate:value":t[4]||=e=>(0,r.unref)(f).endTime=e,placeholder:`10:00`,"aria-label":`结束时间(24 小时制)`},null,8,[`value`])])]),(0,r.createElementVNode)(`div`,T,[t[12]||=(0,r.createElementVNode)(`label`,{style:{display:`block`,"margin-bottom":`8px`,"font-weight":`500`}},`事件颜色`,-1),(0,r.createElementVNode)(`div`,E,[((0,r.openBlock)(!0),(0,r.createElementBlock)(r.Fragment,null,(0,r.renderList)((0,r.unref)(p),e=>((0,r.openBlock)(),(0,r.createElementBlock)(`button`,{key:e,type:`button`,class:`event-color-swatch`,"aria-label":`事件颜色 ${e}`,"aria-pressed":(0,r.unref)(f).color===e,style:(0,r.normalizeStyle)({width:`30px`,height:`30px`,backgroundColor:e,borderRadius:`50%`,border:(0,r.unref)(f).color===e?`3px solid #000`:`2px solid #ddd`}),onClick:t=>(0,r.unref)(f).color=e},null,12,D))),128))])])])]),_:1},8,[`show`,`title`,`onPositiveClick`])]))}});var k=n.t(O,[[`__scopeId`,`data-v-01d32289`]]);Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return k}});
1
+ const e=require(`./chunk.cjs`),t=require(`./feedback.cjs`),n=require(`./export-helper.cjs`);let r=require(`vue`),i=require(`naive-ui`),a=require(`@fullcalendar/vue3`);a=e.t(a);let o=require(`@fullcalendar/daygrid`);o=e.t(o);let s=require(`@fullcalendar/interaction`);s=e.t(s);let c=require(`@fullcalendar/list`);c=e.t(c);let l=require(`@fullcalendar/core/locales/zh-cn`);l=e.t(l);const u=[`#3f86ff`,`#ff6b6b`,`#67c23a`,`#e6a23c`,`#9c27b0`,`#00bcd4`,`#ff5722`],d={id:``,title:``,date:Date.now(),startTime:`09:00`,endTime:`10:00`,color:`#3f86ff`},f={left:`prev,next today`,center:`title`,right:`dayGridMonth,dayGridWeek,dayGridDay,listWeek`},p={today:`今天`,month:`月`,week:`周`,day:`日`,list:`列表`},m=/^([01]\d|2[0-3]):([0-5]\d)$/;function h(e,t,n){if(e===null||!Number.isFinite(e))return null;let r=m.exec(t),i=m.exec(n);if(!r||!i)return null;let a=Number(r[1])*60+Number(r[2]),o=Number(i[1])*60+Number(i[2]);if(o<=a)return null;let s=new Date(e);if(Number.isNaN(s.getTime()))return null;let c=e=>new Date(s.getFullYear(),s.getMonth(),s.getDate(),Math.floor(e/60),e%60),l=c(a),u=c(o);return l.getHours()*60+l.getMinutes()!==a||u.getHours()*60+u.getMinutes()!==o?null:{start:l,end:u}}let g=0;const _=()=>globalThis.crypto?.randomUUID?.()??`calendar-${Date.now()}-${++g}`;function v(e,n){let i=t.t(),a=(0,r.ref)(null),m=(0,r.ref)([...e.events??[]]),g=(0,r.ref)(!1),v=(0,r.ref)(!1),y=(0,r.ref)(!1),b=(0,r.shallowRef)(null),x=(0,r.ref)({...d}),S=e=>{m.value=[...m.value,e],n(`update:events`,m.value)},C=e=>{let t=m.value.findIndex(t=>t.id===e.id);t!==-1&&(m.value=m.value.map((n,r)=>r===t?{...n,...e}:n),n(`update:events`,m.value))},w=e=>{m.value=m.value.filter(t=>t.id!==e),n(`update:events`,m.value)};function T(t){e.editable&&(t.jsEvent.preventDefault(),b.value=t.event,e.showEditDialog&&(g.value=!0))}function E(t){!e.editable||!e.showAddDialog||k(t.date)}function D(e){let t={id:e.event.id,start:e.event.start??void 0,end:e.event.end??void 0};C(t),n(`event-dropped`,t),i.success(`事件 "${e.event.title}" 时间已更新`)}function O(e){let t={id:e.event.id,start:e.event.start??void 0,end:e.event.end??void 0};C(t),n(`event-updated`,t)}function k(e){y.value=!1,x.value={...d,date:e.getTime(),color:u[Math.floor(Math.random()*u.length)]},v.value=!0}function A(){let e=b.value;if(!e?.start)return;let{start:t}=e;y.value=!0;let n=new Date(t),r=e.end&&!e.allDay?new Date(e.end):new Date(t.getTime()+36e5);x.value={id:e.id,title:e.title,date:n.getTime(),startTime:`${String(n.getHours()).padStart(2,`0`)}:${String(n.getMinutes()).padStart(2,`0`)}`,endTime:`${String(r.getHours()).padStart(2,`0`)}:${String(r.getMinutes()).padStart(2,`0`)}`,color:e.backgroundColor||`#3f86ff`},g.value=!1,v.value=!0}function j(){if(!x.value.title.trim())return i.error(`请输入事件标题`),!1;let e=h(x.value.date,x.value.startTime,x.value.endTime);if(!e)return i.error(`请选择有效日期和时间,且结束时间须晚于开始时间`),!1;if(y.value&&!m.value.some(e=>e.id===x.value.id))return i.error(`事件已不存在,请刷新后重试`),!1;let t={id:y.value?x.value.id:_(),title:x.value.title.trim(),...e,color:x.value.color};return y.value?(C(t),n(`event-updated`,t),i.success(`事件已更新`)):(S(t),n(`event-added`,t),i.success(`事件已添加`)),v.value=!1,!0}function M(){if(!b.value)return;let{id:e,title:t}=b.value;if(!m.value.some(t=>t.id===e)){g.value=!1;return}w(e),n(`event-deleted`,{id:e,title:t}),g.value=!1,i.success(`已删除事件: ${t}`)}let N=(0,r.computed)(()=>({locale:l.default,headerToolbar:f,buttonText:p,eventClick:T,dateClick:E,eventDrop:D,eventResize:O,...e.config,plugins:[o.default,s.default,c.default],initialView:e.initialView??`dayGridMonth`,events:m.value,eventSources:void 0,editable:e.editable??!0}));return(0,r.watch)(()=>e.events,e=>{m.value=[...e??[]]},{deep:!0}),(0,r.watch)(()=>e.initialView,e=>{e&&a.value?.getApi().changeView(e)}),{calendarRef:a,calendarOptions:N,showActionDialog:g,showEditModal:v,isEditing:y,selectedEvent:b,editForm:x,eventColors:u,openEditModal:A,saveEvent:j,deleteEvent:M,expose:{getApi:()=>a.value?.getApi(),addEvent:S,updateEvent:C,deleteEvent:w,getEvents:()=>m.value.map(e=>({...e,start:e.start instanceof Date?new Date(e.start):e.start,end:e.end instanceof Date?new Date(e.end):e.end}))}}}const y={class:`c-full-calendar`},b={class:`ml-10% mt-20px`},x={style:{padding:`20px`}},S={style:{"margin-bottom":`16px`}},C={style:{"margin-bottom":`16px`}},w={style:{display:`grid`,"grid-template-columns":`1fr 1fr`,gap:`16px`}},T={style:{"margin-top":`16px`}},E={style:{display:`flex`,gap:`8px`}},D=[`aria-label`,`aria-pressed`,`onClick`],O=(0,r.defineComponent)({name:`C_FullCalendar`,__name:`index`,props:{config:{},events:{default:()=>[]},initialView:{default:`dayGridMonth`},editable:{type:Boolean,default:!0},showAddDialog:{type:Boolean,default:!0},showEditDialog:{type:Boolean,default:!0}},emits:[`update:events`,`event-added`,`event-updated`,`event-deleted`,`event-dropped`],setup(e,{expose:t,emit:n}){let{calendarRef:o,calendarOptions:s,showActionDialog:c,showEditModal:l,isEditing:u,selectedEvent:d,editForm:f,eventColors:p,openEditModal:m,saveEvent:h,deleteEvent:g,expose:_}=v(e,n);return t(_),(e,t)=>((0,r.openBlock)(),(0,r.createElementBlock)(`div`,y,[(0,r.createVNode)((0,r.unref)(a.default),{ref_key:`calendarRef`,ref:o,options:(0,r.unref)(s)},null,8,[`options`]),(0,r.unref)(c)?((0,r.openBlock)(),(0,r.createBlock)((0,r.unref)(i.NModal),{key:0,show:(0,r.unref)(c),"onUpdate:show":t[0]||=e=>(0,r.isRef)(c)?c.value=e:null,preset:`dialog`,title:`事件操作 - ${(0,r.unref)(d)?.title}`,style:{width:`400px`}},{default:(0,r.withCtx)(()=>[(0,r.createElementVNode)(`div`,b,[(0,r.createVNode)((0,r.unref)(i.NButton),{type:`primary`,onClick:(0,r.unref)(m),style:{"margin-right":`12px`},size:`small`},{default:(0,r.withCtx)(()=>[...t[6]||=[(0,r.createTextVNode)(` 编辑 `,-1)]]),_:1},8,[`onClick`]),(0,r.createVNode)((0,r.unref)(i.NButton),{type:`error`,onClick:(0,r.unref)(g),size:`small`},{default:(0,r.withCtx)(()=>[...t[7]||=[(0,r.createTextVNode)(` 删除 `,-1)]]),_:1},8,[`onClick`])])]),_:1},8,[`show`,`title`])):(0,r.createCommentVNode)(`v-if`,!0),(0,r.createVNode)((0,r.unref)(i.NModal),{show:(0,r.unref)(l),"onUpdate:show":t[5]||=e=>(0,r.isRef)(l)?l.value=e:null,preset:`dialog`,title:(0,r.unref)(u)?`编辑事件`:`添加事件`,"positive-text":`保存`,"negative-text":`取消`,onPositiveClick:(0,r.unref)(h)},{default:(0,r.withCtx)(()=>[(0,r.createElementVNode)(`div`,x,[(0,r.createElementVNode)(`div`,S,[t[8]||=(0,r.createElementVNode)(`label`,{style:{display:`block`,"margin-bottom":`8px`,"font-weight":`500`}},`事件标题`,-1),(0,r.createVNode)((0,r.unref)(i.NInput),{value:(0,r.unref)(f).title,"onUpdate:value":t[1]||=e=>(0,r.unref)(f).title=e,placeholder:`请输入事件标题`,"aria-label":`事件标题`},null,8,[`value`])]),(0,r.createElementVNode)(`div`,C,[t[9]||=(0,r.createElementVNode)(`label`,{style:{display:`block`,"margin-bottom":`8px`,"font-weight":`500`}},`事件日期`,-1),(0,r.createVNode)((0,r.unref)(i.NDatePicker),{value:(0,r.unref)(f).date,"onUpdate:value":t[2]||=e=>(0,r.unref)(f).date=e,type:`date`,format:`yyyy-MM-dd`,style:{width:`100%`},"aria-label":`事件日期`},null,8,[`value`])]),(0,r.createElementVNode)(`div`,w,[(0,r.createElementVNode)(`div`,null,[t[10]||=(0,r.createElementVNode)(`label`,{style:{display:`block`,"margin-bottom":`8px`,"font-weight":`500`}},`开始时间`,-1),(0,r.createVNode)((0,r.unref)(i.NInput),{value:(0,r.unref)(f).startTime,"onUpdate:value":t[3]||=e=>(0,r.unref)(f).startTime=e,placeholder:`09:00`,"aria-label":`开始时间(24 小时制)`},null,8,[`value`])]),(0,r.createElementVNode)(`div`,null,[t[11]||=(0,r.createElementVNode)(`label`,{style:{display:`block`,"margin-bottom":`8px`,"font-weight":`500`}},`结束时间`,-1),(0,r.createVNode)((0,r.unref)(i.NInput),{value:(0,r.unref)(f).endTime,"onUpdate:value":t[4]||=e=>(0,r.unref)(f).endTime=e,placeholder:`10:00`,"aria-label":`结束时间(24 小时制)`},null,8,[`value`])])]),(0,r.createElementVNode)(`div`,T,[t[12]||=(0,r.createElementVNode)(`label`,{style:{display:`block`,"margin-bottom":`8px`,"font-weight":`500`}},`事件颜色`,-1),(0,r.createElementVNode)(`div`,E,[((0,r.openBlock)(!0),(0,r.createElementBlock)(r.Fragment,null,(0,r.renderList)((0,r.unref)(p),e=>((0,r.openBlock)(),(0,r.createElementBlock)(`button`,{key:e,type:`button`,class:`event-color-swatch`,"aria-label":`事件颜色 ${e}`,"aria-pressed":(0,r.unref)(f).color===e,style:(0,r.normalizeStyle)({width:`30px`,height:`30px`,backgroundColor:e,borderRadius:`50%`,border:(0,r.unref)(f).color===e?`3px solid #000`:`2px solid #ddd`}),onClick:t=>(0,r.unref)(f).color=e},null,12,D))),128))])])])]),_:1},8,[`show`,`title`,`onPositiveClick`])]))}});var k=n.t(O,[[`__scopeId`,`data-v-01d32289`]]);Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return k}});