hys-ui 0.1.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (225) hide show
  1. package/CHANGELOG.md +111 -0
  2. package/README.md +3 -1
  3. package/dist/components/HysAccordion/HysAccordion.vue.js +1 -1
  4. package/dist/components/HysAccordion/HysAccordion2.vue.js +181 -47
  5. package/dist/components/HysAutocomplete/HysAutocomplete.vue.js +7 -0
  6. package/dist/components/HysAutocomplete/HysAutocomplete2.vue.js +627 -0
  7. package/dist/components/HysAvatar/HysAvatar.vue.js +5 -35
  8. package/dist/components/HysAvatar/HysAvatar2.vue.js +221 -2
  9. package/dist/components/HysAvatarGroup/HysAvatarGroup.vue.js +7 -0
  10. package/dist/components/HysAvatarGroup/HysAvatarGroup2.vue.js +252 -0
  11. package/dist/components/HysBadge/HysBadge.vue.js +2 -2
  12. package/dist/components/HysBadge/HysBadge2.vue.js +154 -27
  13. package/dist/components/HysBreadcrumb/HysBreadcrumb.vue.js +5 -38
  14. package/dist/components/HysBreadcrumb/HysBreadcrumb2.vue.js +74 -2
  15. package/dist/components/HysButton/HysButton.vue.js +2 -2
  16. package/dist/components/HysButton/HysButton2.vue.js +29 -28
  17. package/dist/components/HysCalendar/HysCalendar.vue.js +5 -92
  18. package/dist/components/HysCalendar/HysCalendar2.vue.js +803 -2
  19. package/dist/components/HysCard/HysCard.vue.js +2 -2
  20. package/dist/components/HysCard/HysCard2.vue.js +175 -42
  21. package/dist/components/HysCascader/HysCascader.vue.js +5 -194
  22. package/dist/components/HysCascader/HysCascader2.vue.js +760 -2
  23. package/dist/components/HysCascader/HysCascaderColumn.vue.js +7 -0
  24. package/dist/components/HysCascader/HysCascaderColumn2.vue.js +232 -0
  25. package/dist/components/HysCheckbox/HysCheckbox.vue.js +3 -3
  26. package/dist/components/HysCheckbox/HysCheckbox2.vue.js +180 -65
  27. package/dist/components/HysCheckboxGroup/HysCheckboxGroup.vue.js +7 -0
  28. package/dist/components/HysCheckboxGroup/HysCheckboxGroup2.vue.js +237 -0
  29. package/dist/components/HysColorPicker/HysColorPicker.vue.js +2 -2
  30. package/dist/components/HysColorPicker/HysColorPicker2.vue.js +107 -106
  31. package/dist/components/HysDataGrid/HysDataGrid.vue.js +1 -1
  32. package/dist/components/HysDataGrid/HysDataGrid2.vue.js +399 -392
  33. package/dist/components/HysDatePicker/HysDatePicker.vue.js +268 -139
  34. package/dist/components/HysDatePicker/HysDatePickerControl.vue.js +7 -0
  35. package/dist/components/HysDatePicker/HysDatePickerControl2.vue.js +807 -0
  36. package/dist/components/HysDatePicker/HysDatePickerPanel.vue.js +7 -0
  37. package/dist/components/HysDatePicker/HysDatePickerPanel2.vue.js +357 -0
  38. package/dist/components/HysDateRangePicker/HysDateRangePicker.vue.js +268 -158
  39. package/dist/components/HysDivider/HysDivider.vue.js +2 -2
  40. package/dist/components/HysDivider/HysDivider2.vue.js +33 -13
  41. package/dist/components/HysFileManager/HysFileManager.vue.js +3 -3
  42. package/dist/components/HysFileManager/HysFileManager2.vue.js +43 -42
  43. package/dist/components/HysForm/HysForm.vue.js +3 -3
  44. package/dist/components/HysForm/HysForm2.vue.js +578 -92
  45. package/dist/components/HysFormItem/HysFormItem.vue.js +5 -85
  46. package/dist/components/HysFormItem/HysFormItem2.vue.js +521 -2
  47. package/dist/components/HysGantt/HysGantt.vue.js +1 -1
  48. package/dist/components/HysGantt/HysGantt2.vue.js +1369 -272
  49. package/dist/components/HysInput/HysInput.vue.js +2 -2
  50. package/dist/components/HysInput/HysInput2.vue.js +467 -120
  51. package/dist/components/HysMention/HysMention.vue.js +2 -2
  52. package/dist/components/HysMention/HysMention2.vue.js +89 -88
  53. package/dist/components/HysNumberInput/HysNumberInput.vue.js +2 -2
  54. package/dist/components/HysNumberInput/HysNumberInput2.vue.js +561 -79
  55. package/dist/components/HysOrgTree/HysOrgTree.vue.js +29 -26
  56. package/dist/components/HysPagination/HysPagination.vue.js +1 -1
  57. package/dist/components/HysPagination/HysPagination2.vue.js +2 -0
  58. package/dist/components/HysPermissionMatrix/HysPermissionMatrix.vue.js +2 -2
  59. package/dist/components/HysPermissionMatrix/HysPermissionMatrix2.vue.js +52 -51
  60. package/dist/components/HysRadio/HysRadio.vue.js +7 -0
  61. package/dist/components/HysRadio/HysRadio2.vue.js +180 -0
  62. package/dist/components/HysRadioGroup/HysRadioGroup.vue.js +2 -2
  63. package/dist/components/HysRadioGroup/HysRadioGroup2.vue.js +190 -65
  64. package/dist/components/HysRating/HysRating.vue.js +1 -1
  65. package/dist/components/HysRating/HysRating2.vue.js +288 -68
  66. package/dist/components/HysRichTextEditor/HysRichTextEditor.vue.js +1 -1
  67. package/dist/components/HysRichTextEditor/HysRichTextEditor2.vue.js +70 -69
  68. package/dist/components/HysSearch/HysSearch.vue.js +37 -36
  69. package/dist/components/HysSegmented/HysSegmented.vue.js +5 -63
  70. package/dist/components/HysSegmented/HysSegmented2.vue.js +273 -2
  71. package/dist/components/HysSelect/HysSelect.vue.js +3 -2
  72. package/dist/components/HysSelect/HysSelect2.vue.js +859 -185
  73. package/dist/components/HysSkeleton/HysSkeleton.vue.js +2 -2
  74. package/dist/components/HysSkeleton/HysSkeleton2.vue.js +126 -29
  75. package/dist/components/HysSlider/HysSlider.vue.js +2 -2
  76. package/dist/components/HysSlider/HysSlider2.vue.js +532 -59
  77. package/dist/components/HysSlider/SliderTooltip.vue.js +7 -0
  78. package/dist/components/HysSlider/SliderTooltip2.vue.js +156 -0
  79. package/dist/components/HysSteps/HysSteps.vue.js +1 -1
  80. package/dist/components/HysSteps/HysSteps2.vue.js +110 -36
  81. package/dist/components/HysSwitch/HysSwitch.vue.js +2 -2
  82. package/dist/components/HysSwitch/HysSwitch2.vue.js +232 -50
  83. package/dist/components/HysTable/HysTable.vue.js +2 -2
  84. package/dist/components/HysTable/HysTable2.vue.js +1473 -88
  85. package/dist/components/HysTable/HysTableFilterOptions.vue.js +7 -0
  86. package/dist/components/HysTable/HysTableFilterOptions2.vue.js +133 -0
  87. package/dist/components/HysTabs/HysTabs.vue.js +2 -2
  88. package/dist/components/HysTabs/HysTabs2.vue.js +262 -68
  89. package/dist/components/HysTagInput/HysTagInput.vue.js +43 -42
  90. package/dist/components/HysTextarea/HysTextarea.vue.js +138 -77
  91. package/dist/components/HysTransfer/HysTransfer.vue.js +5 -223
  92. package/dist/components/HysTransfer/HysTransfer2.vue.js +416 -2
  93. package/dist/components/HysTransfer/HysTransferPanel.vue.js +7 -0
  94. package/dist/components/HysTransfer/HysTransferPanel2.vue.js +454 -0
  95. package/dist/components/HysTree/HysTree.vue.js +2 -3
  96. package/dist/components/HysTree/HysTree2.vue.js +641 -302
  97. package/dist/components/HysTreeSelect/HysTreeSelect.vue.js +5 -136
  98. package/dist/components/HysTreeSelect/HysTreeSelect2.vue.js +558 -2
  99. package/dist/components/HysTreeSelect/HysTreeSelectPanel.vue.js +7 -0
  100. package/dist/components/HysTreeSelect/HysTreeSelectPanel2.vue.js +323 -0
  101. package/dist/components/HysUpload/HysUpload.vue.js +2 -2
  102. package/dist/components/HysUpload/HysUpload2.vue.js +77 -76
  103. package/dist/composables/autocomplete.js +50 -0
  104. package/dist/composables/avatar.js +57 -0
  105. package/dist/composables/calendar.js +96 -0
  106. package/dist/composables/cascader.js +79 -0
  107. package/dist/composables/choice.js +38 -0
  108. package/dist/composables/choiceModel.js +67 -0
  109. package/dist/composables/datePicker.js +227 -0
  110. package/dist/composables/formContext.js +92 -7
  111. package/dist/composables/formLayout.js +57 -0
  112. package/dist/composables/formValidation.js +240 -0
  113. package/dist/composables/ganttConflicts.js +143 -0
  114. package/dist/composables/numberInput.js +91 -0
  115. package/dist/composables/rating.js +16 -0
  116. package/dist/composables/selectOptions.js +54 -0
  117. package/dist/composables/table.js +150 -0
  118. package/dist/composables/textInput.js +34 -0
  119. package/dist/composables/transfer.js +63 -0
  120. package/dist/composables/tree.js +118 -0
  121. package/dist/composables/treeSelect.js +71 -0
  122. package/dist/composables/useCascader.js +438 -0
  123. package/dist/composables/useDatePicker.js +425 -0
  124. package/dist/composables/useFloating.js +97 -51
  125. package/dist/composables/useGanttDependencies.js +306 -0
  126. package/dist/composables/useGanttHistory.js +157 -0
  127. package/dist/composables/useGanttLabelResize.js +100 -0
  128. package/dist/composables/useTable.js +474 -0
  129. package/dist/composables/useTextareaSize.js +72 -0
  130. package/dist/composables/useTransfer.js +257 -0
  131. package/dist/composables/useTree.js +439 -0
  132. package/dist/composables/useTreeSelect.js +361 -0
  133. package/dist/index.js +149 -139
  134. package/dist/style.css +1 -1
  135. package/dist/types/components/HysAccordion/HysAccordion.vue.d.ts +61 -22
  136. package/dist/types/components/HysAutocomplete/HysAutocomplete.vue.d.ts +201 -0
  137. package/dist/types/components/HysAvatar/HysAvatar.vue.d.ts +28 -15
  138. package/dist/types/components/HysAvatarGroup/HysAvatarGroup.vue.d.ts +99 -0
  139. package/dist/types/components/HysBadge/HysBadge.vue.d.ts +41 -4
  140. package/dist/types/components/HysBreadcrumb/HysBreadcrumb.vue.d.ts +38 -10
  141. package/dist/types/components/HysButton/HysButton.vue.d.ts +0 -1
  142. package/dist/types/components/HysCalendar/HysCalendar.vue.d.ts +119 -31
  143. package/dist/types/components/HysCard/HysCard.vue.d.ts +55 -7
  144. package/dist/types/components/HysCascader/HysCascader.vue.d.ts +129 -41
  145. package/dist/types/components/HysCascader/HysCascaderColumn.vue.d.ts +55 -0
  146. package/dist/types/components/HysCheckbox/HysCheckbox.vue.d.ts +50 -39
  147. package/dist/types/components/HysCheckboxGroup/HysCheckboxGroup.vue.d.ts +73 -0
  148. package/dist/types/components/HysDataGrid/HysDataGrid.vue.d.ts +1 -1
  149. package/dist/types/components/HysDatePicker/HysDatePicker.vue.d.ts +66 -14
  150. package/dist/types/components/HysDatePicker/HysDatePickerControl.vue.d.ts +90 -0
  151. package/dist/types/components/HysDatePicker/HysDatePickerPanel.vue.d.ts +93 -0
  152. package/dist/types/components/HysDateRangePicker/HysDateRangePicker.vue.d.ts +66 -14
  153. package/dist/types/components/HysDivider/HysDivider.vue.d.ts +8 -3
  154. package/dist/types/components/HysFileManager/HysFileManager.vue.d.ts +2 -2
  155. package/dist/types/components/HysForm/HysForm.vue.d.ts +110 -18
  156. package/dist/types/components/HysFormItem/HysFormItem.vue.d.ts +108 -2
  157. package/dist/types/components/HysGantt/HysGantt.vue.d.ts +82 -4
  158. package/dist/types/components/HysInput/HysInput.vue.d.ts +52 -29
  159. package/dist/types/components/HysMention/HysMention.vue.d.ts +2 -2
  160. package/dist/types/components/HysNumberInput/HysNumberInput.vue.d.ts +93 -35
  161. package/dist/types/components/HysOrgTree/HysOrgTree.vue.d.ts +1 -0
  162. package/dist/types/components/HysPagination/HysPagination.vue.d.ts +1 -1
  163. package/dist/types/components/HysPermissionMatrix/HysPermissionMatrix.vue.d.ts +2 -2
  164. package/dist/types/components/HysPopover/HysPopover.vue.d.ts +3 -3
  165. package/dist/types/components/HysProgress/HysProgress.vue.d.ts +1 -1
  166. package/dist/types/components/HysRadio/HysRadio.vue.d.ts +56 -0
  167. package/dist/types/components/HysRadioGroup/HysRadioGroup.vue.d.ts +34 -12
  168. package/dist/types/components/HysRating/HysRating.vue.d.ts +85 -5
  169. package/dist/types/components/HysRichTextEditor/HysRichTextEditor.vue.d.ts +4 -4
  170. package/dist/types/components/HysSearch/HysSearch.vue.d.ts +2 -2
  171. package/dist/types/components/HysSegmented/HysSegmented.vue.d.ts +64 -32
  172. package/dist/types/components/HysSelect/HysSelect.vue.d.ts +120 -20
  173. package/dist/types/components/HysSkeleton/HysSkeleton.vue.d.ts +30 -2
  174. package/dist/types/components/HysSlider/HysSlider.vue.d.ts +66 -9
  175. package/dist/types/components/HysSlider/SliderTooltip.vue.d.ts +22 -0
  176. package/dist/types/components/HysSplitPane/HysSplitPane.vue.d.ts +1 -1
  177. package/dist/types/components/HysSteps/HysSteps.vue.d.ts +64 -9
  178. package/dist/types/components/HysSwitch/HysSwitch.vue.d.ts +76 -17
  179. package/dist/types/components/HysTable/HysTable.vue.d.ts +206 -32
  180. package/dist/types/components/HysTable/HysTableFilterOptions.vue.d.ts +18 -0
  181. package/dist/types/components/HysTabs/HysTabs.vue.d.ts +76 -23
  182. package/dist/types/components/HysTagInput/HysTagInput.vue.d.ts +5 -5
  183. package/dist/types/components/HysTextarea/HysTextarea.vue.d.ts +44 -27
  184. package/dist/types/components/HysToast/HysToast.vue.d.ts +3 -3
  185. package/dist/types/components/HysTour/HysTour.vue.d.ts +2 -2
  186. package/dist/types/components/HysTransfer/HysTransfer.vue.d.ts +55 -40
  187. package/dist/types/components/HysTransfer/HysTransferPanel.vue.d.ts +105 -0
  188. package/dist/types/components/HysTree/HysTree.vue.d.ts +140 -73
  189. package/dist/types/components/HysTreeSelect/HysTreeSelect.vue.d.ts +102 -23
  190. package/dist/types/components/HysTreeSelect/HysTreeSelectPanel.vue.d.ts +56 -0
  191. package/dist/types/composables/autocomplete.d.ts +106 -0
  192. package/dist/types/composables/avatar.d.ts +70 -0
  193. package/dist/types/composables/calendar.d.ts +66 -0
  194. package/dist/types/composables/cascader.d.ts +192 -0
  195. package/dist/types/composables/choice.d.ts +110 -0
  196. package/dist/types/composables/choiceModel.d.ts +11 -0
  197. package/dist/types/composables/datePicker.d.ts +247 -0
  198. package/dist/types/composables/formContext.d.ts +133 -8
  199. package/dist/types/composables/formLayout.d.ts +11 -0
  200. package/dist/types/composables/formValidation.d.ts +13 -0
  201. package/dist/types/composables/gantt.d.ts +68 -0
  202. package/dist/types/composables/ganttConflicts.d.ts +30 -0
  203. package/dist/types/composables/numberInput.d.ts +45 -0
  204. package/dist/types/composables/rating.d.ts +18 -0
  205. package/dist/types/composables/segmented.d.ts +15 -0
  206. package/dist/types/composables/selectOptions.d.ts +44 -0
  207. package/dist/types/composables/slider.d.ts +21 -0
  208. package/dist/types/composables/table.d.ts +309 -0
  209. package/dist/types/composables/textInput.d.ts +76 -0
  210. package/dist/types/composables/transfer.d.ts +180 -0
  211. package/dist/types/composables/tree.d.ts +237 -0
  212. package/dist/types/composables/treeSelect.d.ts +167 -0
  213. package/dist/types/composables/useCascader.d.ts +162 -0
  214. package/dist/types/composables/useDatePicker.d.ts +79 -0
  215. package/dist/types/composables/useFloating.d.ts +8 -5
  216. package/dist/types/composables/useGanttDependencies.d.ts +83 -0
  217. package/dist/types/composables/useGanttHistory.d.ts +42 -0
  218. package/dist/types/composables/useGanttLabelResize.d.ts +23 -0
  219. package/dist/types/composables/useTable.d.ts +60 -0
  220. package/dist/types/composables/useTextareaSize.d.ts +3 -0
  221. package/dist/types/composables/useTransfer.d.ts +58 -0
  222. package/dist/types/composables/useTree.d.ts +77 -0
  223. package/dist/types/composables/useTreeSelect.d.ts +117 -0
  224. package/dist/types/index.d.ts +33 -7
  225. package/package.json +2 -1
