@saas-ui/react 3.0.0-next.8 → 3.0.0-rc.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/LICENSE +21 -0
- package/README.md +16 -39
- package/dist/components/error-boundary/error-boundary.d.ts +28 -0
- package/dist/components/error-boundary/error-boundary.js +32 -0
- package/dist/components/error-boundary/error-provider.d.ts +11 -0
- package/dist/components/error-boundary/error-provider.js +9 -0
- package/dist/components/error-boundary/index.d.ts +4 -0
- package/dist/components/error-boundary/index.js +2 -0
- package/dist/components/grid-list/grid-list.context.d.ts +40 -0
- package/dist/components/grid-list/grid-list.context.js +82 -0
- package/dist/components/grid-list/grid-list.d.ts +18 -0
- package/dist/components/grid-list/grid-list.js +32 -0
- package/dist/components/grid-list/index.d.ts +1 -1
- package/dist/components/grid-list/index.js +1 -8
- package/dist/components/grid-list/namespace.d.ts +2 -0
- package/dist/components/grid-list/namespace.js +1 -0
- package/dist/components/navbar/index.d.ts +1 -1
- package/dist/components/navbar/index.js +1 -9
- package/dist/components/navbar/namespace.d.ts +2 -0
- package/dist/components/navbar/namespace.js +1 -0
- package/dist/components/navbar/navbar.d.ts +43 -0
- package/dist/components/navbar/navbar.js +35 -0
- package/dist/components/navbar/use-navbar.d.ts +49 -0
- package/dist/components/navbar/use-navbar.js +70 -0
- package/dist/components/sidebar/index.d.ts +4 -4
- package/dist/components/sidebar/index.js +2 -14
- package/dist/components/sidebar/namespace.d.ts +5 -0
- package/dist/components/sidebar/namespace.js +2 -0
- package/dist/components/sidebar/sidebar.context.d.ts +34 -0
- package/dist/components/sidebar/sidebar.context.js +75 -0
- package/dist/components/sidebar/sidebar.d.ts +47 -0
- package/dist/components/sidebar/sidebar.js +106 -0
- package/dist/components/sidebar/sidebar.types.d.ts +29 -0
- package/dist/components/sidebar/sidebar.types.js +1 -0
- package/dist/components/steps/index.d.ts +2 -1
- package/dist/components/steps/index.js +1 -10
- package/dist/components/steps/use-stepper.d.ts +79 -0
- package/dist/components/steps/use-stepper.js +110 -0
- package/dist/index.d.ts +9 -251
- package/dist/index.js +6 -559
- package/dist/system/compose-refs.d.ts +3 -0
- package/dist/system/compose-refs.js +13 -0
- package/dist/system/index.d.ts +183 -0
- package/dist/system/index.js +3 -0
- package/dist/utils/assign.d.ts +1 -0
- package/dist/utils/assign.js +1 -0
- package/dist/utils/call-all.d.ts +1 -0
- package/dist/utils/call-all.js +5 -0
- package/dist/utils/create-context.d.ts +14 -0
- package/dist/utils/create-context.js +21 -0
- package/dist/utils/create-props.d.ts +3 -0
- package/dist/utils/create-props.js +1 -0
- package/dist/utils/cx.d.ts +1 -0
- package/dist/utils/cx.js +4 -0
- package/dist/utils/data-attr.d.ts +3 -0
- package/dist/utils/data-attr.js +1 -0
- package/dist/utils/entries.d.ts +5 -0
- package/dist/utils/entries.js +8 -0
- package/dist/utils/get-child-of-type.d.ts +7 -0
- package/dist/utils/get-child-of-type.js +9 -0
- package/dist/utils/get-children-of-type.d.ts +7 -0
- package/dist/utils/get-children-of-type.js +11 -0
- package/dist/utils/get.d.ts +11 -0
- package/dist/utils/get.js +36 -0
- package/dist/utils/index.d.ts +15 -0
- package/dist/utils/index.js +12 -0
- package/dist/utils/merge-refs.d.ts +3 -0
- package/dist/utils/merge-refs.js +21 -0
- package/dist/utils/run-if-fn.d.ts +2 -0
- package/dist/utils/run-if-fn.js +5 -0
- package/dist/utils/split-props.d.ts +9 -0
- package/dist/utils/split-props.js +25 -0
- package/package.json +47 -49
- package/CHANGELOG.md +0 -4027
- package/dist/.tsbuildinfo.json +0 -1
- package/dist/_tsup-dts-rollup.d.cts +0 -15184
- package/dist/_tsup-dts-rollup.d.ts +0 -15184
- package/dist/chunk-27OMFCPD.js +0 -8
- package/dist/chunk-2UMNJBGS.js +0 -101
- package/dist/chunk-2YXHXL6J.js +0 -10
- package/dist/chunk-3CKGT42F.js +0 -10
- package/dist/chunk-3E6URZ5P.js +0 -23
- package/dist/chunk-3EWOE56X.js +0 -46
- package/dist/chunk-3RHNNKPC.js +0 -51
- package/dist/chunk-46OCNELO.js +0 -10
- package/dist/chunk-4N4SHDPB.js +0 -10
- package/dist/chunk-52XM5VXJ.js +0 -9
- package/dist/chunk-5HVAMQYO.js +0 -8
- package/dist/chunk-5YNHX4C7.js +0 -16
- package/dist/chunk-5ZKEXMBN.js +0 -36
- package/dist/chunk-6WZK2RBQ.js +0 -12
- package/dist/chunk-6XSCENTR.js +0 -97
- package/dist/chunk-6YZ76Q2W.js +0 -8
- package/dist/chunk-7DF4NQNZ.js +0 -8
- package/dist/chunk-7HAGRXKM.js +0 -8
- package/dist/chunk-7MCVXFWM.js +0 -33
- package/dist/chunk-7PWVK3NL.js +0 -8
- package/dist/chunk-BDS3APRG.js +0 -56
- package/dist/chunk-BLSGOJQ7.js +0 -18
- package/dist/chunk-BSE7ZUP5.js +0 -10
- package/dist/chunk-C5KFNMWU.js +0 -8
- package/dist/chunk-C5YLE76Q.js +0 -118
- package/dist/chunk-CQD32UVJ.js +0 -8
- package/dist/chunk-CRFTMIQA.js +0 -36
- package/dist/chunk-D72A4SU3.js +0 -24
- package/dist/chunk-DEP2DH7P.js +0 -100
- package/dist/chunk-DHFAFRZ4.js +0 -8
- package/dist/chunk-DJNPK2LM.js +0 -60
- package/dist/chunk-EWATHRZA.js +0 -8
- package/dist/chunk-EWCBYJA7.js +0 -8
- package/dist/chunk-EZZW6JOU.js +0 -10
- package/dist/chunk-FD2V4Y66.js +0 -8
- package/dist/chunk-FN7TU5F5.js +0 -44
- package/dist/chunk-FPRTN3I7.js +0 -9
- package/dist/chunk-FVUEAELO.js +0 -64
- package/dist/chunk-GDDJYUWM.js +0 -12
- package/dist/chunk-GSWLAOIM.js +0 -24
- package/dist/chunk-GXOQVOKP.js +0 -67
- package/dist/chunk-HHKMVSL4.js +0 -54
- package/dist/chunk-HHTTORZ6.js +0 -8
- package/dist/chunk-HQVBJT5Y.js +0 -8
- package/dist/chunk-HREBIPVW.js +0 -36
- package/dist/chunk-HXNGSQQG.js +0 -62
- package/dist/chunk-HZX4AGO5.js +0 -8
- package/dist/chunk-J5UCKCIO.js +0 -16
- package/dist/chunk-JMYI6YXR.js +0 -1
- package/dist/chunk-JR5RLXCK.js +0 -8
- package/dist/chunk-K3MFCSAW.js +0 -8
- package/dist/chunk-KFDVVTMT.js +0 -36
- package/dist/chunk-KHCQMSP7.js +0 -36
- package/dist/chunk-KRJG7H4W.js +0 -53
- package/dist/chunk-KTLWEUNW.js +0 -1
- package/dist/chunk-LFOA3DZO.js +0 -12
- package/dist/chunk-LGLJ2QUW.js +0 -8
- package/dist/chunk-LIOV5MU4.js +0 -20
- package/dist/chunk-LU2H6GWC.js +0 -10
- package/dist/chunk-M3DJWM6D.js +0 -8
- package/dist/chunk-MK3OG2I4.js +0 -19
- package/dist/chunk-MZ2RY4NU.js +0 -34
- package/dist/chunk-NCNHDETB.js +0 -8
- package/dist/chunk-NGGISORT.js +0 -29
- package/dist/chunk-NKUBVRXY.js +0 -8896
- package/dist/chunk-NLMFEUVO.js +0 -41
- package/dist/chunk-NSFGACD7.js +0 -38
- package/dist/chunk-OJZPPAT6.js +0 -26
- package/dist/chunk-OQU4LWZW.js +0 -8
- package/dist/chunk-OWFY465Z.js +0 -45
- package/dist/chunk-P3IIT34M.js +0 -60
- package/dist/chunk-PEJYADAS.js +0 -8
- package/dist/chunk-PEVIP5UT.js +0 -8
- package/dist/chunk-PIQURQGB.js +0 -8
- package/dist/chunk-PONMXNY4.js +0 -8
- package/dist/chunk-PZWP36YA.js +0 -21
- package/dist/chunk-QAAKAKP7.js +0 -326
- package/dist/chunk-QKDPNO27.js +0 -44
- package/dist/chunk-QLN2CBY6.js +0 -8
- package/dist/chunk-QNKQFCKJ.js +0 -16
- package/dist/chunk-R2J5USV6.js +0 -12
- package/dist/chunk-RFBD2ZNL.js +0 -40
- package/dist/chunk-RTMS5TJN.js +0 -10
- package/dist/chunk-RYKJOZ3B.js +0 -27
- package/dist/chunk-SHCKFHIN.js +0 -39
- package/dist/chunk-TEQVVR3W.js +0 -8
- package/dist/chunk-TGEP2YAT.js +0 -10
- package/dist/chunk-TH6YCBEG.js +0 -8
- package/dist/chunk-TKJXJEXT.js +0 -22
- package/dist/chunk-TXIFPX2A.js +0 -230
- package/dist/chunk-TYGGMKHU.js +0 -177
- package/dist/chunk-TYMVLD3B.js +0 -14
- package/dist/chunk-U23VDAWJ.js +0 -143
- package/dist/chunk-U2CWQDXE.js +0 -20
- package/dist/chunk-U3EPRSD3.js +0 -20
- package/dist/chunk-UAX5344Y.js +0 -10
- package/dist/chunk-UEXUCHDD.js +0 -34
- package/dist/chunk-UIP2CHMU.js +0 -8
- package/dist/chunk-UZUMIWPJ.js +0 -10
- package/dist/chunk-VVTDE7NH.js +0 -115
- package/dist/chunk-WJZED26X.js +0 -28
- package/dist/chunk-XD7U6L2E.js +0 -10
- package/dist/chunk-XQTIY2ND.js +0 -71
- package/dist/chunk-XRQQE2AC.js +0 -152
- package/dist/chunk-XX2OY7LK.js +0 -10
- package/dist/chunk-Y2S4O4UY.js +0 -10
- package/dist/chunk-YHQ5JGCC.js +0 -1
- package/dist/chunk-YMCOU2N5.js +0 -8
- package/dist/chunk-YTTZX7ZE.js +0 -45
- package/dist/chunk-Z3SWPGPQ.js +0 -20
- package/dist/chunk-ZJ2VD224.js +0 -113
- package/dist/chunk-ZULBHMWG.js +0 -35
- package/dist/chunk-ZUT5GZTD.js +0 -46
- package/dist/colors.cjs +0 -351
- package/dist/colors.d.cts +0 -1
- package/dist/colors.d.ts +0 -1
- package/dist/colors.js +0 -8
- package/dist/components/accordion/index.cjs +0 -204
- package/dist/components/accordion/index.d.cts +0 -1
- package/dist/components/accordion/index.d.ts +0 -1
- package/dist/components/accordion/index.js +0 -9
- package/dist/components/action-bar/index.cjs +0 -223
- package/dist/components/action-bar/index.d.cts +0 -1
- package/dist/components/action-bar/index.d.ts +0 -1
- package/dist/components/action-bar/index.js +0 -13
- package/dist/components/alert/index.cjs +0 -233
- package/dist/components/alert/index.d.cts +0 -2
- package/dist/components/alert/index.d.ts +0 -2
- package/dist/components/alert/index.js +0 -13
- package/dist/components/app-shell/index.cjs +0 -68
- package/dist/components/app-shell/index.d.cts +0 -2
- package/dist/components/app-shell/index.d.ts +0 -2
- package/dist/components/app-shell/index.js +0 -8
- package/dist/components/aspect-ratio/index.cjs +0 -31
- package/dist/components/aspect-ratio/index.d.cts +0 -2
- package/dist/components/aspect-ratio/index.d.ts +0 -2
- package/dist/components/aspect-ratio/index.js +0 -8
- package/dist/components/avatar/index.cjs +0 -70
- package/dist/components/avatar/index.d.cts +0 -3
- package/dist/components/avatar/index.d.ts +0 -3
- package/dist/components/avatar/index.js +0 -11
- package/dist/components/back-button/index.cjs +0 -227
- package/dist/components/back-button/index.d.cts +0 -2
- package/dist/components/back-button/index.d.ts +0 -2
- package/dist/components/back-button/index.js +0 -11
- package/dist/components/badge/index.cjs +0 -33
- package/dist/components/badge/index.d.cts +0 -3
- package/dist/components/badge/index.d.ts +0 -3
- package/dist/components/badge/index.js +0 -10
- package/dist/components/bleed/index.cjs +0 -31
- package/dist/components/bleed/index.d.cts +0 -2
- package/dist/components/bleed/index.d.ts +0 -2
- package/dist/components/bleed/index.js +0 -8
- package/dist/components/blockquote/index.cjs +0 -59
- package/dist/components/blockquote/index.d.cts +0 -2
- package/dist/components/blockquote/index.d.ts +0 -2
- package/dist/components/blockquote/index.js +0 -8
- package/dist/components/box/index.cjs +0 -31
- package/dist/components/box/index.d.cts +0 -2
- package/dist/components/box/index.d.ts +0 -2
- package/dist/components/box/index.js +0 -8
- package/dist/components/breadcrumb/index.cjs +0 -58
- package/dist/components/breadcrumb/index.d.cts +0 -1
- package/dist/components/breadcrumb/index.d.ts +0 -1
- package/dist/components/breadcrumb/index.js +0 -8
- package/dist/components/button/index.cjs +0 -31
- package/dist/components/button/index.d.cts +0 -2
- package/dist/components/button/index.d.ts +0 -2
- package/dist/components/button/index.js +0 -8
- package/dist/components/button-group/index.cjs +0 -31
- package/dist/components/button-group/index.d.cts +0 -2
- package/dist/components/button-group/index.d.ts +0 -2
- package/dist/components/button-group/index.js +0 -8
- package/dist/components/card/index.cjs +0 -32
- package/dist/components/card/index.d.cts +0 -1
- package/dist/components/card/index.d.ts +0 -1
- package/dist/components/card/index.js +0 -9
- package/dist/components/center/index.cjs +0 -31
- package/dist/components/center/index.d.cts +0 -2
- package/dist/components/center/index.d.ts +0 -2
- package/dist/components/center/index.js +0 -8
- package/dist/components/checkbox/index.cjs +0 -45
- package/dist/components/checkbox/index.d.cts +0 -2
- package/dist/components/checkbox/index.d.ts +0 -2
- package/dist/components/checkbox/index.js +0 -8
- package/dist/components/checkbox-card/index.cjs +0 -66
- package/dist/components/checkbox-card/index.d.cts +0 -2
- package/dist/components/checkbox-card/index.d.ts +0 -2
- package/dist/components/checkbox-card/index.js +0 -8
- package/dist/components/checkmark/index.cjs +0 -31
- package/dist/components/checkmark/index.d.cts +0 -2
- package/dist/components/checkmark/index.d.ts +0 -2
- package/dist/components/checkmark/index.js +0 -8
- package/dist/components/client-only/index.cjs +0 -31
- package/dist/components/client-only/index.d.cts +0 -2
- package/dist/components/client-only/index.d.ts +0 -2
- package/dist/components/client-only/index.js +0 -8
- package/dist/components/clipboard/index.cjs +0 -234
- package/dist/components/clipboard/index.d.cts +0 -1
- package/dist/components/clipboard/index.d.ts +0 -1
- package/dist/components/clipboard/index.js +0 -13
- package/dist/components/close-button/index.cjs +0 -193
- package/dist/components/close-button/index.d.cts +0 -2
- package/dist/components/close-button/index.d.ts +0 -2
- package/dist/components/close-button/index.js +0 -12
- package/dist/components/code/index.cjs +0 -31
- package/dist/components/code/index.d.cts +0 -2
- package/dist/components/code/index.d.ts +0 -2
- package/dist/components/code/index.js +0 -8
- package/dist/components/collapsible/index.cjs +0 -31
- package/dist/components/collapsible/index.d.cts +0 -1
- package/dist/components/collapsible/index.d.ts +0 -1
- package/dist/components/collapsible/index.js +0 -8
- package/dist/components/color-picker/index.cjs +0 -31
- package/dist/components/color-picker/index.d.cts +0 -1
- package/dist/components/color-picker/index.d.ts +0 -1
- package/dist/components/color-picker/index.js +0 -8
- package/dist/components/color-swatch/index.cjs +0 -35
- package/dist/components/color-swatch/index.d.cts +0 -6
- package/dist/components/color-swatch/index.d.ts +0 -6
- package/dist/components/color-swatch/index.js +0 -12
- package/dist/components/command/index.cjs +0 -61
- package/dist/components/command/index.d.cts +0 -1
- package/dist/components/command/index.d.ts +0 -1
- package/dist/components/command/index.js +0 -9
- package/dist/components/container/index.cjs +0 -31
- package/dist/components/container/index.d.cts +0 -2
- package/dist/components/container/index.d.ts +0 -2
- package/dist/components/container/index.js +0 -8
- package/dist/components/data-list/index.cjs +0 -33
- package/dist/components/data-list/index.d.cts +0 -2
- package/dist/components/data-list/index.d.ts +0 -2
- package/dist/components/data-list/index.js +0 -10
- package/dist/components/dialog/index.cjs +0 -246
- package/dist/components/dialog/index.d.cts +0 -1
- package/dist/components/dialog/index.d.ts +0 -1
- package/dist/components/dialog/index.js +0 -13
- package/dist/components/drawer/index.cjs +0 -238
- package/dist/components/drawer/index.d.cts +0 -1
- package/dist/components/drawer/index.d.ts +0 -1
- package/dist/components/drawer/index.js +0 -13
- package/dist/components/editable/index.cjs +0 -31
- package/dist/components/editable/index.d.cts +0 -1
- package/dist/components/editable/index.d.ts +0 -1
- package/dist/components/editable/index.js +0 -8
- package/dist/components/empty-state/index.cjs +0 -50
- package/dist/components/empty-state/index.d.cts +0 -2
- package/dist/components/empty-state/index.d.ts +0 -2
- package/dist/components/empty-state/index.js +0 -8
- package/dist/components/env/index.cjs +0 -33
- package/dist/components/env/index.d.cts +0 -5
- package/dist/components/env/index.d.ts +0 -5
- package/dist/components/env/index.js +0 -10
- package/dist/components/field/index.cjs +0 -35
- package/dist/components/field/index.d.cts +0 -3
- package/dist/components/field/index.d.ts +0 -3
- package/dist/components/field/index.js +0 -12
- package/dist/components/fieldset/index.cjs +0 -33
- package/dist/components/fieldset/index.d.cts +0 -2
- package/dist/components/fieldset/index.d.ts +0 -2
- package/dist/components/fieldset/index.js +0 -10
- package/dist/components/file-upload/index.cjs +0 -302
- package/dist/components/file-upload/index.d.cts +0 -2
- package/dist/components/file-upload/index.d.ts +0 -2
- package/dist/components/file-upload/index.js +0 -14
- package/dist/components/flex/index.cjs +0 -31
- package/dist/components/flex/index.d.cts +0 -2
- package/dist/components/flex/index.d.ts +0 -2
- package/dist/components/flex/index.js +0 -10
- package/dist/components/float/index.cjs +0 -31
- package/dist/components/float/index.d.cts +0 -2
- package/dist/components/float/index.d.ts +0 -2
- package/dist/components/float/index.js +0 -8
- package/dist/components/focus-trap/index.cjs +0 -31
- package/dist/components/focus-trap/index.d.cts +0 -2
- package/dist/components/focus-trap/index.d.ts +0 -2
- package/dist/components/focus-trap/index.js +0 -8
- package/dist/components/for/index.cjs +0 -31
- package/dist/components/for/index.d.cts +0 -2
- package/dist/components/for/index.d.ts +0 -2
- package/dist/components/for/index.js +0 -10
- package/dist/components/format/index.cjs +0 -33
- package/dist/components/format/index.d.cts +0 -4
- package/dist/components/format/index.d.ts +0 -4
- package/dist/components/format/index.js +0 -10
- package/dist/components/grid/index.cjs +0 -31
- package/dist/components/grid/index.d.cts +0 -2
- package/dist/components/grid/index.d.ts +0 -2
- package/dist/components/grid/index.js +0 -8
- package/dist/components/grid-list/index.cjs +0 -68
- package/dist/components/grid-list/index.d.cts +0 -1
- package/dist/components/group/index.cjs +0 -31
- package/dist/components/group/index.d.cts +0 -2
- package/dist/components/group/index.d.ts +0 -2
- package/dist/components/group/index.js +0 -8
- package/dist/components/heading/index.cjs +0 -31
- package/dist/components/heading/index.d.cts +0 -2
- package/dist/components/heading/index.d.ts +0 -2
- package/dist/components/heading/index.js +0 -8
- package/dist/components/highlight/index.cjs +0 -31
- package/dist/components/highlight/index.d.cts +0 -2
- package/dist/components/highlight/index.d.ts +0 -2
- package/dist/components/highlight/index.js +0 -8
- package/dist/components/hover-card/index.cjs +0 -66
- package/dist/components/hover-card/index.d.cts +0 -1
- package/dist/components/hover-card/index.d.ts +0 -1
- package/dist/components/hover-card/index.js +0 -8
- package/dist/components/icon/index.cjs +0 -31
- package/dist/components/icon/index.d.cts +0 -2
- package/dist/components/icon/index.d.ts +0 -2
- package/dist/components/icon/index.js +0 -8
- package/dist/components/icon-badge/index.cjs +0 -70
- package/dist/components/icon-badge/index.d.cts +0 -2
- package/dist/components/icon-badge/index.d.ts +0 -2
- package/dist/components/icon-badge/index.js +0 -8
- package/dist/components/icon-button/index.cjs +0 -53
- package/dist/components/icon-button/index.d.cts +0 -2
- package/dist/components/icon-button/index.d.ts +0 -2
- package/dist/components/icon-button/index.js +0 -9
- package/dist/components/icons/index.cjs +0 -193
- package/dist/components/icons/index.d.cts +0 -18
- package/dist/components/icons/index.d.ts +0 -18
- package/dist/components/icons/index.js +0 -43
- package/dist/components/image/index.cjs +0 -31
- package/dist/components/image/index.d.cts +0 -2
- package/dist/components/image/index.d.ts +0 -2
- package/dist/components/image/index.js +0 -8
- package/dist/components/info-tip/index.cjs +0 -307
- package/dist/components/info-tip/index.d.cts +0 -2
- package/dist/components/info-tip/index.d.ts +0 -2
- package/dist/components/info-tip/index.js +0 -17
- package/dist/components/input/index.cjs +0 -39
- package/dist/components/input/index.d.cts +0 -9
- package/dist/components/input/index.d.ts +0 -9
- package/dist/components/input/index.js +0 -16
- package/dist/components/kbd/index.cjs +0 -31
- package/dist/components/kbd/index.d.cts +0 -2
- package/dist/components/kbd/index.d.ts +0 -2
- package/dist/components/kbd/index.js +0 -8
- package/dist/components/link/index.cjs +0 -71
- package/dist/components/link/index.d.cts +0 -2
- package/dist/components/link/index.d.ts +0 -2
- package/dist/components/link/index.js +0 -9
- package/dist/components/list/index.cjs +0 -31
- package/dist/components/list/index.d.cts +0 -1
- package/dist/components/list/index.d.ts +0 -1
- package/dist/components/list/index.js +0 -8
- package/dist/components/loader/index.cjs +0 -31
- package/dist/components/loader/index.d.cts +0 -1
- package/dist/components/loader/index.d.ts +0 -1
- package/dist/components/loader/index.js +0 -8
- package/dist/components/loading-overlay/index.cjs +0 -87
- package/dist/components/loading-overlay/index.d.cts +0 -2
- package/dist/components/loading-overlay/index.d.ts +0 -2
- package/dist/components/loading-overlay/index.js +0 -11
- package/dist/components/locale/index.cjs +0 -33
- package/dist/components/locale/index.d.cts +0 -3
- package/dist/components/locale/index.d.ts +0 -3
- package/dist/components/locale/index.js +0 -12
- package/dist/components/mark/index.cjs +0 -31
- package/dist/components/mark/index.d.cts +0 -1
- package/dist/components/mark/index.d.ts +0 -1
- package/dist/components/mark/index.js +0 -8
- package/dist/components/menu/index.cjs +0 -249
- package/dist/components/menu/index.d.cts +0 -1
- package/dist/components/menu/index.d.ts +0 -1
- package/dist/components/menu/index.js +0 -11
- package/dist/components/native-select/index.cjs +0 -185
- package/dist/components/native-select/index.d.cts +0 -2
- package/dist/components/native-select/index.d.ts +0 -2
- package/dist/components/native-select/index.js +0 -10
- package/dist/components/navbar/index.cjs +0 -108
- package/dist/components/navbar/index.d.cts +0 -1
- package/dist/components/number-input/index.cjs +0 -67
- package/dist/components/number-input/index.d.cts +0 -2
- package/dist/components/number-input/index.d.ts +0 -2
- package/dist/components/number-input/index.js +0 -9
- package/dist/components/page/index.cjs +0 -196
- package/dist/components/page/index.d.cts +0 -2
- package/dist/components/page/index.d.ts +0 -2
- package/dist/components/page/index.js +0 -12
- package/dist/components/pagination/index.cjs +0 -257
- package/dist/components/pagination/index.d.cts +0 -1
- package/dist/components/pagination/index.d.ts +0 -1
- package/dist/components/pagination/index.js +0 -11
- package/dist/components/password-input/index.cjs +0 -284
- package/dist/components/password-input/index.d.cts +0 -2
- package/dist/components/password-input/index.d.ts +0 -2
- package/dist/components/password-input/index.js +0 -11
- package/dist/components/persona/index.cjs +0 -247
- package/dist/components/persona/index.d.cts +0 -7
- package/dist/components/persona/index.d.ts +0 -7
- package/dist/components/persona/index.js +0 -13
- package/dist/components/pin-input/index.cjs +0 -52
- package/dist/components/pin-input/index.d.cts +0 -2
- package/dist/components/pin-input/index.d.ts +0 -2
- package/dist/components/pin-input/index.js +0 -8
- package/dist/components/popover/index.cjs +0 -248
- package/dist/components/popover/index.d.cts +0 -1
- package/dist/components/popover/index.d.ts +0 -1
- package/dist/components/popover/index.js +0 -13
- package/dist/components/portal/index.cjs +0 -31
- package/dist/components/portal/index.d.cts +0 -2
- package/dist/components/portal/index.d.ts +0 -2
- package/dist/components/portal/index.js +0 -8
- package/dist/components/presence/index.cjs +0 -31
- package/dist/components/presence/index.d.cts +0 -2
- package/dist/components/presence/index.d.ts +0 -2
- package/dist/components/presence/index.js +0 -8
- package/dist/components/progress/index.cjs +0 -31
- package/dist/components/progress/index.d.cts +0 -1
- package/dist/components/progress/index.d.ts +0 -1
- package/dist/components/progress/index.js +0 -8
- package/dist/components/progress-circle/index.cjs +0 -31
- package/dist/components/progress-circle/index.d.cts +0 -1
- package/dist/components/progress-circle/index.d.ts +0 -1
- package/dist/components/progress-circle/index.js +0 -8
- package/dist/components/qr-code/index.cjs +0 -31
- package/dist/components/qr-code/index.d.cts +0 -1
- package/dist/components/qr-code/index.d.ts +0 -1
- package/dist/components/qr-code/index.js +0 -8
- package/dist/components/radio/index.cjs +0 -46
- package/dist/components/radio/index.d.cts +0 -2
- package/dist/components/radio/index.d.ts +0 -2
- package/dist/components/radio/index.js +0 -8
- package/dist/components/radio-card/index.cjs +0 -75
- package/dist/components/radio-card/index.d.cts +0 -1
- package/dist/components/radio-card/index.d.ts +0 -1
- package/dist/components/radio-card/index.js +0 -8
- package/dist/components/radio-group/index.cjs +0 -31
- package/dist/components/radio-group/index.d.cts +0 -1
- package/dist/components/radio-group/index.d.ts +0 -1
- package/dist/components/radio-group/index.js +0 -8
- package/dist/components/radiomark/index.cjs +0 -31
- package/dist/components/radiomark/index.d.cts +0 -2
- package/dist/components/radiomark/index.d.ts +0 -2
- package/dist/components/radiomark/index.js +0 -10
- package/dist/components/rating-group/index.cjs +0 -31
- package/dist/components/rating-group/index.d.cts +0 -1
- package/dist/components/rating-group/index.d.ts +0 -1
- package/dist/components/rating-group/index.js +0 -8
- package/dist/components/search-input/index.cjs +0 -273
- package/dist/components/search-input/index.d.cts +0 -2
- package/dist/components/search-input/index.d.ts +0 -2
- package/dist/components/search-input/index.js +0 -10
- package/dist/components/segmented-control/index.cjs +0 -61
- package/dist/components/segmented-control/index.d.cts +0 -2
- package/dist/components/segmented-control/index.d.ts +0 -2
- package/dist/components/segmented-control/index.js +0 -8
- package/dist/components/select/index.cjs +0 -285
- package/dist/components/select/index.d.cts +0 -1
- package/dist/components/select/index.d.ts +0 -1
- package/dist/components/select/index.js +0 -13
- package/dist/components/separator/index.cjs +0 -31
- package/dist/components/separator/index.d.cts +0 -2
- package/dist/components/separator/index.d.ts +0 -2
- package/dist/components/separator/index.js +0 -8
- package/dist/components/show/index.cjs +0 -31
- package/dist/components/show/index.d.cts +0 -2
- package/dist/components/show/index.d.ts +0 -2
- package/dist/components/show/index.js +0 -8
- package/dist/components/sidebar/index.cjs +0 -168
- package/dist/components/sidebar/index.d.cts +0 -4
- package/dist/components/skeleton/index.cjs +0 -61
- package/dist/components/skeleton/index.d.cts +0 -6
- package/dist/components/skeleton/index.d.ts +0 -6
- package/dist/components/skeleton/index.js +0 -12
- package/dist/components/skip-nav/index.cjs +0 -33
- package/dist/components/skip-nav/index.d.cts +0 -4
- package/dist/components/skip-nav/index.d.ts +0 -4
- package/dist/components/skip-nav/index.js +0 -10
- package/dist/components/skip-nav-link/index.cjs +0 -33
- package/dist/components/skip-nav-link/index.d.cts +0 -4
- package/dist/components/skip-nav-link/index.d.ts +0 -4
- package/dist/components/skip-nav-link/index.js +0 -12
- package/dist/components/slider/index.cjs +0 -61
- package/dist/components/slider/index.d.cts +0 -2
- package/dist/components/slider/index.d.ts +0 -2
- package/dist/components/slider/index.js +0 -8
- package/dist/components/spacer/index.cjs +0 -31
- package/dist/components/spacer/index.d.cts +0 -2
- package/dist/components/spacer/index.d.ts +0 -2
- package/dist/components/spacer/index.js +0 -8
- package/dist/components/spinner/index.cjs +0 -44
- package/dist/components/spinner/index.d.cts +0 -2
- package/dist/components/spinner/index.d.ts +0 -2
- package/dist/components/spinner/index.js +0 -8
- package/dist/components/stack/index.cjs +0 -37
- package/dist/components/stack/index.d.cts +0 -6
- package/dist/components/stack/index.d.ts +0 -6
- package/dist/components/stack/index.js +0 -14
- package/dist/components/stat/index.cjs +0 -83
- package/dist/components/stat/index.d.cts +0 -1
- package/dist/components/stat/index.d.ts +0 -1
- package/dist/components/stat/index.js +0 -8
- package/dist/components/status/index.cjs +0 -45
- package/dist/components/status/index.d.cts +0 -2
- package/dist/components/status/index.d.ts +0 -2
- package/dist/components/status/index.js +0 -8
- package/dist/components/steps/index.cjs +0 -221
- package/dist/components/steps/index.d.cts +0 -1
- package/dist/components/switch/index.cjs +0 -48
- package/dist/components/switch/index.d.cts +0 -2
- package/dist/components/switch/index.d.ts +0 -2
- package/dist/components/switch/index.js +0 -8
- package/dist/components/table/index.cjs +0 -31
- package/dist/components/table/index.d.cts +0 -1
- package/dist/components/table/index.d.ts +0 -1
- package/dist/components/table/index.js +0 -8
- package/dist/components/tabs/index.cjs +0 -37
- package/dist/components/tabs/index.d.cts +0 -4
- package/dist/components/tabs/index.d.ts +0 -4
- package/dist/components/tabs/index.js +0 -14
- package/dist/components/tag/index.cjs +0 -53
- package/dist/components/tag/index.d.cts +0 -2
- package/dist/components/tag/index.d.ts +0 -2
- package/dist/components/tag/index.js +0 -8
- package/dist/components/textarea/index.cjs +0 -31
- package/dist/components/textarea/index.d.cts +0 -2
- package/dist/components/textarea/index.d.ts +0 -2
- package/dist/components/textarea/index.js +0 -8
- package/dist/components/timeline/index.cjs +0 -31
- package/dist/components/timeline/index.d.cts +0 -1
- package/dist/components/timeline/index.d.ts +0 -1
- package/dist/components/timeline/index.js +0 -8
- package/dist/components/toaster/index.cjs +0 -262
- package/dist/components/toaster/index.d.cts +0 -3
- package/dist/components/toaster/index.d.ts +0 -3
- package/dist/components/toaster/index.js +0 -16
- package/dist/components/toggle/index.cjs +0 -31
- package/dist/components/toggle/index.d.cts +0 -1
- package/dist/components/toggle/index.d.ts +0 -1
- package/dist/components/toggle/index.js +0 -8
- package/dist/components/toggle-tip/index.cjs +0 -297
- package/dist/components/toggle-tip/index.d.cts +0 -2
- package/dist/components/toggle-tip/index.d.ts +0 -2
- package/dist/components/toggle-tip/index.js +0 -15
- package/dist/components/tooltip/index.cjs +0 -58
- package/dist/components/tooltip/index.d.cts +0 -2
- package/dist/components/tooltip/index.d.ts +0 -2
- package/dist/components/tooltip/index.js +0 -8
- package/dist/components/typography/index.cjs +0 -37
- package/dist/components/typography/index.d.cts +0 -8
- package/dist/components/typography/index.d.ts +0 -8
- package/dist/components/typography/index.js +0 -14
- package/dist/components/visually-hidden/index.cjs +0 -31
- package/dist/components/visually-hidden/index.d.cts +0 -1
- package/dist/components/visually-hidden/index.d.ts +0 -1
- package/dist/components/visually-hidden/index.js +0 -8
- package/dist/components/wrap/index.cjs +0 -31
- package/dist/components/wrap/index.d.cts +0 -2
- package/dist/components/wrap/index.d.ts +0 -2
- package/dist/components/wrap/index.js +0 -8
- package/dist/index.cjs +0 -12238
- package/dist/index.d.cts +0 -251
- package/dist/preset.cjs +0 -9233
- package/dist/preset.d.cts +0 -3
- package/dist/preset.d.ts +0 -3
- package/dist/preset.js +0 -12
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { HTMLSystemProps } from '../../system/index.ts';
|
|
2
|
+
import type { SidebarMode, SidebarOptions } from './sidebar.types.ts';
|
|
3
|
+
export interface UseSidebarReturn {
|
|
4
|
+
open: boolean;
|
|
5
|
+
setOpen: React.Dispatch<React.SetStateAction<boolean>>;
|
|
6
|
+
toggle: () => void;
|
|
7
|
+
isMobile?: boolean;
|
|
8
|
+
openMobile?: boolean;
|
|
9
|
+
setOpenMobile: (open: boolean) => void;
|
|
10
|
+
mode: SidebarMode;
|
|
11
|
+
setMode: (mode: SidebarMode) => void;
|
|
12
|
+
}
|
|
13
|
+
declare const useSidebar: () => UseSidebarReturn;
|
|
14
|
+
export interface SidebarProviderProps extends Omit<SidebarOptions, 'children'> {
|
|
15
|
+
/**
|
|
16
|
+
* The content of the sidebar.
|
|
17
|
+
*/
|
|
18
|
+
children: React.ReactNode;
|
|
19
|
+
}
|
|
20
|
+
export declare function SidebarProvider(props: SidebarProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
21
|
+
export { useSidebar };
|
|
22
|
+
export declare const useSidebarTrigger: () => {
|
|
23
|
+
open: boolean;
|
|
24
|
+
isMobile: boolean | undefined;
|
|
25
|
+
getButtonProps: (props: HTMLSystemProps<"button">) => {
|
|
26
|
+
onClick: (event: import("react").MouseEvent<HTMLButtonElement, MouseEvent>) => void;
|
|
27
|
+
'aria-label': string;
|
|
28
|
+
'data-state': string;
|
|
29
|
+
};
|
|
30
|
+
getFlyoutButtonProps: (props: HTMLSystemProps<"button">) => {
|
|
31
|
+
onMouseEnter: (event: import("react").MouseEvent<HTMLButtonElement, MouseEvent>) => void;
|
|
32
|
+
'data-state': string;
|
|
33
|
+
};
|
|
34
|
+
};
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { useMemo, useState } from 'react';
|
|
4
|
+
import { useControllableState, useIsMobile, useOpenState } from '@saas-ui/hooks';
|
|
5
|
+
import { callAll, createContext } from "../../utils/index.js";
|
|
6
|
+
const [SidebarContextProvider, useSidebar] = createContext({
|
|
7
|
+
name: 'SidebarProvider',
|
|
8
|
+
strict: true,
|
|
9
|
+
});
|
|
10
|
+
export function SidebarProvider(props) {
|
|
11
|
+
const { children, defaultOpen = true, open, onOpenChange, mode: modeProp, onModeChange, } = props;
|
|
12
|
+
const isMobile = useIsMobile();
|
|
13
|
+
const [mode, setMode] = useControllableState({
|
|
14
|
+
defaultValue: 'collapsible',
|
|
15
|
+
value: modeProp === 'flyout' && isMobile ? 'collapsible' : modeProp,
|
|
16
|
+
onChange: (mode) => {
|
|
17
|
+
onModeChange?.({ mode });
|
|
18
|
+
},
|
|
19
|
+
});
|
|
20
|
+
const isFlyout = mode === 'flyout';
|
|
21
|
+
const [openMobile, setOpenMobile] = useState(false);
|
|
22
|
+
const openState = useOpenState({
|
|
23
|
+
defaultOpen: isMobile ? openMobile : isFlyout ? false : defaultOpen,
|
|
24
|
+
open: isMobile ? openMobile : open,
|
|
25
|
+
onOpenChange(details) {
|
|
26
|
+
if (isMobile) {
|
|
27
|
+
setOpenMobile(details.open);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
onOpenChange?.({
|
|
31
|
+
open: details.open,
|
|
32
|
+
mode,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
});
|
|
37
|
+
const context = useMemo(() => {
|
|
38
|
+
return {
|
|
39
|
+
open: openState.open ?? false,
|
|
40
|
+
setOpen: openState.setOpen,
|
|
41
|
+
toggle: () => openState.setOpen((prev) => !prev),
|
|
42
|
+
isMobile,
|
|
43
|
+
openMobile,
|
|
44
|
+
setOpenMobile,
|
|
45
|
+
mode,
|
|
46
|
+
setMode,
|
|
47
|
+
};
|
|
48
|
+
}, [openState, isMobile, openMobile, mode]);
|
|
49
|
+
return (_jsx(SidebarContextProvider, { value: context, children: children }));
|
|
50
|
+
}
|
|
51
|
+
export { useSidebar };
|
|
52
|
+
export const useSidebarTrigger = () => {
|
|
53
|
+
const context = useSidebar();
|
|
54
|
+
const getButtonProps = (props) => {
|
|
55
|
+
return {
|
|
56
|
+
onClick: callAll(context?.toggle, props?.onClick),
|
|
57
|
+
'aria-label': context.open ? 'Close sidebar' : 'Open sidebar',
|
|
58
|
+
'data-state': context.open ? 'open' : 'closed',
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
const getFlyoutButtonProps = (props) => {
|
|
62
|
+
return {
|
|
63
|
+
onMouseEnter: callAll(() => {
|
|
64
|
+
context?.setOpen(true);
|
|
65
|
+
}, props?.onMouseEnter),
|
|
66
|
+
'data-state': context.open ? 'open' : 'closed',
|
|
67
|
+
};
|
|
68
|
+
};
|
|
69
|
+
return {
|
|
70
|
+
open: context?.open,
|
|
71
|
+
isMobile: context?.isMobile,
|
|
72
|
+
getButtonProps,
|
|
73
|
+
getFlyoutButtonProps,
|
|
74
|
+
};
|
|
75
|
+
};
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { type PresenceProps } from '@ark-ui/react';
|
|
3
|
+
import { type HTMLSystemProps } from '../../system/index.ts';
|
|
4
|
+
import { type UseSidebarReturn } from './sidebar.context.tsx';
|
|
5
|
+
export declare const SidebarContext: (props: {
|
|
6
|
+
children: (context: UseSidebarReturn) => React.ReactNode;
|
|
7
|
+
}) => React.ReactNode;
|
|
8
|
+
export declare const SidebarRoot: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("@ark-ui/react").PolymorphicProps & React.RefAttributes<HTMLDivElement>>;
|
|
9
|
+
export interface SidebarTriggerProps extends HTMLSystemProps<'button'> {
|
|
10
|
+
}
|
|
11
|
+
export declare const SidebarTrigger: React.ForwardRefExoticComponent<SidebarTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
|
12
|
+
export interface SidebarFlyoutTriggerProps extends HTMLSystemProps<'button'> {
|
|
13
|
+
}
|
|
14
|
+
export declare const SidebarFlyoutTrigger: React.ForwardRefExoticComponent<SidebarFlyoutTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
|
15
|
+
export interface SidebarBackdropProps extends HTMLSystemProps<'div'>, PresenceProps {
|
|
16
|
+
}
|
|
17
|
+
export declare const SidebarBackdrop: React.ForwardRefExoticComponent<SidebarBackdropProps & React.RefAttributes<HTMLDivElement>>;
|
|
18
|
+
/**
|
|
19
|
+
* Sidebar header section.
|
|
20
|
+
*
|
|
21
|
+
* @see Docs https://saas-ui.dev/docs/components/layout/sidebar
|
|
22
|
+
*/
|
|
23
|
+
export declare const SidebarHeader: React.ForwardRefExoticComponent<React.ClassAttributes<HTMLElement> & React.HTMLAttributes<HTMLElement> & import("@ark-ui/react").PolymorphicProps>;
|
|
24
|
+
/**
|
|
25
|
+
* Sidebar body section, used for the main content of the sidebar.
|
|
26
|
+
*
|
|
27
|
+
* @see Docs https://saas-ui.dev/docs/components/layout/sidebar
|
|
28
|
+
*/
|
|
29
|
+
export declare const SidebarBody: React.ForwardRefExoticComponent<React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement> & import("@ark-ui/react").PolymorphicProps>;
|
|
30
|
+
/**
|
|
31
|
+
* Sidebar footer section.
|
|
32
|
+
*
|
|
33
|
+
* @see Docs https://saas-ui.dev/docs/components/layout/sidebar
|
|
34
|
+
*/
|
|
35
|
+
export declare const SidebarFooter: React.ForwardRefExoticComponent<React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement> & import("@ark-ui/react").PolymorphicProps>;
|
|
36
|
+
export declare const SidebarTrack: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("@ark-ui/react").PolymorphicProps & React.RefAttributes<HTMLDivElement>>;
|
|
37
|
+
export declare const SidebarGroup: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("@ark-ui/react").PolymorphicProps & React.RefAttributes<HTMLDivElement>>;
|
|
38
|
+
export declare const SidebarGroupHeader: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("@ark-ui/react").PolymorphicProps & React.RefAttributes<HTMLDivElement>>;
|
|
39
|
+
export declare const SidebarGroupTitle: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLHeadingElement>, HTMLHeadingElement>, "ref"> & import("@ark-ui/react").PolymorphicProps & React.RefAttributes<HTMLHeadingElement>>;
|
|
40
|
+
export declare const SidebarGroupEndElement: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("@ark-ui/react").PolymorphicProps & React.RefAttributes<HTMLDivElement>>;
|
|
41
|
+
export declare const SidebarGroupContent: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("@ark-ui/react").PolymorphicProps & React.RefAttributes<HTMLDivElement>>;
|
|
42
|
+
export declare const SidebarNavItem: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("@ark-ui/react").PolymorphicProps & React.RefAttributes<HTMLDivElement>>;
|
|
43
|
+
export interface SidebarNavButtonProps extends HTMLSystemProps<'div'> {
|
|
44
|
+
active?: boolean;
|
|
45
|
+
}
|
|
46
|
+
export declare const SidebarNavButton: React.ForwardRefExoticComponent<SidebarNavButtonProps & React.RefAttributes<HTMLDivElement>>;
|
|
47
|
+
export declare const SidebarNavItemEndElement: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("@ark-ui/react").PolymorphicProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import React, { forwardRef, useState } from 'react';
|
|
4
|
+
import { Presence } from '@ark-ui/react';
|
|
5
|
+
import { sui } from "../../system/index.js";
|
|
6
|
+
import { callAll, dataAttr } from "../../utils/index.js";
|
|
7
|
+
import { useSidebar, useSidebarTrigger, } from "./sidebar.context.js";
|
|
8
|
+
export const SidebarContext = function SidebarContext(props) {
|
|
9
|
+
const context = useSidebar();
|
|
10
|
+
return props.children(context);
|
|
11
|
+
};
|
|
12
|
+
export const SidebarRoot = React.forwardRef((props, ref) => {
|
|
13
|
+
const { children, ...containerProps } = props;
|
|
14
|
+
const { open, mode } = useSidebar();
|
|
15
|
+
return (_jsx(sui.div, { ref: ref, "data-state": open ? 'open' : 'closed', "data-mode": mode, ...containerProps, children: children }));
|
|
16
|
+
});
|
|
17
|
+
export const SidebarTrigger = forwardRef((props, ref) => {
|
|
18
|
+
const { children, ...rest } = props;
|
|
19
|
+
const { getButtonProps } = useSidebarTrigger();
|
|
20
|
+
return (_jsx(sui.button, { ...getButtonProps(rest), ref: ref, ...rest, children: children }));
|
|
21
|
+
});
|
|
22
|
+
export const SidebarFlyoutTrigger = forwardRef((props, ref) => {
|
|
23
|
+
const { children, ...rest } = props;
|
|
24
|
+
const { getFlyoutButtonProps } = useSidebarTrigger();
|
|
25
|
+
return (_jsx(sui.button, { ...getFlyoutButtonProps(rest), ref: ref, ...rest, children: children }));
|
|
26
|
+
});
|
|
27
|
+
export const SidebarBackdrop = forwardRef((props, ref) => {
|
|
28
|
+
const { setOpen, isMobile, open, mode } = useSidebar();
|
|
29
|
+
const [enabled, setEnabled] = useState(false);
|
|
30
|
+
if (!isMobile && mode !== 'flyout') {
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
const backdropProps = {
|
|
34
|
+
onClick: () => {
|
|
35
|
+
if (mode !== 'flyout') {
|
|
36
|
+
setOpen(false);
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
onMouseEnter: () => {
|
|
40
|
+
if (mode === 'flyout') {
|
|
41
|
+
setOpen(false);
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
};
|
|
45
|
+
return (_jsx(Presence, { present: open, unmountOnExit: true, lazyMount: true, onAnimationStart: () => {
|
|
46
|
+
setEnabled(false);
|
|
47
|
+
}, onAnimationEnd: () => {
|
|
48
|
+
setEnabled(true);
|
|
49
|
+
}, asChild: true, children: _jsx(sui.div, { ref: ref, "data-visible": enabled, ...backdropProps, ...props }) }));
|
|
50
|
+
});
|
|
51
|
+
/**
|
|
52
|
+
* Sidebar header section.
|
|
53
|
+
*
|
|
54
|
+
* @see Docs https://saas-ui.dev/docs/components/layout/sidebar
|
|
55
|
+
*/
|
|
56
|
+
export const SidebarHeader = sui.header;
|
|
57
|
+
/**
|
|
58
|
+
* Sidebar body section, used for the main content of the sidebar.
|
|
59
|
+
*
|
|
60
|
+
* @see Docs https://saas-ui.dev/docs/components/layout/sidebar
|
|
61
|
+
*/
|
|
62
|
+
export const SidebarBody = sui.div;
|
|
63
|
+
/**
|
|
64
|
+
* Sidebar footer section.
|
|
65
|
+
*
|
|
66
|
+
* @see Docs https://saas-ui.dev/docs/components/layout/sidebar
|
|
67
|
+
*/
|
|
68
|
+
export const SidebarFooter = sui.div;
|
|
69
|
+
export const SidebarTrack = forwardRef((props, ref) => {
|
|
70
|
+
const { setOpen, mode } = useSidebar();
|
|
71
|
+
return (_jsx(sui.div, { ref: ref, ...props, onClick: callAll(props.onClick, (e) => {
|
|
72
|
+
if (!e.defaultPrevented && mode !== 'flyout') {
|
|
73
|
+
setOpen(false);
|
|
74
|
+
}
|
|
75
|
+
}) }));
|
|
76
|
+
});
|
|
77
|
+
export const SidebarGroup = forwardRef((props, ref) => {
|
|
78
|
+
return _jsx(sui.div, { ref: ref, ...props });
|
|
79
|
+
});
|
|
80
|
+
export const SidebarGroupHeader = forwardRef((props, ref) => {
|
|
81
|
+
return _jsx(sui.div, { ref: ref, ...props });
|
|
82
|
+
});
|
|
83
|
+
export const SidebarGroupTitle = forwardRef((props, ref) => {
|
|
84
|
+
return _jsx(sui.h5, { ref: ref, ...props });
|
|
85
|
+
});
|
|
86
|
+
export const SidebarGroupEndElement = forwardRef((props, ref) => {
|
|
87
|
+
return _jsx(sui.div, { ref: ref, ...props });
|
|
88
|
+
});
|
|
89
|
+
export const SidebarGroupContent = forwardRef((props, ref) => {
|
|
90
|
+
return _jsx(sui.div, { ref: ref, ...props });
|
|
91
|
+
});
|
|
92
|
+
export const SidebarNavItem = forwardRef((props, ref) => {
|
|
93
|
+
return _jsx(sui.div, { ref: ref, ...props });
|
|
94
|
+
});
|
|
95
|
+
export const SidebarNavButton = forwardRef((props, ref) => {
|
|
96
|
+
const { children, active, ...rest } = props;
|
|
97
|
+
const { setOpenMobile, isMobile } = useSidebar();
|
|
98
|
+
return (_jsx(sui.div, { ref: ref, "data-active": dataAttr(active), role: "button", ...rest, onClick: callAll(props.onClick, (e) => {
|
|
99
|
+
if (!e.defaultPrevented && isMobile) {
|
|
100
|
+
setOpenMobile(false);
|
|
101
|
+
}
|
|
102
|
+
}), children: children }));
|
|
103
|
+
});
|
|
104
|
+
export const SidebarNavItemEndElement = forwardRef((props, ref) => {
|
|
105
|
+
return _jsx(sui.div, { ref: ref, ...props });
|
|
106
|
+
});
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export type SidebarMode = 'flyout' | 'collapsible' | 'compact';
|
|
2
|
+
export interface SidebarOptions {
|
|
3
|
+
/**
|
|
4
|
+
* The mode of the sidebar. Flyout mode is only available on desktop.
|
|
5
|
+
* @default 'collapsible'
|
|
6
|
+
*/
|
|
7
|
+
mode?: SidebarMode;
|
|
8
|
+
/**
|
|
9
|
+
* Control the default visibility of the sidebar.
|
|
10
|
+
*/
|
|
11
|
+
defaultOpen?: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Control the visibility of the sidebar.
|
|
14
|
+
*/
|
|
15
|
+
open?: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Callback invoked when the sidebar is opened.
|
|
18
|
+
*/
|
|
19
|
+
onOpenChange?: (details: {
|
|
20
|
+
open: boolean;
|
|
21
|
+
mode: SidebarMode;
|
|
22
|
+
}) => void;
|
|
23
|
+
/**
|
|
24
|
+
* Callback invoked when the mode of the sidebar is changed.
|
|
25
|
+
*/
|
|
26
|
+
onModeChange?: (details: {
|
|
27
|
+
mode: SidebarMode;
|
|
28
|
+
}) => void;
|
|
29
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { useStepper, StepperProvider, useStep, useStepperContext, useStepperNextButton, useStepperPrevButton, } from './use-stepper.tsx';
|
|
2
|
+
export type { UseStepProps, UseStepperProps, UseStepperReturn, } from './use-stepper.tsx';
|
|
@@ -1,10 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
steps_exports
|
|
4
|
-
} from "../../chunk-XQTIY2ND.js";
|
|
5
|
-
import "../../chunk-KTLWEUNW.js";
|
|
6
|
-
import "../../chunk-XRQQE2AC.js";
|
|
7
|
-
import "../../chunk-RTMS5TJN.js";
|
|
8
|
-
export {
|
|
9
|
-
steps_exports as Steps
|
|
10
|
-
};
|
|
1
|
+
export { useStepper, StepperProvider, useStep, useStepperContext, useStepperNextButton, useStepperPrevButton, } from "./use-stepper.js";
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export declare const StepperProvider: React.Provider<{
|
|
3
|
+
stepsRef: React.RefObject<string[]>;
|
|
4
|
+
activeStep: string;
|
|
5
|
+
activeIndex: number;
|
|
6
|
+
isFirstStep: boolean;
|
|
7
|
+
isLastStep: boolean;
|
|
8
|
+
completed: boolean;
|
|
9
|
+
setIndex: React.Dispatch<React.SetStateAction<number>>;
|
|
10
|
+
setStep: (name: string) => void;
|
|
11
|
+
nextStep: () => void;
|
|
12
|
+
prevStep: () => void;
|
|
13
|
+
registerStep: (name: string) => void;
|
|
14
|
+
unregisterStep: (name: string) => void;
|
|
15
|
+
}>, useStepperContext: () => {
|
|
16
|
+
stepsRef: React.RefObject<string[]>;
|
|
17
|
+
activeStep: string;
|
|
18
|
+
activeIndex: number;
|
|
19
|
+
isFirstStep: boolean;
|
|
20
|
+
isLastStep: boolean;
|
|
21
|
+
completed: boolean;
|
|
22
|
+
setIndex: React.Dispatch<React.SetStateAction<number>>;
|
|
23
|
+
setStep: (name: string) => void;
|
|
24
|
+
nextStep: () => void;
|
|
25
|
+
prevStep: () => void;
|
|
26
|
+
registerStep: (name: string) => void;
|
|
27
|
+
unregisterStep: (name: string) => void;
|
|
28
|
+
};
|
|
29
|
+
export interface UseStepperProps {
|
|
30
|
+
step?: number | string;
|
|
31
|
+
steps?: string[];
|
|
32
|
+
completed?: boolean;
|
|
33
|
+
onChange?(index: number): void;
|
|
34
|
+
}
|
|
35
|
+
export declare function useStepper(props: UseStepperProps): {
|
|
36
|
+
stepsRef: React.RefObject<string[]>;
|
|
37
|
+
activeStep: string;
|
|
38
|
+
activeIndex: number;
|
|
39
|
+
isFirstStep: boolean;
|
|
40
|
+
isLastStep: boolean;
|
|
41
|
+
completed: boolean;
|
|
42
|
+
setIndex: React.Dispatch<React.SetStateAction<number>>;
|
|
43
|
+
setStep: (name: string) => void;
|
|
44
|
+
nextStep: () => void;
|
|
45
|
+
prevStep: () => void;
|
|
46
|
+
registerStep: (name: string) => void;
|
|
47
|
+
unregisterStep: (name: string) => void;
|
|
48
|
+
};
|
|
49
|
+
export type UseStepperReturn = ReturnType<typeof useStepper>;
|
|
50
|
+
export interface UseStepProps {
|
|
51
|
+
id?: string;
|
|
52
|
+
active?: boolean;
|
|
53
|
+
completed?: boolean;
|
|
54
|
+
}
|
|
55
|
+
export declare function useStep(props: UseStepProps): {
|
|
56
|
+
active: boolean | undefined;
|
|
57
|
+
completed: boolean | undefined;
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* Returns props for a Prev Button
|
|
61
|
+
*/
|
|
62
|
+
export declare function useStepperPrevButton({ label }?: {
|
|
63
|
+
label?: string | undefined;
|
|
64
|
+
}): {
|
|
65
|
+
disabled: boolean;
|
|
66
|
+
onClick: () => void;
|
|
67
|
+
children: string;
|
|
68
|
+
};
|
|
69
|
+
/**
|
|
70
|
+
* Returns props for a Next Button
|
|
71
|
+
*/
|
|
72
|
+
export declare function useStepperNextButton({ label, submitLabel, }?: {
|
|
73
|
+
label?: string | undefined;
|
|
74
|
+
submitLabel?: string | undefined;
|
|
75
|
+
}): {
|
|
76
|
+
disabled: boolean;
|
|
77
|
+
onClick: () => void;
|
|
78
|
+
children: string;
|
|
79
|
+
};
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { createContext } from '../../utils';
|
|
3
|
+
export const [StepperProvider, useStepperContext] = createContext({
|
|
4
|
+
name: 'StepperContext',
|
|
5
|
+
errorMessage: 'useStepperContext: `context` is undefined. Seems you forgot to wrap stepper components in `<Stepper />`',
|
|
6
|
+
});
|
|
7
|
+
export function useStepper(props) {
|
|
8
|
+
const { step, onChange, steps } = props;
|
|
9
|
+
const [activeIndex, setIndex] = React.useState(0);
|
|
10
|
+
const stepsRef = React.useRef(steps || []);
|
|
11
|
+
const initializedRef = React.useRef(false);
|
|
12
|
+
const [, onUpdate] = React.useState(Date.now());
|
|
13
|
+
const registerStep = React.useCallback((name) => {
|
|
14
|
+
const newSteps = [...stepsRef.current];
|
|
15
|
+
if (newSteps.indexOf(name) !== -1) {
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
newSteps.push(name);
|
|
19
|
+
stepsRef.current = newSteps;
|
|
20
|
+
onUpdate(Date.now());
|
|
21
|
+
}, [stepsRef, onUpdate]);
|
|
22
|
+
const unregisterStep = (name) => {
|
|
23
|
+
stepsRef.current = stepsRef.current.slice(stepsRef.current.indexOf(name), 1);
|
|
24
|
+
};
|
|
25
|
+
const setStep = (name) => {
|
|
26
|
+
const i = stepsRef.current.indexOf(name);
|
|
27
|
+
if (i !== -1) {
|
|
28
|
+
setIndex(i);
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
const nextStep = () => {
|
|
32
|
+
setIndex(activeIndex + 1);
|
|
33
|
+
};
|
|
34
|
+
const prevStep = () => {
|
|
35
|
+
setIndex(activeIndex - 1);
|
|
36
|
+
};
|
|
37
|
+
React.useEffect(() => {
|
|
38
|
+
if (typeof step === 'string') {
|
|
39
|
+
setStep(step);
|
|
40
|
+
}
|
|
41
|
+
else if (typeof step === 'number') {
|
|
42
|
+
setIndex(step);
|
|
43
|
+
}
|
|
44
|
+
else if (activeIndex === -1) {
|
|
45
|
+
setIndex(0); // initiate the stepper by activating the first step
|
|
46
|
+
}
|
|
47
|
+
}, [step]);
|
|
48
|
+
React.useEffect(() => {
|
|
49
|
+
if (!initializedRef.current) {
|
|
50
|
+
initializedRef.current = true;
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
onChange?.(activeIndex);
|
|
54
|
+
}, [activeIndex, onChange]);
|
|
55
|
+
const context = {
|
|
56
|
+
stepsRef,
|
|
57
|
+
activeStep: stepsRef.current[activeIndex],
|
|
58
|
+
activeIndex,
|
|
59
|
+
isFirstStep: activeIndex === 0,
|
|
60
|
+
isLastStep: activeIndex === stepsRef.current.length - 1,
|
|
61
|
+
completed: activeIndex >= stepsRef.current.length,
|
|
62
|
+
setIndex,
|
|
63
|
+
setStep,
|
|
64
|
+
nextStep,
|
|
65
|
+
prevStep,
|
|
66
|
+
registerStep,
|
|
67
|
+
unregisterStep,
|
|
68
|
+
};
|
|
69
|
+
return context;
|
|
70
|
+
}
|
|
71
|
+
export function useStep(props) {
|
|
72
|
+
const { id, active, completed } = props;
|
|
73
|
+
const { stepsRef, registerStep, unregisterStep, activeStep } = useStepperContext();
|
|
74
|
+
React.useEffect(() => {
|
|
75
|
+
console.log('useStep', id);
|
|
76
|
+
if (!id) {
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
registerStep(id);
|
|
80
|
+
return () => {
|
|
81
|
+
unregisterStep(id);
|
|
82
|
+
};
|
|
83
|
+
}, [stepsRef]);
|
|
84
|
+
return {
|
|
85
|
+
active: id ? activeStep === id : active,
|
|
86
|
+
completed,
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Returns props for a Prev Button
|
|
91
|
+
*/
|
|
92
|
+
export function useStepperPrevButton({ label = 'Back' } = {}) {
|
|
93
|
+
const { isFirstStep, prevStep } = useStepperContext();
|
|
94
|
+
return {
|
|
95
|
+
disabled: isFirstStep,
|
|
96
|
+
onClick: prevStep,
|
|
97
|
+
children: label,
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Returns props for a Next Button
|
|
102
|
+
*/
|
|
103
|
+
export function useStepperNextButton({ label = 'Next', submitLabel = 'Submit', } = {}) {
|
|
104
|
+
const { isLastStep, completed, nextStep } = useStepperContext();
|
|
105
|
+
return {
|
|
106
|
+
disabled: completed,
|
|
107
|
+
onClick: nextStep,
|
|
108
|
+
children: isLastStep ? submitLabel : label,
|
|
109
|
+
};
|
|
110
|
+
}
|