@accelint/design-system 0.1.0 → 0.2.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/README.md +1 -1
- package/dist/assets/components/button/button.css +55 -0
- package/dist/assets/components/checkbox/checkbox.css +73 -0
- package/dist/assets/components/chip/chip.css +62 -0
- package/dist/assets/components/combo-box/combo-box.css +66 -0
- package/dist/assets/components/dialog/dialog.css +51 -0
- package/dist/assets/components/drawer/drawer.css +135 -0
- package/dist/assets/components/group/group.css +33 -0
- package/dist/assets/components/icon/icon.css +19 -0
- package/dist/assets/components/input/input.css +29 -0
- package/dist/assets/components/menu/menu.css +85 -0
- package/dist/assets/components/options/options.css +82 -0
- package/dist/assets/components/picker/picker.css +47 -0
- package/dist/assets/components/popover/popover.css +26 -0
- package/dist/assets/components/query-builder/query-builder.css +129 -0
- package/dist/assets/components/radio/radio.css +67 -0
- package/dist/assets/components/search-field/search-field.css +62 -0
- package/dist/assets/components/select/select.css +33 -0
- package/dist/assets/components/switch/switch.css +62 -0
- package/dist/assets/components/tabs/tabs.css +144 -0
- package/dist/assets/components/textarea/textarea.css +32 -0
- package/dist/assets/components/tooltip/tooltip.css +54 -0
- package/dist/assets/components/tree/tree.css +157 -0
- package/dist/assets/hooks/use-theme/use-theme.css +6 -0
- package/dist/assets/src/components/button/button.css.ts.vanilla-9uttMYGm.css +55 -0
- package/dist/assets/src/components/checkbox/checkbox.css.ts.vanilla-Bewmypyn.css +73 -0
- package/dist/assets/src/components/chip/chip.css.ts.vanilla-CsGhxrlu.css +62 -0
- package/dist/assets/src/components/combo-box/combo-box.css.ts.vanilla-BNEPKjPm.css +66 -0
- package/dist/assets/src/components/dialog/dialog.css.ts.vanilla-CG0m-NJD.css +51 -0
- package/dist/assets/src/components/drawer/drawer.css.ts.vanilla-DEfHnoNS.css +135 -0
- package/dist/assets/src/components/group/group.css.ts.vanilla-DR69xgQy.css +33 -0
- package/dist/assets/src/components/icon/icon.css.ts.vanilla-CoUAfp2F.css +19 -0
- package/dist/assets/src/components/input/input.css.ts.vanilla-DoK5h9SX.css +29 -0
- package/dist/assets/src/components/menu/menu.css.ts.vanilla-LoWLg-jE.css +85 -0
- package/dist/assets/src/components/options/options.css.ts.vanilla-CWWFBTou.css +82 -0
- package/dist/assets/src/components/picker/picker.css.ts.vanilla-Fe0YXv-c.css +47 -0
- package/dist/assets/src/components/popover/popover.css.ts.vanilla-C5YGwwVD.css +26 -0
- package/dist/assets/src/components/query-builder/query-builder.css.ts.vanilla-B3P9cbCv.css +129 -0
- package/dist/assets/src/components/radio/radio.css.ts.vanilla-gi-KedQc.css +67 -0
- package/dist/assets/src/components/search-field/search-field.css.ts.vanilla-B_JL53f8.css +62 -0
- package/dist/assets/src/components/select/select.css.ts.vanilla-C94A60jf.css +33 -0
- package/dist/assets/src/components/switch/switch.css.ts.vanilla-DkQwtRa6.css +62 -0
- package/dist/assets/src/components/tabs/tabs.css.ts.vanilla-BygIflpl.css +144 -0
- package/dist/assets/src/components/textarea/textarea.css.ts.vanilla-Ba6E5HFc.css +32 -0
- package/dist/assets/src/components/tooltip/tooltip.css.ts.vanilla-BntxAlwN.css +54 -0
- package/dist/assets/src/components/tree/tree.css.ts.vanilla-SLmhk0zZ.css +157 -0
- package/dist/assets/src/hooks/use-theme/use-theme.css.ts.vanilla-zkVHnGkP.css +6 -0
- package/dist/assets/src/styles/layers.css.ts.vanilla-B2GUgnOF.css +21 -0
- package/dist/assets/src/styles/reset.css.ts.vanilla-C8PShXm0.css +31 -0
- package/dist/assets/src/styles/space.css.ts.vanilla-Md6Whc4G.css +18 -0
- package/dist/assets/src/styles/surfaces.css.ts.vanilla-Ckztx7VT.css +24 -0
- package/dist/assets/src/styles/theme.css.ts.vanilla-aDPSIzBK.css +208 -0
- package/dist/assets/src/styles/typography.css.ts.vanilla-DRT9H7rd.css +150 -0
- package/dist/assets/styles/layers.css +21 -0
- package/dist/assets/styles/reset.css +31 -0
- package/dist/assets/styles/space.css +18 -0
- package/dist/assets/styles/surfaces.css +24 -0
- package/dist/assets/styles/theme.css +208 -0
- package/dist/assets/styles/typography.css +150 -0
- package/dist/components/aria/aria.d.ts +19 -0
- package/dist/components/aria/aria.js +36 -0
- package/dist/components/aria/aria.js.map +1 -0
- package/dist/components/aria/index.d.ts +1 -0
- package/dist/components/button/button.css.d.ts +33 -0
- package/dist/components/button/button.d.ts +39 -0
- package/dist/components/button/button.js +71 -0
- package/dist/components/button/button.js.map +1 -0
- package/dist/components/button/button.vanilla.js +8 -0
- package/dist/components/button/button.vanilla.js.map +1 -0
- package/dist/components/button/index.d.ts +3 -0
- package/dist/components/button/types.d.ts +28 -0
- package/dist/components/checkbox/checkbox.css.d.ts +35 -0
- package/dist/components/checkbox/checkbox.d.ts +21 -0
- package/dist/components/checkbox/checkbox.js +68 -0
- package/dist/components/checkbox/checkbox.js.map +1 -0
- package/dist/components/checkbox/checkbox.vanilla.js +9 -0
- package/dist/components/checkbox/checkbox.vanilla.js.map +1 -0
- package/dist/components/checkbox/index.d.ts +3 -0
- package/dist/components/checkbox/types.d.ts +38 -0
- package/dist/components/chip/chip.css.d.ts +31 -0
- package/dist/components/chip/chip.d.ts +30 -0
- package/dist/components/chip/chip.js +106 -0
- package/dist/components/chip/chip.js.map +1 -0
- package/dist/components/chip/chip.vanilla.js +8 -0
- package/dist/components/chip/chip.vanilla.js.map +1 -0
- package/dist/components/chip/index.d.ts +3 -0
- package/dist/components/chip/types.d.ts +31 -0
- package/dist/components/collection/collection.d.ts +13 -0
- package/dist/components/collection/collection.js +15 -0
- package/dist/components/collection/collection.js.map +1 -0
- package/dist/components/collection/index.d.ts +1 -0
- package/dist/components/combo-box/combo-box.css.d.ts +22 -0
- package/dist/components/combo-box/combo-box.d.ts +8 -0
- package/dist/components/combo-box/combo-box.js +87 -0
- package/dist/components/combo-box/combo-box.js.map +1 -0
- package/dist/components/combo-box/combo-box.vanilla.js +8 -0
- package/dist/components/combo-box/combo-box.vanilla.js.map +1 -0
- package/dist/components/combo-box/index.d.ts +3 -0
- package/dist/components/combo-box/types.d.ts +32 -0
- package/dist/components/dialog/dialog.css.d.ts +34 -0
- package/dist/components/dialog/dialog.d.ts +18 -0
- package/dist/components/dialog/dialog.js +146 -0
- package/dist/components/dialog/dialog.js.map +1 -0
- package/dist/components/dialog/dialog.vanilla.js +8 -0
- package/dist/components/dialog/dialog.vanilla.js.map +1 -0
- package/dist/components/dialog/index.d.ts +3 -0
- package/dist/components/dialog/types.d.ts +48 -0
- package/dist/components/drawer/drawer.css.d.ts +33 -0
- package/dist/components/drawer/drawer.d.ts +13 -0
- package/dist/components/drawer/drawer.js +199 -0
- package/dist/components/drawer/drawer.js.map +1 -0
- package/dist/components/drawer/drawer.vanilla.js +10 -0
- package/dist/components/drawer/drawer.vanilla.js.map +1 -0
- package/dist/components/drawer/index.d.ts +3 -0
- package/dist/components/drawer/types.d.ts +71 -0
- package/dist/components/element/element.d.ts +11 -0
- package/dist/components/element/element.js +21 -0
- package/dist/components/element/element.js.map +1 -0
- package/dist/components/element/index.d.ts +2 -0
- package/dist/components/element/types.d.ts +21 -0
- package/dist/components/group/group.css.d.ts +14 -0
- package/dist/components/group/group.d.ts +10 -0
- package/dist/components/group/group.js +44 -0
- package/dist/components/group/group.js.map +1 -0
- package/dist/components/group/group.vanilla.js +7 -0
- package/dist/components/group/group.vanilla.js.map +1 -0
- package/dist/components/group/index.d.ts +3 -0
- package/dist/components/group/types.d.ts +35 -0
- package/dist/components/icon/icon.css.d.ts +18 -0
- package/dist/components/icon/icon.d.ts +12 -0
- package/dist/components/icon/icon.js +26 -0
- package/dist/components/icon/icon.js.map +1 -0
- package/dist/components/icon/icon.vanilla.js +8 -0
- package/dist/components/icon/icon.vanilla.js.map +1 -0
- package/dist/components/icon/index.d.ts +3 -0
- package/dist/components/icon/types.d.ts +13 -0
- package/dist/components/index.d.ts +26 -0
- package/dist/components/input/index.d.ts +3 -0
- package/dist/components/input/input.css.d.ts +29 -0
- package/dist/components/input/input.d.ts +8 -0
- package/dist/components/input/input.js +93 -0
- package/dist/components/input/input.js.map +1 -0
- package/dist/components/input/input.vanilla.js +8 -0
- package/dist/components/input/input.vanilla.js.map +1 -0
- package/dist/components/input/types.d.ts +44 -0
- package/dist/components/menu/index.d.ts +3 -0
- package/dist/components/menu/menu.css.d.ts +75 -0
- package/dist/components/menu/menu.d.ts +24 -0
- package/dist/components/menu/menu.js +155 -0
- package/dist/components/menu/menu.js.map +1 -0
- package/dist/components/menu/menu.vanilla.js +8 -0
- package/dist/components/menu/menu.vanilla.js.map +1 -0
- package/dist/components/menu/types.d.ts +48 -0
- package/dist/components/merge-provider/index.d.ts +2 -0
- package/dist/components/merge-provider/merge-provider.d.ts +14 -0
- package/dist/components/merge-provider/merge-provider.js +40 -0
- package/dist/components/merge-provider/merge-provider.js.map +1 -0
- package/dist/components/merge-provider/types.d.ts +5 -0
- package/dist/components/options/index.d.ts +3 -0
- package/dist/components/options/options.css.d.ts +79 -0
- package/dist/components/options/options.d.ts +20 -0
- package/dist/components/options/options.js +152 -0
- package/dist/components/options/options.js.map +1 -0
- package/dist/components/options/options.vanilla.js +10 -0
- package/dist/components/options/options.vanilla.js.map +1 -0
- package/dist/components/options/types.d.ts +49 -0
- package/dist/components/picker/index.d.ts +3 -0
- package/dist/components/picker/picker.css.d.ts +32 -0
- package/dist/components/picker/picker.d.ts +18 -0
- package/dist/components/picker/picker.js +46 -0
- package/dist/components/picker/picker.js.map +1 -0
- package/dist/components/picker/picker.stories.css.d.ts +3 -0
- package/dist/components/picker/picker.vanilla.js +9 -0
- package/dist/components/picker/picker.vanilla.js.map +1 -0
- package/dist/components/picker/types.d.ts +28 -0
- package/dist/components/popover/index.d.ts +3 -0
- package/dist/components/popover/popover.css.d.ts +31 -0
- package/dist/components/popover/popover.d.ts +8 -0
- package/dist/components/popover/popover.js +110 -0
- package/dist/components/popover/popover.js.map +1 -0
- package/dist/components/popover/popover.vanilla.js +7 -0
- package/dist/components/popover/popover.vanilla.js.map +1 -0
- package/dist/components/popover/types.d.ts +32 -0
- package/dist/components/query-builder/action-element.d.ts +2 -0
- package/dist/components/query-builder/action-element.js +12 -0
- package/dist/components/query-builder/action-element.js.map +1 -0
- package/dist/components/query-builder/constants.d.ts +4 -0
- package/dist/components/query-builder/constants.js +20 -0
- package/dist/components/query-builder/constants.js.map +1 -0
- package/dist/components/query-builder/dataset-sample.d.ts +91 -0
- package/dist/components/query-builder/group.d.ts +5 -0
- package/dist/components/query-builder/group.js +87 -0
- package/dist/components/query-builder/group.js.map +1 -0
- package/dist/components/query-builder/index.d.ts +5 -0
- package/dist/components/query-builder/query-builder.css.d.ts +91 -0
- package/dist/components/query-builder/query-builder.d.ts +2 -0
- package/dist/components/query-builder/query-builder.js +129 -0
- package/dist/components/query-builder/query-builder.js.map +1 -0
- package/dist/components/query-builder/query-builder.vanilla.js +10 -0
- package/dist/components/query-builder/query-builder.vanilla.js.map +1 -0
- package/dist/components/query-builder/rule.d.ts +3 -0
- package/dist/components/query-builder/rule.js +112 -0
- package/dist/components/query-builder/rule.js.map +1 -0
- package/dist/components/query-builder/types.d.ts +128 -0
- package/dist/components/query-builder/utils.d.ts +29 -0
- package/dist/components/query-builder/utils.js +22 -0
- package/dist/components/query-builder/utils.js.map +1 -0
- package/dist/components/query-builder/value-editor.d.ts +4 -0
- package/dist/components/query-builder/value-editor.js +74 -0
- package/dist/components/query-builder/value-editor.js.map +1 -0
- package/dist/components/query-builder/value-selector.d.ts +2 -0
- package/dist/components/query-builder/value-selector.js +28 -0
- package/dist/components/query-builder/value-selector.js.map +1 -0
- package/dist/components/radio/index.d.ts +3 -0
- package/dist/components/radio/radio.css.d.ts +34 -0
- package/dist/components/radio/radio.d.ts +16 -0
- package/dist/components/radio/radio.js +63 -0
- package/dist/components/radio/radio.js.map +1 -0
- package/dist/components/radio/radio.vanilla.js +8 -0
- package/dist/components/radio/radio.vanilla.js.map +1 -0
- package/dist/components/radio/types.d.ts +29 -0
- package/dist/components/search-field/index.d.ts +3 -0
- package/dist/components/search-field/search-field.css.d.ts +16 -0
- package/dist/components/search-field/search-field.d.ts +9 -0
- package/dist/components/search-field/search-field.js +60 -0
- package/dist/components/search-field/search-field.js.map +1 -0
- package/dist/components/search-field/search-field.vanilla.js +7 -0
- package/dist/components/search-field/search-field.vanilla.js.map +1 -0
- package/dist/components/search-field/types.d.ts +29 -0
- package/dist/components/select/index.d.ts +3 -0
- package/dist/components/select/select.css.d.ts +25 -0
- package/dist/components/select/select.d.ts +8 -0
- package/dist/components/select/select.js +80 -0
- package/dist/components/select/select.js.map +1 -0
- package/dist/components/select/select.vanilla.js +8 -0
- package/dist/components/select/select.vanilla.js.map +1 -0
- package/dist/components/select/types.d.ts +30 -0
- package/dist/components/switch/index.d.ts +3 -0
- package/dist/components/switch/switch.css.d.ts +25 -0
- package/dist/components/switch/switch.d.ts +4 -0
- package/dist/components/switch/switch.js +34 -0
- package/dist/components/switch/switch.js.map +1 -0
- package/dist/components/switch/switch.vanilla.js +8 -0
- package/dist/components/switch/switch.vanilla.js.map +1 -0
- package/dist/components/switch/types.d.ts +17 -0
- package/dist/components/tabs/index.d.ts +3 -0
- package/dist/components/tabs/tabs.css.d.ts +49 -0
- package/dist/components/tabs/tabs.d.ts +68 -0
- package/dist/components/tabs/tabs.js +108 -0
- package/dist/components/tabs/tabs.js.map +1 -0
- package/dist/components/tabs/tabs.vanilla.js +11 -0
- package/dist/components/tabs/tabs.vanilla.js.map +1 -0
- package/dist/components/tabs/types.d.ts +82 -0
- package/dist/components/textarea/index.d.ts +3 -0
- package/dist/components/textarea/textarea.css.d.ts +31 -0
- package/dist/components/textarea/textarea.d.ts +14 -0
- package/dist/components/textarea/textarea.js +86 -0
- package/dist/components/textarea/textarea.js.map +1 -0
- package/dist/components/textarea/textarea.vanilla.js +8 -0
- package/dist/components/textarea/textarea.vanilla.js.map +1 -0
- package/dist/components/textarea/types.d.ts +39 -0
- package/dist/components/tooltip/index.d.ts +3 -0
- package/dist/components/tooltip/tooltip.css.d.ts +23 -0
- package/dist/components/tooltip/tooltip.d.ts +23 -0
- package/dist/components/tooltip/tooltip.js +69 -0
- package/dist/components/tooltip/tooltip.js.map +1 -0
- package/dist/components/tooltip/tooltip.vanilla.js +8 -0
- package/dist/components/tooltip/tooltip.vanilla.js.map +1 -0
- package/dist/components/tooltip/types.d.ts +39 -0
- package/dist/components/tree/index.d.ts +3 -0
- package/dist/components/tree/tree.css.d.ts +73 -0
- package/dist/components/tree/tree.d.ts +5 -0
- package/dist/components/tree/tree.js +337 -0
- package/dist/components/tree/tree.js.map +1 -0
- package/dist/components/tree/tree.vanilla.js +11 -0
- package/dist/components/tree/tree.vanilla.js.map +1 -0
- package/dist/components/tree/types.d.ts +114 -0
- package/dist/components/tree/utils.d.ts +8 -0
- package/dist/components/tree/utils.js +75 -0
- package/dist/components/tree/utils.js.map +1 -0
- package/dist/hooks/index.d.ts +8 -0
- package/dist/hooks/use-collection-render/index.d.ts +1 -0
- package/dist/hooks/use-collection-render/use-collection-render.d.ts +9 -0
- package/dist/hooks/use-collection-render/use-collection-render.js +20 -0
- package/dist/hooks/use-collection-render/use-collection-render.js.map +1 -0
- package/dist/hooks/use-context-props/index.d.ts +1 -0
- package/dist/hooks/use-context-props/use-context-props.d.ts +7 -0
- package/dist/hooks/use-context-props/use-context-props.js +15 -0
- package/dist/hooks/use-context-props/use-context-props.js.map +1 -0
- package/dist/hooks/use-defaults/index.d.ts +2 -0
- package/dist/hooks/use-defaults/types.d.ts +67 -0
- package/dist/hooks/use-defaults/use-defaults.d.ts +56 -0
- package/dist/hooks/use-defaults/use-defaults.js +21 -0
- package/dist/hooks/use-defaults/use-defaults.js.map +1 -0
- package/dist/hooks/use-propagating-press/index.d.ts +1 -0
- package/dist/hooks/use-propagating-press/use-propagating-press.d.ts +9 -0
- package/dist/hooks/use-propagating-press/use-propagating-press.js +14 -0
- package/dist/hooks/use-propagating-press/use-propagating-press.js.map +1 -0
- package/dist/hooks/use-slot/index.d.ts +1 -0
- package/dist/hooks/use-slot/use-slot.d.ts +13 -0
- package/dist/hooks/use-slot/use-slot.js +18 -0
- package/dist/hooks/use-slot/use-slot.js.map +1 -0
- package/dist/hooks/use-theme/index.d.ts +2 -0
- package/dist/hooks/use-theme/types.d.ts +86 -0
- package/dist/hooks/use-theme/use-theme.css.d.ts +1 -0
- package/dist/hooks/use-theme/use-theme.d.ts +13 -0
- package/dist/hooks/use-theme/use-theme.js +64 -0
- package/dist/hooks/use-theme/use-theme.js.map +1 -0
- package/dist/hooks/use-theme/use-theme.vanilla.js +4 -0
- package/dist/hooks/use-theme/use-theme.vanilla.js.map +1 -0
- package/dist/hooks/use-tree/index.d.ts +1 -0
- package/dist/hooks/use-tree/use-tree.d.ts +2 -0
- package/dist/hooks/use-tree/use-tree.js +217 -0
- package/dist/hooks/use-tree/use-tree.js.map +1 -0
- package/dist/hooks/use-tree/utils.d.ts +6 -0
- package/dist/hooks/use-tree/utils.js +77 -0
- package/dist/hooks/use-tree/utils.js.map +1 -0
- package/dist/hooks/use-update-effect/index.d.ts +1 -0
- package/dist/hooks/use-update-effect/use-update-effect.d.ts +1 -0
- package/dist/hooks/use-update-effect/use-update-effect.js +20 -0
- package/dist/hooks/use-update-effect/use-update-effect.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.js +66 -0
- package/dist/index.js.map +1 -0
- package/dist/ladle/actions.d.ts +1 -0
- package/dist/ladle/index.d.ts +1 -0
- package/dist/styles/index.d.ts +6 -0
- package/dist/styles/layers.css.d.ts +16 -0
- package/dist/styles/layers.vanilla.js +4 -0
- package/dist/styles/layers.vanilla.js.map +1 -0
- package/dist/styles/reset.css.d.ts +1 -0
- package/dist/styles/space.css.d.ts +1 -0
- package/dist/styles/surfaces.css.d.ts +4 -0
- package/dist/styles/surfaces.vanilla.js +4 -0
- package/dist/styles/surfaces.vanilla.js.map +1 -0
- package/dist/styles/theme.css.d.ts +334 -0
- package/dist/styles/theme.vanilla.js +31 -0
- package/dist/styles/theme.vanilla.js.map +1 -0
- package/dist/styles/typography.css.d.ts +17 -0
- package/dist/styles/typography.vanilla.js +8 -0
- package/dist/styles/typography.vanilla.js.map +1 -0
- package/dist/styles.css +2018 -0
- package/dist/test/setup.d.ts +1 -0
- package/dist/types/deckgl.d.ts +1 -0
- package/dist/types/generic.d.ts +3 -0
- package/dist/types/index.d.ts +6 -0
- package/dist/types/props.d.ts +4 -0
- package/dist/types/react-aria.d.ts +91 -0
- package/dist/types/use-tree.d.ts +52 -0
- package/dist/types/vanilla-extract.d.ts +15 -0
- package/dist/utils/css.d.ts +139 -0
- package/dist/utils/css.js +145 -0
- package/dist/utils/css.js.map +1 -0
- package/dist/utils/events.d.ts +10 -0
- package/dist/utils/events.js +5 -0
- package/dist/utils/events.js.map +1 -0
- package/dist/utils/index.d.ts +4 -0
- package/dist/utils/props.d.ts +29 -0
- package/dist/utils/props.js +108 -0
- package/dist/utils/props.js.map +1 -0
- package/dist/utils/validators.d.ts +49 -0
- package/dist/utils/validators.js +37 -0
- package/dist/utils/validators.js.map +1 -0
- package/dist/vanilla.d.ts +30 -0
- package/dist/vanilla.js +27 -0
- package/package.json +19 -7
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { Orientation } from 'react-aria';
|
|
2
|
+
import type { CheckboxGroupProps as RACCheckboxGroupProps, CheckboxGroupRenderProps as RACCheckboxGroupRenderProps, CheckboxProps as RACCheckboxProps, CheckboxRenderProps as RACCheckboxRenderProps } from 'react-aria-components';
|
|
3
|
+
import type { PartialDeep } from 'type-fest';
|
|
4
|
+
import type { RenderPropsChildren } from '../../types';
|
|
5
|
+
import type { IconClassNames } from '../icon/types';
|
|
6
|
+
export type CheckboxClassNames = PartialDeep<{
|
|
7
|
+
group: {
|
|
8
|
+
container: string;
|
|
9
|
+
group: string;
|
|
10
|
+
label: string;
|
|
11
|
+
};
|
|
12
|
+
checkbox: {
|
|
13
|
+
container: string;
|
|
14
|
+
checkbox: string;
|
|
15
|
+
icon: IconClassNames;
|
|
16
|
+
label: string;
|
|
17
|
+
};
|
|
18
|
+
}>;
|
|
19
|
+
export type CheckboxAlignment = 'start' | 'end';
|
|
20
|
+
export type CheckboxRenderProps = RACCheckboxRenderProps;
|
|
21
|
+
type BaseCheckboxProps = {
|
|
22
|
+
children?: RenderPropsChildren<CheckboxRenderProps>;
|
|
23
|
+
label?: string;
|
|
24
|
+
classNames?: CheckboxClassNames;
|
|
25
|
+
alignInput?: CheckboxAlignment;
|
|
26
|
+
};
|
|
27
|
+
export type CheckboxState = Omit<CheckboxRenderProps, 'state'> & Required<Pick<BaseCheckboxProps, 'alignInput'>>;
|
|
28
|
+
export type CheckboxProps = Omit<RACCheckboxProps, 'children' | 'className' | 'style'> & BaseCheckboxProps;
|
|
29
|
+
export type CheckboxGroupRenderProps = RACCheckboxGroupRenderProps;
|
|
30
|
+
type BaseCheckboxGroupProps = {
|
|
31
|
+
children?: RenderPropsChildren<CheckboxGroupRenderProps>;
|
|
32
|
+
classNames?: CheckboxClassNames;
|
|
33
|
+
label?: string;
|
|
34
|
+
orientation?: Orientation;
|
|
35
|
+
} & Pick<BaseCheckboxProps, 'alignInput'>;
|
|
36
|
+
export type CheckboxGroupProps = Omit<RACCheckboxGroupProps, 'children' | 'className' | 'style'> & BaseCheckboxGroupProps;
|
|
37
|
+
export type CheckboxGroupState = Omit<CheckboxGroupRenderProps, 'state'> & Pick<BaseCheckboxGroupProps, 'orientation'>;
|
|
38
|
+
export {};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { ChipClassNames } from './types';
|
|
2
|
+
export declare const chipContainer: string;
|
|
3
|
+
export declare const chipColorVars: {
|
|
4
|
+
background: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
|
|
5
|
+
border: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
|
|
6
|
+
color: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
|
|
7
|
+
};
|
|
8
|
+
export declare const chipSpaceVars: {
|
|
9
|
+
list: {
|
|
10
|
+
gap: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
|
|
11
|
+
};
|
|
12
|
+
chip: {
|
|
13
|
+
gap: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
|
|
14
|
+
x: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
|
|
15
|
+
y: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
export declare const chipStateVars: {
|
|
19
|
+
color: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
|
|
20
|
+
size: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
|
|
21
|
+
allowsRemoving: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
|
|
22
|
+
selectionBehavior: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
|
|
23
|
+
selectionMode: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
|
|
24
|
+
isDisabled: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
|
|
25
|
+
isFocused: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
|
|
26
|
+
isFocusVisible: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
|
|
27
|
+
isHovered: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
|
|
28
|
+
isPressed: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
|
|
29
|
+
isSelected: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
|
|
30
|
+
};
|
|
31
|
+
export declare const chipClassNames: ChipClassNames;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { type ContextValue } from 'react-aria-components';
|
|
2
|
+
import type { ChipGroupProps, ChipItemProps, ChipListProps, ChipProps } from './types';
|
|
3
|
+
export declare function Chip(props: ChipProps): import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
export declare const ChipContext: import("react").Context<ContextValue<ChipItemProps, HTMLDivElement>>;
|
|
5
|
+
/**
|
|
6
|
+
* Must be used in conjunction with ChipList & ChipGroup and
|
|
7
|
+
* cannot be used outside of ChipList, else will throw error
|
|
8
|
+
*
|
|
9
|
+
* Color & Size props can be passed in from ChipGroup and overriden
|
|
10
|
+
* on each instance of this components
|
|
11
|
+
*
|
|
12
|
+
* Order of precedence (from lowest to highest):
|
|
13
|
+
* Design System Defaults of Chip
|
|
14
|
+
* Global Defaults of ChipGroup
|
|
15
|
+
* Instance of ChipGroup
|
|
16
|
+
* Global Defaults of ChipItem
|
|
17
|
+
* Instance of ChipItem
|
|
18
|
+
*/
|
|
19
|
+
export declare const ChipItem: (props: Omit<import("react-aria-components").TagProps, "children" | "className" | "style"> & import("./types").BaseChipProps & import("react").RefAttributes<HTMLDivElement>) => import("react").ReactElement | null;
|
|
20
|
+
/**
|
|
21
|
+
* Must be used in conjunction with ChipItem & ChipGroup and
|
|
22
|
+
* cannot be used outside of ChipGroup, else will throw error
|
|
23
|
+
*/
|
|
24
|
+
export declare function ChipList<T extends object>({ classNames: classNamesProp, ...rest }: ChipListProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
25
|
+
export declare const ChipGroupContext: import("react").Context<ContextValue<ChipGroupProps, HTMLDivElement>>;
|
|
26
|
+
/**
|
|
27
|
+
* Color & Size props are passed down to ChipItem but can be overridden
|
|
28
|
+
* on each component if desired
|
|
29
|
+
*/
|
|
30
|
+
export declare const ChipGroup: (props: Omit<import("react-aria-components").TagGroupProps, "className" | "style"> & Omit<import("./types").BaseChipProps, "children"> & import("react").RefAttributes<HTMLDivElement>) => import("react").ReactElement | null;
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { createContext, forwardRef, useMemo, useCallback } from 'react';
|
|
3
|
+
import { TextContext, Provider, Tag, TagGroup, TagList } from 'react-aria-components';
|
|
4
|
+
import { useContextProps } from '../../hooks/use-context-props/use-context-props.js';
|
|
5
|
+
import { useDefaultProps } from '../../hooks/use-defaults/use-defaults.js';
|
|
6
|
+
import { inlineVars } from '../../utils/css.js';
|
|
7
|
+
import { mergeClassNames, callRenderProps } from '../../utils/props.js';
|
|
8
|
+
import { useTheme } from '../../hooks/use-theme/use-theme.js';
|
|
9
|
+
import { bodies } from '../../styles/typography.vanilla.js';
|
|
10
|
+
import { AriaTextContext } from '../aria/aria.js';
|
|
11
|
+
import { ButtonContext } from '../button/button.js';
|
|
12
|
+
import { chipClassNames, chipStateVars } from './chip.vanilla.js';
|
|
13
|
+
|
|
14
|
+
const defaults = {
|
|
15
|
+
color: "info",
|
|
16
|
+
size: "sm"
|
|
17
|
+
};
|
|
18
|
+
const defaultMapping = {
|
|
19
|
+
font: {
|
|
20
|
+
sm: bodies.sm,
|
|
21
|
+
lg: bodies.sm
|
|
22
|
+
},
|
|
23
|
+
remove: {
|
|
24
|
+
sm: { size: "sm", variant: "icon" },
|
|
25
|
+
lg: { size: "sm", variant: "icon" }
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
function Chip(props) {
|
|
29
|
+
props = useDefaultProps(props, "Chip");
|
|
30
|
+
const { children, classNames: classNamesProp, color = defaults.color, mapping: mappingProp, size = defaults.size } = props;
|
|
31
|
+
const theme = useTheme();
|
|
32
|
+
const mapping = useMemo(() => ({
|
|
33
|
+
...defaultMapping,
|
|
34
|
+
...mappingProp
|
|
35
|
+
}), [mappingProp]);
|
|
36
|
+
const classNames = useMemo(() => mergeClassNames(chipClassNames, theme.Chip, classNamesProp, {
|
|
37
|
+
chip: mapping.font[size]
|
|
38
|
+
}), [theme.Chip, classNamesProp, mapping, size]);
|
|
39
|
+
const values = useMemo(() => [[AriaTextContext, { className: classNames?.label }]], [classNames?.label]);
|
|
40
|
+
const style = useMemo(() => inlineVars(chipStateVars, {
|
|
41
|
+
allowsRemoving: false,
|
|
42
|
+
color,
|
|
43
|
+
selectionBehavior: "toggle",
|
|
44
|
+
selectionMode: "none",
|
|
45
|
+
size,
|
|
46
|
+
isDisabled: false,
|
|
47
|
+
isFocused: false,
|
|
48
|
+
isFocusVisible: false,
|
|
49
|
+
isHovered: false,
|
|
50
|
+
isPressed: false,
|
|
51
|
+
isSelected: false
|
|
52
|
+
}), [color, size]);
|
|
53
|
+
return jsx(Provider, { values, children: jsx("div", { className: classNames?.container, style, children: jsx("div", { className: classNames?.chip, children }) }) });
|
|
54
|
+
}
|
|
55
|
+
const ChipContext = createContext(null);
|
|
56
|
+
const ChipItem = forwardRef(function ChipItem2(props, ref) {
|
|
57
|
+
[props, ref] = useContextProps(props, ref, ChipContext);
|
|
58
|
+
props = useDefaultProps(props, "Chip");
|
|
59
|
+
const { children: childrenProp, id, classNames: classNamesProp, color = defaults.color, size = defaults.size, textValue, mapping: mappingProp, ...rest } = props;
|
|
60
|
+
const theme = useTheme();
|
|
61
|
+
const mapping = useMemo(() => ({
|
|
62
|
+
...defaultMapping,
|
|
63
|
+
...mappingProp
|
|
64
|
+
}), [mappingProp]);
|
|
65
|
+
const classNames = useMemo(() => mergeClassNames(chipClassNames, theme.Chip, classNamesProp, {
|
|
66
|
+
chip: mapping.font[size]
|
|
67
|
+
}), [theme.Chip, classNamesProp, mapping, size]);
|
|
68
|
+
const values = useMemo(() => [
|
|
69
|
+
// Because ChipGroup (TagGroup) implements a TextContext, we need to block it inside of the Chip
|
|
70
|
+
// so that there isn't a conflict of with our AriaTextContext. Otherwise there are slot errors
|
|
71
|
+
[TextContext, null],
|
|
72
|
+
[AriaTextContext, { className: classNames?.label }],
|
|
73
|
+
[
|
|
74
|
+
ButtonContext,
|
|
75
|
+
{
|
|
76
|
+
...mapping.remove[size],
|
|
77
|
+
classNames: { button: classNames?.remove },
|
|
78
|
+
slot: "remove"
|
|
79
|
+
}
|
|
80
|
+
]
|
|
81
|
+
], [classNames?.label, classNames?.remove, mapping, size]);
|
|
82
|
+
const style = useCallback((renderProps) => inlineVars(chipStateVars, {
|
|
83
|
+
...renderProps,
|
|
84
|
+
color,
|
|
85
|
+
size
|
|
86
|
+
}), [color, size]);
|
|
87
|
+
const children = useCallback((renderProps) => jsx(Provider, { values, children: jsx("div", { className: classNames?.chip, children: callRenderProps(childrenProp, renderProps) }) }), [values, classNames?.chip, childrenProp]);
|
|
88
|
+
return jsx(Tag, { ...rest, ref, id: id ?? textValue, className: classNames?.container, style, textValue, children });
|
|
89
|
+
});
|
|
90
|
+
function ChipList({ classNames: classNamesProp, ...rest }) {
|
|
91
|
+
const theme = useTheme();
|
|
92
|
+
const classNames = useMemo(() => mergeClassNames(chipClassNames, theme.Chip, classNamesProp), [theme.Chip, classNamesProp]);
|
|
93
|
+
return jsx(TagList, { ...rest, className: classNames?.list });
|
|
94
|
+
}
|
|
95
|
+
const ChipGroupContext = createContext(null);
|
|
96
|
+
const ChipGroup = forwardRef(function ChipGroup2(props, ref) {
|
|
97
|
+
[props, ref] = useContextProps(props, ref, ChipGroupContext);
|
|
98
|
+
props = useDefaultProps(props, "ChipGroup");
|
|
99
|
+
const { children, classNames: classNamesProp, color, size, ...rest } = props;
|
|
100
|
+
const theme = useTheme();
|
|
101
|
+
const classNames = useMemo(() => mergeClassNames(chipClassNames, theme.Chip, classNamesProp), [theme.Chip, classNamesProp]);
|
|
102
|
+
const values = useMemo(() => [[ChipContext, { classNames, color, size }]], [classNames, color, size]);
|
|
103
|
+
return jsx(TagGroup, { ...rest, ref, className: classNames?.group, children: jsx(Provider, { values, children }) });
|
|
104
|
+
});
|
|
105
|
+
|
|
106
|
+
export { Chip, ChipContext, ChipGroup, ChipGroupContext, ChipItem, ChipList };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chip.js","sources":["../../../src/components/chip/chip.tsx"],"sourcesContent":["import {\n createContext,\n forwardRef,\n useCallback,\n useMemo,\n type ForwardedRef,\n} from 'react';\nimport {\n Provider,\n TextContext as RACTextContext,\n Tag,\n TagGroup,\n TagList,\n type ContextValue,\n type TagRenderProps,\n type TextProps,\n} from 'react-aria-components';\nimport { useContextProps, useDefaultProps, useTheme } from '../../hooks';\nimport { bodies } from '../../styles';\nimport { callRenderProps, inlineVars, mergeClassNames } from '../../utils';\nimport { AriaTextContext } from '../aria';\nimport { ButtonContext, type ButtonProps } from '../button';\nimport { chipClassNames, chipStateVars } from './chip.css';\nimport type {\n ChipGroupProps,\n ChipItemProps,\n ChipListProps,\n ChipMapping,\n ChipProps,\n} from './types';\n\nconst defaults: Required<Pick<ChipProps, 'color' | 'size'>> = {\n color: 'info',\n size: 'sm',\n};\n\nconst defaultMapping: ChipMapping = {\n font: {\n sm: bodies.sm,\n lg: bodies.sm,\n },\n remove: {\n sm: { size: 'sm', variant: 'icon' },\n lg: { size: 'sm', variant: 'icon' },\n },\n};\n\nexport function Chip(props: ChipProps) {\n props = useDefaultProps(props, 'Chip');\n\n const {\n children,\n classNames: classNamesProp,\n color = defaults.color,\n mapping: mappingProp,\n size = defaults.size,\n } = props;\n\n const theme = useTheme();\n\n const mapping = useMemo(\n () => ({\n ...defaultMapping,\n ...mappingProp,\n }),\n [mappingProp],\n );\n\n const classNames = useMemo(\n () =>\n mergeClassNames(chipClassNames, theme.Chip, classNamesProp, {\n chip: mapping.font[size],\n }),\n [theme.Chip, classNamesProp, mapping, size],\n );\n\n const values = useMemo<\n [[typeof AriaTextContext, ContextValue<TextProps, HTMLElement>]]\n >(\n () => [[AriaTextContext, { className: classNames?.label }]],\n [classNames?.label],\n );\n\n const style = useMemo(\n () =>\n inlineVars(chipStateVars, {\n allowsRemoving: false,\n color,\n selectionBehavior: 'toggle',\n selectionMode: 'none',\n size,\n isDisabled: false,\n isFocused: false,\n isFocusVisible: false,\n isHovered: false,\n isPressed: false,\n isSelected: false,\n }),\n [color, size],\n );\n\n return (\n <Provider values={values}>\n <div className={classNames?.container} style={style}>\n <div className={classNames?.chip}>{children}</div>\n </div>\n </Provider>\n );\n}\n\nexport const ChipContext =\n createContext<ContextValue<ChipItemProps, HTMLDivElement>>(null);\n\n/**\n * Must be used in conjunction with ChipList & ChipGroup and\n * cannot be used outside of ChipList, else will throw error\n *\n * Color & Size props can be passed in from ChipGroup and overriden\n * on each instance of this components\n *\n * Order of precedence (from lowest to highest):\n * Design System Defaults of Chip\n * Global Defaults of ChipGroup\n * Instance of ChipGroup\n * Global Defaults of ChipItem\n * Instance of ChipItem\n */\nexport const ChipItem = forwardRef(function ChipItem(\n props: ChipItemProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n [props, ref] = useContextProps(props, ref, ChipContext);\n props = useDefaultProps(props, 'Chip');\n\n const {\n children: childrenProp,\n id,\n classNames: classNamesProp,\n color = defaults.color,\n size = defaults.size,\n textValue,\n mapping: mappingProp,\n ...rest\n } = props;\n\n const theme = useTheme();\n\n const mapping = useMemo(\n () => ({\n ...defaultMapping,\n ...mappingProp,\n }),\n [mappingProp],\n );\n\n const classNames = useMemo(\n () =>\n mergeClassNames(chipClassNames, theme.Chip, classNamesProp, {\n chip: mapping.font[size],\n }),\n [theme.Chip, classNamesProp, mapping, size],\n );\n\n const values = useMemo<\n [\n [typeof RACTextContext, ContextValue<TextProps, HTMLElement>],\n [typeof AriaTextContext, ContextValue<TextProps, HTMLElement>],\n [typeof ButtonContext, ContextValue<ButtonProps, HTMLButtonElement>],\n ]\n >(\n () => [\n // Because ChipGroup (TagGroup) implements a TextContext, we need to block it inside of the Chip\n // so that there isn't a conflict of with our AriaTextContext. Otherwise there are slot errors\n [RACTextContext, null],\n [AriaTextContext, { className: classNames?.label }],\n [\n ButtonContext,\n {\n ...mapping.remove[size],\n classNames: { button: classNames?.remove },\n slot: 'remove',\n },\n ],\n ],\n [classNames?.label, classNames?.remove, mapping, size],\n );\n\n const style = useCallback(\n (renderProps: TagRenderProps) =>\n inlineVars(chipStateVars, {\n ...renderProps,\n color,\n size,\n }),\n [color, size],\n );\n\n const children = useCallback(\n (renderProps: TagRenderProps) => (\n <Provider values={values}>\n <div className={classNames?.chip}>\n {callRenderProps(childrenProp, renderProps)}\n </div>\n </Provider>\n ),\n [values, classNames?.chip, childrenProp],\n );\n\n return (\n <Tag\n {...rest}\n ref={ref}\n id={id ?? textValue}\n className={classNames?.container}\n style={style}\n textValue={textValue}\n >\n {children}\n </Tag>\n );\n});\n\n/**\n * Must be used in conjunction with ChipItem & ChipGroup and\n * cannot be used outside of ChipGroup, else will throw error\n */\nexport function ChipList<T extends object>({\n classNames: classNamesProp,\n ...rest\n}: ChipListProps<T>) {\n const theme = useTheme();\n\n const classNames = useMemo(\n () => mergeClassNames(chipClassNames, theme.Chip, classNamesProp),\n [theme.Chip, classNamesProp],\n );\n\n return <TagList<T> {...rest} className={classNames?.list} />;\n}\n\nexport const ChipGroupContext =\n createContext<ContextValue<ChipGroupProps, HTMLDivElement>>(null);\n\n/**\n * Color & Size props are passed down to ChipItem but can be overridden\n * on each component if desired\n */\nexport const ChipGroup = forwardRef(function ChipGroup(\n props: ChipGroupProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n [props, ref] = useContextProps(props, ref, ChipGroupContext);\n props = useDefaultProps(props, 'ChipGroup');\n\n const { children, classNames: classNamesProp, color, size, ...rest } = props;\n const theme = useTheme();\n\n const classNames = useMemo(\n () => mergeClassNames(chipClassNames, theme.Chip, classNamesProp),\n [theme.Chip, classNamesProp],\n );\n\n const values = useMemo<\n [[typeof ChipContext, ContextValue<ChipItemProps, HTMLDivElement>]]\n >(\n () => [[ChipContext, { classNames, color, size }]],\n [classNames, color, size],\n );\n\n return (\n <TagGroup {...rest} ref={ref} className={classNames?.group}>\n <Provider values={values}>{children}</Provider>\n </TagGroup>\n );\n});\n"],"names":["ChipItem","RACTextContext","ChipGroup"],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
|
|
2
|
+
var chipClassNames = { list: "chip_chipClassNames_list__1t8hj09j", container: "chip_chipClassNames_container__1t8hj09k", chip: "chip_chipClassNames_chip__1t8hj09l", label: "chip_chipClassNames_label__1t8hj09m", remove: "chip_chipClassNames_remove__1t8hj09n" };
|
|
3
|
+
var chipColorVars = { background: "var(--background__1t8hj091)", border: "var(--border__1t8hj092)", color: "var(--color__1t8hj093)" };
|
|
4
|
+
var chipContainer = "chip_chipContainer__1t8hj090";
|
|
5
|
+
var chipSpaceVars = { list: { gap: "var(--list-gap__1t8hj094)" }, chip: { gap: "var(--chip-gap__1t8hj095)", x: "var(--chip-x__1t8hj096)", y: "var(--chip-y__1t8hj097)" } };
|
|
6
|
+
var chipStateVars = { color: "var(--color__1t8hj098)", size: "var(--size__1t8hj099)", allowsRemoving: "var(--allowsRemoving__1t8hj09a)", selectionBehavior: "var(--selectionBehavior__1t8hj09b)", selectionMode: "var(--selectionMode__1t8hj09c)", isDisabled: "var(--isDisabled__1t8hj09d)", isFocused: "var(--isFocused__1t8hj09e)", isFocusVisible: "var(--isFocusVisible__1t8hj09f)", isHovered: "var(--isHovered__1t8hj09g)", isPressed: "var(--isPressed__1t8hj09h)", isSelected: "var(--isSelected__1t8hj09i)" };
|
|
7
|
+
|
|
8
|
+
export { chipClassNames, chipColorVars, chipContainer, chipSpaceVars, chipStateVars };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chip.vanilla.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { Chip, ChipContext, ChipGroup, ChipGroupContext, ChipItem, ChipList, } from './chip';
|
|
2
|
+
export { chipClassNames, chipColorVars, chipSpaceVars, chipStateVars, chipContainer, } from './chip.css';
|
|
3
|
+
export { type ChipClassNames, type ChipColors, type ChipGroupProps, type ChipItemProps, type ChipListProps, type ChipMapping, type ChipProps, type ChipRenderProps, type ChipSizes, type ChipState, } from './types';
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { PropsWithChildren } from 'react';
|
|
2
|
+
import type { TagGroupProps, TagListProps, TagProps, TagRenderProps } from 'react-aria-components';
|
|
3
|
+
import type { AsType, OmitProtectedProps, RenderPropsChildren } from '../../types';
|
|
4
|
+
import type { ButtonProps } from '../button/types';
|
|
5
|
+
export type ChipClassNames = Partial<{
|
|
6
|
+
group: string;
|
|
7
|
+
list: string;
|
|
8
|
+
container: string;
|
|
9
|
+
chip: string;
|
|
10
|
+
label: string;
|
|
11
|
+
remove: string;
|
|
12
|
+
}>;
|
|
13
|
+
export type ChipColors = 'primary' | 'secondary' | 'tertiary' | 'info' | 'advisory' | 'affirmative' | 'serious' | 'critical';
|
|
14
|
+
export type ChipSizes = 'sm' | 'lg';
|
|
15
|
+
export type ChipRenderProps = AsType<TagRenderProps>;
|
|
16
|
+
export type ChipMapping = {
|
|
17
|
+
font: Partial<Record<ChipSizes, string>>;
|
|
18
|
+
remove: Partial<Record<ChipSizes, OmitProtectedProps<ButtonProps>>>;
|
|
19
|
+
};
|
|
20
|
+
export type BaseChipProps = {
|
|
21
|
+
children?: RenderPropsChildren<ChipRenderProps>;
|
|
22
|
+
classNames?: ChipClassNames;
|
|
23
|
+
color?: ChipColors;
|
|
24
|
+
mapping?: Partial<ChipMapping>;
|
|
25
|
+
size?: ChipSizes;
|
|
26
|
+
};
|
|
27
|
+
export type ChipState = ChipRenderProps & Required<Pick<BaseChipProps, 'color' | 'size'>>;
|
|
28
|
+
export type ChipProps = PropsWithChildren<Omit<BaseChipProps, 'children'>>;
|
|
29
|
+
export type ChipItemProps = Omit<TagProps, 'children' | 'className' | 'style'> & BaseChipProps;
|
|
30
|
+
export type ChipListProps<T> = Omit<TagListProps<T>, 'className' | 'style'> & Pick<BaseChipProps, 'classNames'>;
|
|
31
|
+
export type ChipGroupProps = Omit<TagGroupProps, 'className' | 'style'> & Omit<BaseChipProps, 'children'>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type Context } from 'react';
|
|
2
|
+
import type { CollectionRenderer } from 'react-aria-components';
|
|
3
|
+
import type { Collection, Node } from 'react-stately';
|
|
4
|
+
import { type MergeProviderProps } from '../merge-provider';
|
|
5
|
+
/**
|
|
6
|
+
* Replace the default collection renderer to allow for injection of
|
|
7
|
+
* context props for multiple composed components. Also enables use of
|
|
8
|
+
* Section as wrapper of list items at the top level as a styleable
|
|
9
|
+
* element within the RAC container
|
|
10
|
+
*/
|
|
11
|
+
export declare function createCollectionRenderer<C extends {
|
|
12
|
+
readonly collection: Collection<Node<unknown>>;
|
|
13
|
+
}, V extends MergeProviderProps['values']>(context: Context<C>, values: V): CollectionRenderer;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { useContext } from 'react';
|
|
3
|
+
import { useCollectionRender } from '../../hooks/use-collection-render/use-collection-render.js';
|
|
4
|
+
import { MergeProvider } from '../merge-provider/merge-provider.js';
|
|
5
|
+
|
|
6
|
+
function createCollectionRenderer(context, values) {
|
|
7
|
+
return {
|
|
8
|
+
// biome-ignore lint/style/useNamingConvention: intentional
|
|
9
|
+
CollectionRoot: ({ renderDropIndicator }) => jsx(MergeProvider, { values, children: useCollectionRender(useContext(context)?.collection, null, renderDropIndicator) }),
|
|
10
|
+
// biome-ignore lint/style/useNamingConvention: intentional
|
|
11
|
+
CollectionBranch: ({ collection, parent, renderDropIndicator }) => jsx(MergeProvider, { values, children: useCollectionRender(collection, parent, renderDropIndicator) })
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export { createCollectionRenderer };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collection.js","sources":["../../../src/components/collection/collection.tsx"],"sourcesContent":["import { useContext, type Context } from 'react';\nimport type { CollectionRenderer } from 'react-aria-components';\nimport type { Collection, Node } from 'react-stately';\nimport { useCollectionRender } from '../../hooks';\nimport { MergeProvider, type MergeProviderProps } from '../merge-provider';\n\n/**\n * Replace the default collection renderer to allow for injection of\n * context props for multiple composed components. Also enables use of\n * Section as wrapper of list items at the top level as a styleable\n * element within the RAC container\n */\nexport function createCollectionRenderer<\n C extends { readonly collection: Collection<Node<unknown>> },\n V extends MergeProviderProps['values'],\n>(context: Context<C>, values: V): CollectionRenderer {\n return {\n // biome-ignore lint/style/useNamingConvention: intentional\n CollectionRoot: ({ renderDropIndicator }) => (\n <MergeProvider values={values}>\n {useCollectionRender(\n useContext(context)?.collection,\n null,\n renderDropIndicator,\n )}\n </MergeProvider>\n ),\n // biome-ignore lint/style/useNamingConvention: intentional\n CollectionBranch: ({ collection, parent, renderDropIndicator }) => (\n <MergeProvider values={values}>\n {useCollectionRender(collection, parent, renderDropIndicator)}\n </MergeProvider>\n ),\n };\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAYgB,SAAA,wBAAA,CAGd,SAAqB,MAA+B,EAAA;AACpD,EAAO,OAAA;AAAA;AAAA,IAEL,gBAAgB,CAAC,EAAE,qBACjB,qBAAA,GAAA,CAAC,iBAAc,MACZ,EAAA,QAAA,EAAA,mBAAA;AAAA,MACC,UAAA,CAAW,OAAO,CAAG,EAAA,UAAA;AAAA,MACrB,IAAA;AAAA,MACA,mBAAA;AAAA,KAEJ,EAAA,CAAA;AAAA;AAAA,IAGF,gBAAkB,EAAA,CAAC,EAAE,UAAA,EAAY,QAAQ,mBAAoB,EAAA,qBAC1D,GAAA,CAAA,aAAA,EAAA,EAAc,MACZ,EAAA,QAAA,EAAA,mBAAA,CAAoB,UAAY,EAAA,MAAA,EAAQ,mBAAmB,CAC9D,EAAA,CAAA;AAAA,GAEJ,CAAA;AACF;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { createCollectionRenderer } from './collection';
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { ComboBoxClassNames } from './types';
|
|
2
|
+
export declare const comboBoxContainer: string;
|
|
3
|
+
export declare const comboBoxColorVars: {
|
|
4
|
+
description: {
|
|
5
|
+
color: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
|
|
6
|
+
};
|
|
7
|
+
error: {
|
|
8
|
+
color: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
export declare const comboBoxSpaceVars: {
|
|
12
|
+
x: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
|
|
13
|
+
y: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
|
|
14
|
+
};
|
|
15
|
+
export declare const comboBoxStateVars: {
|
|
16
|
+
size: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
|
|
17
|
+
isDisabled: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
|
|
18
|
+
isInvalid: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
|
|
19
|
+
isOpen: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
|
|
20
|
+
isRequired: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
|
|
21
|
+
};
|
|
22
|
+
export declare const comboBoxClassNames: ComboBoxClassNames;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type ContextValue } from 'react-aria-components';
|
|
2
|
+
import type { ComboBoxMapping, ComboBoxProps } from './types';
|
|
3
|
+
export declare const ComboBoxContext: import("react").Context<ContextValue<ComboBoxProps<object>, HTMLDivElement>>;
|
|
4
|
+
export declare const ComboBox: <T extends object>(props: Omit<import("react-aria-components").ComboBoxProps<T>, "className" | "style"> & {
|
|
5
|
+
classNames?: import("./types").ComboBoxClassNames;
|
|
6
|
+
mapping?: Partial<ComboBoxMapping>;
|
|
7
|
+
size?: import("./types").ComboBoxSizes;
|
|
8
|
+
} & import("react").RefAttributes<HTMLDivElement>) => import("react").ReactElement | null;
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { createContext, forwardRef, useMemo, useCallback } from 'react';
|
|
3
|
+
import { Provider, ComboBox as ComboBox$1 } from 'react-aria-components';
|
|
4
|
+
import { useContextProps } from '../../hooks/use-context-props/use-context-props.js';
|
|
5
|
+
import { useDefaultProps } from '../../hooks/use-defaults/use-defaults.js';
|
|
6
|
+
import { inlineVars } from '../../utils/css.js';
|
|
7
|
+
import { mergeClassNames, callRenderProps } from '../../utils/props.js';
|
|
8
|
+
import { useTheme } from '../../hooks/use-theme/use-theme.js';
|
|
9
|
+
import { bodies } from '../../styles/typography.vanilla.js';
|
|
10
|
+
import { AriaLabelContext, AriaGroupContext, AriaTextContext, AriaFieldErrorContext } from '../aria/aria.js';
|
|
11
|
+
import { ButtonContext } from '../button/button.js';
|
|
12
|
+
import { InputContext } from '../input/input.js';
|
|
13
|
+
import { OptionsContext } from '../options/options.js';
|
|
14
|
+
import { comboBoxClassNames, comboBoxStateVars } from './combo-box.vanilla.js';
|
|
15
|
+
|
|
16
|
+
const defaultMapping = {
|
|
17
|
+
description: {
|
|
18
|
+
sm: bodies.xs,
|
|
19
|
+
lg: bodies.xs
|
|
20
|
+
},
|
|
21
|
+
error: {
|
|
22
|
+
sm: bodies.xs,
|
|
23
|
+
lg: bodies.xs
|
|
24
|
+
},
|
|
25
|
+
toggle: {
|
|
26
|
+
sm: { size: "sm", variant: "icon" },
|
|
27
|
+
lg: { size: "md", variant: "icon" }
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
const ComboBoxContext = createContext(null);
|
|
31
|
+
const ComboBox = forwardRef(function ComboBox2(props, ref) {
|
|
32
|
+
[props, ref] = useContextProps(props, ref, ComboBoxContext);
|
|
33
|
+
props = useDefaultProps(props, "ComboBox");
|
|
34
|
+
const { children: childrenProp, classNames: classNamesProp, mapping: mappingProp, size = "lg" } = props;
|
|
35
|
+
const theme = useTheme();
|
|
36
|
+
const mapping = useMemo(() => ({
|
|
37
|
+
...defaultMapping,
|
|
38
|
+
...mappingProp
|
|
39
|
+
}), [mappingProp]);
|
|
40
|
+
const classNames = useMemo(() => mergeClassNames(comboBoxClassNames, theme.ComboBox, classNamesProp, {
|
|
41
|
+
description: mapping.description[size],
|
|
42
|
+
error: mapping.error[size]
|
|
43
|
+
}), [theme.ComboBox, classNamesProp, mapping, size]);
|
|
44
|
+
const values = useMemo(() => [
|
|
45
|
+
[
|
|
46
|
+
AriaLabelContext,
|
|
47
|
+
{
|
|
48
|
+
className: classNames?.label
|
|
49
|
+
}
|
|
50
|
+
],
|
|
51
|
+
[
|
|
52
|
+
AriaGroupContext,
|
|
53
|
+
{
|
|
54
|
+
className: classNames?.group
|
|
55
|
+
}
|
|
56
|
+
],
|
|
57
|
+
[InputContext, { classNames: classNames?.input, size }],
|
|
58
|
+
[
|
|
59
|
+
ButtonContext,
|
|
60
|
+
{
|
|
61
|
+
...mapping.toggle[size],
|
|
62
|
+
classNames: classNames?.toggle
|
|
63
|
+
}
|
|
64
|
+
],
|
|
65
|
+
[
|
|
66
|
+
AriaTextContext,
|
|
67
|
+
{
|
|
68
|
+
slots: {
|
|
69
|
+
description: { className: classNames?.description }
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
],
|
|
73
|
+
[AriaFieldErrorContext, { className: classNames?.error }],
|
|
74
|
+
[OptionsContext, { classNames: classNames?.options, size }]
|
|
75
|
+
], [classNames, mapping, size]);
|
|
76
|
+
const style = useCallback((renderProps) => inlineVars(comboBoxStateVars, {
|
|
77
|
+
...renderProps,
|
|
78
|
+
size
|
|
79
|
+
}), [size]);
|
|
80
|
+
const children = useCallback((renderProps) => jsx("div", { className: classNames?.comboBox, children: jsx(Provider, { values, children: callRenderProps(childrenProp, {
|
|
81
|
+
...renderProps,
|
|
82
|
+
defaultChildren: null
|
|
83
|
+
}) }) }), [classNames?.comboBox, values, childrenProp]);
|
|
84
|
+
return jsx(ComboBox$1, { ...props, ref, className: classNames?.container, style, children });
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
export { ComboBox, ComboBoxContext };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"combo-box.js","sources":["../../../src/components/combo-box/combo-box.tsx"],"sourcesContent":["import {\n createContext,\n forwardRef,\n useCallback,\n useMemo,\n type ForwardedRef,\n} from 'react';\nimport {\n Provider,\n ComboBox as RACComboBox,\n type ComboBoxRenderProps,\n type ContextValue,\n type FieldErrorProps,\n type LabelProps,\n type GroupProps as RACGroupProps,\n type TextProps,\n} from 'react-aria-components';\nimport { useContextProps, useDefaultProps, useTheme } from '../../hooks';\nimport { bodies } from '../../styles';\nimport { callRenderProps, inlineVars, mergeClassNames } from '../../utils';\nimport {\n AriaFieldErrorContext,\n AriaGroupContext,\n AriaLabelContext,\n AriaTextContext,\n} from '../aria';\nimport { ButtonContext, type ButtonProps } from '../button';\nimport { InputContext, type InputProps } from '../input';\nimport { OptionsContext, type OptionsProps } from '../options';\nimport { comboBoxClassNames, comboBoxStateVars } from './combo-box.css';\nimport type { ComboBoxMapping, ComboBoxProps } from './types';\n\nconst defaultMapping: ComboBoxMapping = {\n description: {\n sm: bodies.xs,\n lg: bodies.xs,\n },\n error: {\n sm: bodies.xs,\n lg: bodies.xs,\n },\n toggle: {\n sm: { size: 'sm', variant: 'icon' },\n lg: { size: 'md', variant: 'icon' },\n },\n};\n\nexport const ComboBoxContext =\n createContext<ContextValue<ComboBoxProps<object>, HTMLDivElement>>(null);\n\nexport const ComboBox = forwardRef(function ComboBox<T extends object>(\n props: ComboBoxProps<T>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n [props, ref] = useContextProps(props, ref, ComboBoxContext);\n props = useDefaultProps(props, 'ComboBox');\n\n const {\n children: childrenProp,\n classNames: classNamesProp,\n mapping: mappingProp,\n size = 'lg',\n } = props;\n\n const theme = useTheme();\n\n const mapping = useMemo(\n () => ({\n ...defaultMapping,\n ...mappingProp,\n }),\n [mappingProp],\n );\n\n const classNames = useMemo(\n () =>\n mergeClassNames(comboBoxClassNames, theme.ComboBox, classNamesProp, {\n description: mapping.description[size],\n error: mapping.error[size],\n }),\n [theme.ComboBox, classNamesProp, mapping, size],\n );\n\n const values = useMemo<\n [\n [typeof AriaLabelContext, ContextValue<LabelProps, HTMLLabelElement>],\n [typeof AriaGroupContext, ContextValue<RACGroupProps, HTMLDivElement>],\n [typeof InputContext, ContextValue<InputProps, HTMLInputElement>],\n [typeof ButtonContext, ContextValue<ButtonProps, HTMLButtonElement>],\n [typeof AriaTextContext, ContextValue<TextProps, HTMLElement>],\n [\n typeof AriaFieldErrorContext,\n ContextValue<FieldErrorProps, HTMLElement>,\n ],\n [typeof OptionsContext, ContextValue<OptionsProps, HTMLElement>],\n ]\n >(\n () => [\n [\n AriaLabelContext,\n {\n className: classNames?.label,\n },\n ],\n [\n AriaGroupContext,\n {\n className: classNames?.group,\n },\n ],\n [InputContext, { classNames: classNames?.input, size }],\n [\n ButtonContext,\n {\n ...mapping.toggle[size],\n classNames: classNames?.toggle,\n },\n ],\n [\n AriaTextContext,\n {\n slots: {\n description: { className: classNames?.description },\n },\n },\n ],\n [AriaFieldErrorContext, { className: classNames?.error }],\n [OptionsContext, { classNames: classNames?.options, size }],\n ],\n [classNames, mapping, size],\n );\n\n const style = useCallback(\n (renderProps: ComboBoxRenderProps) =>\n inlineVars(comboBoxStateVars, {\n ...renderProps,\n size,\n }),\n [size],\n );\n\n const children = useCallback(\n (renderProps: ComboBoxRenderProps) => (\n <div className={classNames?.comboBox}>\n <Provider values={values}>\n {callRenderProps(childrenProp, {\n ...renderProps,\n defaultChildren: null,\n })}\n </Provider>\n </div>\n ),\n [classNames?.comboBox, values, childrenProp],\n );\n\n return (\n <RACComboBox\n {...props}\n ref={ref}\n className={classNames?.container}\n style={style}\n >\n {children}\n </RACComboBox>\n );\n});\n"],"names":["ComboBox","RACComboBox"],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
|
|
2
|
+
var comboBoxClassNames = { container: "combo-box_comboBoxClassNames_container__12tc9p8a", comboBox: "combo-box_comboBoxClassNames_comboBox__12tc9p8b", label: "combo-box_comboBoxClassNames_label__12tc9p8c typography_label__j8fgabg", group: "combo-box_comboBoxClassNames_group__12tc9p8d", input: { sizer: "combo-box_comboBoxClassNames_input_sizer__12tc9p8e", input: "combo-box_comboBoxClassNames_input_input__12tc9p8f" }, toggle: { button: "combo-box_comboBoxClassNames_toggle_button__12tc9p8g" }, description: "combo-box_comboBoxClassNames_description__12tc9p8h", error: "combo-box_comboBoxClassNames_error__12tc9p8i" };
|
|
3
|
+
var comboBoxColorVars = { description: { color: "var(--description-color__12tc9p81)" }, error: { color: "var(--error-color__12tc9p82)" } };
|
|
4
|
+
var comboBoxContainer = "combo-box_comboBoxContainer__12tc9p80";
|
|
5
|
+
var comboBoxSpaceVars = { x: "var(--x__12tc9p83)", y: "var(--y__12tc9p84)" };
|
|
6
|
+
var comboBoxStateVars = { size: "var(--size__12tc9p85)", isDisabled: "var(--isDisabled__12tc9p86)", isInvalid: "var(--isInvalid__12tc9p87)", isOpen: "var(--isOpen__12tc9p88)", isRequired: "var(--isRequired__12tc9p89)" };
|
|
7
|
+
|
|
8
|
+
export { comboBoxClassNames, comboBoxColorVars, comboBoxContainer, comboBoxSpaceVars, comboBoxStateVars };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"combo-box.vanilla.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { ComboBox, ComboBoxContext } from './combo-box';
|
|
2
|
+
export { comboBoxClassNames, comboBoxColorVars, comboBoxContainer, comboBoxSpaceVars, comboBoxStateVars, } from './combo-box.css';
|
|
3
|
+
export { type ComboBoxClassNames, type ComboBoxMapping, type ComboBoxProps, type ComboBoxRenderProps, type ComboBoxSizes, type ComboBoxState, } from './types';
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { ComboBoxProps as RACComboBoxProps, ComboBoxRenderProps as RACComboBoxRenderProps } from 'react-aria-components';
|
|
2
|
+
import type { PartialDeep } from 'type-fest';
|
|
3
|
+
import type { AsType, OmitProtectedProps } from '../../types';
|
|
4
|
+
import type { ButtonClassNames, ButtonProps } from '../button/types';
|
|
5
|
+
import type { InputClassNames } from '../input/types';
|
|
6
|
+
import type { OptionsClassNames } from '../options/types';
|
|
7
|
+
export type ComboBoxClassNames = PartialDeep<{
|
|
8
|
+
container: string;
|
|
9
|
+
comboBox: string;
|
|
10
|
+
label: string;
|
|
11
|
+
group: string;
|
|
12
|
+
input: InputClassNames;
|
|
13
|
+
toggle: ButtonClassNames;
|
|
14
|
+
description: string;
|
|
15
|
+
error: string;
|
|
16
|
+
options: OptionsClassNames;
|
|
17
|
+
}>;
|
|
18
|
+
export type ComboBoxSizes = 'sm' | 'lg';
|
|
19
|
+
export type ComboBoxMapping = {
|
|
20
|
+
description: Partial<Record<ComboBoxSizes, string>>;
|
|
21
|
+
error: Partial<Record<ComboBoxSizes, string>>;
|
|
22
|
+
toggle: Partial<Record<ComboBoxSizes, OmitProtectedProps<ButtonProps>>>;
|
|
23
|
+
};
|
|
24
|
+
type BaseComboBoxProps = {
|
|
25
|
+
classNames?: ComboBoxClassNames;
|
|
26
|
+
mapping?: Partial<ComboBoxMapping>;
|
|
27
|
+
size?: ComboBoxSizes;
|
|
28
|
+
};
|
|
29
|
+
export type ComboBoxRenderProps = AsType<RACComboBoxRenderProps>;
|
|
30
|
+
export type ComboBoxState = ComboBoxRenderProps & Required<Pick<BaseComboBoxProps, 'size'>>;
|
|
31
|
+
export type ComboBoxProps<T extends object> = Omit<RACComboBoxProps<T>, 'className' | 'style'> & BaseComboBoxProps;
|
|
32
|
+
export {};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { DialogClassNames } from './types';
|
|
2
|
+
export declare const dialogContainer: string;
|
|
3
|
+
export declare const dialogColorVars: {
|
|
4
|
+
overlay: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
|
|
5
|
+
content: {
|
|
6
|
+
color: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
|
|
7
|
+
};
|
|
8
|
+
};
|
|
9
|
+
export declare const dialogSpaceVars: {
|
|
10
|
+
width: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
|
|
11
|
+
x: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
|
|
12
|
+
y: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
|
|
13
|
+
gap: {
|
|
14
|
+
default: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
|
|
15
|
+
header: {
|
|
16
|
+
after: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
|
|
17
|
+
};
|
|
18
|
+
content: {
|
|
19
|
+
before: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
|
|
20
|
+
};
|
|
21
|
+
footer: {
|
|
22
|
+
before: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
export declare const dialogStateVars: {
|
|
27
|
+
hasHeader: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
|
|
28
|
+
size: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
|
|
29
|
+
isEntering: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
|
|
30
|
+
isExiting: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
|
|
31
|
+
isGlobal: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
|
|
32
|
+
isOpen: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
|
|
33
|
+
};
|
|
34
|
+
export declare const dialogClassNames: DialogClassNames;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type ContextValue } from 'react-aria-components';
|
|
2
|
+
import type { DialogMapping, DialogProps, DialogSizes } from './types';
|
|
3
|
+
export declare const DialogContext: import("react").Context<ContextValue<DialogProps, HTMLDivElement>>;
|
|
4
|
+
export declare const Dialog: (props: Omit<import("react-aria-components").ModalOverlayProps, "children" | "className" | "style"> & Pick<import("react-aria-components").DialogProps, "role"> & {
|
|
5
|
+
children?: import("../..").RenderPropsChildren<import("./types").DialogRenderProps>;
|
|
6
|
+
classNames?: Partial<{
|
|
7
|
+
portal: string;
|
|
8
|
+
container: string;
|
|
9
|
+
modal: string;
|
|
10
|
+
dialog: string;
|
|
11
|
+
header: string;
|
|
12
|
+
content: string;
|
|
13
|
+
footer: string;
|
|
14
|
+
}> | undefined;
|
|
15
|
+
mapping?: Partial<DialogMapping>;
|
|
16
|
+
parentRef?: import("react").RefObject<HTMLElement>;
|
|
17
|
+
size?: DialogSizes;
|
|
18
|
+
} & import("react").RefAttributes<HTMLDivElement>) => import("react").ReactElement | null;
|