@@ -0,0 +1,7 @@
1
+ import o from "./HysDatePickerPanel2.vue.js";
2
+ /* empty css */
3
+ import t from "../../_virtual/_plugin-vue_export-helper.js";
4
+ const c = /* @__PURE__ */ t(o, [["__scopeId", "data-v-2dcd05b6"]]);
5
+ export {
6
+ c as default
7
+ };
@@ -0,0 +1,357 @@
1
+ import { defineComponent as ve, ref as I, computed as m, openBlock as l, createElementBlock as u, createElementVNode as b, renderSlot as c, createVNode as E, unref as w, createCommentVNode as g, toDisplayString as k, Fragment as F, createTextVNode as z, normalizeClass as B, renderList as U, mergeProps as j, nextTick as W } from "vue";
2
+ import { ChevronsLeft as we, ChevronLeft as ye, ChevronRight as be, ChevronsRight as ke } from "lucide-vue-next";
3
+ import { calendarParts as N, calendarDate as O, civilDay as C, calendarISO as Q } from "../../composables/calendar.js";
4
+ import { datePeriod as X, dateLocale as te, dateWeek as S, DATE_MIN as G, DATE_MAX as J, dateShift as Z } from "../../composables/datePicker.js";
5
+ const me = ["aria-label"], fe = { class: "hys-ui-date-panel-heading" }, he = { class: "hys-ui-date-navigation" }, ce = ["aria-label", "disabled"], ge = ["aria-label", "disabled"], Ce = {
6
+ class: "hys-ui-date-period-title",
7
+ "aria-live": "polite"
8
+ }, $e = ["aria-label"], De = ["aria-label"], Ae = { key: 0 }, Ne = ["aria-label"], Fe = { class: "hys-ui-date-navigation" }, Se = ["aria-label", "disabled"], qe = ["aria-label", "disabled"], Me = { key: 0 }, Pe = ["aria-label"], xe = {
9
+ key: 0,
10
+ class: "hys-ui-date-week-number",
11
+ role: "rowheader"
12
+ }, Ee = ["disabled", "aria-label", "onClick"], ze = ["data-picker-day", "data-date", "data-period", "aria-label", "aria-selected", "aria-current", "tabindex", "disabled", "onFocus", "onPointerenter", "onClick", "onKeydown"], Ye = /* @__PURE__ */ ve({
13
+ __name: "HysDatePickerPanel",
14
+ props: {
15
+ month: {},
16
+ view: {},
17
+ unit: {},
18
+ selected: {},
19
+ range: { type: Boolean },
20
+ preview: {},
21
+ first: {},
22
+ weekContains: {},
23
+ weekNumberFormatter: { type: Function },
24
+ locale: {},
25
+ words: {},
26
+ weekNumbers: { type: Boolean },
27
+ adjacent: { type: Boolean },
28
+ disabled: { type: Boolean },
29
+ available: { type: Function },
30
+ periodAvailable: { type: Function },
31
+ cellClassName: { type: Function }
32
+ },
33
+ emits: ["browse", "mode", "pick", "preview"],
34
+ setup(t, { expose: ae, emit: ie }) {
35
+ const e = t, $ = ie, L = I(), T = I(), q = I(), v = m(() => N(e.month).year), f = m(() => N(e.month).month), V = m(() => Math.floor((v.value - 1) / 12) * 12 + 1), Y = m(() => e.unit === "week" ? "date" : e.unit), ne = () => Q(
36
+ C(
37
+ (/* @__PURE__ */ new Date()).getFullYear(),
38
+ (/* @__PURE__ */ new Date()).getMonth(),
39
+ (/* @__PURE__ */ new Date()).getDate()
40
+ )
41
+ ), re = m(
42
+ () => Array.from({ length: 7 }, (a, r) => {
43
+ const i = O(
44
+ C(2026, 10, 2) + (e.first + 6) % 7 + r
45
+ );
46
+ try {
47
+ return new Intl.DateTimeFormat(e.locale, { weekday: "short" }).format(
48
+ i
49
+ );
50
+ } catch {
51
+ return new Intl.DateTimeFormat("zh-CN", { weekday: "short" }).format(
52
+ i
53
+ );
54
+ }
55
+ })
56
+ ), D = m(() => {
57
+ const a = e.selected.filter((o) => !!o), r = C(v.value, f.value, 1), i = r - (N(r).weekday - e.first + 7) % 7, n = e.view === "date" ? Array.from({ length: 42 }, (o, d) => i + d) : e.view === "month" ? Array.from({ length: 12 }, (o, d) => C(v.value, d, 1)) : e.view === "quarter" ? Array.from(
58
+ { length: 4 },
59
+ (o, d) => C(v.value, d * 3, 1)
60
+ ) : Array.from(
61
+ { length: 12 },
62
+ (o, d) => C(V.value + d, 0, 1)
63
+ ), y = e.preview !== void 0 && a[0] ? [a[0].day, e.preview] : a.map((o) => o.day), s = e.range && y.length === 2 ? y.sort((o, d) => o - d) : void 0;
64
+ return n.map((o) => {
65
+ const d = N(o), h = e.view === "date" ? e.unit : e.view, A = X(o, h, e.first), ee = d.month !== f.value, se = e.view === "date" ? String(d.day) : e.view === "month" ? te(e.locale).format(O(o)) : e.view === "quarter" ? "Q" + (Math.floor(d.month / 3) + 1) : String(d.year), x = S(o, e.first, e.weekContains), le = e.disabled || o < G || o > J || (e.view === "date" ? (e.unit === "week" ? !e.periodAvailable(A[0], A[1]) : !e.available(o)) || !e.adjacent && ee : !e.periodAvailable(A[0], A[1]));
66
+ return {
67
+ date: new Date(o * 864e5),
68
+ iso: Q(o),
69
+ value: o,
70
+ end: A[1],
71
+ text: se,
72
+ type: e.view,
73
+ outside: e.view === "date" && ee,
74
+ disabled: le,
75
+ selected: a.some(
76
+ (ue) => X(ue.day, h, e.first)[0] === A[0]
77
+ ),
78
+ inRange: !!s && o >= s[0] && o <= s[1],
79
+ today: Q(o) === ne(),
80
+ week: x.week,
81
+ weekYear: x.year,
82
+ weekStart: x.start,
83
+ weekEnd: x.end
84
+ };
85
+ });
86
+ }), p = m(() => {
87
+ var r, i, n, y;
88
+ const a = D.value.filter((s) => !s.disabled);
89
+ return ((r = a.find((s) => s.value === T.value)) == null ? void 0 : r.value) ?? ((i = a.find((s) => s.selected)) == null ? void 0 : i.value) ?? ((n = a.find((s) => !s.outside)) == null ? void 0 : n.value) ?? ((y = a[0]) == null ? void 0 : y.value);
90
+ }), oe = m(() => {
91
+ const a = e.view === "date" ? 7 : 3;
92
+ return Array.from(
93
+ { length: Math.ceil(D.value.length / a) },
94
+ (r, i) => D.value.slice(i * a, (i + 1) * a)
95
+ );
96
+ });
97
+ function _(a) {
98
+ var r;
99
+ return [
100
+ ...((r = L.value) == null ? void 0 : r.querySelectorAll("[data-picker-day]")) ?? []
101
+ ].find((i) => i.dataset.pickerDay === String(a));
102
+ }
103
+ async function K(a = p.value) {
104
+ if (a === void 0) return;
105
+ let r = _(a);
106
+ r || (await W(), r = _(a)), r && !r.disabled && r.focus();
107
+ }
108
+ async function M(a) {
109
+ e.disabled || ($("mode", a), await W(), await K());
110
+ }
111
+ async function R(a) {
112
+ $("browse", a), await W();
113
+ }
114
+ function P(a, r = !1) {
115
+ const i = e.view === "year" ? 144 : r || e.view === "month" || e.view === "quarter" ? 12 : 1;
116
+ R(Z(e.month, i * a));
117
+ }
118
+ async function H(a) {
119
+ if (a.disabled) return;
120
+ const r = { year: 0, quarter: 1, month: 2, date: 3 };
121
+ if (r[e.view] >= r[Y.value]) {
122
+ $("pick", a.value);
123
+ return;
124
+ }
125
+ await R(a.value), await M(
126
+ e.view === "year" ? e.unit === "quarter" ? "quarter" : "month" : e.view === "quarter" ? "month" : "date"
127
+ );
128
+ }
129
+ async function de(a, r) {
130
+ if (e.disabled || a.isComposing || a.keyCode === 229 || a.altKey || a.metaKey)
131
+ return;
132
+ if (a.key === "Enter" || a.key === " ") {
133
+ a.preventDefault(), await H(r);
134
+ return;
135
+ }
136
+ let i = r.value, n = 0;
137
+ const y = {
138
+ ArrowLeft: -1,
139
+ ArrowRight: 1,
140
+ ArrowUp: e.view === "date" ? -7 : -3,
141
+ ArrowDown: e.view === "date" ? 7 : 3
142
+ };
143
+ if (a.key in y) n = y[a.key];
144
+ else if (a.key === "Home" || a.key === "End")
145
+ if (e.view === "date") {
146
+ const d = (N(i).weekday - e.first + 7) % 7;
147
+ i += a.key === "Home" ? -d : 6 - d;
148
+ } else
149
+ i = D.value[a.key === "Home" ? 0 : D.value.length - 1].value;
150
+ else if (a.key === "PageUp" || a.key === "PageDown") {
151
+ const d = (a.key === "PageUp" ? -1 : 1) * (a.ctrlKey ? 12 : e.view === "year" ? 144 : e.view === "date" ? 1 : 12);
152
+ i = Z(i, d);
153
+ } else return;
154
+ a.preventDefault();
155
+ const s = (d, h) => e.view === "date" ? d + h : Z(
156
+ d,
157
+ h * (e.view === "year" ? 12 : e.view === "quarter" ? 3 : 1)
158
+ );
159
+ n && (i = s(i, n));
160
+ let o = !1;
161
+ for (let d = 0; d < 370 && i >= G && i <= J; d++) {
162
+ const h = X(
163
+ i,
164
+ e.view === "date" ? e.unit : e.view,
165
+ e.first
166
+ )[1];
167
+ if (e.view === "date" ? e.available(i) : e.periodAvailable(i, h)) {
168
+ o = !0;
169
+ break;
170
+ }
171
+ i = s(i, n || 1);
172
+ }
173
+ !o || i < G || i > J || (T.value = i, (!D.value.some((d) => d.value === i) || e.view === "date" && N(i).month !== f.value) && await R(i), await K(i));
174
+ }
175
+ return ae({ focus: K, element: L }), (a, r) => (l(), u("section", {
176
+ ref_key: "root",
177
+ ref: L,
178
+ class: "hys-ui-date-panel",
179
+ "aria-label": v.value + "-" + String(f.value + 1).padStart(2, "0")
180
+ }, [
181
+ b("div", fe, [
182
+ b("div", he, [
183
+ b("button", {
184
+ type: "button",
185
+ "aria-label": t.words.prevYear,
186
+ disabled: t.disabled || v.value <= 1,
187
+ onClick: r[0] || (r[0] = (i) => P(-1, !0))
188
+ }, [
189
+ c(a.$slots, "prev-year", {}, () => [
190
+ E(w(we), { size: 15 })
191
+ ], !0)
192
+ ], 8, ce),
193
+ t.view === "date" ? (l(), u("button", {
194
+ key: 0,
195
+ type: "button",
196
+ "aria-label": t.words.prevMonth,
197
+ disabled: t.disabled || f.value === 0 && v.value <= 1,
198
+ onClick: r[1] || (r[1] = (i) => P(-1))
199
+ }, [
200
+ c(a.$slots, "prev-month", {}, () => [
201
+ E(w(ye), { size: 15 })
202
+ ], !0)
203
+ ], 8, ge)) : g("", !0)
204
+ ]),
205
+ b("div", Ce, [
206
+ t.view === "year" ? (l(), u("button", {
207
+ key: 0,
208
+ type: "button",
209
+ "aria-label": t.words.back,
210
+ onClick: r[2] || (r[2] = (i) => M(Y.value))
211
+ }, k(V.value) + " — " + k(Math.min(9999, V.value + 11)), 9, $e)) : (l(), u(F, { key: 1 }, [
212
+ b("button", {
213
+ type: "button",
214
+ "aria-label": t.words.year,
215
+ onClick: r[3] || (r[3] = (i) => M("year"))
216
+ }, [
217
+ z(k(v.value), 1),
218
+ t.locale.startsWith("zh") ? (l(), u("span", Ae, "年")) : g("", !0)
219
+ ], 8, De),
220
+ t.view !== "quarter" ? (l(), u("button", {
221
+ key: 0,
222
+ type: "button",
223
+ "aria-label": t.view === "month" ? t.words.back : t.words.month,
224
+ onClick: r[4] || (r[4] = (i) => M(t.view === "month" ? Y.value : "month"))
225
+ }, k(w(te)(t.locale).format(w(O)(w(C)(v.value, f.value, 1)))), 9, Ne)) : g("", !0)
226
+ ], 64))
227
+ ]),
228
+ b("div", Fe, [
229
+ t.view === "date" ? (l(), u("button", {
230
+ key: 0,
231
+ type: "button",
232
+ "aria-label": t.words.nextMonth,
233
+ disabled: t.disabled || f.value === 11 && v.value >= 9999,
234
+ onClick: r[5] || (r[5] = (i) => P(1))
235
+ }, [
236
+ c(a.$slots, "next-month", {}, () => [
237
+ E(w(be), { size: 15 })
238
+ ], !0)
239
+ ], 8, Se)) : g("", !0),
240
+ b("button", {
241
+ type: "button",
242
+ "aria-label": t.words.nextYear,
243
+ disabled: t.disabled || v.value >= 9999,
244
+ onClick: r[6] || (r[6] = (i) => P(1, !0))
245
+ }, [
246
+ c(a.$slots, "next-year", {}, () => [
247
+ E(w(ke), { size: 15 })
248
+ ], !0)
249
+ ], 8, qe)
250
+ ])
251
+ ]),
252
+ t.view === "date" ? (l(), u("div", {
253
+ key: 0,
254
+ class: B(["hys-ui-date-weekdays", { "hys-ui-date-with-weeks": t.weekNumbers }]),
255
+ "aria-hidden": "true"
256
+ }, [
257
+ t.weekNumbers ? (l(), u("span", Me, k(t.words.week), 1)) : g("", !0),
258
+ (l(!0), u(F, null, U(re.value, (i, n) => (l(), u("span", { key: n }, k(i), 1))), 128))
259
+ ], 2)) : g("", !0),
260
+ b("div", {
261
+ class: B(["hys-ui-date-cells", [
262
+ "hys-ui-date-view-" + t.view,
263
+ { "hys-ui-date-with-weeks": t.weekNumbers && t.view === "date" }
264
+ ]]),
265
+ role: "grid",
266
+ "aria-label": t.view === "date" ? t.words.empty : t.view === "year" ? t.words.year : t.words.month,
267
+ onMouseleave: r[7] || (r[7] = (i) => {
268
+ q.value = void 0, $("preview", void 0);
269
+ })
270
+ }, [
271
+ (l(!0), u(F, null, U(oe.value, (i) => (l(), u("div", {
272
+ key: i[0].value,
273
+ role: "row",
274
+ class: B(["hys-ui-date-grid-row", {
275
+ "hys-ui-date-week-hover": t.unit === "week" && t.view === "date" && q.value !== void 0 && i.some((n) => n.value === q.value)
276
+ }])
277
+ }, [
278
+ (l(!0), u(F, null, U(i, (n, y) => {
279
+ var s;
280
+ return l(), u(F, {
281
+ key: n.value
282
+ }, [
283
+ t.view === "date" && t.weekNumbers && y % 7 === 0 ? (l(), u("span", xe, [
284
+ t.unit === "week" ? (l(), u("button", {
285
+ key: 0,
286
+ type: "button",
287
+ tabindex: "-1",
288
+ disabled: i.every((o) => o.disabled),
289
+ "aria-label": `${n.weekYear} ${t.words.week} ${n.week}: ${n.weekStart} – ${n.weekEnd}`,
290
+ onClick: (o) => H(i.find((d) => !d.disabled))
291
+ }, [
292
+ c(a.$slots, "week-number", j({ ref_for: !0 }, w(S)(n.value, t.first, t.weekContains), {
293
+ selected: n.selected,
294
+ disabled: i.every((o) => o.disabled)
295
+ }), () => {
296
+ var o;
297
+ return [
298
+ z(k(((o = t.weekNumberFormatter) == null ? void 0 : o.call(
299
+ t,
300
+ w(S)(n.value, t.first, t.weekContains)
301
+ )) ?? n.week), 1)
302
+ ];
303
+ }, !0)
304
+ ], 8, Ee)) : c(a.$slots, "week-number", j({ ref_for: !0 }, w(S)(n.value, t.first, t.weekContains), {
305
+ selected: n.selected,
306
+ disabled: n.disabled
307
+ }), () => {
308
+ var o;
309
+ return [
310
+ z(k(((o = t.weekNumberFormatter) == null ? void 0 : o.call(
311
+ t,
312
+ w(S)(n.value, t.first, t.weekContains)
313
+ )) ?? n.week), 1)
314
+ ];
315
+ }, !0, 1)
316
+ ])) : g("", !0),
317
+ b("button", {
318
+ type: "button",
319
+ role: "gridcell",
320
+ "data-picker-day": n.value,
321
+ "data-date": t.view === "date" ? n.iso : void 0,
322
+ "data-period": t.view !== "date" ? n.iso : void 0,
323
+ "aria-label": t.view === "date" ? n.iso : n.text,
324
+ "aria-selected": n.selected,
325
+ "aria-current": n.today ? "date" : void 0,
326
+ tabindex: n.value === p.value ? 0 : -1,
327
+ disabled: n.disabled,
328
+ class: B([
329
+ (s = t.cellClassName) == null ? void 0 : s.call(t, n),
330
+ {
331
+ "hys-ui-is-selected": n.selected,
332
+ "hys-ui-is-today": n.today,
333
+ "hys-ui-is-outside": n.outside,
334
+ "hys-ui-is-in-range": n.inRange && !n.selected
335
+ }
336
+ ]),
337
+ onFocus: (o) => {
338
+ T.value = n.value, $("preview", n.value);
339
+ },
340
+ onPointerenter: (o) => !n.disabled && (q.value = n.value, $("preview", n.value)),
341
+ onClick: (o) => H(n),
342
+ onKeydown: (o) => de(o, n)
343
+ }, [
344
+ c(a.$slots, "cell", j({ ref_for: !0 }, n), () => [
345
+ z(k(n.text), 1)
346
+ ], !0)
347
+ ], 42, ze)
348
+ ], 64);
349
+ }), 128))
350
+ ], 2))), 128))
351
+ ], 42, Pe)
352
+ ], 8, me));
353
+ }
354
+ });
355
+ export {
356
+ Ye as default
357
+ };