@mitcsutt/kiln-ui 0.1.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 +73 -0
- package/dist/assets/fonts/big-shoulders-latin-ext-standard-normal.woff2 +0 -0
- package/dist/assets/fonts/big-shoulders-latin-standard-normal.woff2 +0 -0
- package/dist/assets/fonts/bricolage-grotesque-latin-ext-standard-normal.woff2 +0 -0
- package/dist/assets/fonts/bricolage-grotesque-latin-standard-normal.woff2 +0 -0
- package/dist/assets/fonts/licenses/big-shoulders.txt +93 -0
- package/dist/assets/fonts/licenses/bricolage-grotesque.txt +93 -0
- package/dist/assets/fonts/licenses/martian-mono.txt +93 -0
- package/dist/assets/fonts/licenses/newsreader.txt +93 -0
- package/dist/assets/fonts/licenses/schibsted-grotesk.txt +93 -0
- package/dist/assets/fonts/martian-mono-latin-ext-standard-normal.woff2 +0 -0
- package/dist/assets/fonts/martian-mono-latin-standard-normal.woff2 +0 -0
- package/dist/assets/fonts/newsreader-latin-ext-standard-italic.woff2 +0 -0
- package/dist/assets/fonts/newsreader-latin-ext-standard-normal.woff2 +0 -0
- package/dist/assets/fonts/newsreader-latin-standard-italic.woff2 +0 -0
- package/dist/assets/fonts/newsreader-latin-standard-normal.woff2 +0 -0
- package/dist/assets/fonts/schibsted-grotesk-latin-ext-wght-italic.woff2 +0 -0
- package/dist/assets/fonts/schibsted-grotesk-latin-ext-wght-normal.woff2 +0 -0
- package/dist/assets/fonts/schibsted-grotesk-latin-wght-italic.woff2 +0 -0
- package/dist/assets/fonts/schibsted-grotesk-latin-wght-normal.woff2 +0 -0
- package/dist/components/actions/Button/Button.d.ts +26 -0
- package/dist/components/actions/Button/Button.js +47 -0
- package/dist/components/actions/Button/Button.js.map +1 -0
- package/dist/components/actions/Button/Button.module.js +10 -0
- package/dist/components/actions/Button/Button.module.js.map +1 -0
- package/dist/components/actions/Button/index.d.ts +2 -0
- package/dist/components/actions/ChipGroup/ChipGroup.d.ts +50 -0
- package/dist/components/actions/ChipGroup/ChipGroup.js +104 -0
- package/dist/components/actions/ChipGroup/ChipGroup.js.map +1 -0
- package/dist/components/actions/ChipGroup/ChipGroup.module.js +6 -0
- package/dist/components/actions/ChipGroup/ChipGroup.module.js.map +1 -0
- package/dist/components/actions/ChipGroup/index.d.ts +2 -0
- package/dist/components/actions/IconButton/IconButton.d.ts +28 -0
- package/dist/components/actions/IconButton/IconButton.js +28 -0
- package/dist/components/actions/IconButton/IconButton.js.map +1 -0
- package/dist/components/actions/IconButton/IconButton.module.js +9 -0
- package/dist/components/actions/IconButton/IconButton.module.js.map +1 -0
- package/dist/components/actions/IconButton/index.d.ts +2 -0
- package/dist/components/actions/ModeToggle/ModeToggle.d.ts +28 -0
- package/dist/components/actions/ModeToggle/ModeToggle.js +63 -0
- package/dist/components/actions/ModeToggle/ModeToggle.js.map +1 -0
- package/dist/components/actions/ModeToggle/index.d.ts +2 -0
- package/dist/components/actions/SegmentedControl/SegmentedControl.d.ts +46 -0
- package/dist/components/actions/SegmentedControl/SegmentedControl.js +109 -0
- package/dist/components/actions/SegmentedControl/SegmentedControl.js.map +1 -0
- package/dist/components/actions/SegmentedControl/SegmentedControl.module.js +13 -0
- package/dist/components/actions/SegmentedControl/SegmentedControl.module.js.map +1 -0
- package/dist/components/actions/SegmentedControl/index.d.ts +2 -0
- package/dist/components/actions/ToggleChip/ToggleChip.d.ts +19 -0
- package/dist/components/actions/ToggleChip/ToggleChip.js +34 -0
- package/dist/components/actions/ToggleChip/ToggleChip.js.map +1 -0
- package/dist/components/actions/ToggleChip/chip.module.js +10 -0
- package/dist/components/actions/ToggleChip/chip.module.js.map +1 -0
- package/dist/components/actions/ToggleChip/index.d.ts +2 -0
- package/dist/components/display/Avatar/Avatar.d.ts +27 -0
- package/dist/components/display/Avatar/Avatar.js +39 -0
- package/dist/components/display/Avatar/Avatar.js.map +1 -0
- package/dist/components/display/Avatar/Avatar.module.js +10 -0
- package/dist/components/display/Avatar/Avatar.module.js.map +1 -0
- package/dist/components/display/Avatar/AvatarContext.d.ts +3 -0
- package/dist/components/display/Avatar/AvatarContext.js +7 -0
- package/dist/components/display/Avatar/AvatarContext.js.map +1 -0
- package/dist/components/display/Avatar/avatarUtils.d.ts +10 -0
- package/dist/components/display/Avatar/avatarUtils.js +14 -0
- package/dist/components/display/Avatar/avatarUtils.js.map +1 -0
- package/dist/components/display/Avatar/index.d.ts +5 -0
- package/dist/components/display/AvatarGroup/AvatarGroup.d.ts +16 -0
- package/dist/components/display/AvatarGroup/AvatarGroup.js +33 -0
- package/dist/components/display/AvatarGroup/AvatarGroup.js.map +1 -0
- package/dist/components/display/AvatarGroup/AvatarGroup.module.js +9 -0
- package/dist/components/display/AvatarGroup/AvatarGroup.module.js.map +1 -0
- package/dist/components/display/AvatarGroup/index.d.ts +2 -0
- package/dist/components/display/Badge/Badge.d.ts +18 -0
- package/dist/components/display/Badge/Badge.js +23 -0
- package/dist/components/display/Badge/Badge.js.map +1 -0
- package/dist/components/display/Badge/Badge.module.js +9 -0
- package/dist/components/display/Badge/Badge.module.js.map +1 -0
- package/dist/components/display/Badge/index.d.ts +2 -0
- package/dist/components/display/Card/Card.d.ts +46 -0
- package/dist/components/display/Card/Card.js +78 -0
- package/dist/components/display/Card/Card.js.map +1 -0
- package/dist/components/display/Card/Card.module.js +15 -0
- package/dist/components/display/Card/Card.module.js.map +1 -0
- package/dist/components/display/Card/index.d.ts +2 -0
- package/dist/components/display/CodeBlock/CodeBlock.d.ts +26 -0
- package/dist/components/display/CodeBlock/CodeBlock.js +85 -0
- package/dist/components/display/CodeBlock/CodeBlock.js.map +1 -0
- package/dist/components/display/CodeBlock/CodeBlock.module.js +16 -0
- package/dist/components/display/CodeBlock/CodeBlock.module.js.map +1 -0
- package/dist/components/display/CodeBlock/index.d.ts +2 -0
- package/dist/components/display/DataList/DataList.d.ts +19 -0
- package/dist/components/display/DataList/DataList.js +31 -0
- package/dist/components/display/DataList/DataList.js.map +1 -0
- package/dist/components/display/DataList/DataList.module.js +11 -0
- package/dist/components/display/DataList/DataList.module.js.map +1 -0
- package/dist/components/display/DataList/index.d.ts +2 -0
- package/dist/components/display/Delta/Delta.d.ts +23 -0
- package/dist/components/display/Delta/Delta.js +42 -0
- package/dist/components/display/Delta/Delta.js.map +1 -0
- package/dist/components/display/Delta/Delta.module.js +9 -0
- package/dist/components/display/Delta/Delta.module.js.map +1 -0
- package/dist/components/display/Delta/index.d.ts +2 -0
- package/dist/components/display/EmptyState/EmptyState.d.ts +28 -0
- package/dist/components/display/EmptyState/EmptyState.js +42 -0
- package/dist/components/display/EmptyState/EmptyState.js.map +1 -0
- package/dist/components/display/EmptyState/EmptyState.module.js +14 -0
- package/dist/components/display/EmptyState/EmptyState.module.js.map +1 -0
- package/dist/components/display/EmptyState/index.d.ts +2 -0
- package/dist/components/display/List/List.d.ts +33 -0
- package/dist/components/display/List/List.js +64 -0
- package/dist/components/display/List/List.js.map +1 -0
- package/dist/components/display/List/List.module.js +14 -0
- package/dist/components/display/List/List.module.js.map +1 -0
- package/dist/components/display/List/index.d.ts +2 -0
- package/dist/components/display/Marquee/Marquee.d.ts +46 -0
- package/dist/components/display/Marquee/Marquee.js +95 -0
- package/dist/components/display/Marquee/Marquee.js.map +1 -0
- package/dist/components/display/Marquee/Marquee.module.js +19 -0
- package/dist/components/display/Marquee/Marquee.module.js.map +1 -0
- package/dist/components/display/Marquee/index.d.ts +2 -0
- package/dist/components/display/Media/Media.d.ts +30 -0
- package/dist/components/display/Media/Media.js +47 -0
- package/dist/components/display/Media/Media.js.map +1 -0
- package/dist/components/display/Media/Media.module.js +12 -0
- package/dist/components/display/Media/Media.module.js.map +1 -0
- package/dist/components/display/Media/index.d.ts +2 -0
- package/dist/components/display/Meter/Meter.d.ts +32 -0
- package/dist/components/display/Meter/Meter.js +56 -0
- package/dist/components/display/Meter/Meter.js.map +1 -0
- package/dist/components/display/Meter/Meter.module.js +14 -0
- package/dist/components/display/Meter/Meter.module.js.map +1 -0
- package/dist/components/display/Meter/index.d.ts +4 -0
- package/dist/components/display/Meter/meterTone.d.ts +15 -0
- package/dist/components/display/Meter/meterTone.js +9 -0
- package/dist/components/display/Meter/meterTone.js.map +1 -0
- package/dist/components/display/Progress/Progress.d.ts +27 -0
- package/dist/components/display/Progress/Progress.js +45 -0
- package/dist/components/display/Progress/Progress.js.map +1 -0
- package/dist/components/display/Progress/Progress.module.js +14 -0
- package/dist/components/display/Progress/Progress.module.js.map +1 -0
- package/dist/components/display/Progress/index.d.ts +2 -0
- package/dist/components/display/Skeleton/Skeleton.d.ts +31 -0
- package/dist/components/display/Skeleton/Skeleton.js +60 -0
- package/dist/components/display/Skeleton/Skeleton.js.map +1 -0
- package/dist/components/display/Skeleton/Skeleton.module.js +12 -0
- package/dist/components/display/Skeleton/Skeleton.module.js.map +1 -0
- package/dist/components/display/Skeleton/index.d.ts +2 -0
- package/dist/components/display/Stamp/Stamp.d.ts +25 -0
- package/dist/components/display/Stamp/Stamp.js +21 -0
- package/dist/components/display/Stamp/Stamp.js.map +1 -0
- package/dist/components/display/Stamp/Stamp.module.js +6 -0
- package/dist/components/display/Stamp/Stamp.module.js.map +1 -0
- package/dist/components/display/Stamp/index.d.ts +2 -0
- package/dist/components/display/Stat/Stat.d.ts +40 -0
- package/dist/components/display/Stat/Stat.js +46 -0
- package/dist/components/display/Stat/Stat.js.map +1 -0
- package/dist/components/display/Stat/Stat.module.js +13 -0
- package/dist/components/display/Stat/Stat.module.js.map +1 -0
- package/dist/components/display/Stat/index.d.ts +2 -0
- package/dist/components/display/Table/Table.d.ts +64 -0
- package/dist/components/display/Table/Table.js +124 -0
- package/dist/components/display/Table/Table.js.map +1 -0
- package/dist/components/display/Table/Table.module.js +18 -0
- package/dist/components/display/Table/Table.module.js.map +1 -0
- package/dist/components/display/Table/index.d.ts +2 -0
- package/dist/components/display/Tag/Tag.d.ts +21 -0
- package/dist/components/display/Tag/Tag.js +36 -0
- package/dist/components/display/Tag/Tag.js.map +1 -0
- package/dist/components/display/Tag/Tag.module.js +10 -0
- package/dist/components/display/Tag/Tag.module.js.map +1 -0
- package/dist/components/display/Tag/index.d.ts +2 -0
- package/dist/components/feedback/Alert/Alert.d.ts +33 -0
- package/dist/components/feedback/Alert/Alert.js +62 -0
- package/dist/components/feedback/Alert/Alert.js.map +1 -0
- package/dist/components/feedback/Alert/Alert.module.js +14 -0
- package/dist/components/feedback/Alert/Alert.module.js.map +1 -0
- package/dist/components/feedback/Alert/index.d.ts +2 -0
- package/dist/components/feedback/LiveIndicator/LiveIndicator.d.ts +22 -0
- package/dist/components/feedback/LiveIndicator/LiveIndicator.js +27 -0
- package/dist/components/feedback/LiveIndicator/LiveIndicator.js.map +1 -0
- package/dist/components/feedback/LiveIndicator/LiveIndicator.module.js +10 -0
- package/dist/components/feedback/LiveIndicator/LiveIndicator.module.js.map +1 -0
- package/dist/components/feedback/LiveIndicator/index.d.ts +2 -0
- package/dist/components/feedback/RelativeTime/RelativeTime.d.ts +24 -0
- package/dist/components/feedback/RelativeTime/RelativeTime.js +38 -0
- package/dist/components/feedback/RelativeTime/RelativeTime.js.map +1 -0
- package/dist/components/feedback/RelativeTime/RelativeTime.module.js +6 -0
- package/dist/components/feedback/RelativeTime/RelativeTime.module.js.map +1 -0
- package/dist/components/feedback/RelativeTime/format.d.ts +10 -0
- package/dist/components/feedback/RelativeTime/format.js +57 -0
- package/dist/components/feedback/RelativeTime/format.js.map +1 -0
- package/dist/components/feedback/RelativeTime/index.d.ts +4 -0
- package/dist/components/feedback/Spinner/Spinner.d.ts +8 -0
- package/dist/components/feedback/Spinner/Spinner.js +25 -0
- package/dist/components/feedback/Spinner/Spinner.js.map +1 -0
- package/dist/components/feedback/Spinner/Spinner.module.js +10 -0
- package/dist/components/feedback/Spinner/Spinner.module.js.map +1 -0
- package/dist/components/feedback/Spinner/index.d.ts +2 -0
- package/dist/components/feedback/StatusDot/StatusDot.d.ts +13 -0
- package/dist/components/feedback/StatusDot/StatusDot.js +26 -0
- package/dist/components/feedback/StatusDot/StatusDot.js.map +1 -0
- package/dist/components/feedback/StatusDot/StatusDot.module.js +11 -0
- package/dist/components/feedback/StatusDot/StatusDot.module.js.map +1 -0
- package/dist/components/feedback/StatusDot/index.d.ts +2 -0
- package/dist/components/inputs/AmountField/AmountField.d.ts +11 -0
- package/dist/components/inputs/AmountField/AmountField.js +26 -0
- package/dist/components/inputs/AmountField/AmountField.js.map +1 -0
- package/dist/components/inputs/AmountField/index.d.ts +2 -0
- package/dist/components/inputs/AmountInput/AmountInput.d.ts +38 -0
- package/dist/components/inputs/AmountInput/AmountInput.js +99 -0
- package/dist/components/inputs/AmountInput/AmountInput.js.map +1 -0
- package/dist/components/inputs/AmountInput/amountFormat.d.ts +5 -0
- package/dist/components/inputs/AmountInput/amountFormat.js +15 -0
- package/dist/components/inputs/AmountInput/amountFormat.js.map +1 -0
- package/dist/components/inputs/AmountInput/index.d.ts +2 -0
- package/dist/components/inputs/Checkbox/Checkbox.d.ts +18 -0
- package/dist/components/inputs/Checkbox/Checkbox.js +42 -0
- package/dist/components/inputs/Checkbox/Checkbox.js.map +1 -0
- package/dist/components/inputs/Checkbox/Checkbox.module.js +12 -0
- package/dist/components/inputs/Checkbox/Checkbox.module.js.map +1 -0
- package/dist/components/inputs/Checkbox/index.d.ts +2 -0
- package/dist/components/inputs/CheckboxField/CheckboxField.d.ts +19 -0
- package/dist/components/inputs/CheckboxField/CheckboxField.js +69 -0
- package/dist/components/inputs/CheckboxField/CheckboxField.js.map +1 -0
- package/dist/components/inputs/CheckboxField/CheckboxField.module.js +12 -0
- package/dist/components/inputs/CheckboxField/CheckboxField.module.js.map +1 -0
- package/dist/components/inputs/CheckboxField/index.d.ts +2 -0
- package/dist/components/inputs/CheckboxGroup/CheckboxGroup.d.ts +43 -0
- package/dist/components/inputs/CheckboxGroup/CheckboxGroup.js +159 -0
- package/dist/components/inputs/CheckboxGroup/CheckboxGroup.js.map +1 -0
- package/dist/components/inputs/CheckboxGroup/CheckboxGroup.module.js +13 -0
- package/dist/components/inputs/CheckboxGroup/CheckboxGroup.module.js.map +1 -0
- package/dist/components/inputs/CheckboxGroup/choice.d.ts +33 -0
- package/dist/components/inputs/CheckboxGroup/choice.js +41 -0
- package/dist/components/inputs/CheckboxGroup/choice.js.map +1 -0
- package/dist/components/inputs/CheckboxGroup/index.d.ts +2 -0
- package/dist/components/inputs/CheckboxGroupField/CheckboxGroupField.d.ts +12 -0
- package/dist/components/inputs/CheckboxGroupField/CheckboxGroupField.js +24 -0
- package/dist/components/inputs/CheckboxGroupField/CheckboxGroupField.js.map +1 -0
- package/dist/components/inputs/CheckboxGroupField/index.d.ts +2 -0
- package/dist/components/inputs/ChipGroupField/ChipGroupField.d.ts +12 -0
- package/dist/components/inputs/ChipGroupField/ChipGroupField.js +24 -0
- package/dist/components/inputs/ChipGroupField/ChipGroupField.js.map +1 -0
- package/dist/components/inputs/ChipGroupField/index.d.ts +2 -0
- package/dist/components/inputs/ChoiceCards/ChoiceCards.d.ts +50 -0
- package/dist/components/inputs/ChoiceCards/ChoiceCards.js +130 -0
- package/dist/components/inputs/ChoiceCards/ChoiceCards.js.map +1 -0
- package/dist/components/inputs/ChoiceCards/ChoiceCards.module.js +15 -0
- package/dist/components/inputs/ChoiceCards/ChoiceCards.module.js.map +1 -0
- package/dist/components/inputs/ChoiceCards/index.d.ts +2 -0
- package/dist/components/inputs/ChoiceCardsField/ChoiceCardsField.d.ts +12 -0
- package/dist/components/inputs/ChoiceCardsField/ChoiceCardsField.js +24 -0
- package/dist/components/inputs/ChoiceCardsField/ChoiceCardsField.js.map +1 -0
- package/dist/components/inputs/ChoiceCardsField/index.d.ts +2 -0
- package/dist/components/inputs/ColorField/ColorField.d.ts +12 -0
- package/dist/components/inputs/ColorField/ColorField.js +26 -0
- package/dist/components/inputs/ColorField/ColorField.js.map +1 -0
- package/dist/components/inputs/ColorField/index.d.ts +2 -0
- package/dist/components/inputs/ColorInput/ColorInput.d.ts +30 -0
- package/dist/components/inputs/ColorInput/ColorInput.js +149 -0
- package/dist/components/inputs/ColorInput/ColorInput.js.map +1 -0
- package/dist/components/inputs/ColorInput/ColorInput.module.js +13 -0
- package/dist/components/inputs/ColorInput/ColorInput.module.js.map +1 -0
- package/dist/components/inputs/ColorInput/colorFormat.d.ts +2 -0
- package/dist/components/inputs/ColorInput/colorFormat.js +10 -0
- package/dist/components/inputs/ColorInput/colorFormat.js.map +1 -0
- package/dist/components/inputs/ColorInput/index.d.ts +2 -0
- package/dist/components/inputs/Combobox/Combobox.d.ts +74 -0
- package/dist/components/inputs/Combobox/Combobox.js +394 -0
- package/dist/components/inputs/Combobox/Combobox.js.map +1 -0
- package/dist/components/inputs/Combobox/Combobox.module.js +28 -0
- package/dist/components/inputs/Combobox/Combobox.module.js.map +1 -0
- package/dist/components/inputs/Combobox/index.d.ts +2 -0
- package/dist/components/inputs/Combobox/storyData.d.ts +7 -0
- package/dist/components/inputs/Combobox/useControllableState.d.ts +8 -0
- package/dist/components/inputs/Combobox/useControllableState.js +13 -0
- package/dist/components/inputs/Combobox/useControllableState.js.map +1 -0
- package/dist/components/inputs/ComboboxField/ComboboxField.d.ts +17 -0
- package/dist/components/inputs/ComboboxField/ComboboxField.js +26 -0
- package/dist/components/inputs/ComboboxField/ComboboxField.js.map +1 -0
- package/dist/components/inputs/ComboboxField/index.d.ts +2 -0
- package/dist/components/inputs/DateRangeField/DateRangeField.d.ts +37 -0
- package/dist/components/inputs/DateRangeField/DateRangeField.js +87 -0
- package/dist/components/inputs/DateRangeField/DateRangeField.js.map +1 -0
- package/dist/components/inputs/DateRangeField/DateRangeField.module.js +10 -0
- package/dist/components/inputs/DateRangeField/DateRangeField.module.js.map +1 -0
- package/dist/components/inputs/DateRangeField/index.d.ts +2 -0
- package/dist/components/inputs/Field/Field.d.ts +79 -0
- package/dist/components/inputs/Field/Field.js +100 -0
- package/dist/components/inputs/Field/Field.js.map +1 -0
- package/dist/components/inputs/Field/Field.module.js +12 -0
- package/dist/components/inputs/Field/Field.module.js.map +1 -0
- package/dist/components/inputs/Field/index.d.ts +4 -0
- package/dist/components/inputs/Fieldset/Fieldset.d.ts +48 -0
- package/dist/components/inputs/Fieldset/Fieldset.js +83 -0
- package/dist/components/inputs/Fieldset/Fieldset.js.map +1 -0
- package/dist/components/inputs/Fieldset/Fieldset.module.js +12 -0
- package/dist/components/inputs/Fieldset/Fieldset.module.js.map +1 -0
- package/dist/components/inputs/Fieldset/index.d.ts +2 -0
- package/dist/components/inputs/FileDrop/FileDrop.d.ts +60 -0
- package/dist/components/inputs/FileDrop/FileDrop.js +189 -0
- package/dist/components/inputs/FileDrop/FileDrop.js.map +1 -0
- package/dist/components/inputs/FileDrop/FileDrop.module.js +21 -0
- package/dist/components/inputs/FileDrop/FileDrop.module.js.map +1 -0
- package/dist/components/inputs/FileDrop/fileUtils.d.ts +11 -0
- package/dist/components/inputs/FileDrop/fileUtils.js +38 -0
- package/dist/components/inputs/FileDrop/fileUtils.js.map +1 -0
- package/dist/components/inputs/FileDrop/index.d.ts +2 -0
- package/dist/components/inputs/FileField/FileField.d.ts +12 -0
- package/dist/components/inputs/FileField/FileField.js +26 -0
- package/dist/components/inputs/FileField/FileField.js.map +1 -0
- package/dist/components/inputs/FileField/index.d.ts +2 -0
- package/dist/components/inputs/Input/Input.d.ts +25 -0
- package/dist/components/inputs/Input/Input.js +62 -0
- package/dist/components/inputs/Input/Input.js.map +1 -0
- package/dist/components/inputs/Input/Input.module.js +10 -0
- package/dist/components/inputs/Input/Input.module.js.map +1 -0
- package/dist/components/inputs/Input/index.d.ts +2 -0
- package/dist/components/inputs/NumberField/NumberField.d.ts +11 -0
- package/dist/components/inputs/NumberField/NumberField.js +26 -0
- package/dist/components/inputs/NumberField/NumberField.js.map +1 -0
- package/dist/components/inputs/NumberField/index.d.ts +2 -0
- package/dist/components/inputs/NumberInput/NumberInput.d.ts +35 -0
- package/dist/components/inputs/NumberInput/NumberInput.js +139 -0
- package/dist/components/inputs/NumberInput/NumberInput.js.map +1 -0
- package/dist/components/inputs/NumberInput/NumberInput.module.js +6 -0
- package/dist/components/inputs/NumberInput/NumberInput.module.js.map +1 -0
- package/dist/components/inputs/NumberInput/index.d.ts +2 -0
- package/dist/components/inputs/NumberInput/numberFormat.d.ts +24 -0
- package/dist/components/inputs/NumberInput/numberFormat.js +48 -0
- package/dist/components/inputs/NumberInput/numberFormat.js.map +1 -0
- package/dist/components/inputs/OneTimeCodeField/OneTimeCodeField.d.ts +12 -0
- package/dist/components/inputs/OneTimeCodeField/OneTimeCodeField.js +26 -0
- package/dist/components/inputs/OneTimeCodeField/OneTimeCodeField.js.map +1 -0
- package/dist/components/inputs/OneTimeCodeField/index.d.ts +2 -0
- package/dist/components/inputs/OneTimeCodeInput/OneTimeCodeInput.d.ts +35 -0
- package/dist/components/inputs/OneTimeCodeInput/OneTimeCodeInput.js +56 -0
- package/dist/components/inputs/OneTimeCodeInput/OneTimeCodeInput.js.map +1 -0
- package/dist/components/inputs/OneTimeCodeInput/OneTimeCodeInput.module.js +9 -0
- package/dist/components/inputs/OneTimeCodeInput/OneTimeCodeInput.module.js.map +1 -0
- package/dist/components/inputs/OneTimeCodeInput/index.d.ts +2 -0
- package/dist/components/inputs/PasswordField/PasswordField.d.ts +13 -0
- package/dist/components/inputs/PasswordField/PasswordField.js +29 -0
- package/dist/components/inputs/PasswordField/PasswordField.js.map +1 -0
- package/dist/components/inputs/PasswordField/index.d.ts +2 -0
- package/dist/components/inputs/PasswordInput/PasswordInput.d.ts +22 -0
- package/dist/components/inputs/PasswordInput/PasswordInput.js +75 -0
- package/dist/components/inputs/PasswordInput/PasswordInput.js.map +1 -0
- package/dist/components/inputs/PasswordInput/PasswordInput.module.js +6 -0
- package/dist/components/inputs/PasswordInput/PasswordInput.module.js.map +1 -0
- package/dist/components/inputs/PasswordInput/index.d.ts +2 -0
- package/dist/components/inputs/RadioGroup/RadioGroup.d.ts +19 -0
- package/dist/components/inputs/RadioGroup/RadioGroup.js +68 -0
- package/dist/components/inputs/RadioGroup/RadioGroup.js.map +1 -0
- package/dist/components/inputs/RadioGroup/RadioGroup.module.js +15 -0
- package/dist/components/inputs/RadioGroup/RadioGroup.module.js.map +1 -0
- package/dist/components/inputs/RadioGroup/index.d.ts +2 -0
- package/dist/components/inputs/RadioGroupField/RadioGroupField.d.ts +16 -0
- package/dist/components/inputs/RadioGroupField/RadioGroupField.js +33 -0
- package/dist/components/inputs/RadioGroupField/RadioGroupField.js.map +1 -0
- package/dist/components/inputs/RadioGroupField/index.d.ts +2 -0
- package/dist/components/inputs/RangeSlider/RangeSlider.d.ts +23 -0
- package/dist/components/inputs/RangeSlider/RangeSlider.js +63 -0
- package/dist/components/inputs/RangeSlider/RangeSlider.js.map +1 -0
- package/dist/components/inputs/RangeSlider/index.d.ts +2 -0
- package/dist/components/inputs/RangeSliderField/RangeSliderField.d.ts +12 -0
- package/dist/components/inputs/RangeSliderField/RangeSliderField.js +24 -0
- package/dist/components/inputs/RangeSliderField/RangeSliderField.js.map +1 -0
- package/dist/components/inputs/RangeSliderField/index.d.ts +2 -0
- package/dist/components/inputs/Rating/Rating.d.ts +31 -0
- package/dist/components/inputs/Rating/Rating.js +66 -0
- package/dist/components/inputs/Rating/Rating.js.map +1 -0
- package/dist/components/inputs/Rating/Rating.module.js +10 -0
- package/dist/components/inputs/Rating/Rating.module.js.map +1 -0
- package/dist/components/inputs/Rating/index.d.ts +2 -0
- package/dist/components/inputs/RatingField/RatingField.d.ts +12 -0
- package/dist/components/inputs/RatingField/RatingField.js +24 -0
- package/dist/components/inputs/RatingField/RatingField.js.map +1 -0
- package/dist/components/inputs/RatingField/index.d.ts +2 -0
- package/dist/components/inputs/SegmentedField/SegmentedField.d.ts +12 -0
- package/dist/components/inputs/SegmentedField/SegmentedField.js +24 -0
- package/dist/components/inputs/SegmentedField/SegmentedField.js.map +1 -0
- package/dist/components/inputs/SegmentedField/index.d.ts +2 -0
- package/dist/components/inputs/Select/Select.d.ts +66 -0
- package/dist/components/inputs/Select/Select.js +165 -0
- package/dist/components/inputs/Select/Select.js.map +1 -0
- package/dist/components/inputs/Select/Select.module.js +19 -0
- package/dist/components/inputs/Select/Select.module.js.map +1 -0
- package/dist/components/inputs/Select/index.d.ts +2 -0
- package/dist/components/inputs/SelectField/SelectField.d.ts +13 -0
- package/dist/components/inputs/SelectField/SelectField.js +26 -0
- package/dist/components/inputs/SelectField/SelectField.js.map +1 -0
- package/dist/components/inputs/SelectField/index.d.ts +2 -0
- package/dist/components/inputs/Slider/Slider.d.ts +40 -0
- package/dist/components/inputs/Slider/Slider.js +51 -0
- package/dist/components/inputs/Slider/Slider.js.map +1 -0
- package/dist/components/inputs/Slider/Slider.module.js +15 -0
- package/dist/components/inputs/Slider/Slider.module.js.map +1 -0
- package/dist/components/inputs/Slider/SliderBase.d.ts +37 -0
- package/dist/components/inputs/Slider/SliderBase.js +85 -0
- package/dist/components/inputs/Slider/SliderBase.js.map +1 -0
- package/dist/components/inputs/Slider/index.d.ts +2 -0
- package/dist/components/inputs/SliderField/SliderField.d.ts +12 -0
- package/dist/components/inputs/SliderField/SliderField.js +24 -0
- package/dist/components/inputs/SliderField/SliderField.js.map +1 -0
- package/dist/components/inputs/SliderField/index.d.ts +2 -0
- package/dist/components/inputs/Switch/Switch.d.ts +18 -0
- package/dist/components/inputs/Switch/Switch.js +46 -0
- package/dist/components/inputs/Switch/Switch.js.map +1 -0
- package/dist/components/inputs/Switch/Switch.module.js +11 -0
- package/dist/components/inputs/Switch/Switch.module.js.map +1 -0
- package/dist/components/inputs/Switch/index.d.ts +2 -0
- package/dist/components/inputs/SwitchField/SwitchField.d.ts +13 -0
- package/dist/components/inputs/SwitchField/SwitchField.js +73 -0
- package/dist/components/inputs/SwitchField/SwitchField.js.map +1 -0
- package/dist/components/inputs/SwitchField/SwitchField.module.js +12 -0
- package/dist/components/inputs/SwitchField/SwitchField.module.js.map +1 -0
- package/dist/components/inputs/SwitchField/index.d.ts +2 -0
- package/dist/components/inputs/TagsField/TagsField.d.ts +12 -0
- package/dist/components/inputs/TagsField/TagsField.js +26 -0
- package/dist/components/inputs/TagsField/TagsField.js.map +1 -0
- package/dist/components/inputs/TagsField/index.d.ts +2 -0
- package/dist/components/inputs/TagsInput/TagsInput.d.ts +35 -0
- package/dist/components/inputs/TagsInput/TagsInput.js +155 -0
- package/dist/components/inputs/TagsInput/TagsInput.js.map +1 -0
- package/dist/components/inputs/TagsInput/TagsInput.module.js +13 -0
- package/dist/components/inputs/TagsInput/TagsInput.module.js.map +1 -0
- package/dist/components/inputs/TagsInput/index.d.ts +2 -0
- package/dist/components/inputs/TextField/TextField.d.ts +18 -0
- package/dist/components/inputs/TextField/TextField.js +40 -0
- package/dist/components/inputs/TextField/TextField.js.map +1 -0
- package/dist/components/inputs/TextField/index.d.ts +2 -0
- package/dist/components/inputs/Textarea/Textarea.d.ts +20 -0
- package/dist/components/inputs/Textarea/Textarea.js +61 -0
- package/dist/components/inputs/Textarea/Textarea.js.map +1 -0
- package/dist/components/inputs/Textarea/Textarea.module.js +6 -0
- package/dist/components/inputs/Textarea/Textarea.module.js.map +1 -0
- package/dist/components/inputs/Textarea/index.d.ts +2 -0
- package/dist/components/inputs/TextareaField/TextareaField.d.ts +18 -0
- package/dist/components/inputs/TextareaField/TextareaField.js +40 -0
- package/dist/components/inputs/TextareaField/TextareaField.js.map +1 -0
- package/dist/components/inputs/TextareaField/index.d.ts +2 -0
- package/dist/components/inputs/internal/FieldContext.d.ts +60 -0
- package/dist/components/inputs/internal/FieldContext.js +32 -0
- package/dist/components/inputs/internal/FieldContext.js.map +1 -0
- package/dist/components/inputs/internal/control.module.js +6 -0
- package/dist/components/inputs/internal/control.module.js.map +1 -0
- package/dist/components/inputs/internal/errors.d.ts +5 -0
- package/dist/components/inputs/internal/errors.js +11 -0
- package/dist/components/inputs/internal/errors.js.map +1 -0
- package/dist/components/inputs/internal/fieldProps.d.ts +12 -0
- package/dist/components/inputs/internal/fieldProps.js +25 -0
- package/dist/components/inputs/internal/fieldProps.js.map +1 -0
- package/dist/components/inputs/internal/filterOptions.d.ts +23 -0
- package/dist/components/inputs/internal/filterOptions.js +28 -0
- package/dist/components/inputs/internal/filterOptions.js.map +1 -0
- package/dist/components/inputs/internal/messages.d.ts +40 -0
- package/dist/components/inputs/internal/messages.js +58 -0
- package/dist/components/inputs/internal/messages.js.map +1 -0
- package/dist/components/inputs/internal/messages.module.js +18 -0
- package/dist/components/inputs/internal/messages.module.js.map +1 -0
- package/dist/components/inputs/internal/refs.d.ts +7 -0
- package/dist/components/inputs/internal/refs.js +19 -0
- package/dist/components/inputs/internal/refs.js.map +1 -0
- package/dist/components/inputs/internal/storyData.d.ts +4 -0
- package/dist/components/inputs/internal/useLatest.d.ts +7 -0
- package/dist/components/inputs/internal/useLatest.js +13 -0
- package/dist/components/inputs/internal/useLatest.js.map +1 -0
- package/dist/components/layout/ActionBar/ActionBar.d.ts +30 -0
- package/dist/components/layout/ActionBar/ActionBar.js +25 -0
- package/dist/components/layout/ActionBar/ActionBar.js.map +1 -0
- package/dist/components/layout/ActionBar/ActionBar.module.js +6 -0
- package/dist/components/layout/ActionBar/ActionBar.module.js.map +1 -0
- package/dist/components/layout/ActionBar/index.d.ts +2 -0
- package/dist/components/layout/AppShell/AppShell.d.ts +33 -0
- package/dist/components/layout/AppShell/AppShell.js +70 -0
- package/dist/components/layout/AppShell/AppShell.js.map +1 -0
- package/dist/components/layout/AppShell/AppShell.module.js +14 -0
- package/dist/components/layout/AppShell/AppShell.module.js.map +1 -0
- package/dist/components/layout/AppShell/index.d.ts +2 -0
- package/dist/components/layout/AspectRatio/AspectRatio.d.ts +14 -0
- package/dist/components/layout/AspectRatio/AspectRatio.js +18 -0
- package/dist/components/layout/AspectRatio/AspectRatio.js.map +1 -0
- package/dist/components/layout/AspectRatio/AspectRatio.module.js +6 -0
- package/dist/components/layout/AspectRatio/AspectRatio.module.js.map +1 -0
- package/dist/components/layout/AspectRatio/index.d.ts +2 -0
- package/dist/components/layout/Box/Box.d.ts +29 -0
- package/dist/components/layout/Box/Box.js +26 -0
- package/dist/components/layout/Box/Box.js.map +1 -0
- package/dist/components/layout/Box/Box.module.js +6 -0
- package/dist/components/layout/Box/Box.module.js.map +1 -0
- package/dist/components/layout/Box/index.d.ts +2 -0
- package/dist/components/layout/Container/Container.d.ts +21 -0
- package/dist/components/layout/Container/Container.js +22 -0
- package/dist/components/layout/Container/Container.js.map +1 -0
- package/dist/components/layout/Container/Container.module.js +6 -0
- package/dist/components/layout/Container/Container.module.js.map +1 -0
- package/dist/components/layout/Container/index.d.ts +2 -0
- package/dist/components/layout/Divider/Divider.d.ts +28 -0
- package/dist/components/layout/Divider/Divider.js +35 -0
- package/dist/components/layout/Divider/Divider.js.map +1 -0
- package/dist/components/layout/Divider/Divider.module.js +9 -0
- package/dist/components/layout/Divider/Divider.module.js.map +1 -0
- package/dist/components/layout/Divider/index.d.ts +2 -0
- package/dist/components/layout/Grid/Grid.d.ts +50 -0
- package/dist/components/layout/Grid/Grid.js +35 -0
- package/dist/components/layout/Grid/Grid.js.map +1 -0
- package/dist/components/layout/Grid/Grid.module.js +9 -0
- package/dist/components/layout/Grid/Grid.module.js.map +1 -0
- package/dist/components/layout/Grid/index.d.ts +2 -0
- package/dist/components/layout/Inline/Inline.d.ts +24 -0
- package/dist/components/layout/Inline/Inline.js +25 -0
- package/dist/components/layout/Inline/Inline.js.map +1 -0
- package/dist/components/layout/Inline/Inline.module.js +6 -0
- package/dist/components/layout/Inline/Inline.module.js.map +1 -0
- package/dist/components/layout/Inline/index.d.ts +2 -0
- package/dist/components/layout/Section/Section.d.ts +30 -0
- package/dist/components/layout/Section/Section.js +25 -0
- package/dist/components/layout/Section/Section.js.map +1 -0
- package/dist/components/layout/Section/Section.module.js +6 -0
- package/dist/components/layout/Section/Section.module.js.map +1 -0
- package/dist/components/layout/Section/index.d.ts +2 -0
- package/dist/components/layout/Split/Split.d.ts +32 -0
- package/dist/components/layout/Split/Split.js +26 -0
- package/dist/components/layout/Split/Split.js.map +1 -0
- package/dist/components/layout/Split/Split.module.js +6 -0
- package/dist/components/layout/Split/Split.module.js.map +1 -0
- package/dist/components/layout/Split/index.d.ts +2 -0
- package/dist/components/layout/Stack/Stack.d.ts +21 -0
- package/dist/components/layout/Stack/Stack.js +25 -0
- package/dist/components/layout/Stack/Stack.js.map +1 -0
- package/dist/components/layout/Stack/Stack.module.js +6 -0
- package/dist/components/layout/Stack/Stack.module.js.map +1 -0
- package/dist/components/layout/Stack/index.d.ts +2 -0
- package/dist/components/layout/VisuallyHidden/VisuallyHidden.d.ts +20 -0
- package/dist/components/layout/VisuallyHidden/VisuallyHidden.js +17 -0
- package/dist/components/layout/VisuallyHidden/VisuallyHidden.js.map +1 -0
- package/dist/components/layout/VisuallyHidden/VisuallyHidden.module.js +6 -0
- package/dist/components/layout/VisuallyHidden/VisuallyHidden.module.js.map +1 -0
- package/dist/components/layout/VisuallyHidden/index.d.ts +2 -0
- package/dist/components/navigation/Accordion/Accordion.d.ts +35 -0
- package/dist/components/navigation/Accordion/Accordion.js +68 -0
- package/dist/components/navigation/Accordion/Accordion.js.map +1 -0
- package/dist/components/navigation/Accordion/Accordion.module.js +17 -0
- package/dist/components/navigation/Accordion/Accordion.module.js.map +1 -0
- package/dist/components/navigation/Accordion/index.d.ts +2 -0
- package/dist/components/navigation/BottomNav/BottomNav.d.ts +42 -0
- package/dist/components/navigation/BottomNav/BottomNav.js +67 -0
- package/dist/components/navigation/BottomNav/BottomNav.js.map +1 -0
- package/dist/components/navigation/BottomNav/BottomNav.module.js +16 -0
- package/dist/components/navigation/BottomNav/BottomNav.module.js.map +1 -0
- package/dist/components/navigation/BottomNav/index.d.ts +2 -0
- package/dist/components/navigation/NavLinks/NavLinks.d.ts +32 -0
- package/dist/components/navigation/NavLinks/NavLinks.js +57 -0
- package/dist/components/navigation/NavLinks/NavLinks.js.map +1 -0
- package/dist/components/navigation/NavLinks/NavLinks.module.js +11 -0
- package/dist/components/navigation/NavLinks/NavLinks.module.js.map +1 -0
- package/dist/components/navigation/NavLinks/index.d.ts +2 -0
- package/dist/components/navigation/Stepper/Stepper.d.ts +45 -0
- package/dist/components/navigation/Stepper/Stepper.js +93 -0
- package/dist/components/navigation/Stepper/Stepper.js.map +1 -0
- package/dist/components/navigation/Stepper/Stepper.module.js +19 -0
- package/dist/components/navigation/Stepper/Stepper.module.js.map +1 -0
- package/dist/components/navigation/Stepper/index.d.ts +2 -0
- package/dist/components/navigation/Tabs/Tabs.d.ts +31 -0
- package/dist/components/navigation/Tabs/Tabs.js +47 -0
- package/dist/components/navigation/Tabs/Tabs.js.map +1 -0
- package/dist/components/navigation/Tabs/Tabs.module.js +11 -0
- package/dist/components/navigation/Tabs/Tabs.module.js.map +1 -0
- package/dist/components/navigation/Tabs/index.d.ts +2 -0
- package/dist/components/overlays/Dialog/Dialog.d.ts +49 -0
- package/dist/components/overlays/Dialog/Dialog.js +97 -0
- package/dist/components/overlays/Dialog/Dialog.js.map +1 -0
- package/dist/components/overlays/Dialog/Dialog.module.js +17 -0
- package/dist/components/overlays/Dialog/Dialog.module.js.map +1 -0
- package/dist/components/overlays/Dialog/index.d.ts +2 -0
- package/dist/components/overlays/DropdownMenu/DropdownMenu.d.ts +62 -0
- package/dist/components/overlays/DropdownMenu/DropdownMenu.js +172 -0
- package/dist/components/overlays/DropdownMenu/DropdownMenu.js.map +1 -0
- package/dist/components/overlays/DropdownMenu/DropdownMenu.module.js +19 -0
- package/dist/components/overlays/DropdownMenu/DropdownMenu.module.js.map +1 -0
- package/dist/components/overlays/DropdownMenu/index.d.ts +2 -0
- package/dist/components/overlays/OverlayClose.d.ts +7 -0
- package/dist/components/overlays/OverlayClose.js +20 -0
- package/dist/components/overlays/OverlayClose.js.map +1 -0
- package/dist/components/overlays/OverlayClose.module.js +6 -0
- package/dist/components/overlays/OverlayClose.module.js.map +1 -0
- package/dist/components/overlays/Popover/Popover.d.ts +31 -0
- package/dist/components/overlays/Popover/Popover.js +75 -0
- package/dist/components/overlays/Popover/Popover.js.map +1 -0
- package/dist/components/overlays/Popover/Popover.module.js +13 -0
- package/dist/components/overlays/Popover/Popover.module.js.map +1 -0
- package/dist/components/overlays/Popover/index.d.ts +2 -0
- package/dist/components/overlays/Sheet/Sheet.d.ts +56 -0
- package/dist/components/overlays/Sheet/Sheet.js +105 -0
- package/dist/components/overlays/Sheet/Sheet.js.map +1 -0
- package/dist/components/overlays/Sheet/Sheet.module.js +20 -0
- package/dist/components/overlays/Sheet/Sheet.module.js.map +1 -0
- package/dist/components/overlays/Sheet/index.d.ts +2 -0
- package/dist/components/overlays/Tooltip/Tooltip.d.ts +35 -0
- package/dist/components/overlays/Tooltip/Tooltip.js +64 -0
- package/dist/components/overlays/Tooltip/Tooltip.js.map +1 -0
- package/dist/components/overlays/Tooltip/Tooltip.module.js +11 -0
- package/dist/components/overlays/Tooltip/Tooltip.module.js.map +1 -0
- package/dist/components/overlays/Tooltip/index.d.ts +2 -0
- package/dist/components/overlays/usePortalTheme.d.ts +44 -0
- package/dist/components/overlays/usePortalTheme.js +62 -0
- package/dist/components/overlays/usePortalTheme.js.map +1 -0
- package/dist/components/typography/Amount/Amount.d.ts +27 -0
- package/dist/components/typography/Amount/Amount.js +67 -0
- package/dist/components/typography/Amount/Amount.js.map +1 -0
- package/dist/components/typography/Amount/Amount.module.js +6 -0
- package/dist/components/typography/Amount/Amount.module.js.map +1 -0
- package/dist/components/typography/Amount/index.d.ts +2 -0
- package/dist/components/typography/Code/Code.d.ts +13 -0
- package/dist/components/typography/Code/Code.js +18 -0
- package/dist/components/typography/Code/Code.js.map +1 -0
- package/dist/components/typography/Code/Code.module.js +6 -0
- package/dist/components/typography/Code/Code.module.js.map +1 -0
- package/dist/components/typography/Code/index.d.ts +2 -0
- package/dist/components/typography/Heading/Heading.d.ts +34 -0
- package/dist/components/typography/Heading/Heading.js +46 -0
- package/dist/components/typography/Heading/Heading.js.map +1 -0
- package/dist/components/typography/Heading/Heading.module.js +6 -0
- package/dist/components/typography/Heading/Heading.module.js.map +1 -0
- package/dist/components/typography/Heading/index.d.ts +4 -0
- package/dist/components/typography/Heading/sizes.d.ts +4 -0
- package/dist/components/typography/Heading/sizes.js +13 -0
- package/dist/components/typography/Heading/sizes.js.map +1 -0
- package/dist/components/typography/Kbd/Kbd.d.ts +11 -0
- package/dist/components/typography/Kbd/Kbd.js +18 -0
- package/dist/components/typography/Kbd/Kbd.js.map +1 -0
- package/dist/components/typography/Kbd/Kbd.module.js +6 -0
- package/dist/components/typography/Kbd/Kbd.module.js.map +1 -0
- package/dist/components/typography/Kbd/index.d.ts +2 -0
- package/dist/components/typography/Link/Link.d.ts +26 -0
- package/dist/components/typography/Link/Link.js +32 -0
- package/dist/components/typography/Link/Link.js.map +1 -0
- package/dist/components/typography/Link/Link.module.js +11 -0
- package/dist/components/typography/Link/Link.module.js.map +1 -0
- package/dist/components/typography/Link/index.d.ts +2 -0
- package/dist/components/typography/Numeral/Numeral.d.ts +29 -0
- package/dist/components/typography/Numeral/Numeral.js +41 -0
- package/dist/components/typography/Numeral/Numeral.js.map +1 -0
- package/dist/components/typography/Numeral/Numeral.module.js +9 -0
- package/dist/components/typography/Numeral/Numeral.module.js.map +1 -0
- package/dist/components/typography/Numeral/format.d.ts +16 -0
- package/dist/components/typography/Numeral/format.js +30 -0
- package/dist/components/typography/Numeral/format.js.map +1 -0
- package/dist/components/typography/Numeral/index.d.ts +4 -0
- package/dist/components/typography/Prose/Prose.d.ts +16 -0
- package/dist/components/typography/Prose/Prose.js +17 -0
- package/dist/components/typography/Prose/Prose.js.map +1 -0
- package/dist/components/typography/Prose/Prose.module.js +6 -0
- package/dist/components/typography/Prose/Prose.module.js.map +1 -0
- package/dist/components/typography/Prose/index.d.ts +2 -0
- package/dist/components/typography/Quote/Quote.d.ts +20 -0
- package/dist/components/typography/Quote/Quote.js +34 -0
- package/dist/components/typography/Quote/Quote.js.map +1 -0
- package/dist/components/typography/Quote/Quote.module.js +11 -0
- package/dist/components/typography/Quote/Quote.module.js.map +1 -0
- package/dist/components/typography/Quote/index.d.ts +2 -0
- package/dist/components/typography/SectionHeader/SectionHeader.d.ts +33 -0
- package/dist/components/typography/SectionHeader/SectionHeader.js +42 -0
- package/dist/components/typography/SectionHeader/SectionHeader.js.map +1 -0
- package/dist/components/typography/SectionHeader/SectionHeader.module.js +13 -0
- package/dist/components/typography/SectionHeader/SectionHeader.module.js.map +1 -0
- package/dist/components/typography/SectionHeader/index.d.ts +2 -0
- package/dist/components/typography/Text/Text.d.ts +35 -0
- package/dist/components/typography/Text/Text.js +27 -0
- package/dist/components/typography/Text/Text.js.map +1 -0
- package/dist/components/typography/Text/Text.module.js +6 -0
- package/dist/components/typography/Text/Text.module.js.map +1 -0
- package/dist/components/typography/Text/index.d.ts +2 -0
- package/dist/icons/Icon.d.ts +14 -0
- package/dist/icons/Icon.js +30 -0
- package/dist/icons/Icon.js.map +1 -0
- package/dist/icons/Icon.module.js +6 -0
- package/dist/icons/Icon.module.js.map +1 -0
- package/dist/icons/icons.d.ts +26 -0
- package/dist/icons/icons.js +63 -0
- package/dist/icons/icons.js.map +1 -0
- package/dist/icons/index.d.ts +3 -0
- package/dist/index.d.ts +225 -0
- package/dist/index.js +117 -0
- package/dist/styles.css +2 -0
- package/dist/stylesheets.d.ts +10 -0
- package/dist/theme/ThemeProvider.d.ts +52 -0
- package/dist/theme/ThemeProvider.js +86 -0
- package/dist/theme/ThemeProvider.js.map +1 -0
- package/dist/theme/context.d.ts +20 -0
- package/dist/theme/context.js +19 -0
- package/dist/theme/context.js.map +1 -0
- package/dist/theme/index.d.ts +6 -0
- package/dist/theme/themes.d.ts +31 -0
- package/dist/theme/themes.js +36 -0
- package/dist/theme/themes.js.map +1 -0
- package/dist/themes/fiesta.css +1 -0
- package/dist/themes/ledger.css +1 -0
- package/dist/themes/monograph.css +1 -0
- package/dist/utils/cx.d.ts +5 -0
- package/dist/utils/cx.js +8 -0
- package/dist/utils/cx.js.map +1 -0
- package/dist/utils/heading.d.ts +13 -0
- package/dist/utils/heading.js +16 -0
- package/dist/utils/heading.js.map +1 -0
- package/dist/utils/index.d.ts +7 -0
- package/dist/utils/responsive.d.ts +28 -0
- package/dist/utils/responsive.js +40 -0
- package/dist/utils/responsive.js.map +1 -0
- package/dist/utils/tokens.d.ts +18 -0
- package/dist/utils/tokens.js +6 -0
- package/dist/utils/tokens.js.map +1 -0
- package/dist/utils/visibility.d.ts +14 -0
- package/dist/utils/visibility.js +21 -0
- package/dist/utils/visibility.js.map +1 -0
- package/dist/utils/visibility.module.js +16 -0
- package/dist/utils/visibility.module.js.map +1 -0
- package/package.json +91 -0
- package/skills/custom-theme/SKILL.md +293 -0
- package/skills/custom-theme/references/colour.md +55 -0
- package/skills/custom-theme/references/motion.md +39 -0
- package/skills/custom-theme/references/tokens.md +199 -0
- package/skills/custom-theme/references/type.md +61 -0
- package/skills/design-rules/SKILL.md +74 -0
- package/skills/layout-composition/SKILL.md +498 -0
- package/skills/layout-composition/references/action-bar.md +59 -0
- package/skills/layout-composition/references/app-shell.md +141 -0
- package/skills/layout-composition/references/aspect-ratio.md +49 -0
- package/skills/layout-composition/references/box.md +49 -0
- package/skills/layout-composition/references/checkout.md +124 -0
- package/skills/layout-composition/references/container.md +59 -0
- package/skills/layout-composition/references/dashboard.md +163 -0
- package/skills/layout-composition/references/divider.md +59 -0
- package/skills/layout-composition/references/settings.md +134 -0
- package/skills/layout-composition/references/visually-hidden.md +41 -0
- package/skills/setup-and-theming/SKILL.md +197 -0
- package/skills/setup-and-theming/references/fiesta.md +32 -0
- package/skills/setup-and-theming/references/ledger.md +32 -0
- package/skills/setup-and-theming/references/monograph.md +39 -0
- package/skills/setup-and-theming/references/paper.md +35 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { cx as e } from "../../../utils/cx.js";
|
|
2
|
+
import { mergeStyles as t, responsiveVars as n } from "../../../utils/responsive.js";
|
|
3
|
+
import { alignCss as r, space as i } from "../../../utils/tokens.js";
|
|
4
|
+
import a from "./Stack.module.js";
|
|
5
|
+
import { visibilityClass as o } from "../../../utils/visibility.js";
|
|
6
|
+
import { forwardRef as s } from "react";
|
|
7
|
+
import { jsx as c } from "react/jsx-runtime";
|
|
8
|
+
//#region src/components/layout/Stack/Stack.tsx
|
|
9
|
+
var l = s(function({ gap: s, align: l, dividers: u = !1, as: d = "div", hideBelow: f, hideAbove: p, className: m, style: h, ...g }, _) {
|
|
10
|
+
return /* @__PURE__ */ c(d, {
|
|
11
|
+
ref: _,
|
|
12
|
+
className: e(a.stack, o({
|
|
13
|
+
hideBelow: f,
|
|
14
|
+
hideAbove: p
|
|
15
|
+
}), m),
|
|
16
|
+
"data-dividers": u || void 0,
|
|
17
|
+
role: d === "ul" || d === "ol" ? "list" : void 0,
|
|
18
|
+
style: t(n("stack-gap", s, i), n("stack-align", l, r), h),
|
|
19
|
+
...g
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
//#endregion
|
|
23
|
+
export { l as Stack };
|
|
24
|
+
|
|
25
|
+
//# sourceMappingURL=Stack.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Stack.js","names":["styles","Stack_module_default","Stack","forwardRef","Comp","rest","cx","visibilityClass","className","dividers","mergeStyles","responsiveVars","gap","space","align","alignCss","style"],"sources":["../../../../src/components/layout/Stack/Stack.tsx"],"sourcesContent":["import { forwardRef, type HTMLAttributes } from 'react'\nimport { cx } from '#utils/cx'\nimport { mergeStyles, responsiveVars, type Responsive } from '#utils/responsive'\nimport { alignCss, space, type Align, type Space } from '#utils/tokens'\nimport styles from './Stack.module.css'\nimport { visibilityClass, type VisibilityProps } from '#utils/visibility'\n\nexport type StackElement =\n | 'div'\n | 'section'\n | 'article'\n | 'aside'\n | 'header'\n | 'footer'\n | 'main'\n | 'nav'\n | 'ul'\n | 'ol'\n | 'li'\n | 'form'\n | 'fieldset'\n\nexport interface StackProps extends HTMLAttributes<HTMLElement>, VisibilityProps {\n /** Space between children, as a step on the theme's space scale. Responsive. */\n gap?: Responsive<Space>\n /** Cross-axis alignment. Responsive. Default `stretch`. */\n align?: Responsive<Align>\n /** Draw a hairline rule between children (the rule sits in the middle of the gap). */\n dividers?: boolean\n /** Render as a different element. Lists get `role=\"list\"` semantics preserved. */\n as?: StackElement\n}\n\n/**\n * Vertical flow. The most common layout: a column of things with consistent space.\n *\n * <Stack gap={{ base: 4, md: 6 }} dividers>…</Stack>\n */\nexport const Stack = forwardRef<HTMLElement, StackProps>(function Stack(\n {\n gap,\n align,\n dividers = false,\n as: Comp = 'div',\n hideBelow,\n hideAbove,\n className,\n style,\n ...rest\n },\n ref,\n) {\n return (\n <Comp\n // @ts-expect-error — polymorphic ref across a union of intrinsic elements is safe here\n ref={ref}\n className={cx(styles.stack, visibilityClass({ hideBelow, hideAbove }), className)}\n data-dividers={dividers || undefined}\n role={Comp === 'ul' || Comp === 'ol' ? 'list' : undefined}\n style={mergeStyles(\n responsiveVars('stack-gap', gap, space),\n responsiveVars('stack-align', align, alignCss),\n style,\n )}\n {...rest}\n />\n )\n})\n"],"mappings":";;;;;;;;AAsCA,IAAaE,IAAQC,EAAoC,SACvD,EACE,QACA,UACA,cAAW,IACX,IAAIC,IAAO,OACX,cACA,cACA,cACA,UACA,GAAGC,KAEL,GACA;CACA,OACE,kBAACD,GAAD;EAEO;EACL,WAAWE,EAAGN,EAAO,OAAOO,EAAgB;GAAE;GAAW;EAAU,CAAC,GAAGC,CAAS;EAChF,iBAAeC,KAAY,KAAA;EAC3B,MAAML,MAAS,QAAQA,MAAS,OAAO,SAAS,KAAA;EAChD,OAAOM,EACLC,EAAe,aAAaC,GAAKC,CAAK,GACtCF,EAAe,eAAeG,GAAOC,CAAQ,GAC7CC,CACF;EACA,GAAIX;CACL,CAAA;AAEL,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Stack.module.js","names":["stack","Stack_module_default"],"sources":["../../../../src/components/layout/Stack/Stack.module.css"],"sourcesContent":["/*\n * Responsive pattern (copy this): the component writes cascaded vars\n * --stack-gap-{base,sm,md,lg,xl} (see utils/responsive.ts). CSS resolves them into a\n * private --_gap per breakpoint and every rule reads --_gap. Because the JS cascades\n * values upward, each breakpoint only needs a fallback to the default.\n */\n.stack {\n --_gap: var(--stack-gap-base, 0px);\n --_align: var(--stack-align-base, stretch);\n\n display: flex;\n flex-direction: column;\n min-inline-size: 0;\n gap: var(--_gap);\n align-items: var(--_align);\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n@media (min-width: 40em) {\n .stack {\n --_gap: var(--stack-gap-sm, 0px);\n --_align: var(--stack-align-sm, stretch);\n }\n}\n@media (min-width: 48em) {\n .stack {\n --_gap: var(--stack-gap-md, 0px);\n --_align: var(--stack-align-md, stretch);\n }\n}\n@media (min-width: 64em) {\n .stack {\n --_gap: var(--stack-gap-lg, 0px);\n --_align: var(--stack-align-lg, stretch);\n }\n}\n@media (min-width: 80em) {\n .stack {\n --_gap: var(--stack-gap-xl, 0px);\n --_align: var(--stack-align-xl, stretch);\n }\n}\n\n/* Dividers: a rule centred in the gap, drawn on every child after the first. */\n.stack[data-dividers] > * + * {\n position: relative;\n}\n.stack[data-dividers] > * + *::before {\n content: '';\n position: absolute;\n inset-inline: 0;\n inset-block-start: calc(var(--_gap) / -2 - var(--border-width) / 2);\n border-block-start: var(--border-width) solid var(--color-line);\n pointer-events: none;\n}\n\n/* `hidden` wins over the display above (author CSS otherwise beats the UA [hidden] rule). */\n.stack[hidden] {\n display: none;\n}\n"],"mappings":""}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type HTMLAttributes } from 'react';
|
|
2
|
+
export type VisuallyHiddenElement = 'span' | 'div' | 'a' | 'h1' | 'h2' | 'h3' | 'label';
|
|
3
|
+
export interface VisuallyHiddenProps extends HTMLAttributes<HTMLElement> {
|
|
4
|
+
/**
|
|
5
|
+
* Reveal the content while it (or something inside it) has keyboard focus —
|
|
6
|
+
* for skip links and other keyboard-only affordances.
|
|
7
|
+
*/
|
|
8
|
+
focusable?: boolean;
|
|
9
|
+
/** Default `span`. */
|
|
10
|
+
as?: VisuallyHiddenElement;
|
|
11
|
+
/** Only for `as="a"`. */
|
|
12
|
+
href?: string;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Content for screen readers only: a label for an icon-only control, a table caption,
|
|
16
|
+
* a heading that the visual layout already implies.
|
|
17
|
+
*
|
|
18
|
+
* <VisuallyHidden as="h2">Open invoices</VisuallyHidden>
|
|
19
|
+
*/
|
|
20
|
+
export declare const VisuallyHidden: import("react").ForwardRefExoticComponent<VisuallyHiddenProps & import("react").RefAttributes<HTMLElement>>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { cx as e } from "../../../utils/cx.js";
|
|
2
|
+
import t from "./VisuallyHidden.module.js";
|
|
3
|
+
import { forwardRef as n } from "react";
|
|
4
|
+
import { jsx as r } from "react/jsx-runtime";
|
|
5
|
+
//#region src/components/layout/VisuallyHidden/VisuallyHidden.tsx
|
|
6
|
+
var i = n(function({ focusable: n = !1, as: i = "span", className: a, ...o }, s) {
|
|
7
|
+
return /* @__PURE__ */ r(i, {
|
|
8
|
+
ref: s,
|
|
9
|
+
className: e(t.hidden, a),
|
|
10
|
+
"data-focusable": n || void 0,
|
|
11
|
+
...o
|
|
12
|
+
});
|
|
13
|
+
});
|
|
14
|
+
//#endregion
|
|
15
|
+
export { i as VisuallyHidden };
|
|
16
|
+
|
|
17
|
+
//# sourceMappingURL=VisuallyHidden.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VisuallyHidden.js","names":["styles","VisuallyHidden_module_default","VisuallyHidden","forwardRef","Comp","rest","cx","className","focusable"],"sources":["../../../../src/components/layout/VisuallyHidden/VisuallyHidden.tsx"],"sourcesContent":["import { forwardRef, type HTMLAttributes } from 'react'\nimport { cx } from '#utils/cx'\nimport styles from './VisuallyHidden.module.css'\n\nexport type VisuallyHiddenElement = 'span' | 'div' | 'a' | 'h1' | 'h2' | 'h3' | 'label'\n\nexport interface VisuallyHiddenProps extends HTMLAttributes<HTMLElement> {\n /**\n * Reveal the content while it (or something inside it) has keyboard focus —\n * for skip links and other keyboard-only affordances.\n */\n focusable?: boolean\n /** Default `span`. */\n as?: VisuallyHiddenElement\n /** Only for `as=\"a\"`. */\n href?: string\n}\n\n/**\n * Content for screen readers only: a label for an icon-only control, a table caption,\n * a heading that the visual layout already implies.\n *\n * <VisuallyHidden as=\"h2\">Open invoices</VisuallyHidden>\n */\nexport const VisuallyHidden = forwardRef<HTMLElement, VisuallyHiddenProps>(function VisuallyHidden(\n { focusable = false, as: Comp = 'span', className, ...rest },\n ref,\n) {\n return (\n <Comp\n // @ts-expect-error — polymorphic ref across a union of intrinsic elements is safe here\n ref={ref}\n className={cx(styles.hidden, className)}\n data-focusable={focusable || undefined}\n {...rest}\n />\n )\n})\n"],"mappings":";;;;;AAwBA,IAAaE,IAAiBC,EAA6C,SACzE,EAAE,eAAY,IAAO,IAAIC,IAAO,QAAQ,cAAW,GAAGC,KACtD,GACA;CACA,OACE,kBAACD,GAAD;EAEO;EACL,WAAWE,EAAGN,EAAO,QAAQO,CAAS;EACtC,kBAAgBC,KAAa,KAAA;EAC7B,GAAIH;CACL,CAAA;AAEL,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VisuallyHidden.module.js","names":["hidden","VisuallyHidden_module_default"],"sources":["../../../../src/components/layout/VisuallyHidden/VisuallyHidden.module.css"],"sourcesContent":["/* The standard clip pattern: in the accessibility tree, out of the layout. */\n.hidden:not([data-focusable]),\n.hidden[data-focusable]:not(:focus, :focus-within) {\n position: absolute;\n inline-size: 1px;\n block-size: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n border: 0;\n}\n"],"mappings":""}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { type ComponentPropsWithoutRef } from 'react';
|
|
2
|
+
import { Accordion as AccordionPrimitive } from 'radix-ui';
|
|
3
|
+
export type AccordionVariant = 'divided' | 'contained';
|
|
4
|
+
export type AccordionSize = 'sm' | 'md';
|
|
5
|
+
interface AccordionOwnProps {
|
|
6
|
+
/** `divided` (default): hairlines between items, no box. `contained`: a bordered surface. */
|
|
7
|
+
variant?: AccordionVariant;
|
|
8
|
+
/** `sm` for inline notes ("Why is this invoice overdue?"); `md` for FAQs and sections. */
|
|
9
|
+
size?: AccordionSize;
|
|
10
|
+
}
|
|
11
|
+
export type AccordionProps = (AccordionPrimitive.AccordionSingleProps | AccordionPrimitive.AccordionMultipleProps) & AccordionOwnProps;
|
|
12
|
+
export type AccordionItemProps = ComponentPropsWithoutRef<typeof AccordionPrimitive.Item>;
|
|
13
|
+
export interface AccordionTriggerProps extends ComponentPropsWithoutRef<typeof AccordionPrimitive.Trigger> {
|
|
14
|
+
/** Heading level wrapping the trigger, for the document outline. Default 3. */
|
|
15
|
+
level?: 2 | 3 | 4 | 5 | 6;
|
|
16
|
+
}
|
|
17
|
+
export type AccordionContentProps = ComponentPropsWithoutRef<typeof AccordionPrimitive.Content>;
|
|
18
|
+
/**
|
|
19
|
+
* Radix Accordion: expandable sections with a rotating chevron and a height animation.
|
|
20
|
+
* Also the library's disclosure: use one `type="single"` item for an inline "why?" note.
|
|
21
|
+
* Single accordions are `collapsible` unless you pass `collapsible={false}`.
|
|
22
|
+
*
|
|
23
|
+
* <Accordion type="single">
|
|
24
|
+
* <Accordion.Item value="scoring">
|
|
25
|
+
* <Accordion.Trigger>How scoring works</Accordion.Trigger>
|
|
26
|
+
* <Accordion.Content>…</Accordion.Content>
|
|
27
|
+
* </Accordion.Item>
|
|
28
|
+
* </Accordion>
|
|
29
|
+
*/
|
|
30
|
+
export declare const Accordion: import("react").ForwardRefExoticComponent<AccordionProps & import("react").RefAttributes<HTMLDivElement>> & {
|
|
31
|
+
Item: import("react").ForwardRefExoticComponent<Omit<AccordionPrimitive.AccordionItemProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
32
|
+
Trigger: import("react").ForwardRefExoticComponent<AccordionTriggerProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
33
|
+
Content: import("react").ForwardRefExoticComponent<Omit<AccordionPrimitive.AccordionContentProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
34
|
+
};
|
|
35
|
+
export {};
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { cx as e } from "../../../utils/cx.js";
|
|
2
|
+
import { ChevronDownIcon as t } from "../../../icons/icons.js";
|
|
3
|
+
import { headingTag as n } from "../../../utils/heading.js";
|
|
4
|
+
import r from "./Accordion.module.js";
|
|
5
|
+
import { createContext as i, forwardRef as a, useContext as o } from "react";
|
|
6
|
+
import { jsx as s, jsxs as c } from "react/jsx-runtime";
|
|
7
|
+
import { Accordion as l } from "radix-ui";
|
|
8
|
+
//#region src/components/navigation/Accordion/Accordion.tsx
|
|
9
|
+
var u = i("md"), d = a(function({ variant: t = "divided", size: n = "md", className: i, ...a }, o) {
|
|
10
|
+
let c = a.type === "single" ? {
|
|
11
|
+
collapsible: !0,
|
|
12
|
+
...a
|
|
13
|
+
} : a;
|
|
14
|
+
return /* @__PURE__ */ s(u.Provider, {
|
|
15
|
+
value: n,
|
|
16
|
+
children: /* @__PURE__ */ s(l.Root, {
|
|
17
|
+
ref: o,
|
|
18
|
+
className: e(r.root, i),
|
|
19
|
+
"data-variant": t,
|
|
20
|
+
"data-size": n,
|
|
21
|
+
...c
|
|
22
|
+
})
|
|
23
|
+
});
|
|
24
|
+
}), f = a(function({ className: t, ...n }, i) {
|
|
25
|
+
return /* @__PURE__ */ s(l.Item, {
|
|
26
|
+
ref: i,
|
|
27
|
+
className: e(r.item, t),
|
|
28
|
+
...n
|
|
29
|
+
});
|
|
30
|
+
}), p = a(function({ level: i = 3, className: a, children: d, ...f }, p) {
|
|
31
|
+
let m = o(u), h = n(i);
|
|
32
|
+
return /* @__PURE__ */ s(l.Header, {
|
|
33
|
+
asChild: !0,
|
|
34
|
+
children: /* @__PURE__ */ s(h, {
|
|
35
|
+
className: r.header,
|
|
36
|
+
children: /* @__PURE__ */ c(l.Trigger, {
|
|
37
|
+
ref: p,
|
|
38
|
+
className: e(r.trigger, a),
|
|
39
|
+
"data-size": m,
|
|
40
|
+
...f,
|
|
41
|
+
children: [/* @__PURE__ */ s("span", {
|
|
42
|
+
className: r.triggerLabel,
|
|
43
|
+
children: d
|
|
44
|
+
}), /* @__PURE__ */ s(t, { className: r.chevron })]
|
|
45
|
+
})
|
|
46
|
+
})
|
|
47
|
+
});
|
|
48
|
+
}), m = a(function({ className: t, children: n, ...i }, a) {
|
|
49
|
+
let c = o(u);
|
|
50
|
+
return /* @__PURE__ */ s(l.Content, {
|
|
51
|
+
ref: a,
|
|
52
|
+
className: e(r.content, t),
|
|
53
|
+
"data-size": c,
|
|
54
|
+
...i,
|
|
55
|
+
children: /* @__PURE__ */ s("div", {
|
|
56
|
+
className: r.contentInner,
|
|
57
|
+
children: n
|
|
58
|
+
})
|
|
59
|
+
});
|
|
60
|
+
}), h = Object.assign(d, {
|
|
61
|
+
Item: f,
|
|
62
|
+
Trigger: p,
|
|
63
|
+
Content: m
|
|
64
|
+
});
|
|
65
|
+
//#endregion
|
|
66
|
+
export { h as Accordion };
|
|
67
|
+
|
|
68
|
+
//# sourceMappingURL=Accordion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Accordion.js","names":["Accordion","AccordionPrimitive","styles","Accordion_module_default","SizeContext","createContext","AccordionRoot","forwardRef","rest","props","size","Accordion","cx","className","variant","AccordionItem","AccordionTrigger","useContext","Heading","headingTag","level","ChevronDownIcon","AccordionContent","Accordion$1"],"sources":["../../../../src/components/navigation/Accordion/Accordion.tsx"],"sourcesContent":["import { createContext, forwardRef, useContext, type ComponentPropsWithoutRef } from 'react'\nimport { Accordion as AccordionPrimitive } from 'radix-ui'\nimport { cx } from '#utils/cx'\nimport { ChevronDownIcon } from '#icons'\nimport styles from './Accordion.module.css'\nimport { headingTag } from '#utils/heading'\n\nexport type AccordionVariant = 'divided' | 'contained'\nexport type AccordionSize = 'sm' | 'md'\n\ninterface AccordionOwnProps {\n /** `divided` (default): hairlines between items, no box. `contained`: a bordered surface. */\n variant?: AccordionVariant\n /** `sm` for inline notes (\"Why is this invoice overdue?\"); `md` for FAQs and sections. */\n size?: AccordionSize\n}\n\nexport type AccordionProps = (\n AccordionPrimitive.AccordionSingleProps | AccordionPrimitive.AccordionMultipleProps\n) &\n AccordionOwnProps\n\nconst SizeContext = createContext<AccordionSize>('md')\n\nconst AccordionRoot = forwardRef<HTMLDivElement, AccordionProps>(function Accordion(\n { variant = 'divided', size = 'md', className, ...rest },\n ref,\n) {\n const props = rest.type === 'single' ? { collapsible: true, ...rest } : rest // single items can close by default\n return (\n <SizeContext.Provider value={size}>\n <AccordionPrimitive.Root\n ref={ref}\n className={cx(styles.root, className)}\n data-variant={variant}\n data-size={size}\n {...props}\n />\n </SizeContext.Provider>\n )\n})\n\nexport type AccordionItemProps = ComponentPropsWithoutRef<typeof AccordionPrimitive.Item>\n\nconst AccordionItem = forwardRef<HTMLDivElement, AccordionItemProps>(function AccordionItem(\n { className, ...rest },\n ref,\n) {\n return <AccordionPrimitive.Item ref={ref} className={cx(styles.item, className)} {...rest} />\n})\n\nexport interface AccordionTriggerProps extends ComponentPropsWithoutRef<\n typeof AccordionPrimitive.Trigger\n> {\n /** Heading level wrapping the trigger, for the document outline. Default 3. */\n level?: 2 | 3 | 4 | 5 | 6\n}\n\nconst AccordionTrigger = forwardRef<HTMLButtonElement, AccordionTriggerProps>(\n function AccordionTrigger({ level = 3, className, children, ...rest }, ref) {\n const size = useContext(SizeContext)\n const Heading = headingTag(level)\n return (\n <AccordionPrimitive.Header asChild>\n <Heading className={styles.header}>\n <AccordionPrimitive.Trigger\n ref={ref}\n className={cx(styles.trigger, className)}\n data-size={size}\n {...rest}\n >\n <span className={styles.triggerLabel}>{children}</span>\n <ChevronDownIcon className={styles.chevron} />\n </AccordionPrimitive.Trigger>\n </Heading>\n </AccordionPrimitive.Header>\n )\n },\n)\n\nexport type AccordionContentProps = ComponentPropsWithoutRef<typeof AccordionPrimitive.Content>\n\nconst AccordionContent = forwardRef<HTMLDivElement, AccordionContentProps>(\n function AccordionContent({ className, children, ...rest }, ref) {\n const size = useContext(SizeContext)\n return (\n <AccordionPrimitive.Content\n ref={ref}\n className={cx(styles.content, className)}\n data-size={size}\n {...rest}\n >\n <div className={styles.contentInner}>{children}</div>\n </AccordionPrimitive.Content>\n )\n },\n)\n\n/**\n * Radix Accordion: expandable sections with a rotating chevron and a height animation.\n * Also the library's disclosure: use one `type=\"single\"` item for an inline \"why?\" note.\n * Single accordions are `collapsible` unless you pass `collapsible={false}`.\n *\n * <Accordion type=\"single\">\n * <Accordion.Item value=\"scoring\">\n * <Accordion.Trigger>How scoring works</Accordion.Trigger>\n * <Accordion.Content>…</Accordion.Content>\n * </Accordion.Item>\n * </Accordion>\n */\nexport const Accordion = Object.assign(AccordionRoot, {\n Item: AccordionItem,\n Trigger: AccordionTrigger,\n Content: AccordionContent,\n})\n"],"mappings":";;;;;;;;AAsBA,IAAMI,IAAcC,EAA6B,IAAI,GAE/CC,IAAgBC,EAA2C,SAC/D,EAAE,aAAU,WAAW,UAAO,MAAM,cAAW,GAAGC,KAClD,GACA;CACA,IAAMC,IAAQD,EAAK,SAAS,WAAW;EAAE,aAAa;EAAM,GAAGA;CAAK,IAAIA;CACxE,OACE,kBAACJ,EAAY,UAAb;EAAsB,OAAOM;EAC3B,UAAA,kBAACT,EAAmB,MAApB;GACO;GACL,WAAWW,EAAGV,EAAO,MAAMW,CAAS;GACpC,gBAAcC;GACd,aAAWJ;GACX,GAAID;EACL,CAAA;CACmB,CAAA;AAE1B,CAAC,GAIKM,IAAgBR,EAA+C,SACnE,EAAE,cAAW,GAAGC,KAChB,GACA;CACA,OAAO,kBAACP,EAAmB,MAApB;EAA8B;EAAK,WAAWW,EAAGV,EAAO,MAAMW,CAAS;EAAG,GAAIL;CAAO,CAAA;AAC9F,CAAC,GASKQ,IAAmBT,EACvB,SAA0B,EAAE,WAAQ,GAAG,cAAW,aAAU,GAAGC,KAAQ,GAAK;CAC1E,IAAME,IAAOO,EAAWb,CAAW,GAC7Bc,IAAUC,EAAWC,CAAK;CAChC,OACE,kBAACnB,EAAmB,QAApB;EAA2B,SAAA;EACzB,UAAA,kBAACiB,GAAD;GAAS,WAAWhB,EAAO;GACzB,UAAA,kBAACD,EAAmB,SAApB;IACO;IACL,WAAWW,EAAGV,EAAO,SAASW,CAAS;IACvC,aAAWH;IACX,GAAIF;IAJN,UAAA,CAME,kBAAC,QAAD;KAAM,WAAWN,EAAO;KAAe;IAAe,CAAA,GACtD,kBAACmB,GAAD,EAAiB,WAAWnB,EAAO,QAAU,CAAA,CACnB;;EACrB,CAAA;CACgB,CAAA;AAE/B,CACF,GAIMoB,IAAmBf,EACvB,SAA0B,EAAE,cAAW,aAAU,GAAGC,KAAQ,GAAK;CAC/D,IAAME,IAAOO,EAAWb,CAAW;CACnC,OACE,kBAACH,EAAmB,SAApB;EACO;EACL,WAAWW,EAAGV,EAAO,SAASW,CAAS;EACvC,aAAWH;EACX,GAAIF;EAEJ,UAAA,kBAAC,OAAD;GAAK,WAAWN,EAAO;GAAe;EAAc,CAAA;CAC1B,CAAA;AAEhC,CACF,GAcaF,IAAY,OAAO,OAAOM,GAAe;CACpD,MAAMS;CACN,SAASC;CACT,SAASM;AACX,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
//#region src/components/navigation/Accordion/Accordion.module.css
|
|
2
|
+
var e = "kiln-Accordion__root", t = "kiln-Accordion__item", n = "kiln-Accordion__header", r = "kiln-Accordion__trigger", i = "kiln-Accordion__chevron", a = "kiln-Accordion__triggerLabel", o = "kiln-Accordion__content", s = "kiln-Accordion__open", c = "kiln-Accordion__close", l = "kiln-Accordion__contentInner", u = {
|
|
3
|
+
root: e,
|
|
4
|
+
item: t,
|
|
5
|
+
header: n,
|
|
6
|
+
trigger: r,
|
|
7
|
+
chevron: i,
|
|
8
|
+
triggerLabel: a,
|
|
9
|
+
content: o,
|
|
10
|
+
open: s,
|
|
11
|
+
close: c,
|
|
12
|
+
contentInner: l
|
|
13
|
+
};
|
|
14
|
+
//#endregion
|
|
15
|
+
export { i as chevron, c as close, o as content, l as contentInner, u as default, n as header, t as item, s as open, e as root, r as trigger, a as triggerLabel };
|
|
16
|
+
|
|
17
|
+
//# sourceMappingURL=Accordion.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Accordion.module.js","names":["root","item","header","trigger","chevron","triggerLabel","content","open","close","contentInner","Accordion_module_default"],"sources":["../../../../src/components/navigation/Accordion/Accordion.module.css"],"sourcesContent":["/*\n * Component tokens:\n * --accordion-radius contained variant, default var(--radius-surface)\n * --accordion-bg contained variant, default var(--color-surface)\n * --accordion-shadow contained variant, default var(--shadow-surface)\n */\n.root {\n --_px: 0px;\n\n min-inline-size: 0;\n}\n\n.root[data-variant='contained'] {\n --_px: var(--space-4);\n\n overflow: hidden;\n border: var(--border-width) solid var(--color-line-strong);\n border-radius: var(--accordion-radius, var(--radius-surface));\n background: var(--accordion-bg, var(--color-surface));\n box-shadow: var(--accordion-shadow, var(--shadow-surface));\n}\n\n.item + .item {\n border-block-start: var(--border-width) solid var(--color-line);\n}\n\n.header {\n all: unset;\n display: flex;\n}\n\n.trigger {\n display: flex;\n flex: 1;\n align-items: center;\n justify-content: space-between;\n gap: var(--space-4);\n min-block-size: max(2.75rem, var(--control-lg));\n padding-block: var(--space-3);\n padding-inline: var(--_px);\n border: 0;\n background: transparent;\n color: var(--color-ink);\n font-family: var(--font-text);\n font-size: var(--text-md);\n font-weight: var(--label-weight);\n letter-spacing: var(--label-tracking);\n text-transform: var(--label-transform);\n line-height: var(--leading-snug);\n text-align: start;\n cursor: pointer;\n -webkit-tap-highlight-color: transparent;\n transition:\n color var(--dur-1) var(--ease-out),\n background-color var(--dur-1) var(--ease-out);\n}\n.trigger[data-size='sm'] {\n /* Small = an inline note: the chevron follows the label instead of hugging the far edge. */\n justify-content: flex-start;\n gap: var(--space-2);\n min-block-size: max(2.75rem, var(--control-sm));\n padding-block: var(--space-2);\n font-size: var(--text-sm);\n}\n\n@media (hover: hover) {\n .trigger:hover:not(:disabled) .chevron {\n color: var(--color-ink);\n }\n .root[data-variant='contained'] .trigger:hover:not(:disabled) {\n background: var(--color-surface-sunken);\n }\n}\n\n.trigger:focus-visible {\n outline: 2px solid var(--color-focus);\n outline-offset: -2px;\n border-radius: var(--radius-field);\n}\n\n.trigger:disabled {\n cursor: not-allowed;\n opacity: 0.45;\n}\n\n.triggerLabel {\n min-inline-size: 0;\n}\n\n.chevron {\n flex: none;\n font-size: 1.25rem;\n color: var(--color-ink-subtle);\n transition:\n rotate var(--dur-2) var(--ease-spring),\n color var(--dur-1) var(--ease-out);\n}\n.trigger[data-size='sm'] .chevron {\n font-size: 1rem;\n}\n.trigger[data-state='open'] .chevron {\n rotate: 180deg;\n color: var(--color-ink);\n}\n\n/* ── Content: height animates to Radix's measured value ─────────────────── */\n.content {\n overflow: hidden;\n color: var(--color-ink-muted);\n font-size: var(--text-sm);\n line-height: var(--leading-body);\n}\n.content[data-state='open'] {\n animation: open var(--dur-3) var(--ease-out);\n}\n.content[data-state='closed'] {\n animation: close var(--dur-2) var(--ease-out);\n}\n.contentInner {\n padding-block-end: var(--space-4);\n padding-inline: var(--_px);\n padding-inline-end: calc(var(--_px) + 1.25rem + var(--space-4));\n}\n.content[data-size='sm'] .contentInner {\n padding-block-end: var(--space-3);\n padding-inline-end: var(--_px);\n}\n\n@keyframes open {\n from {\n block-size: 0;\n }\n to {\n block-size: var(--radix-accordion-content-height);\n }\n}\n@keyframes close {\n from {\n block-size: var(--radix-accordion-content-height);\n }\n to {\n block-size: 0;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .content[data-state='open'],\n .content[data-state='closed'] {\n animation: none;\n }\n .chevron {\n transition: none;\n }\n}\n"],"mappings":""}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { type AnchorHTMLAttributes, type HTMLAttributes, type ReactNode } from 'react';
|
|
2
|
+
export interface BottomNavProps extends HTMLAttributes<HTMLElement> {
|
|
3
|
+
/** Names the landmark. Default "Main". */
|
|
4
|
+
label?: string;
|
|
5
|
+
/**
|
|
6
|
+
* Hide at and above this breakpoint, where a top nav takes over. Default `md`.
|
|
7
|
+
* `false` keeps it at every width. Inside `AppShell.BottomBar`, use the shell's
|
|
8
|
+
* `navBreakpoint` (default `lg`) so the bar and the nav leave together, and give the
|
|
9
|
+
* desktop nav the matching `hideBelow`.
|
|
10
|
+
*/
|
|
11
|
+
hideAbove?: 'md' | 'lg' | false;
|
|
12
|
+
/** `fixed` (default) pins it to the viewport bottom; `static` leaves it in flow. */
|
|
13
|
+
position?: 'fixed' | 'static';
|
|
14
|
+
}
|
|
15
|
+
export interface BottomNavItemProps extends Omit<AnchorHTMLAttributes<HTMLAnchorElement>, 'children'> {
|
|
16
|
+
icon: ReactNode;
|
|
17
|
+
/** Always visible — icon-only tab bars are guesswork. Keep it to one short word. */
|
|
18
|
+
label: string;
|
|
19
|
+
active?: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* `true` for an unread dot; a number for a count (shown as 99+ above 99). The count is
|
|
22
|
+
* announced after the label.
|
|
23
|
+
*/
|
|
24
|
+
badge?: boolean | number;
|
|
25
|
+
/** Render the single child (e.g. a router `<Link>`) as the item. */
|
|
26
|
+
asChild?: boolean;
|
|
27
|
+
children?: ReactNode;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Mobile tab bar: 3–5 destinations, icon over label, pinned to the bottom with the
|
|
31
|
+
* safe-area inset. Hidden from `md` up by default, where `NavLinks` takes over.
|
|
32
|
+
* Pair the breakpoints: `<BottomNav hideAbove="md">` with `<NavLinks hideBelow="md">`.
|
|
33
|
+
*
|
|
34
|
+
* <BottomNav>
|
|
35
|
+
* <BottomNav.Item asChild icon={<TableIcon />} label="Projects" active>
|
|
36
|
+
* <Link to="/projects" />
|
|
37
|
+
* </BottomNav.Item>
|
|
38
|
+
* </BottomNav>
|
|
39
|
+
*/
|
|
40
|
+
export declare const BottomNav: import("react").ForwardRefExoticComponent<BottomNavProps & import("react").RefAttributes<HTMLElement>> & {
|
|
41
|
+
Item: import("react").ForwardRefExoticComponent<BottomNavItemProps & import("react").RefAttributes<HTMLAnchorElement>>;
|
|
42
|
+
};
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { cx as e } from "../../../utils/cx.js";
|
|
2
|
+
import t from "./BottomNav.module.js";
|
|
3
|
+
import { forwardRef as n } from "react";
|
|
4
|
+
import { jsx as r, jsxs as i } from "react/jsx-runtime";
|
|
5
|
+
import { Slot as a } from "radix-ui";
|
|
6
|
+
//#region src/components/navigation/BottomNav/BottomNav.tsx
|
|
7
|
+
var o = n(function({ label: n = "Main", hideAbove: i = "md", position: a = "fixed", className: o, children: s, ...c }, l) {
|
|
8
|
+
return /* @__PURE__ */ r("nav", {
|
|
9
|
+
ref: l,
|
|
10
|
+
"aria-label": n,
|
|
11
|
+
className: e(t.nav, o),
|
|
12
|
+
"data-hide-above": i || void 0,
|
|
13
|
+
"data-position": a,
|
|
14
|
+
...c,
|
|
15
|
+
children: /* @__PURE__ */ r("ul", {
|
|
16
|
+
className: t.list,
|
|
17
|
+
role: "list",
|
|
18
|
+
children: s
|
|
19
|
+
})
|
|
20
|
+
});
|
|
21
|
+
}), s = n(function({ icon: n, label: o, active: s = !1, badge: c, asChild: l = !1, className: u, children: d, ...f }, p) {
|
|
22
|
+
let m = l ? a.Root : "a", h = typeof c == "number" && c > 0 ? c : void 0;
|
|
23
|
+
return /* @__PURE__ */ r("li", {
|
|
24
|
+
className: t.item,
|
|
25
|
+
children: /* @__PURE__ */ i(m, {
|
|
26
|
+
ref: p,
|
|
27
|
+
className: e(t.link, u),
|
|
28
|
+
"data-active": s || void 0,
|
|
29
|
+
"aria-current": s ? "page" : void 0,
|
|
30
|
+
...f,
|
|
31
|
+
children: [
|
|
32
|
+
/* @__PURE__ */ i("span", {
|
|
33
|
+
className: t.iconWrap,
|
|
34
|
+
"aria-hidden": "true",
|
|
35
|
+
children: [/* @__PURE__ */ r("span", {
|
|
36
|
+
className: t.icon,
|
|
37
|
+
children: n
|
|
38
|
+
}), h === void 0 ? c === !0 ? /* @__PURE__ */ r("span", {
|
|
39
|
+
className: t.badge,
|
|
40
|
+
"data-kind": "dot"
|
|
41
|
+
}) : null : /* @__PURE__ */ r("span", {
|
|
42
|
+
className: t.badge,
|
|
43
|
+
"data-kind": "count",
|
|
44
|
+
children: h > 99 ? "99+" : h
|
|
45
|
+
})]
|
|
46
|
+
}),
|
|
47
|
+
/* @__PURE__ */ r("span", {
|
|
48
|
+
className: t.label,
|
|
49
|
+
children: o
|
|
50
|
+
}),
|
|
51
|
+
h === void 0 ? null : /* @__PURE__ */ r("span", {
|
|
52
|
+
className: t.srOnly,
|
|
53
|
+
children: `, ${String(h)} new`
|
|
54
|
+
}),
|
|
55
|
+
c === !0 ? /* @__PURE__ */ r("span", {
|
|
56
|
+
className: t.srOnly,
|
|
57
|
+
children: ", new"
|
|
58
|
+
}) : null,
|
|
59
|
+
/* @__PURE__ */ r(a.Slottable, { children: d })
|
|
60
|
+
]
|
|
61
|
+
})
|
|
62
|
+
});
|
|
63
|
+
}), c = Object.assign(o, { Item: s });
|
|
64
|
+
//#endregion
|
|
65
|
+
export { c as BottomNav };
|
|
66
|
+
|
|
67
|
+
//# sourceMappingURL=BottomNav.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BottomNav.js","names":["styles","BottomNav_module_default","BottomNavRoot","forwardRef","rest","label","cx","className","hideAbove","position","BottomNavItem","Comp","asChild","Slot","count","badge","active","icon","BottomNav"],"sources":["../../../../src/components/navigation/BottomNav/BottomNav.tsx"],"sourcesContent":["import { forwardRef, type AnchorHTMLAttributes, type HTMLAttributes, type ReactNode } from 'react'\nimport { Slot } from 'radix-ui'\nimport { cx } from '#utils/cx'\nimport styles from './BottomNav.module.css'\n\nexport interface BottomNavProps extends HTMLAttributes<HTMLElement> {\n /** Names the landmark. Default \"Main\". */\n label?: string\n /**\n * Hide at and above this breakpoint, where a top nav takes over. Default `md`.\n * `false` keeps it at every width. Inside `AppShell.BottomBar`, use the shell's\n * `navBreakpoint` (default `lg`) so the bar and the nav leave together, and give the\n * desktop nav the matching `hideBelow`.\n */\n hideAbove?: 'md' | 'lg' | false\n /** `fixed` (default) pins it to the viewport bottom; `static` leaves it in flow. */\n position?: 'fixed' | 'static'\n}\n\nconst BottomNavRoot = forwardRef<HTMLElement, BottomNavProps>(function BottomNav(\n { label = 'Main', hideAbove = 'md', position = 'fixed', className, children, ...rest },\n ref,\n) {\n return (\n <nav\n ref={ref}\n aria-label={label}\n className={cx(styles.nav, className)}\n data-hide-above={hideAbove || undefined}\n data-position={position}\n {...rest}\n >\n <ul className={styles.list} role=\"list\">\n {children}\n </ul>\n </nav>\n )\n})\n\nexport interface BottomNavItemProps extends Omit<\n AnchorHTMLAttributes<HTMLAnchorElement>,\n 'children'\n> {\n icon: ReactNode\n /** Always visible — icon-only tab bars are guesswork. Keep it to one short word. */\n label: string\n active?: boolean\n /**\n * `true` for an unread dot; a number for a count (shown as 99+ above 99). The count is\n * announced after the label.\n */\n badge?: boolean | number\n /** Render the single child (e.g. a router `<Link>`) as the item. */\n asChild?: boolean\n children?: ReactNode\n}\n\nconst BottomNavItem = forwardRef<HTMLAnchorElement, BottomNavItemProps>(function BottomNavItem(\n { icon, label, active = false, badge, asChild = false, className, children, ...rest },\n ref,\n) {\n const Comp = asChild ? Slot.Root : 'a'\n const count = typeof badge === 'number' && badge > 0 ? badge : undefined\n return (\n <li className={styles.item}>\n <Comp\n ref={ref}\n className={cx(styles.link, className)}\n data-active={active || undefined}\n aria-current={active ? 'page' : undefined}\n {...rest}\n >\n <span className={styles.iconWrap} aria-hidden=\"true\">\n <span className={styles.icon}>{icon}</span>\n {count !== undefined ? (\n <span className={styles.badge} data-kind=\"count\">\n {count > 99 ? '99+' : count}\n </span>\n ) : badge === true ? (\n <span className={styles.badge} data-kind=\"dot\" />\n ) : null}\n </span>\n <span className={styles.label}>{label}</span>\n {count !== undefined ? (\n <span className={styles.srOnly}>{`, ${String(count)} new`}</span>\n ) : null}\n {badge === true ? <span className={styles.srOnly}>, new</span> : null}\n <Slot.Slottable>{children}</Slot.Slottable>\n </Comp>\n </li>\n )\n})\n\n/**\n * Mobile tab bar: 3–5 destinations, icon over label, pinned to the bottom with the\n * safe-area inset. Hidden from `md` up by default, where `NavLinks` takes over.\n * Pair the breakpoints: `<BottomNav hideAbove=\"md\">` with `<NavLinks hideBelow=\"md\">`.\n *\n * <BottomNav>\n * <BottomNav.Item asChild icon={<TableIcon />} label=\"Projects\" active>\n * <Link to=\"/projects\" />\n * </BottomNav.Item>\n * </BottomNav>\n */\nexport const BottomNav = Object.assign(BottomNavRoot, { Item: BottomNavItem })\n"],"mappings":";;;;;;AAmBA,IAAME,IAAgBC,EAAwC,SAC5D,EAAE,WAAQ,QAAQ,eAAY,MAAM,cAAW,SAAS,cAAW,aAAU,GAAGC,KAChF,GACA;CACA,OACE,kBAAC,OAAD;EACO;EACL,cAAYC;EACZ,WAAWC,EAAGN,EAAO,KAAKO,CAAS;EACnC,mBAAiBC,KAAa,KAAA;EAC9B,iBAAeC;EACf,GAAIL;EAEJ,UAAA,kBAAC,MAAD;GAAI,WAAWJ,EAAO;GAAM,MAAK;GAC9B;EACC,CAAA;CACD,CAAA;AAET,CAAC,GAoBKU,IAAgBP,EAAkD,SACtE,EAAE,SAAM,UAAO,YAAS,IAAO,UAAO,aAAU,IAAO,cAAW,aAAU,GAAGC,KAC/E,GACA;CACA,IAAMO,IAAOC,IAAUC,EAAK,OAAO,KAC7BC,IAAQ,OAAOC,KAAU,YAAYA,IAAQ,IAAIA,IAAQ,KAAA;CAC/D,OACE,kBAAC,MAAD;EAAI,WAAWf,EAAO;EACpB,UAAA,kBAACW,GAAD;GACO;GACL,WAAWL,EAAGN,EAAO,MAAMO,CAAS;GACpC,eAAaS,KAAU,KAAA;GACvB,gBAAcA,IAAS,SAAS,KAAA;GAChC,GAAIZ;GALN,UAAA;IAOE,kBAAC,QAAD;KAAM,WAAWJ,EAAO;KAAU,eAAY;KAA9C,UAAA,CACE,kBAAC,QAAD;MAAM,WAAWA,EAAO;MAAO,UAAAiB;KAAW,CAAA,GACzCH,MAAU,KAAA,IAIPC,MAAU,KACZ,kBAAC,QAAD;MAAM,WAAWf,EAAO;MAAO,aAAU;KAAO,CAAA,IAC9C,OALF,kBAAC,QAAD;MAAM,WAAWA,EAAO;MAAO,aAAU;MACtC,UAAAc,IAAQ,KAAK,QAAQA;KAClB,CAAA,CAIJ;;IACN,kBAAC,QAAD;KAAM,WAAWd,EAAO;KAAQ,UAAAK;IAAY,CAAA;IAC3CS,MAAU,KAAA,IAEP,OADF,kBAAC,QAAD;KAAM,WAAWd,EAAO;KAAS,UAAA,KAAK,OAAOc,CAAK,EAAE;IAAY,CAAA;IAEjEC,MAAU,KAAO,kBAAC,QAAD;KAAM,WAAWf,EAAO;KAAQ,UAAA;IAAW,CAAA,IAAI;IACjE,kBAACa,EAAK,WAAN,EAAiB,YAAyB,CAAA;GACtC;;CACJ,CAAA;AAER,CAAC,GAaYK,IAAY,OAAO,OAAOhB,GAAe,EAAE,MAAMQ,EAAc,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
//#region src/components/navigation/BottomNav/BottomNav.module.css
|
|
2
|
+
var e = "kiln-BottomNav__nav", t = "kiln-BottomNav__list", n = "kiln-BottomNav__item", r = "kiln-BottomNav__link", i = "kiln-BottomNav__iconWrap", a = "kiln-BottomNav__icon", o = "kiln-BottomNav__label", s = "kiln-BottomNav__badge", c = "kiln-BottomNav__srOnly", l = {
|
|
3
|
+
nav: e,
|
|
4
|
+
list: t,
|
|
5
|
+
item: n,
|
|
6
|
+
link: r,
|
|
7
|
+
iconWrap: i,
|
|
8
|
+
icon: a,
|
|
9
|
+
label: o,
|
|
10
|
+
badge: s,
|
|
11
|
+
srOnly: c
|
|
12
|
+
};
|
|
13
|
+
//#endregion
|
|
14
|
+
export { s as badge, l as default, a as icon, i as iconWrap, n as item, o as label, r as link, t as list, e as nav, c as srOnly };
|
|
15
|
+
|
|
16
|
+
//# sourceMappingURL=BottomNav.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BottomNav.module.js","names":["nav","list","item","link","iconWrap","icon","label","badge","srOnly","BottomNav_module_default"],"sources":["../../../../src/components/navigation/BottomNav/BottomNav.module.css"],"sourcesContent":["/*\n * Component tokens:\n * --bottom-nav-bg default var(--color-surface)\n * --bottom-nav-marker current-item bar + ink, default var(--color-accent) / var(--color-accent-text)\n */\n.nav {\n inset-inline: 0;\n inset-block-end: 0;\n z-index: var(--z-sticky);\n padding-block-end: env(safe-area-inset-bottom, 0px);\n padding-inline: env(safe-area-inset-left, 0px) env(safe-area-inset-right, 0px);\n border-block-start: var(--border-width) solid var(--color-line-strong);\n background: var(--bottom-nav-bg, var(--color-surface));\n}\n.nav[data-position='fixed'] {\n position: fixed;\n}\n.nav[data-position='static'] {\n position: relative;\n}\n\n@media (min-width: 48em) {\n .nav[data-hide-above='md'] {\n display: none;\n }\n}\n@media (min-width: 64em) {\n .nav[data-hide-above='lg'] {\n display: none;\n }\n}\n\n.list {\n display: grid;\n grid-auto-flow: column;\n grid-auto-columns: 1fr;\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n.item {\n display: flex;\n min-inline-size: 0;\n}\n\n.link {\n position: relative;\n display: flex;\n flex: 1;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: var(--space-1);\n /* Touch target: never under 44px, whatever the theme's density. */\n min-block-size: max(2.75rem, calc(var(--control-lg) + var(--space-2)));\n padding: var(--space-2) var(--space-1);\n color: var(--color-ink-muted);\n font-family: var(--font-text);\n /* Legible floor: the theme's xs step can fall under 11px at compact densities. */\n font-size: max(var(--text-xs), 0.75rem);\n font-weight: var(--label-weight);\n letter-spacing: var(--label-tracking);\n text-transform: var(--label-transform);\n line-height: 1.1;\n text-decoration: none;\n -webkit-tap-highlight-color: transparent;\n transition: color var(--dur-1) var(--ease-out);\n}\n\n/* Current: a bar across the top edge, sitting on the nav's rule, and accent ink. */\n.link::before {\n content: '';\n position: absolute;\n inset-block-start: calc(-1 * var(--border-width));\n inset-inline: 28%;\n block-size: max(2px, var(--border-width-strong));\n border-end-start-radius: 2px;\n border-end-end-radius: 2px;\n background: var(--bottom-nav-marker, var(--color-accent));\n scale: 0 1;\n transition: scale var(--dur-2) var(--ease-spring);\n}\n.link[data-active] {\n color: var(--bottom-nav-marker, var(--color-accent-text));\n}\n.link[data-active]::before {\n scale: 1 1;\n}\n\n@media (hover: hover) {\n .link:hover:not([data-active]) {\n color: var(--color-ink);\n }\n}\n\n.link:focus-visible {\n outline: 2px solid var(--color-focus);\n outline-offset: -2px;\n border-radius: var(--radius-field);\n}\n\n.iconWrap {\n position: relative;\n display: inline-flex;\n}\n\n.icon {\n display: inline-flex;\n font-size: 1.5rem;\n}\n\n.label {\n max-inline-size: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.badge {\n position: absolute;\n inset-block-start: -0.25rem;\n inset-inline-start: calc(100% - 0.5rem);\n display: inline-grid;\n place-items: center;\n border: 2px solid var(--bottom-nav-bg, var(--color-surface));\n background: var(--color-accent);\n color: var(--color-accent-ink);\n}\n.badge[data-kind='count'] {\n min-inline-size: 1.25rem;\n block-size: 1.25rem;\n padding-inline: 0.25rem;\n border-radius: var(--radius-chip);\n font-family: var(--font-numeric);\n font-stretch: var(--numeric-stretch);\n font-variant-numeric: tabular-nums lining-nums;\n font-size: var(--text-2xs);\n font-weight: var(--label-weight);\n letter-spacing: 0;\n text-transform: none;\n line-height: 1;\n}\n.badge[data-kind='dot'] {\n inline-size: 0.75rem;\n block-size: 0.75rem;\n inset-inline-start: calc(100% - 0.4rem);\n border-radius: 50%;\n}\n\n.srOnly {\n position: absolute;\n inline-size: 1px;\n block-size: 1px;\n margin: -1px;\n padding: 0;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n border: 0;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .link::before {\n transition: none;\n }\n}\n"],"mappings":""}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { type AnchorHTMLAttributes, type HTMLAttributes } from 'react';
|
|
2
|
+
import { type Space } from '../../../utils/tokens.js';
|
|
3
|
+
import { type VisibilityProps } from '../../../utils/visibility.js';
|
|
4
|
+
export type NavLinksOrientation = 'horizontal' | 'vertical';
|
|
5
|
+
export type NavLinksSize = 'sm' | 'md';
|
|
6
|
+
export interface NavLinksProps extends HTMLAttributes<HTMLElement>, VisibilityProps {
|
|
7
|
+
/** Names the landmark. Required when a page has more than one nav. Default "Main". */
|
|
8
|
+
label?: string;
|
|
9
|
+
/** `horizontal` (default) for headers; `vertical` for sidebars and footers. */
|
|
10
|
+
orientation?: NavLinksOrientation;
|
|
11
|
+
/**
|
|
12
|
+
* Space between links, as a step on the space scale. Default `5` horizontal, `0`
|
|
13
|
+
* vertical (vertical items are already a full control tall).
|
|
14
|
+
*/
|
|
15
|
+
gap?: Space;
|
|
16
|
+
/** `md` (default) for page headers; `sm` for dense toolbars, footers and sub-navs. */
|
|
17
|
+
size?: NavLinksSize;
|
|
18
|
+
}
|
|
19
|
+
export interface NavLinksItemProps extends AnchorHTMLAttributes<HTMLAnchorElement>, VisibilityProps {
|
|
20
|
+
/** The current page. Sets `aria-current="page"` and draws the marker. */
|
|
21
|
+
active?: boolean;
|
|
22
|
+
/** Render the single child (e.g. a router `<Link>`) instead of an `<a>`. */
|
|
23
|
+
asChild?: boolean;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Site / app navigation: a labelled `<nav>` with a list of links. The current page is
|
|
27
|
+
* marked with a short accent bar under the label (horizontal) or an accent dot beside
|
|
28
|
+
* it (vertical) — a mark, not a glowing pill.
|
|
29
|
+
*/
|
|
30
|
+
export declare const NavLinks: import("react").ForwardRefExoticComponent<NavLinksProps & import("react").RefAttributes<HTMLElement>> & {
|
|
31
|
+
Item: import("react").ForwardRefExoticComponent<NavLinksItemProps & import("react").RefAttributes<HTMLAnchorElement>>;
|
|
32
|
+
};
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { cx as e } from "../../../utils/cx.js";
|
|
2
|
+
import { space as t } from "../../../utils/tokens.js";
|
|
3
|
+
import { visibilityClass as n } from "../../../utils/visibility.js";
|
|
4
|
+
import r from "./NavLinks.module.js";
|
|
5
|
+
import { createContext as i, forwardRef as a, useContext as o } from "react";
|
|
6
|
+
import { jsx as s } from "react/jsx-runtime";
|
|
7
|
+
import { Slot as c } from "radix-ui";
|
|
8
|
+
//#region src/components/navigation/NavLinks/NavLinks.tsx
|
|
9
|
+
var l = i({
|
|
10
|
+
orientation: "horizontal",
|
|
11
|
+
size: "md"
|
|
12
|
+
}), u = a(function({ label: i = "Main", orientation: a = "horizontal", gap: o, size: c = "md", hideBelow: u, hideAbove: d, className: f, children: p, ...m }, h) {
|
|
13
|
+
return /* @__PURE__ */ s(l.Provider, {
|
|
14
|
+
value: {
|
|
15
|
+
orientation: a,
|
|
16
|
+
size: c
|
|
17
|
+
},
|
|
18
|
+
children: /* @__PURE__ */ s("nav", {
|
|
19
|
+
ref: h,
|
|
20
|
+
"aria-label": i,
|
|
21
|
+
className: e(r.nav, n({
|
|
22
|
+
hideBelow: u,
|
|
23
|
+
hideAbove: d
|
|
24
|
+
}), f),
|
|
25
|
+
"data-orientation": a,
|
|
26
|
+
"data-size": c,
|
|
27
|
+
...m,
|
|
28
|
+
children: /* @__PURE__ */ s("ul", {
|
|
29
|
+
className: r.list,
|
|
30
|
+
role: "list",
|
|
31
|
+
style: o === void 0 ? void 0 : { "--_gap": t(o) },
|
|
32
|
+
children: p
|
|
33
|
+
})
|
|
34
|
+
})
|
|
35
|
+
});
|
|
36
|
+
}), d = a(function({ active: t = !1, asChild: i = !1, hideBelow: a, hideAbove: u, className: d, ...f }, p) {
|
|
37
|
+
let { orientation: m, size: h } = o(l), g = i ? c.Root : "a";
|
|
38
|
+
return /* @__PURE__ */ s("li", {
|
|
39
|
+
className: e(r.item, n({
|
|
40
|
+
hideBelow: a,
|
|
41
|
+
hideAbove: u
|
|
42
|
+
})),
|
|
43
|
+
children: /* @__PURE__ */ s(g, {
|
|
44
|
+
ref: p,
|
|
45
|
+
className: e(r.link, d),
|
|
46
|
+
"data-orientation": m,
|
|
47
|
+
"data-size": h,
|
|
48
|
+
"data-active": t || void 0,
|
|
49
|
+
"aria-current": t ? "page" : void 0,
|
|
50
|
+
...f
|
|
51
|
+
})
|
|
52
|
+
});
|
|
53
|
+
}), f = Object.assign(u, { Item: d });
|
|
54
|
+
//#endregion
|
|
55
|
+
export { f as NavLinks };
|
|
56
|
+
|
|
57
|
+
//# sourceMappingURL=NavLinks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NavLinks.js","names":["styles","NavLinks_module_default","NavLinksContext","createContext","NavLinksRoot","forwardRef","rest","label","cx","visibilityClass","className","orientation","size","gap","space","NavLinksItem","useContext","Comp","asChild","Slot","active","NavLinks"],"sources":["../../../../src/components/navigation/NavLinks/NavLinks.tsx"],"sourcesContent":["import {\n createContext,\n forwardRef,\n useContext,\n type AnchorHTMLAttributes,\n type CSSProperties,\n type HTMLAttributes,\n} from 'react'\nimport { Slot } from 'radix-ui'\nimport { cx } from '#utils/cx'\nimport { space, type Space } from '#utils/tokens'\nimport { visibilityClass, type VisibilityProps } from '#utils/visibility'\nimport styles from './NavLinks.module.css'\n\nexport type NavLinksOrientation = 'horizontal' | 'vertical'\nexport type NavLinksSize = 'sm' | 'md'\n\nexport interface NavLinksProps extends HTMLAttributes<HTMLElement>, VisibilityProps {\n /** Names the landmark. Required when a page has more than one nav. Default \"Main\". */\n label?: string\n /** `horizontal` (default) for headers; `vertical` for sidebars and footers. */\n orientation?: NavLinksOrientation\n /**\n * Space between links, as a step on the space scale. Default `5` horizontal, `0`\n * vertical (vertical items are already a full control tall).\n */\n gap?: Space\n /** `md` (default) for page headers; `sm` for dense toolbars, footers and sub-navs. */\n size?: NavLinksSize\n}\n\ninterface NavLinksContextValue {\n orientation: NavLinksOrientation\n size: NavLinksSize\n}\n\nconst NavLinksContext = createContext<NavLinksContextValue>({\n orientation: 'horizontal',\n size: 'md',\n})\n\nconst NavLinksRoot = forwardRef<HTMLElement, NavLinksProps>(function NavLinks(\n {\n label = 'Main',\n orientation = 'horizontal',\n gap,\n size = 'md',\n hideBelow,\n hideAbove,\n className,\n children,\n ...rest\n },\n ref,\n) {\n return (\n <NavLinksContext.Provider value={{ orientation, size }}>\n <nav\n ref={ref}\n aria-label={label}\n className={cx(styles.nav, visibilityClass({ hideBelow, hideAbove }), className)}\n data-orientation={orientation}\n data-size={size}\n {...rest}\n >\n <ul\n className={styles.list}\n role=\"list\"\n style={gap === undefined ? undefined : ({ '--_gap': space(gap) } as CSSProperties)}\n >\n {children}\n </ul>\n </nav>\n </NavLinksContext.Provider>\n )\n})\n\nexport interface NavLinksItemProps\n extends AnchorHTMLAttributes<HTMLAnchorElement>, VisibilityProps {\n /** The current page. Sets `aria-current=\"page\"` and draws the marker. */\n active?: boolean\n /** Render the single child (e.g. a router `<Link>`) instead of an `<a>`. */\n asChild?: boolean\n}\n\n/**\n * One link. For router links: `<NavLinks.Item asChild active={isActive}><Link to=\"/work\">Work</Link></NavLinks.Item>`.\n * `hideBelow`/`hideAbove` hide the whole list item (e.g. a secondary link on phones).\n */\nconst NavLinksItem = forwardRef<HTMLAnchorElement, NavLinksItemProps>(function NavLinksItem(\n { active = false, asChild = false, hideBelow, hideAbove, className, ...rest },\n ref,\n) {\n const { orientation, size } = useContext(NavLinksContext)\n const Comp = asChild ? Slot.Root : 'a'\n return (\n <li className={cx(styles.item, visibilityClass({ hideBelow, hideAbove }))}>\n <Comp\n ref={ref}\n className={cx(styles.link, className)}\n data-orientation={orientation}\n data-size={size}\n data-active={active || undefined}\n aria-current={active ? 'page' : undefined}\n {...rest}\n />\n </li>\n )\n})\n\n/**\n * Site / app navigation: a labelled `<nav>` with a list of links. The current page is\n * marked with a short accent bar under the label (horizontal) or an accent dot beside\n * it (vertical) — a mark, not a glowing pill.\n */\nexport const NavLinks = Object.assign(NavLinksRoot, { Item: NavLinksItem })\n"],"mappings":";;;;;;;;AAoCA,IAAME,IAAkBC,EAAoC;CAC1D,aAAa;CACb,MAAM;AACR,CAAC,GAEKC,IAAeC,EAAuC,SAC1D,EACE,WAAQ,QACR,iBAAc,cACd,QACA,UAAO,MACP,cACA,cACA,cACA,aACA,GAAGC,KAEL,GACA;CACA,OACE,kBAACJ,EAAgB,UAAjB;EAA0B,OAAO;GAAE;GAAa;EAAK;EACnD,UAAA,kBAAC,OAAD;GACO;GACL,cAAYK;GACZ,WAAWC,EAAGR,EAAO,KAAKS,EAAgB;IAAE;IAAW;GAAU,CAAC,GAAGC,CAAS;GAC9E,oBAAkBC;GAClB,aAAWC;GACX,GAAIN;GAEJ,UAAA,kBAAC,MAAD;IACE,WAAWN,EAAO;IAClB,MAAK;IACL,OAAOa,MAAQ,KAAA,IAAY,KAAA,IAAa,EAAE,UAAUC,EAAMD,CAAG,EAAE;IAE9D;GACC,CAAA;EACD,CAAA;CACmB,CAAA;AAE9B,CAAC,GAcKE,IAAeV,EAAiD,SACpE,EAAE,YAAS,IAAO,aAAU,IAAO,cAAW,cAAW,cAAW,GAAGC,KACvE,GACA;CACA,IAAM,EAAE,gBAAa,YAASU,EAAWd,CAAe,GAClDe,IAAOC,IAAUC,EAAK,OAAO;CACnC,OACE,kBAAC,MAAD;EAAI,WAAWX,EAAGR,EAAO,MAAMS,EAAgB;GAAE;GAAW;EAAU,CAAC,CAAC;EACtE,UAAA,kBAACQ,GAAD;GACO;GACL,WAAWT,EAAGR,EAAO,MAAMU,CAAS;GACpC,oBAAkBC;GAClB,aAAWC;GACX,eAAaQ,KAAU,KAAA;GACvB,gBAAcA,IAAS,SAAS,KAAA;GAChC,GAAId;EACL,CAAA;CACC,CAAA;AAER,CAAC,GAOYe,IAAW,OAAO,OAAOjB,GAAc,EAAE,MAAMW,EAAa,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
//#region src/components/navigation/NavLinks/NavLinks.module.css
|
|
2
|
+
var e = "kiln-NavLinks__nav", t = "kiln-NavLinks__list", n = "kiln-NavLinks__item", r = "kiln-NavLinks__link", i = {
|
|
3
|
+
nav: e,
|
|
4
|
+
list: t,
|
|
5
|
+
item: n,
|
|
6
|
+
link: r
|
|
7
|
+
};
|
|
8
|
+
//#endregion
|
|
9
|
+
export { i as default, n as item, r as link, t as list, e as nav };
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=NavLinks.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NavLinks.module.js","names":["nav","list","item","link","NavLinks_module_default"],"sources":["../../../../src/components/navigation/NavLinks/NavLinks.module.css"],"sourcesContent":["/*\n * Component tokens:\n * --navlinks-marker current-page marker colour, default var(--color-accent)\n * --navlinks-gap space between links, default var(--space-5) horizontal / 0 vertical\n * (the `gap` prop wins over it)\n */\n.nav {\n min-inline-size: 0;\n}\n\n.list {\n /* Defined here so an ancestor's --_gap can never leak in; the `gap` prop overrides inline. */\n --_gap: var(--navlinks-gap, var(--space-5));\n\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n column-gap: var(--_gap);\n row-gap: var(--space-1);\n margin: 0;\n padding: 0;\n list-style: none;\n}\n.nav[data-orientation='vertical'] .list {\n --_gap: var(--navlinks-gap, 0px);\n flex-direction: column;\n flex-wrap: nowrap;\n align-items: stretch;\n gap: var(--_gap);\n}\n\n.item {\n display: flex;\n margin: 0;\n padding: 0;\n}\n\n.link {\n --_marker: var(--navlinks-marker, var(--color-accent));\n\n position: relative;\n display: inline-flex;\n align-items: center;\n gap: 0.5em;\n min-block-size: var(--control-md);\n padding: 0;\n color: var(--color-ink-muted);\n font-family: var(--font-text);\n font-size: var(--text-sm);\n font-weight: var(--label-weight);\n letter-spacing: var(--label-tracking);\n text-transform: var(--label-transform);\n line-height: 1.2;\n text-decoration: none;\n white-space: nowrap;\n -webkit-tap-highlight-color: transparent;\n transition: color var(--dur-1) var(--ease-out);\n}\n\n@media (hover: hover) {\n .link:hover {\n color: var(--color-ink);\n }\n}\n\n.link[data-active] {\n color: var(--color-ink);\n}\n\n.link[data-size='sm'] {\n min-block-size: var(--control-sm);\n font-size: var(--text-xs);\n}\n\n.link:focus-visible {\n outline: 2px solid var(--color-focus);\n outline-offset: 2px;\n border-radius: 2px;\n}\n\n/* Horizontal: a bar under the label, the width of the word, sitting a little below it. */\n.link[data-orientation='horizontal']::after {\n content: '';\n position: absolute;\n inset-inline: 0;\n inset-block-end: calc(50% - 0.6lh - var(--space-2));\n block-size: max(2px, var(--border-width-strong));\n border-radius: 1px;\n background: var(--_marker);\n scale: 0 1;\n transform-origin: left;\n transition: scale var(--dur-2) var(--ease-spring);\n}\n.link[data-orientation='horizontal'][data-active]::after {\n scale: 1 1;\n}\n\n/* Vertical: a dot in a reserved gutter, so labels never shift. */\n.link[data-orientation='vertical'] {\n inline-size: 100%;\n padding-inline-start: var(--space-4);\n}\n.link[data-orientation='vertical'][data-size='sm'] {\n padding-inline-start: var(--space-3);\n}\n.link[data-orientation='vertical']::before {\n content: '';\n position: absolute;\n inset-inline-start: 0;\n inset-block-start: 50%;\n inline-size: 0.375rem;\n block-size: 0.375rem;\n margin-block-start: -0.1875rem;\n border-radius: 50%;\n background: var(--_marker);\n scale: 0;\n transition: scale var(--dur-2) var(--ease-spring);\n}\n.link[data-orientation='vertical'][data-active]::before {\n scale: 1;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .link::before,\n .link::after {\n transition: none;\n }\n}\n"],"mappings":""}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { type HTMLAttributes, type ReactNode } from 'react';
|
|
2
|
+
export type StepperStatus = 'complete' | 'current' | 'upcoming' | 'error';
|
|
3
|
+
export interface StepperStep {
|
|
4
|
+
/** Stable identifier — matched against `value` and passed to `onStepSelect`. */
|
|
5
|
+
value: string;
|
|
6
|
+
label: ReactNode;
|
|
7
|
+
description?: ReactNode;
|
|
8
|
+
/** Overrides the status this step would otherwise derive from its position relative to `value`. */
|
|
9
|
+
status?: StepperStatus;
|
|
10
|
+
/**
|
|
11
|
+
* The step has errors. Independent of `status` (which keeps describing progress): an invalid
|
|
12
|
+
* step gets the critical glyph and text, and the hidden error suffix in place of the complete one;
|
|
13
|
+
* a current invalid step keeps `aria-current="step"`. `status: 'error'` is the same treatment for a step whose progress
|
|
14
|
+
* you don't report.
|
|
15
|
+
*/
|
|
16
|
+
invalid?: boolean;
|
|
17
|
+
}
|
|
18
|
+
export interface StepperProps extends Omit<HTMLAttributes<HTMLOListElement>, 'onSelect'> {
|
|
19
|
+
steps: readonly StepperStep[];
|
|
20
|
+
/** The current step's `value` (`aria-current="step"`). */
|
|
21
|
+
value: string;
|
|
22
|
+
/** Steps become buttons when set — lets people jump to a visited or upcoming step. */
|
|
23
|
+
onStepSelect?: (value: string) => void;
|
|
24
|
+
/** Default `horizontal`. */
|
|
25
|
+
orientation?: 'horizontal' | 'vertical';
|
|
26
|
+
/** Below this breakpoint, collapse to a single line of text (`formatCompact`). */
|
|
27
|
+
compactBelow?: 'sm' | 'md';
|
|
28
|
+
formatCompact?: (index: number, total: number, label: ReactNode) => ReactNode;
|
|
29
|
+
/** Visually-hidden suffixes announced after a step's label. */
|
|
30
|
+
statusLabels?: {
|
|
31
|
+
complete?: string;
|
|
32
|
+
error?: string;
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* A step indicator for a multi-step flow — not a form control. Pair with `ActionBar`
|
|
37
|
+
* for the Back / Next / Submit row and drive both from the same current-step state.
|
|
38
|
+
*
|
|
39
|
+
* <Stepper
|
|
40
|
+
* steps={[{ value: 'you', label: 'You' }, { value: 'team', label: 'Team' }]}
|
|
41
|
+
* value={step}
|
|
42
|
+
* onStepSelect={setStep}
|
|
43
|
+
* />
|
|
44
|
+
*/
|
|
45
|
+
export declare const Stepper: import("react").ForwardRefExoticComponent<StepperProps & import("react").RefAttributes<HTMLOListElement>>;
|