@g4rcez/components 5.0.2 → 5.0.3

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 (273) hide show
  1. package/dist/AnimatePresence-j36AYeOQ.js +181 -0
  2. package/dist/AnimatePresence-j36AYeOQ.js.map +1 -0
  3. package/dist/Calendar.es-xICmgvjq.js +23 -0
  4. package/dist/Calendar.es-xICmgvjq.js.map +1 -0
  5. package/dist/Funnel.es-DjKVl8Nj.js +23 -0
  6. package/dist/Funnel.es-DjKVl8Nj.js.map +1 -0
  7. package/dist/{MotionConfig-DKKYqBH2.js → MotionConfig-CXHoPGbK.js} +2 -2
  8. package/dist/{MotionConfig-DKKYqBH2.js.map → MotionConfig-CXHoPGbK.js.map} +1 -1
  9. package/dist/Plus.es-DbyRkEE2.js +23 -0
  10. package/dist/Plus.es-DbyRkEE2.js.map +1 -0
  11. package/dist/Trash.es-BFAc8PMf.js +23 -0
  12. package/dist/Trash.es-BFAc8PMf.js.map +1 -0
  13. package/dist/{calendar-PCCZDUIL.js → calendar-DEPkz8sw.js} +364 -502
  14. package/dist/calendar-DEPkz8sw.js.map +1 -0
  15. package/dist/calendar-header-Dfr-CwkY.js +174 -0
  16. package/dist/calendar-header-Dfr-CwkY.js.map +1 -0
  17. package/dist/chunk-jwUa06l-.js +23 -0
  18. package/dist/components/core/button.js +1 -1
  19. package/dist/components/core/heading.js +11 -0
  20. package/dist/components/core/heading.js.map +1 -0
  21. package/dist/{polymorph-BLXhrn9n.js → components/core/polymorph.js} +2 -2
  22. package/dist/components/core/polymorph.js.map +1 -0
  23. package/dist/components/core/render-on-view.js +29 -0
  24. package/dist/components/core/render-on-view.js.map +1 -0
  25. package/dist/components/core/resizable.d.ts +7 -1
  26. package/dist/components/core/resizable.d.ts.map +1 -1
  27. package/dist/components/core/resizable.js +60 -0
  28. package/dist/components/core/resizable.js.map +1 -0
  29. package/dist/components/core/resizable.jsx +46 -40
  30. package/dist/{slot-pC8kH9De.js → components/core/slot.js} +2 -2
  31. package/dist/components/core/slot.js.map +1 -0
  32. package/dist/components/core/tag.js +1 -1
  33. package/dist/components/core/typography.js +40 -0
  34. package/dist/components/core/typography.js.map +1 -0
  35. package/dist/components/display/alert.d.ts.map +1 -1
  36. package/dist/components/display/alert.js +83 -102
  37. package/dist/components/display/alert.js.map +1 -1
  38. package/dist/components/display/alert.jsx +26 -29
  39. package/dist/components/display/calendar.d.ts.map +1 -1
  40. package/dist/components/display/calendar.js +1 -1
  41. package/dist/components/display/calendar.jsx +15 -10
  42. package/dist/components/display/card.js +2 -2
  43. package/dist/components/display/empty.d.ts.map +1 -1
  44. package/dist/components/display/empty.js +25 -0
  45. package/dist/components/display/empty.js.map +1 -0
  46. package/dist/components/display/empty.jsx +3 -1
  47. package/dist/components/display/list.d.ts.map +1 -1
  48. package/dist/components/display/list.js +132 -122
  49. package/dist/components/display/list.js.map +1 -1
  50. package/dist/components/display/list.jsx +30 -25
  51. package/dist/components/display/notifications.d.ts.map +1 -1
  52. package/dist/components/display/notifications.js +1 -1
  53. package/dist/components/display/notifications.jsx +8 -6
  54. package/dist/components/display/progress.d.ts.map +1 -1
  55. package/dist/components/display/progress.js +3 -0
  56. package/dist/components/display/progress.jsx +6 -8
  57. package/dist/components/display/shortcut.js +2 -0
  58. package/dist/components/display/skeleton.js +41 -0
  59. package/dist/components/display/skeleton.js.map +1 -0
  60. package/dist/components/display/spinner.js +17 -0
  61. package/dist/components/display/spinner.js.map +1 -0
  62. package/dist/components/display/step.d.ts.map +1 -1
  63. package/dist/components/display/step.js +3 -0
  64. package/dist/components/display/step.jsx +5 -5
  65. package/dist/components/display/tabs.js +1 -1
  66. package/dist/components/display/timeline.js +1 -1
  67. package/dist/components/floating/command-palette.d.ts.map +1 -1
  68. package/dist/components/floating/command-palette.js +255 -0
  69. package/dist/components/floating/command-palette.js.map +1 -0
  70. package/dist/components/floating/command-palette.jsx +34 -25
  71. package/dist/components/floating/dropdown.js +1 -1
  72. package/dist/components/floating/dropdown.js.map +1 -1
  73. package/dist/components/floating/dropdown.jsx +1 -1
  74. package/dist/components/floating/expand.js +15 -14
  75. package/dist/components/floating/expand.js.map +1 -1
  76. package/dist/components/floating/menu.js +1 -1
  77. package/dist/components/floating/modal.d.ts +14 -11
  78. package/dist/components/floating/modal.d.ts.map +1 -1
  79. package/dist/components/floating/modal.js +1 -1
  80. package/dist/components/floating/modal.jsx +56 -17
  81. package/dist/components/floating/toolbar.d.ts +3 -3
  82. package/dist/components/floating/toolbar.d.ts.map +1 -1
  83. package/dist/components/floating/toolbar.js +20 -0
  84. package/dist/components/floating/toolbar.js.map +1 -0
  85. package/dist/components/floating/toolbar.jsx +7 -3
  86. package/dist/components/floating/tooltip.js +2 -2
  87. package/dist/components/floating/tooltip.js.map +1 -1
  88. package/dist/components/floating/tooltip.jsx +1 -1
  89. package/dist/components/floating/wizard.js +3 -0
  90. package/dist/components/form/autocomplete.d.ts.map +1 -1
  91. package/dist/components/form/autocomplete.js +344 -2
  92. package/dist/components/form/autocomplete.js.map +1 -0
  93. package/dist/components/form/autocomplete.jsx +27 -18
  94. package/dist/components/form/checkbox.d.ts.map +1 -1
  95. package/dist/components/form/checkbox.js +29 -27
  96. package/dist/components/form/checkbox.js.map +1 -1
  97. package/dist/components/form/checkbox.jsx +21 -6
  98. package/dist/components/form/date-picker.js +1 -1
  99. package/dist/components/form/date-picker.jsx +1 -1
  100. package/dist/components/form/file-upload.d.ts +6 -1
  101. package/dist/components/form/file-upload.d.ts.map +1 -1
  102. package/dist/components/form/file-upload.js +1 -1
  103. package/dist/components/form/file-upload.jsx +34 -12
  104. package/dist/components/form/formReset.js +10 -0
  105. package/dist/components/form/formReset.js.map +1 -0
  106. package/dist/components/form/free-text.js +70 -0
  107. package/dist/components/form/free-text.js.map +1 -0
  108. package/dist/components/form/free-text.jsx +1 -1
  109. package/dist/components/form/input-field.d.ts.map +1 -1
  110. package/dist/components/form/input-field.js +3 -0
  111. package/dist/components/form/input-field.jsx +14 -8
  112. package/dist/components/form/input.js +1 -1
  113. package/dist/components/form/multi-select.d.ts.map +1 -1
  114. package/dist/components/form/multi-select.js +420 -0
  115. package/dist/components/form/multi-select.js.map +1 -0
  116. package/dist/components/form/multi-select.jsx +41 -33
  117. package/dist/components/form/select.d.ts.map +1 -1
  118. package/dist/components/form/select.js +55 -51
  119. package/dist/components/form/select.js.map +1 -1
  120. package/dist/components/form/select.jsx +8 -5
  121. package/dist/components/form/slider.js +3 -0
  122. package/dist/components/form/switch.d.ts +2 -1
  123. package/dist/components/form/switch.d.ts.map +1 -1
  124. package/dist/components/form/switch.js +32 -26
  125. package/dist/components/form/switch.js.map +1 -1
  126. package/dist/components/form/switch.jsx +26 -13
  127. package/dist/components/form/textarea.js +19 -0
  128. package/dist/components/form/textarea.js.map +1 -0
  129. package/dist/components/page-calendar/calendar-header.d.ts.map +1 -1
  130. package/dist/components/page-calendar/calendar-header.js +2 -0
  131. package/dist/components/page-calendar/calendar-header.jsx +6 -4
  132. package/dist/components/page-calendar/day-view.js +124 -0
  133. package/dist/components/page-calendar/day-view.js.map +1 -0
  134. package/dist/components/page-calendar/event-pill.js +44 -0
  135. package/dist/components/page-calendar/event-pill.js.map +1 -0
  136. package/dist/components/page-calendar/month-view.d.ts.map +1 -1
  137. package/dist/components/page-calendar/month-view.js +109 -0
  138. package/dist/components/page-calendar/month-view.js.map +1 -0
  139. package/dist/components/page-calendar/month-view.jsx +78 -31
  140. package/dist/components/page-calendar/page-calendar.d.ts.map +1 -1
  141. package/dist/components/page-calendar/page-calendar.js +75 -0
  142. package/dist/components/page-calendar/page-calendar.js.map +1 -0
  143. package/dist/components/page-calendar/page-calendar.jsx +2 -2
  144. package/dist/components/page-calendar/week-view.js +88 -0
  145. package/dist/components/page-calendar/week-view.js.map +1 -0
  146. package/dist/components/table/filter.d.ts.map +1 -1
  147. package/dist/components/table/filter.js +239 -0
  148. package/dist/components/table/filter.js.map +1 -0
  149. package/dist/components/table/filter.jsx +9 -4
  150. package/dist/components/table/group.d.ts.map +1 -1
  151. package/dist/components/table/group.js +3 -0
  152. package/dist/components/table/group.jsx +5 -3
  153. package/dist/components/table/index.js +102 -0
  154. package/dist/components/table/index.js.map +1 -0
  155. package/dist/components/table/inner-table.js +2 -0
  156. package/dist/components/table/inner-table.jsx +1 -1
  157. package/dist/components/table/metadata.js +73 -0
  158. package/dist/components/table/metadata.js.map +1 -0
  159. package/dist/components/table/metadata.jsx +1 -1
  160. package/dist/components/table/pagination.js +70 -0
  161. package/dist/components/table/pagination.js.map +1 -0
  162. package/dist/components/table/row.js +58 -0
  163. package/dist/components/table/row.js.map +1 -0
  164. package/dist/components/table/sort.d.ts.map +1 -1
  165. package/dist/components/table/sort.js +3 -0
  166. package/dist/components/table/sort.jsx +3 -1
  167. package/dist/components/table/thead.js +3 -0
  168. package/dist/config/default-translations.d.ts +18 -0
  169. package/dist/config/default-translations.d.ts.map +1 -1
  170. package/dist/config/default-translations.jsx +18 -0
  171. package/dist/{use-translations-DTLfPE3_.js → context-CsnUsfeP.js} +55 -40
  172. package/dist/context-CsnUsfeP.js.map +1 -0
  173. package/dist/{date-picker-BhKEFZew.js → date-picker-DNzupG8R.js} +301 -317
  174. package/dist/date-picker-DNzupG8R.js.map +1 -0
  175. package/dist/dict-CisoYSMO.js +28 -0
  176. package/dist/dict-CisoYSMO.js.map +1 -0
  177. package/dist/dist-ChfJ5LO9.js +498 -0
  178. package/dist/dist-ChfJ5LO9.js.map +1 -0
  179. package/dist/{dist-BrGpYRaj.js → dist-DIjUECx9.js} +56 -56
  180. package/dist/{dist-BrGpYRaj.js.map → dist-DIjUECx9.js.map} +1 -1
  181. package/dist/dom-Bn4wY_Zx.js.map +1 -1
  182. package/dist/{file-upload-DWbZfeG5.js → file-upload-C2zNnv9n.js} +501 -481
  183. package/dist/{file-upload-DWbZfeG5.js.map → file-upload-C2zNnv9n.js.map} +1 -1
  184. package/dist/fzf-CPGDDCoU.js +64 -0
  185. package/dist/fzf-CPGDDCoU.js.map +1 -0
  186. package/dist/getISOWeek-EcB4Ebqp.js +72 -0
  187. package/dist/getISOWeek-EcB4Ebqp.js.map +1 -0
  188. package/dist/group-Dl14TJXO.js +222 -0
  189. package/dist/group-Dl14TJXO.js.map +1 -0
  190. package/dist/hooks/use-translations.d.ts +18 -0
  191. package/dist/hooks/use-translations.d.ts.map +1 -1
  192. package/dist/index.css +1 -1
  193. package/dist/index.js.map +1 -1
  194. package/dist/inner-table-CeDX60cL.js +151 -0
  195. package/dist/inner-table-CeDX60cL.js.map +1 -0
  196. package/dist/input-Cmyuea4Y.js +412 -0
  197. package/dist/input-Cmyuea4Y.js.map +1 -0
  198. package/dist/{input-field-B_whI66Q.js → input-field-ffx1MbHo.js} +29 -16
  199. package/dist/input-field-ffx1MbHo.js.map +1 -0
  200. package/dist/isSameMonth-C3lsSwcg.js +10 -0
  201. package/dist/isSameMonth-C3lsSwcg.js.map +1 -0
  202. package/dist/isToday-COXfxFui.js +32 -0
  203. package/dist/isToday-COXfxFui.js.map +1 -0
  204. package/dist/lib/dom.d.ts.map +1 -1
  205. package/dist/modal-Df8-6i-o.js +408 -0
  206. package/dist/modal-Df8-6i-o.js.map +1 -0
  207. package/dist/notifications-NhCESJUV.js +1697 -0
  208. package/dist/notifications-NhCESJUV.js.map +1 -0
  209. package/dist/page-calendar.utils-Bd0PHktL.js +102 -0
  210. package/dist/page-calendar.utils-Bd0PHktL.js.map +1 -0
  211. package/dist/preset/preset.tailwind.d.ts.map +1 -1
  212. package/dist/preset/preset.tailwind.js +6 -7
  213. package/dist/preset/src/styles/dark.js +1 -1
  214. package/dist/progress-8LO5gWLp.js +104 -0
  215. package/dist/progress-8LO5gWLp.js.map +1 -0
  216. package/dist/{proxy-BcJ_5Dwq.js → proxy-fP2NxmhM.js} +658 -844
  217. package/dist/proxy-fP2NxmhM.js.map +1 -0
  218. package/dist/shim-Czv-YhKR.js +93 -0
  219. package/dist/shim-Czv-YhKR.js.map +1 -0
  220. package/dist/shortcut-CQCmgmlU.js +100 -0
  221. package/dist/shortcut-CQCmgmlU.js.map +1 -0
  222. package/dist/slider-TX9hiHO-.js +1196 -0
  223. package/dist/slider-TX9hiHO-.js.map +1 -0
  224. package/dist/sort-DGmiselV.js +195 -0
  225. package/dist/sort-DGmiselV.js.map +1 -0
  226. package/dist/step-DFpJ7zCG.js +185 -0
  227. package/dist/step-DFpJ7zCG.js.map +1 -0
  228. package/dist/styles/dark.js +1 -1
  229. package/dist/subMonths-QcCnE3Yh.js +43 -0
  230. package/dist/subMonths-QcCnE3Yh.js.map +1 -0
  231. package/dist/table-lib-1bkYSklk.js +174 -0
  232. package/dist/table-lib-1bkYSklk.js.map +1 -0
  233. package/dist/{tabs-Ciy0l9OF.js → tabs-Brc963EW.js} +2 -2
  234. package/dist/{tabs-Ciy0l9OF.js.map → tabs-Brc963EW.js.map} +1 -1
  235. package/dist/thead-B6WELJZ-.js +211 -0
  236. package/dist/thead-B6WELJZ-.js.map +1 -0
  237. package/dist/use-locale-DPM_sg4s.js +12 -0
  238. package/dist/use-locale-DPM_sg4s.js.map +1 -0
  239. package/dist/use-remove-scroll-pAgC09Sq.js +38 -0
  240. package/dist/use-remove-scroll-pAgC09Sq.js.map +1 -0
  241. package/dist/use-translations-BE4PuhLm.js +11 -0
  242. package/dist/use-translations-BE4PuhLm.js.map +1 -0
  243. package/dist/useAnimationFrame-DnKbaXfi.js +223 -0
  244. package/dist/useAnimationFrame-DnKbaXfi.js.map +1 -0
  245. package/dist/valueToPercent-DZc_m1tm.js +43 -0
  246. package/dist/valueToPercent-DZc_m1tm.js.map +1 -0
  247. package/dist/visuallyHidden-B7wI86yi.js +303 -0
  248. package/dist/visuallyHidden-B7wI86yi.js.map +1 -0
  249. package/dist/with-selector-BFW5n-pb.js +102 -0
  250. package/dist/with-selector-BFW5n-pb.js.map +1 -0
  251. package/dist/wizard-7u_qZ-78.js +218 -0
  252. package/dist/wizard-7u_qZ-78.js.map +1 -0
  253. package/package.json +19 -11
  254. package/dist/autocomplete-D3VOTihi.js +0 -415
  255. package/dist/autocomplete-D3VOTihi.js.map +0 -1
  256. package/dist/calendar-PCCZDUIL.js.map +0 -1
  257. package/dist/components/table/table.js +0 -3
  258. package/dist/date-picker-BhKEFZew.js.map +0 -1
  259. package/dist/input-B7jqwPG4.js +0 -473
  260. package/dist/input-B7jqwPG4.js.map +0 -1
  261. package/dist/input-field-B_whI66Q.js.map +0 -1
  262. package/dist/modal-Bz-61ays.js +0 -373
  263. package/dist/modal-Bz-61ays.js.map +0 -1
  264. package/dist/notifications-MT4XkLov.js +0 -2203
  265. package/dist/notifications-MT4XkLov.js.map +0 -1
  266. package/dist/polymorph-BLXhrn9n.js.map +0 -1
  267. package/dist/proxy-BcJ_5Dwq.js.map +0 -1
  268. package/dist/skeleton-CBYEq3lM.js +0 -26
  269. package/dist/skeleton-CBYEq3lM.js.map +0 -1
  270. package/dist/slot-pC8kH9De.js.map +0 -1
  271. package/dist/table-CUFbAI2k.js +0 -1914
  272. package/dist/table-CUFbAI2k.js.map +0 -1
  273. package/dist/use-translations-DTLfPE3_.js.map +0 -1
