@marktiderman/genesis-ui 1.2.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AppShell-BJarYZzz.d.ts +198 -0
- package/dist/{chunk-NJMO3VPA.js → chunk-22XB3Q6H.js} +8 -8
- package/dist/chunk-22XB3Q6H.js.map +1 -0
- package/dist/{chunk-2MXMWBDV.js → chunk-27ELYTGE.js} +6 -6
- package/dist/chunk-27ELYTGE.js.map +1 -0
- package/dist/chunk-46TZGMFW.js +159 -0
- package/dist/chunk-46TZGMFW.js.map +1 -0
- package/dist/chunk-4CQHPWJD.js +117 -0
- package/dist/chunk-4CQHPWJD.js.map +1 -0
- package/dist/{chunk-ZDAT5JDH.js → chunk-65SPT7EA.js} +24 -6
- package/dist/chunk-65SPT7EA.js.map +1 -0
- package/dist/chunk-6KHY647C.js +67 -0
- package/dist/chunk-6KHY647C.js.map +1 -0
- package/dist/chunk-6M4NHHKG.js +51 -0
- package/dist/chunk-6M4NHHKG.js.map +1 -0
- package/dist/{chunk-AI6CCNWK.js → chunk-6NPEMLBA.js} +2 -2
- package/dist/chunk-6NPEMLBA.js.map +1 -0
- package/dist/chunk-6Q6CLLJ4.js +9 -0
- package/dist/chunk-6Q6CLLJ4.js.map +1 -0
- package/dist/{chunk-UGHQFQOE.js → chunk-6TVMQH6M.js} +28 -28
- package/dist/chunk-6TVMQH6M.js.map +1 -0
- package/dist/{chunk-UKSBLFEK.js → chunk-6XPMU65K.js} +5 -5
- package/dist/{chunk-UKSBLFEK.js.map → chunk-6XPMU65K.js.map} +1 -1
- package/dist/{chunk-YZEA5TGK.js → chunk-7XMZVISM.js} +16 -16
- package/dist/chunk-7XMZVISM.js.map +1 -0
- package/dist/chunk-A7AHVDG7.js +52 -0
- package/dist/chunk-A7AHVDG7.js.map +1 -0
- package/dist/chunk-AFZ76Q26.js +84 -0
- package/dist/chunk-AFZ76Q26.js.map +1 -0
- package/dist/{chunk-4V4H2ZM7.js → chunk-AL5TMEZQ.js} +31 -31
- package/dist/chunk-AL5TMEZQ.js.map +1 -0
- package/dist/{chunk-O4B5ALO7.js → chunk-AOZGQM6W.js} +3 -3
- package/dist/chunk-AOZGQM6W.js.map +1 -0
- package/dist/chunk-ARJI2JUV.js +122 -0
- package/dist/chunk-ARJI2JUV.js.map +1 -0
- package/dist/chunk-AVFZ4P4B.js +25 -0
- package/dist/chunk-AVFZ4P4B.js.map +1 -0
- package/dist/chunk-B2GIBUQD.js +11 -0
- package/dist/chunk-B2GIBUQD.js.map +1 -0
- package/dist/{chunk-JXI2MYL3.js → chunk-C46ITXE4.js} +5 -5
- package/dist/chunk-C46ITXE4.js.map +1 -0
- package/dist/chunk-CNTWQSUT.js +65 -0
- package/dist/chunk-CNTWQSUT.js.map +1 -0
- package/dist/chunk-D2LIXA2Y.js +65 -0
- package/dist/chunk-D2LIXA2Y.js.map +1 -0
- package/dist/{chunk-FCGFG4RV.js → chunk-D4JTQYP5.js} +3 -3
- package/dist/{chunk-FCGFG4RV.js.map → chunk-D4JTQYP5.js.map} +1 -1
- package/dist/{chunk-T5VX5DYO.js → chunk-F47U5KNW.js} +5 -5
- package/dist/chunk-F47U5KNW.js.map +1 -0
- package/dist/chunk-FEJAZFP3.js +1100 -0
- package/dist/chunk-FEJAZFP3.js.map +1 -0
- package/dist/{chunk-2B3MFHBQ.js → chunk-FK42ZGGV.js} +21 -21
- package/dist/chunk-FK42ZGGV.js.map +1 -0
- package/dist/{chunk-XISSLIMH.js → chunk-FTTNGGLA.js} +2 -2
- package/dist/{chunk-XISSLIMH.js.map → chunk-FTTNGGLA.js.map} +1 -1
- package/dist/chunk-G5YKBPBF.js +74 -0
- package/dist/chunk-G5YKBPBF.js.map +1 -0
- package/dist/chunk-GCQFVMPI.js +56 -0
- package/dist/chunk-GCQFVMPI.js.map +1 -0
- package/dist/{chunk-LDPPIBIJ.js → chunk-IJCT5IJD.js} +3 -3
- package/dist/{chunk-LDPPIBIJ.js.map → chunk-IJCT5IJD.js.map} +1 -1
- package/dist/{chunk-DGRHPJ3M.js → chunk-J6FBA7PH.js} +3 -3
- package/dist/{chunk-DGRHPJ3M.js.map → chunk-J6FBA7PH.js.map} +1 -1
- package/dist/chunk-JAMLFMDS.js +12 -0
- package/dist/chunk-JAMLFMDS.js.map +1 -0
- package/dist/{chunk-C6H7AMO4.js → chunk-LNFF2RBD.js} +9 -9
- package/dist/chunk-LNFF2RBD.js.map +1 -0
- package/dist/{chunk-QBZMY2AF.js → chunk-M62CHO3N.js} +18 -18
- package/dist/chunk-M62CHO3N.js.map +1 -0
- package/dist/{chunk-5Q4FABZQ.js → chunk-NUXW6NPP.js} +8 -8
- package/dist/chunk-NUXW6NPP.js.map +1 -0
- package/dist/{chunk-I6JQHP6D.js → chunk-NWSCYLPT.js} +78 -17
- package/dist/chunk-NWSCYLPT.js.map +1 -0
- package/dist/{chunk-63FW5ZUA.js → chunk-P3ZL6FGR.js} +7 -7
- package/dist/chunk-P3ZL6FGR.js.map +1 -0
- package/dist/chunk-P64MFQXZ.js +191 -0
- package/dist/chunk-P64MFQXZ.js.map +1 -0
- package/dist/chunk-PLIYF6KI.js +52 -0
- package/dist/chunk-PLIYF6KI.js.map +1 -0
- package/dist/chunk-PSR47JRA.js +26 -0
- package/dist/chunk-PSR47JRA.js.map +1 -0
- package/dist/{chunk-QLCDAFS7.js → chunk-Q4I4SFBD.js} +3 -3
- package/dist/chunk-Q4I4SFBD.js.map +1 -0
- package/dist/{chunk-SBJV3K4G.js → chunk-QJ6P2DW6.js} +28 -28
- package/dist/chunk-QJ6P2DW6.js.map +1 -0
- package/dist/{chunk-IP6TMT3D.js → chunk-R7QFP6EL.js} +3 -3
- package/dist/chunk-R7QFP6EL.js.map +1 -0
- package/dist/{chunk-WZWR2ELB.js → chunk-SEBU6JCK.js} +6 -6
- package/dist/chunk-SEBU6JCK.js.map +1 -0
- package/dist/{chunk-7OBL3H5P.js → chunk-SEFK4NZV.js} +3 -3
- package/dist/chunk-SEFK4NZV.js.map +1 -0
- package/dist/chunk-SRIT4NFQ.js +67 -0
- package/dist/chunk-SRIT4NFQ.js.map +1 -0
- package/dist/chunk-SY62XJFA.js +19 -0
- package/dist/chunk-SY62XJFA.js.map +1 -0
- package/dist/{chunk-SVXDWPLO.js → chunk-THD3YOOZ.js} +17 -17
- package/dist/chunk-THD3YOOZ.js.map +1 -0
- package/dist/chunk-VXFYETRK.js +58 -0
- package/dist/chunk-VXFYETRK.js.map +1 -0
- package/dist/chunk-XBX6QMR5.js +58 -0
- package/dist/chunk-XBX6QMR5.js.map +1 -0
- package/dist/{chunk-SCUT2ZCD.js → chunk-XCGZPFT7.js} +17 -17
- package/dist/chunk-XCGZPFT7.js.map +1 -0
- package/dist/chunk-XMK3T4TA.js +73 -0
- package/dist/chunk-XMK3T4TA.js.map +1 -0
- package/dist/chunk-YJ6MPS6U.js +226 -0
- package/dist/chunk-YJ6MPS6U.js.map +1 -0
- package/dist/chunk-YRYQXU3G.js +38 -0
- package/dist/chunk-YRYQXU3G.js.map +1 -0
- package/dist/{chunk-5J7BP5DI.js → chunk-YWFPMND7.js} +10 -10
- package/dist/chunk-YWFPMND7.js.map +1 -0
- package/dist/chunk-YYEGAFUE.js +94 -0
- package/dist/chunk-YYEGAFUE.js.map +1 -0
- package/dist/{chunk-TKA4LOMT.js → chunk-ZZ7H7VVX.js} +8 -8
- package/dist/chunk-ZZ7H7VVX.js.map +1 -0
- package/dist/components/data/index.d.ts +223 -74
- package/dist/components/data/index.js +504 -539
- package/dist/components/data/index.js.map +1 -1
- package/dist/components/layout/dashboard-page.d.ts +4 -0
- package/dist/components/layout/dashboard-page.js +5 -0
- package/dist/components/layout/dashboard-page.js.map +1 -0
- package/dist/components/layout/detail-page.d.ts +91 -0
- package/dist/components/layout/detail-page.js +6 -0
- package/dist/components/layout/detail-page.js.map +1 -0
- package/dist/components/layout/form-page.d.ts +82 -0
- package/dist/components/layout/form-page.js +5 -0
- package/dist/components/layout/form-page.js.map +1 -0
- package/dist/components/layout/index.d.ts +15 -0
- package/dist/components/layout/index.js +21 -0
- package/dist/components/layout/index.js.map +1 -0
- package/dist/components/layout/settings-page.d.ts +114 -0
- package/dist/components/layout/settings-page.js +6 -0
- package/dist/components/layout/settings-page.js.map +1 -0
- package/dist/components/patterns/empty-state.d.ts +74 -0
- package/dist/components/{ui → patterns}/empty-state.js +2 -1
- package/dist/components/{ui → patterns}/form-field.d.ts +2 -2
- package/dist/components/{ui → patterns}/form-field.js +2 -2
- package/dist/components/patterns/index.d.ts +18 -0
- package/dist/components/patterns/index.js +18 -0
- package/dist/components/patterns/index.js.map +1 -0
- package/dist/components/patterns/page-loading.d.ts +25 -0
- package/dist/components/patterns/page-loading.js +5 -0
- package/dist/components/patterns/page-loading.js.map +1 -0
- package/dist/components/patterns/settings-row.d.ts +42 -0
- package/dist/components/patterns/settings-row.js +6 -0
- package/dist/components/patterns/settings-row.js.map +1 -0
- package/dist/components/patterns/status-badge.d.ts +38 -0
- package/dist/components/patterns/status-badge.js +4 -0
- package/dist/components/patterns/status-badge.js.map +1 -0
- package/dist/components/patterns/toggle-row.d.ts +36 -0
- package/dist/components/patterns/toggle-row.js +8 -0
- package/dist/components/patterns/toggle-row.js.map +1 -0
- package/dist/components/patterns/user-avatar.d.ts +34 -0
- package/dist/components/patterns/user-avatar.js +5 -0
- package/dist/components/patterns/user-avatar.js.map +1 -0
- package/dist/components/ui/accessible-icon.d.ts +48 -0
- package/dist/components/ui/accessible-icon.js +3 -0
- package/dist/components/ui/accessible-icon.js.map +1 -0
- package/dist/components/ui/accordion.d.ts +5 -5
- package/dist/components/ui/accordion.js +1 -1
- package/dist/components/ui/alert-dialog.d.ts +10 -10
- package/dist/components/ui/alert-dialog.js +1 -1
- package/dist/components/ui/aspect-ratio.d.ts +2 -2
- package/dist/components/ui/aspect-ratio.js +1 -1
- package/dist/components/ui/avatar.d.ts +4 -4
- package/dist/components/ui/avatar.js +1 -1
- package/dist/components/ui/button.d.ts +75 -8
- package/dist/components/ui/button.js +1 -1
- package/dist/components/ui/calendar.js +2 -2
- package/dist/components/ui/carousel.d.ts +4 -3
- package/dist/components/ui/carousel.js +2 -2
- package/dist/components/ui/checkbox.d.ts +2 -2
- package/dist/components/ui/checkbox.js +1 -1
- package/dist/components/ui/collapsible.d.ts +4 -4
- package/dist/components/ui/collapsible.js +1 -1
- package/dist/components/ui/command-palette.d.ts +30 -0
- package/dist/components/ui/command-palette.js +6 -0
- package/dist/components/ui/command-palette.js.map +1 -0
- package/dist/components/ui/command.d.ts +9 -9
- package/dist/components/ui/command.js +2 -2
- package/dist/components/ui/context-menu.d.ts +15 -15
- package/dist/components/ui/context-menu.js +1 -1
- package/dist/components/ui/date-picker.js +4 -4
- package/dist/components/ui/dialog.d.ts +9 -9
- package/dist/components/ui/dialog.js +1 -1
- package/dist/components/ui/drawer.d.ts +7 -7
- package/dist/components/ui/dropdown-menu.d.ts +15 -15
- package/dist/components/ui/dropdown-menu.js +1 -1
- package/dist/components/ui/hover-card.d.ts +4 -4
- package/dist/components/ui/hover-card.js +1 -1
- package/dist/components/ui/input-otp.d.ts +2 -2
- package/dist/components/ui/label.d.ts +2 -2
- package/dist/components/ui/label.js +1 -1
- package/dist/components/ui/menubar.d.ts +16 -16
- package/dist/components/ui/menubar.js +1 -1
- package/dist/components/ui/navigation-menu.d.ts +9 -9
- package/dist/components/ui/navigation-menu.js +1 -1
- package/dist/components/ui/pagination.js +2 -2
- package/dist/components/ui/password-toggle-field.d.ts +121 -0
- package/dist/components/ui/password-toggle-field.js +4 -0
- package/dist/components/ui/password-toggle-field.js.map +1 -0
- package/dist/components/ui/popover.d.ts +4 -4
- package/dist/components/ui/popover.js +1 -1
- package/dist/components/ui/radio-group.d.ts +3 -3
- package/dist/components/ui/radio-group.js +1 -1
- package/dist/components/ui/resizable.d.ts +1 -1
- package/dist/components/ui/scroll-area.d.ts +60 -3
- package/dist/components/ui/scroll-area.js +1 -1
- package/dist/components/ui/select.d.ts +9 -9
- package/dist/components/ui/select.js +1 -1
- package/dist/components/ui/sheet.d.ts +11 -9
- package/dist/components/ui/sheet.js +1 -1
- package/dist/components/ui/slider.d.ts +2 -2
- package/dist/components/ui/slider.js +1 -1
- package/dist/components/ui/switch.d.ts +2 -2
- package/dist/components/ui/switch.js +1 -1
- package/dist/components/ui/tabs.d.ts +29 -14
- package/dist/components/ui/tabs.js +1 -1
- package/dist/components/ui/toggle-group.d.ts +3 -3
- package/dist/components/ui/toggle-group.js +2 -2
- package/dist/components/ui/toggle.d.ts +2 -2
- package/dist/components/ui/toggle.js +1 -1
- package/dist/components/ui/toolbar.d.ts +104 -0
- package/dist/components/ui/toolbar.js +6 -0
- package/dist/components/ui/toolbar.js.map +1 -0
- package/dist/components/ui/tooltip.d.ts +46 -4
- package/dist/components/ui/tooltip.js +1 -1
- package/dist/components/ui/visually-hidden.d.ts +48 -0
- package/dist/components/ui/visually-hidden.js +4 -0
- package/dist/components/ui/visually-hidden.js.map +1 -0
- package/dist/dashboard-page-C0TihRl5.d.ts +107 -0
- package/dist/hooks/index.d.ts +5 -3
- package/dist/hooks/index.js +10 -5
- package/dist/hooks/use-data-filters.d.ts +1 -1
- package/dist/hooks/use-data-filters.js +2 -2
- package/dist/hooks/use-keyboard-navigation.d.ts +58 -2
- package/dist/hooks/use-keyboard-navigation.js +1 -1
- package/dist/hooks/use-resource-page.d.ts +3 -2
- package/dist/hooks/use-resource-page.js +2 -2
- package/dist/hooks/use-saved-views.d.ts +28 -0
- package/dist/hooks/use-saved-views.js +3 -0
- package/dist/hooks/use-saved-views.js.map +1 -0
- package/dist/hooks/use-view-preference.d.ts +1 -1
- package/dist/hooks/use-view-preference.js +1 -1
- package/dist/index.d.ts +25 -26
- package/dist/index.js +55 -38
- package/dist/{navigation-qI86Ldug.d.ts → navigation-CpOEyUSb.d.ts} +4 -0
- package/dist/spacing-BS6qECD4.d.ts +191 -0
- package/dist/split-Dk9f4Mi0.d.ts +57 -0
- package/dist/{use-resource-page-B-CFcikK.d.ts → use-resource-page-CPs6wjKt.d.ts} +10 -2
- package/dist/view-settings--KXNT_jE.d.ts +12 -0
- package/package.json +77 -32
- package/dist/chunk-2B3MFHBQ.js.map +0 -1
- package/dist/chunk-2MXMWBDV.js.map +0 -1
- package/dist/chunk-4V4H2ZM7.js.map +0 -1
- package/dist/chunk-5J7BP5DI.js.map +0 -1
- package/dist/chunk-5Q4FABZQ.js.map +0 -1
- package/dist/chunk-63FW5ZUA.js.map +0 -1
- package/dist/chunk-7OBL3H5P.js.map +0 -1
- package/dist/chunk-AI6CCNWK.js.map +0 -1
- package/dist/chunk-C6H7AMO4.js.map +0 -1
- package/dist/chunk-EI5EGKHL.js +0 -32
- package/dist/chunk-EI5EGKHL.js.map +0 -1
- package/dist/chunk-I6JQHP6D.js.map +0 -1
- package/dist/chunk-IP6TMT3D.js.map +0 -1
- package/dist/chunk-JJ4NOMMI.js +0 -73
- package/dist/chunk-JJ4NOMMI.js.map +0 -1
- package/dist/chunk-JXI2MYL3.js.map +0 -1
- package/dist/chunk-KBS4BHME.js +0 -11
- package/dist/chunk-KBS4BHME.js.map +0 -1
- package/dist/chunk-LRXDZBV2.js +0 -26
- package/dist/chunk-LRXDZBV2.js.map +0 -1
- package/dist/chunk-NJMO3VPA.js.map +0 -1
- package/dist/chunk-O4B5ALO7.js.map +0 -1
- package/dist/chunk-OCTV3S4I.js +0 -29
- package/dist/chunk-OCTV3S4I.js.map +0 -1
- package/dist/chunk-QBZMY2AF.js.map +0 -1
- package/dist/chunk-QLCDAFS7.js.map +0 -1
- package/dist/chunk-SBJV3K4G.js.map +0 -1
- package/dist/chunk-SCUT2ZCD.js.map +0 -1
- package/dist/chunk-SVXDWPLO.js.map +0 -1
- package/dist/chunk-T465NJRL.js +0 -134
- package/dist/chunk-T465NJRL.js.map +0 -1
- package/dist/chunk-T5VX5DYO.js.map +0 -1
- package/dist/chunk-TKA4LOMT.js.map +0 -1
- package/dist/chunk-UGHQFQOE.js.map +0 -1
- package/dist/chunk-WALXVR6V.js +0 -9
- package/dist/chunk-WALXVR6V.js.map +0 -1
- package/dist/chunk-WZWR2ELB.js.map +0 -1
- package/dist/chunk-YZEA5TGK.js.map +0 -1
- package/dist/chunk-ZDAT5JDH.js.map +0 -1
- package/dist/components/ui/empty-state.d.ts +0 -22
- /package/dist/components/{ui → patterns}/empty-state.js.map +0 -0
- /package/dist/components/{ui → patterns}/form-field.js.map +0 -0
- /package/dist/{ViewToggle-DDe_Luj2.d.ts → view-toggle-DDe_Luj2.d.ts} +0 -0
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { VariantProps } from 'class-variance-authority';
|
|
4
|
+
|
|
5
|
+
declare const stackVariants: (props?: ({
|
|
6
|
+
direction?: "row" | "column" | null | undefined;
|
|
7
|
+
gap?: "sm" | "lg" | "none" | "xs" | "md" | "xl" | "2xl" | "3xl" | null | undefined;
|
|
8
|
+
align?: "center" | "end" | "start" | "stretch" | null | undefined;
|
|
9
|
+
justify?: "center" | "end" | "start" | "between" | "around" | null | undefined;
|
|
10
|
+
wrap?: boolean | null | undefined;
|
|
11
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
12
|
+
interface StackProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof stackVariants> {
|
|
13
|
+
/** Stable test/automation selector (emitted as `data-testid`). */
|
|
14
|
+
testID?: string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Stack — one-dimensional flow. The single most-repeated shape in any
|
|
18
|
+
* application: a run of things in a line, evenly spaced.
|
|
19
|
+
*
|
|
20
|
+
* It replaces the `flex flex-col gap-4` / `flex items-center gap-2` strings
|
|
21
|
+
* that otherwise get retyped in every file, and it is the reason `gap`
|
|
22
|
+
* stays on the shared `SpaceToken` scale (see `./spacing`) instead of
|
|
23
|
+
* drifting per page.
|
|
24
|
+
*
|
|
25
|
+
* ```tsx
|
|
26
|
+
* <Stack gap="lg">
|
|
27
|
+
* <Card />
|
|
28
|
+
* <Card />
|
|
29
|
+
* </Stack>
|
|
30
|
+
*
|
|
31
|
+
* <Stack direction="row" align="center" justify="between" gap="sm">
|
|
32
|
+
* <h2>Members</h2>
|
|
33
|
+
* <Button>Invite</Button>
|
|
34
|
+
* </Stack>
|
|
35
|
+
* ```
|
|
36
|
+
*
|
|
37
|
+
* Deliberately NOT here: responsive per-breakpoint directions. A layout
|
|
38
|
+
* that changes axis at a breakpoint is a `Split`, which owns that idea and
|
|
39
|
+
* names the breakpoint explicitly.
|
|
40
|
+
*
|
|
41
|
+
* Note for consumers of both surfaces: `@marktiderman/genesis-ui-native`
|
|
42
|
+
* splits this shape into two components, `Stack` (column) and `Inline`
|
|
43
|
+
* (row). On web they are one component with a `direction` prop, which is
|
|
44
|
+
* the established web idiom. The `gap` / `align` / `justify` vocabulary is
|
|
45
|
+
* identical either way — deliberately, and enforced by a test that reads
|
|
46
|
+
* the native definitions directly — so a spec written once still reads the
|
|
47
|
+
* same on both. That means the web unions are the SHARED vocabulary, not
|
|
48
|
+
* everything web flexbox can do; see the note on `align` below.
|
|
49
|
+
*
|
|
50
|
+
* @stability Beta
|
|
51
|
+
*/
|
|
52
|
+
declare const Stack: React.ForwardRefExoticComponent<StackProps & React.RefAttributes<HTMLDivElement>>;
|
|
53
|
+
|
|
54
|
+
declare const sectionHeadingVariants: (props?: ({
|
|
55
|
+
level?: 2 | 4 | 3 | null | undefined;
|
|
56
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
57
|
+
interface SectionProps extends Omit<React.HTMLAttributes<HTMLElement>, "title"> {
|
|
58
|
+
/** Section heading. Required — an untitled region is just a `Stack`. */
|
|
59
|
+
title: React.ReactNode;
|
|
60
|
+
/** Optional supporting copy under the heading. */
|
|
61
|
+
description?: React.ReactNode;
|
|
62
|
+
/** Optional trailing controls for this region (a button, a menu, a filter). */
|
|
63
|
+
actions?: React.ReactNode;
|
|
64
|
+
/**
|
|
65
|
+
* Heading level. Default `2`, i.e. a top-level region of a page whose
|
|
66
|
+
* `<h1>` is the page title. Drop to `3`/`4` when nesting so the outline
|
|
67
|
+
* stays legal — heading level is document structure, not a font size.
|
|
68
|
+
*/
|
|
69
|
+
level?: 2 | 3 | 4;
|
|
70
|
+
/** Escape hatch for the heading's own classes (type scale, color). */
|
|
71
|
+
headingClassName?: string;
|
|
72
|
+
/** Stable test/automation selector (emitted as `data-testid`). */
|
|
73
|
+
testID?: string;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Section — a titled region of a page: heading, optional description,
|
|
77
|
+
* optional trailing actions, and the content itself.
|
|
78
|
+
*
|
|
79
|
+
* ```tsx
|
|
80
|
+
* <Section
|
|
81
|
+
* title="Team members"
|
|
82
|
+
* description="Everyone with access to this workspace."
|
|
83
|
+
* actions={<Button>Invite</Button>}
|
|
84
|
+
* >
|
|
85
|
+
* <Grid cols={3}>{…}</Grid>
|
|
86
|
+
* </Section>
|
|
87
|
+
* ```
|
|
88
|
+
*
|
|
89
|
+
* Renders a real `<section>` named by its own heading through
|
|
90
|
+
* `aria-labelledby`, which is what turns it into a navigable landmark —
|
|
91
|
+
* an unnamed `<section>` is announced as nothing at all, so the markup
|
|
92
|
+
* that *looks* the most semantic is the markup that most often isn't.
|
|
93
|
+
*
|
|
94
|
+
* The header collapses to a column below `sm`, so a long title and an
|
|
95
|
+
* action button never fight over the same line on a phone.
|
|
96
|
+
*
|
|
97
|
+
* @stability Beta
|
|
98
|
+
*/
|
|
99
|
+
declare const Section: React.ForwardRefExoticComponent<SectionProps & React.RefAttributes<HTMLElement>>;
|
|
100
|
+
|
|
101
|
+
declare const containerVariants: (props?: ({
|
|
102
|
+
size?: "sm" | "lg" | "md" | "full" | "prose" | null | undefined;
|
|
103
|
+
gutter?: boolean | null | undefined;
|
|
104
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
105
|
+
interface ContainerProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof containerVariants> {
|
|
106
|
+
/** Stable test/automation selector (emitted as `data-testid`). */
|
|
107
|
+
testID?: string;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Container — the page gutter: a centered column with a named maximum
|
|
111
|
+
* width and responsive side padding.
|
|
112
|
+
*
|
|
113
|
+
* ```tsx
|
|
114
|
+
* <Container>
|
|
115
|
+
* <Section title="Overview">{…}</Section>
|
|
116
|
+
* </Container>
|
|
117
|
+
*
|
|
118
|
+
* <Container size="sm">
|
|
119
|
+
* <SettingsForm />
|
|
120
|
+
* </Container>
|
|
121
|
+
*
|
|
122
|
+
* <Container size="full" gutter={false}>
|
|
123
|
+
* <FullBleedMap />
|
|
124
|
+
* </Container>
|
|
125
|
+
* ```
|
|
126
|
+
*
|
|
127
|
+
* `gutter` is a real prop rather than a `className` override because the
|
|
128
|
+
* padding is responsive: passing `px-0` would only cancel the base step
|
|
129
|
+
* and leave `sm:px-6` and `lg:px-8` intact, so the escape hatch that looks
|
|
130
|
+
* like it should work silently doesn't.
|
|
131
|
+
*
|
|
132
|
+
* @stability Beta
|
|
133
|
+
*/
|
|
134
|
+
declare const Container: React.ForwardRefExoticComponent<ContainerProps & React.RefAttributes<HTMLDivElement>>;
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* Layout spacing scale — the single source of truth for the `gap` prop
|
|
138
|
+
* shared by `Stack`, `Grid` and `Split`.
|
|
139
|
+
*
|
|
140
|
+
* These are the SAME semantic step names and the SAME pixel values as
|
|
141
|
+
* `@marktiderman/genesis-ui-native`'s `spaceScale`
|
|
142
|
+
* (`packages/ui-native/src/components/layout/spacing.ts`), which already
|
|
143
|
+
* governs the native `Stack` / `Inline` / `Box` / `Grid`. That parity is the
|
|
144
|
+
* point: `gap="lg"` has to mean 16px on both surfaces, or a design spec
|
|
145
|
+
* written once produces two different pages. A second, subtly-different
|
|
146
|
+
* six-step scale on web would have been exactly the "one concept, two
|
|
147
|
+
* divergent implementations" failure `docs/FRAMEWORK.md` is written to
|
|
148
|
+
* prevent.
|
|
149
|
+
*
|
|
150
|
+
* Every emitted class is a STATIC literal in `GAP_CLASSES` rather than a
|
|
151
|
+
* template built at runtime, for the same reason the native side spells its
|
|
152
|
+
* table out: Tailwind compiles only the class names its content scanner
|
|
153
|
+
* finds in source. A `gap-${scale[token] / 4}` form is invisible to the
|
|
154
|
+
* scanner, so any step that doesn't independently appear as a literal
|
|
155
|
+
* elsewhere silently renders with no gap at all.
|
|
156
|
+
*
|
|
157
|
+
* @stability Beta
|
|
158
|
+
*/
|
|
159
|
+
/** Semantic spacing steps, in pixels, on the 4px design grid. */
|
|
160
|
+
declare const spaceScale: {
|
|
161
|
+
readonly none: 0;
|
|
162
|
+
readonly xs: 4;
|
|
163
|
+
readonly sm: 8;
|
|
164
|
+
readonly md: 12;
|
|
165
|
+
readonly lg: 16;
|
|
166
|
+
readonly xl: 24;
|
|
167
|
+
readonly "2xl": 32;
|
|
168
|
+
readonly "3xl": 48;
|
|
169
|
+
};
|
|
170
|
+
/**
|
|
171
|
+
* The spacing vocabulary shared by every layout primitive — and, by
|
|
172
|
+
* construction, by the native ones too.
|
|
173
|
+
*/
|
|
174
|
+
type SpaceToken = keyof typeof spaceScale;
|
|
175
|
+
/**
|
|
176
|
+
* `SpaceToken` → Tailwind gap utility. `satisfies` keeps the table
|
|
177
|
+
* exhaustive against the scale, so adding a step to `spaceScale` without a
|
|
178
|
+
* class here is a type error rather than a silently missing gap.
|
|
179
|
+
*/
|
|
180
|
+
declare const GAP_CLASSES: {
|
|
181
|
+
readonly none: "gap-0";
|
|
182
|
+
readonly xs: "gap-1";
|
|
183
|
+
readonly sm: "gap-2";
|
|
184
|
+
readonly md: "gap-3";
|
|
185
|
+
readonly lg: "gap-4";
|
|
186
|
+
readonly xl: "gap-6";
|
|
187
|
+
readonly "2xl": "gap-8";
|
|
188
|
+
readonly "3xl": "gap-12";
|
|
189
|
+
};
|
|
190
|
+
|
|
191
|
+
export { Container as C, GAP_CLASSES as G, Section as S, type ContainerProps as a, type SectionProps as b, type SpaceToken as c, Stack as d, type StackProps as e, containerVariants as f, spaceScale as g, stackVariants as h, sectionHeadingVariants as s };
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { VariantProps } from 'class-variance-authority';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Breakpoint at which a `Split` stops stacking and becomes side-by-side.
|
|
7
|
+
* These are Tailwind's own breakpoint names, so `at="lg"` means exactly
|
|
8
|
+
* what `lg:` means everywhere else in the app.
|
|
9
|
+
*/
|
|
10
|
+
type SplitBreakpoint = "sm" | "md" | "lg" | "xl";
|
|
11
|
+
/** How the horizontal space divides once the split is side-by-side. */
|
|
12
|
+
type SplitRatio = "1/3" | "1/2" | "2/3";
|
|
13
|
+
declare const splitVariants: (props?: ({
|
|
14
|
+
at?: "sm" | "lg" | "md" | "xl" | null | undefined;
|
|
15
|
+
gap?: "sm" | "lg" | "none" | "xs" | "md" | "xl" | "2xl" | "3xl" | null | undefined;
|
|
16
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
17
|
+
interface SplitProps extends React.HTMLAttributes<HTMLDivElement>, Omit<VariantProps<typeof splitVariants>, "at"> {
|
|
18
|
+
/** Leading pane — the "master" half. Renders first when stacked. */
|
|
19
|
+
start: React.ReactNode;
|
|
20
|
+
/** Trailing pane — the "detail" half. Renders second when stacked. */
|
|
21
|
+
end: React.ReactNode;
|
|
22
|
+
/** Share of the width the `start` pane takes. Default `"1/3"`. */
|
|
23
|
+
ratio?: SplitRatio;
|
|
24
|
+
/** Breakpoint at and above which the panes sit side by side. Default `"md"`. */
|
|
25
|
+
at?: SplitBreakpoint;
|
|
26
|
+
/** Stable test/automation selector (emitted as `data-testid`). */
|
|
27
|
+
testID?: string;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Split — the master-detail layout: two panes side by side above a
|
|
31
|
+
* breakpoint, stacked below it.
|
|
32
|
+
*
|
|
33
|
+
* ```tsx
|
|
34
|
+
* <Split
|
|
35
|
+
* ratio="1/3"
|
|
36
|
+
* at="lg"
|
|
37
|
+
* gap="lg"
|
|
38
|
+
* start={<ConversationList />}
|
|
39
|
+
* end={<ConversationDetail />}
|
|
40
|
+
* />
|
|
41
|
+
* ```
|
|
42
|
+
*
|
|
43
|
+
* The stacking behaviour is the whole reason this is a component rather
|
|
44
|
+
* than two divs: a hand-rolled split usually forgets the small screen, and
|
|
45
|
+
* a hand-rolled split that remembers usually picks a different breakpoint
|
|
46
|
+
* from the one next door.
|
|
47
|
+
*
|
|
48
|
+
* Two panes only, and both are required — a "split" with an optional half
|
|
49
|
+
* is a `Stack`, and a three-pane shell (nav + list + detail) is an
|
|
50
|
+
* application shell, not a layout primitive. Nest a `Split` inside a
|
|
51
|
+
* `Split` if you genuinely need three.
|
|
52
|
+
*
|
|
53
|
+
* @stability Beta
|
|
54
|
+
*/
|
|
55
|
+
declare const Split: React.ForwardRefExoticComponent<SplitProps & React.RefAttributes<HTMLDivElement>>;
|
|
56
|
+
|
|
57
|
+
export { Split as S, type SplitBreakpoint as a, type SplitProps as b, type SplitRatio as c, splitVariants as s };
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
2
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
3
|
-
import {
|
|
3
|
+
import { Density } from './hooks/use-view-settings.js';
|
|
4
|
+
import { V as ViewMode } from './view-toggle-DDe_Luj2.js';
|
|
4
5
|
import { Identifier, FilterParam, SortParam } from '@marktiderman/genesis-core/provider';
|
|
5
6
|
|
|
6
7
|
interface DataTableColumn<T> {
|
|
@@ -50,8 +51,15 @@ interface DataTableProps<T> {
|
|
|
50
51
|
resizeKey?: string;
|
|
51
52
|
/** Make the first column sticky when scrolling horizontally */
|
|
52
53
|
stickyFirstColumn?: boolean;
|
|
54
|
+
/**
|
|
55
|
+
* Row height / padding rhythm.
|
|
56
|
+
* - compact: ~32px (py-1 / h-8)
|
|
57
|
+
* - comfortable: default (py-2)
|
|
58
|
+
* - spacious: taller (py-3)
|
|
59
|
+
*/
|
|
60
|
+
density?: Density;
|
|
53
61
|
}
|
|
54
|
-
declare function DataTable<T>({ items, columns, getKey, onRowClick, selectable, selected, onToggleSelect, onToggleAll, renderActions, emptyMessage, columnVisibility, columnVisibilityKey, resizableColumns, pagination, pageSize: initialPageSize, pageSizeOptions, stickyHeader, resizeKey, stickyFirstColumn, }: DataTableProps<T>): react_jsx_runtime.JSX.Element;
|
|
62
|
+
declare function DataTable<T>({ items, columns, getKey, onRowClick, selectable, selected, onToggleSelect, onToggleAll, renderActions, emptyMessage, columnVisibility, columnVisibilityKey, resizableColumns, pagination, pageSize: initialPageSize, pageSizeOptions, stickyHeader, resizeKey, stickyFirstColumn, density, }: DataTableProps<T>): react_jsx_runtime.JSX.Element;
|
|
55
63
|
declare function ThumbnailCell({ src, alt, }: {
|
|
56
64
|
src?: string | null;
|
|
57
65
|
alt: string;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { Density } from './hooks/use-view-settings.js';
|
|
3
|
+
|
|
4
|
+
interface ViewSettingsProps {
|
|
5
|
+
pageSize: number;
|
|
6
|
+
onPageSizeChange: (size: number) => void;
|
|
7
|
+
density: Density;
|
|
8
|
+
onDensityChange: (density: Density) => void;
|
|
9
|
+
}
|
|
10
|
+
declare function ViewSettings({ pageSize, onPageSizeChange, density, onDensityChange, }: ViewSettingsProps): react_jsx_runtime.JSX.Element;
|
|
11
|
+
|
|
12
|
+
export { ViewSettings as V };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@marktiderman/genesis-ui",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -32,6 +32,14 @@
|
|
|
32
32
|
"types": "./dist/components/data/index.d.ts",
|
|
33
33
|
"import": "./dist/components/data/index.js"
|
|
34
34
|
},
|
|
35
|
+
"./patterns": {
|
|
36
|
+
"types": "./dist/components/patterns/index.d.ts",
|
|
37
|
+
"import": "./dist/components/patterns/index.js"
|
|
38
|
+
},
|
|
39
|
+
"./layout": {
|
|
40
|
+
"types": "./dist/components/layout/index.d.ts",
|
|
41
|
+
"import": "./dist/components/layout/index.js"
|
|
42
|
+
},
|
|
35
43
|
"./hooks": {
|
|
36
44
|
"types": "./dist/hooks/index.d.ts",
|
|
37
45
|
"import": "./dist/hooks/index.js"
|
|
@@ -52,6 +60,10 @@
|
|
|
52
60
|
"types": "./dist/provider/index.d.ts",
|
|
53
61
|
"import": "./dist/provider/index.js"
|
|
54
62
|
},
|
|
63
|
+
"./accessible-icon": {
|
|
64
|
+
"types": "./dist/components/ui/accessible-icon.d.ts",
|
|
65
|
+
"import": "./dist/components/ui/accessible-icon.js"
|
|
66
|
+
},
|
|
55
67
|
"./accordion": {
|
|
56
68
|
"types": "./dist/components/ui/accordion.d.ts",
|
|
57
69
|
"import": "./dist/components/ui/accordion.js"
|
|
@@ -116,14 +128,26 @@
|
|
|
116
128
|
"types": "./dist/components/ui/command.d.ts",
|
|
117
129
|
"import": "./dist/components/ui/command.js"
|
|
118
130
|
},
|
|
131
|
+
"./command-palette": {
|
|
132
|
+
"types": "./dist/components/ui/command-palette.d.ts",
|
|
133
|
+
"import": "./dist/components/ui/command-palette.js"
|
|
134
|
+
},
|
|
119
135
|
"./context-menu": {
|
|
120
136
|
"types": "./dist/components/ui/context-menu.d.ts",
|
|
121
137
|
"import": "./dist/components/ui/context-menu.js"
|
|
122
138
|
},
|
|
139
|
+
"./dashboard-page": {
|
|
140
|
+
"types": "./dist/components/layout/dashboard-page.d.ts",
|
|
141
|
+
"import": "./dist/components/layout/dashboard-page.js"
|
|
142
|
+
},
|
|
123
143
|
"./date-picker": {
|
|
124
144
|
"types": "./dist/components/ui/date-picker.d.ts",
|
|
125
145
|
"import": "./dist/components/ui/date-picker.js"
|
|
126
146
|
},
|
|
147
|
+
"./detail-page": {
|
|
148
|
+
"types": "./dist/components/layout/detail-page.d.ts",
|
|
149
|
+
"import": "./dist/components/layout/detail-page.js"
|
|
150
|
+
},
|
|
127
151
|
"./dialog": {
|
|
128
152
|
"types": "./dist/components/ui/dialog.d.ts",
|
|
129
153
|
"import": "./dist/components/ui/dialog.js"
|
|
@@ -137,12 +161,16 @@
|
|
|
137
161
|
"import": "./dist/components/ui/dropdown-menu.js"
|
|
138
162
|
},
|
|
139
163
|
"./empty-state": {
|
|
140
|
-
"types": "./dist/components/
|
|
141
|
-
"import": "./dist/components/
|
|
164
|
+
"types": "./dist/components/patterns/empty-state.d.ts",
|
|
165
|
+
"import": "./dist/components/patterns/empty-state.js"
|
|
142
166
|
},
|
|
143
167
|
"./form-field": {
|
|
144
|
-
"types": "./dist/components/
|
|
145
|
-
"import": "./dist/components/
|
|
168
|
+
"types": "./dist/components/patterns/form-field.d.ts",
|
|
169
|
+
"import": "./dist/components/patterns/form-field.js"
|
|
170
|
+
},
|
|
171
|
+
"./form-page": {
|
|
172
|
+
"types": "./dist/components/layout/form-page.d.ts",
|
|
173
|
+
"import": "./dist/components/layout/form-page.js"
|
|
146
174
|
},
|
|
147
175
|
"./hover-card": {
|
|
148
176
|
"types": "./dist/components/ui/hover-card.d.ts",
|
|
@@ -176,10 +204,18 @@
|
|
|
176
204
|
"types": "./dist/components/ui/navigation-menu.d.ts",
|
|
177
205
|
"import": "./dist/components/ui/navigation-menu.js"
|
|
178
206
|
},
|
|
207
|
+
"./page-loading": {
|
|
208
|
+
"types": "./dist/components/patterns/page-loading.d.ts",
|
|
209
|
+
"import": "./dist/components/patterns/page-loading.js"
|
|
210
|
+
},
|
|
179
211
|
"./pagination": {
|
|
180
212
|
"types": "./dist/components/ui/pagination.d.ts",
|
|
181
213
|
"import": "./dist/components/ui/pagination.js"
|
|
182
214
|
},
|
|
215
|
+
"./password-toggle-field": {
|
|
216
|
+
"types": "./dist/components/ui/password-toggle-field.d.ts",
|
|
217
|
+
"import": "./dist/components/ui/password-toggle-field.js"
|
|
218
|
+
},
|
|
183
219
|
"./popover": {
|
|
184
220
|
"types": "./dist/components/ui/popover.d.ts",
|
|
185
221
|
"import": "./dist/components/ui/popover.js"
|
|
@@ -208,6 +244,14 @@
|
|
|
208
244
|
"types": "./dist/components/ui/separator.d.ts",
|
|
209
245
|
"import": "./dist/components/ui/separator.js"
|
|
210
246
|
},
|
|
247
|
+
"./settings-page": {
|
|
248
|
+
"types": "./dist/components/layout/settings-page.d.ts",
|
|
249
|
+
"import": "./dist/components/layout/settings-page.js"
|
|
250
|
+
},
|
|
251
|
+
"./settings-row": {
|
|
252
|
+
"types": "./dist/components/patterns/settings-row.d.ts",
|
|
253
|
+
"import": "./dist/components/patterns/settings-row.js"
|
|
254
|
+
},
|
|
211
255
|
"./sheet": {
|
|
212
256
|
"types": "./dist/components/ui/sheet.d.ts",
|
|
213
257
|
"import": "./dist/components/ui/sheet.js"
|
|
@@ -228,6 +272,10 @@
|
|
|
228
272
|
"types": "./dist/components/ui/spinner.d.ts",
|
|
229
273
|
"import": "./dist/components/ui/spinner.js"
|
|
230
274
|
},
|
|
275
|
+
"./status-badge": {
|
|
276
|
+
"types": "./dist/components/patterns/status-badge.d.ts",
|
|
277
|
+
"import": "./dist/components/patterns/status-badge.js"
|
|
278
|
+
},
|
|
231
279
|
"./switch": {
|
|
232
280
|
"types": "./dist/components/ui/switch.d.ts",
|
|
233
281
|
"import": "./dist/components/ui/switch.js"
|
|
@@ -252,6 +300,14 @@
|
|
|
252
300
|
"types": "./dist/components/ui/toggle-group.d.ts",
|
|
253
301
|
"import": "./dist/components/ui/toggle-group.js"
|
|
254
302
|
},
|
|
303
|
+
"./toggle-row": {
|
|
304
|
+
"types": "./dist/components/patterns/toggle-row.d.ts",
|
|
305
|
+
"import": "./dist/components/patterns/toggle-row.js"
|
|
306
|
+
},
|
|
307
|
+
"./toolbar": {
|
|
308
|
+
"types": "./dist/components/ui/toolbar.d.ts",
|
|
309
|
+
"import": "./dist/components/ui/toolbar.js"
|
|
310
|
+
},
|
|
255
311
|
"./tooltip": {
|
|
256
312
|
"types": "./dist/components/ui/tooltip.d.ts",
|
|
257
313
|
"import": "./dist/components/ui/tooltip.js"
|
|
@@ -259,37 +315,23 @@
|
|
|
259
315
|
"./typography": {
|
|
260
316
|
"types": "./dist/components/ui/typography.d.ts",
|
|
261
317
|
"import": "./dist/components/ui/typography.js"
|
|
318
|
+
},
|
|
319
|
+
"./user-avatar": {
|
|
320
|
+
"types": "./dist/components/patterns/user-avatar.d.ts",
|
|
321
|
+
"import": "./dist/components/patterns/user-avatar.js"
|
|
322
|
+
},
|
|
323
|
+
"./visually-hidden": {
|
|
324
|
+
"types": "./dist/components/ui/visually-hidden.d.ts",
|
|
325
|
+
"import": "./dist/components/ui/visually-hidden.js"
|
|
262
326
|
}
|
|
263
327
|
},
|
|
264
328
|
"peerDependencies": {
|
|
265
|
-
"@hookform/resolvers": "^3.0.0 || ^4.0.0 || ^5.0.0",
|
|
266
|
-
"@radix-ui/react-accordion": "^1.2.0",
|
|
267
|
-
"@radix-ui/react-alert-dialog": "^1.1.0",
|
|
268
|
-
"@radix-ui/react-aspect-ratio": "^1.1.0",
|
|
269
|
-
"@radix-ui/react-avatar": "^1.1.0",
|
|
270
|
-
"@radix-ui/react-checkbox": "^1.3.0",
|
|
271
|
-
"@radix-ui/react-collapsible": "^1.1.0",
|
|
272
|
-
"@radix-ui/react-context-menu": "^2.2.0",
|
|
273
|
-
"@radix-ui/react-dialog": "^1.1.0",
|
|
274
|
-
"@radix-ui/react-dropdown-menu": "^2.1.0",
|
|
275
|
-
"@radix-ui/react-hover-card": "^1.1.0",
|
|
276
|
-
"@radix-ui/react-label": "^2.1.0",
|
|
277
|
-
"@radix-ui/react-menubar": "^1.1.0",
|
|
278
|
-
"@radix-ui/react-navigation-menu": "^1.2.0",
|
|
279
|
-
"@radix-ui/react-popover": "^1.1.0",
|
|
280
|
-
"@radix-ui/react-radio-group": "^1.2.0",
|
|
281
|
-
"@radix-ui/react-select": "^2.1.0",
|
|
282
|
-
"@radix-ui/react-slider": "^1.2.0",
|
|
283
|
-
"@radix-ui/react-switch": "^1.1.0",
|
|
284
|
-
"@radix-ui/react-toggle": "^1.1.0",
|
|
285
|
-
"@radix-ui/react-toggle-group": "^1.1.0",
|
|
286
|
-
"@tanstack/react-query": "^5.0.0",
|
|
287
|
-
"@tanstack/react-table": "^8.0.0",
|
|
288
329
|
"cmdk": "^1.0.0",
|
|
289
330
|
"date-fns": "^4.0.0",
|
|
290
331
|
"embla-carousel-react": "^8.0.0",
|
|
291
332
|
"input-otp": "^1.4.0",
|
|
292
333
|
"lucide-react": "^1.0.0",
|
|
334
|
+
"radix-ui": "^1.6.7",
|
|
293
335
|
"react": "^19.0.0",
|
|
294
336
|
"react-day-picker": "^9.0.0",
|
|
295
337
|
"react-dom": "^19.0.0",
|
|
@@ -299,13 +341,13 @@
|
|
|
299
341
|
"recharts": "^2.12.0 || ^3.0.0",
|
|
300
342
|
"sonner": "^1.0.0 || ^2.0.0",
|
|
301
343
|
"vaul": "^1.0.0",
|
|
302
|
-
"
|
|
344
|
+
"@marktiderman/genesis-design-system": "^1.2.0"
|
|
303
345
|
},
|
|
304
346
|
"dependencies": {
|
|
305
347
|
"class-variance-authority": "^0.7.1",
|
|
306
348
|
"clsx": "^2.1.1",
|
|
307
349
|
"tailwind-merge": "^3.5.0",
|
|
308
|
-
"@marktiderman/genesis-core": "^1.
|
|
350
|
+
"@marktiderman/genesis-core": "^1.1.1"
|
|
309
351
|
},
|
|
310
352
|
"devDependencies": {
|
|
311
353
|
"@hookform/resolvers": "^5.2.2",
|
|
@@ -320,6 +362,7 @@
|
|
|
320
362
|
"@radix-ui/react-navigation-menu": "^1.2.0",
|
|
321
363
|
"@radix-ui/react-radio-group": "^1.2.0",
|
|
322
364
|
"@radix-ui/react-slider": "^1.2.0",
|
|
365
|
+
"@radix-ui/react-slot": "^1.1.0",
|
|
323
366
|
"@radix-ui/react-switch": "^1.1.0",
|
|
324
367
|
"@radix-ui/react-toggle": "^1.1.0",
|
|
325
368
|
"@radix-ui/react-toggle-group": "^1.1.0",
|
|
@@ -344,11 +387,13 @@
|
|
|
344
387
|
"typescript": "^5.9.3",
|
|
345
388
|
"vaul": "^1.0.0",
|
|
346
389
|
"vitest": "^2.1.0",
|
|
347
|
-
"zod": "^4.3.6"
|
|
390
|
+
"zod": "^4.3.6",
|
|
391
|
+
"@marktiderman/genesis-design-system": "^1.2.0"
|
|
348
392
|
},
|
|
349
393
|
"scripts": {
|
|
350
|
-
"build": "tsup && node scripts/stamp-use-client.mjs",
|
|
394
|
+
"build": "tsup && node scripts/stamp-use-client.mjs && node ../../scripts/check-exports-resolve.mjs",
|
|
351
395
|
"clean": "rm -rf dist",
|
|
396
|
+
"check:exports": "node ../../scripts/check-exports-resolve.mjs",
|
|
352
397
|
"test": "vitest run"
|
|
353
398
|
}
|
|
354
399
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/ui/select.tsx"],"names":[],"mappings":"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","file":"chunk-2B3MFHBQ.js","sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as SelectPrimitive from \"@radix-ui/react-select\";\nimport { Check, ChevronDown, ChevronUp } from \"lucide-react\";\nimport { cn } from \"../../utils\";\n\nconst Select = SelectPrimitive.Root;\nconst SelectGroup = SelectPrimitive.Group;\nconst SelectValue = SelectPrimitive.Value;\n\nconst SelectTrigger = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Trigger\n ref={ref}\n className={cn(\n \"flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1\",\n className,\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDown className=\"h-4 w-4 opacity-50\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n));\n\nSelectTrigger.displayName = SelectPrimitive.Trigger.displayName;\n\nconst SelectScrollUpButton = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.ScrollUpButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollUpButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollUpButton\n ref={ref}\n className={cn(\"flex cursor-default items-center justify-center py-1\", className)}\n {...props}\n >\n <ChevronUp className=\"h-4 w-4\" />\n </SelectPrimitive.ScrollUpButton>\n));\n\nSelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;\n\nconst SelectScrollDownButton = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.ScrollDownButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollDownButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollDownButton\n ref={ref}\n className={cn(\"flex cursor-default items-center justify-center py-1\", className)}\n {...props}\n >\n <ChevronDown className=\"h-4 w-4\" />\n </SelectPrimitive.ScrollDownButton>\n));\n\nSelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;\n\nconst SelectContent = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>\n>(({ className, children, position = \"popper\", ...props }, ref) => (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n ref={ref}\n className={cn(\n \"relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n position === \"popper\" &&\n \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\",\n className,\n )}\n position={position}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n \"p-1\",\n position === \"popper\" &&\n \"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]\",\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n));\n\nSelectContent.displayName = SelectPrimitive.Content.displayName;\n\nconst SelectItem = React.forwardRef<\n React.ComponentRef<typeof SelectPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Item\n ref={ref}\n className={cn(\n \"relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className,\n )}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <Check className=\"h-4 w-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n));\n\nSelectItem.displayName = SelectPrimitive.Item.displayName;\n\nexport {\n Select,\n SelectGroup,\n SelectValue,\n SelectContent,\n SelectTrigger,\n SelectItem,\n SelectScrollUpButton,\n SelectScrollDownButton,\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/ui/switch.tsx"],"names":[],"mappings":";;;;;AAMA,IAAM,MAAA,GAAe,iBAGnB,CAAC,EAAE,WAAW,GAAG,KAAA,IAAS,GAAA,qBAC1B,GAAA;AAAA,EAAiB,eAAA,CAAA,IAAA;AAAA,EAAhB;AAAA,IACC,SAAA,EAAW,EAAA;AAAA,MACT,oXAAA;AAAA,MACA;AAAA,KACF;AAAA,IACC,GAAG,KAAA;AAAA,IACJ,GAAA;AAAA,IAEA,QAAA,kBAAA,GAAA;AAAA,MAAiB,eAAA,CAAA,KAAA;AAAA,MAAhB;AAAA,QACC,SAAA,EAAW,EAAA;AAAA,UACT;AAAA;AACF;AAAA;AACF;AACF,CACD;AACD,MAAA,CAAO,cAA8B,eAAA,CAAA,IAAA,CAAK,WAAA","file":"chunk-2MXMWBDV.js","sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as SwitchPrimitive from \"@radix-ui/react-switch\";\nimport { cn } from \"../../utils\";\n\nconst Switch = React.forwardRef<\n React.ComponentRef<typeof SwitchPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof SwitchPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <SwitchPrimitive.Root\n className={cn(\n \"peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input\",\n className,\n )}\n {...props}\n ref={ref}\n >\n <SwitchPrimitive.Thumb\n className={cn(\n \"pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0\"\n )}\n />\n </SwitchPrimitive.Root>\n));\nSwitch.displayName = SwitchPrimitive.Root.displayName;\n\nexport { Switch };\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/ui/menubar.tsx"],"names":[],"mappings":"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","file":"chunk-4V4H2ZM7.js","sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as MenubarPrimitive from \"@radix-ui/react-menubar\";\nimport { Check, ChevronRight, Circle } from \"lucide-react\";\n\nimport { cn } from \"../../utils\";\n\nconst MenubarMenu: typeof MenubarPrimitive.Menu = MenubarPrimitive.Menu;\nconst MenubarGroup = MenubarPrimitive.Group;\nconst MenubarPortal = MenubarPrimitive.Portal;\nconst MenubarSub = MenubarPrimitive.Sub;\nconst MenubarRadioGroup = MenubarPrimitive.RadioGroup;\n\nconst Menubar = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <MenubarPrimitive.Root\n ref={ref}\n className={cn(\n \"flex h-10 items-center space-x-1 rounded-md border bg-background p-1\",\n className\n )}\n {...props}\n />\n));\nMenubar.displayName = MenubarPrimitive.Root.displayName;\n\nconst MenubarTrigger = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Trigger>\n>(({ className, ...props }, ref) => (\n <MenubarPrimitive.Trigger\n ref={ref}\n className={cn(\n \"flex cursor-default select-none items-center rounded-sm px-3 py-1.5 text-sm font-medium outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground\",\n className\n )}\n {...props}\n />\n));\nMenubarTrigger.displayName = MenubarPrimitive.Trigger.displayName;\n\nconst MenubarSubTrigger = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.SubTrigger>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.SubTrigger> & {\n inset?: boolean;\n }\n>(({ className, inset, children, ...props }, ref) => (\n <MenubarPrimitive.SubTrigger\n ref={ref}\n className={cn(\n \"flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[state=open]:bg-accent focus:bg-accent\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronRight className=\"ml-auto h-4 w-4\" />\n </MenubarPrimitive.SubTrigger>\n));\nMenubarSubTrigger.displayName = MenubarPrimitive.SubTrigger.displayName;\n\nconst MenubarSubContent = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.SubContent>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.SubContent>\n>(({ className, ...props }, ref) => (\n <MenubarPrimitive.SubContent\n ref={ref}\n className={cn(\n \"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className\n )}\n {...props}\n />\n));\nMenubarSubContent.displayName = MenubarPrimitive.SubContent.displayName;\n\nconst MenubarContent = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Content>\n>(\n (\n { className, align = \"start\", alignOffset = -4, sideOffset = 8, ...props },\n ref\n ) => (\n <MenubarPrimitive.Portal>\n <MenubarPrimitive.Content\n ref={ref}\n align={align}\n alignOffset={alignOffset}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 min-w-[12rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className\n )}\n {...props}\n />\n </MenubarPrimitive.Portal>\n )\n);\nMenubarContent.displayName = MenubarPrimitive.Content.displayName;\n\nconst MenubarItem = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Item> & {\n inset?: boolean;\n }\n>(({ className, inset, ...props }, ref) => (\n <MenubarPrimitive.Item\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50 focus:bg-accent focus:text-accent-foreground\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n />\n));\nMenubarItem.displayName = MenubarPrimitive.Item.displayName;\n\nconst MenubarCheckboxItem = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.CheckboxItem>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.CheckboxItem>\n>(({ className, children, checked, ...props }, ref) => (\n <MenubarPrimitive.CheckboxItem\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50 focus:bg-accent focus:text-accent-foreground\",\n className\n )}\n checked={checked}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <MenubarPrimitive.ItemIndicator>\n <Check className=\"h-4 w-4\" />\n </MenubarPrimitive.ItemIndicator>\n </span>\n {children}\n </MenubarPrimitive.CheckboxItem>\n));\nMenubarCheckboxItem.displayName = MenubarPrimitive.CheckboxItem.displayName;\n\nconst MenubarRadioItem = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.RadioItem>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.RadioItem>\n>(({ className, children, ...props }, ref) => (\n <MenubarPrimitive.RadioItem\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50 focus:bg-accent focus:text-accent-foreground\",\n className\n )}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <MenubarPrimitive.ItemIndicator>\n <Circle className=\"h-2 w-2 fill-current\" />\n </MenubarPrimitive.ItemIndicator>\n </span>\n {children}\n </MenubarPrimitive.RadioItem>\n));\nMenubarRadioItem.displayName = MenubarPrimitive.RadioItem.displayName;\n\nconst MenubarLabel = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Label> & {\n inset?: boolean;\n }\n>(({ className, inset, ...props }, ref) => (\n <MenubarPrimitive.Label\n ref={ref}\n className={cn(\n \"px-2 py-1.5 text-sm font-semibold\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n />\n));\nMenubarLabel.displayName = MenubarPrimitive.Label.displayName;\n\nconst MenubarSeparator = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <MenubarPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 my-1 h-px bg-muted\", className)}\n {...props}\n />\n));\nMenubarSeparator.displayName = MenubarPrimitive.Separator.displayName;\n\nconst MenubarShortcut = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <span\n className={cn(\n \"ml-auto text-xs tracking-widest text-muted-foreground\",\n className\n )}\n {...props}\n />\n );\n};\nMenubarShortcut.displayName = \"MenubarShortcut\";\n\nexport {\n Menubar,\n MenubarMenu,\n MenubarTrigger,\n MenubarContent,\n MenubarItem,\n MenubarSeparator,\n MenubarLabel,\n MenubarCheckboxItem,\n MenubarRadioItem,\n MenubarGroup,\n MenubarPortal,\n MenubarSub,\n MenubarSubContent,\n MenubarSubTrigger,\n MenubarRadioGroup,\n MenubarShortcut,\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/ui/accordion.tsx"],"names":[],"mappings":";;;;;;AAOA,IAAM,SAAA,GAA+B,kBAAA,CAAA;AAErC,IAAM,aAAA,GAAsB,iBAG1B,CAAC,EAAE,WAAW,GAAG,KAAA,IAAS,GAAA,qBAC1B,GAAA;AAAA,EAAoB,kBAAA,CAAA,IAAA;AAAA,EAAnB;AAAA,IACC,GAAA;AAAA,IACA,SAAA,EAAW,EAAA,CAAG,UAAA,EAAY,SAAS,CAAA;AAAA,IAClC,GAAG;AAAA;AACN,CACD;AACD,aAAA,CAAc,WAAA,GAAc,eAAA;AAE5B,IAAM,gBAAA,GAAyB,KAAA,CAAA,UAAA,CAG7B,CAAC,EAAE,WAAW,QAAA,EAAU,GAAG,KAAA,EAAM,EAAG,GAAA,qBACpC,GAAA,CAAoB,kBAAA,CAAA,MAAA,EAAnB,EAA0B,WAAU,MAAA,EACnC,QAAA,kBAAA,IAAA;AAAA,EAAoB,kBAAA,CAAA,OAAA;AAAA,EAAnB;AAAA,IACC,GAAA;AAAA,IACA,SAAA,EAAW,EAAA;AAAA,MACT,8HAAA;AAAA,MACA;AAAA,KACF;AAAA,IACC,GAAG,KAAA;AAAA,IAEH,QAAA,EAAA;AAAA,MAAA,QAAA;AAAA,sBACD,GAAA,CAAC,WAAA,EAAA,EAAY,SAAA,EAAU,oDAAA,EAAqD;AAAA;AAAA;AAC9E,CAAA,EACF,CACD;AACD,gBAAA,CAAiB,cAAiC,kBAAA,CAAA,OAAA,CAAQ,WAAA;AAE1D,IAAM,gBAAA,GAAyB,iBAG7B,CAAC,EAAE,WAAW,QAAA,EAAU,GAAG,KAAA,EAAM,EAAG,GAAA,qBACpC,GAAA;AAAA,EAAoB,kBAAA,CAAA,OAAA;AAAA,EAAnB;AAAA,IACC,GAAA;AAAA,IACA,SAAA,EAAU,0HAAA;AAAA,IACT,GAAG,KAAA;AAAA,IAEJ,8BAAC,KAAA,EAAA,EAAI,SAAA,EAAW,GAAG,WAAA,EAAa,SAAS,GAAI,QAAA,EAAS;AAAA;AACxD,CACD;AACD,gBAAA,CAAiB,cAAiC,kBAAA,CAAA,OAAA,CAAQ,WAAA","file":"chunk-5J7BP5DI.js","sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\";\nimport { ChevronDown } from \"lucide-react\";\nimport { cn } from \"../../utils\";\n\nconst Accordion = AccordionPrimitive.Root;\n\nconst AccordionItem = React.forwardRef<\n React.ComponentRef<typeof AccordionPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Item>\n>(({ className, ...props }, ref) => (\n <AccordionPrimitive.Item\n ref={ref}\n className={cn(\"border-b\", className)}\n {...props}\n />\n));\nAccordionItem.displayName = \"AccordionItem\";\n\nconst AccordionTrigger = React.forwardRef<\n React.ComponentRef<typeof AccordionPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n <AccordionPrimitive.Header className=\"flex\">\n <AccordionPrimitive.Trigger\n ref={ref}\n className={cn(\n \"flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180\",\n className,\n )}\n {...props}\n >\n {children}\n <ChevronDown className=\"h-4 w-4 shrink-0 transition-transform duration-200\" />\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n));\nAccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName;\n\nconst AccordionContent = React.forwardRef<\n React.ComponentRef<typeof AccordionPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n <AccordionPrimitive.Content\n ref={ref}\n className=\"overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down\"\n {...props}\n >\n <div className={cn(\"pb-4 pt-0\", className)}>{children}</div>\n </AccordionPrimitive.Content>\n));\nAccordionContent.displayName = AccordionPrimitive.Content.displayName;\n\nexport { Accordion, AccordionItem, AccordionTrigger, AccordionContent };\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/ui/toggle-group.tsx"],"names":[],"mappings":";;;;;;AASA,IAAM,qBAA2B,KAAA,CAAA,aAAA,CAE/B;AAAA,EACA,IAAA,EAAM,SAAA;AAAA,EACN,OAAA,EAAS;AACX,CAAC,CAAA;AAED,IAAM,WAAA,GAAoB,KAAA,CAAA,UAAA,CAIxB,CAAC,EAAE,SAAA,EAAW,OAAA,EAAS,IAAA,EAAM,QAAA,EAAU,GAAG,KAAA,EAAM,EAAG,GAAA,qBACnD,GAAA;AAAA,EAAsB,oBAAA,CAAA,IAAA;AAAA,EAArB;AAAA,IACC,GAAA;AAAA,IACA,SAAA,EAAW,EAAA,CAAG,wCAAA,EAA0C,SAAS,CAAA;AAAA,IAChE,GAAG,KAAA;AAAA,IAEJ,QAAA,kBAAA,GAAA,CAAC,mBAAmB,QAAA,EAAnB,EAA4B,OAAO,EAAE,OAAA,EAAS,IAAA,EAAK,EACjD,QAAA,EACH;AAAA;AACF,CACD;AAED,WAAA,CAAY,cAAmC,oBAAA,CAAA,IAAA,CAAK,WAAA;AAEpD,IAAM,eAAA,GAAwB,KAAA,CAAA,UAAA,CAI5B,CAAC,EAAE,SAAA,EAAW,QAAA,EAAU,OAAA,EAAS,IAAA,EAAM,GAAG,KAAA,EAAM,EAAG,GAAA,KAAQ;AAC3D,EAAA,MAAM,OAAA,GAAgB,iBAAW,kBAAkB,CAAA;AAEnD,EAAA,uBACE,GAAA;AAAA,IAAsB,oBAAA,CAAA,IAAA;AAAA,IAArB;AAAA,MACC,GAAA;AAAA,MACA,SAAA,EAAW,EAAA;AAAA,QACT,cAAA,CAAe;AAAA,UACb,OAAA,EAAS,QAAQ,OAAA,IAAW,OAAA;AAAA,UAC5B,IAAA,EAAM,QAAQ,IAAA,IAAQ;AAAA,SACvB,CAAA;AAAA,QACD;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAEH;AAAA;AAAA,GACH;AAEJ,CAAC;AAED,eAAA,CAAgB,cAAmC,oBAAA,CAAA,IAAA,CAAK,WAAA","file":"chunk-5Q4FABZQ.js","sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as ToggleGroupPrimitive from \"@radix-ui/react-toggle-group\";\nimport { type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"../../utils\";\nimport { toggleVariants } from \"./toggle\";\n\nconst ToggleGroupContext = React.createContext<\n VariantProps<typeof toggleVariants>\n>({\n size: \"default\",\n variant: \"default\",\n});\n\nconst ToggleGroup = React.forwardRef<\n React.ElementRef<typeof ToggleGroupPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof ToggleGroupPrimitive.Root> &\n VariantProps<typeof toggleVariants>\n>(({ className, variant, size, children, ...props }, ref) => (\n <ToggleGroupPrimitive.Root\n ref={ref}\n className={cn(\"flex items-center justify-center gap-1\", className)}\n {...props}\n >\n <ToggleGroupContext.Provider value={{ variant, size }}>\n {children}\n </ToggleGroupContext.Provider>\n </ToggleGroupPrimitive.Root>\n));\n\nToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;\n\nconst ToggleGroupItem = React.forwardRef<\n React.ElementRef<typeof ToggleGroupPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof ToggleGroupPrimitive.Item> &\n VariantProps<typeof toggleVariants>\n>(({ className, children, variant, size, ...props }, ref) => {\n const context = React.useContext(ToggleGroupContext);\n\n return (\n <ToggleGroupPrimitive.Item\n ref={ref}\n className={cn(\n toggleVariants({\n variant: context.variant || variant,\n size: context.size || size,\n }),\n className\n )}\n {...props}\n >\n {children}\n </ToggleGroupPrimitive.Item>\n );\n});\n\nToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;\n\nexport { ToggleGroup, ToggleGroupItem };\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/ui/hover-card.tsx"],"names":[],"mappings":";;;;;AAOA,IAAM,SAAA,GAA+B,kBAAA,CAAA;AACrC,IAAM,gBAAA,GAAsC,kBAAA,CAAA;AAE5C,IAAM,gBAAA,GAAyB,KAAA,CAAA,UAAA,CAG7B,CAAC,EAAE,SAAA,EAAW,KAAA,GAAQ,QAAA,EAAU,UAAA,GAAa,CAAA,EAAG,GAAG,KAAA,EAAM,EAAG,GAAA,qBAC5D,GAAA;AAAA,EAAoB,kBAAA,CAAA,OAAA;AAAA,EAAnB;AAAA,IACC,GAAA;AAAA,IACA,KAAA;AAAA,IACA,UAAA;AAAA,IACA,SAAA,EAAW,EAAA;AAAA,MACT,4aAAA;AAAA,MACA;AAAA,KACF;AAAA,IACC,GAAG;AAAA;AACN,CACD;AACD,gBAAA,CAAiB,cAAiC,kBAAA,CAAA,OAAA,CAAQ,WAAA","file":"chunk-63FW5ZUA.js","sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as HoverCardPrimitive from \"@radix-ui/react-hover-card\";\n\nimport { cn } from \"../../utils\";\n\nconst HoverCard = HoverCardPrimitive.Root;\nconst HoverCardTrigger = HoverCardPrimitive.Trigger;\n\nconst HoverCardContent = React.forwardRef<\n React.ElementRef<typeof HoverCardPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof HoverCardPrimitive.Content>\n>(({ className, align = \"center\", sideOffset = 4, ...props }, ref) => (\n <HoverCardPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className\n )}\n {...props}\n />\n));\nHoverCardContent.displayName = HoverCardPrimitive.Content.displayName;\n\nexport { HoverCard, HoverCardTrigger, HoverCardContent };\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/ui/command.tsx"],"names":["CommandPrimitive"],"mappings":"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","file":"chunk-7OBL3H5P.js","sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { type DialogProps } from \"@radix-ui/react-dialog\";\nimport { Command as CommandPrimitive } from \"cmdk\";\nimport { Search } from \"lucide-react\";\n\nimport { cn } from \"../../utils\";\nimport { Dialog, DialogContent } from \"./dialog\";\n\nconst Command = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive\n ref={ref}\n className={cn(\n \"flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground\",\n className,\n )}\n {...props}\n />\n));\nCommand.displayName = CommandPrimitive.displayName;\n\ninterface CommandDialogProps extends DialogProps {}\n\nconst CommandDialog = ({ children, ...props }: CommandDialogProps) => {\n return (\n <Dialog {...props}>\n <DialogContent className=\"overflow-hidden p-0 shadow-lg\">\n <Command className=\"[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5\">\n {children}\n </Command>\n </DialogContent>\n </Dialog>\n );\n};\n\nconst CommandInput = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Input>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Input>\n>(({ className, ...props }, ref) => (\n <div className=\"flex items-center border-b px-3\" cmdk-input-wrapper=\"\">\n <Search className=\"mr-2 h-4 w-4 shrink-0 opacity-50\" />\n <CommandPrimitive.Input\n ref={ref}\n className={cn(\n \"flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50\",\n className,\n )}\n {...props}\n />\n </div>\n));\nCommandInput.displayName = CommandPrimitive.Input.displayName;\n\nconst CommandList = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.List>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.List\n ref={ref}\n className={cn(\"max-h-[300px] overflow-y-auto overflow-x-hidden\", className)}\n {...props}\n />\n));\nCommandList.displayName = CommandPrimitive.List.displayName;\n\nconst CommandEmpty = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Empty>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Empty>\n>((props, ref) => <CommandPrimitive.Empty ref={ref} className=\"py-6 text-center text-sm\" {...props} />);\nCommandEmpty.displayName = CommandPrimitive.Empty.displayName;\n\nconst CommandGroup = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Group>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Group>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Group\n ref={ref}\n className={cn(\n \"overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground\",\n className,\n )}\n {...props}\n />\n));\nCommandGroup.displayName = CommandPrimitive.Group.displayName;\n\nconst CommandSeparator = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Separator ref={ref} className={cn(\"-mx-1 h-px bg-border\", className)} {...props} />\n));\nCommandSeparator.displayName = CommandPrimitive.Separator.displayName;\n\nconst CommandItem = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Item>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Item\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected='true']:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50\",\n className,\n )}\n {...props}\n />\n));\nCommandItem.displayName = CommandPrimitive.Item.displayName;\n\nconst CommandShortcut = ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>) => {\n return <span className={cn(\"ml-auto text-xs tracking-widest text-muted-foreground\", className)} {...props} />;\n};\nCommandShortcut.displayName = \"CommandShortcut\";\n\nexport {\n Command,\n CommandDialog,\n CommandInput,\n CommandList,\n CommandEmpty,\n CommandGroup,\n CommandItem,\n CommandShortcut,\n CommandSeparator,\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/navigation.tsx"],"names":[],"mappings":";;;;AA4DO,IAAM,cAA6B,CAAC;AAAA,EACzC,IAAA;AAAA,EACA,QAAA;AAAA,EACA,MAAA;AAAA,EACA,GAAG;AACL,CAAA,yBACG,GAAA,EAAA,EAAE,IAAA,EAAY,eAAa,MAAA,EAAS,GAAG,MACrC,QAAA,EACH;AAUK,SAAS,YAAA,CAAa,IAAY,UAAA,EAA8B;AACrE,EAAA,IAAI,UAAA,IAAc,MAAM,OAAO,KAAA;AAC/B,EAAA,IAAI,EAAA,KAAO,YAAY,OAAO,IAAA;AAC9B,EAAA,IAAI,OAAO,GAAA,IAAO,UAAA,CAAW,WAAW,EAAA,GAAK,GAAG,GAAG,OAAO,IAAA;AAC1D,EAAA,OAAO,KAAA;AACT;AAkBO,IAAM,eAAA,GAA8B,CAAC,IAAA,KAAS;AACnD,EAAA,IAAI,OAAO,MAAA,KAAW,WAAA,EAAa,MAAA,CAAO,QAAA,CAAS,OAAO,IAAI,CAAA;AAChE;AA4BO,SAAS,sBAAA,GAA8C;AAC5D,EAAA,MAAM,IAAA,GAAO,MACX,IAAI,eAAA;AAAA,IACF,OAAO,MAAA,KAAW,WAAA,GAAc,MAAA,CAAO,SAAS,MAAA,GAAS;AAAA,GAC3D;AAEF,EAAA,MAAM,CAAC,YAAA,EAAc,QAAQ,CAAA,GAAI,SAA0B,IAAI,CAAA;AAE/D,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,OAAO,WAAW,WAAA,EAAa;AACnC,IAAA,MAAM,KAAA,GAAQ,MAAM,QAAA,CAAS,IAAA,EAAM,CAAA;AACnC,IAAA,MAAA,CAAO,gBAAA,CAAiB,YAAY,KAAK,CAAA;AACzC,IAAA,OAAO,MAAM,MAAA,CAAO,mBAAA,CAAoB,UAAA,EAAY,KAAK,CAAA;AAAA,EAC3D,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,MAAM,eAAA,GAAkB,WAAA;AAAA,IACtB,CAAC,MAAM,OAAA,KAAY;AACjB,MAAA,IAAI,OAAO,WAAW,WAAA,EAAa;AACnC,MAAA,MAAM,EAAA,GAAK,KAAK,QAAA,EAAS;AACzB,MAAA,MAAM,GAAA,GACJ,MAAA,CAAO,QAAA,CAAS,QAAA,IAAY,EAAA,GAAK,IAAI,EAAE,CAAA,CAAA,GAAK,EAAA,CAAA,GAAM,MAAA,CAAO,QAAA,CAAS,IAAA;AACpE,MAAA,IAAI,SAAS,OAAA,EAAS;AACpB,QAAA,MAAA,CAAO,QAAQ,YAAA,CAAa,MAAA,CAAO,OAAA,CAAQ,KAAA,EAAO,IAAI,GAAG,CAAA;AAAA,MAC3D,CAAA,MAAO;AACL,QAAA,MAAA,CAAO,QAAQ,SAAA,CAAU,MAAA,CAAO,OAAA,CAAQ,KAAA,EAAO,IAAI,GAAG,CAAA;AAAA,MACxD;AACA,MAAA,QAAA,CAAS,IAAI,eAAA,CAAgB,IAAI,CAAC,CAAA;AAAA,IACpC,CAAA;AAAA,IACA;AAAC,GACH;AAEA,EAAA,OAAO,EAAE,cAAc,eAAA,EAAgB;AACzC","file":"chunk-AI6CCNWK.js","sourcesContent":["\"use client\";\n\n/**\n * Router-agnostic navigation primitives.\n *\n * genesis-ui does NOT depend on any router. Components that need to render a\n * link or navigate imperatively accept an injectable abstraction defined here,\n * and default to plain browser behavior (`<a>` / `window.location`). Consumers\n * on React Router or Next.js inject a thin adapter that maps these props to\n * their own `<Link>` / router.\n */\nimport {\n useCallback,\n useEffect,\n useState,\n type AnchorHTMLAttributes,\n type ComponentType,\n type ReactNode,\n} from \"react\";\n\n// ---------------------------------------------------------------------------\n// Link abstraction\n// ---------------------------------------------------------------------------\n\n/**\n * Props passed to an injectable link component. The contract is a plain anchor\n * (`href`), so the default works with NO router. A React Router consumer maps\n * `href` → `to`; a Next.js consumer passes `next/link` directly (it already\n * accepts `href`, `className`, `children`).\n *\n * @stability Beta\n */\nexport interface GenesisLinkProps {\n /** Destination path or URL. */\n href: string;\n className?: string;\n onClick?: () => void;\n children?: ReactNode;\n /** Set to \"page\" when the link points at the active route. */\n \"aria-current\"?: AnchorHTMLAttributes<HTMLAnchorElement>[\"aria-current\"];\n /**\n * Stable test/automation selector. {@link DefaultLink} renders it as\n * `data-testid`; injected router adapters (`next/link`, RR `Link`) forward it\n * to the underlying `<a>` too.\n */\n testID?: string;\n}\n\n/**\n * A component that renders a navigable link from {@link GenesisLinkProps}.\n *\n * @stability Beta\n */\nexport type LinkComponent = ComponentType<GenesisLinkProps>;\n\n/**\n * Default link — a plain `<a>`. No router required.\n *\n * @stability Beta\n */\nexport const DefaultLink: LinkComponent = ({\n href,\n children,\n testID,\n ...rest\n}) => (\n <a href={href} data-testid={testID} {...rest}>\n {children}\n </a>\n);\n\n/**\n * Default active-path matcher, mirroring React Router's `NavLink` (prefix\n * match, with `/` treated as exact). Consumers can override via an `isActive`\n * prop where components accept one.\n *\n * @stability Beta\n */\nexport function isPathActive(to: string, activePath?: string): boolean {\n if (activePath == null) return false;\n if (to === activePath) return true;\n if (to !== \"/\" && activePath.startsWith(to + \"/\")) return true;\n return false;\n}\n\n// ---------------------------------------------------------------------------\n// Imperative navigation abstraction\n// ---------------------------------------------------------------------------\n\n/**\n * Injectable imperative navigation callback.\n *\n * @stability Beta\n */\nexport type NavigateFn = (path: string) => void;\n\n/**\n * Default navigate — a full-page navigation. No router required.\n *\n * @stability Beta\n */\nexport const defaultNavigate: NavigateFn = (path) => {\n if (typeof window !== \"undefined\") window.location.assign(path);\n};\n\n// ---------------------------------------------------------------------------\n// Search-params abstraction (for URL-synced hooks)\n// ---------------------------------------------------------------------------\n\n/**\n * Minimal, router-agnostic replacement for React Router's `useSearchParams`\n * return shape. Consumers may inject their router's implementation for full\n * SPA integration; otherwise the browser History API is used.\n *\n * @stability Beta\n */\nexport interface SearchParamsAdapter {\n searchParams: URLSearchParams;\n setSearchParams: (\n next: URLSearchParams,\n options?: { replace?: boolean },\n ) => void;\n}\n\n/**\n * Browser-native {@link SearchParamsAdapter} built on the History API. Reads\n * the current query string and writes updates via `pushState`/`replaceState`,\n * staying reactive to `popstate` events. No router required.\n *\n * @stability Beta\n */\nexport function useBrowserSearchParams(): SearchParamsAdapter {\n const read = () =>\n new URLSearchParams(\n typeof window !== \"undefined\" ? window.location.search : \"\",\n );\n\n const [searchParams, setLocal] = useState<URLSearchParams>(read);\n\n useEffect(() => {\n if (typeof window === \"undefined\") return;\n const onPop = () => setLocal(read());\n window.addEventListener(\"popstate\", onPop);\n return () => window.removeEventListener(\"popstate\", onPop);\n }, []);\n\n const setSearchParams = useCallback<SearchParamsAdapter[\"setSearchParams\"]>(\n (next, options) => {\n if (typeof window === \"undefined\") return;\n const qs = next.toString();\n const url =\n window.location.pathname + (qs ? `?${qs}` : \"\") + window.location.hash;\n if (options?.replace) {\n window.history.replaceState(window.history.state, \"\", url);\n } else {\n window.history.pushState(window.history.state, \"\", url);\n }\n setLocal(new URLSearchParams(next));\n },\n [],\n );\n\n return { searchParams, setSearchParams };\n}\n"]}
|