haze-ui 1.31.0 → 1.33.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 (281) hide show
  1. package/README.md +87 -1178
  2. package/dist/coi-serviceworker.LICENSE +21 -0
  3. package/dist/coi-serviceworker.js +118 -0
  4. package/dist/components/Button/Button.js +33 -15
  5. package/dist/components/Button/ButtonLink.js +12 -21
  6. package/dist/components/Button/styles.js +2 -2
  7. package/dist/components/Cascader/Cascader.js +11 -11
  8. package/dist/components/ColorPicker/ColorPicker.js +4 -4
  9. package/dist/components/Combobox/Combobox.js +128 -119
  10. package/dist/components/Command/Command.js +9 -9
  11. package/dist/components/ConfigProvider/ConfigContext.js +16 -0
  12. package/dist/components/ConfirmDialog/confirm.js +41 -0
  13. package/dist/components/ConfirmDialog/index.js +2 -1
  14. package/dist/components/Countdown/Countdown.js +49 -0
  15. package/dist/components/Countdown/index.js +3 -0
  16. package/dist/components/DataTable/DataTable.js +24 -24
  17. package/dist/components/DateTimePicker/DateTimePicker.js +25 -0
  18. package/dist/components/DateTimePicker/index.js +3 -0
  19. package/dist/components/Datepicker/Datepicker.js +8 -7
  20. package/dist/components/Datepicker/DatepickerCore.js +60 -59
  21. package/dist/components/Drawer/Drawer.js +45 -40
  22. package/dist/components/Fieldset/Fieldset.js +25 -0
  23. package/dist/components/Fieldset/index.js +2 -0
  24. package/dist/components/Highlight/Highlight.js +19 -0
  25. package/dist/components/Highlight/index.js +2 -0
  26. package/dist/components/HoverCard/HoverCard.js +63 -43
  27. package/dist/components/ImageCrop/ImageCrop.js +188 -0
  28. package/dist/components/ImageCrop/image-crop-geometry.js +81 -0
  29. package/dist/components/ImageCrop/index.js +3 -0
  30. package/dist/components/Indicator/Indicator.js +37 -0
  31. package/dist/components/Indicator/index.js +2 -0
  32. package/dist/components/InlineCompletion/InlineCompletion.js +4 -4
  33. package/dist/components/Input/Input.js +9 -7
  34. package/dist/components/Input/InputCore.js +32 -13
  35. package/dist/components/LoadingOverlay/LoadingOverlay.js +30 -0
  36. package/dist/components/LoadingOverlay/index.js +3 -0
  37. package/dist/components/LocaleProvider/ar-sa.js +10 -0
  38. package/dist/components/LocaleProvider/de-de.js +10 -0
  39. package/dist/components/LocaleProvider/es-es.js +10 -0
  40. package/dist/components/LocaleProvider/fr-fr.js +10 -0
  41. package/dist/components/LocaleProvider/it-it.js +10 -0
  42. package/dist/components/LocaleProvider/ja-jp.js +10 -0
  43. package/dist/components/LocaleProvider/ko-kr.js +10 -0
  44. package/dist/components/LocaleProvider/locale.js +10 -0
  45. package/dist/components/LocaleProvider/pt-br.js +10 -0
  46. package/dist/components/LocaleProvider/ru-ru.js +10 -0
  47. package/dist/components/LocaleProvider/zh-cn.js +10 -0
  48. package/dist/components/Mark/Mark.js +20 -0
  49. package/dist/components/Mark/index.js +2 -0
  50. package/dist/components/Mentions/MentionsCore.js +3 -3
  51. package/dist/components/Menu/MenuItem.js +6 -4
  52. package/dist/components/NumberFormatter/NumberFormatter.js +16 -0
  53. package/dist/components/NumberFormatter/index.js +2 -0
  54. package/dist/components/OTPInput/OTPInputCore.js +6 -6
  55. package/dist/components/PasswordInput/PasswordInputCore.js +27 -26
  56. package/dist/components/Rating/RatingCore.js +18 -18
  57. package/dist/components/Resizable/index.js +1 -1
  58. package/dist/components/Select/Select.js +28 -23
  59. package/dist/components/Select/SelectCore.js +26 -23
  60. package/dist/components/Select/SelectFloating.js +157 -153
  61. package/dist/components/Splitter/Splitter.js +199 -0
  62. package/dist/components/Splitter/index.js +3 -0
  63. package/dist/components/Spoiler/Spoiler.js +36 -0
  64. package/dist/components/Spoiler/index.js +3 -0
  65. package/dist/components/TagGroup/SortableTagGroup.js +32 -20
  66. package/dist/components/TagGroup/TagGroup.js +23 -9
  67. package/dist/components/TagGroup/TagGroupItem.js +21 -15
  68. package/dist/components/TagInput/TagInputCore.js +10 -10
  69. package/dist/components/TimePicker/TimePickerPanel.js +3 -3
  70. package/dist/components/Toast/ToastContainer.js +4 -4
  71. package/dist/components/TreeSelect/TreeSelect.js +6 -6
  72. package/dist/components/VisuallyHidden/VisuallyHidden.js +15 -0
  73. package/dist/components/VisuallyHidden/index.js +2 -0
  74. package/dist/css/accordion.css +2 -0
  75. package/dist/css/activity-rail.css +2 -0
  76. package/dist/css/affix.css +2 -0
  77. package/dist/css/alert.css +2 -0
  78. package/dist/css/anchor.css +2 -0
  79. package/dist/css/app-shell.css +2 -0
  80. package/dist/css/approval-card.css +2 -0
  81. package/dist/css/aspect-ratio.css +2 -0
  82. package/dist/css/async-section.css +2 -0
  83. package/dist/css/avatar-group.css +2 -0
  84. package/dist/css/avatar.css +2 -0
  85. package/dist/css/back-to-top.css +2 -0
  86. package/dist/css/badge.css +2 -0
  87. package/dist/css/banner.css +2 -0
  88. package/dist/css/bottom-sheet.css +2 -0
  89. package/dist/css/breadcrumb.css +2 -0
  90. package/dist/css/button.css +3 -2
  91. package/dist/css/calendar.css +2 -0
  92. package/dist/css/card.css +2 -0
  93. package/dist/css/carousel.css +2 -0
  94. package/dist/css/cascader.css +2 -0
  95. package/dist/css/chart.css +2 -0
  96. package/dist/css/chat-container.css +2 -0
  97. package/dist/css/chat-input.css +2 -0
  98. package/dist/css/chat-message.css +2 -0
  99. package/dist/css/checkbox.css +2 -0
  100. package/dist/css/chip.css +2 -0
  101. package/dist/css/code-block.css +2 -0
  102. package/dist/css/collapsible.css +2 -0
  103. package/dist/css/color-picker.css +2 -0
  104. package/dist/css/combobox.css +2 -0
  105. package/dist/css/command.css +2 -0
  106. package/dist/css/confirm-dialog.css +2 -0
  107. package/dist/css/container.css +2 -0
  108. package/dist/css/context-menu.css +2 -0
  109. package/dist/css/conversation-list.css +2 -0
  110. package/dist/css/count-up.css +2 -0
  111. package/dist/css/countdown.css +4 -0
  112. package/dist/css/data-table.css +2 -0
  113. package/dist/css/date-range-picker.css +2 -0
  114. package/dist/css/datepicker.css +2 -0
  115. package/dist/css/descriptions.css +2 -0
  116. package/dist/css/dialog.css +2 -0
  117. package/dist/css/diff-viewer.css +2 -0
  118. package/dist/css/disclosure.css +2 -0
  119. package/dist/css/divider.css +2 -0
  120. package/dist/css/drawer.css +2 -0
  121. package/dist/css/dropdown-menu.css +2 -0
  122. package/dist/css/ellipsis.css +2 -0
  123. package/dist/css/empty.css +2 -0
  124. package/dist/css/fieldset.css +4 -0
  125. package/dist/css/file-input.css +2 -0
  126. package/dist/css/file-preview.css +2 -0
  127. package/dist/css/flex.css +2 -0
  128. package/dist/css/float-button.css +2 -0
  129. package/dist/css/form.css +2 -0
  130. package/dist/css/grid.css +2 -0
  131. package/dist/css/hover-card.css +2 -0
  132. package/dist/css/icon.css +2 -0
  133. package/dist/css/image-crop.css +4 -0
  134. package/dist/css/image.css +2 -0
  135. package/dist/css/indicator.css +4 -0
  136. package/dist/css/inline-completion.css +2 -0
  137. package/dist/css/inline-edit.css +2 -0
  138. package/dist/css/input.css +3 -1
  139. package/dist/css/json-view.css +2 -0
  140. package/dist/css/kbd.css +2 -0
  141. package/dist/css/list.css +2 -0
  142. package/dist/css/loading-overlay.css +4 -0
  143. package/dist/css/log-viewer.css +2 -0
  144. package/dist/css/mark.css +4 -0
  145. package/dist/css/markdown-renderer.css +2 -0
  146. package/dist/css/masonry.css +2 -0
  147. package/dist/css/mentions.css +2 -0
  148. package/dist/css/menu.css +3 -1
  149. package/dist/css/model-picker.css +2 -0
  150. package/dist/css/navigation-bar.css +2 -0
  151. package/dist/css/number-input.css +2 -0
  152. package/dist/css/otp-input.css +2 -0
  153. package/dist/css/pagination.css +2 -0
  154. package/dist/css/password-input.css +3 -1
  155. package/dist/css/popover.css +2 -0
  156. package/dist/css/progress.css +2 -0
  157. package/dist/css/prompt-input.css +2 -0
  158. package/dist/css/qr-code.css +2 -0
  159. package/dist/css/radio.css +2 -0
  160. package/dist/css/rating.css +2 -0
  161. package/dist/css/resizable.css +2 -0
  162. package/dist/css/result.css +2 -0
  163. package/dist/css/scroll-area.css +2 -0
  164. package/dist/css/segmented.css +2 -0
  165. package/dist/css/select.css +2 -0
  166. package/dist/css/sidebar.css +2 -0
  167. package/dist/css/signature.css +2 -0
  168. package/dist/css/skeleton.css +2 -0
  169. package/dist/css/slider.css +2 -0
  170. package/dist/css/sources.css +2 -0
  171. package/dist/css/sparkline.css +2 -0
  172. package/dist/css/spinner.css +2 -0
  173. package/dist/css/splitter.css +4 -0
  174. package/dist/css/spoiler.css +4 -0
  175. package/dist/css/stat.css +2 -0
  176. package/dist/css/status-bar.css +2 -0
  177. package/dist/css/step-timeline.css +2 -0
  178. package/dist/css/stepper.css +2 -0
  179. package/dist/css/streaming-text.css +2 -0
  180. package/dist/css/swipe-action.css +2 -0
  181. package/dist/css/switch.css +2 -0
  182. package/dist/css/tab-bar.css +2 -0
  183. package/dist/css/table.css +2 -0
  184. package/dist/css/tabs.css +2 -0
  185. package/dist/css/tag-group.css +2 -0
  186. package/dist/css/tag-input.css +2 -0
  187. package/dist/css/tag.css +2 -0
  188. package/dist/css/textarea.css +2 -0
  189. package/dist/css/thinking-indicator.css +2 -0
  190. package/dist/css/time-picker.css +2 -0
  191. package/dist/css/timeline.css +2 -0
  192. package/dist/css/toast.css +2 -0
  193. package/dist/css/toggle.css +2 -0
  194. package/dist/css/token-counter.css +2 -0
  195. package/dist/css/tokens.css +2 -0
  196. package/dist/css/tool-call-card.css +2 -0
  197. package/dist/css/toolbar.css +2 -0
  198. package/dist/css/tooltip.css +2 -0
  199. package/dist/css/tour.css +2 -0
  200. package/dist/css/transfer.css +2 -0
  201. package/dist/css/tree-select.css +2 -0
  202. package/dist/css/tree.css +2 -0
  203. package/dist/css/typography.css +2 -0
  204. package/dist/css/upload.css +2 -0
  205. package/dist/css/virtual-list.css +2 -0
  206. package/dist/css/visually-hidden.css +4 -0
  207. package/dist/css/watermark.css +2 -0
  208. package/dist/css/workbench.css +2 -0
  209. package/dist/css-manifest.json +190 -4
  210. package/dist/haze-ui.css +417 -5
  211. package/dist/headless/index.js +18 -17
  212. package/dist/hooks/useBusyPressable.js +10 -0
  213. package/dist/hooks/useHotkeys.js +78 -24
  214. package/dist/index.js +277 -264
  215. package/dist/mcp-docs.json +728 -32
  216. package/dist/registry.json +212 -14
  217. package/dist/robots.txt +4 -0
  218. package/dist/sitemap.xml +160 -0
  219. package/dist/types/components/Button/Button.d.ts +50 -5
  220. package/dist/types/components/Button/ButtonLink.d.ts +27 -15
  221. package/dist/types/components/Button/styles.d.ts +34 -0
  222. package/dist/types/components/Combobox/Combobox.d.ts +20 -2
  223. package/dist/types/components/Combobox/index.d.ts +1 -1
  224. package/dist/types/components/ConfigProvider/ConfigContext.d.ts +22 -1
  225. package/dist/types/components/ConfirmDialog/ConfirmDialog.d.ts +1 -1
  226. package/dist/types/components/ConfirmDialog/confirm.d.ts +33 -0
  227. package/dist/types/components/ConfirmDialog/index.d.ts +2 -0
  228. package/dist/types/components/Countdown/Countdown.d.ts +30 -0
  229. package/dist/types/components/Countdown/index.d.ts +2 -0
  230. package/dist/types/components/DateTimePicker/DateTimePicker.d.ts +36 -0
  231. package/dist/types/components/DateTimePicker/index.d.ts +2 -0
  232. package/dist/types/components/Datepicker/Datepicker.d.ts +3 -3
  233. package/dist/types/components/Datepicker/DatepickerCore.d.ts +3 -3
  234. package/dist/types/components/Drawer/Drawer.d.ts +15 -2
  235. package/dist/types/components/Drawer/index.d.ts +1 -1
  236. package/dist/types/components/Fieldset/Fieldset.d.ts +16 -0
  237. package/dist/types/components/Fieldset/index.d.ts +2 -0
  238. package/dist/types/components/Highlight/Highlight.d.ts +27 -0
  239. package/dist/types/components/Highlight/index.d.ts +2 -0
  240. package/dist/types/components/HoverCard/HoverCard.d.ts +18 -1
  241. package/dist/types/components/ImageCrop/ImageCrop.d.ts +67 -0
  242. package/dist/types/components/ImageCrop/image-crop-geometry.d.ts +65 -0
  243. package/dist/types/components/ImageCrop/index.d.ts +3 -0
  244. package/dist/types/components/Indicator/Indicator.d.ts +24 -0
  245. package/dist/types/components/Indicator/index.d.ts +2 -0
  246. package/dist/types/components/Input/Input.d.ts +8 -2
  247. package/dist/types/components/Input/InputCore.d.ts +11 -2
  248. package/dist/types/components/LoadingOverlay/LoadingOverlay.d.ts +25 -0
  249. package/dist/types/components/LoadingOverlay/index.d.ts +2 -0
  250. package/dist/types/components/LocaleProvider/locale.d.ts +10 -0
  251. package/dist/types/components/Mark/Mark.d.ts +12 -0
  252. package/dist/types/components/Mark/index.d.ts +2 -0
  253. package/dist/types/components/Menu/MenuItem.d.ts +15 -4
  254. package/dist/types/components/NumberFormatter/NumberFormatter.d.ts +23 -0
  255. package/dist/types/components/NumberFormatter/index.d.ts +2 -0
  256. package/dist/types/components/Resizable/index.d.ts +0 -2
  257. package/dist/types/components/Select/Select.d.ts +23 -2
  258. package/dist/types/components/Select/SelectCore.d.ts +4 -1
  259. package/dist/types/components/Select/SelectFloating.d.ts +6 -1
  260. package/dist/types/components/Select/index.d.ts +1 -1
  261. package/dist/types/components/Splitter/Splitter.d.ts +33 -0
  262. package/dist/types/components/Splitter/index.d.ts +2 -0
  263. package/dist/types/components/Spoiler/Spoiler.d.ts +20 -0
  264. package/dist/types/components/Spoiler/index.d.ts +2 -0
  265. package/dist/types/components/TagGroup/SortableTagGroup.d.ts +5 -1
  266. package/dist/types/components/TagGroup/TagGroup.d.ts +24 -2
  267. package/dist/types/components/TagGroup/index.d.ts +1 -1
  268. package/dist/types/components/VisuallyHidden/VisuallyHidden.d.ts +4 -0
  269. package/dist/types/components/VisuallyHidden/index.d.ts +2 -0
  270. package/dist/types/headless/index.d.ts +16 -6
  271. package/dist/types/hooks/index.d.ts +13 -0
  272. package/dist/types/hooks/useBusyPressable.d.ts +33 -0
  273. package/dist/types/hooks/useElementSize.d.ts +38 -0
  274. package/dist/types/hooks/useHotkeys.d.ts +16 -4
  275. package/dist/types/hooks/useIdle.d.ts +45 -0
  276. package/dist/types/hooks/useMutationObserver.d.ts +35 -0
  277. package/dist/types/hooks/useNetwork.d.ts +31 -0
  278. package/dist/types/hooks/useOrientation.d.ts +23 -0
  279. package/dist/types/hooks/useResizeObserver.d.ts +48 -0
  280. package/dist/types/index.d.ts +31 -8
  281. package/package.json +24 -5
