@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
package/package.json
ADDED
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@mitcsutt/kiln-ui",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Kiln: a themeable React design system on Radix primitives, plain CSS and design tokens",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"kiln",
|
|
7
|
+
"react",
|
|
8
|
+
"design-system",
|
|
9
|
+
"components",
|
|
10
|
+
"ui",
|
|
11
|
+
"radix",
|
|
12
|
+
"css-modules",
|
|
13
|
+
"design-tokens",
|
|
14
|
+
"theming",
|
|
15
|
+
"tanstack-intent"
|
|
16
|
+
],
|
|
17
|
+
"homepage": "https://kiln.mitchellsutton.com",
|
|
18
|
+
"bugs": "https://github.com/mitcsutt/kiln/issues",
|
|
19
|
+
"repository": {
|
|
20
|
+
"type": "git",
|
|
21
|
+
"url": "git+https://github.com/mitcsutt/kiln.git",
|
|
22
|
+
"directory": "packages/ui"
|
|
23
|
+
},
|
|
24
|
+
"license": "MIT",
|
|
25
|
+
"type": "module",
|
|
26
|
+
"sideEffects": [
|
|
27
|
+
"**/*.css"
|
|
28
|
+
],
|
|
29
|
+
"imports": {},
|
|
30
|
+
"exports": {
|
|
31
|
+
".": {
|
|
32
|
+
"types": "./dist/index.d.ts",
|
|
33
|
+
"default": "./dist/index.js"
|
|
34
|
+
},
|
|
35
|
+
"./styles.css": "./dist/styles.css",
|
|
36
|
+
"./themes/monograph.css": "./dist/themes/monograph.css",
|
|
37
|
+
"./themes/ledger.css": "./dist/themes/ledger.css",
|
|
38
|
+
"./themes/fiesta.css": "./dist/themes/fiesta.css",
|
|
39
|
+
"./package.json": "./package.json"
|
|
40
|
+
},
|
|
41
|
+
"publishConfig": {
|
|
42
|
+
"access": "public"
|
|
43
|
+
},
|
|
44
|
+
"files": [
|
|
45
|
+
"dist",
|
|
46
|
+
"skills"
|
|
47
|
+
],
|
|
48
|
+
"dependencies": {
|
|
49
|
+
"radix-ui": "^1.6.7"
|
|
50
|
+
},
|
|
51
|
+
"devDependencies": {
|
|
52
|
+
"@arethetypeswrong/cli": "^0.18.5",
|
|
53
|
+
"@mitcsutt/kiln-testing-react18": "0.0.0",
|
|
54
|
+
"@mitcsutt/kiln-tsconfig": "0.1.0",
|
|
55
|
+
"@tanstack/intent": "^0.5.3",
|
|
56
|
+
"@storybook/react-vite": "^10.6.1",
|
|
57
|
+
"@testing-library/jest-dom": "^7.0.1",
|
|
58
|
+
"@testing-library/react": "^16.3.3",
|
|
59
|
+
"@testing-library/user-event": "^14.6.7",
|
|
60
|
+
"@types/node": "^24.0.0",
|
|
61
|
+
"@types/react": "^19.3.0",
|
|
62
|
+
"@types/react-dom": "^19.3.0",
|
|
63
|
+
"@vitejs/plugin-react": "^6.1.1",
|
|
64
|
+
"eslint": "^10.12.0",
|
|
65
|
+
"jsdom": "^26.1.0",
|
|
66
|
+
"publint": "^0.3.25",
|
|
67
|
+
"react": "^19.3.0",
|
|
68
|
+
"react-dom": "^19.3.0",
|
|
69
|
+
"storybook": "^10.6.1",
|
|
70
|
+
"typescript": "~6.0.3",
|
|
71
|
+
"vite": "^8.3.2",
|
|
72
|
+
"vitest": "^5.0.3"
|
|
73
|
+
},
|
|
74
|
+
"peerDependencies": {
|
|
75
|
+
"react": "^18.3.0 || ^19.0.0",
|
|
76
|
+
"react-dom": "^18.3.0 || ^19.0.0"
|
|
77
|
+
},
|
|
78
|
+
"engines": {
|
|
79
|
+
"node": ">=22.12.0"
|
|
80
|
+
},
|
|
81
|
+
"scripts": {
|
|
82
|
+
"build": "vite build",
|
|
83
|
+
"check:package": "pnpm pack --out node_modules/.cache/kiln-pack/package.tgz > /dev/null && publint --pack pnpm --strict && attw node_modules/.cache/kiln-pack/package.tgz --profile esm-only --exclude-entrypoints ./styles.css ./themes/monograph.css ./themes/ledger.css ./themes/fiesta.css",
|
|
84
|
+
"check:skills": "intent validate",
|
|
85
|
+
"lint": "eslint --max-warnings=0 .",
|
|
86
|
+
"size": "node ../../size-report.ts",
|
|
87
|
+
"test": "vitest run",
|
|
88
|
+
"test:react18": "vitest run --config vitest.react18.config.ts",
|
|
89
|
+
"typecheck": "tsc --noEmit"
|
|
90
|
+
}
|
|
91
|
+
}
|
|
@@ -0,0 +1,293 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: custom-theme
|
|
3
|
+
description: Use when writing a new theme for @mitcsutt/kiln-ui, changing a theme's colours, fonts, radii, density, shadows or motion, setting component tokens, or theming one part of a page with ThemeScope. Covers the token contract, the starter theme file, cascade layers, light and dark values, fonts and checking contrast.
|
|
4
|
+
metadata:
|
|
5
|
+
purpose: Write a complete theme as one CSS file against the token contract and select it like a built-in, with no component changes.
|
|
6
|
+
type: core
|
|
7
|
+
library: "@mitcsutt/kiln-ui"
|
|
8
|
+
sources:
|
|
9
|
+
- mitcsutt/kiln:apps/docs/content/docs/ui/foundations/theming.mdx
|
|
10
|
+
- mitcsutt/kiln:apps/docs/content/docs/ui/foundations/tokens.mdx
|
|
11
|
+
- mitcsutt/kiln:apps/docs/content/docs/ui/foundations/colour.mdx
|
|
12
|
+
- mitcsutt/kiln:apps/docs/content/docs/ui/foundations/type.mdx
|
|
13
|
+
- mitcsutt/kiln:apps/docs/content/docs/ui/foundations/motion.mdx
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
<!-- Generated from the Kiln docs by apps/docs/src/skills. Edit the docs pages, then run `pnpm generate:skills`. -->
|
|
17
|
+
|
|
18
|
+
# Write a custom theme
|
|
19
|
+
|
|
20
|
+
Write a complete theme as one CSS file against the token contract and select it like a built-in, with no component changes.
|
|
21
|
+
|
|
22
|
+
A Kiln theme is one CSS file. It sets the tokens in the [contract](references/tokens.md#the-theme-contract), and nothing else: no component changes, no JavaScript, no build plugin. This guide writes one from scratch. It's called Harbour, it lives in these docs (not in kiln-ui), and you can see it working below.
|
|
23
|
+
|
|
24
|
+
```tsx
|
|
25
|
+
import { Box, Button, Heading, Inline, Stack, Text, ThemeScope } from '@mitcsutt/kiln-ui'
|
|
26
|
+
|
|
27
|
+
export default function CustomTheme() {
|
|
28
|
+
return (
|
|
29
|
+
<ThemeScope theme="harbour">
|
|
30
|
+
<Box padding={6}>
|
|
31
|
+
<Stack gap={4}>
|
|
32
|
+
<Heading level={3} size="2xl">
|
|
33
|
+
High water 06:42
|
|
34
|
+
</Heading>
|
|
35
|
+
<Text tone="muted">Next sailing to Kelso Bay boards at berth 3.</Text>
|
|
36
|
+
<Inline gap={3}>
|
|
37
|
+
<Button>Book a seat</Button>
|
|
38
|
+
<Button variant="outline" tone="neutral">
|
|
39
|
+
Tide table
|
|
40
|
+
</Button>
|
|
41
|
+
</Inline>
|
|
42
|
+
</Stack>
|
|
43
|
+
</Box>
|
|
44
|
+
</ThemeScope>
|
|
45
|
+
)
|
|
46
|
+
}
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## 1. Start from one idea
|
|
50
|
+
|
|
51
|
+
Strong themes take one idea from their subject and apply it everywhere, with everything else quiet. Paper is a typeset proof; Fiesta is a screen-printed festival poster. Harbour is _the tide table posted at a ferry terminal_. That idea decides the rest:
|
|
52
|
+
|
|
53
|
+
- **Colour**: sea-grey enamel neutrals (hue 225), one signal-orange accent like a channel buoy, sea-glass green for "you".
|
|
54
|
+
- **Type**: heavy upright signage for headings, and every figure in a monospaced face, because tide times are read down a column.
|
|
55
|
+
- **Shape**: squared enamel corners, firm hairlines, flat surfaces.
|
|
56
|
+
- **Motion**: brisk, no bounce.
|
|
57
|
+
|
|
58
|
+
If a choice can't be justified by the idea, leave it at the default. Pick at most two families and one accent.
|
|
59
|
+
|
|
60
|
+
## 2. Copy the starter file
|
|
61
|
+
|
|
62
|
+
This is every token in the contract, set to Paper's values, under your theme's name. It's generated from Paper when the docs are built, so it's always complete. Rename `harbour` and save it as your theme's stylesheet.
|
|
63
|
+
|
|
64
|
+
```css
|
|
65
|
+
/* harbour.css: a theme for Kiln. Every token in the contract, starting from Paper. */
|
|
66
|
+
@layer kiln.reset, kiln.tokens, kiln.themes;
|
|
67
|
+
|
|
68
|
+
@layer kiln.themes {
|
|
69
|
+
[data-theme='harbour'] {
|
|
70
|
+
/* Type roles */
|
|
71
|
+
--font-display: 'Schibsted Grotesk', ui-sans-serif, system-ui, sans-serif;
|
|
72
|
+
--font-text: 'Schibsted Grotesk', ui-sans-serif, system-ui, sans-serif;
|
|
73
|
+
--font-prose: 'Newsreader', 'Iowan Old Style', Georgia, serif;
|
|
74
|
+
--font-mono: 'Martian Mono', ui-monospace, 'SFMono-Regular', Menlo, monospace;
|
|
75
|
+
--font-numeric: 'Newsreader', 'Iowan Old Style', Georgia, serif;
|
|
76
|
+
--type-base: 1rem;
|
|
77
|
+
--display-scale: 1;
|
|
78
|
+
--type-ratio: 1.25;
|
|
79
|
+
--display-weight: 640;
|
|
80
|
+
--display-style: normal;
|
|
81
|
+
--display-stretch: 100%;
|
|
82
|
+
--display-transform: none;
|
|
83
|
+
--display-tracking: -0.04em;
|
|
84
|
+
--display-opsz: 72;
|
|
85
|
+
--heading-font: var(--font-display);
|
|
86
|
+
--heading-weight: 620;
|
|
87
|
+
--heading-tracking: -0.015em;
|
|
88
|
+
--heading-transform: none;
|
|
89
|
+
--label-weight: 560;
|
|
90
|
+
--label-tracking: 0;
|
|
91
|
+
--label-transform: none;
|
|
92
|
+
--numeric-stretch: 100%;
|
|
93
|
+
--mono-stretch: 87.5%;
|
|
94
|
+
--leading-tight: 1;
|
|
95
|
+
--leading-snug: 1.2;
|
|
96
|
+
--leading-body: 1.55;
|
|
97
|
+
--prose-size: 1.125rem;
|
|
98
|
+
--prose-leading: 1.6;
|
|
99
|
+
|
|
100
|
+
/* Structure & temperament */
|
|
101
|
+
--density: 1;
|
|
102
|
+
--motion-scale: 1;
|
|
103
|
+
--ease-out: cubic-bezier(0.25, 1, 0.5, 1);
|
|
104
|
+
--ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
|
|
105
|
+
--ease-spring: var(--ease-out);
|
|
106
|
+
--icon-stroke: 1.5;
|
|
107
|
+
--border-width: 1px;
|
|
108
|
+
--border-width-strong: 2px;
|
|
109
|
+
--radius-action: 0.375rem;
|
|
110
|
+
--radius-field: 0.375rem;
|
|
111
|
+
--radius-surface: 0.5rem;
|
|
112
|
+
--radius-media: 0.25rem;
|
|
113
|
+
--radius-chip: 0.375rem;
|
|
114
|
+
--radius-avatar: 50%;
|
|
115
|
+
|
|
116
|
+
/* Colour */
|
|
117
|
+
--color-canvas: light-dark(oklch(0.976 0.004 85), oklch(0.188 0.005 85));
|
|
118
|
+
--color-surface: light-dark(oklch(0.993 0.002 85), oklch(0.215 0.006 85));
|
|
119
|
+
--color-surface-sunken: light-dark(oklch(0.955 0.005 85), oklch(0.165 0.005 85));
|
|
120
|
+
--color-surface-raised: light-dark(oklch(0.997 0.002 85), oklch(0.245 0.006 85));
|
|
121
|
+
--color-surface-inverse: light-dark(oklch(0.235 0.008 85), oklch(0.93 0.005 85));
|
|
122
|
+
--color-ink: light-dark(oklch(0.215 0.008 85), oklch(0.935 0.005 85));
|
|
123
|
+
--color-ink-muted: light-dark(oklch(0.435 0.008 85), oklch(0.755 0.006 85));
|
|
124
|
+
--color-ink-subtle: light-dark(oklch(0.515 0.008 85), oklch(0.64 0.006 85));
|
|
125
|
+
--color-ink-inverse: light-dark(oklch(0.965 0.004 85), oklch(0.2 0.008 85));
|
|
126
|
+
--color-line: light-dark(oklch(0.9 0.005 85), oklch(0.3 0.006 85));
|
|
127
|
+
--color-line-strong: light-dark(oklch(0.8 0.006 85), oklch(0.4 0.007 85));
|
|
128
|
+
--color-accent: light-dark(oklch(0.25 0.008 85), oklch(0.92 0.005 85));
|
|
129
|
+
--color-accent-hover: light-dark(oklch(0.34 0.008 85), oklch(0.84 0.006 85));
|
|
130
|
+
--color-accent-ink: light-dark(oklch(0.975 0.004 85), oklch(0.2 0.008 85));
|
|
131
|
+
--color-accent-text: light-dark(oklch(0.25 0.008 85), oklch(0.92 0.005 85));
|
|
132
|
+
--color-accent-soft: light-dark(oklch(0.925 0.006 85), oklch(0.285 0.007 85));
|
|
133
|
+
--color-highlight: light-dark(oklch(0.935 0.035 228), oklch(0.315 0.045 235));
|
|
134
|
+
--color-highlight-ink: var(--color-ink);
|
|
135
|
+
--color-focus: var(--color-ink);
|
|
136
|
+
--color-selection: light-dark(oklch(0.88 0.06 228), oklch(0.42 0.07 235));
|
|
137
|
+
--color-scrim: light-dark(oklch(0.22 0.008 85 / 0.4), oklch(0.07 0.005 85 / 0.66));
|
|
138
|
+
--tone-positive: light-dark(oklch(0.52 0.11 155), oklch(0.72 0.12 158));
|
|
139
|
+
--tone-positive-soft: light-dark(oklch(0.94 0.035 155), oklch(0.28 0.045 158));
|
|
140
|
+
--tone-positive-text: light-dark(oklch(0.45 0.1 155), oklch(0.78 0.11 158));
|
|
141
|
+
--tone-positive-ink: light-dark(oklch(0.985 0.01 155), oklch(0.18 0.03 158));
|
|
142
|
+
--tone-caution: light-dark(oklch(0.74 0.14 78), oklch(0.8 0.13 85));
|
|
143
|
+
--tone-caution-soft: light-dark(oklch(0.95 0.05 88), oklch(0.3 0.05 80));
|
|
144
|
+
--tone-caution-text: light-dark(oklch(0.5 0.1 70), oklch(0.84 0.11 88));
|
|
145
|
+
--tone-caution-ink: light-dark(oklch(0.22 0.04 70), oklch(0.2 0.04 80));
|
|
146
|
+
--tone-critical: light-dark(oklch(0.54 0.19 25), oklch(0.68 0.17 24));
|
|
147
|
+
--tone-critical-soft: light-dark(oklch(0.94 0.035 22), oklch(0.29 0.06 24));
|
|
148
|
+
--tone-critical-text: light-dark(oklch(0.5 0.18 25), oklch(0.76 0.14 24));
|
|
149
|
+
--tone-critical-ink: light-dark(oklch(0.985 0.01 22), oklch(0.18 0.03 24));
|
|
150
|
+
--tone-info: light-dark(oklch(0.52 0.09 240), oklch(0.72 0.09 238));
|
|
151
|
+
--tone-info-soft: light-dark(oklch(0.94 0.025 240), oklch(0.28 0.04 240));
|
|
152
|
+
--tone-info-text: light-dark(oklch(0.46 0.09 240), oklch(0.78 0.08 238));
|
|
153
|
+
--tone-info-ink: light-dark(oklch(0.985 0.01 240), oklch(0.18 0.03 240));
|
|
154
|
+
--color-cat-1: light-dark(oklch(0.8 0.06 228), oklch(0.7 0.07 228));
|
|
155
|
+
--color-cat-2: light-dark(oklch(0.8 0.07 160), oklch(0.7 0.08 160));
|
|
156
|
+
--color-cat-3: light-dark(oklch(0.82 0.08 75), oklch(0.72 0.09 75));
|
|
157
|
+
--color-cat-4: light-dark(oklch(0.79 0.07 20), oklch(0.69 0.08 20));
|
|
158
|
+
--color-cat-5: light-dark(oklch(0.8 0.05 300), oklch(0.7 0.06 300));
|
|
159
|
+
--color-cat-6: light-dark(oklch(0.82 0.06 125), oklch(0.72 0.07 125));
|
|
160
|
+
--color-cat-7: light-dark(oklch(0.8 0.05 195), oklch(0.7 0.06 195));
|
|
161
|
+
--color-cat-8: light-dark(oklch(0.8 0.01 85), oklch(0.7 0.01 85));
|
|
162
|
+
--color-cat-ink: oklch(0.21 0.008 85);
|
|
163
|
+
|
|
164
|
+
/* Edges & depth */
|
|
165
|
+
--shadow-surface: none;
|
|
166
|
+
--active-shift: 0px;
|
|
167
|
+
--shadow-active: none;
|
|
168
|
+
--shadow-float: 0 1px 2px oklch(0.2 0.008 85 / 0.1), 0 8px 24px -6px oklch(0.2 0.008 85 / 0.18);
|
|
169
|
+
--shadow-overlay: 0 2px 4px oklch(0.15 0.008 85 / 0.12), 0 20px 56px -12px oklch(0.15 0.008 85 / 0.32);
|
|
170
|
+
--canvas-image: none;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
Three things about its shape matter:
|
|
176
|
+
|
|
177
|
+
- **The first line declares Kiln's layer order.** Every Kiln stylesheet does, so the order holds whichever file loads first.
|
|
178
|
+
- **Tokens live in the `kiln.themes` layer.** Layered rules lose to unlayered ones, so your app's own CSS still wins over the theme.
|
|
179
|
+
- **The selector is your theme's name.** `[data-theme='harbour']` is what `ThemeProvider` and `ThemeScope` write. Don't add `:root`: Paper already covers the document root at zero specificity.
|
|
180
|
+
|
|
181
|
+
## 3. Change the values
|
|
182
|
+
|
|
183
|
+
Work through the file group by group. Keep every token; a theme that leaves one out inherits it from whatever scope it's nested in, which differs from page to page.
|
|
184
|
+
|
|
185
|
+
**Colour.** Author in OKLCH, with each colour a `light-dark(<light>, <dark>)` pair, so the theme works in both modes with no extra file. Tint the neutrals toward your hue with a little chroma (0.004 to 0.02). Check contrast: `--color-ink-subtle` must still meet AA on sunken and raised surfaces, and `--color-accent-text` must meet AA on the canvas.
|
|
186
|
+
|
|
187
|
+
```css
|
|
188
|
+
--color-canvas: light-dark(oklch(0.965 0.006 225), oklch(0.2 0.012 230));
|
|
189
|
+
--color-accent: light-dark(oklch(0.6 0.17 42), oklch(0.72 0.15 48));
|
|
190
|
+
--color-highlight: light-dark(oklch(0.93 0.04 175), oklch(0.33 0.05 178));
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
**Type.** Assign families to roles, then set the temperament: the base size, the ratio between steps, the display weight and tracking.
|
|
194
|
+
|
|
195
|
+
```css
|
|
196
|
+
--font-numeric: 'Martian Mono', ui-monospace, monospace;
|
|
197
|
+
--numeric-stretch: 87.5%;
|
|
198
|
+
--display-weight: 780;
|
|
199
|
+
--type-ratio: 1.22;
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
**Structure.** `--density` multiplies every space step and control height; `--motion-scale` multiplies every duration. Radii are roles, so actions, fields, surfaces and avatars can each have their own.
|
|
203
|
+
|
|
204
|
+
**Depth.** Decide what an edge is. Flat themes set `--shadow-surface: none` and keep soft shadows for floating layers only; Fiesta's hard offset is its edge.
|
|
205
|
+
|
|
206
|
+
The whole Harbour file is in the repository at [`apps/docs/src/styles/harbour.css`](https://github.com/mitcsutt/kiln/blob/main/apps/docs/src/styles/harbour.css).
|
|
207
|
+
|
|
208
|
+
## 4. Load it and select it
|
|
209
|
+
|
|
210
|
+
Import your theme after Kiln's stylesheet (`import './harbour.css'` on the next line: your bundler loads your own CSS as it does any other), then name it. `ThemeName` accepts any string, so there's no type to extend and nothing to register:
|
|
211
|
+
|
|
212
|
+
```tsx title="app root"
|
|
213
|
+
import '@mitcsutt/kiln-ui/styles.css'
|
|
214
|
+
// import './harbour.css'
|
|
215
|
+
import { ThemeProvider } from '@mitcsutt/kiln-ui'
|
|
216
|
+
|
|
217
|
+
;<ThemeProvider theme="harbour">…</ThemeProvider>
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
For SSR without a flash, `themeScript('harbour')` works the same way as for a built-in. To theme one part of a page, use `ThemeScope`. It paints its own canvas, and portalled overlays opened inside it (dialogs, menus, tooltips) render in its theme:
|
|
221
|
+
|
|
222
|
+
```tsx
|
|
223
|
+
<ThemeScope theme="harbour">
|
|
224
|
+
<TimetablePanel />
|
|
225
|
+
</ThemeScope>
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
`useTheme()` reads and changes the theme and mode from anywhere inside a `ThemeProvider`:
|
|
229
|
+
|
|
230
|
+
```tsx
|
|
231
|
+
const { theme, setTheme, mode, resolvedMode, setMode } = useTheme()
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
## 5. Load its fonts
|
|
235
|
+
|
|
236
|
+
Kiln ships only the faces its own themes use. Declare your theme's faces in the same file, with `font-display: swap`, and serve the files yourself:
|
|
237
|
+
|
|
238
|
+
```css title="harbour.css"
|
|
239
|
+
@font-face {
|
|
240
|
+
font-family: 'Harbour Sign';
|
|
241
|
+
src: url('./fonts/harbour-sign.woff2') format('woff2');
|
|
242
|
+
font-weight: 400 900;
|
|
243
|
+
font-display: swap;
|
|
244
|
+
}
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
Harbour itself uses only Schibsted Grotesk and Martian Mono, which Kiln's base stylesheet already loads. That's allowed too.
|
|
248
|
+
|
|
249
|
+
## 6. Check it everywhere
|
|
250
|
+
|
|
251
|
+
See it in the context where it'll fail first: everything, in both modes.
|
|
252
|
+
|
|
253
|
+
|
|
254
|
+
Then go through the component pages with your theme applied. A few things to look for:
|
|
255
|
+
|
|
256
|
+
- Focus rings on every control. Focus is `--color-focus`, and it should never look like an error.
|
|
257
|
+
- Text on the accent (`--color-accent-ink`) and on each solid tone (`--tone-*-ink`).
|
|
258
|
+
- A `Section surface="inverse"` band, where the colour roles flip.
|
|
259
|
+
- Numbers in a `Table` with `numeric` cells, and an `Amount` with `accounting`.
|
|
260
|
+
- `Dialog`, `Popover` and `DropdownMenu`, which use `--shadow-float` and `--shadow-overlay`.
|
|
261
|
+
|
|
262
|
+
## Optional and component tokens
|
|
263
|
+
|
|
264
|
+
When your idea needs something the contract doesn't cover, there are two more levels.
|
|
265
|
+
|
|
266
|
+
[Optional tokens](references/tokens.md#optional-theme-tokens) are set by only some themes, and every theme scope resets them, so they never leak into a nested theme. Ledger sets `--table-foot-rule`; Fiesta sets the `--highlight-*-text` inks for text on its gold rows.
|
|
267
|
+
|
|
268
|
+
Component tokens change one component without touching the rest. They're read with a fallback, so setting one is always safe:
|
|
269
|
+
|
|
270
|
+
```css
|
|
271
|
+
[data-theme='harbour'] {
|
|
272
|
+
--button-radius: 0;
|
|
273
|
+
--card-radius: var(--radius-field);
|
|
274
|
+
}
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
## Rules a theme follows
|
|
278
|
+
|
|
279
|
+
From [DESIGN.md](https://github.com/mitcsutt/kiln/blob/main/DESIGN.md), and they're how the built-in themes are reviewed:
|
|
280
|
+
|
|
281
|
+
- One idea, from the subject. Two families at most, and one accent.
|
|
282
|
+
- No gradients that don't encode data, no glow in dark mode, no indigo or violet primary.
|
|
283
|
+
- Every token in the contract, in light and dark.
|
|
284
|
+
- No theme logic in components. If a component can't express your idea, it needs a component token, not an `if (theme === 'harbour')`.
|
|
285
|
+
|
|
286
|
+
## References
|
|
287
|
+
|
|
288
|
+
Read a reference when its description matches the task:
|
|
289
|
+
|
|
290
|
+
- [Tokens](references/tokens.md): The three tiers of design tokens, the contract every theme fills in, and the axes that scope them.
|
|
291
|
+
- [Colour](references/colour.md): Tinted OKLCH neutrals, one accent, a highlight that means "you", and tones that carry status.
|
|
292
|
+
- [Type](references/type.md): Type roles a theme fills in, a modular scale with big display steps, and figures that line up.
|
|
293
|
+
- [Motion](references/motion.md): Three durations and three easings, scaled by the theme's temperament and collapsed for reduced motion.
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
<!-- Generated from the Kiln docs by apps/docs/src/skills. Edit the docs pages, then run `pnpm generate:skills`. -->
|
|
2
|
+
|
|
3
|
+
# Colour
|
|
4
|
+
|
|
5
|
+
> Tinted OKLCH neutrals, one accent, a highlight that means "you", and tones that carry status.
|
|
6
|
+
|
|
7
|
+
Source: https://kiln.mitchellsutton.com/docs/ui/foundations/colour
|
|
8
|
+
|
|
9
|
+
Colour in Kiln is a short list of roles. A theme gives each role a value for light and dark; a component asks for a role and never for a colour. The swatches below are the theme you have selected in the header, in its current mode. Switch either and they change.
|
|
10
|
+
|
|
11
|
+
## Surfaces, ink and lines
|
|
12
|
+
|
|
13
|
+
Neutrals are tinted toward the theme's hue (chroma 0.004 to 0.02), never stock grey and never pure black or white. Paper is warm paper and graphite; Monograph is blue slate; Ledger is green-grey ruled paper.
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
`--color-ink-subtle` still meets AA contrast on sunken and raised surfaces: it sets placeholders and meta text, which people need to read. Controls get their own edge, `--color-line-control`, mixed to reach 3:1 against what's around it, because a field you can't see the edge of fails WCAG 1.4.11.
|
|
18
|
+
|
|
19
|
+
## One accent
|
|
20
|
+
|
|
21
|
+
The accent is for about 5 to 10 percent of a screen: the primary action, the current item, live state, key data. Everything else is ink. `--color-accent-ink` is text set _on_ the accent; `--color-accent-text` is accent-coloured text on the canvas, and it's tuned for AA.
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
A second hue appears only when it carries meaning. `--color-highlight` means "you" or "selected": your row in a members table, the chosen option. Focus is always neutral (`--color-focus` is ink), so focus can never be mistaken for validation.
|
|
25
|
+
|
|
26
|
+
## Tones
|
|
27
|
+
|
|
28
|
+
Tones are status: positive, caution, critical and info. Each comes as four tokens: the tone itself (fills and glyphs), `-soft` (a tinted background), `-text` (readable tone-coloured text on the canvas) and `-ink` (text on the solid tone).
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
Components take a `tone` prop and pick the right token for the job: `<Badge tone="critical">`, `<Alert tone="caution">`, `<Numeral tone="auto">` (positive or critical by sign).
|
|
32
|
+
|
|
33
|
+
## Categorical
|
|
34
|
+
|
|
35
|
+
Eight muted inks at even lightness for things that need telling apart but have no order: people, series in a chart, tags. `--color-cat-ink` is readable on all eight. `Avatar` and `Tag` use them.
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
## Light and dark
|
|
39
|
+
|
|
40
|
+
Every colour token is a `light-dark(<light>, <dark>)` pair. The page's `color-scheme`, set by `data-mode`, chooses between them, so dark mode needs no second stylesheet and no class juggling, and a nested scope can be dark inside a light page:
|
|
41
|
+
|
|
42
|
+
```tsx
|
|
43
|
+
<ThemeScope theme="ledger" mode="dark">
|
|
44
|
+
…
|
|
45
|
+
</ThemeScope>
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## The rules
|
|
49
|
+
|
|
50
|
+
These come from [DESIGN.md](https://github.com/mitcsutt/kiln/blob/main/DESIGN.md), and they bind every theme and every example in these docs.
|
|
51
|
+
|
|
52
|
+
- Author colour in OKLCH. Tint the neutrals.
|
|
53
|
+
- One accent. A second hue only when it means something.
|
|
54
|
+
- No gradients unless they encode data, no gradient text, no glow in dark mode.
|
|
55
|
+
- No indigo or violet as a primary.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
<!-- Generated from the Kiln docs by apps/docs/src/skills. Edit the docs pages, then run `pnpm generate:skills`. -->
|
|
2
|
+
|
|
3
|
+
# Motion
|
|
4
|
+
|
|
5
|
+
> Three durations and three easings, scaled by the theme's temperament and collapsed for reduced motion.
|
|
6
|
+
|
|
7
|
+
Source: https://kiln.mitchellsutton.com/docs/ui/foundations/motion
|
|
8
|
+
|
|
9
|
+
Motion in Kiln answers an action or shows a change of state: a panel opening, a row expanding, a count updating. It's never decoration. There's no fade-up on scroll, no hover-scale on static cards and no parallax.
|
|
10
|
+
|
|
11
|
+
## Durations and easings
|
|
12
|
+
|
|
13
|
+
| Token | Paper | For |
|
|
14
|
+
| --------------- | ----- | ------------------------------------------------ |
|
|
15
|
+
| `--dur-1` | 110ms | hover and press feedback, colour changes |
|
|
16
|
+
| `--dur-2` | 190ms | small movements: a chevron turning, a toggle |
|
|
17
|
+
| `--dur-3` | 340ms | larger ones: a sheet sliding in, a panel opening |
|
|
18
|
+
| `--ease-out` | | things arriving |
|
|
19
|
+
| `--ease-in-out` | | things moving from one place to another |
|
|
20
|
+
| `--ease-spring` | | things landing. Only Fiesta actually bounces |
|
|
21
|
+
|
|
22
|
+
Durations are multiplied by the theme's `--motion-scale`: Monograph runs a little slow (1.1), Ledger brisk (0.8). Hover or focus a row below to see each combination in the current theme:
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
## Reduced motion
|
|
26
|
+
|
|
27
|
+
When the reader asks for reduced motion, every duration collapses to 1ms. Transitions still run, so code that waits for `transitionend` keeps working, but nothing visibly travels. Components with keyframe animations (`Spinner`, `Skeleton`, `Marquee`, `LiveIndicator`) have their own reduced-motion branch.
|
|
28
|
+
|
|
29
|
+
## In your own CSS
|
|
30
|
+
|
|
31
|
+
Use the same tokens, and you get the theme's temperament and the reduced-motion behaviour for free:
|
|
32
|
+
|
|
33
|
+
```css
|
|
34
|
+
.panel {
|
|
35
|
+
transition:
|
|
36
|
+
opacity var(--dur-2) var(--ease-out),
|
|
37
|
+
translate var(--dur-3) var(--ease-out);
|
|
38
|
+
}
|
|
39
|
+
```
|