@epam/ai-dial-ui-kit 0.15.0-dev.4 → 0.15.0-dev.41

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 (193) hide show
  1. package/README.md +190 -0
  2. package/dist/CHANGELOG.md +73 -0
  3. package/dist/DateCellRenderer-DFknFcs1.cjs +1 -0
  4. package/dist/{DateCellRenderer-BVM-Q8yx.cjs → DateCellRenderer-J9A5gyDz.cjs} +31 -31
  5. package/dist/IconButton-DHOFapLo.cjs +1 -0
  6. package/dist/{JsonEditor-qv1Z0dLX.cjs → JsonEditor-BDe6elKO.cjs} +1 -1
  7. package/dist/{MarkdownEditor-DHn2pYOJ.cjs → MarkdownEditor-C7BONfsl.cjs} +1 -1
  8. package/dist/{MarkdownEditor-jQ8nDJfx.cjs → MarkdownEditor-FVzYMdkC.cjs} +1 -1
  9. package/dist/{MarkdownEditorContainer-Bzcnoemw.cjs → MarkdownEditorContainer-GvlxX6kx.cjs} +1 -1
  10. package/dist/{Switch-CUKClcEz.cjs → Switch-DE6MrcqJ.cjs} +1 -1
  11. package/dist/components/Button/constants.js +9 -8
  12. package/dist/components/Dropdown/Dropdown.js +70 -65
  13. package/dist/components/Dropdown/DropdownSubMenuItem.js +63 -55
  14. package/dist/components/Dropdown/constants.js +16 -14
  15. package/dist/components/DropdownIcon/DropdownIcon.js +43 -32
  16. package/dist/components/FileManager/FileManager.js +373 -372
  17. package/dist/components/FileManager/FileManagerProvider.js +266 -264
  18. package/dist/components/FileManager/hooks/use-grid-context-menu.js +59 -59
  19. package/dist/components/New/Accordion/Accordion.js +87 -71
  20. package/dist/components/New/Avatar/Avatar.js +70 -0
  21. package/dist/components/New/Badge/Badge.js +45 -0
  22. package/dist/components/New/BottomSheet/BottomSheet.js +128 -0
  23. package/dist/components/New/Breadcrumbs/Breadcrumbs.js +159 -0
  24. package/dist/components/New/Breadcrumbs/constants.js +41 -0
  25. package/dist/components/New/Button/Button.js +32 -32
  26. package/dist/components/New/Button/ButtonWrappers.js +93 -37
  27. package/dist/components/New/Button/constants.js +3 -0
  28. package/dist/components/New/Button/utils.js +18 -8
  29. package/dist/components/New/ButtonDropdown/ButtonDropdown.js +26 -16
  30. package/dist/components/New/Calendar/Calendar.js +301 -265
  31. package/dist/components/New/Calendar/constants.js +5 -5
  32. package/dist/components/New/CaptionText/CaptionText.js +18 -15
  33. package/dist/components/New/CardShell/CardShell.js +5 -3
  34. package/dist/components/New/Checkbox/Checkbox.js +67 -56
  35. package/dist/components/New/Checkbox/CheckboxBox.js +5 -3
  36. package/dist/components/New/CloseButton/CloseButton.js +18 -16
  37. package/dist/components/New/CollapsibleSidebar/CollapsibleSidebar.js +39 -34
  38. package/dist/components/New/ConfirmationPopup/ConfirmationPopup.js +38 -37
  39. package/dist/components/New/ConfirmationPopup/constants.js +8 -11
  40. package/dist/components/New/Dropdown/Dropdown.js +112 -105
  41. package/dist/components/New/Dropdown/DropdownSubMenuItem.js +17 -17
  42. package/dist/components/New/Dropdown/constants.js +22 -17
  43. package/dist/components/New/EllipsisTooltip/EllipsisTooltip.js +20 -18
  44. package/dist/components/New/EntityIdentity/EntityIdentity.js +135 -0
  45. package/dist/components/New/FileDropzone/FileDropzone.js +27 -25
  46. package/dist/components/New/FileIcon/FileIcon.js +55 -0
  47. package/dist/components/New/FileIcon/constants.js +134 -0
  48. package/dist/components/New/FileIcon/icons/FileGlyph.js +150 -0
  49. package/dist/components/New/FileIcon/icons/FolderGlyph.js +50 -0
  50. package/dist/components/New/FileName/FileName.js +78 -0
  51. package/dist/components/New/FilterChips/FilterChips.js +43 -0
  52. package/dist/components/New/FilterChips/constants.js +5 -0
  53. package/dist/components/New/FolderName/FolderName.js +16 -0
  54. package/dist/components/New/FolderPath/FolderPath.js +29 -28
  55. package/dist/components/New/Highlight/Highlight.js +23 -30
  56. package/dist/components/New/IconButton/IconButton.js +30 -28
  57. package/dist/components/New/InfoButton/InfoButton.js +13 -11
  58. package/dist/components/New/InlineSelect/InlineSelect.js +74 -56
  59. package/dist/components/New/InteractiveTooltip/InteractiveTooltip.js +41 -39
  60. package/dist/components/New/InteractiveTooltip/constants.js +2 -2
  61. package/dist/components/New/Label/Label.js +13 -8
  62. package/dist/components/New/MenuItem/MenuItem.js +29 -27
  63. package/dist/components/New/MenuItem/constants.js +9 -8
  64. package/dist/components/New/NoDataContent/NoDataContent.js +21 -19
  65. package/dist/components/New/Notification/Notification.js +33 -29
  66. package/dist/components/New/NumberInput/NumberInput.js +42 -33
  67. package/dist/components/New/PasswordInput/PasswordInput.js +41 -35
  68. package/dist/components/New/Popup/Popup.js +46 -44
  69. package/dist/components/New/Popup/constants.js +3 -3
  70. package/dist/components/New/Radio/Radio.js +75 -64
  71. package/dist/components/New/RadioGroup/RadioGroup.js +76 -65
  72. package/dist/components/New/RadioGroupPopupField/RadioGroupPopupField.js +117 -106
  73. package/dist/components/New/ResizableContainer/ResizableContainer.js +42 -40
  74. package/dist/components/New/Search/Search.js +29 -27
  75. package/dist/components/New/SegmentedControl/SegmentedControl.js +29 -23
  76. package/dist/components/New/Select/CollapsedSelectTags.js +127 -0
  77. package/dist/components/New/Select/MultiSelectTags.js +18 -15
  78. package/dist/components/New/Select/Select.js +219 -197
  79. package/dist/components/New/Select/constants.js +23 -20
  80. package/dist/components/New/SharedEntityIndicator/SharedEntityIndicator.js +34 -0
  81. package/dist/components/New/SideDrawer/SideDrawer.js +148 -0
  82. package/dist/components/New/Switch/Switch.js +69 -58
  83. package/dist/components/New/Tabs/Tabs.js +125 -61
  84. package/dist/components/New/Tag/Tag.js +42 -40
  85. package/dist/components/New/TagInput/TagInput.js +48 -44
  86. package/dist/components/New/ToggleIconButton/ToggleIconButton.js +26 -24
  87. package/dist/components/New/Tooltip/TooltipContent.js +11 -9
  88. package/dist/components/New/Tooltip/constants.js +1 -1
  89. package/dist/components/New/TransferQueue/TransferQueue.js +124 -0
  90. package/dist/components/New/TransferQueue/TransferQueueHeader.js +71 -0
  91. package/dist/components/New/TransferQueue/TransferQueueRow.js +119 -0
  92. package/dist/components/New/TransferQueue/constants.js +24 -0
  93. package/dist/components/New/constants/overlay.js +17 -9
  94. package/dist/components/Popup/constants.js +8 -8
  95. package/dist/components/ProgressBar/ProgressBar.js +45 -33
  96. package/dist/components/SchemaRenderer/components/SchemaAdditionalPropertiesEditor.js +46 -31
  97. package/dist/components/SchemaRenderer/components/SchemaField.js +19 -19
  98. package/dist/components/SchemaRenderer/components/SchemaFieldContent.js +18 -18
  99. package/dist/components/SchemaRenderer/components/SchemaKeyValueEditor.js +223 -135
  100. package/dist/components/SchemaRenderer/types.js +19 -8
  101. package/dist/components/SchemaRenderer/utils.js +122 -95
  102. package/dist/components/Skeleton/Skeleton.js +25 -19
  103. package/dist/components/Spinner/Spinner.js +7 -5
  104. package/dist/components/Tooltip/TooltipContent.js +11 -11
  105. package/dist/components-manifest.json +1478 -59
  106. package/dist/constants/public-class-names.js +208 -0
  107. package/dist/dial-ui-kit.cjs +2 -2
  108. package/dist/dial-ui-kit.js +337 -292
  109. package/dist/editors.cjs +1 -1
  110. package/dist/file-manager.cjs +1 -1
  111. package/dist/grid.cjs +1 -1
  112. package/dist/index.css +2 -2
  113. package/dist/lazy-BEsZqouS.cjs +1 -0
  114. package/dist/merge-classes-BEJXjzkx.cjs +1 -0
  115. package/dist/migration-guides/0.15.0/legacy-theme-variable-fallbacks-removal.md +69 -0
  116. package/dist/migration-guides/README.md +1 -0
  117. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js +419 -399
  118. package/dist/src/components/FileManager/FileManager.d.ts +2 -0
  119. package/dist/src/components/FileManager/FileManagerContext.d.ts +1 -0
  120. package/dist/src/components/FileManager/hooks/use-grid-context-menu.d.ts +2 -1
  121. package/dist/src/components/New/Accordion/Accordion.d.ts +6 -1
  122. package/dist/src/components/New/Avatar/Avatar.d.ts +55 -0
  123. package/dist/src/components/New/Badge/Badge.d.ts +47 -0
  124. package/dist/src/components/New/BottomSheet/BottomSheet.d.ts +84 -0
  125. package/dist/src/components/New/Breadcrumbs/Breadcrumbs.d.ts +94 -0
  126. package/dist/src/components/New/Breadcrumbs/constants.d.ts +60 -0
  127. package/dist/src/components/New/Button/Button.d.ts +4 -1
  128. package/dist/src/components/New/Button/ButtonWrappers.d.ts +20 -0
  129. package/dist/src/components/New/Button/utils.d.ts +15 -0
  130. package/dist/src/components/New/ButtonDropdown/ButtonDropdown.d.ts +4 -0
  131. package/dist/src/components/New/Calendar/Calendar.d.ts +7 -1
  132. package/dist/src/components/New/Calendar/constants.d.ts +1 -1
  133. package/dist/src/components/New/ConfirmationPopup/constants.d.ts +0 -1
  134. package/dist/src/components/New/Dropdown/Dropdown.d.ts +9 -1
  135. package/dist/src/components/New/Dropdown/constants.d.ts +3 -0
  136. package/dist/src/components/New/EntityIdentity/EntityIdentity.d.ts +85 -0
  137. package/dist/src/components/New/FileIcon/FileIcon.d.ts +61 -0
  138. package/dist/src/components/New/FileIcon/constants.d.ts +16 -0
  139. package/dist/src/components/New/FileIcon/icons/FileGlyph.d.ts +18 -0
  140. package/dist/src/components/New/FileIcon/icons/FolderGlyph.d.ts +17 -0
  141. package/dist/src/components/New/FileName/FileName.d.ts +79 -0
  142. package/dist/src/components/New/FilterChips/FilterChips.d.ts +69 -0
  143. package/dist/src/components/New/FilterChips/constants.d.ts +13 -0
  144. package/dist/src/components/New/FolderName/FolderName.d.ts +37 -0
  145. package/dist/src/components/New/InlineSelect/InlineSelect.d.ts +16 -1
  146. package/dist/src/components/New/InteractiveTooltip/constants.d.ts +5 -4
  147. package/dist/src/components/New/Notification/Notification.d.ts +18 -0
  148. package/dist/src/components/New/Popup/constants.d.ts +1 -1
  149. package/dist/src/components/New/Select/CollapsedSelectTags.d.ts +22 -0
  150. package/dist/src/components/New/Select/MultiSelectTags.d.ts +5 -0
  151. package/dist/src/components/New/Select/Select.d.ts +9 -0
  152. package/dist/src/components/New/Select/constants.d.ts +3 -2
  153. package/dist/src/components/New/SharedEntityIndicator/SharedEntityIndicator.d.ts +35 -0
  154. package/dist/src/components/New/SideDrawer/SideDrawer.d.ts +100 -0
  155. package/dist/src/components/New/Tabs/Tabs.d.ts +54 -6
  156. package/dist/src/components/New/Tooltip/constants.d.ts +5 -3
  157. package/dist/src/components/New/TransferQueue/TransferQueue.d.ts +139 -0
  158. package/dist/src/components/New/TransferQueue/TransferQueueHeader.d.ts +16 -0
  159. package/dist/src/components/New/TransferQueue/TransferQueueRow.d.ts +10 -0
  160. package/dist/src/components/New/TransferQueue/constants.d.ts +6 -0
  161. package/dist/src/components/New/constants/overlay.d.ts +13 -0
  162. package/dist/src/components/Popup/constants.d.ts +1 -1
  163. package/dist/src/components/SchemaRenderer/types.d.ts +11 -0
  164. package/dist/src/components/SchemaRenderer/utils.d.ts +10 -1
  165. package/dist/src/constants/public-class-names.d.ts +199 -0
  166. package/dist/src/index.d.ts +34 -1
  167. package/dist/src/types/accordion.d.ts +7 -0
  168. package/dist/src/types/avatar.d.ts +7 -0
  169. package/dist/src/types/badge.d.ts +16 -0
  170. package/dist/src/types/breadcrumbs.d.ts +9 -0
  171. package/dist/src/types/button.d.ts +1 -0
  172. package/dist/src/types/entity-type.d.ts +9 -0
  173. package/dist/src/types/transfer-queue.d.ts +10 -0
  174. package/dist/src/utils/__tests__/avatar.spec.d.ts +1 -0
  175. package/dist/src/utils/avatar.d.ts +12 -0
  176. package/dist/src/utils/sub-menu-floating.d.ts +7 -4
  177. package/dist/types/accordion.js +4 -0
  178. package/dist/types/avatar.js +4 -0
  179. package/dist/types/badge.js +5 -0
  180. package/dist/types/breadcrumbs.js +4 -0
  181. package/dist/types/button.js +3 -3
  182. package/dist/types/entity-type.js +4 -0
  183. package/dist/types/transfer-queue.js +4 -0
  184. package/dist/use-file-manager-tabs-Bj_ENNKt.cjs +3 -0
  185. package/dist/utils/avatar.js +22 -0
  186. package/dist/utils/merge-classes.js +12 -5
  187. package/dist/utils/sub-menu-floating.js +99 -54
  188. package/package.json +4 -7
  189. package/dist/DateCellRenderer-ssp7eaZY.cjs +0 -1
  190. package/dist/IconButton-DWqoaBWf.cjs +0 -1
  191. package/dist/lazy-tfN4sKhq.cjs +0 -1
  192. package/dist/merge-classes-Dipy1Ih1.cjs +0 -1
  193. package/dist/use-file-manager-tabs-DjdR_mYM.cjs +0 -3
