@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.
- package/dist/AnimatePresence-j36AYeOQ.js +181 -0
- package/dist/AnimatePresence-j36AYeOQ.js.map +1 -0
- package/dist/Calendar.es-xICmgvjq.js +23 -0
- package/dist/Calendar.es-xICmgvjq.js.map +1 -0
- package/dist/Funnel.es-DjKVl8Nj.js +23 -0
- package/dist/Funnel.es-DjKVl8Nj.js.map +1 -0
- package/dist/{MotionConfig-DKKYqBH2.js → MotionConfig-CXHoPGbK.js} +2 -2
- package/dist/{MotionConfig-DKKYqBH2.js.map → MotionConfig-CXHoPGbK.js.map} +1 -1
- package/dist/Plus.es-DbyRkEE2.js +23 -0
- package/dist/Plus.es-DbyRkEE2.js.map +1 -0
- package/dist/Trash.es-BFAc8PMf.js +23 -0
- package/dist/Trash.es-BFAc8PMf.js.map +1 -0
- package/dist/{calendar-PCCZDUIL.js → calendar-DEPkz8sw.js} +364 -502
- package/dist/calendar-DEPkz8sw.js.map +1 -0
- package/dist/calendar-header-Dfr-CwkY.js +174 -0
- package/dist/calendar-header-Dfr-CwkY.js.map +1 -0
- package/dist/chunk-jwUa06l-.js +23 -0
- package/dist/components/core/button.js +1 -1
- package/dist/components/core/heading.js +11 -0
- package/dist/components/core/heading.js.map +1 -0
- package/dist/{polymorph-BLXhrn9n.js → components/core/polymorph.js} +2 -2
- package/dist/components/core/polymorph.js.map +1 -0
- package/dist/components/core/render-on-view.js +29 -0
- package/dist/components/core/render-on-view.js.map +1 -0
- package/dist/components/core/resizable.d.ts +7 -1
- package/dist/components/core/resizable.d.ts.map +1 -1
- package/dist/components/core/resizable.js +60 -0
- package/dist/components/core/resizable.js.map +1 -0
- package/dist/components/core/resizable.jsx +46 -40
- package/dist/{slot-pC8kH9De.js → components/core/slot.js} +2 -2
- package/dist/components/core/slot.js.map +1 -0
- package/dist/components/core/tag.js +1 -1
- package/dist/components/core/typography.js +40 -0
- package/dist/components/core/typography.js.map +1 -0
- package/dist/components/display/alert.d.ts.map +1 -1
- package/dist/components/display/alert.js +83 -102
- package/dist/components/display/alert.js.map +1 -1
- package/dist/components/display/alert.jsx +26 -29
- package/dist/components/display/calendar.d.ts.map +1 -1
- package/dist/components/display/calendar.js +1 -1
- package/dist/components/display/calendar.jsx +15 -10
- package/dist/components/display/card.js +2 -2
- package/dist/components/display/empty.d.ts.map +1 -1
- package/dist/components/display/empty.js +25 -0
- package/dist/components/display/empty.js.map +1 -0
- package/dist/components/display/empty.jsx +3 -1
- package/dist/components/display/list.d.ts.map +1 -1
- package/dist/components/display/list.js +132 -122
- package/dist/components/display/list.js.map +1 -1
- package/dist/components/display/list.jsx +30 -25
- package/dist/components/display/notifications.d.ts.map +1 -1
- package/dist/components/display/notifications.js +1 -1
- package/dist/components/display/notifications.jsx +8 -6
- package/dist/components/display/progress.d.ts.map +1 -1
- package/dist/components/display/progress.js +3 -0
- package/dist/components/display/progress.jsx +6 -8
- package/dist/components/display/shortcut.js +2 -0
- package/dist/components/display/skeleton.js +41 -0
- package/dist/components/display/skeleton.js.map +1 -0
- package/dist/components/display/spinner.js +17 -0
- package/dist/components/display/spinner.js.map +1 -0
- package/dist/components/display/step.d.ts.map +1 -1
- package/dist/components/display/step.js +3 -0
- package/dist/components/display/step.jsx +5 -5
- package/dist/components/display/tabs.js +1 -1
- package/dist/components/display/timeline.js +1 -1
- package/dist/components/floating/command-palette.d.ts.map +1 -1
- package/dist/components/floating/command-palette.js +255 -0
- package/dist/components/floating/command-palette.js.map +1 -0
- package/dist/components/floating/command-palette.jsx +34 -25
- package/dist/components/floating/dropdown.js +1 -1
- package/dist/components/floating/dropdown.js.map +1 -1
- package/dist/components/floating/dropdown.jsx +1 -1
- package/dist/components/floating/expand.js +15 -14
- package/dist/components/floating/expand.js.map +1 -1
- package/dist/components/floating/menu.js +1 -1
- package/dist/components/floating/modal.d.ts +14 -11
- package/dist/components/floating/modal.d.ts.map +1 -1
- package/dist/components/floating/modal.js +1 -1
- package/dist/components/floating/modal.jsx +56 -17
- package/dist/components/floating/toolbar.d.ts +3 -3
- package/dist/components/floating/toolbar.d.ts.map +1 -1
- package/dist/components/floating/toolbar.js +20 -0
- package/dist/components/floating/toolbar.js.map +1 -0
- package/dist/components/floating/toolbar.jsx +7 -3
- package/dist/components/floating/tooltip.js +2 -2
- package/dist/components/floating/tooltip.js.map +1 -1
- package/dist/components/floating/tooltip.jsx +1 -1
- package/dist/components/floating/wizard.js +3 -0
- package/dist/components/form/autocomplete.d.ts.map +1 -1
- package/dist/components/form/autocomplete.js +344 -2
- package/dist/components/form/autocomplete.js.map +1 -0
- package/dist/components/form/autocomplete.jsx +27 -18
- package/dist/components/form/checkbox.d.ts.map +1 -1
- package/dist/components/form/checkbox.js +29 -27
- package/dist/components/form/checkbox.js.map +1 -1
- package/dist/components/form/checkbox.jsx +21 -6
- package/dist/components/form/date-picker.js +1 -1
- package/dist/components/form/date-picker.jsx +1 -1
- package/dist/components/form/file-upload.d.ts +6 -1
- package/dist/components/form/file-upload.d.ts.map +1 -1
- package/dist/components/form/file-upload.js +1 -1
- package/dist/components/form/file-upload.jsx +34 -12
- package/dist/components/form/formReset.js +10 -0
- package/dist/components/form/formReset.js.map +1 -0
- package/dist/components/form/free-text.js +70 -0
- package/dist/components/form/free-text.js.map +1 -0
- package/dist/components/form/free-text.jsx +1 -1
- package/dist/components/form/input-field.d.ts.map +1 -1
- package/dist/components/form/input-field.js +3 -0
- package/dist/components/form/input-field.jsx +14 -8
- package/dist/components/form/input.js +1 -1
- package/dist/components/form/multi-select.d.ts.map +1 -1
- package/dist/components/form/multi-select.js +420 -0
- package/dist/components/form/multi-select.js.map +1 -0
- package/dist/components/form/multi-select.jsx +41 -33
- package/dist/components/form/select.d.ts.map +1 -1
- package/dist/components/form/select.js +55 -51
- package/dist/components/form/select.js.map +1 -1
- package/dist/components/form/select.jsx +8 -5
- package/dist/components/form/slider.js +3 -0
- package/dist/components/form/switch.d.ts +2 -1
- package/dist/components/form/switch.d.ts.map +1 -1
- package/dist/components/form/switch.js +32 -26
- package/dist/components/form/switch.js.map +1 -1
- package/dist/components/form/switch.jsx +26 -13
- package/dist/components/form/textarea.js +19 -0
- package/dist/components/form/textarea.js.map +1 -0
- package/dist/components/page-calendar/calendar-header.d.ts.map +1 -1
- package/dist/components/page-calendar/calendar-header.js +2 -0
- package/dist/components/page-calendar/calendar-header.jsx +6 -4
- package/dist/components/page-calendar/day-view.js +124 -0
- package/dist/components/page-calendar/day-view.js.map +1 -0
- package/dist/components/page-calendar/event-pill.js +44 -0
- package/dist/components/page-calendar/event-pill.js.map +1 -0
- package/dist/components/page-calendar/month-view.d.ts.map +1 -1
- package/dist/components/page-calendar/month-view.js +109 -0
- package/dist/components/page-calendar/month-view.js.map +1 -0
- package/dist/components/page-calendar/month-view.jsx +78 -31
- package/dist/components/page-calendar/page-calendar.d.ts.map +1 -1
- package/dist/components/page-calendar/page-calendar.js +75 -0
- package/dist/components/page-calendar/page-calendar.js.map +1 -0
- package/dist/components/page-calendar/page-calendar.jsx +2 -2
- package/dist/components/page-calendar/week-view.js +88 -0
- package/dist/components/page-calendar/week-view.js.map +1 -0
- package/dist/components/table/filter.d.ts.map +1 -1
- package/dist/components/table/filter.js +239 -0
- package/dist/components/table/filter.js.map +1 -0
- package/dist/components/table/filter.jsx +9 -4
- package/dist/components/table/group.d.ts.map +1 -1
- package/dist/components/table/group.js +3 -0
- package/dist/components/table/group.jsx +5 -3
- package/dist/components/table/index.js +102 -0
- package/dist/components/table/index.js.map +1 -0
- package/dist/components/table/inner-table.js +2 -0
- package/dist/components/table/inner-table.jsx +1 -1
- package/dist/components/table/metadata.js +73 -0
- package/dist/components/table/metadata.js.map +1 -0
- package/dist/components/table/metadata.jsx +1 -1
- package/dist/components/table/pagination.js +70 -0
- package/dist/components/table/pagination.js.map +1 -0
- package/dist/components/table/row.js +58 -0
- package/dist/components/table/row.js.map +1 -0
- package/dist/components/table/sort.d.ts.map +1 -1
- package/dist/components/table/sort.js +3 -0
- package/dist/components/table/sort.jsx +3 -1
- package/dist/components/table/thead.js +3 -0
- package/dist/config/default-translations.d.ts +18 -0
- package/dist/config/default-translations.d.ts.map +1 -1
- package/dist/config/default-translations.jsx +18 -0
- package/dist/{use-translations-DTLfPE3_.js → context-CsnUsfeP.js} +55 -40
- package/dist/context-CsnUsfeP.js.map +1 -0
- package/dist/{date-picker-BhKEFZew.js → date-picker-DNzupG8R.js} +301 -317
- package/dist/date-picker-DNzupG8R.js.map +1 -0
- package/dist/dict-CisoYSMO.js +28 -0
- package/dist/dict-CisoYSMO.js.map +1 -0
- package/dist/dist-ChfJ5LO9.js +498 -0
- package/dist/dist-ChfJ5LO9.js.map +1 -0
- package/dist/{dist-BrGpYRaj.js → dist-DIjUECx9.js} +56 -56
- package/dist/{dist-BrGpYRaj.js.map → dist-DIjUECx9.js.map} +1 -1
- package/dist/dom-Bn4wY_Zx.js.map +1 -1
- package/dist/{file-upload-DWbZfeG5.js → file-upload-C2zNnv9n.js} +501 -481
- package/dist/{file-upload-DWbZfeG5.js.map → file-upload-C2zNnv9n.js.map} +1 -1
- package/dist/fzf-CPGDDCoU.js +64 -0
- package/dist/fzf-CPGDDCoU.js.map +1 -0
- package/dist/getISOWeek-EcB4Ebqp.js +72 -0
- package/dist/getISOWeek-EcB4Ebqp.js.map +1 -0
- package/dist/group-Dl14TJXO.js +222 -0
- package/dist/group-Dl14TJXO.js.map +1 -0
- package/dist/hooks/use-translations.d.ts +18 -0
- package/dist/hooks/use-translations.d.ts.map +1 -1
- package/dist/index.css +1 -1
- package/dist/index.js.map +1 -1
- package/dist/inner-table-CeDX60cL.js +151 -0
- package/dist/inner-table-CeDX60cL.js.map +1 -0
- package/dist/input-Cmyuea4Y.js +412 -0
- package/dist/input-Cmyuea4Y.js.map +1 -0
- package/dist/{input-field-B_whI66Q.js → input-field-ffx1MbHo.js} +29 -16
- package/dist/input-field-ffx1MbHo.js.map +1 -0
- package/dist/isSameMonth-C3lsSwcg.js +10 -0
- package/dist/isSameMonth-C3lsSwcg.js.map +1 -0
- package/dist/isToday-COXfxFui.js +32 -0
- package/dist/isToday-COXfxFui.js.map +1 -0
- package/dist/lib/dom.d.ts.map +1 -1
- package/dist/modal-Df8-6i-o.js +408 -0
- package/dist/modal-Df8-6i-o.js.map +1 -0
- package/dist/notifications-NhCESJUV.js +1697 -0
- package/dist/notifications-NhCESJUV.js.map +1 -0
- package/dist/page-calendar.utils-Bd0PHktL.js +102 -0
- package/dist/page-calendar.utils-Bd0PHktL.js.map +1 -0
- package/dist/preset/preset.tailwind.d.ts.map +1 -1
- package/dist/preset/preset.tailwind.js +6 -7
- package/dist/preset/src/styles/dark.js +1 -1
- package/dist/progress-8LO5gWLp.js +104 -0
- package/dist/progress-8LO5gWLp.js.map +1 -0
- package/dist/{proxy-BcJ_5Dwq.js → proxy-fP2NxmhM.js} +658 -844
- package/dist/proxy-fP2NxmhM.js.map +1 -0
- package/dist/shim-Czv-YhKR.js +93 -0
- package/dist/shim-Czv-YhKR.js.map +1 -0
- package/dist/shortcut-CQCmgmlU.js +100 -0
- package/dist/shortcut-CQCmgmlU.js.map +1 -0
- package/dist/slider-TX9hiHO-.js +1196 -0
- package/dist/slider-TX9hiHO-.js.map +1 -0
- package/dist/sort-DGmiselV.js +195 -0
- package/dist/sort-DGmiselV.js.map +1 -0
- package/dist/step-DFpJ7zCG.js +185 -0
- package/dist/step-DFpJ7zCG.js.map +1 -0
- package/dist/styles/dark.js +1 -1
- package/dist/subMonths-QcCnE3Yh.js +43 -0
- package/dist/subMonths-QcCnE3Yh.js.map +1 -0
- package/dist/table-lib-1bkYSklk.js +174 -0
- package/dist/table-lib-1bkYSklk.js.map +1 -0
- package/dist/{tabs-Ciy0l9OF.js → tabs-Brc963EW.js} +2 -2
- package/dist/{tabs-Ciy0l9OF.js.map → tabs-Brc963EW.js.map} +1 -1
- package/dist/thead-B6WELJZ-.js +211 -0
- package/dist/thead-B6WELJZ-.js.map +1 -0
- package/dist/use-locale-DPM_sg4s.js +12 -0
- package/dist/use-locale-DPM_sg4s.js.map +1 -0
- package/dist/use-remove-scroll-pAgC09Sq.js +38 -0
- package/dist/use-remove-scroll-pAgC09Sq.js.map +1 -0
- package/dist/use-translations-BE4PuhLm.js +11 -0
- package/dist/use-translations-BE4PuhLm.js.map +1 -0
- package/dist/useAnimationFrame-DnKbaXfi.js +223 -0
- package/dist/useAnimationFrame-DnKbaXfi.js.map +1 -0
- package/dist/valueToPercent-DZc_m1tm.js +43 -0
- package/dist/valueToPercent-DZc_m1tm.js.map +1 -0
- package/dist/visuallyHidden-B7wI86yi.js +303 -0
- package/dist/visuallyHidden-B7wI86yi.js.map +1 -0
- package/dist/with-selector-BFW5n-pb.js +102 -0
- package/dist/with-selector-BFW5n-pb.js.map +1 -0
- package/dist/wizard-7u_qZ-78.js +218 -0
- package/dist/wizard-7u_qZ-78.js.map +1 -0
- package/package.json +19 -11
- package/dist/autocomplete-D3VOTihi.js +0 -415
- package/dist/autocomplete-D3VOTihi.js.map +0 -1
- package/dist/calendar-PCCZDUIL.js.map +0 -1
- package/dist/components/table/table.js +0 -3
- package/dist/date-picker-BhKEFZew.js.map +0 -1
- package/dist/input-B7jqwPG4.js +0 -473
- package/dist/input-B7jqwPG4.js.map +0 -1
- package/dist/input-field-B_whI66Q.js.map +0 -1
- package/dist/modal-Bz-61ays.js +0 -373
- package/dist/modal-Bz-61ays.js.map +0 -1
- package/dist/notifications-MT4XkLov.js +0 -2203
- package/dist/notifications-MT4XkLov.js.map +0 -1
- package/dist/polymorph-BLXhrn9n.js.map +0 -1
- package/dist/proxy-BcJ_5Dwq.js.map +0 -1
- package/dist/skeleton-CBYEq3lM.js +0 -26
- package/dist/skeleton-CBYEq3lM.js.map +0 -1
- package/dist/slot-pC8kH9De.js.map +0 -1
- package/dist/table-CUFbAI2k.js +0 -1914
- package/dist/table-CUFbAI2k.js.map +0 -1
- package/dist/use-translations-DTLfPE3_.js.map +0 -1
|
@@ -1,153 +1,163 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
3
|
-
import { t
|
|
4
|
-
import { a as
|
|
5
|
-
import { t as
|
|
6
|
-
import
|
|
7
|
-
import {
|
|
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
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
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
|
-
|
|
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
|
-
}
|
|
84
|
-
})
|
|
85
|
-
}
|
|
86
|
-
let
|
|
87
|
-
open:
|
|
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 :
|
|
90
|
-
}), { getFloatingProps:
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
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
|
-
]),
|
|
99
|
-
|
|
100
|
-
}, []),
|
|
101
|
-
return /* @__PURE__ */
|
|
102
|
-
refs:
|
|
103
|
-
context:
|
|
104
|
-
get:
|
|
105
|
-
item:
|
|
106
|
-
setter:
|
|
107
|
-
}), /* @__PURE__ */
|
|
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:
|
|
110
|
-
let
|
|
111
|
-
...
|
|
112
|
-
id:
|
|
113
|
-
}),
|
|
114
|
-
return /* @__PURE__ */
|
|
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-${
|
|
122
|
+
layoutId: `item-${i}`,
|
|
117
123
|
className: "border-b border-card-border py-list-item-py last:border-transparent",
|
|
118
|
-
children: /* @__PURE__ */
|
|
119
|
-
layoutId: `toast-${
|
|
124
|
+
children: /* @__PURE__ */ v(u.div, {
|
|
125
|
+
layoutId: `toast-${i}`,
|
|
120
126
|
className: "relative",
|
|
121
|
-
children: /* @__PURE__ */
|
|
127
|
+
children: /* @__PURE__ */ v("div", {
|
|
122
128
|
className: "relative flex items-start space-x-3",
|
|
123
|
-
children: /* @__PURE__ */
|
|
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__ */
|
|
126
|
-
|
|
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:
|
|
136
|
+
children: r.avatar
|
|
129
137
|
})
|
|
130
|
-
}) }) : null, /* @__PURE__ */
|
|
138
|
+
}) }) : null, /* @__PURE__ */ v("div", {
|
|
131
139
|
className: "min-w-0 flex-1 py-list-body-py text-foreground",
|
|
132
|
-
children: /* @__PURE__ */
|
|
140
|
+
children: /* @__PURE__ */ y("div", {
|
|
133
141
|
className: "flex flex-row flex-nowrap justify-between gap-list-item-gap",
|
|
134
|
-
children: [/* @__PURE__ */
|
|
135
|
-
|
|
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__ */
|
|
147
|
+
children: [/* @__PURE__ */ v("h3", { children: r.title }), /* @__PURE__ */ v("p", {
|
|
138
148
|
className: "text-typography-sm leading-snug text-secondary",
|
|
139
|
-
children:
|
|
149
|
+
children: r.description
|
|
140
150
|
})]
|
|
141
|
-
}),
|
|
151
|
+
}), o ? /* @__PURE__ */ v(o, { open: a }) : null]
|
|
142
152
|
})
|
|
143
153
|
})] })
|
|
144
154
|
})
|
|
145
155
|
})
|
|
146
|
-
},
|
|
156
|
+
}, i);
|
|
147
157
|
})
|
|
148
158
|
})] });
|
|
149
|
-
},
|
|
159
|
+
}, S = (e) => /* @__PURE__ */ v(m, { children: e.children });
|
|
150
160
|
//#endregion
|
|
151
|
-
export {
|
|
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
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
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;
|
|
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"}
|
|
@@ -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
|
|
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
|
|
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="
|
|
60
|
-
<
|
|
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
|
|
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;
|
|
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"}
|
|
@@ -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
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
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,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;
|
|
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"}
|