@@ -1,153 +1,163 @@
1
1
  "use client";
2
- import { r as e, t } from "../../proxy-BcJ_5Dwq.js";
3
- import { t as n } from "../../X.es-Cjq2a_OA.js";
4
- import { a as r, d as i, f as a, l as o, n as s, o as c, v as l, x as u } from "../../floating-ui.react-CwXtBJ_y.js";
5
- import { t as d } from "../../MotionConfig-DKKYqBH2.js";
6
- import f, { Fragment as p, useCallback as m, useId as h, useState as g } from "react";
7
- import { jsx as _, jsxs as v } from "react/jsx-runtime";
2
+ import { t as e } from "../../X.es-Cjq2a_OA.js";
3
+ import { t } from "../../use-translations-BE4PuhLm.js";
4
+ import { a as n, d as r, f as i, l as a, n as o, o as s, v as c, x as l } from "../../floating-ui.react-CwXtBJ_y.js";
5
+ import { t as u } from "../../proxy-fP2NxmhM.js";
6
+ import { t as d } from "../../AnimatePresence-j36AYeOQ.js";
7
+ import { t as f } from "../../MotionConfig-CXHoPGbK.js";
8
+ import p, { Fragment as m, useCallback as h, useId as g, useState as _ } from "react";
9
+ import { jsx as v, jsxs as y } from "react/jsx-runtime";
8
10
  //#region src/components/display/list.tsx