@@ -1,65 +1,66 @@
1
1
  import { jsx as e, jsxs as c, Fragment as O } from "react/jsx-runtime";
2
- import { useFloating as se, autoUpdate as ie, offset as oe, flip as ce, shift as de, useClick as me, useDismiss as pe, useRole as ue, useInteractions as fe, FloatingPortal as he, FloatingFocusManager as ge } from "@floating-ui/react";
3
- import { IconChevronDown as be } from "@tabler/icons-react";
4
- import { useId as xe, useState as E, useMemo as F, useEffect as ye } from "react";
5
- import { Label as ve } from "../Label/Label.js";
6
- import { StaticIconButton as j } from "../IconButton/IconButtonWrappers.js";
7
- import { DIAL_KIT_ICON_STROKE as Ne } from "../constants/icon.js";
8
- import { DIAL_ICON_SIZE as De } from "../../../constants/icon.js";
9
- import { CalendarMode as N } from "../../../types/calendar.js";
10
- import { ElementSize as V } from "../../../types/size.js";
11
- import { useThemeScope as Ce } from "../ThemeScope/ThemeScope.js";
2
+ import { useFloating as oe, autoUpdate as ce, offset as de, flip as me, shift as pe, useClick as fe, useDismiss as ue, useRole as he, useInteractions as ge, FloatingPortal as be, FloatingFocusManager as xe } from "@floating-ui/react";
3
+ import { IconChevronDown as ye } from "@tabler/icons-react";
4
+ import { useId as ve, useState as B, useMemo as S, useEffect as Ne } from "react";
5
+ import { Label as De } from "../Label/Label.js";
6
+ import { StaticIconButton as K } from "../IconButton/IconButtonWrappers.js";
7
+ import { DIAL_KIT_ICON_STROKE as Ce } from "../constants/icon.js";
8
+ import { DIAL_ICON_SIZE as Ie } from "../../../constants/icon.js";
9
+ import { CalendarMode as D } from "../../../types/calendar.js";
10
+ import { ElementSize as P } from "../../../types/size.js";
11
+ import { useThemeScope as Le } from "../ThemeScope/ThemeScope.js";
12
12
  import { mergeClasses as d } from "../../../utils/merge-classes.js";
