@g4rcez/components 3.0.0 → 3.0.2
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/MotionConfigContext-C7MqlSdv.js +2713 -0
- package/dist/MotionConfigContext-C7MqlSdv.js.map +1 -0
- package/dist/ai/SKILL.md +266 -0
- package/dist/ai/docs/Alert.md +167 -0
- package/dist/ai/docs/AnimatedList.md +205 -0
- package/dist/ai/docs/Autocomplete.md +225 -0
- package/dist/ai/docs/Button.md +182 -0
- package/dist/ai/docs/Calendar.md +219 -0
- package/dist/ai/docs/Card.md +174 -0
- package/dist/ai/docs/Checkbox.md +199 -0
- package/dist/ai/docs/CommandPalette.md +293 -0
- package/dist/ai/docs/DatePicker.md +171 -0
- package/dist/ai/docs/Dropdown.md +223 -0
- package/dist/ai/docs/Empty.md +163 -0
- package/dist/ai/docs/Expand.md +143 -0
- package/dist/ai/docs/FileUpload.md +225 -0
- package/dist/ai/docs/Form.md +107 -0
- package/dist/ai/docs/FormReset.md +117 -0
- package/dist/ai/docs/Heading.md +88 -0
- package/dist/ai/docs/Input.md +237 -0
- package/dist/ai/docs/InputField.md +170 -0
- package/dist/ai/docs/List.md +205 -0
- package/dist/ai/docs/Menu.md +166 -0
- package/dist/ai/docs/Modal.md +280 -0
- package/dist/ai/docs/MultiSelect.md +196 -0
- package/dist/ai/docs/Notifications.md +231 -0
- package/dist/ai/docs/PageCalendar.md +271 -0
- package/dist/ai/docs/Polymorph.md +159 -0
- package/dist/ai/docs/Progress.md +145 -0
- package/dist/ai/docs/Radiobox.md +128 -0
- package/dist/ai/docs/RenderOnView.md +138 -0
- package/dist/ai/docs/Resizable.md +159 -0
- package/dist/ai/docs/Select.md +284 -0
- package/dist/ai/docs/Shortcut.md +105 -0
- package/dist/ai/docs/Skeleton.md +166 -0
- package/dist/ai/docs/Slider.md +144 -0
- package/dist/ai/docs/Slot.md +173 -0
- package/dist/ai/docs/Spinner.md +118 -0
- package/dist/ai/docs/Stats.md +137 -0
- package/dist/ai/docs/Step.md +159 -0
- package/dist/ai/docs/Switch.md +167 -0
- package/dist/ai/docs/Table.md +298 -0
- package/dist/ai/docs/Tabs.md +191 -0
- package/dist/ai/docs/Tag.md +224 -0
- package/dist/ai/docs/TaskList.md +144 -0
- package/dist/ai/docs/Textarea.md +167 -0
- package/dist/ai/docs/Timeline.md +210 -0
- package/dist/ai/docs/Toolbar.md +132 -0
- package/dist/ai/docs/Tooltip.md +231 -0
- package/dist/ai/docs/TransferList.md +142 -0
- package/dist/ai/docs/Typography.md +187 -0
- package/dist/ai/docs/Wizard.md +213 -0
- package/dist/ai/docs/index.md +183 -0
- package/dist/autocomplete-Boida9R7.js +375 -0
- package/dist/autocomplete-Boida9R7.js.map +1 -0
- package/dist/calendar-BswV66Nx.js +1719 -0
- package/dist/calendar-BswV66Nx.js.map +1 -0
- package/dist/chevron-down-BBFYYzZq.js +6 -0
- package/dist/chevron-down-BBFYYzZq.js.map +1 -0
- package/dist/chevron-right-DvXGOiS_.js +6 -0
- package/dist/chevron-right-DvXGOiS_.js.map +1 -0
- package/dist/circle-check-big-3M5lhTxx.js +9 -0
- package/dist/circle-check-big-3M5lhTxx.js.map +1 -0
- package/dist/components/core/button.js +76 -0
- package/dist/components/core/button.js.map +1 -0
- package/dist/components/core/tag.d.ts +1 -1
- package/dist/components/core/tag.d.ts.map +1 -1
- package/dist/components/core/tag.js +67 -0
- package/dist/components/core/tag.js.map +1 -0
- package/dist/components/display/alert.js +94 -0
- package/dist/components/display/alert.js.map +1 -0
- package/dist/components/display/calendar.js +15 -0
- package/dist/components/display/calendar.js.map +1 -0
- package/dist/components/display/card.js +84 -0
- package/dist/components/display/card.js.map +1 -0
- package/dist/components/display/list.d.ts.map +1 -1
- package/dist/components/display/list.js +93 -0
- package/dist/components/display/list.js.map +1 -0
- package/dist/components/display/notifications.js +15 -0
- package/dist/components/display/notifications.js.map +1 -0
- package/dist/components/display/stats.js +16 -0
- package/dist/components/display/stats.js.map +1 -0
- package/dist/components/display/tabs.js +12 -0
- package/dist/components/display/tabs.js.map +1 -0
- package/dist/components/display/timeline.js +29 -0
- package/dist/components/display/timeline.js.map +1 -0
- package/dist/components/floating/dropdown.d.ts +1 -0
- package/dist/components/floating/dropdown.d.ts.map +1 -1
- package/dist/components/floating/dropdown.js +58 -0
- package/dist/components/floating/dropdown.js.map +1 -0
- package/dist/components/floating/expand.js +41 -0
- package/dist/components/floating/expand.js.map +1 -0
- package/dist/components/floating/menu.d.ts.map +1 -1
- package/dist/components/floating/menu.js +177 -0
- package/dist/components/floating/menu.js.map +1 -0
- package/dist/components/floating/modal.js +297 -0
- package/dist/components/floating/modal.js.map +1 -0
- package/dist/components/floating/tooltip.js +73 -0
- package/dist/components/floating/tooltip.js.map +1 -0
- package/dist/components/form/autocomplete.js +16 -0
- package/dist/components/form/autocomplete.js.map +1 -0
- package/dist/components/form/checkbox.js +44 -0
- package/dist/components/form/checkbox.js.map +1 -0
- package/dist/components/form/date-picker.js +12 -0
- package/dist/components/form/date-picker.js.map +1 -0
- package/dist/components/form/file-upload.js +11 -0
- package/dist/components/form/file-upload.js.map +1 -0
- package/dist/components/form/form.js +8 -0
- package/dist/components/form/form.js.map +1 -0
- package/dist/components/form/input.js +5 -0
- package/dist/components/form/input.js.map +1 -0
- package/dist/components/form/radiobox.js +30 -0
- package/dist/components/form/radiobox.js.map +1 -0
- package/dist/components/form/select.js +106 -0
- package/dist/components/form/select.js.map +1 -0
- package/dist/components/form/switch.js +65 -0
- package/dist/components/form/switch.js.map +1 -0
- package/dist/components/form/task-list.js +68 -0
- package/dist/components/form/task-list.js.map +1 -0
- package/dist/components/form/transfer-list.js +55 -0
- package/dist/components/form/transfer-list.js.map +1 -0
- package/dist/components/table/table.js +10 -0
- package/dist/components/table/table.js.map +1 -0
- package/dist/config/default-translations.d.ts +4 -4
- package/dist/constants-r-AHn273.js +6 -0
- package/dist/constants-r-AHn273.js.map +1 -0
- package/dist/context-BFXNJVn2.js +161 -0
- package/dist/context-BFXNJVn2.js.map +1 -0
- package/dist/createLucideIcon-CP-mMPfa.js +76 -0
- package/dist/createLucideIcon-CP-mMPfa.js.map +1 -0
- package/dist/date-picker-BxPTdZPy.js +1598 -0
- package/dist/date-picker-BxPTdZPy.js.map +1 -0
- package/dist/dom-Dl8XH0CK.js +2833 -0
- package/dist/dom-Dl8XH0CK.js.map +1 -0
- package/dist/file-CBCP85VI.js +15 -0
- package/dist/file-CBCP85VI.js.map +1 -0
- package/dist/file-upload-BB6BdGcE.js +3118 -0
- package/dist/file-upload-BB6BdGcE.js.map +1 -0
- package/dist/floating-ui.react-DycKASR0.js +3706 -0
- package/dist/floating-ui.react-DycKASR0.js.map +1 -0
- package/dist/fns-D2eyJKd5.js +33 -0
- package/dist/fns-D2eyJKd5.js.map +1 -0
- package/dist/hooks/use-translations.d.ts +4 -4
- package/dist/hooks/use-translations.d.ts.map +1 -1
- package/dist/index-0YMC-_Lt.js +20 -0
- package/dist/index-0YMC-_Lt.js.map +1 -0
- package/dist/index-BJ1ayTam.js +126 -0
- package/dist/index-BJ1ayTam.js.map +1 -0
- package/dist/index-BtlhELJ3.js +3416 -0
- package/dist/index-BtlhELJ3.js.map +1 -0
- package/dist/index-ChfR6F8d.js +1590 -0
- package/dist/index-ChfR6F8d.js.map +1 -0
- package/dist/index-DE4shK8D.js +215 -0
- package/dist/index-DE4shK8D.js.map +1 -0
- package/dist/index-DJSMaZR4.js +35 -0
- package/dist/index-DJSMaZR4.js.map +1 -0
- package/dist/index-t1qLJTt5.js +351 -0
- package/dist/index-t1qLJTt5.js.map +1 -0
- package/dist/index.css +1 -1
- package/dist/index.esm-BaIwleSE.js +343 -0
- package/dist/index.esm-BaIwleSE.js.map +1 -0
- package/dist/index.js +8050 -20
- package/dist/index.js.map +1 -1
- package/dist/info-N5jWZg2A.js +10 -0
- package/dist/info-N5jWZg2A.js.map +1 -0
- package/dist/input-CoJoHIhd.js +441 -0
- package/dist/input-CoJoHIhd.js.map +1 -0
- package/dist/input-field-DTeIrwpK.js +146 -0
- package/dist/input-field-DTeIrwpK.js.map +1 -0
- package/dist/notifications-NPuFDsBp.js +2550 -0
- package/dist/notifications-NPuFDsBp.js.map +1 -0
- package/dist/polymorph-B5n9fs_K.js +10 -0
- package/dist/polymorph-B5n9fs_K.js.map +1 -0
- package/dist/proxy-BZcQiBrp.js +2495 -0
- package/dist/proxy-BZcQiBrp.js.map +1 -0
- package/dist/skeleton-D75GFBV6.js +10 -0
- package/dist/skeleton-D75GFBV6.js.map +1 -0
- package/dist/slot-CQW8ZzBb.js +79 -0
- package/dist/slot-CQW8ZzBb.js.map +1 -0
- package/dist/styles/common.js +3 -3
- package/dist/styles/dark.js +4 -4
- package/dist/styles/design-tokens.js +89 -60
- package/dist/styles/light.js +4 -4
- package/dist/styles/theme.js +2 -2
- package/dist/tabs-ccIA7vMo.js +106 -0
- package/dist/tabs-ccIA7vMo.js.map +1 -0
- package/dist/triangle-alert-CHMhQ6yd.js +16 -0
- package/dist/triangle-alert-CHMhQ6yd.js.map +1 -0
- package/dist/use-motion-value-eGwNuWuw.js +14 -0
- package/dist/use-motion-value-eGwNuWuw.js.map +1 -0
- package/dist/use-stable-ref-CYh-YkID.js +11 -0
- package/dist/use-stable-ref-CYh-YkID.js.map +1 -0
- package/dist/use-translations-BwLKTrZv.js +10 -0
- package/dist/use-translations-BwLKTrZv.js.map +1 -0
- package/dist/x-B9bYxG31.js +9 -0
- package/dist/x-B9bYxG31.js.map +1 -0
- package/package.json +6 -7
- package/dist/components/core/button.jsx +0 -79
- package/dist/components/core/heading.jsx +0 -4
- package/dist/components/core/polymorph.jsx +0 -5
- package/dist/components/core/render-on-view.jsx +0 -31
- package/dist/components/core/resizable.jsx +0 -51
- package/dist/components/core/slot.jsx +0 -156
- package/dist/components/core/tag.jsx +0 -51
- package/dist/components/core/typography.jsx +0 -22
- package/dist/components/display/alert.jsx +0 -58
- package/dist/components/display/calendar.jsx +0 -299
- package/dist/components/display/card.jsx +0 -43
- package/dist/components/display/empty.jsx +0 -11
- package/dist/components/display/list.jsx +0 -81
- package/dist/components/display/notifications.jsx +0 -126
- package/dist/components/display/progress.jsx +0 -11
- package/dist/components/display/shortcut.jsx +0 -23
- package/dist/components/display/skeleton.jsx +0 -12
- package/dist/components/display/spinner.jsx +0 -7
- package/dist/components/display/stats.jsx +0 -20
- package/dist/components/display/step.jsx +0 -131
- package/dist/components/display/tabs.jsx +0 -98
- package/dist/components/display/timeline.jsx +0 -25
- package/dist/components/floating/command-palette.jsx +0 -194
- package/dist/components/floating/dropdown.jsx +0 -53
- package/dist/components/floating/expand.jsx +0 -44
- package/dist/components/floating/menu.jsx +0 -147
- package/dist/components/floating/modal.jsx +0 -299
- package/dist/components/floating/toolbar.jsx +0 -5
- package/dist/components/floating/tooltip.jsx +0 -58
- package/dist/components/floating/wizard.jsx +0 -161
- package/dist/components/form/autocomplete.jsx +0 -279
- package/dist/components/form/checkbox.jsx +0 -12
- package/dist/components/form/date-picker.jsx +0 -115
- package/dist/components/form/file-upload.jsx +0 -133
- package/dist/components/form/form.jsx +0 -10
- package/dist/components/form/formReset.jsx +0 -17
- package/dist/components/form/free-text.jsx +0 -41
- package/dist/components/form/input-field.jsx +0 -56
- package/dist/components/form/input.jsx +0 -36
- package/dist/components/form/multi-select.jsx +0 -328
- package/dist/components/form/radiobox.jsx +0 -6
- package/dist/components/form/select.jsx +0 -42
- package/dist/components/form/slider.jsx +0 -45
- package/dist/components/form/switch.jsx +0 -46
- package/dist/components/form/task-list.jsx +0 -26
- package/dist/components/form/textarea.jsx +0 -12
- package/dist/components/form/transfer-list.jsx +0 -39
- package/dist/components/index.js +0 -45
- package/dist/components/page-calendar/calendar-header.jsx +0 -81
- package/dist/components/page-calendar/day-view.jsx +0 -87
- package/dist/components/page-calendar/event-pill.jsx +0 -25
- package/dist/components/page-calendar/index.js +0 -2
- package/dist/components/page-calendar/month-view.jsx +0 -47
- package/dist/components/page-calendar/page-calendar.jsx +0 -41
- package/dist/components/page-calendar/page-calendar.types.js +0 -1
- package/dist/components/page-calendar/page-calendar.utils.js +0 -71
- package/dist/components/page-calendar/week-view.jsx +0 -64
- package/dist/components/table/filter.jsx +0 -141
- package/dist/components/table/group.jsx +0 -68
- package/dist/components/table/index.jsx +0 -60
- package/dist/components/table/inner-table.jsx +0 -104
- package/dist/components/table/metadata.jsx +0 -36
- package/dist/components/table/pagination.jsx +0 -73
- package/dist/components/table/row.jsx +0 -58
- package/dist/components/table/sort.jsx +0 -105
- package/dist/components/table/table-lib.js +0 -83
- package/dist/components/table/table.context.jsx +0 -4
- package/dist/components/table/thead.jsx +0 -103
- package/dist/config/context.js +0 -12
- package/dist/config/default-translations.jsx +0 -83
- package/dist/config/default-tweaks.js +0 -4
- package/dist/constants.js +0 -2
- package/dist/hooks/use-click-outside.js +0 -17
- package/dist/hooks/use-color-parser.js +0 -9
- package/dist/hooks/use-components-provider.jsx +0 -19
- package/dist/hooks/use-debounce.js +0 -12
- package/dist/hooks/use-floating-ref.js +0 -6
- package/dist/hooks/use-form.js +0 -550
- package/dist/hooks/use-hover.js +0 -18
- package/dist/hooks/use-input-id.js +0 -5
- package/dist/hooks/use-is-coarse-device.js +0 -12
- package/dist/hooks/use-locale.js +0 -10
- package/dist/hooks/use-media-query.js +0 -25
- package/dist/hooks/use-on-event.js +0 -7
- package/dist/hooks/use-parent.js +0 -21
- package/dist/hooks/use-preferences.js +0 -23
- package/dist/hooks/use-previous.js +0 -9
- package/dist/hooks/use-reactive.js +0 -9
- package/dist/hooks/use-remove-scroll.js +0 -61
- package/dist/hooks/use-resize-observer.js +0 -17
- package/dist/hooks/use-stable-ref.js +0 -9
- package/dist/hooks/use-swipe.js +0 -17
- package/dist/hooks/use-translations.js +0 -9
- package/dist/hooks/use-tweaks.js +0 -9
- package/dist/hooks/use-window-size.js +0 -14
- package/dist/index.mjs +0 -37103
- package/dist/index.mjs.map +0 -1
- package/dist/index.umd.js +0 -28
- package/dist/index.umd.js.map +0 -1
- package/dist/lib/combi-keys.js +0 -60
- package/dist/lib/dict.js +0 -39
- package/dist/lib/dom.js +0 -62
- package/dist/lib/fns.js +0 -46
- package/dist/lib/fzf.js +0 -117
- package/dist/lib/keyboard-area.js +0 -14
- package/dist/types.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"circle-check-big-3M5lhTxx.js","sources":["../../../node_modules/.pnpm/lucide-react@0.575.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/circle-check-big.js"],"sourcesContent":["/**\n * @license lucide-react v0.575.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M21.801 10A10 10 0 1 1 17 3.335\", key: \"yps3ct\" }],\n [\"path\", { d: \"m9 11 3 3L22 4\", key: \"1pflzl\" }]\n];\nconst CircleCheckBig = createLucideIcon(\"circle-check-big\", __iconNode);\n\nexport { __iconNode, CircleCheckBig as default };\n//# sourceMappingURL=circle-check-big.js.map\n"],"names":["__iconNode","CircleCheckBig","createLucideIcon"],"mappings":";AASA,MAAMA,IAAa;AAAA,EACjB,CAAC,QAAQ,EAAE,GAAG,mCAAmC,KAAK,SAAQ,CAAE;AAAA,EAChE,CAAC,QAAQ,EAAE,GAAG,kBAAkB,KAAK,SAAQ,CAAE;AACjD,GACMC,IAAiBC,EAAiB,oBAAoBF,CAAU;","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { jsxs as u } from "react/jsx-runtime";
|
|
2
|
+
import { c as g } from "../../index-DJSMaZR4.js";
|
|
3
|
+
import { forwardRef as c } from "react";
|
|
4
|
+
import { c as p } from "../../dom-Dl8XH0CK.js";
|
|
5
|
+
import { P as l } from "../../polymorph-B5n9fs_K.js";
|
|
6
|
+
const m = {
|
|
7
|
+
size: {
|
|
8
|
+
icon: "p-1",
|
|
9
|
+
big: "h-12 px-6 py-4",
|
|
10
|
+
default: "h-10 px-4 py-2",
|
|
11
|
+
min: "h-7 px-3 py-1 text-sm",
|
|
12
|
+
small: "h-8 px-4 py-2 text-sm",
|
|
13
|
+
tiny: "h-6 px-2 py-1 text-sm"
|
|
14
|
+
},
|
|
15
|
+
rounded: {
|
|
16
|
+
rough: "rounded-sm",
|
|
17
|
+
squared: "rounded-none",
|
|
18
|
+
default: "rounded-button",
|
|
19
|
+
circle: "rounded-full aspect-square"
|
|
20
|
+
},
|
|
21
|
+
theme: {
|
|
22
|
+
raw: "",
|
|
23
|
+
disabled: "bg-disabled opacity-70",
|
|
24
|
+
loading: "animate-pulse bg-disabled",
|
|
25
|
+
main: "bg-button-primary-bg text-button-primary-text",
|
|
26
|
+
info: "bg-button-info-bg text-button-info-text",
|
|
27
|
+
warn: "bg-button-warn-bg text-button-warn-text",
|
|
28
|
+
muted: "bg-button-muted-bg text-button-muted-text",
|
|
29
|
+
danger: "bg-button-danger-bg text-button-danger-text",
|
|
30
|
+
neutral: "bg-transparent border-1 border-card-border",
|
|
31
|
+
primary: "bg-button-primary-bg text-button-primary-text",
|
|
32
|
+
success: "bg-button-success-bg text-button-success-text",
|
|
33
|
+
secondary: "bg-button-secondary-bg text-button-secondary-text",
|
|
34
|
+
"ghost-info": "bg-transparent hover:bg-info/20 border-0 border-transparent text-info",
|
|
35
|
+
"ghost-warn": "bg-transparent hover:bg-warn/20 border-0 border-transparent text-warn",
|
|
36
|
+
"ghost-danger": "bg-transparent hover:bg-danger/20 border-0 border-transparent text-danger",
|
|
37
|
+
"ghost-primary": "bg-transparent hover:bg-primary/20 border-0 border-transparent text-primary",
|
|
38
|
+
"ghost-success": "bg-transparent hover:bg-success/20 border-0 border-transparent text-success",
|
|
39
|
+
"ghost-secondary": "bg-transparent hover:bg-secondary/20 border-0 border-transparent text-secondary",
|
|
40
|
+
"ghost-muted": "bg-transparent hover:bg-muted/20 border-0 border-transparent text-muted-foreground",
|
|
41
|
+
"ghost-neutral": "bg-transparent border-0 border-card-border"
|
|
42
|
+
}
|
|
43
|
+
}, x = g(
|
|
44
|
+
"relative overflow-hidden inline-flex duration-300 enabled:hover:bg-opacity-70 enabled:focus:bg-opacity-70 data-[loading=true]:opacity-30 data-[loading=true]:animate-pulse gap-1.5 items-center justify-center align-middle cursor-pointer whitespace-nowrap font-medium transition-colors ease-linear disabled:cursor-not-allowed disabled:bg-opacity-40 disabled:text-opacity-80 focus-visible:outline-none focus-visible:ring-4 focus-visible:ring-ring",
|
|
45
|
+
{
|
|
46
|
+
variants: m,
|
|
47
|
+
defaultVariants: { theme: "main", size: "default", rounded: "default" }
|
|
48
|
+
}
|
|
49
|
+
), k = c(function({ className: a, icon: o, loading: r, theme: n, type: s = "button", size: d, rounded: b, ...t }, i) {
|
|
50
|
+
const e = r || t.disabled;
|
|
51
|
+
return /* @__PURE__ */ u(
|
|
52
|
+
l,
|
|
53
|
+
{
|
|
54
|
+
...t,
|
|
55
|
+
ref: i,
|
|
56
|
+
type: s,
|
|
57
|
+
"data-theme": n,
|
|
58
|
+
disabled: e,
|
|
59
|
+
"data-loading": r,
|
|
60
|
+
"data-component": "button",
|
|
61
|
+
"aria-disabled": e,
|
|
62
|
+
as: t.as ?? "button",
|
|
63
|
+
"aria-busy": e || r,
|
|
64
|
+
onClick: e ? void 0 : t.onClick,
|
|
65
|
+
className: p(x({ size: d, rounded: b, theme: n }), a),
|
|
66
|
+
children: [
|
|
67
|
+
o,
|
|
68
|
+
t.children
|
|
69
|
+
]
|
|
70
|
+
}
|
|
71
|
+
);
|
|
72
|
+
});
|
|
73
|
+
export {
|
|
74
|
+
k as Button
|
|
75
|
+
};
|
|
76
|
+
//# sourceMappingURL=button.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"button.js","sources":["../../../src/components/core/button.tsx"],"sourcesContent":["import { cva } from \"class-variance-authority\";\nimport React, { forwardRef, PropsWithChildren } from \"react\";\nimport { css } from \"../../lib/dom\";\nimport { CvaVariants, type Label } from \"../../types\";\nimport { Polymorph, PolymorphicProps } from \"./polymorph\";\n\nconst variants = {\n size: {\n icon: \"p-1\",\n big: \"h-12 px-6 py-4\",\n default: \"h-10 px-4 py-2\",\n min: \"h-7 px-3 py-1 text-sm\",\n small: \"h-8 px-4 py-2 text-sm\",\n tiny: \"h-6 px-2 py-1 text-sm\",\n },\n rounded: {\n rough: \"rounded-sm\",\n squared: \"rounded-none\",\n default: \"rounded-button\",\n circle: \"rounded-full aspect-square\",\n },\n theme: {\n raw: \"\",\n disabled: \"bg-disabled opacity-70\",\n loading: \"animate-pulse bg-disabled\",\n main: \"bg-button-primary-bg text-button-primary-text\",\n info: \"bg-button-info-bg text-button-info-text\",\n warn: \"bg-button-warn-bg text-button-warn-text\",\n muted: \"bg-button-muted-bg text-button-muted-text\",\n danger: \"bg-button-danger-bg text-button-danger-text\",\n neutral: \"bg-transparent border-1 border-card-border\",\n primary: \"bg-button-primary-bg text-button-primary-text\",\n success: \"bg-button-success-bg text-button-success-text\",\n secondary: \"bg-button-secondary-bg text-button-secondary-text\",\n\n \"ghost-info\": \"bg-transparent hover:bg-info/20 border-0 border-transparent text-info\",\n \"ghost-warn\": \"bg-transparent hover:bg-warn/20 border-0 border-transparent text-warn\",\n \"ghost-danger\": \"bg-transparent hover:bg-danger/20 border-0 border-transparent text-danger\",\n \"ghost-primary\": \"bg-transparent hover:bg-primary/20 border-0 border-transparent text-primary\",\n \"ghost-success\": \"bg-transparent hover:bg-success/20 border-0 border-transparent text-success\",\n \"ghost-secondary\": \"bg-transparent hover:bg-secondary/20 border-0 border-transparent text-secondary\",\n \"ghost-muted\": \"bg-transparent hover:bg-muted/20 border-0 border-transparent text-muted-foreground\",\n \"ghost-neutral\": \"bg-transparent border-0 border-card-border\",\n },\n};\n\nconst buttonVariants = cva(\n \"relative overflow-hidden inline-flex duration-300 enabled:hover:bg-opacity-70 enabled:focus:bg-opacity-70 data-[loading=true]:opacity-30 data-[loading=true]:animate-pulse gap-1.5 items-center justify-center align-middle cursor-pointer whitespace-nowrap font-medium transition-colors ease-linear disabled:cursor-not-allowed disabled:bg-opacity-40 disabled:text-opacity-80 focus-visible:outline-none focus-visible:ring-4 focus-visible:ring-ring\",\n {\n variants,\n defaultVariants: { theme: \"main\", size: \"default\", rounded: \"default\" },\n }\n);\n\ntype Variants = CvaVariants<typeof variants>;\n\nexport type ButtonProps<T extends React.ElementType = \"button\"> = PropsWithChildren<\n PolymorphicProps<\n Variants &\n Partial<{\n /** Icon to display in the button */\n icon: Label;\n /** Whether the button is in a loading state */\n loading: boolean;\n }>,\n T\n >\n>;\n\n/**\n * A versatile button component with multiple variants, sizes, and states.\n *\n * @example\n * ```tsx\n * // Basic usage\n * <Button>Click me</Button>\n *\n * // With variants\n * <Button theme=\"primary\" size=\"big\">Primary Button</Button>\n *\n * // Loading state\n * <Button loading>Saving...</Button>\n *\n * // With icon\n * <Button icon={<Icon name=\"plus\" />}>Add Item</Button>\n *\n * // As different element\n * <Button as=\"a\" href=\"/link\">Link Button</Button>\n * ```\n *\n * @template T - The HTML element type to render as\n * @param props - Button props including theme, size, loading state, etc.\n * @param ref - Forwarded ref to the button element\n * @returns A styled button component\n */\nexport const Button: <T extends React.ElementType = \"button\">(_: ButtonProps<T>) => React.ReactNode = forwardRef(function Button(\n { className, icon, loading, theme, type = \"button\", size, rounded, ...props }: ButtonProps,\n ref: React.Ref<\"button\">\n) {\n const disabled = loading || props.disabled;\n return (\n <Polymorph\n {...props}\n ref={ref}\n type={type}\n data-theme={theme}\n disabled={disabled}\n data-loading={loading}\n data-component=\"button\"\n aria-disabled={disabled}\n as={props.as ?? \"button\"}\n aria-busy={disabled || loading}\n onClick={disabled ? undefined : props.onClick}\n className={css(buttonVariants({ size, rounded, theme }), className)}\n >\n {icon}\n {props.children}\n </Polymorph>\n );\n}) as any;\n"],"names":["variants","buttonVariants","cva","Button","forwardRef","className","icon","loading","theme","type","size","rounded","props","ref","disabled","jsxs","Polymorph","css"],"mappings":";;;;;AAMA,MAAMA,IAAW;AAAA,EACb,MAAM;AAAA,IACF,MAAM;AAAA,IACN,KAAK;AAAA,IACL,SAAS;AAAA,IACT,KAAK;AAAA,IACL,OAAO;AAAA,IACP,MAAM;AAAA,EAAA;AAAA,EAEV,SAAS;AAAA,IACL,OAAO;AAAA,IACP,SAAS;AAAA,IACT,SAAS;AAAA,IACT,QAAQ;AAAA,EAAA;AAAA,EAEZ,OAAO;AAAA,IACH,KAAK;AAAA,IACL,UAAU;AAAA,IACV,SAAS;AAAA,IACT,MAAM;AAAA,IACN,MAAM;AAAA,IACN,MAAM;AAAA,IACN,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,SAAS;AAAA,IACT,SAAS;AAAA,IACT,WAAW;AAAA,IAEX,cAAc;AAAA,IACd,cAAc;AAAA,IACd,gBAAgB;AAAA,IAChB,iBAAiB;AAAA,IACjB,iBAAiB;AAAA,IACjB,mBAAmB;AAAA,IACnB,eAAe;AAAA,IACf,iBAAiB;AAAA,EAAA;AAEzB,GAEMC,IAAiBC;AAAA,EACnB;AAAA,EACA;AAAA,IACI,UAAAF;AAAA,IACA,iBAAiB,EAAE,OAAO,QAAQ,MAAM,WAAW,SAAS,UAAA;AAAA,EAAU;AAE9E,GA2CaG,IAAyFC,EAAW,SAC7G,EAAE,WAAAC,GAAW,MAAAC,GAAM,SAAAC,GAAS,OAAAC,GAAO,MAAAC,IAAO,UAAU,MAAAC,GAAM,SAAAC,GAAS,GAAGC,EAAA,GACtEC,GACF;AACE,QAAMC,IAAWP,KAAWK,EAAM;AAClC,SACI,gBAAAG;AAAA,IAACC;AAAA,IAAA;AAAA,MACI,GAAGJ;AAAA,MACJ,KAAAC;AAAA,MACA,MAAAJ;AAAA,MACA,cAAYD;AAAA,MACZ,UAAAM;AAAA,MACA,gBAAcP;AAAA,MACd,kBAAe;AAAA,MACf,iBAAeO;AAAA,MACf,IAAIF,EAAM,MAAM;AAAA,MAChB,aAAWE,KAAYP;AAAA,MACvB,SAASO,IAAW,SAAYF,EAAM;AAAA,MACtC,WAAWK,EAAIhB,EAAe,EAAE,MAAAS,GAAM,SAAAC,GAAS,OAAAH,EAAA,CAAO,GAAGH,CAAS;AAAA,MAEjE,UAAA;AAAA,QAAAC;AAAA,QACAM,EAAM;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGnB,CAAC;"}
|
|
@@ -28,7 +28,7 @@ type Themes = NonNullable<Variants["theme"]>;
|
|
|
28
28
|
export type TagProps<T extends React.ElementType = "span"> = PolymorphicProps<CvaVariants<typeof variants> & Partial<{
|
|
29
29
|
icon: Label;
|
|
30
30
|
loading: boolean;
|
|
31
|
-
indicator: Themes;
|
|
31
|
+
indicator: Themes | true;
|
|
32
32
|
}>, T>;
|
|
33
33
|
export declare const Tag: <T extends React.ElementType = "span">(_: TagProps<T>) => any;
|
|
34
34
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tag.d.ts","sourceRoot":"","sources":["../../../src/components/core/tag.tsx"],"names":[],"mappings":"AACA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAE1C,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAa,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE1D,QAAA,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;CAqBb,CAAC;AAEF,KAAK,QAAQ,GAAG,WAAW,CAAC,OAAO,QAAQ,CAAC,CAAC;AAE7C,KAAK,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;AAyB7C,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,KAAK,CAAC,WAAW,GAAG,MAAM,IAAI,gBAAgB,CACzE,WAAW,CAAC,OAAO,QAAQ,CAAC,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"tag.d.ts","sourceRoot":"","sources":["../../../src/components/core/tag.tsx"],"names":[],"mappings":"AACA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAE1C,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAa,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE1D,QAAA,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;CAqBb,CAAC;AAEF,KAAK,QAAQ,GAAG,WAAW,CAAC,OAAO,QAAQ,CAAC,CAAC;AAE7C,KAAK,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;AAyB7C,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,KAAK,CAAC,WAAW,GAAG,MAAM,IAAI,gBAAgB,CACzE,WAAW,CAAC,OAAO,QAAQ,CAAC,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,EACnG,CAAC,CACJ,CAAC;AAEF,eAAO,MAAM,GAAG,EAAE,CAAC,CAAC,SAAS,KAAK,CAAC,WAAW,GAAG,MAAM,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,GAkBnE,CAAC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { jsxs as o, jsx as c } from "react/jsx-runtime";
|
|
2
|
+
import { c as r } from "../../index-DJSMaZR4.js";
|
|
3
|
+
import { forwardRef as m } from "react";
|
|
4
|
+
import { c as b } from "../../dom-Dl8XH0CK.js";
|
|
5
|
+
import { P as l } from "../../polymorph-B5n9fs_K.js";
|
|
6
|
+
const u = {
|
|
7
|
+
size: {
|
|
8
|
+
icon: "p-1",
|
|
9
|
+
big: "h-12 px-6 py-4",
|
|
10
|
+
default: "h-8 px-4 py-2",
|
|
11
|
+
tiny: "h-5 p-1 px-2 text-xs",
|
|
12
|
+
small: "h-6 p-2 px-3 text-sm"
|
|
13
|
+
},
|
|
14
|
+
theme: {
|
|
15
|
+
custom: "",
|
|
16
|
+
info: "bg-tag-info-bg text-tag-info-text",
|
|
17
|
+
warn: "bg-tag-warn-bg text-tag-warn-text",
|
|
18
|
+
muted: "bg-tag-muted-bg text-tag-muted-text",
|
|
19
|
+
danger: "bg-tag-danger-bg text-tag-danger-text",
|
|
20
|
+
disabled: "bg-disabled duration-700 opacity-70",
|
|
21
|
+
primary: "bg-tag-primary-bg text-tag-primary-text",
|
|
22
|
+
success: "bg-tag-success-bg text-tag-success-text",
|
|
23
|
+
neutral: "bg-transparent border border-card-border",
|
|
24
|
+
secondary: "bg-tag-secondary-bg text-tag-secondary-text",
|
|
25
|
+
loading: "animate-pulse bg-disabled duration-700 opacity-70"
|
|
26
|
+
}
|
|
27
|
+
}, p = r("size-2 aspect-square rounded-full border-0", {
|
|
28
|
+
variants: {
|
|
29
|
+
theme: {
|
|
30
|
+
info: "bg-info",
|
|
31
|
+
warn: "bg-warn",
|
|
32
|
+
muted: "bg-muted",
|
|
33
|
+
danger: "bg-danger",
|
|
34
|
+
neutral: "bg-muted",
|
|
35
|
+
primary: "bg-primary",
|
|
36
|
+
success: "bg-success",
|
|
37
|
+
secondary: "bg-secondary"
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}), x = r(
|
|
41
|
+
"inline-flex rounded-pill gap-1.5 border-0 items-center justify-center align-middle whitespace-nowrap ease-linear duration-300 transition-all",
|
|
42
|
+
{
|
|
43
|
+
variants: u,
|
|
44
|
+
defaultVariants: { theme: "primary", size: "default" }
|
|
45
|
+
}
|
|
46
|
+
), z = m(function({ className: n, indicator: t = void 0, icon: s, loading: g, theme: a, size: i, ...e }, d) {
|
|
47
|
+
return /* @__PURE__ */ o(
|
|
48
|
+
l,
|
|
49
|
+
{
|
|
50
|
+
...e,
|
|
51
|
+
ref: d,
|
|
52
|
+
"data-theme": a,
|
|
53
|
+
"data-component": "tag",
|
|
54
|
+
as: e.as ?? "span",
|
|
55
|
+
className: b(x({ size: i, theme: g ? "loading" : a }), n),
|
|
56
|
+
children: [
|
|
57
|
+
t ? /* @__PURE__ */ c("span", { "aria-hidden": "true", className: p({ theme: t === !0 ? a : t }) }) : null,
|
|
58
|
+
s,
|
|
59
|
+
e.children
|
|
60
|
+
]
|
|
61
|
+
}
|
|
62
|
+
);
|
|
63
|
+
});
|
|
64
|
+
export {
|
|
65
|
+
z as Tag
|
|
66
|
+
};
|
|
67
|
+
//# sourceMappingURL=tag.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tag.js","sources":["../../../src/components/core/tag.tsx"],"sourcesContent":["import { cva } from \"class-variance-authority\";\nimport React, { forwardRef } from \"react\";\nimport { css } from \"../../lib/dom\";\nimport { CvaVariants, Label } from \"../../types\";\nimport { Polymorph, PolymorphicProps } from \"./polymorph\";\n\nconst variants = {\n size: {\n icon: \"p-1\",\n big: \"h-12 px-6 py-4\",\n default: \"h-8 px-4 py-2\",\n tiny: \"h-5 p-1 px-2 text-xs\",\n small: \"h-6 p-2 px-3 text-sm\",\n },\n theme: {\n custom: \"\",\n info: \"bg-tag-info-bg text-tag-info-text\",\n warn: \"bg-tag-warn-bg text-tag-warn-text\",\n muted: \"bg-tag-muted-bg text-tag-muted-text\",\n danger: \"bg-tag-danger-bg text-tag-danger-text\",\n disabled: \"bg-disabled duration-700 opacity-70\",\n primary: \"bg-tag-primary-bg text-tag-primary-text\",\n success: \"bg-tag-success-bg text-tag-success-text\",\n neutral: \"bg-transparent border border-card-border\",\n secondary: \"bg-tag-secondary-bg text-tag-secondary-text\",\n loading: \"animate-pulse bg-disabled duration-700 opacity-70\",\n },\n};\n\ntype Variants = CvaVariants<typeof variants>;\n\ntype Themes = NonNullable<Variants[\"theme\"]>;\n\nconst indicatorVariant = cva(\"size-2 aspect-square rounded-full border-0\", {\n variants: {\n theme: {\n info: \"bg-info\",\n warn: \"bg-warn\",\n muted: \"bg-muted\",\n danger: \"bg-danger\",\n neutral: \"bg-muted\",\n primary: \"bg-primary\",\n success: \"bg-success\",\n secondary: \"bg-secondary\",\n } as Record<Themes, string>,\n },\n});\n\nconst tagVariants = cva(\n \"inline-flex rounded-pill gap-1.5 border-0 items-center justify-center align-middle whitespace-nowrap ease-linear duration-300 transition-all\",\n {\n variants,\n defaultVariants: { theme: \"primary\", size: \"default\" },\n }\n);\n\nexport type TagProps<T extends React.ElementType = \"span\"> = PolymorphicProps<\n CvaVariants<typeof variants> & Partial<{ icon: Label; loading: boolean; indicator: Themes | true }>,\n T\n>;\n\nexport const Tag: <T extends React.ElementType = \"span\">(_: TagProps<T>) => any = forwardRef(function Tag(\n { className, indicator = undefined, icon, loading, theme, size, ...props }: TagProps,\n ref: React.Ref<any>\n) {\n return (\n <Polymorph\n {...props}\n ref={ref}\n data-theme={theme}\n data-component=\"tag\"\n as={props.as ?? \"span\"}\n className={css(tagVariants({ size, theme: loading ? \"loading\" : theme }), className)}\n >\n {indicator ? <span aria-hidden=\"true\" className={indicatorVariant({ theme: indicator === true ? theme : indicator })} /> : null}\n {icon}\n {props.children}\n </Polymorph>\n );\n}) as any;\n"],"names":["variants","indicatorVariant","cva","tagVariants","Tag","forwardRef","className","indicator","icon","loading","theme","size","props","ref","jsxs","Polymorph","css","jsx"],"mappings":";;;;;AAMA,MAAMA,IAAW;AAAA,EACb,MAAM;AAAA,IACF,MAAM;AAAA,IACN,KAAK;AAAA,IACL,SAAS;AAAA,IACT,MAAM;AAAA,IACN,OAAO;AAAA,EAAA;AAAA,EAEX,OAAO;AAAA,IACH,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,MAAM;AAAA,IACN,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,SAAS;AAAA,IACT,SAAS;AAAA,IACT,SAAS;AAAA,IACT,WAAW;AAAA,IACX,SAAS;AAAA,EAAA;AAEjB,GAMMC,IAAmBC,EAAI,8CAA8C;AAAA,EACvE,UAAU;AAAA,IACN,OAAO;AAAA,MACH,MAAM;AAAA,MACN,MAAM;AAAA,MACN,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,SAAS;AAAA,MACT,SAAS;AAAA,MACT,WAAW;AAAA,IAAA;AAAA,EACf;AAER,CAAC,GAEKC,IAAcD;AAAA,EAChB;AAAA,EACA;AAAA,IACI,UAAAF;AAAA,IACA,iBAAiB,EAAE,OAAO,WAAW,MAAM,UAAA;AAAA,EAAU;AAE7D,GAOaI,IAAqEC,EAAW,SACzF,EAAE,WAAAC,GAAW,WAAAC,IAAY,QAAW,MAAAC,GAAM,SAAAC,GAAS,OAAAC,GAAO,MAAAC,GAAM,GAAGC,EAAA,GACnEC,GACF;AACE,SACI,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACI,GAAGH;AAAA,MACJ,KAAAC;AAAA,MACA,cAAYH;AAAA,MACZ,kBAAe;AAAA,MACf,IAAIE,EAAM,MAAM;AAAA,MAChB,WAAWI,EAAIb,EAAY,EAAE,MAAAQ,GAAM,OAAOF,IAAU,YAAYC,GAAO,GAAGJ,CAAS;AAAA,MAElF,UAAA;AAAA,QAAAC,IAAY,gBAAAU,EAAC,QAAA,EAAK,eAAY,QAAO,WAAWhB,EAAiB,EAAE,OAAOM,MAAc,KAAOG,IAAQH,EAAA,CAAW,GAAG,IAAK;AAAA,QAC1HC;AAAA,QACAI,EAAM;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGnB,CAAC;"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { jsx as e, jsxs as s } from "react/jsx-runtime";
|
|
2
|
+
import { c as f } from "../../index-DJSMaZR4.js";
|
|
3
|
+
import { forwardRef as g } from "react";
|
|
4
|
+
import { c as n } from "../../dom-Dl8XH0CK.js";
|
|
5
|
+
import { P as h } from "../../polymorph-B5n9fs_K.js";
|
|
6
|
+
import { A as x, m as c } from "../../proxy-BZcQiBrp.js";
|
|
7
|
+
import { X as y } from "../../x-B9bYxG31.js";
|
|
8
|
+
import { C as p } from "../../circle-check-big-3M5lhTxx.js";
|
|
9
|
+
import { I as v } from "../../info-N5jWZg2A.js";
|
|
10
|
+
import { T as w } from "../../triangle-alert-CHMhQ6yd.js";
|
|
11
|
+
const d = {
|
|
12
|
+
true: { opacity: 1, height: "auto" },
|
|
13
|
+
false: { opacity: [0.7, 0.3, 0], height: 0 }
|
|
14
|
+
}, N = {
|
|
15
|
+
type: "tween",
|
|
16
|
+
duration: 0.7,
|
|
17
|
+
ease: [0.04, 0.62, 0.23, 0.98]
|
|
18
|
+
}, A = (r) => /* @__PURE__ */ e(
|
|
19
|
+
c.div,
|
|
20
|
+
{
|
|
21
|
+
...r,
|
|
22
|
+
layout: !0,
|
|
23
|
+
layoutRoot: !0,
|
|
24
|
+
layoutScroll: !0,
|
|
25
|
+
initial: !1,
|
|
26
|
+
variants: d,
|
|
27
|
+
exit: d.false,
|
|
28
|
+
transition: N,
|
|
29
|
+
"aria-hidden": !r.open,
|
|
30
|
+
"data-component": "collapse",
|
|
31
|
+
animate: r.open.toString(),
|
|
32
|
+
className: n("aria-hidden:pointer-events-none", r.className),
|
|
33
|
+
children: r.children
|
|
34
|
+
}
|
|
35
|
+
), k = {
|
|
36
|
+
theme: {
|
|
37
|
+
primary: "bg-alert-primary-bg text-alert-primary-text border-alert-primary-border",
|
|
38
|
+
danger: "bg-alert-danger-bg text-alert-danger-text border-alert-danger-border",
|
|
39
|
+
info: "bg-alert-info-bg text-alert-info-text border-alert-info-border",
|
|
40
|
+
success: "bg-alert-success-bg text-alert-success-text border-alert-success-border",
|
|
41
|
+
secondary: "bg-alert-secondary-bg text-alert-secondary-text border-alert-secondary-border",
|
|
42
|
+
warn: "bg-alert-warn-bg text-alert-warn-text border-alert-warn-border",
|
|
43
|
+
neutral: "bg-transparent border border-card-border text-alert-primary-text"
|
|
44
|
+
}
|
|
45
|
+
}, z = f("p-4 w-full block border relative rounded-lg text-sm", {
|
|
46
|
+
variants: k,
|
|
47
|
+
defaultVariants: { theme: "neutral" }
|
|
48
|
+
}), _ = g(function({ className: m, theme: l, Icon: i, onClose: o, open: t = !0, ...a }, u) {
|
|
49
|
+
const b = () => o?.(!1);
|
|
50
|
+
return /* @__PURE__ */ e(x, { presenceAffectsLayout: !0, propagate: !0, mode: "sync", children: t ? /* @__PURE__ */ e(
|
|
51
|
+
c.div,
|
|
52
|
+
{
|
|
53
|
+
"data-open": !!t,
|
|
54
|
+
"aria-hidden": !t,
|
|
55
|
+
"data-component": "alert",
|
|
56
|
+
className: n("isolate w-full", t ? "pointer-events-auto" : "pointer-events-none"),
|
|
57
|
+
children: /* @__PURE__ */ e(A, { "data-open": !!t, open: !!t, children: /* @__PURE__ */ e(
|
|
58
|
+
h,
|
|
59
|
+
{
|
|
60
|
+
...a,
|
|
61
|
+
ref: u,
|
|
62
|
+
role: "alert",
|
|
63
|
+
"data-theme": l,
|
|
64
|
+
as: a.as ?? "div",
|
|
65
|
+
className: n(z({ theme: l }), m),
|
|
66
|
+
children: /* @__PURE__ */ s("div", { className: "grid grid-cols-[auto_1fr] gap-base", children: [
|
|
67
|
+
o !== void 0 && t ? /* @__PURE__ */ e(
|
|
68
|
+
"button",
|
|
69
|
+
{
|
|
70
|
+
type: "button",
|
|
71
|
+
onClick: b,
|
|
72
|
+
className: "absolute right-3 top-3 text-foreground transition-colors duration-300 ease-in-out hover:text-danger",
|
|
73
|
+
children: /* @__PURE__ */ e(y, { size: 20 })
|
|
74
|
+
}
|
|
75
|
+
) : null,
|
|
76
|
+
/* @__PURE__ */ s("div", { className: n("flex items-center gap-2", a.title ? "" : "w-fit"), children: [
|
|
77
|
+
!i && l === "success" ? /* @__PURE__ */ e(p, { "aria-hidden": "true", size: 20 }) : null,
|
|
78
|
+
!i && l === "info" ? /* @__PURE__ */ e(v, { "aria-hidden": "true", size: 20 }) : null,
|
|
79
|
+
!i && l === "danger" ? /* @__PURE__ */ e(w, { "aria-hidden": "true", size: 20 }) : null,
|
|
80
|
+
i
|
|
81
|
+
] }),
|
|
82
|
+
a.title ? /* @__PURE__ */ e("h4", { className: "tracking-3 col-start-2 text-balance text-lg font-semibold", children: a.title }) : null,
|
|
83
|
+
/* @__PURE__ */ e("div", { className: "col-start-2 w-full", children: a.children })
|
|
84
|
+
] })
|
|
85
|
+
}
|
|
86
|
+
) })
|
|
87
|
+
}
|
|
88
|
+
) : null });
|
|
89
|
+
});
|
|
90
|
+
export {
|
|
91
|
+
_ as Alert,
|
|
92
|
+
A as Collapse
|
|
93
|
+
};
|
|
94
|
+
//# sourceMappingURL=alert.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alert.js","sources":["../../../src/components/display/alert.tsx"],"sourcesContent":["\"use client\";\nimport { cva } from \"class-variance-authority\";\nimport { AnimatePresence, HTMLMotionProps, motion } from \"motion/react\";\nimport { CheckCircleIcon, InfoIcon, TriangleAlertIcon, XIcon } from \"lucide-react\";\nimport React, { forwardRef, PropsWithChildren } from \"react\";\nimport { css } from \"../../lib/dom\";\nimport { CvaVariants } from \"../../types\";\nimport { Polymorph, PolymorphicProps } from \"../core/polymorph\";\n\nconst variants = {\n true: { opacity: 1, height: \"auto\" },\n false: { opacity: [0.7, 0.3, 0], height: 0 },\n};\n\nconst transition = {\n type: \"tween\",\n duration: 0.7,\n ease: [0.04, 0.62, 0.23, 0.98],\n};\n\ntype CollapseProps = HTMLMotionProps<\"section\"> & { open: boolean };\n\nexport const Collapse = (props: PropsWithChildren<CollapseProps>) => (\n <motion.div\n {...(props as any)}\n layout\n layoutRoot\n layoutScroll\n initial={false}\n variants={variants}\n exit={variants.false}\n transition={transition}\n aria-hidden={!props.open}\n data-component=\"collapse\"\n animate={props.open.toString()}\n className={css(\"aria-hidden:pointer-events-none\", props.className)}\n >\n {props.children}\n </motion.div>\n);\n\nconst themeVariants = {\n theme: {\n primary: \"bg-alert-primary-bg text-alert-primary-text border-alert-primary-border\",\n danger: \"bg-alert-danger-bg text-alert-danger-text border-alert-danger-border\",\n info: \"bg-alert-info-bg text-alert-info-text border-alert-info-border\",\n success: \"bg-alert-success-bg text-alert-success-text border-alert-success-border\",\n secondary: \"bg-alert-secondary-bg text-alert-secondary-text border-alert-secondary-border\",\n warn: \"bg-alert-warn-bg text-alert-warn-text border-alert-warn-border\",\n neutral: \"bg-transparent border border-card-border text-alert-primary-text\",\n },\n};\n\nconst alertVariants = cva(\"p-4 w-full block border relative rounded-lg text-sm\", {\n variants: themeVariants,\n defaultVariants: { theme: \"neutral\" },\n});\n\nexport type AlertProps<T extends React.ElementType = \"div\"> = PolymorphicProps<\n CvaVariants<typeof themeVariants> &\n Partial<{\n open?: boolean;\n container: string;\n Icon: React.ReactElement;\n onClose: (nextState: boolean) => void;\n }>,\n T\n>;\n\nexport const Alert: <T extends React.ElementType = \"div\">(props: AlertProps<T>) => any = forwardRef(function Alert(\n { className, theme, Icon, onClose, open = true, ...props }: AlertProps,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n const close = () => onClose?.(false);\n\n return (\n <AnimatePresence presenceAffectsLayout propagate mode=\"sync\">\n {open ? (\n <motion.div\n data-open={!!open}\n aria-hidden={!open}\n data-component=\"alert\"\n className={css(\"isolate w-full\", open ? \"pointer-events-auto\" : \"pointer-events-none\")}\n >\n <Collapse data-open={!!open} open={!!open}>\n <Polymorph\n {...props}\n ref={ref}\n role=\"alert\"\n data-theme={theme}\n as={props.as ?? \"div\"}\n className={css(alertVariants({ theme }), className)}\n >\n <div className=\"grid grid-cols-[auto_1fr] gap-base\">\n {onClose !== undefined && open ? (\n <button\n type=\"button\"\n onClick={close}\n className=\"absolute right-3 top-3 text-foreground transition-colors duration-300 ease-in-out hover:text-danger\"\n >\n <XIcon size={20} />\n </button>\n ) : null}\n <div className={css(\"flex items-center gap-2\", props.title ? \"\" : \"w-fit\")}>\n {!Icon && theme === \"success\" ? <CheckCircleIcon aria-hidden=\"true\" size={20} /> : null}\n {!Icon && theme === \"info\" ? <InfoIcon aria-hidden=\"true\" size={20} /> : null}\n {!Icon && theme === \"danger\" ? <TriangleAlertIcon aria-hidden=\"true\" size={20} /> : null}\n {Icon}\n </div>\n {props.title ? <h4 className=\"tracking-3 col-start-2 text-balance text-lg font-semibold\">{props.title}</h4> : null}\n <div className=\"col-start-2 w-full\">{props.children}</div>\n </div>\n </Polymorph>\n </Collapse>\n </motion.div>\n ) : null}\n </AnimatePresence>\n );\n}) as never;\n"],"names":["variants","transition","Collapse","props","jsx","motion","css","themeVariants","alertVariants","cva","Alert","forwardRef","className","theme","Icon","onClose","open","ref","close","AnimatePresence","Polymorph","jsxs","XIcon","CheckCircleIcon","InfoIcon","TriangleAlertIcon"],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import "react/jsx-runtime";
|
|
2
|
+
import "react";
|
|
3
|
+
import "../../dom-Dl8XH0CK.js";
|
|
4
|
+
import "../../input-CoJoHIhd.js";
|
|
5
|
+
import "../../index-BJ1ayTam.js";
|
|
6
|
+
import { h as n } from "../../calendar-BswV66Nx.js";
|
|
7
|
+
import "../../use-translations-BwLKTrZv.js";
|
|
8
|
+
import "../../fns-D2eyJKd5.js";
|
|
9
|
+
import "../../proxy-BZcQiBrp.js";
|
|
10
|
+
import "../../chevron-right-DvXGOiS_.js";
|
|
11
|
+
import "../../index-0YMC-_Lt.js";
|
|
12
|
+
export {
|
|
13
|
+
n as Calendar
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=calendar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calendar.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { jsxs as i, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { c, I as x } from "../../dom-Dl8XH0CK.js";
|
|
3
|
+
import { P as u } from "../../polymorph-B5n9fs_K.js";
|
|
4
|
+
import { a as s } from "../../skeleton-D75GFBV6.js";
|
|
5
|
+
import { I as h } from "../../info-N5jWZg2A.js";
|
|
6
|
+
const f = ({
|
|
7
|
+
title: a,
|
|
8
|
+
loading: t,
|
|
9
|
+
children: r,
|
|
10
|
+
as: n,
|
|
11
|
+
header: l = null,
|
|
12
|
+
container: o = "",
|
|
13
|
+
titleClassName: m = "",
|
|
14
|
+
...d
|
|
15
|
+
}) => /* @__PURE__ */ i(
|
|
16
|
+
u,
|
|
17
|
+
{
|
|
18
|
+
...d,
|
|
19
|
+
as: n || "div",
|
|
20
|
+
"data-component": "card",
|
|
21
|
+
className: c("flex w-full flex-col gap-4 rounded-card border border-card-border bg-card-background py-3 shadow-shadow-card", o),
|
|
22
|
+
children: [
|
|
23
|
+
a ? /* @__PURE__ */ e(
|
|
24
|
+
"header",
|
|
25
|
+
{
|
|
26
|
+
"data-component": "card-title",
|
|
27
|
+
className: c("mb-2 w-full border-b border-card-border px-6 pb-2 text-xl font-medium", m),
|
|
28
|
+
children: a
|
|
29
|
+
}
|
|
30
|
+
) : l,
|
|
31
|
+
/* @__PURE__ */ e("div", { "data-component": "card-body", className: c("min-w-full px-6", d.className), children: t ? /* @__PURE__ */ i("div", { className: "flex flex-col gap-4", children: [
|
|
32
|
+
/* @__PURE__ */ e(s, { className: "w-full" }),
|
|
33
|
+
/* @__PURE__ */ e(s, { className: "w-8/12" }),
|
|
34
|
+
/* @__PURE__ */ e(s, { className: "w-10/12" }),
|
|
35
|
+
/* @__PURE__ */ e(s, { className: "w-1/2" })
|
|
36
|
+
] }) : r })
|
|
37
|
+
]
|
|
38
|
+
}
|
|
39
|
+
);
|
|
40
|
+
f.Title = ({ as: a, titleTag: t, navTag: r, children: n, ...l }) => {
|
|
41
|
+
const o = a || "div", m = t || "h2", d = r || "nav";
|
|
42
|
+
return /* @__PURE__ */ i(
|
|
43
|
+
o,
|
|
44
|
+
{
|
|
45
|
+
...l,
|
|
46
|
+
title: x.string(l.title) ? l.title : void 0,
|
|
47
|
+
className: c("flex w-full flex-col flex-wrap items-start justify-between gap-base sm:flex-row sm:items-center", l.className),
|
|
48
|
+
children: [
|
|
49
|
+
/* @__PURE__ */ e(m, { className: "font-semibold", children: l.title }),
|
|
50
|
+
n ? /* @__PURE__ */ e(d, { className: "gap-kilo flex flex-col items-start justify-start sm:flex-row sm:items-center sm:justify-end", children: n }) : null
|
|
51
|
+
]
|
|
52
|
+
}
|
|
53
|
+
);
|
|
54
|
+
};
|
|
55
|
+
const p = (a) => {
|
|
56
|
+
const t = a.interactive ?? !0, r = a.Icon ?? h;
|
|
57
|
+
return /* @__PURE__ */ e(f, { ...a, title: null, loading: void 0, container: "px-0 py-0", className: "flex items-center gap-4 px-0", children: /* @__PURE__ */ i(
|
|
58
|
+
"div",
|
|
59
|
+
{
|
|
60
|
+
className: `flex w-full items-center gap-4 rounded-card px-0 lg:px-0 ${t ? "transition-colors duration-300 ease-linear hover:bg-primary-hover/10" : ""}`,
|
|
61
|
+
children: [
|
|
62
|
+
/* @__PURE__ */ e(
|
|
63
|
+
"div",
|
|
64
|
+
{
|
|
65
|
+
className: c(
|
|
66
|
+
"flex aspect-square h-[stretch] w-20 items-center justify-center rounded-l-card bg-primary p-4 text-primary-foreground",
|
|
67
|
+
a.mark
|
|
68
|
+
),
|
|
69
|
+
children: /* @__PURE__ */ e(r, { size: 48 })
|
|
70
|
+
}
|
|
71
|
+
),
|
|
72
|
+
/* @__PURE__ */ i("div", { className: "flex flex-col justify-center gap-2 py-2", children: [
|
|
73
|
+
/* @__PURE__ */ e("p", { className: "text-lg", children: a.title }),
|
|
74
|
+
a.loading ? /* @__PURE__ */ e(s, { className: "h-10" }) : /* @__PURE__ */ e("p", { className: "text-4xl font-bold tracking-wide", children: a.value })
|
|
75
|
+
] })
|
|
76
|
+
]
|
|
77
|
+
}
|
|
78
|
+
) });
|
|
79
|
+
};
|
|
80
|
+
export {
|
|
81
|
+
f as Card,
|
|
82
|
+
p as StatsCard
|
|
83
|
+
};
|
|
84
|
+
//# sourceMappingURL=card.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"card.js","sources":["../../../src/components/display/card.tsx"],"sourcesContent":["import { InfoIcon, LucideIcon } from \"lucide-react\";\nimport React, { type PropsWithChildren } from \"react\";\nimport { Is } from \"sidekicker\";\nimport { css } from \"../../lib/dom\";\nimport { Label } from \"../../types\";\nimport { Polymorph, PolymorphicProps } from \"../core/polymorph\";\nimport { Skeleton } from \"./skeleton\";\n\nexport type CardProps<T extends React.ElementType = \"div\"> = PolymorphicProps<\n {\n title?: Label;\n loading?: boolean;\n container?: string;\n titleClassName?: string;\n header?: React.ReactElement | null;\n },\n T\n>;\n\nexport const Card = <T extends React.ElementType = \"div\">({\n title,\n loading,\n children,\n as,\n header = null,\n container = \"\",\n titleClassName = \"\",\n ...props\n}: PropsWithChildren<CardProps<T>>) => (\n <Polymorph\n {...props}\n as={as || \"div\"}\n data-component=\"card\"\n className={css(\"flex w-full flex-col gap-4 rounded-card border border-card-border bg-card-background py-3 shadow-shadow-card\", container)}\n >\n {title ? (\n <header\n data-component=\"card-title\"\n className={css(\"mb-2 w-full border-b border-card-border px-6 pb-2 text-xl font-medium\", titleClassName)}\n >\n {title}\n </header>\n ) : (\n header\n )}\n <div data-component=\"card-body\" className={css(\"min-w-full px-6\", props.className)}>\n {loading ? (\n <div className=\"flex flex-col gap-4\">\n <Skeleton className=\"w-full\" />\n <Skeleton className=\"w-8/12\" />\n <Skeleton className=\"w-10/12\" />\n <Skeleton className=\"w-1/2\" />\n </div>\n ) : (\n children\n )}\n </div>\n </Polymorph>\n);\n\nexport type CardHeaderTitleProps<T extends React.ElementType = \"div\"> = PolymorphicProps<\n {\n navTag?: React.ElementType;\n titleTag?: React.ElementType;\n title: React.ReactElement | string;\n },\n T\n>;\n\nCard.Title = ({ as, titleTag, navTag, children, ...props }: PropsWithChildren<CardHeaderTitleProps>) => {\n const Component = (as || \"div\") as any;\n const Title = (titleTag || \"h2\") as any;\n const Nav = (navTag || \"nav\") as any;\n return (\n <Component\n {...props}\n title={Is.string(props.title) ? props.title : undefined}\n className={css(\"flex w-full flex-col flex-wrap items-start justify-between gap-base sm:flex-row sm:items-center\", props.className)}\n >\n <Title className=\"font-semibold\">{props.title}</Title>\n {children ? (\n <Nav className=\"gap-kilo flex flex-col items-start justify-start sm:flex-row sm:items-center sm:justify-end\">{children}</Nav>\n ) : null}\n </Component>\n );\n};\n\nexport type StatsCardProps = CardProps<React.ElementType> & {\n Icon?: LucideIcon;\n title: string;\n value: Label;\n mark?: string;\n interactive?: boolean;\n};\n\nexport const StatsCard = (props: StatsCardProps) => {\n const interactive = props.interactive ?? true;\n const Icon = props.Icon ?? InfoIcon;\n return (\n <Card {...props} title={null} loading={undefined} container=\"px-0 py-0\" className=\"flex items-center gap-4 px-0\">\n <div\n className={`flex w-full items-center gap-4 rounded-card px-0 lg:px-0 ${interactive ? \"transition-colors duration-300 ease-linear hover:bg-primary-hover/10\" : \"\"}`}\n >\n <div\n className={css(\n \"flex aspect-square h-[stretch] w-20 items-center justify-center rounded-l-card bg-primary p-4 text-primary-foreground\",\n props.mark\n )}\n >\n {<Icon size={48} />}\n </div>\n <div className=\"flex flex-col justify-center gap-2 py-2\">\n <p className=\"text-lg\">{props.title}</p>\n {props.loading ? <Skeleton className=\"h-10\" /> : <p className=\"text-4xl font-bold tracking-wide\">{props.value}</p>}\n </div>\n </div>\n </Card>\n );\n};\n"],"names":["Card","title","loading","children","as","header","container","titleClassName","props","jsxs","Polymorph","css","jsx","Skeleton","titleTag","navTag","Component","Title","Nav","Is","StatsCard","interactive","Icon","InfoIcon"],"mappings":";;;;;AAmBO,MAAMA,IAAO,CAAsC;AAAA,EACtD,OAAAC;AAAA,EACA,SAAAC;AAAA,EACA,UAAAC;AAAA,EACA,IAAAC;AAAA,EACA,QAAAC,IAAS;AAAA,EACT,WAAAC,IAAY;AAAA,EACZ,gBAAAC,IAAiB;AAAA,EACjB,GAAGC;AACP,MACI,gBAAAC;AAAA,EAACC;AAAA,EAAA;AAAA,IACI,GAAGF;AAAA,IACJ,IAAIJ,KAAM;AAAA,IACV,kBAAe;AAAA,IACf,WAAWO,EAAI,gHAAgHL,CAAS;AAAA,IAEvI,UAAA;AAAA,MAAAL,IACG,gBAAAW;AAAA,QAAC;AAAA,QAAA;AAAA,UACG,kBAAe;AAAA,UACf,WAAWD,EAAI,yEAAyEJ,CAAc;AAAA,UAErG,UAAAN;AAAA,QAAA;AAAA,MAAA,IAGLI;AAAA,MAEJ,gBAAAO,EAAC,OAAA,EAAI,kBAAe,aAAY,WAAWD,EAAI,mBAAmBH,EAAM,SAAS,GAC5E,UAAAN,IACG,gBAAAO,EAAC,OAAA,EAAI,WAAU,uBACX,UAAA;AAAA,QAAA,gBAAAG,EAACC,GAAA,EAAS,WAAU,SAAA,CAAS;AAAA,QAC7B,gBAAAD,EAACC,GAAA,EAAS,WAAU,SAAA,CAAS;AAAA,QAC7B,gBAAAD,EAACC,GAAA,EAAS,WAAU,UAAA,CAAU;AAAA,QAC9B,gBAAAD,EAACC,GAAA,EAAS,WAAU,QAAA,CAAQ;AAAA,MAAA,EAAA,CAChC,IAEAV,EAAA,CAER;AAAA,IAAA;AAAA,EAAA;AACJ;AAYJH,EAAK,QAAQ,CAAC,EAAE,IAAAI,GAAI,UAAAU,GAAU,QAAAC,GAAQ,UAAAZ,GAAU,GAAGK,QAAqD;AACpG,QAAMQ,IAAaZ,KAAM,OACnBa,IAASH,KAAY,MACrBI,IAAOH,KAAU;AACvB,SACI,gBAAAN;AAAA,IAACO;AAAA,IAAA;AAAA,MACI,GAAGR;AAAA,MACJ,OAAOW,EAAG,OAAOX,EAAM,KAAK,IAAIA,EAAM,QAAQ;AAAA,MAC9C,WAAWG,EAAI,mGAAmGH,EAAM,SAAS;AAAA,MAEjI,UAAA;AAAA,QAAA,gBAAAI,EAACK,GAAA,EAAM,WAAU,iBAAiB,UAAAT,EAAM,OAAM;AAAA,QAC7CL,IACG,gBAAAS,EAACM,GAAA,EAAI,WAAU,+FAA+F,UAAAf,GAAS,IACvH;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGhB;AAUO,MAAMiB,IAAY,CAACZ,MAA0B;AAChD,QAAMa,IAAcb,EAAM,eAAe,IACnCc,IAAOd,EAAM,QAAQe;AAC3B,SACI,gBAAAX,EAACZ,GAAA,EAAM,GAAGQ,GAAO,OAAO,MAAM,SAAS,QAAW,WAAU,aAAY,WAAU,gCAC9E,UAAA,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,WAAW,4DAA4DY,IAAc,yEAAyE,EAAE;AAAA,MAEhK,UAAA;AAAA,QAAA,gBAAAT;AAAA,UAAC;AAAA,UAAA;AAAA,YACG,WAAWD;AAAA,cACP;AAAA,cACAH,EAAM;AAAA,YAAA;AAAA,YAGT,UAAA,gBAAAI,EAACU,GAAA,EAAK,MAAM,GAAA,CAAI;AAAA,UAAA;AAAA,QAAA;AAAA,QAErB,gBAAAb,EAAC,OAAA,EAAI,WAAU,2CACX,UAAA;AAAA,UAAA,gBAAAG,EAAC,KAAA,EAAE,WAAU,WAAW,UAAAJ,EAAM,OAAM;AAAA,UACnCA,EAAM,UAAU,gBAAAI,EAACC,GAAA,EAAS,WAAU,OAAA,CAAO,IAAK,gBAAAD,EAAC,KAAA,EAAE,WAAU,oCAAoC,UAAAJ,EAAM,MAAA,CAAM;AAAA,QAAA,EAAA,CAClH;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA,GAER;AAER;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/components/display/list.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,EAAY,iBAAiB,EAAgC,MAAM,OAAO,CAAC;AACzF,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,KAAK,iBAAiB,GAAG;IACrB,KAAK,EAAE,KAAK,CAAC;IACb,WAAW,EAAE,KAAK,CAAC;IACnB,QAAQ,EAAE,KAAK,CAAC;IAChB,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,OAAO,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;QAAE,IAAI,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC,CAAC;CAC5C,CAAC;AAIF,KAAK,iBAAiB,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/components/display/list.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,EAAY,iBAAiB,EAAgC,MAAM,OAAO,CAAC;AACzF,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,KAAK,iBAAiB,GAAG;IACrB,KAAK,EAAE,KAAK,CAAC;IACb,WAAW,EAAE,KAAK,CAAC;IACnB,QAAQ,EAAE,KAAK,CAAC;IAChB,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,OAAO,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;QAAE,IAAI,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC,CAAC;CAC5C,CAAC;AAIF,KAAK,iBAAiB,GAAG,MAAM,CAAC;AA4DhC,eAAO,MAAM,YAAY,GAAI,OAAO,iBAAiB,CAAC,iBAAiB,CAAC,sBAoEvE,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,OAAO,iBAAiB,CAAC,iBAAiB,CAAC,sBAA0C,CAAC"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { jsx as e, jsxs as r } from "react/jsx-runtime";
|
|
2
|
+
import { u as w, n as F, d as k, i as C, c as I, F as j, k as A, l as O } from "../../floating-ui.react-DycKASR0.js";
|
|
3
|
+
import P, { useState as $, useId as L, useCallback as M, Fragment as m } from "react";
|
|
4
|
+
import { m as s, A as z } from "../../proxy-BZcQiBrp.js";
|
|
5
|
+
import { M as S } from "../../index-0YMC-_Lt.js";
|
|
6
|
+
import { X as D } from "../../x-B9bYxG31.js";
|
|
7
|
+
const R = ({ item: t, context: l, setter: i, get: c, refs: a }) => /* @__PURE__ */ e(j, { children: /* @__PURE__ */ e(S, { reducedMotion: "user", transition: { type: "spring", damping: 30, stiffness: 350 }, children: /* @__PURE__ */ r(z, { mode: "wait", presenceAffectsLayout: !0, children: [
|
|
8
|
+
t ? /* @__PURE__ */ e(
|
|
9
|
+
s.div,
|
|
10
|
+
{
|
|
11
|
+
exit: { opacity: 0 },
|
|
12
|
+
animate: { opacity: 1 },
|
|
13
|
+
initial: { opacity: 0 },
|
|
14
|
+
transition: { type: "tween", duration: 0.15, ease: "easeOut" },
|
|
15
|
+
className: "pointer-events-none fixed inset-0 top-0 z-overlay h-screen w-screen bg-floating-overlay/70"
|
|
16
|
+
},
|
|
17
|
+
"overlay"
|
|
18
|
+
) : null,
|
|
19
|
+
t ? /* @__PURE__ */ e(A, { lockScroll: !0, className: "absolute inset-0 z-floating flex items-center justify-center", children: /* @__PURE__ */ e(O, { visuallyHiddenDismiss: !0, modal: !0, closeOnFocusOut: !0, context: l, children: /* @__PURE__ */ r(
|
|
20
|
+
s.div,
|
|
21
|
+
{
|
|
22
|
+
layout: !0,
|
|
23
|
+
layoutId: `item-${t.id}`,
|
|
24
|
+
initial: { opacity: 0.6, scale: 0.98 },
|
|
25
|
+
animate: { opacity: 1, scale: 1 },
|
|
26
|
+
exit: { opacity: 0, scale: 0.98 },
|
|
27
|
+
className: "relative flex h-min w-min min-w-xs flex-col gap-4 rounded-card border border-card-border bg-card-background p-6 py-4 pb-8 shadow-shadow-card",
|
|
28
|
+
ref: a.setFloating,
|
|
29
|
+
...c(),
|
|
30
|
+
children: [
|
|
31
|
+
/* @__PURE__ */ e("nav", { className: "absolute right-4 top-1 lg:right-2", children: /* @__PURE__ */ e(
|
|
32
|
+
"button",
|
|
33
|
+
{
|
|
34
|
+
type: "button",
|
|
35
|
+
onClick: i,
|
|
36
|
+
className: "p-1 opacity-70 transition-colors hover:text-danger hover:opacity-100 focus:text-danger",
|
|
37
|
+
children: /* @__PURE__ */ e(D, {})
|
|
38
|
+
}
|
|
39
|
+
) }),
|
|
40
|
+
/* @__PURE__ */ r(s.header, { layout: !0, className: "flex w-full flex-wrap items-center justify-between gap-2", children: [
|
|
41
|
+
/* @__PURE__ */ e("h3", { className: "min-w-full text-balance text-2xl font-medium", children: t.title }),
|
|
42
|
+
/* @__PURE__ */ e("p", { className: "text-sm leading-snug text-secondary", children: t.description })
|
|
43
|
+
] }),
|
|
44
|
+
/* @__PURE__ */ e(s.div, { layout: !0, children: t.children })
|
|
45
|
+
]
|
|
46
|
+
}
|
|
47
|
+
) }) }, "card") : null
|
|
48
|
+
] }) }) }), E = (t) => {
|
|
49
|
+
const [l, i] = $(null), c = L(), { context: a, refs: h } = w({
|
|
50
|
+
open: l !== null,
|
|
51
|
+
transform: !0,
|
|
52
|
+
onOpenChange: (d) => d ? void 0 : i(null)
|
|
53
|
+
}), f = F(a), y = k(a, { role: "dialog" }), g = C(a, { escapeKey: !0, referencePress: !0, outsidePress: !0 }), { getFloatingProps: x } = I([f, y, g]), v = M(() => {
|
|
54
|
+
i(null);
|
|
55
|
+
}, []), b = P.Children.toArray(t.children);
|
|
56
|
+
return /* @__PURE__ */ r(m, { children: [
|
|
57
|
+
/* @__PURE__ */ e(R, { refs: h, context: a, get: x, item: l, setter: v }),
|
|
58
|
+
/* @__PURE__ */ e("ul", { role: "list", children: b.map((d, N) => {
|
|
59
|
+
const n = d.props, o = `${c}-${N}`, u = () => i({ ...n, id: o }), p = n.leading;
|
|
60
|
+
return /* @__PURE__ */ e(
|
|
61
|
+
s.li,
|
|
62
|
+
{
|
|
63
|
+
layout: !0,
|
|
64
|
+
layoutId: `item-${o}`,
|
|
65
|
+
className: "border-b border-card-border py-2 last:border-transparent",
|
|
66
|
+
children: /* @__PURE__ */ e(s.div, { layoutId: `toast-${o}`, className: "relative", children: /* @__PURE__ */ e("div", { className: "relative flex items-start space-x-3", children: /* @__PURE__ */ r(m, { children: [
|
|
67
|
+
n.avatar ? /* @__PURE__ */ e("div", { children: /* @__PURE__ */ e("div", { className: "relative px-1", children: /* @__PURE__ */ e("button", { onClick: u, className: "flex size-10 items-center justify-center ring-primary", children: n.avatar }) }) }) : null,
|
|
68
|
+
/* @__PURE__ */ e("div", { className: "min-w-0 flex-1 py-1 text-foreground", children: /* @__PURE__ */ r("div", { className: "flex flex-row flex-nowrap justify-between gap-4", children: [
|
|
69
|
+
/* @__PURE__ */ r(
|
|
70
|
+
"button",
|
|
71
|
+
{
|
|
72
|
+
onClick: u,
|
|
73
|
+
className: "cursor-pointer text-left transition-all ease-out hover:text-primary",
|
|
74
|
+
children: [
|
|
75
|
+
/* @__PURE__ */ e("h3", { children: n.title }),
|
|
76
|
+
/* @__PURE__ */ e("p", { className: "text-sm leading-snug text-secondary", children: n.description })
|
|
77
|
+
]
|
|
78
|
+
}
|
|
79
|
+
),
|
|
80
|
+
p ? /* @__PURE__ */ e(p, { open: u }) : null
|
|
81
|
+
] }) })
|
|
82
|
+
] }) }) })
|
|
83
|
+
},
|
|
84
|
+
o
|
|
85
|
+
);
|
|
86
|
+
}) })
|
|
87
|
+
] });
|
|
88
|
+
}, G = (t) => /* @__PURE__ */ e(m, { children: t.children });
|
|
89
|
+
export {
|
|
90
|
+
E as AnimatedList,
|
|
91
|
+
G as AnimatedListItem
|
|
92
|
+
};
|
|
93
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","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 \"lucide-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: any };\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-4 rounded-card border border-card-border bg-card-background p-6 py-4 pb-8 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-1 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-2\">\n <h3 className=\"min-w-full text-balance text-2xl font-medium\">{item.title}</h3>\n <p className=\"text-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, { escapeKey: true, referencePress: true, outsidePress: true });\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: AnimatedItemProps = (x as any).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-2 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-1\">\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-1 text-foreground\">\n <div className=\"flex flex-row flex-nowrap justify-between gap-4\">\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-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"],"names":["FloatItem","item","context","setter","get","refs","jsx","FloatingPortal","MotionConfig","jsxs","AnimatePresence","motion","FloatingOverlay","FloatingFocusManager","XIcon","AnimatedList","props","selected","setSelected","useState","id","useId","useFloating","open","click","useClick","role","useRole","dismiss","useDismiss","getFloatingProps","useInteractions","clear","useCallback","items","React","Fragment","x","index","innerId","Leading","AnimatedListItem"],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import "react/jsx-runtime";
|
|
2
|
+
import "../../index-DJSMaZR4.js";
|
|
3
|
+
import "react";
|
|
4
|
+
import { w as n, s as N } from "../../notifications-NPuFDsBp.js";
|
|
5
|
+
import "../../dom-Dl8XH0CK.js";
|
|
6
|
+
import "../../proxy-BZcQiBrp.js";
|
|
7
|
+
import "../../info-N5jWZg2A.js";
|
|
8
|
+
import "../../circle-check-big-3M5lhTxx.js";
|
|
9
|
+
import "../../triangle-alert-CHMhQ6yd.js";
|
|
10
|
+
import "../../x-B9bYxG31.js";
|
|
11
|
+
export {
|
|
12
|
+
n as Notifications,
|
|
13
|
+
N as useNotification
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=notifications.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notifications.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { jsxs as a, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { c as d } from "../../dom-Dl8XH0CK.js";
|
|
3
|
+
const i = (r) => /* @__PURE__ */ a("div", { className: "divide-y divide-card-border rounded-card border border-card-border bg-card-background shadow-shadow-card", children: [
|
|
4
|
+
/* @__PURE__ */ a("header", { className: "flex items-start gap-4 p-6", children: [
|
|
5
|
+
/* @__PURE__ */ e("div", { className: d("flex aspect-square size-10 items-center justify-center rounded-card bg-primary p-8", r.iconContainer), children: /* @__PURE__ */ e("div", { children: /* @__PURE__ */ e(r.Icon, { className: "aspect-square size-10 text-primary-foreground" }) }) }),
|
|
6
|
+
/* @__PURE__ */ a("div", { className: "flex flex-col gap-1", children: [
|
|
7
|
+
/* @__PURE__ */ e("header", { children: /* @__PURE__ */ e("h3", { className: "text-base leading-none", children: r.title }) }),
|
|
8
|
+
/* @__PURE__ */ e("p", { className: "text-4xl font-semibold", children: r.children })
|
|
9
|
+
] })
|
|
10
|
+
] }),
|
|
11
|
+
r.footer ? /* @__PURE__ */ e("footer", { className: "px-6 py-2", children: r.footer }) : null
|
|
12
|
+
] });
|
|
13
|
+
export {
|
|
14
|
+
i as Stats
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=stats.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stats.js","sources":["../../../src/components/display/stats.tsx"],"sourcesContent":["import React from \"react\";\nimport { css } from \"../../lib/dom\";\nimport { Label } from \"../../types\";\n\nexport type StatsProps = {\n title: Label;\n iconContainer?: string;\n footer?: React.ReactElement;\n Icon: React.FC<{ className: string }>;\n};\n\nexport const Stats = (props: React.PropsWithChildren<StatsProps>) => {\n return (\n <div className=\"divide-y divide-card-border rounded-card border border-card-border bg-card-background shadow-shadow-card\">\n <header className=\"flex items-start gap-4 p-6\">\n <div className={css(\"flex aspect-square size-10 items-center justify-center rounded-card bg-primary p-8\", props.iconContainer)}>\n <div>\n <props.Icon className=\"aspect-square size-10 text-primary-foreground\" />\n </div>\n </div>\n <div className=\"flex flex-col gap-1\">\n <header>\n <h3 className=\"text-base leading-none\">{props.title}</h3>\n </header>\n <p className=\"text-4xl font-semibold\">{props.children}</p>\n </div>\n </header>\n {props.footer ? <footer className=\"px-6 py-2\">{props.footer}</footer> : null}\n </div>\n );\n};\n"],"names":["Stats","props","jsxs","jsx","css"],"mappings":";;AAWO,MAAMA,IAAQ,CAACC,MAEd,gBAAAC,EAAC,OAAA,EAAI,WAAU,4GACX,UAAA;AAAA,EAAA,gBAAAA,EAAC,UAAA,EAAO,WAAU,8BACd,UAAA;AAAA,IAAA,gBAAAC,EAAC,SAAI,WAAWC,EAAI,sFAAsFH,EAAM,aAAa,GACzH,UAAA,gBAAAE,EAAC,OAAA,EACG,UAAA,gBAAAA,EAACF,EAAM,MAAN,EAAW,WAAU,gDAAA,CAAgD,GAC1E,GACJ;AAAA,IACA,gBAAAC,EAAC,OAAA,EAAI,WAAU,uBACX,UAAA;AAAA,MAAA,gBAAAC,EAAC,YACG,UAAA,gBAAAA,EAAC,MAAA,EAAG,WAAU,0BAA0B,UAAAF,EAAM,OAAM,EAAA,CACxD;AAAA,MACA,gBAAAE,EAAC,KAAA,EAAE,WAAU,0BAA0B,YAAM,SAAA,CAAS;AAAA,IAAA,EAAA,CAC1D;AAAA,EAAA,GACJ;AAAA,EACCF,EAAM,SAAS,gBAAAE,EAAC,UAAA,EAAO,WAAU,aAAa,UAAAF,EAAM,QAAO,IAAY;AAAA,GAC5E;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import "react/jsx-runtime";
|
|
2
|
+
import "react";
|
|
3
|
+
import "../../dom-Dl8XH0CK.js";
|
|
4
|
+
import { a as T, T as b } from "../../tabs-ccIA7vMo.js";
|
|
5
|
+
import "../../use-stable-ref-CYh-YkID.js";
|
|
6
|
+
import "../../polymorph-B5n9fs_K.js";
|
|
7
|
+
import "./card.js";
|
|
8
|
+
export {
|
|
9
|
+
T as Tab,
|
|
10
|
+
b as Tabs
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=tabs.js.map
|