@@ -0,0 +1,25 @@
1
+ "use client";
2
+ import e from "../Datepicker/Datepicker.js";
3
+ import { jsx as t } from "react/jsx-runtime";
4
+ //#region src/lib/components/DateTimePicker/DateTimePicker.tsx
5
+ function n({ value: n, open: r, min: i, max: a, disabledDate: o, presets: s, showSeconds: c = !1, locale: l, weekStartsOn: u, cellRender: d, placeholder: f, className: p, ref: m }) {
6
+ return /* @__PURE__ */ t(e, {
7
+ ref: m,
8
+ value: n,
9
+ open: r,
10
+ picker: "date",
11
+ min: i,
12
+ max: a,
13
+ disabledDate: o,
14
+ presets: s,
15
+ showTime: !c || { seconds: !0 },
16
+ locale: l,
17
+ weekStartsOn: u,
18
+ cellRender: d,
19
+ placeholder: f,
20
+ className: p,
21
+ "data-slot": "datetime-picker"
22
+ });
23
+ }
24
+ //#endregion
25
+ export { n as default };
@@ -0,0 +1,3 @@
1
+ "use client";
2
+ import e from "./DateTimePicker.js";
3
+ export { e as DateTimePicker };
@@ -3,14 +3,14 @@ import e from "./DatepickerCore.js";
3
3
  import { jsx as t } from "react/jsx-runtime";