9
- var y = ({ item: i, context: a, setter: o, get: l, refs: u }) => /* @__PURE__ */ _(c, { children: /* @__PURE__ */ _(d, {
10
- reducedMotion: "user",
11
- transition: {
12
- type: "spring",
13
- damping: 30,
14
- stiffness: 350
15
- },
16
- children: /* @__PURE__ */ v(e, {
17
- mode: "wait",
18
- presenceAffectsLayout: !0,
19
- children: [i ? /* @__PURE__ */ _(t.div, {
20
- exit: { opacity: 0 },
21
- animate: { opacity: 1 },
22
- initial: { opacity: 0 },
23
- transition: {
24
- type: "tween",
25
- duration: .15,
26
- ease: "easeOut"
27
- },
28
- className: "pointer-events-none fixed inset-0 top-0 z-overlay h-screen w-screen bg-floating-overlay/70"
29
- }, "overlay") : null, i ? /* @__PURE__ */ _(r, {
30
- lockScroll: !0,
31
- className: "absolute inset-0 z-floating flex items-center justify-center",
32
- children: /* @__PURE__ */ _(s, {
33
- visuallyHiddenDismiss: !0,
34
- modal: !0,
35
- closeOnFocusOut: !0,
36
- context: a,
37
- children: /* @__PURE__ */ v(t.div, {
38
- layout: !0,
39
- layoutId: `item-${i.id}`,
40
- initial: {
41
- opacity: .6,
42
- scale: .98
43
- },
44
- animate: {
45
- opacity: 1,
46
- scale: 1
47
- },
48
- exit: {
49
- opacity: 0,
50
- scale: .98
51
- },
52
- className: "relative flex h-min w-min min-w-xs flex-col gap-list-card-gap rounded-list-radius border border-card-border bg-card-background p-list-card-p py-list-card-py pb-list-card-pb shadow-shadow-card",
53
- ref: u.setFloating,
54
- ...l(),
55
- children: [
56
- /* @__PURE__ */ _("nav", {
57
- className: "absolute right-4 top-1 lg:right-2",
58
- children: /* @__PURE__ */ _("button", {
59
- type: "button",
60
- onClick: o,
61
- className: "p-list-close-p opacity-70 transition-colors hover:text-danger hover:opacity-100 focus:text-danger",
62
- children: /* @__PURE__ */ _(n, {})
11
+ var b = ({ item: r, context: i, setter: a, get: c, refs: l }) => {
12
+ let p = t();
13
+ return /* @__PURE__ */ v(s, { children: /* @__PURE__ */ v(f, {
14
+ reducedMotion: "user",
15
+ transition: {
16
+ type: "spring",
17
+ damping: 30,
18
+ stiffness: 350
19
+ },
20
+ children: /* @__PURE__ */ y(d, {
21
+ mode: "wait",
22
+ presenceAffectsLayout: !0,
23
+ children: [r ? /* @__PURE__ */ v(u.div, {
24
+ exit: { opacity: 0 },
25
+ animate: { opacity: 1 },
26
+ initial: { opacity: 0 },
27
+ transition: {
28
+ type: "tween",
29
+ duration: .15,
30
+ ease: "easeOut"
31
+ },
32
+ className: "pointer-events-none fixed inset-0 top-0 z-overlay h-screen w-screen bg-floating-overlay/70"
33
+ }, "overlay") : null, r ? /* @__PURE__ */ v(n, {
34
+ lockScroll: !0,
35
+ className: "absolute inset-0 z-floating flex items-center justify-center",
36
+ children: /* @__PURE__ */ v(o, {
37
+ visuallyHiddenDismiss: !0,
38
+ modal: !0,
39
+ closeOnFocusOut: !0,
40
+ context: i,
41
+ children: /* @__PURE__ */ y(u.div, {
42
+ layout: !0,
43
+ layoutId: `item-${r.id}`,
44
+ initial: {
45
+ opacity: .6,
46
+ scale: .98
47
+ },
48
+ animate: {
49
+ opacity: 1,
50
+ scale: 1
51
+ },
52
+ exit: {
53
+ opacity: 0,
54
+ scale: .98
55
+ },
56
+ className: "relative flex h-min w-min min-w-xs flex-col gap-list-card-gap rounded-list-radius border border-card-border bg-card-background p-list-card-p py-list-card-py pb-list-card-pb shadow-shadow-card",
57
+ ref: l.setFloating,
58
+ ...c(),
59
+ children: [
60
+ /* @__PURE__ */ v("nav", {
61
+ className: "absolute right-4 top-1 lg:right-2",
62
+ children: /* @__PURE__ */ v("button", {
63
+ type: "button",
64
+ onClick: a,
65
+ "aria-label": p.listCloseDetails,
66
+ className: "p-list-close-p opacity-70 transition-colors hover:text-danger hover:opacity-100 focus:text-danger",
67
+ children: /* @__PURE__ */ v(e, {})
68
+ })
69
+ }),
70
+ /* @__PURE__ */ y(u.header, {
71
+ layout: !0,
72
+ className: "flex w-full flex-wrap items-center justify-between gap-list-header-gap",
73
+ children: [/* @__PURE__ */ v("h3", {
74
+ className: "min-w-full text-balance text-list-title-text font-medium",
75
+ children: r.title
76
+ }), /* @__PURE__ */ v("p", {
77
+ className: "text-typography-sm leading-snug text-secondary",
78
+ children: r.description
79
+ })]
80
+ }),
81
+ /* @__PURE__ */ v(u.div, {
82
+ layout: !0,
83
+ children: r.children
63
84
  })
64
- }),
65
- /* @__PURE__ */ v(t.header, {
66
- layout: !0,
67
- className: "flex w-full flex-wrap items-center justify-between gap-list-header-gap",
68
- children: [/* @__PURE__ */ _("h3", {
69
- className: "min-w-full text-balance text-list-title-text font-medium",
70
- children: i.title
71
- }), /* @__PURE__ */ _("p", {
72
- className: "text-typography-sm leading-snug text-secondary",
73
- children: i.description
74
- })]
75
- }),
76
- /* @__PURE__ */ _(t.div, {
77
- layout: !0,
78
- children: i.children
79
- })
80
- ]
85
+ ]
86
+ })
81
87
  })
82
- })
83
- }, "card") : null]
84
- })
85
- }) }), b = (e) => {
86
- let [n, r] = g(null), s = h(), { context: c, refs: d } = a({
87
- open: n !== null,
88
+ }, "card") : null]
89
+ })
90
+ }) });
91
+ }, x = (e) => {
92
+ let n = t(), [o, s] = _(null), d = g(), { context: f, refs: x } = i({
93
+ open: o !== null,
88
94
  transform: !0,
89
- onOpenChange: (e) => e ? void 0 : r(null)
90
- }), { getFloatingProps: b } = l([
91
- o(c),
92
- u(c, { role: "dialog" }),
93
- i(c, {
95
+ onOpenChange: (e) => e ? void 0 : s(null)
96
+ }), { getFloatingProps: S } = c([
97
+ a(f),
98
+ l(f, { role: "dialog" }),
99
+ r(f, {
94
100
  escapeKey: !0,
95
101
  referencePress: !0,
96
102
  outsidePress: !0
97
103
  })
98
- ]), x = m(() => {
99
- r(null);
100
- }, []), S = f.Children.toArray(e.children);
101
- return /* @__PURE__ */ v(p, { children: [/* @__PURE__ */ _(y, {
102
- refs: d,
103
- context: c,
104
- get: b,
105
- item: n,
106
- setter: x
107
- }), /* @__PURE__ */ _("ul", {
104
+ ]), C = h(() => {
105
+ s(null);
106
+ }, []), w = p.Children.toArray(e.children);
107
+ return /* @__PURE__ */ y(m, { children: [/* @__PURE__ */ v(b, {
108
+ refs: x,
109
+ context: f,
110
+ get: S,
111
+ item: o,
112
+ setter: C
113
+ }), /* @__PURE__ */ v("ul", {
108
114
  role: "list",
109
- children: S.map((e, n) => {
110
- let i = e.props, a = `${s}-${n}`, o = () => r({
111
- ...i,
112
- id: a
113
- }), c = i.leading;
114
- return /* @__PURE__ */ _(t.li, {
115
+ children: w.map((e, t) => {
116
+ let r = e.props, i = `${d}-${t}`, a = () => s({
117
+ ...r,
118
+ id: i
119
+ }), o = r.leading;
120
+ return /* @__PURE__ */ v(u.li, {
115
121
  layout: !0,
116
- layoutId: `item-${a}`,
122
+ layoutId: `item-${i}`,
117
123
  className: "border-b border-card-border py-list-item-py last:border-transparent",
118
- children: /* @__PURE__ */ _(t.div, {
119
- layoutId: `toast-${a}`,
124
+ children: /* @__PURE__ */ v(u.div, {
125
+ layoutId: `toast-${i}`,
120
126
  className: "relative",
121
- children: /* @__PURE__ */ _("div", {
127
+ children: /* @__PURE__ */ v("div", {
122
128
  className: "relative flex items-start space-x-3",
123
- children: /* @__PURE__ */ v(p, { children: [i.avatar ? /* @__PURE__ */ _("div", { children: /* @__PURE__ */ _("div", {
129
+ children: /* @__PURE__ */ y(m, { children: [r.avatar ? /* @__PURE__ */ v("div", { children: /* @__PURE__ */ v("div", {
124
130
  className: "relative px-list-avatar-px",
125
- children: /* @__PURE__ */ _("button", {
126
- onClick: o,
131
+ children: /* @__PURE__ */ v("button", {
132
+ type: "button",
133
+ onClick: a,
134
+ "aria-label": n.listOpenDetails(String(r.title)),
127
135
  className: "flex size-10 items-center justify-center ring-primary",
128
- children: i.avatar
136
+ children: r.avatar
129
137
  })
130
- }) }) : null, /* @__PURE__ */ _("div", {
138
+ }) }) : null, /* @__PURE__ */ v("div", {
131
139
  className: "min-w-0 flex-1 py-list-body-py text-foreground",
132
- children: /* @__PURE__ */ v("div", {
140
+ children: /* @__PURE__ */ y("div", {
133
141
  className: "flex flex-row flex-nowrap justify-between gap-list-item-gap",
134
- children: [/* @__PURE__ */ v("button", {
135
- onClick: o,
142
+ children: [/* @__PURE__ */ y("button", {
143
+ type: "button",
144
+ onClick: a,
145
+ "aria-label": n.listOpenDetails(String(r.title)),
136
146
  className: "cursor-pointer text-left transition-all ease-out hover:text-primary",
137
- children: [/* @__PURE__ */ _("h3", { children: i.title }), /* @__PURE__ */ _("p", {
147
+ children: [/* @__PURE__ */ v("h3", { children: r.title }), /* @__PURE__ */ v("p", {
138
148
  className: "text-typography-sm leading-snug text-secondary",
139
- children: i.description
149
+ children: r.description
140
150
  })]
141
- }), c ? /* @__PURE__ */ _(c, { open: o }) : null]
151
+ }), o ? /* @__PURE__ */ v(o, { open: a }) : null]
142
152
  })
143
153
  })] })
144
154
  })
145
155
  })
146
- }, a);
156
+ }, i);
147
157
  })
148
158
  })] });
149
- }, x = (e) => /* @__PURE__ */ _(p, { children: e.children });
159
+ }, S = (e) => /* @__PURE__ */ v(m, { children: e.children });
150
160
  //#endregion
151
- export { b as AnimatedList, x as AnimatedListItem };
161
+ export { x as AnimatedList, S as AnimatedListItem };
152
162
 
153
163
  //# sourceMappingURL=list.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","names":[],"sources":["../../../src/components/display/list.tsx"],"sourcesContent":["\"use client\";\nimport {\n FloatingContext,\n FloatingFocusManager,\n FloatingOverlay,\n FloatingPortal,\n useClick,\n useDismiss,\n useFloating,\n useInteractions,\n useRole,\n} from \"@floating-ui/react\";\nimport { AnimatePresence, motion, MotionConfig } from \"motion/react\";\nimport { XIcon } from \"@phosphor-icons/react\";\nimport React, { Fragment, PropsWithChildren, useCallback, useId, useState } from \"react\";\nimport { Label } from \"../../types\";\n\ntype AnimatedItemProps = {\n title: Label;\n description: Label;\n children: Label;\n avatar?: Label;\n leading?: React.FC<{ open: () => void }>;\n};\n\ntype IdAnimatedItem = AnimatedItemProps & { id: string };\n\ntype AnimatedListProps = object;\n\ntype FloatItemProps = {\n setter: () => void;\n context: FloatingContext;\n item: IdAnimatedItem | null;\n refs: { setFloating: (node: HTMLElement | null) => void };\n get: ReturnType<typeof useInteractions>[\"getFloatingProps\"];\n};\n\nconst FloatItem = ({ item, context, setter, get, refs }: FloatItemProps) => (\n <FloatingPortal>\n <MotionConfig reducedMotion=\"user\" transition={{ type: \"spring\", damping: 30, stiffness: 350 }}>\n <AnimatePresence mode=\"wait\" presenceAffectsLayout>\n {item ? (\n <motion.div\n key=\"overlay\"\n exit={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n initial={{ opacity: 0 }}\n transition={{ type: \"tween\", duration: 0.15, ease: \"easeOut\" }}\n className=\"pointer-events-none fixed inset-0 top-0 z-overlay h-screen w-screen bg-floating-overlay/70\"\n />\n ) : null}\n {item ? (\n <FloatingOverlay key=\"card\" lockScroll className=\"absolute inset-0 z-floating flex items-center justify-center\">\n <FloatingFocusManager visuallyHiddenDismiss modal closeOnFocusOut context={context}>\n <motion.div\n layout\n layoutId={`item-${item.id}`}\n initial={{ opacity: 0.6, scale: 0.98 }}\n animate={{ opacity: 1, scale: 1 }}\n exit={{ opacity: 0, scale: 0.98 }}\n className=\"relative flex h-min w-min min-w-xs flex-col gap-list-card-gap rounded-list-radius border border-card-border bg-card-background p-list-card-p py-list-card-py pb-list-card-pb shadow-shadow-card\"\n ref={refs.setFloating}\n {...get()}\n >\n <nav className=\"absolute right-4 top-1 lg:right-2\">\n <button\n type=\"button\"\n onClick={setter}\n className=\"p-list-close-p opacity-70 transition-colors hover:text-danger hover:opacity-100 focus:text-danger\"\n >\n <XIcon />\n </button>\n </nav>\n <motion.header layout className=\"flex w-full flex-wrap items-center justify-between gap-list-header-gap\">\n <h3 className=\"min-w-full text-balance text-list-title-text font-medium\">{item.title}</h3>\n <p className=\"text-typography-sm leading-snug text-secondary\">{item.description}</p>\n </motion.header>\n <motion.div layout>{item.children}</motion.div>\n </motion.div>\n </FloatingFocusManager>\n </FloatingOverlay>\n ) : null}\n </AnimatePresence>\n </MotionConfig>\n </FloatingPortal>\n);\n\nexport const AnimatedList = (props: PropsWithChildren<AnimatedListProps>) => {\n const [selected, setSelected] = useState<IdAnimatedItem | null>(null);\n const id = useId();\n const { context, refs } = useFloating({\n open: selected !== null,\n transform: true,\n onOpenChange: (open) => (open ? undefined : setSelected(null)),\n });\n const click = useClick(context);\n const role = useRole(context, { role: \"dialog\" });\n const dismiss = useDismiss(context, {\n escapeKey: true,\n referencePress: true,\n outsidePress: true,\n });\n const { getFloatingProps } = useInteractions([click, role, dismiss]);\n\n const clear = useCallback(() => {\n setSelected(null);\n }, []);\n\n const items = React.Children.toArray(props.children);\n\n return (\n <Fragment>\n <FloatItem refs={refs} context={context} get={getFloatingProps} item={selected} setter={clear} />\n <ul role=\"list\">\n {items.map((x, index) => {\n const item = (x as React.ReactElement<AnimatedItemProps>).props;\n const innerId = `${id}-${index}`;\n const setter = () => setSelected({ ...item, id: innerId });\n const Leading = item.leading;\n return (\n <motion.li\n layout\n key={innerId}\n layoutId={`item-${innerId}`}\n className={`border-b border-card-border py-list-item-py last:border-transparent`}\n >\n <motion.div layoutId={`toast-${innerId}`} className=\"relative\">\n <div className=\"relative flex items-start space-x-3\">\n <Fragment>\n {item.avatar ? (\n <div>\n <div className=\"relative px-list-avatar-px\">\n <button onClick={setter} className=\"flex size-10 items-center justify-center ring-primary\">\n {item.avatar}\n </button>\n </div>\n </div>\n ) : null}\n <div className=\"min-w-0 flex-1 py-list-body-py text-foreground\">\n <div className=\"flex flex-row flex-nowrap justify-between gap-list-item-gap\">\n <button\n onClick={setter}\n className=\"cursor-pointer text-left transition-all ease-out hover:text-primary\"\n >\n <h3>{item.title}</h3>\n <p className=\"text-typography-sm leading-snug text-secondary\">{item.description}</p>\n </button>\n {Leading ? <Leading open={setter} /> : null}\n </div>\n </div>\n </Fragment>\n </div>\n </motion.div>\n </motion.li>\n );\n })}\n </ul>\n </Fragment>\n );\n};\n\nexport const AnimatedListItem = (props: PropsWithChildren<AnimatedItemProps>) => <Fragment>{props.children}</Fragment>;\n"],"mappings":"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"}
1
+ {"version":3,"file":"list.js","names":[],"sources":["../../../src/components/display/list.tsx"],"sourcesContent":["\"use client\";\nimport {\n FloatingContext,\n FloatingFocusManager,\n FloatingOverlay,\n FloatingPortal,\n useClick,\n useDismiss,\n useFloating,\n useInteractions,\n useRole,\n} from \"@floating-ui/react\";\nimport { AnimatePresence, motion, MotionConfig } from \"motion/react\";\nimport { XIcon } from \"@phosphor-icons/react\";\nimport React, { Fragment, PropsWithChildren, useCallback, useId, useState } from \"react\";\nimport { useTranslations } from \"../../hooks/use-translations\";\nimport { Label } from \"../../types\";\n\ntype AnimatedItemProps = {\n title: Label;\n description: Label;\n children: Label;\n avatar?: Label;\n leading?: React.FC<{ open: () => void }>;\n};\n\ntype IdAnimatedItem = AnimatedItemProps & { id: string };\n\ntype AnimatedListProps = object;\n\ntype FloatItemProps = {\n setter: () => void;\n context: FloatingContext;\n item: IdAnimatedItem | null;\n refs: { setFloating: (node: HTMLElement | null) => void };\n get: ReturnType<typeof useInteractions>[\"getFloatingProps\"];\n};\n\nconst FloatItem = ({ item, context, setter, get, refs }: FloatItemProps) => {\n const translations = useTranslations();\n\n return (\n <FloatingPortal>\n <MotionConfig reducedMotion=\"user\" transition={{ type: \"spring\", damping: 30, stiffness: 350 }}>\n <AnimatePresence mode=\"wait\" presenceAffectsLayout>\n {item ? (\n <motion.div\n key=\"overlay\"\n exit={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n initial={{ opacity: 0 }}\n transition={{ type: \"tween\", duration: 0.15, ease: \"easeOut\" }}\n className=\"pointer-events-none fixed inset-0 top-0 z-overlay h-screen w-screen bg-floating-overlay/70\"\n />\n ) : null}\n {item ? (\n <FloatingOverlay key=\"card\" lockScroll className=\"absolute inset-0 z-floating flex items-center justify-center\">\n <FloatingFocusManager visuallyHiddenDismiss modal closeOnFocusOut context={context}>\n <motion.div\n layout\n layoutId={`item-${item.id}`}\n initial={{ opacity: 0.6, scale: 0.98 }}\n animate={{ opacity: 1, scale: 1 }}\n exit={{ opacity: 0, scale: 0.98 }}\n className=\"relative flex h-min w-min min-w-xs flex-col gap-list-card-gap rounded-list-radius border border-card-border bg-card-background p-list-card-p py-list-card-py pb-list-card-pb shadow-shadow-card\"\n ref={refs.setFloating}\n {...get()}\n >\n <nav className=\"absolute right-4 top-1 lg:right-2\">\n <button\n type=\"button\"\n onClick={setter}\n aria-label={translations.listCloseDetails}\n className=\"p-list-close-p opacity-70 transition-colors hover:text-danger hover:opacity-100 focus:text-danger\"\n >\n <XIcon />\n </button>\n </nav>\n <motion.header layout className=\"flex w-full flex-wrap items-center justify-between gap-list-header-gap\">\n <h3 className=\"min-w-full text-balance text-list-title-text font-medium\">{item.title}</h3>\n <p className=\"text-typography-sm leading-snug text-secondary\">{item.description}</p>\n </motion.header>\n <motion.div layout>{item.children}</motion.div>\n </motion.div>\n </FloatingFocusManager>\n </FloatingOverlay>\n ) : null}\n </AnimatePresence>\n </MotionConfig>\n </FloatingPortal>\n );\n};\n\nexport const AnimatedList = (props: PropsWithChildren<AnimatedListProps>) => {\n const translations = useTranslations();\n const [selected, setSelected] = useState<IdAnimatedItem | null>(null);\n const id = useId();\n const { context, refs } = useFloating({\n open: selected !== null,\n transform: true,\n onOpenChange: (open) => (open ? undefined : setSelected(null)),\n });\n const click = useClick(context);\n const role = useRole(context, { role: \"dialog\" });\n const dismiss = useDismiss(context, {\n escapeKey: true,\n referencePress: true,\n outsidePress: true,\n });\n const { getFloatingProps } = useInteractions([click, role, dismiss]);\n\n const clear = useCallback(() => {\n setSelected(null);\n }, []);\n\n const items = React.Children.toArray(props.children);\n\n return (\n <Fragment>\n <FloatItem refs={refs} context={context} get={getFloatingProps} item={selected} setter={clear} />\n <ul role=\"list\">\n {items.map((x, index) => {\n const item = (x as React.ReactElement<AnimatedItemProps>).props;\n const innerId = `${id}-${index}`;\n const setter = () => setSelected({ ...item, id: innerId });\n const Leading = item.leading;\n return (\n <motion.li\n layout\n key={innerId}\n layoutId={`item-${innerId}`}\n className={`border-b border-card-border py-list-item-py last:border-transparent`}\n >\n <motion.div layoutId={`toast-${innerId}`} className=\"relative\">\n <div className=\"relative flex items-start space-x-3\">\n <Fragment>\n {item.avatar ? (\n <div>\n <div className=\"relative px-list-avatar-px\">\n <button\n type=\"button\"\n onClick={setter}\n aria-label={translations.listOpenDetails(String(item.title))}\n className=\"flex size-10 items-center justify-center ring-primary\"\n >\n {item.avatar}\n </button>\n </div>\n </div>\n ) : null}\n <div className=\"min-w-0 flex-1 py-list-body-py text-foreground\">\n <div className=\"flex flex-row flex-nowrap justify-between gap-list-item-gap\">\n <button\n type=\"button\"\n onClick={setter}\n aria-label={translations.listOpenDetails(String(item.title))}\n className=\"cursor-pointer text-left transition-all ease-out hover:text-primary\"\n >\n <h3>{item.title}</h3>\n <p className=\"text-typography-sm leading-snug text-secondary\">{item.description}</p>\n </button>\n {Leading ? <Leading open={setter} /> : null}\n </div>\n </div>\n </Fragment>\n </div>\n </motion.div>\n </motion.li>\n );\n })}\n </ul>\n </Fragment>\n );\n};\n\nexport const AnimatedListItem = (props: PropsWithChildren<AnimatedItemProps>) => <Fragment>{props.children}</Fragment>;\n"],"mappings":"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"}
@@ -3,30 +3,35 @@ import { FloatingFocusManager, FloatingOverlay, FloatingPortal, useClick, useDis
3
3
  import { AnimatePresence, motion, MotionConfig } from "motion/react";
4
4
  import { XIcon } from "@phosphor-icons/react";
5
5
  import React, { Fragment, useCallback, useId, useState } from "react";
6
- const FloatItem = ({ item, context, setter, get, refs }) => (<FloatingPortal>
7
- <MotionConfig reducedMotion="user" transition={{ type: "spring", damping: 30, stiffness: 350 }}>
8
- <AnimatePresence mode="wait" presenceAffectsLayout>
9
- {item ? (<motion.div key="overlay" exit={{ opacity: 0 }} animate={{ opacity: 1 }} initial={{ opacity: 0 }} transition={{ type: "tween", duration: 0.15, ease: "easeOut" }} className="pointer-events-none fixed inset-0 top-0 z-overlay h-screen w-screen bg-floating-overlay/70"/>) : null}
10
- {item ? (<FloatingOverlay key="card" lockScroll className="absolute inset-0 z-floating flex items-center justify-center">
11
- <FloatingFocusManager visuallyHiddenDismiss modal closeOnFocusOut context={context}>
12
- <motion.div layout layoutId={`item-${item.id}`} initial={{ opacity: 0.6, scale: 0.98 }} animate={{ opacity: 1, scale: 1 }} exit={{ opacity: 0, scale: 0.98 }} className="relative flex h-min w-min min-w-xs flex-col gap-list-card-gap rounded-list-radius border border-card-border bg-card-background p-list-card-p py-list-card-py pb-list-card-pb shadow-shadow-card" ref={refs.setFloating} {...get()}>
13
- <nav className="absolute right-4 top-1 lg:right-2">
14
- <button type="button" onClick={setter} className="p-list-close-p opacity-70 transition-colors hover:text-danger hover:opacity-100 focus:text-danger">
15
- <XIcon />
16
- </button>
17
- </nav>
18
- <motion.header layout className="flex w-full flex-wrap items-center justify-between gap-list-header-gap">
19
- <h3 className="min-w-full text-balance text-list-title-text font-medium">{item.title}</h3>
20
- <p className="text-typography-sm leading-snug text-secondary">{item.description}</p>
21
- </motion.header>
22
- <motion.div layout>{item.children}</motion.div>
23
- </motion.div>
24
- </FloatingFocusManager>
25
- </FloatingOverlay>) : null}
26
- </AnimatePresence>
27
- </MotionConfig>
28
- </FloatingPortal>);
6
+ import { useTranslations } from "../../hooks/use-translations";
7
+ const FloatItem = ({ item, context, setter, get, refs }) => {
8
+ const translations = useTranslations();
9
+ return (<FloatingPortal>
10
+ <MotionConfig reducedMotion="user" transition={{ type: "spring", damping: 30, stiffness: 350 }}>
11
+ <AnimatePresence mode="wait" presenceAffectsLayout>
12
+ {item ? (<motion.div key="overlay" exit={{ opacity: 0 }} animate={{ opacity: 1 }} initial={{ opacity: 0 }} transition={{ type: "tween", duration: 0.15, ease: "easeOut" }} className="pointer-events-none fixed inset-0 top-0 z-overlay h-screen w-screen bg-floating-overlay/70"/>) : null}
13
+ {item ? (<FloatingOverlay key="card" lockScroll className="absolute inset-0 z-floating flex items-center justify-center">
14
+ <FloatingFocusManager visuallyHiddenDismiss modal closeOnFocusOut context={context}>
15
+ <motion.div layout layoutId={`item-${item.id}`} initial={{ opacity: 0.6, scale: 0.98 }} animate={{ opacity: 1, scale: 1 }} exit={{ opacity: 0, scale: 0.98 }} className="relative flex h-min w-min min-w-xs flex-col gap-list-card-gap rounded-list-radius border border-card-border bg-card-background p-list-card-p py-list-card-py pb-list-card-pb shadow-shadow-card" ref={refs.setFloating} {...get()}>
16
+ <nav className="absolute right-4 top-1 lg:right-2">
17
+ <button type="button" onClick={setter} aria-label={translations.listCloseDetails} className="p-list-close-p opacity-70 transition-colors hover:text-danger hover:opacity-100 focus:text-danger">
18
+ <XIcon />
19
+ </button>
20
+ </nav>
21
+ <motion.header layout className="flex w-full flex-wrap items-center justify-between gap-list-header-gap">
22
+ <h3 className="min-w-full text-balance text-list-title-text font-medium">{item.title}</h3>
23
+ <p className="text-typography-sm leading-snug text-secondary">{item.description}</p>
24
+ </motion.header>
25
+ <motion.div layout>{item.children}</motion.div>
26
+ </motion.div>
27
+ </FloatingFocusManager>
28
+ </FloatingOverlay>) : null}
29
+ </AnimatePresence>
30
+ </MotionConfig>
31
+ </FloatingPortal>);
32
+ };
29
33
  export const AnimatedList = (props) => {
34
+ const translations = useTranslations();
30
35
  const [selected, setSelected] = useState(null);
31
36
  const id = useId();
32
37
  const { context, refs } = useFloating({
@@ -60,14 +65,14 @@ export const AnimatedList = (props) => {
60
65
  <Fragment>
61
66
  {item.avatar ? (<div>
62
67
  <div className="relative px-list-avatar-px">
63
- <button onClick={setter} className="flex size-10 items-center justify-center ring-primary">
68
+ <button type="button" onClick={setter} aria-label={translations.listOpenDetails(String(item.title))} className="flex size-10 items-center justify-center ring-primary">
64
69
  {item.avatar}
65
70
  </button>
66
71
  </div>
67
72
  </div>) : null}
68
73
  <div className="min-w-0 flex-1 py-list-body-py text-foreground">
69
74
  <div className="flex flex-row flex-nowrap justify-between gap-list-item-gap">
70
- <button onClick={setter} className="cursor-pointer text-left transition-all ease-out hover:text-primary">
75
+ <button type="button" onClick={setter} aria-label={translations.listOpenDetails(String(item.title))} className="cursor-pointer text-left transition-all ease-out hover:text-primary">
71
76
  <h3>{item.title}</h3>
72
77
  <p className="text-typography-sm leading-snug text-secondary">{item.description}</p>
73
78
  </button>
@@ -1 +1 @@
1
- {"version":3,"file":"notifications.d.ts","sourceRoot":"","sources":["../../../src/components/display/notifications.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGlE,OAAO,EAAiB,KAAK,iBAAiB,EAAmC,MAAM,OAAO,CAAC;AAG/F,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,QAAA,MAAM,QAAQ;;8EAgBb,CAAC;AAYF,KAAK,mBAAmB,GAAG,OAAO,CAAC;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,YAAY,CAAC,OAAO,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;CACjD,CAAC,CAAC;AAQH,KAAK,sBAAsB,GAAG;IAAE,KAAK,EAAE,MAAM,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,IAAI,CAAA;CAAE,CAAC;AAEvE,KAAK,eAAe,GAAG,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,mBAAmB,KAAK,sBAAsB,CAAC;AAMlG,eAAO,MAAM,eAAe,uBAAwC,CAAC;AAkDrE,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AA0F1E,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,GAAO,EAAE,OAAc,EAAE,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,+BAMxG"}
1
+ {"version":3,"file":"notifications.d.ts","sourceRoot":"","sources":["../../../src/components/display/notifications.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGlE,OAAO,EAAiB,KAAK,iBAAiB,EAAmC,MAAM,OAAO,CAAC;AAG/F,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,QAAA,MAAM,QAAQ;;8EAgBb,CAAC;AAYF,KAAK,mBAAmB,GAAG,OAAO,CAAC;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,YAAY,CAAC,OAAO,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;CACjD,CAAC,CAAC;AAQH,KAAK,sBAAsB,GAAG;IAAE,KAAK,EAAE,MAAM,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,IAAI,CAAA;CAAE,CAAC;AAEvE,KAAK,eAAe,GAAG,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,mBAAmB,KAAK,sBAAsB,CAAC;AAMlG,eAAO,MAAM,eAAe,uBAAwC,CAAC;AAoDrE,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AA0F1E,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,GAAO,EAAE,OAAc,EAAE,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,+BAMxG"}
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import { n as e, t } from "../../notifications-MT4XkLov.js";
2
+ import { n as e, t } from "../../notifications-NhCESJUV.js";
3
3
  export { t as Notifications, e as useNotification };
@@ -47,17 +47,19 @@ function Notification(props) {
47
47
  }} className="pointer-events-auto w-full list-none">
48
48
  <Base.Content className={className}>
49
49
  <div className="flex items-start gap-notification-gap p-notification-p">
50
- <div className={css("mt-0.5 shrink-0 opacity-80", loading && "animate-spin")}>
51
- <Icon className="size-4"/>
50
+ <div className={css("mt-0.5 flex size-4 shrink-0 items-center justify-center opacity-80", loading && "animate-spin")}>
51
+ <Icon aria-hidden="true"/>
52
52
  </div>
53
53
 
54
54
  <div className="flex flex-1 flex-col gap-notification-inner-gap overflow-hidden">
55
55
  {props.toast.title ? <Base.Title className="select-text truncate font-semibold leading-tight tracking-tight"/> : null}
56
- <Base.Description className="line-clamp-2 select-text text-typography-xs font-medium leading-relaxed opacity-90"/>
56
+ <Base.Description className="text-typography-xs line-clamp-2 select-text font-medium leading-relaxed opacity-90"/>
57
57
  </div>
58
58
 
59
- {closable && !loading ? (<Base.Close className="rounded-notification-close-radius -mr-1 -mt-1 shrink-0 p-notification-close-p text-foreground/40 transition hover:bg-foreground/10 hover:text-foreground">
60
- <XIcon className="size-3.5"/>
59
+ {closable && !loading ? (<Base.Close className="-mr-1 -mt-1 shrink-0 rounded-notification-close-radius p-notification-close-p text-foreground/40 transition hover:bg-foreground/10 hover:text-foreground">
60
+ <span className="flex size-3.5 items-center justify-center">
61
+ <XIcon aria-hidden="true"/>
62
+ </span>
61
63
  </Base.Close>) : null}
62
64
  </div>
63
65
  </Base.Content>
@@ -76,7 +78,7 @@ function NotificationsViewport({ max = 5 }) {
76
78
  {visibleToasts.map((toast) => (<Notification key={toast.id} toast={toast}/>))}
77
79
  </AnimatePresence>
78
80
 
79
- {!hover && hiddenCount > 0 && (<motion.div layout initial={{ opacity: 0, y: -10 }} animate={{ opacity: 1, y: 0 }} exit={{ opacity: 0, y: -10 }} className="pointer-events-auto cursor-default self-center rounded-full border border-card-border bg-card-background/80 px-notification-badge-px py-notification-badge-py text-notification-badge-text font-bold uppercase tracking-wider text-foreground/50 shadow-notification backdrop-blur transition-all hover:bg-card-background hover:text-foreground/80">
81
+ {!hover && hiddenCount > 0 && (<motion.div layout initial={{ opacity: 0, y: -10 }} animate={{ opacity: 1, y: 0 }} exit={{ opacity: 0, y: -10 }} className="shadow-notification pointer-events-auto cursor-default self-center rounded-full border border-card-border bg-card-background/80 px-notification-badge-px py-notification-badge-py text-notification-badge-text font-bold uppercase tracking-wider text-foreground/50 backdrop-blur transition-all hover:bg-card-background hover:text-foreground/80">
80
82
  +{hiddenCount} more
81
83
  </motion.div>)}
82
84
  </Base.Viewport>);
@@ -1 +1 @@
1
- {"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../../src/components/display/progress.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,KAAK,aAAa,GAAG;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAKF,eAAO,MAAM,QAAQ,GAAI,OAAO,eAAe,CAAC,aAAa,CAAC,gCAuC7D,CAAC"}
1
+ {"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../../src/components/display/progress.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,KAAK,aAAa,GAAG;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAIF,eAAO,MAAM,QAAQ,GAAI,OAAO,eAAe,CAAC,aAAa,CAAC,gCA6B7D,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use client";
2
+ import { t as e } from "../../progress-8LO5gWLp.js";
3
+ export { e as Progress };
@@ -9,13 +9,11 @@ export const Progress = (props) => {
9
9
  const range = max - min;
10
10
  const rawValue = props.value ?? props.percent;
11
11
  const hasValue = Is.number(rawValue) && range > 0;
12
- const percent = hasValue
13
- ? clamp(((rawValue - min) / range) * 100, 0, 100)
14
- : null;
12
+ const percent = hasValue ? clamp(((rawValue - min) / range) * 100, 0, 100) : null;
15
13
  return (<RadixProgress.Root min={min} max={max} value={hasValue ? rawValue : null} style={{ transform: "translateZ(0)" }} className={css("relative h-progress-track-h w-full overflow-hidden rounded-progress-radius bg-background", props.container)}>
16
- <RadixProgress.Indicator className={css("h-full bg-primary transition-[width] duration-500 ease-in-out", props.className)}/>
17
- {percent !== null ? (<p className={css("absolute inset-0 flex w-full items-center justify-center font-semibold tabular-nums text-primary-foreground", props.textClassName)}>
18
- {props.label ? props.label : `${Math.round(percent)} %`}
19
- </p>) : null}
20
- </RadixProgress.Root>);
14
+ <RadixProgress.Indicator className={css("h-full bg-primary transition-[width] duration-500 ease-in-out", props.className)}/>
15
+ {percent !== null ? (<p className={css("absolute inset-0 flex w-full items-center justify-center font-semibold tabular-nums text-primary-foreground", props.textClassName)}>
16
+ {props.label ? props.label : `${Math.round(percent)} %`}
17
+ </p>) : null}
18
+ </RadixProgress.Root>);
21
19
  };
@@ -0,0 +1,2 @@
1
+ import { t as e } from "../../shortcut-CQCmgmlU.js";
2
+ export { e as Shortcut };
@@ -0,0 +1,41 @@
1
+ import { t as e } from "../../dom-Bn4wY_Zx.js";
2
+ import { Polymorph as t } from "../core/polymorph.js";
3
+ import { t as n } from "../../use-translations-BE4PuhLm.js";
4
+ import { useRef as r } from "react";
5
+ import { jsx as i } from "react/jsx-runtime";
6
+ //#region src/components/display/skeleton.tsx
7
+ var a = /* @__PURE__ */ i("div", {
8
+ role: "status",
9
+ "aria-busy": "true",
10
+ "aria-label": "Loading content",
11
+ className: "h-skeleton-cell-h w-10/12 animate-pulse rounded-skeleton-radius bg-muted"
12
+ }), o = (r) => {
13
+ let a = n();
14
+ return /* @__PURE__ */ i(t, {
15
+ ...r,
16
+ role: "status",
17
+ "aria-busy": "true",
18
+ "aria-label": a.skeletonLoading,
19
+ as: r.as || "span",
20
+ className: e("block h-skeleton-height w-skeleton-width animate-pulse rounded-skeleton-radius bg-muted", r.className)
21
+ });
22
+ }, s = (t) => {
23
+ let a = n(), s = r(Array.from({ length: t.rows }).map((e, t) => {
24
+ let n = Math.max(100, Math.random() * 99);
25
+ return /* @__PURE__ */ i(o, {
26
+ style: { width: `${n}%` },
27
+ as: "li"
28
+ }, `skeleton-${n}-${t}`);
29
+ }));
30
+ return /* @__PURE__ */ i("ul", {
31
+ role: "status",
32
+ "aria-busy": "true",
33
+ "aria-label": a.skeletonLoading,
34
+ className: e("flex flex-col gap-skeleton-list-gap", t.className),
35
+ children: s.current
36
+ });
37
+ };
38
+ //#endregion
39
+ export { o as Skeleton, a as SkeletonCell, s as SkeletonList };
40
+
41
+ //# sourceMappingURL=skeleton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skeleton.js","names":[],"sources":["../../../src/components/display/skeleton.tsx"],"sourcesContent":["import React, { CSSProperties, useRef, type ElementType } from \"react\";\nimport { useTranslations } from \"../../hooks/use-translations\";\nimport { css } from \"../../lib/dom\";\nimport { Polymorph } from \"../core/polymorph\";\n\nexport const SkeletonCell = (\n <div\n role=\"status\"\n aria-busy=\"true\"\n aria-label=\"Loading content\"\n className=\"h-skeleton-cell-h w-10/12 animate-pulse rounded-skeleton-radius bg-muted\"\n />\n);\n\nexport const Skeleton = (props: { className?: string; as?: ElementType; style?: CSSProperties }) => {\n const t = useTranslations();\n return (\n <Polymorph\n {...props}\n role=\"status\"\n aria-busy=\"true\"\n aria-label={t.skeletonLoading}\n as={props.as || \"span\"}\n className={css(\"block h-skeleton-height w-skeleton-width animate-pulse rounded-skeleton-radius bg-muted\", props.className)}\n />\n );\n};\n\nexport const SkeletonList = (props: { className?: string; rows: number }) => {\n const t = useTranslations();\n const items = useRef(\n Array.from({ length: props.rows }).map((_, i) => {\n const rand = Math.max(100, Math.random() * 99);\n return <Skeleton key={`skeleton-${rand}-${i}`} style={{ width: `${rand}%` }} as=\"li\" />;\n })\n );\n return (\n <ul role=\"status\" aria-busy=\"true\" aria-label={t.skeletonLoading} className={css(\"flex flex-col gap-skeleton-list-gap\", props.className)}>\n {items.current}\n </ul>\n );\n};\n"],"mappings":";;;;;;AAKA,IAAa,IACT,kBAAC,OAAD;CACI,MAAK;CACL,aAAU;CACV,cAAW;CACX,WAAU;AACb,CAAA,GAGQ,KAAY,MAA2E;CAChG,IAAM,IAAI,EAAgB;CAC1B,OACI,kBAAC,GAAD;EACI,GAAI;EACJ,MAAK;EACL,aAAU;EACV,cAAY,EAAE;EACd,IAAI,EAAM,MAAM;EAChB,WAAW,EAAI,2FAA2F,EAAM,SAAS;CAC5H,CAAA;AAET,GAEa,KAAgB,MAAgD;CACzE,IAAM,IAAI,EAAgB,GACpB,IAAQ,EACV,MAAM,KAAK,EAAE,QAAQ,EAAM,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM;EAC7C,IAAM,IAAO,KAAK,IAAI,KAAK,KAAK,OAAO,IAAI,EAAE;EAC7C,OAAO,kBAAC,GAAD;GAAwC,OAAO,EAAE,OAAO,GAAG,EAAK,GAAG;GAAG,IAAG;EAAM,GAAhE,YAAY,EAAK,GAAG,GAA4C;CAC1F,CAAC,CACL;CACA,OACI,kBAAC,MAAD;EAAI,MAAK;EAAS,aAAU;EAAO,cAAY,EAAE;EAAiB,WAAW,EAAI,uCAAuC,EAAM,SAAS;YAClI,EAAM;CACP,CAAA;AAEZ"}
@@ -0,0 +1,17 @@
1
+ import { t as e } from "../../dom-Bn4wY_Zx.js";
2
+ import { t } from "../../use-translations-BE4PuhLm.js";
3
+ import { jsx as n } from "react/jsx-runtime";
4
+ //#region src/components/display/spinner.tsx
5
+ var r = (r) => /* @__PURE__ */ n("span", {
6
+ role: "status",
7
+ "aria-live": "polite",
8
+ "aria-label": t().spinnerLoading,
9
+ className: e("box-border inline-block aspect-square size-spinner-size animate-spin rounded-full border-spinner-border border-background border-b-primary", r.className)
10
+ }), i = () => /* @__PURE__ */ n("div", {
11
+ className: "flex h-full w-full items-center justify-center p-spinner-container-p",
12
+ children: /* @__PURE__ */ n(r, {})
13
+ });
14
+ //#endregion
15
+ export { i as Loading, r as Spinner };
16
+
17
+ //# sourceMappingURL=spinner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spinner.js","names":[],"sources":["../../../src/components/display/spinner.tsx"],"sourcesContent":["import { useTranslations } from \"../../hooks/use-translations\";\nimport { css } from \"../../lib/dom\";\n\nexport const Spinner = (props: { className?: string }) => {\n const t = useTranslations();\n return (\n <span\n role=\"status\"\n aria-live=\"polite\"\n aria-label={t.spinnerLoading}\n className={css(\n \"box-border inline-block aspect-square size-spinner-size animate-spin rounded-full border-spinner-border border-background border-b-primary\",\n props.className\n )}\n />\n );\n};\n\nexport const Loading = () => {\n return (\n <div className=\"flex h-full w-full items-center justify-center p-spinner-container-p\">\n <Spinner />\n </div>\n );\n};\n"],"mappings":";;;;AAGA,IAAa,KAAW,MAGhB,kBAAC,QAAD;CACI,MAAK;CACL,aAAU;CACV,cALE,EAKU,EAAE;CACd,WAAW,EACP,8IACA,EAAM,SACV;AACH,CAAA,GAII,UAEL,kBAAC,OAAD;CAAK,WAAU;WACX,kBAAC,GAAD,CAAU,CAAA;AACT,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"step.d.ts","sourceRoot":"","sources":["../../../src/components/display/step.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAA2C,iBAAiB,EAA2C,MAAM,OAAO,CAAC;AAEnI,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAUpC,KAAK,gBAAgB,GAAG;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC;AAoCF,KAAK,UAAU,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,GAAG,OAAO,CAAC;AAE/D,MAAM,MAAM,SAAS,GAAG,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAgCF,eAAO,MAAM,cAAc,+BAAgC,CAAC;AAE5D,eAAO,MAAM,IAAI,GAAI,gEAAgE,SAAS,sBA6F7F,CAAC;AAEF,eAAO,MAAM,KAAK,GAAI,OAAO,iBAAiB,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,sBA0BrF,CAAC"}
1
+ {"version":3,"file":"step.d.ts","sourceRoot":"","sources":["../../../src/components/display/step.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAA2C,iBAAiB,EAA2C,MAAM,OAAO,CAAC;AAEnI,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAUpC,KAAK,gBAAgB,GAAG;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC;AA8CF,KAAK,UAAU,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,GAAG,OAAO,CAAC;AAE/D,MAAM,MAAM,SAAS,GAAG,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAgCF,eAAO,MAAM,cAAc,+BAAgC,CAAC;AAE5D,eAAO,MAAM,IAAI,GAAI,gEAAgE,SAAS,sBA8F7F,CAAC;AAEF,eAAO,MAAM,KAAK,GAAI,OAAO,iBAAiB,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,sBA0BrF,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use client";
2
+ import { n as e, r as t, t as n } from "../../step-DFpJ7zCG.js";
3
+ export { n as Step, e as Steps, t as useStepContext };