@sixthshift/design-system 0.2.1 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +242 -33
- package/dist/components/Badge/Badge.d.ts +65 -7
- package/dist/components/Badge/Badge.d.ts.map +1 -1
- package/dist/components/Badge/Badge.js +56 -46
- package/dist/components/Badge/Badge.js.map +1 -1
- package/dist/components/Badge/index.d.ts +1 -1
- package/dist/components/Badge/index.d.ts.map +1 -1
- package/dist/components/Badge/index.js +1 -1
- package/dist/components/Badge/index.js.map +1 -1
- package/dist/components/BarChart/BarChart.d.ts +20 -2
- package/dist/components/BarChart/BarChart.d.ts.map +1 -1
- package/dist/components/BarChart/BarChart.js +17 -3
- package/dist/components/BarChart/BarChart.js.map +1 -1
- package/dist/components/Button/Button.d.ts +85 -6
- package/dist/components/Button/Button.d.ts.map +1 -1
- package/dist/components/Button/Button.js +97 -106
- package/dist/components/Button/Button.js.map +1 -1
- package/dist/components/Button/index.d.ts +1 -1
- package/dist/components/Button/index.d.ts.map +1 -1
- package/dist/components/Button/index.js +1 -1
- package/dist/components/Button/index.js.map +1 -1
- package/dist/components/Calendar/Calendar.d.ts +31 -1
- package/dist/components/Calendar/Calendar.d.ts.map +1 -1
- package/dist/components/Calendar/Calendar.js +94 -225
- package/dist/components/Calendar/Calendar.js.map +1 -1
- package/dist/components/Calendar/CalendarView.d.ts +15 -0
- package/dist/components/Calendar/CalendarView.d.ts.map +1 -0
- package/dist/components/Calendar/CalendarView.js +263 -0
- package/dist/components/Calendar/CalendarView.js.map +1 -0
- package/dist/components/Calendar/calendar.types.d.ts +87 -27
- package/dist/components/Calendar/calendar.types.d.ts.map +1 -1
- package/dist/components/Calendar/calendar.types.js +10 -3
- package/dist/components/Calendar/calendar.types.js.map +1 -1
- package/dist/components/Calendar/index.d.ts +16 -2
- package/dist/components/Calendar/index.d.ts.map +1 -1
- package/dist/components/Calendar/index.js +15 -1
- package/dist/components/Calendar/index.js.map +1 -1
- package/dist/components/Card/Card.d.ts +13 -0
- package/dist/components/Card/Card.d.ts.map +1 -1
- package/dist/components/Card/Card.js +15 -2
- package/dist/components/Card/Card.js.map +1 -1
- package/dist/components/Checkbox/Checkbox.d.ts +21 -0
- package/dist/components/Checkbox/Checkbox.d.ts.map +1 -1
- package/dist/components/Checkbox/Checkbox.js +22 -1
- package/dist/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/components/CheckboxGroup/CheckboxGroup.d.ts +22 -0
- package/dist/components/CheckboxGroup/CheckboxGroup.d.ts.map +1 -1
- package/dist/components/CheckboxGroup/CheckboxGroup.js +22 -0
- package/dist/components/CheckboxGroup/CheckboxGroup.js.map +1 -1
- package/dist/components/Code/Editor/Editor.js +2 -2
- package/dist/components/Code/Editor/Editor.js.map +1 -1
- package/dist/components/Code/Editor/themes.d.ts +2 -2
- package/dist/components/Code/Editor/themes.d.ts.map +1 -1
- package/dist/components/Code/Editor/themes.js +50 -32
- package/dist/components/Code/Editor/themes.js.map +1 -1
- package/dist/components/Code/ValidationStatus/ValidationStatus.d.ts.map +1 -1
- package/dist/components/Code/ValidationStatus/ValidationStatus.js.map +1 -1
- package/dist/components/DatePicker/DatePicker.d.ts +45 -2
- package/dist/components/DatePicker/DatePicker.d.ts.map +1 -1
- package/dist/components/DatePicker/DatePicker.js +228 -11
- package/dist/components/DatePicker/DatePicker.js.map +1 -1
- package/dist/components/DatePicker/DateSegments.d.ts +60 -0
- package/dist/components/DatePicker/DateSegments.d.ts.map +1 -0
- package/dist/components/DatePicker/DateSegments.js +80 -0
- package/dist/components/DatePicker/DateSegments.js.map +1 -0
- package/dist/components/DatePicker/datepicker.types.d.ts +53 -37
- package/dist/components/DatePicker/datepicker.types.d.ts.map +1 -1
- package/dist/components/DatePicker/datepicker.types.js +5 -3
- package/dist/components/DatePicker/datepicker.types.js.map +1 -1
- package/dist/components/DatePicker/index.d.ts +10 -1
- package/dist/components/DatePicker/index.d.ts.map +1 -1
- package/dist/components/DatePicker/index.js +8 -0
- package/dist/components/DatePicker/index.js.map +1 -1
- package/dist/components/DateRangePicker/DateRangePicker.d.ts +22 -3
- package/dist/components/DateRangePicker/DateRangePicker.d.ts.map +1 -1
- package/dist/components/DateRangePicker/DateRangePicker.js +38 -24
- package/dist/components/DateRangePicker/DateRangePicker.js.map +1 -1
- package/dist/components/DateRangePicker/daterangepicker.types.d.ts +26 -21
- package/dist/components/DateRangePicker/daterangepicker.types.d.ts.map +1 -1
- package/dist/components/DateRangePicker/daterangepicker.types.js +6 -0
- package/dist/components/DateRangePicker/daterangepicker.types.js.map +1 -1
- package/dist/components/DateRangePicker/index.d.ts +8 -1
- package/dist/components/DateRangePicker/index.d.ts.map +1 -1
- package/dist/components/DateRangePicker/index.js +6 -0
- package/dist/components/DateRangePicker/index.js.map +1 -1
- package/dist/components/DateTimePicker/DateTimePicker.d.ts +32 -4
- package/dist/components/DateTimePicker/DateTimePicker.d.ts.map +1 -1
- package/dist/components/DateTimePicker/DateTimePicker.js +133 -42
- package/dist/components/DateTimePicker/DateTimePicker.js.map +1 -1
- package/dist/components/DateTimePicker/DateTimeSegments.d.ts +41 -0
- package/dist/components/DateTimePicker/DateTimeSegments.d.ts.map +1 -0
- package/dist/components/DateTimePicker/DateTimeSegments.js +67 -0
- package/dist/components/DateTimePicker/DateTimeSegments.js.map +1 -0
- package/dist/components/DateTimePicker/datetimepicker.types.d.ts +26 -18
- package/dist/components/DateTimePicker/datetimepicker.types.d.ts.map +1 -1
- package/dist/components/DateTimePicker/datetimepicker.types.js +10 -0
- package/dist/components/DateTimePicker/datetimepicker.types.js.map +1 -1
- package/dist/components/DateTimePicker/index.d.ts +8 -1
- package/dist/components/DateTimePicker/index.d.ts.map +1 -1
- package/dist/components/DateTimePicker/index.js +6 -0
- package/dist/components/DateTimePicker/index.js.map +1 -1
- package/dist/components/DateTimeRangePicker/DateTimeRangePicker.d.ts +30 -4
- package/dist/components/DateTimeRangePicker/DateTimeRangePicker.d.ts.map +1 -1
- package/dist/components/DateTimeRangePicker/DateTimeRangePicker.js +171 -72
- package/dist/components/DateTimeRangePicker/DateTimeRangePicker.js.map +1 -1
- package/dist/components/DateTimeRangePicker/datetimerangepicker.types.d.ts +28 -19
- package/dist/components/DateTimeRangePicker/datetimerangepicker.types.d.ts.map +1 -1
- package/dist/components/DateTimeRangePicker/datetimerangepicker.types.js +8 -0
- package/dist/components/DateTimeRangePicker/datetimerangepicker.types.js.map +1 -1
- package/dist/components/DateTimeRangePicker/index.d.ts +8 -0
- package/dist/components/DateTimeRangePicker/index.d.ts.map +1 -1
- package/dist/components/DateTimeRangePicker/index.js +7 -0
- package/dist/components/DateTimeRangePicker/index.js.map +1 -1
- package/dist/components/Field/Field.d.ts +18 -20
- package/dist/components/Field/Field.d.ts.map +1 -1
- package/dist/components/Field/Field.js +22 -5
- package/dist/components/Field/Field.js.map +1 -1
- package/dist/components/FormField/FormField.d.ts +15 -0
- package/dist/components/FormField/FormField.d.ts.map +1 -1
- package/dist/components/FormField/FormField.js +15 -0
- package/dist/components/FormField/FormField.js.map +1 -1
- package/dist/components/HoverCard/HoverCard.d.ts +6 -0
- package/dist/components/HoverCard/HoverCard.d.ts.map +1 -1
- package/dist/components/HoverCard/HoverCard.js +6 -0
- package/dist/components/HoverCard/HoverCard.js.map +1 -1
- package/dist/components/Input/Input.d.ts +15 -0
- package/dist/components/Input/Input.d.ts.map +1 -1
- package/dist/components/Input/Input.js +18 -3
- package/dist/components/Input/Input.js.map +1 -1
- package/dist/components/LineChart/LineChart.d.ts +35 -2
- package/dist/components/LineChart/LineChart.d.ts.map +1 -1
- package/dist/components/LineChart/LineChart.js +22 -3
- package/dist/components/LineChart/LineChart.js.map +1 -1
- package/dist/components/Markdown/Markdown.d.ts +19 -4
- package/dist/components/Markdown/Markdown.d.ts.map +1 -1
- package/dist/components/Markdown/Markdown.js +20 -2
- package/dist/components/Markdown/Markdown.js.map +1 -1
- package/dist/components/Message/Message.d.ts +49 -4
- package/dist/components/Message/Message.d.ts.map +1 -1
- package/dist/components/Message/Message.js +62 -11
- package/dist/components/Message/Message.js.map +1 -1
- package/dist/components/Message/index.d.ts +1 -1
- package/dist/components/Message/index.d.ts.map +1 -1
- package/dist/components/Modal/Modal.d.ts +60 -5
- package/dist/components/Modal/Modal.d.ts.map +1 -1
- package/dist/components/Modal/Modal.js +52 -6
- package/dist/components/Modal/Modal.js.map +1 -1
- package/dist/components/Modal/components/ModalContext.d.ts +14 -0
- package/dist/components/Modal/components/ModalContext.d.ts.map +1 -1
- package/dist/components/Modal/components/ModalContext.js.map +1 -1
- package/dist/components/Modal/components/ModalHeader.d.ts.map +1 -1
- package/dist/components/Modal/components/ModalHeader.js +13 -2
- package/dist/components/Modal/components/ModalHeader.js.map +1 -1
- package/dist/components/Popover/Popover.d.ts +29 -0
- package/dist/components/Popover/Popover.d.ts.map +1 -1
- package/dist/components/Popover/Popover.js +36 -0
- package/dist/components/Popover/Popover.js.map +1 -1
- package/dist/components/Popover/components/PopoverBody.d.ts.map +1 -1
- package/dist/components/Popover/components/PopoverBody.js +5 -2
- package/dist/components/Popover/components/PopoverBody.js.map +1 -1
- package/dist/components/Popover/components/PopoverContext.d.ts +1 -0
- package/dist/components/Popover/components/PopoverContext.d.ts.map +1 -1
- package/dist/components/Popover/components/PopoverContext.js.map +1 -1
- package/dist/components/Popover/components/PopoverTrigger.d.ts.map +1 -1
- package/dist/components/Popover/components/PopoverTrigger.js +2 -2
- package/dist/components/Popover/components/PopoverTrigger.js.map +1 -1
- package/dist/components/ProgressBar/ProgressBar.d.ts +16 -1
- package/dist/components/ProgressBar/ProgressBar.d.ts.map +1 -1
- package/dist/components/ProgressBar/ProgressBar.js +19 -3
- package/dist/components/ProgressBar/ProgressBar.js.map +1 -1
- package/dist/components/RadioButton/RadioButton.d.ts +26 -0
- package/dist/components/RadioButton/RadioButton.d.ts.map +1 -1
- package/dist/components/RadioButton/RadioButton.js +35 -1
- package/dist/components/RadioButton/RadioButton.js.map +1 -1
- package/dist/components/RadioButtonGroup/RadioButtonGroup.d.ts +26 -0
- package/dist/components/RadioButtonGroup/RadioButtonGroup.d.ts.map +1 -1
- package/dist/components/RadioButtonGroup/RadioButtonGroup.js +33 -0
- package/dist/components/RadioButtonGroup/RadioButtonGroup.js.map +1 -1
- package/dist/components/SearchInput/SearchInput.d.ts +10 -0
- package/dist/components/SearchInput/SearchInput.d.ts.map +1 -1
- package/dist/components/SearchInput/SearchInput.js +12 -1
- package/dist/components/SearchInput/SearchInput.js.map +1 -1
- package/dist/components/Select/Select.d.ts +10 -2
- package/dist/components/Select/Select.d.ts.map +1 -1
- package/dist/components/Select/Select.js +63 -18
- package/dist/components/Select/Select.js.map +1 -1
- package/dist/components/Select/SelectDropdown.d.ts +14 -2
- package/dist/components/Select/SelectDropdown.d.ts.map +1 -1
- package/dist/components/Select/SelectDropdown.js +20 -4
- package/dist/components/Select/SelectDropdown.js.map +1 -1
- package/dist/components/Select/SelectTrigger.d.ts +10 -3
- package/dist/components/Select/SelectTrigger.d.ts.map +1 -1
- package/dist/components/Select/SelectTrigger.js +12 -3
- package/dist/components/Select/SelectTrigger.js.map +1 -1
- package/dist/components/Select/useSelectKeyboard.d.ts +15 -1
- package/dist/components/Select/useSelectKeyboard.d.ts.map +1 -1
- package/dist/components/Select/useSelectKeyboard.js +73 -65
- package/dist/components/Select/useSelectKeyboard.js.map +1 -1
- package/dist/components/Separator/Separator.d.ts +10 -0
- package/dist/components/Separator/Separator.d.ts.map +1 -1
- package/dist/components/Separator/Separator.js +10 -0
- package/dist/components/Separator/Separator.js.map +1 -1
- package/dist/components/Sheet/Sheet.d.ts +25 -5
- package/dist/components/Sheet/Sheet.d.ts.map +1 -1
- package/dist/components/Sheet/Sheet.js +24 -6
- package/dist/components/Sheet/Sheet.js.map +1 -1
- package/dist/components/Sheet/components/SheetContext.d.ts +10 -0
- package/dist/components/Sheet/components/SheetContext.d.ts.map +1 -1
- package/dist/components/Sheet/components/SheetContext.js.map +1 -1
- package/dist/components/Sheet/components/SheetFooter.js +1 -1
- package/dist/components/Sheet/components/SheetFooter.js.map +1 -1
- package/dist/components/Sheet/components/SheetHeader.d.ts.map +1 -1
- package/dist/components/Sheet/components/SheetHeader.js +11 -2
- package/dist/components/Sheet/components/SheetHeader.js.map +1 -1
- package/dist/components/Sparkline/Sparkline.d.ts +21 -2
- package/dist/components/Sparkline/Sparkline.d.ts.map +1 -1
- package/dist/components/Sparkline/Sparkline.js +16 -3
- package/dist/components/Sparkline/Sparkline.js.map +1 -1
- package/dist/components/Spinner/Spinner.d.ts +27 -2
- package/dist/components/Spinner/Spinner.d.ts.map +1 -1
- package/dist/components/Spinner/Spinner.js +28 -3
- package/dist/components/Spinner/Spinner.js.map +1 -1
- package/dist/components/Switch/Switch.d.ts +18 -0
- package/dist/components/Switch/Switch.d.ts.map +1 -1
- package/dist/components/Switch/Switch.js +19 -1
- package/dist/components/Switch/Switch.js.map +1 -1
- package/dist/components/Tabs/Tabs.d.ts +8 -2
- package/dist/components/Tabs/Tabs.d.ts.map +1 -1
- package/dist/components/Tabs/Tabs.js +6 -0
- package/dist/components/Tabs/Tabs.js.map +1 -1
- package/dist/components/Tabs/components/TabsList.d.ts +1 -1
- package/dist/components/Tabs/components/TabsList.d.ts.map +1 -1
- package/dist/components/Tabs/components/TabsList.js +5 -4
- package/dist/components/Tabs/components/TabsList.js.map +1 -1
- package/dist/components/Tabs/components/TabsPanels.d.ts +1 -1
- package/dist/components/Tabs/components/TabsPanels.d.ts.map +1 -1
- package/dist/components/Tabs/components/TabsPanels.js +5 -3
- package/dist/components/Tabs/components/TabsPanels.js.map +1 -1
- package/dist/components/Tabs/components/TabsTrigger.d.ts.map +1 -1
- package/dist/components/Tabs/components/TabsTrigger.js +22 -6
- package/dist/components/Tabs/components/TabsTrigger.js.map +1 -1
- package/dist/components/TagChip/TagChip.d.ts +16 -13
- package/dist/components/TagChip/TagChip.d.ts.map +1 -1
- package/dist/components/TagChip/TagChip.js +18 -3
- package/dist/components/TagChip/TagChip.js.map +1 -1
- package/dist/components/TagInput/TagInput.d.ts +12 -9
- package/dist/components/TagInput/TagInput.d.ts.map +1 -1
- package/dist/components/TagInput/TagInput.js +16 -4
- package/dist/components/TagInput/TagInput.js.map +1 -1
- package/dist/components/Text/Text.d.ts +9 -0
- package/dist/components/Text/Text.d.ts.map +1 -1
- package/dist/components/Text/Text.js +9 -0
- package/dist/components/Text/Text.js.map +1 -1
- package/dist/components/TextInline/TextInline.d.ts +15 -4
- package/dist/components/TextInline/TextInline.d.ts.map +1 -1
- package/dist/components/TextInline/TextInline.js +11 -0
- package/dist/components/TextInline/TextInline.js.map +1 -1
- package/dist/components/Textarea/Textarea.d.ts +12 -0
- package/dist/components/Textarea/Textarea.d.ts.map +1 -1
- package/dist/components/Textarea/Textarea.js +13 -1
- package/dist/components/Textarea/Textarea.js.map +1 -1
- package/dist/components/TimePicker/TimeColumn.d.ts +10 -1
- package/dist/components/TimePicker/TimeColumn.d.ts.map +1 -1
- package/dist/components/TimePicker/TimeColumn.js +8 -1
- package/dist/components/TimePicker/TimeColumn.js.map +1 -1
- package/dist/components/TimePicker/TimePicker.d.ts +34 -2
- package/dist/components/TimePicker/TimePicker.d.ts.map +1 -1
- package/dist/components/TimePicker/TimePicker.js +118 -15
- package/dist/components/TimePicker/TimePicker.js.map +1 -1
- package/dist/components/TimePicker/TimeSegments.d.ts +50 -0
- package/dist/components/TimePicker/TimeSegments.d.ts.map +1 -0
- package/dist/components/TimePicker/TimeSegments.js +93 -0
- package/dist/components/TimePicker/TimeSegments.js.map +1 -0
- package/dist/components/TimePicker/timepicker.hooks.d.ts +0 -4
- package/dist/components/TimePicker/timepicker.hooks.d.ts.map +1 -1
- package/dist/components/TimePicker/timepicker.hooks.js +1 -23
- package/dist/components/TimePicker/timepicker.hooks.js.map +1 -1
- package/dist/components/TimePicker/timepicker.types.d.ts +14 -15
- package/dist/components/TimePicker/timepicker.types.d.ts.map +1 -1
- package/dist/components/TimePicker/timepicker.types.js +4 -3
- package/dist/components/TimePicker/timepicker.types.js.map +1 -1
- package/dist/components/Toast/Toast.d.ts +27 -0
- package/dist/components/Toast/Toast.d.ts.map +1 -1
- package/dist/components/Toast/Toast.js +28 -1
- package/dist/components/Toast/Toast.js.map +1 -1
- package/dist/components/Toggle/Toggle.d.ts +31 -12
- package/dist/components/Toggle/Toggle.d.ts.map +1 -1
- package/dist/components/Toggle/Toggle.js +19 -31
- package/dist/components/Toggle/Toggle.js.map +1 -1
- package/dist/components/Toggle/index.d.ts +1 -1
- package/dist/components/Toggle/index.d.ts.map +1 -1
- package/dist/components/Toggle/index.js +1 -1
- package/dist/components/Toggle/index.js.map +1 -1
- package/dist/components/ToggleGroup/ToggleGroup.d.ts +17 -0
- package/dist/components/ToggleGroup/ToggleGroup.d.ts.map +1 -1
- package/dist/components/ToggleGroup/ToggleGroup.js +17 -0
- package/dist/components/ToggleGroup/ToggleGroup.js.map +1 -1
- package/dist/components/ToggleGroup/ToggleGroupItem.d.ts +1 -1
- package/dist/components/ToggleGroup/ToggleGroupItem.d.ts.map +1 -1
- package/dist/components/ToggleGroup/ToggleGroupItem.js +7 -6
- package/dist/components/ToggleGroup/ToggleGroupItem.js.map +1 -1
- package/dist/components/ToggleGroup/ToggleGroupMultiple.d.ts +4 -3
- package/dist/components/ToggleGroup/ToggleGroupMultiple.d.ts.map +1 -1
- package/dist/components/ToggleGroup/ToggleGroupMultiple.js +2 -2
- package/dist/components/ToggleGroup/ToggleGroupMultiple.js.map +1 -1
- package/dist/components/ToggleGroup/ToggleGroupSingle.d.ts +4 -3
- package/dist/components/ToggleGroup/ToggleGroupSingle.d.ts.map +1 -1
- package/dist/components/ToggleGroup/ToggleGroupSingle.js +2 -2
- package/dist/components/ToggleGroup/ToggleGroupSingle.js.map +1 -1
- package/dist/components/ToggleGroup/toggleGroup.types.d.ts +12 -3
- package/dist/components/ToggleGroup/toggleGroup.types.d.ts.map +1 -1
- package/dist/components/Tooltip/Tooltip.d.ts +6 -0
- package/dist/components/Tooltip/Tooltip.d.ts.map +1 -1
- package/dist/components/Tooltip/Tooltip.js +6 -0
- package/dist/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/date-time/index.d.ts +2 -0
- package/dist/date-time/index.d.ts.map +1 -1
- package/dist/date-time/index.js +9 -1
- package/dist/date-time/index.js.map +1 -1
- package/dist/date-time/iso.d.ts +261 -0
- package/dist/date-time/iso.d.ts.map +1 -0
- package/dist/date-time/iso.js +358 -0
- package/dist/date-time/iso.js.map +1 -0
- package/dist/date-time/now.d.ts +7 -6
- package/dist/date-time/now.d.ts.map +1 -1
- package/dist/date-time/now.js +3 -3
- package/dist/date-time/now.js.map +1 -1
- package/dist/internal/PickerField.d.ts +45 -0
- package/dist/internal/PickerField.d.ts.map +1 -0
- package/dist/internal/PickerField.js +24 -0
- package/dist/internal/PickerField.js.map +1 -0
- package/dist/internal/SegmentedField.d.ts +98 -0
- package/dist/internal/SegmentedField.d.ts.map +1 -0
- package/dist/internal/SegmentedField.js +315 -0
- package/dist/internal/SegmentedField.js.map +1 -0
- package/dist/internal/index.d.ts +2 -0
- package/dist/internal/index.d.ts.map +1 -1
- package/dist/internal/index.js +2 -0
- package/dist/internal/index.js.map +1 -1
- package/dist/theme/index.d.ts +4 -3
- package/dist/theme/index.d.ts.map +1 -1
- package/dist/theme/index.js +3 -2
- package/dist/theme/index.js.map +1 -1
- package/dist/theme/schema.d.ts +49 -33
- package/dist/theme/schema.d.ts.map +1 -1
- package/dist/theme/schema.js +30 -21
- package/dist/theme/schema.js.map +1 -1
- package/package.json +11 -59
- package/src/components/Badge/Badge.tsx +87 -49
- package/src/components/Badge/index.ts +10 -1
- package/src/components/BarChart/BarChart.tsx +37 -30
- package/src/components/Button/Button.tsx +129 -106
- package/src/components/Button/index.ts +10 -1
- package/src/components/Calendar/Calendar.tsx +104 -401
- package/src/components/Calendar/CalendarView.tsx +454 -0
- package/src/components/Calendar/calendar.types.ts +104 -29
- package/src/components/Calendar/index.ts +16 -17
- package/src/components/Card/Card.tsx +15 -2
- package/src/components/Checkbox/Checkbox.tsx +22 -2
- package/src/components/CheckboxGroup/CheckboxGroup.tsx +22 -0
- package/src/components/Code/Editor/Editor.tsx +2 -2
- package/src/components/Code/Editor/themes.ts +50 -32
- package/src/components/Code/ValidationStatus/ValidationStatus.tsx +6 -3
- package/src/components/DatePicker/DatePicker.tsx +369 -42
- package/src/components/DatePicker/DateSegments.tsx +125 -0
- package/src/components/DatePicker/datepicker.types.ts +58 -39
- package/src/components/DatePicker/index.ts +11 -3
- package/src/components/DateRangePicker/DateRangePicker.tsx +38 -24
- package/src/components/DateRangePicker/daterangepicker.types.ts +29 -23
- package/src/components/DateRangePicker/index.ts +9 -1
- package/src/components/DateTimePicker/DateTimePicker.tsx +189 -88
- package/src/components/DateTimePicker/DateTimeSegments.tsx +113 -0
- package/src/components/DateTimePicker/datetimepicker.types.ts +29 -19
- package/src/components/DateTimePicker/index.ts +9 -1
- package/src/components/DateTimeRangePicker/DateTimeRangePicker.tsx +251 -126
- package/src/components/DateTimeRangePicker/datetimerangepicker.types.ts +31 -20
- package/src/components/DateTimeRangePicker/index.ts +9 -0
- package/src/components/Field/Field.tsx +25 -26
- package/src/components/FormField/FormField.tsx +15 -0
- package/src/components/HoverCard/HoverCard.tsx +6 -0
- package/src/components/Input/Input.tsx +19 -4
- package/src/components/LineChart/LineChart.tsx +164 -141
- package/src/components/Markdown/Markdown.tsx +21 -3
- package/src/components/Message/Message.tsx +83 -17
- package/src/components/Message/index.ts +1 -1
- package/src/components/Modal/Modal.tsx +157 -86
- package/src/components/Modal/components/ModalContext.tsx +14 -0
- package/src/components/Modal/components/ModalHeader.tsx +15 -3
- package/src/components/Popover/Popover.tsx +36 -0
- package/src/components/Popover/components/PopoverBody.tsx +6 -1
- package/src/components/Popover/components/PopoverContext.tsx +1 -0
- package/src/components/Popover/components/PopoverTrigger.tsx +2 -1
- package/src/components/ProgressBar/ProgressBar.tsx +46 -28
- package/src/components/RadioButton/RadioButton.tsx +34 -3
- package/src/components/RadioButtonGroup/RadioButtonGroup.tsx +32 -0
- package/src/components/SearchInput/SearchInput.tsx +13 -2
- package/src/components/Select/Select.tsx +75 -19
- package/src/components/Select/SelectDropdown.tsx +45 -12
- package/src/components/Select/SelectTrigger.tsx +31 -8
- package/src/components/Select/useSelectKeyboard.ts +20 -10
- package/src/components/Separator/Separator.tsx +10 -0
- package/src/components/Sheet/Sheet.tsx +114 -83
- package/src/components/Sheet/components/SheetContext.tsx +10 -0
- package/src/components/Sheet/components/SheetFooter.tsx +1 -1
- package/src/components/Sheet/components/SheetHeader.tsx +18 -3
- package/src/components/Sparkline/Sparkline.tsx +40 -36
- package/src/components/Spinner/Spinner.tsx +28 -3
- package/src/components/Switch/Switch.tsx +27 -4
- package/src/components/Tabs/Tabs.tsx +6 -0
- package/src/components/Tabs/components/TabsList.tsx +5 -3
- package/src/components/Tabs/components/TabsPanels.tsx +5 -3
- package/src/components/Tabs/components/TabsTrigger.tsx +22 -5
- package/src/components/TagChip/TagChip.tsx +27 -18
- package/src/components/TagInput/TagInput.tsx +16 -11
- package/src/components/Text/Text.tsx +9 -0
- package/src/components/TextInline/TextInline.tsx +11 -0
- package/src/components/Textarea/Textarea.tsx +13 -1
- package/src/components/TimePicker/TimeColumn.tsx +24 -1
- package/src/components/TimePicker/TimePicker.tsx +157 -51
- package/src/components/TimePicker/TimeSegments.tsx +131 -0
- package/src/components/TimePicker/timepicker.hooks.ts +1 -24
- package/src/components/TimePicker/timepicker.types.ts +14 -16
- package/src/components/Toast/Toast.tsx +28 -1
- package/src/components/Toggle/Toggle.tsx +34 -32
- package/src/components/Toggle/index.ts +1 -1
- package/src/components/ToggleGroup/ToggleGroup.tsx +17 -0
- package/src/components/ToggleGroup/ToggleGroupItem.tsx +13 -8
- package/src/components/ToggleGroup/ToggleGroupMultiple.tsx +3 -1
- package/src/components/ToggleGroup/ToggleGroupSingle.tsx +3 -1
- package/src/components/ToggleGroup/toggleGroup.types.ts +12 -3
- package/src/components/Tooltip/Tooltip.tsx +6 -0
- package/src/date-time/index.ts +61 -1
- package/src/date-time/iso.ts +511 -0
- package/src/date-time/now.ts +10 -9
- package/src/internal/PickerField.tsx +90 -0
- package/src/internal/SegmentedField.tsx +445 -0
- package/src/internal/index.ts +2 -0
- package/src/theme/index.ts +11 -9
- package/src/theme/recipes/badge.css +140 -0
- package/src/theme/recipes/button.css +167 -0
- package/src/theme/recipes/card.css +26 -0
- package/src/theme/recipes/checkbox.css +44 -0
- package/src/theme/recipes/field.css +14 -0
- package/src/theme/recipes/index.css +28 -0
- package/src/theme/recipes/input.css +29 -0
- package/src/theme/recipes/message.css +47 -0
- package/src/theme/recipes/modal.css +31 -0
- package/src/theme/recipes/radio-button.css +42 -0
- package/src/theme/recipes/search-input.css +16 -0
- package/src/theme/recipes/select.css +105 -0
- package/src/theme/recipes/sheet.css +34 -0
- package/src/theme/recipes/spinner.css +17 -0
- package/src/theme/recipes/switch.css +39 -0
- package/src/theme/recipes/tabs.css +41 -0
- package/src/theme/recipes/tag-chip.css +27 -0
- package/src/theme/recipes/textarea.css +20 -0
- package/src/theme/recipes/toggle.css +92 -0
- package/src/theme/schema.ts +59 -58
- package/src/theme/tokens.css +824 -0
- package/dist/components/Avatar/Avatar.d.ts +0 -6
- package/dist/components/Avatar/Avatar.d.ts.map +0 -1
- package/dist/components/Avatar/Avatar.js +0 -11
- package/dist/components/Avatar/Avatar.js.map +0 -1
- package/dist/components/Avatar/index.d.ts +0 -2
- package/dist/components/Avatar/index.d.ts.map +0 -1
- package/dist/components/Avatar/index.js +0 -2
- package/dist/components/Avatar/index.js.map +0 -1
- package/dist/components/Breadcrumb/Breadcrumb.d.ts +0 -12
- package/dist/components/Breadcrumb/Breadcrumb.d.ts.map +0 -1
- package/dist/components/Breadcrumb/Breadcrumb.js +0 -19
- package/dist/components/Breadcrumb/Breadcrumb.js.map +0 -1
- package/dist/components/Breadcrumb/index.d.ts +0 -2
- package/dist/components/Breadcrumb/index.d.ts.map +0 -1
- package/dist/components/Breadcrumb/index.js +0 -2
- package/dist/components/Breadcrumb/index.js.map +0 -1
- package/dist/components/ColorDot/ColorDot.d.ts +0 -13
- package/dist/components/ColorDot/ColorDot.d.ts.map +0 -1
- package/dist/components/ColorDot/ColorDot.js +0 -34
- package/dist/components/ColorDot/ColorDot.js.map +0 -1
- package/dist/components/ColorDot/index.d.ts +0 -2
- package/dist/components/ColorDot/index.d.ts.map +0 -1
- package/dist/components/ColorDot/index.js +0 -2
- package/dist/components/ColorDot/index.js.map +0 -1
- package/dist/components/EmptyState/EmptyState.d.ts +0 -15
- package/dist/components/EmptyState/EmptyState.d.ts.map +0 -1
- package/dist/components/EmptyState/EmptyState.js +0 -7
- package/dist/components/EmptyState/EmptyState.js.map +0 -1
- package/dist/components/EmptyState/index.d.ts +0 -2
- package/dist/components/EmptyState/index.d.ts.map +0 -1
- package/dist/components/EmptyState/index.js +0 -2
- package/dist/components/EmptyState/index.js.map +0 -1
- package/dist/components/HeatMap/HeatMapCalendar.d.ts +0 -11
- package/dist/components/HeatMap/HeatMapCalendar.d.ts.map +0 -1
- package/dist/components/HeatMap/HeatMapCalendar.js +0 -68
- package/dist/components/HeatMap/HeatMapCalendar.js.map +0 -1
- package/dist/components/HeatMap/HeatMapMatrix.d.ts +0 -12
- package/dist/components/HeatMap/HeatMapMatrix.d.ts.map +0 -1
- package/dist/components/HeatMap/HeatMapMatrix.js +0 -35
- package/dist/components/HeatMap/HeatMapMatrix.js.map +0 -1
- package/dist/components/HeatMap/heat-map.utils.d.ts +0 -10
- package/dist/components/HeatMap/heat-map.utils.d.ts.map +0 -1
- package/dist/components/HeatMap/heat-map.utils.js +0 -10
- package/dist/components/HeatMap/heat-map.utils.js.map +0 -1
- package/dist/components/HeatMap/index.d.ts +0 -4
- package/dist/components/HeatMap/index.d.ts.map +0 -1
- package/dist/components/HeatMap/index.js +0 -3
- package/dist/components/HeatMap/index.js.map +0 -1
- package/dist/components/MetricList/MetricList.d.ts +0 -9
- package/dist/components/MetricList/MetricList.d.ts.map +0 -1
- package/dist/components/MetricList/MetricList.js +0 -6
- package/dist/components/MetricList/MetricList.js.map +0 -1
- package/dist/components/MetricList/MetricRow.d.ts +0 -13
- package/dist/components/MetricList/MetricRow.d.ts.map +0 -1
- package/dist/components/MetricList/MetricRow.js +0 -13
- package/dist/components/MetricList/MetricRow.js.map +0 -1
- package/dist/components/MetricList/index.d.ts +0 -3
- package/dist/components/MetricList/index.d.ts.map +0 -1
- package/dist/components/MetricList/index.js +0 -3
- package/dist/components/MetricList/index.js.map +0 -1
- package/dist/components/NavBottom/NavBottom.d.ts +0 -15
- package/dist/components/NavBottom/NavBottom.d.ts.map +0 -1
- package/dist/components/NavBottom/NavBottom.js +0 -19
- package/dist/components/NavBottom/NavBottom.js.map +0 -1
- package/dist/components/NavBottom/index.d.ts +0 -3
- package/dist/components/NavBottom/index.d.ts.map +0 -1
- package/dist/components/NavBottom/index.js +0 -2
- package/dist/components/NavBottom/index.js.map +0 -1
- package/dist/components/NavSide/NavItem.d.ts +0 -9
- package/dist/components/NavSide/NavItem.d.ts.map +0 -1
- package/dist/components/NavSide/NavItem.js +0 -13
- package/dist/components/NavSide/NavItem.js.map +0 -1
- package/dist/components/NavSide/NavSide.d.ts +0 -15
- package/dist/components/NavSide/NavSide.d.ts.map +0 -1
- package/dist/components/NavSide/NavSide.js +0 -10
- package/dist/components/NavSide/NavSide.js.map +0 -1
- package/dist/components/NavSide/index.d.ts +0 -3
- package/dist/components/NavSide/index.d.ts.map +0 -1
- package/dist/components/NavSide/index.js +0 -2
- package/dist/components/NavSide/index.js.map +0 -1
- package/dist/components/NavSide/types.d.ts +0 -38
- package/dist/components/NavSide/types.d.ts.map +0 -1
- package/dist/components/NavSide/types.js +0 -2
- package/dist/components/NavSide/types.js.map +0 -1
- package/dist/components/Pagination/Pagination.d.ts +0 -35
- package/dist/components/Pagination/Pagination.d.ts.map +0 -1
- package/dist/components/Pagination/Pagination.js +0 -26
- package/dist/components/Pagination/Pagination.js.map +0 -1
- package/dist/components/Pagination/index.d.ts +0 -3
- package/dist/components/Pagination/index.d.ts.map +0 -1
- package/dist/components/Pagination/index.js +0 -2
- package/dist/components/Pagination/index.js.map +0 -1
- package/dist/components/Skeleton/Skeleton.d.ts +0 -3
- package/dist/components/Skeleton/Skeleton.d.ts.map +0 -1
- package/dist/components/Skeleton/Skeleton.js +0 -7
- package/dist/components/Skeleton/Skeleton.js.map +0 -1
- package/dist/components/Skeleton/index.d.ts +0 -2
- package/dist/components/Skeleton/index.d.ts.map +0 -1
- package/dist/components/Skeleton/index.js +0 -2
- package/dist/components/Skeleton/index.js.map +0 -1
- package/dist/components/StatsCard/StatsCard.d.ts +0 -17
- package/dist/components/StatsCard/StatsCard.d.ts.map +0 -1
- package/dist/components/StatsCard/StatsCard.js +0 -13
- package/dist/components/StatsCard/StatsCard.js.map +0 -1
- package/dist/components/StatsCard/index.d.ts +0 -2
- package/dist/components/StatsCard/index.d.ts.map +0 -1
- package/dist/components/StatsCard/index.js +0 -2
- package/dist/components/StatsCard/index.js.map +0 -1
- package/dist/styles.css +0 -2
- package/dist/theme.generated.css +0 -438
- package/src/components/Avatar/Avatar.tsx +0 -19
- package/src/components/Avatar/index.ts +0 -1
- package/src/components/Breadcrumb/Breadcrumb.tsx +0 -47
- package/src/components/Breadcrumb/index.ts +0 -5
- package/src/components/ColorDot/ColorDot.tsx +0 -50
- package/src/components/ColorDot/index.ts +0 -1
- package/src/components/EmptyState/EmptyState.tsx +0 -29
- package/src/components/EmptyState/index.ts +0 -1
- package/src/components/HeatMap/HeatMapCalendar.tsx +0 -127
- package/src/components/HeatMap/HeatMapMatrix.tsx +0 -75
- package/src/components/HeatMap/heat-map.utils.ts +0 -15
- package/src/components/HeatMap/index.ts +0 -3
- package/src/components/MetricList/MetricList.tsx +0 -13
- package/src/components/MetricList/MetricRow.tsx +0 -30
- package/src/components/MetricList/index.ts +0 -2
- package/src/components/NavBottom/NavBottom.tsx +0 -53
- package/src/components/NavBottom/index.ts +0 -3
- package/src/components/NavSide/NavItem.tsx +0 -39
- package/src/components/NavSide/NavSide.tsx +0 -40
- package/src/components/NavSide/index.ts +0 -2
- package/src/components/NavSide/types.ts +0 -36
- package/src/components/Pagination/Pagination.tsx +0 -86
- package/src/components/Pagination/index.ts +0 -2
- package/src/components/Skeleton/Skeleton.tsx +0 -7
- package/src/components/Skeleton/index.ts +0 -1
- package/src/components/StatsCard/StatsCard.tsx +0 -40
- package/src/components/StatsCard/index.ts +0 -1
- package/src/styles/base.css +0 -41
- package/src/theme/palette.json +0 -100
- package/src/theme/palette.schema.json +0 -40
- package/src/theme/theme.json +0 -349
- package/src/theme/theme.schema.json +0 -876
- package/src/theme/typography.json +0 -7
- package/src/theme/typography.schema.json +0 -36
- package/tailwind.config.ts +0 -261
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TabsTrigger recipe — the component-token layer for TabsTrigger.
|
|
3
|
+
*
|
|
4
|
+
* This is the mapping from `selected` to a semantic token. It used to live in
|
|
5
|
+
* the two branches of a `cva` `selected` variant inside TabsTrigger.tsx,
|
|
6
|
+
* compiled into class-name literals and unreachable from outside. Here it is
|
|
7
|
+
* data, so a consumer can re-point a cell or scope a change to a subtree.
|
|
8
|
+
*
|
|
9
|
+
* The grammar is `--tabs-trigger-{context}[-{state}]` — the same `context`
|
|
10
|
+
* and `state` words the semantic layer uses (src/theme/schema.ts). `selected`
|
|
11
|
+
* never appears in a token name: it selects, via the `data-selected`
|
|
12
|
+
* attribute below. Putting it in the name (`--tabs-trigger-bg-selected`)
|
|
13
|
+
* would restore the combinatorial explosion this layer exists to remove.
|
|
14
|
+
*
|
|
15
|
+
* `@layer components` is load-bearing, not tidiness — see button.css for the
|
|
16
|
+
* cascade reasoning.
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
@layer components {
|
|
20
|
+
/* The floor, and also the unselected look: quiet text on no surface. A
|
|
21
|
+
trigger a consumer forgot to mark selected renders as a legible inactive
|
|
22
|
+
tab rather than something broken. */
|
|
23
|
+
.tabs-trigger {
|
|
24
|
+
--tabs-trigger-bg: transparent;
|
|
25
|
+
--tabs-trigger-bg-hovered: var(--bg-subtle-hovered);
|
|
26
|
+
--tabs-trigger-fg: var(--fg-subtle);
|
|
27
|
+
--tabs-trigger-fg-hovered: var(--fg-normal);
|
|
28
|
+
--tabs-trigger-ring: var(--focus-ring);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/* selected — a filled surface, reversed text on top of it. The old code
|
|
32
|
+
emitted no `hover:` classes at all for the selected branch, so the
|
|
33
|
+
hovered cells here point straight back at the resting ones: no shift on
|
|
34
|
+
hover, preserved rather than newly invented. */
|
|
35
|
+
.tabs-trigger[data-selected="true"] {
|
|
36
|
+
--tabs-trigger-bg: var(--bg-brand-pressed);
|
|
37
|
+
--tabs-trigger-bg-hovered: var(--tabs-trigger-bg);
|
|
38
|
+
--tabs-trigger-fg: var(--fg-on-brand-pressed);
|
|
39
|
+
--tabs-trigger-fg-hovered: var(--tabs-trigger-fg);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TagChip recipe — the component-token layer for TagChip.
|
|
3
|
+
*
|
|
4
|
+
* TagChip's surface (background, border, foreground) is entirely Badge's:
|
|
5
|
+
* it renders `<Badge variant="outline" intent="muted">`, so that colour
|
|
6
|
+
* already comes from `.badge`'s tokens in badge.css — duplicating it here
|
|
7
|
+
* would just be a second name for the same cell. The only colours TagChip
|
|
8
|
+
* contributes itself are the muted namespace prefix and the remove ("×")
|
|
9
|
+
* button, which is why this file covers just those two.
|
|
10
|
+
*
|
|
11
|
+
* The grammar is `--tag-chip-{part}-{context}[-{state}]`. Both tokens live
|
|
12
|
+
* on `.tag-chip` (the root Badge element) and are read by its descendants via
|
|
13
|
+
* ordinary CSS custom-property inheritance — the namespace `<span>` and the
|
|
14
|
+
* remove `<button>` need no class hooks of their own for that.
|
|
15
|
+
*
|
|
16
|
+
* `@layer components` is load-bearing, not tidiness — see button.css for the
|
|
17
|
+
* cascade reasoning.
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
@layer components {
|
|
21
|
+
.tag-chip {
|
|
22
|
+
--tag-chip-namespace-fg: var(--fg-subtle);
|
|
23
|
+
--tag-chip-remove-fg: var(--fg-subtle);
|
|
24
|
+
--tag-chip-remove-fg-hovered: var(--fg-normal);
|
|
25
|
+
--tag-chip-remove-ring: var(--focus-ring);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Textarea recipe — the component-token layer for Textarea.
|
|
3
|
+
*
|
|
4
|
+
* Same shape as input.css: no variant/intent axis, one floor block. See
|
|
5
|
+
* button.css's header for why `@layer components` is load-bearing.
|
|
6
|
+
*
|
|
7
|
+
* Textarea's background is literal `bg-transparent` in the markup, not a
|
|
8
|
+
* semantic token today — there is nothing in tier 2 to point a `--textarea-bg`
|
|
9
|
+
* at, so no such token is introduced here. Border, placeholder and focus ring
|
|
10
|
+
* are the tokens that existed as semantic classes before this file, and are
|
|
11
|
+
* the ones made overridable.
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
@layer components {
|
|
15
|
+
.textarea {
|
|
16
|
+
--textarea-border: var(--border-normal);
|
|
17
|
+
--textarea-ring: var(--focus-ring);
|
|
18
|
+
--textarea-placeholder-fg: var(--fg-subtle);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Toggle recipe — the pressed-state layer for Toggle and ToggleGroupItem.
|
|
3
|
+
*
|
|
4
|
+
* These cells target `.btn`, not a `.toggle` class of their own, because both
|
|
5
|
+
* components render Button's class and read Button's `--button-*` tokens
|
|
6
|
+
* (via `buttonRecipe`) — a toggle is a button with a third axis, `state`, not
|
|
7
|
+
* a different look. Reusing `.btn` here is deliberate, not a shortcut.
|
|
8
|
+
*
|
|
9
|
+
* The grammar extends button.css's `(variant, intent)` with a third selector,
|
|
10
|
+
* `[data-state="on"]` — the same attribute Toggle already renders
|
|
11
|
+
* (`data-state={pressed ? "on" : "off"}`) and ToggleGroupItem now renders for
|
|
12
|
+
* `selected`, rather than a new attribute invented for this file. `state`
|
|
13
|
+
* never appears in a token *name* any more than `intent` does — see
|
|
14
|
+
* button.css's header for why: it selects, via the attribute, which existing
|
|
15
|
+
* `--button-bg`/`--button-bg-hovered` values apply.
|
|
16
|
+
*
|
|
17
|
+
* Only solid, outline and ghost get cells: a link toggle has no surface to
|
|
18
|
+
* press, so "on" carries no colour change.
|
|
19
|
+
*
|
|
20
|
+
* Every cell repeats its own resting value into `--button-bg-hovered`: the old
|
|
21
|
+
* classes paired `bg-*` with an identical `hover:bg-*`, i.e. a pressed toggle
|
|
22
|
+
* deliberately does not shift on hover. Restating it here (rather than relying
|
|
23
|
+
* on button.css's floor, which chains `-hovered` from `--button-bg`) keeps
|
|
24
|
+
* that "no shift" behaviour explicit and correct regardless of cascade order
|
|
25
|
+
* against the button.css cells these compound with.
|
|
26
|
+
*/
|
|
27
|
+
|
|
28
|
+
@layer components {
|
|
29
|
+
/* solid — the main -pressed background carries through as both resting and
|
|
30
|
+
hovered, so pressing never lightens or darkens further on hover. */
|
|
31
|
+
.btn[data-state="on"][data-variant="solid"][data-intent="brand"] {
|
|
32
|
+
--button-bg: var(--bg-brand-pressed);
|
|
33
|
+
--button-bg-hovered: var(--bg-brand-pressed);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.btn[data-state="on"][data-variant="solid"][data-intent="neutral"] {
|
|
37
|
+
--button-bg: var(--bg-strong-pressed);
|
|
38
|
+
--button-bg-hovered: var(--bg-strong-pressed);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.btn[data-state="on"][data-variant="solid"][data-intent="danger"] {
|
|
42
|
+
--button-bg: var(--bg-danger-pressed);
|
|
43
|
+
--button-bg-hovered: var(--bg-danger-pressed);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.btn[data-state="on"][data-variant="solid"][data-intent="success"] {
|
|
47
|
+
--button-bg: var(--bg-success-pressed);
|
|
48
|
+
--button-bg-hovered: var(--bg-success-pressed);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.btn[data-state="on"][data-variant="solid"][data-intent="warning"] {
|
|
52
|
+
--button-bg: var(--bg-warning-pressed);
|
|
53
|
+
--button-bg-hovered: var(--bg-warning-pressed);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/* outline and ghost — same subtle-pressed background and foreground per
|
|
57
|
+
intent, matching button.css's own pairing of these two variants. */
|
|
58
|
+
.btn[data-state="on"][data-variant="outline"][data-intent="neutral"],
|
|
59
|
+
.btn[data-state="on"][data-variant="ghost"][data-intent="neutral"] {
|
|
60
|
+
--button-bg: var(--bg-subtle-pressed);
|
|
61
|
+
--button-bg-hovered: var(--bg-subtle-pressed);
|
|
62
|
+
--button-fg: var(--fg-normal);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.btn[data-state="on"][data-variant="outline"][data-intent="brand"],
|
|
66
|
+
.btn[data-state="on"][data-variant="ghost"][data-intent="brand"] {
|
|
67
|
+
--button-bg: var(--bg-brand-subtle-pressed);
|
|
68
|
+
--button-bg-hovered: var(--bg-brand-subtle-pressed);
|
|
69
|
+
--button-fg: var(--fg-on-brand-subtle-pressed);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.btn[data-state="on"][data-variant="outline"][data-intent="danger"],
|
|
73
|
+
.btn[data-state="on"][data-variant="ghost"][data-intent="danger"] {
|
|
74
|
+
--button-bg: var(--bg-danger-subtle-pressed);
|
|
75
|
+
--button-bg-hovered: var(--bg-danger-subtle-pressed);
|
|
76
|
+
--button-fg: var(--fg-on-danger-subtle-pressed);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.btn[data-state="on"][data-variant="outline"][data-intent="success"],
|
|
80
|
+
.btn[data-state="on"][data-variant="ghost"][data-intent="success"] {
|
|
81
|
+
--button-bg: var(--bg-success-subtle-pressed);
|
|
82
|
+
--button-bg-hovered: var(--bg-success-subtle-pressed);
|
|
83
|
+
--button-fg: var(--fg-on-success-subtle-pressed);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
.btn[data-state="on"][data-variant="outline"][data-intent="warning"],
|
|
87
|
+
.btn[data-state="on"][data-variant="ghost"][data-intent="warning"] {
|
|
88
|
+
--button-bg: var(--bg-warning-subtle-pressed);
|
|
89
|
+
--button-bg-hovered: var(--bg-warning-subtle-pressed);
|
|
90
|
+
--button-fg: var(--fg-on-warning-subtle-pressed);
|
|
91
|
+
}
|
|
92
|
+
}
|
package/src/theme/schema.ts
CHANGED
|
@@ -1,17 +1,30 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Theme Schema
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* The naming convention for design tokens, as types and as data:
|
|
5
|
+
*
|
|
6
|
+
* {context}-[on-]{intent}[-{weight}][-{state}]
|
|
7
|
+
*
|
|
8
|
+
* src/theme/tokens.css is the only place tokens are defined, and nothing derives
|
|
9
|
+
* TypeScript from it. These types describe the *shape* a token name can take
|
|
10
|
+
* rather than enumerating the names that happen to exist today, which is why the
|
|
11
|
+
* vocabulary below is the thing to edit when the system grows a new axis.
|
|
12
|
+
*
|
|
13
|
+
* The trade that makes explicit: the union is complete but permissive. Every real
|
|
14
|
+
* token is assignable, and a few combinations it accepts are not defined. Keeping
|
|
15
|
+
* this vocabulary and tokens.css describing the same system is a manual job — a
|
|
16
|
+
* token whose name falls outside the grid below is unnameable in TypeScript even
|
|
17
|
+
* though its utility compiles.
|
|
18
|
+
*
|
|
19
|
+
* To read a value, read the CSS: `var(--bg-brand)` in a stylesheet, or
|
|
20
|
+
* `getComputedStyle(document.documentElement).getPropertyValue("--bg-brand")`
|
|
21
|
+
* at runtime.
|
|
6
22
|
*/
|
|
7
23
|
|
|
8
24
|
// =============================================================================
|
|
9
25
|
// PRIMITIVES
|
|
10
26
|
// =============================================================================
|
|
11
27
|
|
|
12
|
-
/** HSL color value without wrapper, e.g., "239 84% 67%" */
|
|
13
|
-
export type HSLValue = string;
|
|
14
|
-
|
|
15
28
|
/** Hex color value, e.g., "#6366f1" */
|
|
16
29
|
export type HexValue = string;
|
|
17
30
|
|
|
@@ -19,7 +32,7 @@ export type HexValue = string;
|
|
|
19
32
|
export type ColorMode = "light" | "dark";
|
|
20
33
|
|
|
21
34
|
// =============================================================================
|
|
22
|
-
//
|
|
35
|
+
// VOCABULARY
|
|
23
36
|
// =============================================================================
|
|
24
37
|
|
|
25
38
|
/** Contexts - what CSS property this affects */
|
|
@@ -38,49 +51,62 @@ export type Feedback = (typeof feedback)[number];
|
|
|
38
51
|
export const semantics = [...hierarchy, ...feedback] as const;
|
|
39
52
|
export type Semantic = (typeof semantics)[number];
|
|
40
53
|
|
|
54
|
+
/** Every intent a token can carry, including the ones outside the grid above */
|
|
55
|
+
export const intents = [...semantics, "brand", "overlay"] as const;
|
|
56
|
+
export type Intent = (typeof intents)[number];
|
|
57
|
+
|
|
58
|
+
/** Weight modifiers, applied to brand and feedback intents */
|
|
59
|
+
export const weights = ["subtle", "strong"] as const;
|
|
60
|
+
export type Weight = (typeof weights)[number];
|
|
61
|
+
|
|
62
|
+
/** Interaction states */
|
|
63
|
+
export const states = ["hovered", "pressed", "disabled"] as const;
|
|
64
|
+
export type State = (typeof states)[number];
|
|
65
|
+
|
|
66
|
+
/** Tokens that are a category of one, outside the grid */
|
|
67
|
+
export const standaloneTokens = ["focus-ring"] as const;
|
|
68
|
+
export type StandaloneToken = (typeof standaloneTokens)[number];
|
|
69
|
+
|
|
41
70
|
// =============================================================================
|
|
42
|
-
// TOKEN NAMES
|
|
71
|
+
// TOKEN NAMES
|
|
43
72
|
// =============================================================================
|
|
44
73
|
|
|
45
|
-
/**
|
|
46
|
-
|
|
74
|
+
/** Intents that take a weight modifier — the hierarchy trio *is* the weight. */
|
|
75
|
+
type Weightable = Exclude<Intent, Hierarchy>;
|
|
76
|
+
|
|
77
|
+
/** `brand` | `brand-subtle` | `danger-strong` | ... */
|
|
78
|
+
type WeightedIntent = Intent | `${Weightable}-${Weight}`;
|
|
79
|
+
|
|
80
|
+
/** Any of the above, optionally in an interaction state */
|
|
81
|
+
type Stateful<T extends string> = T | `${T}-${State}`;
|
|
82
|
+
|
|
83
|
+
/** Background tokens */
|
|
84
|
+
export type BgToken = Stateful<`bg-${WeightedIntent}`>;
|
|
47
85
|
|
|
48
|
-
/** Foreground tokens
|
|
49
|
-
export type FgToken =
|
|
86
|
+
/** Foreground tokens, including the `fg-on-*` pairs */
|
|
87
|
+
export type FgToken = Stateful<`fg-${WeightedIntent}`> | Stateful<`fg-on-${WeightedIntent}`>;
|
|
50
88
|
|
|
51
|
-
/** Border tokens
|
|
52
|
-
export type BorderToken =
|
|
89
|
+
/** Border tokens */
|
|
90
|
+
export type BorderToken = Stateful<`border-${WeightedIntent}`>;
|
|
91
|
+
|
|
92
|
+
/** Every token name the convention allows */
|
|
93
|
+
export type TokenName = BgToken | FgToken | BorderToken | StandaloneToken;
|
|
53
94
|
|
|
54
95
|
/** All color tokens */
|
|
55
|
-
export type ColorToken =
|
|
96
|
+
export type ColorToken = TokenName;
|
|
56
97
|
|
|
57
98
|
/** CSS variable name format */
|
|
58
99
|
export type CSSVarName = `--${ColorToken}`;
|
|
59
100
|
|
|
60
101
|
// =============================================================================
|
|
61
|
-
// THEME
|
|
102
|
+
// THEME SHAPE
|
|
62
103
|
// =============================================================================
|
|
63
104
|
|
|
64
|
-
/**
|
|
65
|
-
export type
|
|
66
|
-
|
|
67
|
-
/** Foreground token keys */
|
|
68
|
-
export type FgKey = `fg-${Semantic}` | `fg-on-${Semantic}`;
|
|
69
|
-
|
|
70
|
-
/** Border token keys */
|
|
71
|
-
export type BorderKey = `border-${Semantic}`;
|
|
72
|
-
|
|
73
|
-
/** All token keys */
|
|
74
|
-
export type TokenKey = BgKey | FgKey | BorderKey;
|
|
75
|
-
|
|
76
|
-
/** Color mode schema (light or dark) - flat structure */
|
|
77
|
-
export type ColorModeSchema = {
|
|
78
|
-
[K in TokenKey]: HexValue;
|
|
79
|
-
};
|
|
105
|
+
/** A set of token values for one mode */
|
|
106
|
+
export type ColorModeSchema = Partial<Record<TokenName, HexValue>>;
|
|
80
107
|
|
|
81
|
-
/**
|
|
108
|
+
/** A complete theme */
|
|
82
109
|
export type ThemeSchema = {
|
|
83
|
-
$schema?: string;
|
|
84
110
|
name: string;
|
|
85
111
|
version: string;
|
|
86
112
|
light: ColorModeSchema;
|
|
@@ -91,32 +117,7 @@ export type ThemeSchema = {
|
|
|
91
117
|
// UTILITIES
|
|
92
118
|
// =============================================================================
|
|
93
119
|
|
|
94
|
-
/** Get all token names for a context */
|
|
95
|
-
export function getTokenNames(context: "bg"): BgToken[];
|
|
96
|
-
export function getTokenNames(context: "fg"): FgToken[];
|
|
97
|
-
export function getTokenNames(context: "border"): BorderToken[];
|
|
98
|
-
export function getTokenNames(context: Context): ColorToken[] {
|
|
99
|
-
switch (context) {
|
|
100
|
-
case "bg":
|
|
101
|
-
return semantics.map((s) => `bg-${s}` as BgToken);
|
|
102
|
-
case "fg":
|
|
103
|
-
return [...semantics.map((s) => `fg-${s}` as FgToken), ...semantics.map((s) => `fg-on-${s}` as FgToken)];
|
|
104
|
-
case "border":
|
|
105
|
-
return semantics.map((s) => `border-${s}` as BorderToken);
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
/** Get all token names */
|
|
110
|
-
export function getAllTokenNames(): ColorToken[] {
|
|
111
|
-
return [...getTokenNames("bg"), ...getTokenNames("fg"), ...getTokenNames("border")];
|
|
112
|
-
}
|
|
113
|
-
|
|
114
120
|
/** Type-safe CSS var reference */
|
|
115
121
|
export function cssVar(token: ColorToken): string {
|
|
116
122
|
return `var(--${token})`;
|
|
117
123
|
}
|
|
118
|
-
|
|
119
|
-
/** Type-safe HSL wrapper for Tailwind */
|
|
120
|
-
export function hsl(token: ColorToken): string {
|
|
121
|
-
return `hsl(var(--${token}))`;
|
|
122
|
-
}
|