4
4
  import { useControl as n } from "react-use-control";
5
5
  //#region src/lib/components/Datepicker/Datepicker.tsx
6
- function r({ value: r, open: i, picker: a, min: o, max: s, disabledDate: c, presets: l, showTime: u, format: d, parse: f, locale: p, weekStartsOn: m, cellRender: h, placeholder: g, className: _, ref: v }) {
7
- let [y, b] = n(r, ""), [x, S] = n(i, !1);
6
+ function r({ value: r, open: i, picker: a, min: o, max: s, disabledDate: c, presets: l, showTime: u, format: d, parse: f, locale: p, weekStartsOn: m, cellRender: h, placeholder: g, className: _, ref: v, ...y }) {
7
+ let [b, x] = n(r, ""), [S, C] = n(i, !1);
8
8
  return /* @__PURE__ */ t(e, {
9
9
  ref: v,
10
- value: y,
11
- onChange: b,
12
- open: x,
13
- onOpenChange: S,
10
+ value: b,
11
+ onChange: x,
12
+ open: S,
13
+ onOpenChange: C,
14
14
  picker: a,
15
15
  min: o,
16
16
  max: s,
@@ -23,7 +23,8 @@ function r({ value: r, open: i, picker: a, min: o, max: s, disabledDate: c, pres
23
23
  weekStartsOn: m,
24
24
  cellRender: h,
25
25
  placeholder: g,
26
- className: _
26
+ className: _,
27
+ ...y
27
28
  });
28
29
  }
29
30
  //#endregion
@@ -1,98 +1,99 @@
1
1
 
2
2
  "use client";
3
- import { formatDate as e, formatWeekValue as t, getISOWeek as n, getISOWeekStartDate as r, parseCivilDate as ee, parseWeekValue as i } from "../Calendar/date.js";
4
- import { classnames as a } from "../../utils/classnames.js";
5
- import { mergeRefs as o } from "../../utils/refs.js";
6
- import { useStrings as te } from "../LocaleProvider/useStrings.js";
7
- import { FloatingPanel as ne, useFloating as re } from "../../utils/floating.js";
3
+ import { formatDate as e, formatWeekValue as t, getISOWeek as n, getISOWeekStartDate as ee, parseCivilDate as te, parseWeekValue as r } from "../Calendar/date.js";
4
+ import { classnames as i } from "../../utils/classnames.js";
5
+ import { useStrings as a } from "../LocaleProvider/useStrings.js";
6
+ import { mergeRefs as ne } from "../../utils/refs.js";
7
+ import { FloatingPanel as re, useFloating as o } from "../../utils/floating.js";
8
8
  import s from "../Calendar/Calendar.js";
9
- import { applyTimeToCivilDate as c, formatDateTimeValue as l, normalizeTime as ie, splitDateTimeValue as ae, timeOf as oe } from "./datetime.js";
9
+ import { applyTimeToCivilDate as ie, formatDateTimeValue as ae, normalizeTime as oe, splitDateTimeValue as se, timeOf as ce } from "./datetime.js";
10
10
  /* empty css */
11
- import { useCallback as u, useId as se, useRef as d, useState as f } from "react";
12
- import { jsx as p, jsxs as m } from "react/jsx-runtime";
11
+ import { useCallback as c, useId as le, useRef as l, useState as u } from "react";
12
+ import { jsx as d, jsxs as f } from "react/jsx-runtime";
13
13
  //#region src/lib/components/Datepicker/DatepickerCore.tsx
14
- var h = "haze-DatepickerCore__wrapper", g = "haze-DatepickerCore__input", ce = "haze-DatepickerCore__dropdown", le = "haze-DatepickerCore__presetList", _ = "haze-DatepickerCore__presetRow", v = "haze-DatepickerCore__timeRow", y = "haze-DatepickerCore__timeLabel", b = "haze-DatepickerCore__timeInput";
15
- function x({ value: x, onChange: S, open: C, onOpenChange: w, picker: T, min: E, max: D, disabledDate: O, presets: k, showTime: A, format: j, parse: M, locale: N, weekStartsOn: P, cellRender: F, placeholder: I = "Select date", className: L, ref: R }) {
16
- let z = te("datepicker"), B = d(null), ue = u((e) => o(B, R)(e), [B, R]), V = d(null), H = se(), U = (A === !0 || typeof A == "object") && (T ?? "date") === "date", W = U && typeof A == "object" && A.seconds === !0, G = j !== void 0 || M !== void 0, K = M && x !== "" ? M(x) : null, [de, fe] = f(() => W ? "00:00:00" : "00:00"), q = U && !G ? ae(x) : null, J = K && T === "week" ? n(K.getFullYear(), K.getMonth(), K.getDate()) : null, Y = G ? J ? t(J.year, J.week) : K ? e(K.getFullYear(), K.getMonth(), K.getDate()) : "" : U ? q?.date ?? "" : x, X = G ? U && K ? oe(K, W) : null : q?.time ?? null, Z = X === null ? de : ie(X, W), Q = (e, t) => {
17
- if (G && j) {
18
- let n = T === "week" ? i(e) : null, a = n ? r(n.year, n.week) : null, o = a && new Date(a.year, a.month, a.day) || ee(e);
19
- return o ? j(t === void 0 ? o : c(o, t)) : t === void 0 ? e : `${e} ${t}`;
14
+ var p = "haze-DatepickerCore__wrapper", m = "haze-DatepickerCore__input", h = "haze-DatepickerCore__dropdown", ue = "haze-DatepickerCore__presetList", g = "haze-DatepickerCore__presetRow", _ = "haze-DatepickerCore__timeRow", de = "haze-DatepickerCore__timeLabel", fe = "haze-DatepickerCore__timeInput";
15
+ function v({ value: v, onChange: y, open: b, onOpenChange: x, picker: S, min: C, max: w, disabledDate: T, presets: E, showTime: D, format: O, parse: k, locale: A, weekStartsOn: j, cellRender: M, placeholder: N = "Select date", className: P, ref: F, ...I }) {
16
+ let L = a("datepicker"), R = l(null), z = c((e) => ne(R, F)(e), [R, F]), B = l(null), V = le(), H = (D === !0 || typeof D == "object") && (S ?? "date") === "date", U = H && typeof D == "object" && D.seconds === !0, W = O !== void 0 || k !== void 0, G = k && v !== "" ? k(v) : null, [pe, K] = u(() => U ? "00:00:00" : "00:00"), q = H && !W ? se(v) : null, J = G && S === "week" ? n(G.getFullYear(), G.getMonth(), G.getDate()) : null, Y = W ? J ? t(J.year, J.week) : G ? e(G.getFullYear(), G.getMonth(), G.getDate()) : "" : H ? q?.date ?? "" : v, X = W ? H && G ? ce(G, U) : null : q?.time ?? null, Z = X === null ? pe : oe(X, U), Q = (e, t) => {
17
+ if (W && O) {
18
+ let n = S === "week" ? r(e) : null, i = n ? ee(n.year, n.week) : null, a = i && new Date(i.year, i.month, i.day) || te(e);
19
+ return a ? O(t === void 0 ? a : ie(a, t)) : t === void 0 ? e : `${e} ${t}`;
20
20
  }
21
- return t === void 0 ? e : l(e, t);
22
- }, pe = u((e) => w(typeof e == "function" ? e(C) : e), [w, C]), $ = re({
23
- open: C,
24
- setOpen: pe,
25
- triggerRef: B,
26
- panelRef: V,
21
+ return t === void 0 ? e : ae(e, t);
22
+ }, me = c((e) => x(typeof e == "function" ? e(b) : e), [x, b]), $ = o({
23
+ open: b,
24
+ setOpen: me,
25
+ triggerRef: R,
26
+ panelRef: B,
27
27
  animated: !0
28
28
  });
29
- return /* @__PURE__ */ m("div", {
30
- className: a([h, L]),
31
- children: [/* @__PURE__ */ p("input", {
32
- ref: ue,
29
+ return /* @__PURE__ */ f("div", {
30
+ ...I,
31
+ className: i([p, P]),
32
+ children: [/* @__PURE__ */ d("input", {
33
+ ref: z,
33
34
  "data-slot": "input",
34
35
  readOnly: !0,
35
36
  style: $.triggerStyle,
36
- className: g,
37
- value: x,
38
- placeholder: I,
37
+ className: m,
38
+ value: v,
39
+ placeholder: N,
39
40
  role: "combobox",
40
41
  "aria-haspopup": "dialog",
41
- "aria-expanded": C,
42
- "aria-controls": H,
42
+ "aria-expanded": b,
43
+ "aria-controls": V,
43
44
  onPointerDown: $.onTriggerPointerDown,
44
45
  onClick: $.onTriggerClick
45
- }), /* @__PURE__ */ m(ne, {
46
- ref: V,
46
+ }), /* @__PURE__ */ f(re, {
47
+ ref: B,
47
48
  behavior: $,
48
49
  placement: "bottom",
49
- visualClass: ce,
50
- id: H,
50
+ visualClass: h,
51
+ id: V,
51
52
  children: [
52
- k && k.length > 0 && /* @__PURE__ */ p("div", {
53
+ E && E.length > 0 && /* @__PURE__ */ d("div", {
53
54
  "data-slot": "presets",
54
- className: a([le]),
55
- children: k.map((e) => /* @__PURE__ */ p("button", {
55
+ className: i([ue]),
56
+ children: E.map((e) => /* @__PURE__ */ d("button", {
56
57
  "data-slot": "preset",
57
58
  type: "button",
58
59
  onClick: () => {
59
- S(e.value), w(!1);
60
+ y(e.value), x(!1);
60
61
  },
61
- className: a([_]),
62
+ className: i([g]),
62
63
  children: e.label
63
64
  }, `${e.label}:${e.value}`))
64
65
  }),
65
- /* @__PURE__ */ p(s, {
66
- picker: T,
66
+ /* @__PURE__ */ d(s, {
67
+ picker: S,
67
68
  value: Y,
68
- min: E,
69
- max: D,
70
- disabledDate: O,
71
- locale: N,
72
- weekStartsOn: P,
73
- cellRender: F,
69
+ min: C,
70
+ max: w,
71
+ disabledDate: T,
72
+ locale: A,
73
+ weekStartsOn: j,
74
+ cellRender: M,
74
75
  onSelect: (e) => {
75
- U ? S(Q(e, Z)) : (S(Q(e)), w(!1));
76
+ H ? y(Q(e, Z)) : (y(Q(e)), x(!1));
76
77
  }
77
78
  }),
78
- U && /* @__PURE__ */ m("div", {
79
+ H && /* @__PURE__ */ f("div", {
79
80
  "data-slot": "footer",
80
- className: a([v]),
81
- children: [/* @__PURE__ */ p("span", {
81
+ className: i([_]),
82
+ children: [/* @__PURE__ */ d("span", {
82
83
  "data-slot": "label",
83
- className: a([y]),
84
- children: z.time
85
- }), /* @__PURE__ */ p("input", {
84
+ className: i([de]),
85
+ children: L.time
86
+ }), /* @__PURE__ */ d("input", {
86
87
  "data-slot": "time-input",
87
88
  type: "time",
88
- step: W ? 1 : void 0,
89
- "aria-label": z.time,
89
+ step: U ? 1 : void 0,
90
+ "aria-label": L.time,
90
91
  value: Z,
91
92
  onChange: (e) => {
92
- let t = e.target.value || (W ? "00:00:00" : "00:00");
93
- fe(t), Y && S(Q(Y, t));
93
+ let t = e.target.value || (U ? "00:00:00" : "00:00");
94
+ K(t), Y && y(Q(Y, t));
94
95
  },
95
- className: a([b])
96
+ className: i([fe])
96
97
  })]
97
98
  })
98
99
  ]
@@ -100,4 +101,4 @@ function x({ value: x, onChange: S, open: C, onOpenChange: w, picker: T, min: E,
100
101
  });
101
102
  }
102
103
  //#endregion
103
- export { x as default };
104
+ export { v as default };
@@ -1,77 +1,82 @@
1
1
 
2
2
  "use client";
3
3
  import { classnames as e } from "../../utils/classnames.js";
4
- import { whenExitSettles as t } from "../../utils/presence.js";
5
- import { useFocusScope as n } from "../../utils/focus-scope.js";
6
- import { useViewTransitionFlip as r } from "../../utils/view-transition.js";
4
+ import { useConfigDefaults as t } from "../ConfigProvider/useConfigDefaults.js";
5
+ import { whenExitSettles as n } from "../../utils/presence.js";
6
+ import { useFocusScope as r } from "../../utils/focus-scope.js";
7
+ import { useViewTransitionFlip as i } from "../../utils/view-transition.js";
7
8
  /* empty css */
8
- import { useCallback as i, useEffect as a, useImperativeHandle as o, useRef as s } from "react";
9
- import { jsx as c } from "react/jsx-runtime";
10
- import { useControl as l } from "react-use-control";
9
+ import { useCallback as a, useEffect as o, useImperativeHandle as s, useRef as c } from "react";
10
+ import { jsx as l } from "react/jsx-runtime";
11
+ import { useControl as u } from "react-use-control";
11
12
  //#region src/lib/components/Drawer/Drawer.tsx
12
- var u = "haze-Drawer__overlay", d = {
13
+ var d = "haze-Drawer__overlay", f = {
13
14
  left: "haze-Drawer__left",
14
15
  right: "haze-Drawer__right",
15
16
  top: "haze-Drawer__top",
16
17
  bottom: "haze-Drawer__bottom"
17
18
  };
18
- function f({ open: f, placement: p = "right", onClose: m, viewTransition: h = !1, className: g, children: _, ref: v }) {
19
- let [y, b] = l(f, !1), x = r(h, b), S = s(null);
20
- a(() => {
21
- if (!y) return;
19
+ function p({ open: p, placement: m = "right", onClose: h, viewTransition: g = !1, className: _, classNames: v, children: y, ref: b }) {
20
+ let [x, S] = u(p, !1), C = t("Drawer"), w = C.classNames ? {
21
+ ...C.classNames,
22
+ ...v
23
+ } : v, T = i(g, S), E = c(null);
24
+ o(() => {
25
+ if (!x) return;
22
26
  let e = document.activeElement;
23
- S.current = e instanceof HTMLElement ? e : null;
24
- }, [y]);
25
- let C = s(null), w = n({
26
- enabled: y,
27
+ E.current = e instanceof HTMLElement ? e : null;
28
+ }, [x]);
29
+ let D = c(null), O = r({
30
+ enabled: x,
27
31
  trapped: !1
28
32
  });
29
- o(v, () => ({
33
+ s(b, () => ({
30
34
  open: () => {
31
- x(!0);
35
+ T(!0);
32
36
  },
33
37
  close: () => {
34
- x(!1);
38
+ T(!1);
35
39
  },
36
40
  focusTrigger: () => {
37
- let e = S.current;
41
+ let e = E.current;
38
42
  e?.isConnected && e.focus();
39
43
  }
40
- }), [x]);
41
- let T = i((e) => {
42
- C.current = e, w(e);
43
- }, [w]);
44
- return a(() => {
45
- let e = C.current;
44
+ }), [T]);
45
+ let k = a((e) => {
46
+ D.current = e, O(e);
47
+ }, [O]);
48
+ return o(() => {
49
+ let e = D.current;
46
50
  if (e) {
47
- if (y && !e.open) e.showModal();
48
- else if (!y && e.open) {
49
- let n = t(e), r = () => {
51
+ if (x && !e.open) e.showModal();
52
+ else if (!x && e.open) {
53
+ let t = n(e), r = () => {
50
54
  e.getAttribute("data-state") === "closed" && e.close();
51
55
  };
52
- n ? n.then(r) : r();
56
+ t ? t.then(r) : r();
53
57
  }
54
58
  }
55
- }, [y]), /* @__PURE__ */ c("dialog", {
56
- ref: T,
59
+ }, [x]), /* @__PURE__ */ l("dialog", {
60
+ ref: k,
57
61
  "data-slot": "content",
58
- "data-state": y ? "open" : "closed",
62
+ "data-state": x ? "open" : "closed",
59
63
  onClose: () => {
60
- b(!1), m?.();
64
+ S(!1), h?.();
61
65
  },
62
66
  onCancel: (e) => {
63
- e.preventDefault(), x(!1);
67
+ e.preventDefault(), T(!1);
64
68
  },
65
69
  onClick: (e) => {
66
- e.target === C.current && x(!1);
70
+ e.target === D.current && T(!1);
67
71
  },
68
72
  className: e([
69
- u,
70
- d[p],
71
- g
73
+ d,
74
+ f[m],
75
+ _,
76
+ w?.content
72
77
  ]),
73
- children: _
78
+ children: y
74
79
  });
75
80
  }
76
81
  //#endregion
77
- export { f as default };
82
+ export { p as default };
@@ -0,0 +1,25 @@
1
+
2
+ import { classnames as e } from "../../utils/classnames.js";
3
+ /* empty css */
4
+ import { jsx as t, jsxs as n } from "react/jsx-runtime";
5
+ //#region src/lib/components/Fieldset/Fieldset.tsx
6
+ var r = "haze-Fieldset__fieldset", i = "haze-Fieldset__legend", a = "haze-Fieldset__body";
7
+ function o({ legend: o, disabled: s, className: c, children: l, ...u }) {
8
+ return /* @__PURE__ */ n("fieldset", {
9
+ "data-slot": "fieldset",
10
+ disabled: s,
11
+ ...u,
12
+ className: e([r, c]),
13
+ children: [o != null && /* @__PURE__ */ t("legend", {
14
+ "data-slot": "legend",
15
+ className: e([i]),
16
+ children: o
17
+ }), /* @__PURE__ */ t("div", {
18
+ "data-slot": "content",
19
+ className: e([a]),
20
+ children: l
21
+ })]
22
+ });
23
+ }
24
+ //#endregion
25
+ export { o as default };
@@ -0,0 +1,2 @@
1
+ import e from "./Fieldset.js";
2
+ export { e as Fieldset };
@@ -0,0 +1,19 @@
1
+ import e from "../Mark/Mark.js";
2
+ import { Fragment as t, jsx as n } from "react/jsx-runtime";
3
+ //#region src/lib/components/Highlight/Highlight.tsx
4
+ var r = (e) => e.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
5
+ function i({ children: i, highlight: a, caseSensitive: o = !1, color: s, ...c }) {
6
+ let l = (Array.isArray(a) ? a : [a]).filter((e) => e.length > 0).sort((e, t) => t.length - e.length);
7
+ if (l.length === 0) return /* @__PURE__ */ n(t, { children: i });
8
+ let u = RegExp(`(${l.map(r).join("|")})`, o ? "g" : "gi"), d = i.split(u), f = (e) => e % 2 == 1, p = [];
9
+ return d.forEach((t, r) => {
10
+ t !== "" && (f(r) ? p.push(/* @__PURE__ */ n(e, {
11
+ "data-slot": "highlight",
12
+ color: s,
13
+ ...c,
14
+ children: t
15
+ }, `${r}-${t}`)) : p.push(t));
16
+ }), /* @__PURE__ */ n(t, { children: p });
17
+ }
18
+ //#endregion
19
+ export { i as default };
@@ -0,0 +1,2 @@
1
+ import e from "./Highlight.js";
2
+ export { e as Highlight };
@@ -2,56 +2,76 @@
2
2
  "use client";
3
3
  import { useConfigDefaults as e } from "../ConfigProvider/useConfigDefaults.js";
4
4
  import { FloatingPanel as t, useFloating as n } from "../../utils/floating.js";
5
+ import { getTabbables as r } from "../../utils/focus.js";
5
6
  /* empty css */
6
- import { useEffect as r, useId as i, useMemo as a, useRef as o } from "react";
7
- import { jsx as s, jsxs as c } from "react/jsx-runtime";
8
- import { useControl as l } from "react-use-control";
7
+ import { useEffect as i, useId as a, useMemo as o, useRef as s } from "react";
8
+ import { jsx as c, jsxs as l } from "react/jsx-runtime";
9
+ import { useControl as u } from "react-use-control";
9
10
  //#region src/lib/components/HoverCard/HoverCard.tsx
10
- var u = "haze-HoverCard__container", d = "haze-HoverCard__panelVisuals";
11
- function f({ content: f, openDelay: p, closeDelay: m, placement: h = "bottom-span", open: g, collisionPadding: _, className: v, children: y }) {
12
- let b = e("HoverCard"), x = p ?? b.openDelay ?? 200, S = m ?? b.closeDelay ?? 120, [C, w] = l(g, !1), T = i(), E = o(null), D = o(null), O = a(() => _ === void 0 ? void 0 : { collisionPadding: _ }, [_]), k = n({
13
- open: C,
14
- setOpen: w,
15
- triggerRef: E,
16
- panelRef: D,
11
+ var d = "haze-HoverCard__container", f = "haze-HoverCard__panelVisuals", p = 200, m = 120, h = 300;
12
+ function g({ content: g, openDelay: _, closeDelay: v, interactive: y = !1, placement: b = "bottom-span", open: x, collisionPadding: S, className: C, children: w }) {
13
+ let T = e("HoverCard"), E = _ ?? T.openDelay ?? p, D = v ?? T.closeDelay ?? (y ? h : m), [O, k] = u(x, !1), A = a(), j = s(null), M = s(null), N = o(() => S === void 0 ? void 0 : { collisionPadding: S }, [S]), P = n({
14
+ open: O,
15
+ setOpen: k,
16
+ triggerRef: j,
17
+ panelRef: M,
17
18
  animated: !0,
18
- collision: O
19
- }), A = o(0), j = o(0);
20
- r(() => () => {
21
- window.clearTimeout(A.current), window.clearTimeout(j.current);
19
+ collision: N
20
+ }), F = s(0), I = s(0);
21
+ i(() => () => {
22
+ window.clearTimeout(F.current), window.clearTimeout(I.current);
22
23
  }, []);
23
- let M = () => {
24
- window.clearTimeout(A.current), window.clearTimeout(j.current);
25
- }, N = () => {
26
- M(), !C && (A.current = window.setTimeout(() => w(!0), x));
27
- }, P = () => {
28
- M(), C && (j.current = window.setTimeout(() => w(!1), S));
29
- };
30
- return /* @__PURE__ */ c("span", {
24
+ let L = () => {
25
+ window.clearTimeout(F.current), window.clearTimeout(I.current);
26
+ }, R = () => {
27
+ L(), !O && (F.current = window.setTimeout(() => k(!0), E));
28
+ }, z = () => {
29
+ L(), O && (I.current = window.setTimeout(() => k(!1), D));
30
+ }, B = () => {
31
+ y && M.current !== null && document.activeElement instanceof Node && M.current.contains(document.activeElement) || z();
32
+ }, V = (e) => {
33
+ let t = e.relatedTarget;
34
+ if (t instanceof Node && e.currentTarget.contains(t)) {
35
+ L();
36
+ return;
37
+ }
38
+ z();
39
+ }, H = s(!1);
40
+ return i(() => {
41
+ let e = H.current;
42
+ if (H.current = O, !y || !e || O) return;
43
+ let t = M.current, n = document.activeElement;
44
+ if (!t || !(n instanceof Node) || !t.contains(n)) return;
45
+ let i = j.current;
46
+ if (!i) return;
47
+ let a = r(i)[0] ?? i;
48
+ a === i && i.getAttribute("tabindex") === null && (i.tabIndex = -1), a.focus();
49
+ }, [O, y]), /* @__PURE__ */ l("span", {
31
50
  "data-slot": "hover-card",
32
- className: u,
33
- children: [/* @__PURE__ */ s("span", {
34
- ref: E,
51
+ className: d,
52
+ onBlur: y ? V : void 0,
53
+ children: [/* @__PURE__ */ c("span", {
54
+ ref: j,
35
55
  "data-slot": "trigger",
36
- style: k.triggerStyle,
37
- "aria-describedby": T,
38
- onMouseEnter: N,
39
- onMouseLeave: P,
40
- onFocus: N,
41
- onBlur: P,
42
- children: y
43
- }), /* @__PURE__ */ s(t, {
44
- ref: D,
45
- behavior: k,
46
- placement: h,
47
- id: T,
48
- visualClass: d,
49
- className: v,
50
- onMouseEnter: M,
51
- onMouseLeave: P,
52
- children: f
56
+ style: P.triggerStyle,
57
+ "aria-describedby": A,
58
+ onMouseEnter: R,
59
+ onMouseLeave: y ? B : z,
60
+ onFocus: R,
61
+ onBlur: y ? void 0 : z,
62
+ children: w
63
+ }), /* @__PURE__ */ c(t, {
64
+ ref: M,
65
+ behavior: P,
66
+ placement: b,
67
+ id: A,
68
+ visualClass: f,
69
+ className: C,
70
+ onMouseEnter: L,
71
+ onMouseLeave: y ? B : z,
72
+ children: g
53
73
  })]
54
74
  });
55
75
  }
56
76
  //#endregion
57
- export { f as default };
77
+ export { g as default };