13
- import { getTimezoneLabel as Ie } from "../../../utils/timezone.js";
14
- import { DEFAULT_CALENDAR_LOCALE as Le, calendarModeDefaultPlaceholder as Te, calendarFieldIconClassName as Fe, calendarNavIcons as P, calendarDaySelectedClassName as Se, calendarDayTodayClassName as Me, calendarDayOutsideClassName as Oe, calendarDayButtonBaseClassName as we, calendarIcon as ke, calendarFieldDisabledClassName as q, calendarFieldInvalidClassName as H, calendarFieldBaseClassName as J, calendarPopoverClassName as Be } from "./constants.js";
15
- import { getWeekdayShortLabels as Ee, getWeekdayOptions as Ae, getMonthGrid as _e, formatTimeLabel as M, formatMonthLabel as Re, isSameDay as W, isDateOutOfRange as K, formatDayAriaLabel as ze, sanitizeTimeInput as $e, isCompleteTimeString as je, setTimeOnDate as U, formatDateLabel as Y } from "./utils.js";
16
- const G = ({
13
+ import { getTimezoneLabel as Te } from "../../../utils/timezone.js";
14
+ import { DEFAULT_CALENDAR_LOCALE as Se, calendarModeDefaultPlaceholder as Fe, calendarFieldIconClassName as Me, calendarNavIcons as W, calendarDaySelectedClassName as Oe, calendarDayTodayClassName as we, calendarDayOutsideClassName as ke, calendarDayButtonBaseClassName as Ae, calendarIcon as _e, calendarFieldDisabledClassName as J, calendarFieldInvalidClassName as Q, calendarFieldBaseClassName as X, calendarPopoverClassName as Ee } from "./constants.js";
15
+ import { getWeekdayShortLabels as Be, getWeekdayOptions as Re, getMonthGrid as ze, formatTimeLabel as M, formatMonthLabel as $e, isSameDay as U, isDateOutOfRange as Y, formatDayAriaLabel as je, sanitizeTimeInput as Ve, isCompleteTimeString as Ke, setTimeOnDate as G, formatDateLabel as Z } from "./utils.js";
16
+ import { DIAL_KIT_CLASS as E } from "../../../constants/public-class-names.js";
17
+ const q = ({
17
18
  id: s,
18
19
  disabled: a,
19
- invalid: u,
20
- trigger: i,
21
- panelClassName: C,
22
- fieldClassName: x,
23
- panel: y,
24
- labelledBy: I,
25
- panelLabel: f
20
+ invalid: p,
21
+ trigger: C,
22
+ panelClassName: i,
23
+ fieldClassName: I,
24
+ panel: x,
25
+ labelledBy: y,
26
+ panelLabel: L
26
27
  }) => {
27
- const D = Ce(), [m, l] = E(!1), { refs: h, floatingStyles: g, context: o } = se({
28
- open: m,
29
- onOpenChange: (L) => l(a ? !1 : L),
28
+ const f = Le(), [u, h] = B(!1), { refs: l, floatingStyles: v, context: o } = oe({
29
+ open: u,
30
+ onOpenChange: (k) => h(a ? !1 : k),
30
31
  placement: "bottom-start",
31
- whileElementsMounted: ie,
32
- middleware: [oe(8), ce({ padding: 8 }), de({ padding: 8 })]
33
- }), n = me(o, { enabled: !a }), w = pe(o), b = ue(o, { role: "dialog" }), { getReferenceProps: S, getFloatingProps: k } = fe([
32
+ whileElementsMounted: ce,
33
+ middleware: [de(8), me({ padding: 8 }), pe({ padding: 8 })]
34
+ }), g = fe(o, { enabled: !a }), n = ue(o), w = he(o, { role: "dialog" }), { getReferenceProps: b, getFloatingProps: F } = ge([
35
+ g,
34
36
  n,
35
- w,
36
- b
37
+ w
37
38
  ]);
38
39
  return /* @__PURE__ */ c(O, { children: [
39
40
  /* @__PURE__ */ e(
40
41
  "div",
41
42
  {
42
43
  id: s,
43
- ref: h.setReference,
44
+ ref: l.setReference,
44
45
  role: "button",
45
46
  "aria-haspopup": "dialog",
46
- "aria-expanded": m,
47
+ "aria-expanded": u,
47
48
  "aria-disabled": a,
48
- "aria-labelledby": I,
49
+ "aria-labelledby": y,
49
50
  tabIndex: a ? -1 : 0,
50
51
  className: d(
51
- J,
52
+ X,
52
53
  "focus-visible:outline focus-visible:outline-focus",
53
- u && H,
54
- a && q,
55
- x
54
+ p && Q,
55
+ a && J,
56
+ I
56
57
  ),
57
- ...S(),
58
- children: i
58
+ ...b(),
59
+ children: C
59
60
  }
60
61
  ),
61
- m && /* @__PURE__ */ e(he, { children: /* @__PURE__ */ e(
62
- ge,
62
+ u && /* @__PURE__ */ e(be, { children: /* @__PURE__ */ e(
63
+ xe,
63
64
  {
64
65
  context: o,
65
66
  modal: !1,
@@ -68,35 +69,36 @@ const G = ({
68
69
  children: /* @__PURE__ */ e(
69
70
  "div",
70
71
  {
71
- ref: h.setFloating,
72
- style: g,
73
- "aria-label": f,
72
+ ref: l.setFloating,
73
+ style: v,
74
+ "aria-label": L,
74
75
  className: d(
75
- Be,
76
- D,
77
- C
76
+ Ee,
77
+ f,
78
+ i
78
79
  ),
79
- ...k(),
80
- children: y(() => l(!1))
80
+ ...F(),
81
+ children: x(() => h(!1))
81
82
  }
82
83
  )
83
84
  }
84
85
  ) })
85
86
  ] });
86
- }, Z = ({
87
+ }, H = ({
87
88
  id: s,
88
89
  value: a,
89
- onChange: u,
90
+ onChange: p,
91
+ onBlur: C,
90
92
  disabled: i,
91
- invalid: C,
93
+ invalid: I,
92
94
  className: x,
93
95
  ariaLabel: y,
94
- placeholder: I = "--:--",
96
+ placeholder: L = "--:--",
95
97
  timezoneLabel: f
96
98
  }) => {
97
- const [D, m] = E(a);
98
- ye(() => {
99
- m(a);
99
+ const [u, h] = B(a);
100
+ Ne(() => {
101
+ h(a);
100
102
  }, [a]);
101
103
  const l = /* @__PURE__ */ e(
102
104
  "input",
@@ -106,17 +108,18 @@ const G = ({
106
108
  inputMode: "numeric",
107
109
  autoComplete: "off",
108
110
  "aria-label": y,
109
- placeholder: I,
111
+ placeholder: L,
110
112
  disabled: i,
111
- value: D,
112
- onChange: (h) => {
113
- const g = $e(h.target.value);
114
- m(g), je(g) && u(g);
113
+ value: u,
114
+ onChange: (v) => {
115
+ const o = Ve(v.target.value);
116
+ h(o), Ke(o) && p(o);
115
117
  },
118
+ onBlur: C,
116
119
  className: d(
117
- J,
118
- C && H,
119
- i && q,
120
+ X,
121
+ I && Q,
122
+ i && J,
120
123
  x
121
124
  )
122
125
  }
@@ -125,231 +128,264 @@ const G = ({
125
128
  l,
126
129
  /* @__PURE__ */ e("span", { className: "dial-small-paragraph-text pointer-events-none absolute end-4 top-1/2 -translate-y-1/2 truncate text-secondary", children: f })
127
130
  ] }) : l;
128
- }, at = ({
129
- mode: s = N.Date,
131
+ }, rt = ({
132
+ mode: s = D.Date,
130
133
  value: a,
131
- onChange: u,
134
+ onChange: p,
135
+ onBlur: C,
132
136
  labelProps: i,
133
- placeholder: C,
137
+ placeholder: I,
134
138
  disabled: x = !1,
135
139
  invalid: y = !1,
136
- id: I,
140
+ id: L,
137
141
  className: f,
138
- minDate: D,
139
- maxDate: m,
140
- locale: l = Le,
141
- fieldClassName: h,
142
- showTimezone: g = !1
142
+ minDate: u,
143
+ maxDate: h,
144
+ locale: l = Se,
145
+ fieldClassName: v,
146
+ showTimezone: o = !1
143
147
  }) => {
144
- const o = C ?? Te[s], n = a instanceof Date ? a : null, w = xe(), b = I ?? w, S = i?.id ?? `${b}-label`, k = !!i?.label, L = typeof i?.label == "string" ? i.label : void 0, A = k ? `${S} ${b}` : void 0, B = i ? /* @__PURE__ */ e(ve, { ...i, id: S, htmlFor: b }) : null, [T, Q] = E(
148
+ const g = I ?? Fe[s], n = a instanceof Date ? a : null, w = ve(), b = L ?? w, F = i?.id ?? `${b}-label`, k = !!i?.label, A = typeof i?.label == "string" ? i.label : void 0, R = k ? `${F} ${b}` : void 0, _ = i ? /* @__PURE__ */ e(De, { ...i, id: F, htmlFor: b }) : null, [T, ee] = B(
145
149
  () => n ?? /* @__PURE__ */ new Date()
146
- ), X = F(() => /* @__PURE__ */ new Date(), []), ee = F(
147
- () => g ? Ie({ locale: l }) : null,
148
- [g, l]
149
- ), te = F(
150
- () => Ee(l),
150
+ ), te = S(() => /* @__PURE__ */ new Date(), []), ae = S(
151
+ () => o ? Te({ locale: l }) : null,
152
+ [o, l]
153
+ ), le = S(
154
+ () => Be(l),
151
155
  [l]
152
- ), _ = F(() => Ae(l), [l]), ae = F(
153
- () => _e(T.getFullYear(), T.getMonth()),
156
+ ), z = S(() => Re(l), [l]), ne = S(
157
+ () => ze(T.getFullYear(), T.getMonth()),
154
158
  [T]
155
- ), R = (r) => {
156
- Q(
159
+ ), $ = (r) => {
160
+ ee(
157
161
  (t) => new Date(t.getFullYear(), t.getMonth() + r, 1)
158
162
  );
159
- }, le = (r, t) => {
160
- if (K(r, D, m)) return;
161
- const v = s === N.DateTime && n ? U(r, M(n)) : r;
162
- u?.(v), s === N.Date && t();
163
- }, ne = (r) => {
164
- u?.(U(n ?? /* @__PURE__ */ new Date(), r));
165
- }, re = () => n ? s === N.DateTime ? `${Y(n, l)}, ${M(n)}` : Y(n, l) : o;
166
- if (s === N.Time) {
163
+ }, re = (r, t) => {
164
+ if (Y(r, u, h)) return;
165
+ const N = s === D.DateTime && n ? G(r, M(n)) : r;
166
+ p?.(N), s === D.Date && t();
167
+ }, se = (r) => {
168
+ p?.(G(n ?? /* @__PURE__ */ new Date(), r));
169
+ }, ie = () => n ? s === D.DateTime ? `${Z(n, l)}, ${M(n)}` : Z(n, l) : g;
170
+ if (s === D.Time) {
167
171
  const r = typeof a == "string" ? a : n ? M(n) : "";
168
- return /* @__PURE__ */ c("div", { className: d("flex flex-col gap-y-3", f), children: [
169
- B,
170
- /* @__PURE__ */ e(
171
- Z,
172
- {
173
- id: b,
174
- value: r,
175
- onChange: (t) => u?.(t),
176
- disabled: x,
177
- invalid: y,
178
- placeholder: o,
179
- className: h,
180
- timezoneLabel: ee
181
- }
182
- )
183
- ] });
184
- }
185
- if (s === N.Weekday) {
186
- const r = typeof a == "string" ? a : void 0, t = _.find((v) => v.value === r);
187
- return /* @__PURE__ */ c("div", { className: d("flex flex-col gap-y-3", f), children: [
188
- B,
189
- /* @__PURE__ */ e(
190
- G,
191
- {
192
- id: b,
193
- disabled: x,
194
- invalid: y,
195
- labelledBy: A,
196
- panelLabel: L ?? o,
197
- fieldClassName: h,
198
- trigger: /* @__PURE__ */ c(O, { children: [
199
- /* @__PURE__ */ e(
200
- "span",
201
- {
202
- className: d(
203
- "truncate",
204
- !t && "text-secondary"
205
- ),
206
- children: t?.label ?? o
207
- }
208
- ),
209
- /* @__PURE__ */ e(
210
- be,
211
- {
212
- size: De.MD,
213
- stroke: Ne,
214
- "aria-hidden": "true",
215
- className: Fe
216
- }
217
- )
218
- ] }),
219
- panel: (v) => /* @__PURE__ */ e(
220
- "div",
172
+ return /* @__PURE__ */ c(
173
+ "div",
174
+ {
175
+ className: d(
176
+ "flex flex-col gap-y-3",
177
+ f,
178
+ E.calendar
179
+ ),
180
+ children: [
181
+ _,
182
+ /* @__PURE__ */ e(
183
+ H,
221
184
  {
222
- role: "listbox",
223
- "aria-label": L ?? o,
224
- className: "flex flex-col gap-0.5",
225
- children: _.map((p) => /* @__PURE__ */ e(
226
- "button",
227
- {
228
- type: "button",
229
- role: "option",
230
- "aria-selected": p.value === r,
231
- className: d(
232
- "flex w-full items-center rounded-lg px-3 py-2 text-left dial-small-text text-primary hover:bg-control-accent-alpha-hover",
233
- "focus-visible:outline focus-visible:outline-focus",
234
- p.value === r && "bg-control-accent-alpha-hover"
235
- ),
236
- onClick: () => {
237
- u?.(p.value), v();
238
- },
239
- children: p.label
240
- },
241
- p.value
242
- ))
185
+ id: b,
186
+ value: r,
187
+ onChange: (t) => p?.(t),
188
+ onBlur: C,
189
+ disabled: x,
190
+ invalid: y,
191
+ placeholder: g,
192
+ className: v,
193
+ timezoneLabel: ae
243
194
  }
244
195
  )
245
- }
246
- )
247
- ] });
196
+ ]
197
+ }
198
+ );
248
199
  }
249
- return /* @__PURE__ */ c("div", { className: d("flex flex-col gap-y-3", f), children: [
250
- B,
251
- /* @__PURE__ */ e(
252
- G,
200
+ if (s === D.Weekday) {
201
+ const r = typeof a == "string" ? a : void 0, t = z.find((N) => N.value === r);
202
+ return /* @__PURE__ */ c(
203
+ "div",
253
204
  {
254
- id: b,
255
- disabled: x,
256
- invalid: y,
257
- labelledBy: A,
258
- panelLabel: L ?? o,
259
- fieldClassName: h,
260
- trigger: /* @__PURE__ */ c(O, { children: [
205
+ className: d(
206
+ "flex flex-col gap-y-3",
207
+ f,
208
+ E.calendar
209
+ ),
210
+ children: [
211
+ _,
261
212
  /* @__PURE__ */ e(
262
- "span",
213
+ q,
263
214
  {
264
- className: d(
265
- "truncate",
266
- !n && "text-secondary"
267
- ),
268
- children: re()
215
+ id: b,
216
+ disabled: x,
217
+ invalid: y,
218
+ labelledBy: R,
219
+ panelLabel: A ?? g,
220
+ fieldClassName: v,
221
+ trigger: /* @__PURE__ */ c(O, { children: [
222
+ /* @__PURE__ */ e(
223
+ "span",
224
+ {
225
+ className: d(
226
+ "truncate",
227
+ !t && "text-secondary"
228
+ ),
229
+ children: t?.label ?? g
230
+ }
231
+ ),
232
+ /* @__PURE__ */ e(
233
+ ye,
234
+ {
235
+ size: Ie.MD,
236
+ stroke: Ce,
237
+ "aria-hidden": "true",
238
+ className: Me
239
+ }
240
+ )
241
+ ] }),
242
+ panel: (N) => /* @__PURE__ */ e(
243
+ "div",
244
+ {
245
+ role: "listbox",
246
+ "aria-label": A ?? g,
247
+ className: "flex flex-col gap-0.5",
248
+ children: z.map((m) => /* @__PURE__ */ e(
249
+ "button",
250
+ {
251
+ type: "button",
252
+ role: "option",
253
+ "aria-selected": m.value === r,
254
+ className: d(
255
+ "flex w-full items-center rounded-lg px-3 py-2 text-left dial-small-text text-primary hover:bg-control-accent-alpha-hover",
256
+ "focus-visible:outline focus-visible:outline-focus",
257
+ m.value === r && "bg-control-accent-alpha-hover"
258
+ ),
259
+ onClick: () => {
260
+ p?.(m.value), N();
261
+ },
262
+ children: m.label
263
+ },
264
+ m.value
265
+ ))
266
+ }
267
+ )
269
268
  }
270
- ),
271
- ke
272
- ] }),
273
- panel: (r) => /* @__PURE__ */ c(O, { children: [
274
- /* @__PURE__ */ c("div", { className: "flex items-center justify-between", children: [
275
- /* @__PURE__ */ e(
276
- j,
277
- {
278
- "aria-label": "Previous month",
279
- icon: P.prev,
280
- size: V.Small,
281
- onClick: () => R(-1)
282
- }
283
- ),
284
- /* @__PURE__ */ e(
285
- "div",
286
- {
287
- className: "dial-small-semi-text text-primary",
288
- "aria-live": "polite",
289
- children: Re(T, l)
290
- }
291
- ),
292
- /* @__PURE__ */ e(
293
- j,
294
- {
295
- "aria-label": "Next month",
296
- icon: P.next,
297
- size: V.Small,
298
- onClick: () => R(1)
299
- }
300
- )
301
- ] }),
302
- /* @__PURE__ */ c("div", { className: "grid grid-cols-7 gap-y-1 text-center", children: [
303
- te.map((t) => /* @__PURE__ */ e(
304
- "div",
305
- {
306
- "aria-hidden": "true",
307
- className: "dial-tiny-text py-1 text-secondary",
308
- children: t
309
- },
310
- t
311
- )),
312
- ae.map((t) => {
313
- const v = t.getMonth() !== T.getMonth(), p = W(t, n), z = W(t, X), $ = K(t, D, m);
314
- return /* @__PURE__ */ e(
315
- "button",
269
+ )
270
+ ]
271
+ }
272
+ );
273
+ }
274
+ return /* @__PURE__ */ c(
275
+ "div",
276
+ {
277
+ className: d(
278
+ "flex flex-col gap-y-3",
279
+ f,
280
+ E.calendar
281
+ ),
282
+ children: [
283
+ _,
284
+ /* @__PURE__ */ e(
285
+ q,
286
+ {
287
+ id: b,
288
+ disabled: x,
289
+ invalid: y,
290
+ labelledBy: R,
291
+ panelLabel: A ?? g,
292
+ fieldClassName: v,
293
+ trigger: /* @__PURE__ */ c(O, { children: [
294
+ /* @__PURE__ */ e(
295
+ "span",
316
296
  {
317
- type: "button",
318
- disabled: $,
319
- "aria-label": ze(t, l),
320
- "aria-pressed": p,
321
- "aria-current": z ? "date" : void 0,
322
297
  className: d(
323
- we,
324
- v && Oe,
325
- z && !p && Me,
326
- p && Se,
327
- $ && "cursor-not-allowed opacity-40 hover:bg-transparent"
298
+ "truncate",
299
+ !n && "text-secondary"
328
300
  ),
329
- onClick: () => le(t, r),
330
- children: t.getDate()
331
- },
332
- t.toISOString()
333
- );
334
- })
335
- ] }),
336
- s === N.DateTime && /* @__PURE__ */ c("div", { className: "flex items-center justify-between gap-3 border-t border-secondary pt-3", children: [
337
- /* @__PURE__ */ e("span", { className: "dial-small-text text-primary", children: "Time" }),
338
- /* @__PURE__ */ e(
339
- Z,
340
- {
341
- ariaLabel: "Time",
342
- value: n ? M(n) : "",
343
- onChange: ne,
344
- className: "w-[120px] px-3 py-1.5"
345
- }
346
- )
347
- ] })
348
- ] })
349
- }
350
- )
351
- ] });
301
+ children: ie()
302
+ }
303
+ ),
304
+ _e
305
+ ] }),
306
+ panel: (r) => /* @__PURE__ */ c(O, { children: [
307
+ /* @__PURE__ */ c("div", { className: "flex items-center justify-between", children: [
308
+ /* @__PURE__ */ e(
309
+ K,
310
+ {
311
+ "aria-label": "Previous month",
312
+ icon: W.prev,
313
+ size: P.Small,
314
+ onClick: () => $(-1)
315
+ }
316
+ ),
317
+ /* @__PURE__ */ e(
318
+ "div",
319
+ {
320
+ className: "dial-small-semi-text text-primary",
321
+ "aria-live": "polite",
322
+ children: $e(T, l)
323
+ }
324
+ ),
325
+ /* @__PURE__ */ e(
326
+ K,
327
+ {
328
+ "aria-label": "Next month",
329
+ icon: W.next,
330
+ size: P.Small,
331
+ onClick: () => $(1)
332
+ }
333
+ )
334
+ ] }),
335
+ /* @__PURE__ */ c("div", { className: "grid grid-cols-7 gap-y-1 text-center", children: [
336
+ le.map((t) => /* @__PURE__ */ e(
337
+ "div",
338
+ {
339
+ "aria-hidden": "true",
340
+ className: "dial-tiny-text py-1 text-secondary",
341
+ children: t
342
+ },
343
+ t
344
+ )),
345
+ ne.map((t) => {
346
+ const N = t.getMonth() !== T.getMonth(), m = U(t, n), j = U(t, te), V = Y(t, u, h);
347
+ return /* @__PURE__ */ e(
348
+ "button",
349
+ {
350
+ type: "button",
351
+ disabled: V,
352
+ "aria-label": je(t, l),
353
+ "aria-pressed": m,
354
+ "aria-current": j ? "date" : void 0,
355
+ className: d(
356
+ Ae,
357
+ N && ke,
358
+ j && !m && we,
359
+ m && Oe,
360
+ V && "cursor-not-allowed opacity-40 hover:bg-transparent"
361
+ ),
362
+ onClick: () => re(t, r),
363
+ children: t.getDate()
364
+ },
365
+ t.toISOString()
366
+ );
367
+ })
368
+ ] }),
369
+ s === D.DateTime && /* @__PURE__ */ c("div", { className: "flex items-center justify-between gap-3 border-t border-secondary pt-3", children: [
370
+ /* @__PURE__ */ e("span", { className: "dial-small-text text-primary", children: "Time" }),
371
+ /* @__PURE__ */ e(
372
+ H,
373
+ {
374
+ ariaLabel: "Time",
375
+ value: n ? M(n) : "",
376
+ onChange: se,
377
+ onBlur: C,
378
+ className: "w-[120px] px-3 py-1.5"
379
+ }
380
+ )
381
+ ] })
382
+ ] })
383
+ }
384
+ )
385
+ ]
386
+ }
387
+ );
352
388
  };
353
389
  export {
354
- at as Calendar
390
+ rt as Calendar
355
391
  };