@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
package/dist/internal/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/internal/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAkB,MAAM,QAAQ,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/internal/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAyB,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,cAAc,EAAkE,MAAM,kBAAkB,CAAC;AAClH,OAAO,EAAE,IAAI,EAAkB,MAAM,QAAQ,CAAC"}
|
package/dist/theme/index.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Theme Exports
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* The token naming vocabulary and its types. Token *values* live in
|
|
5
|
+
* src/theme/tokens.css and are read from the stylesheet, not from here.
|
|
5
6
|
*/
|
|
6
|
-
export type {
|
|
7
|
-
export { contexts, cssVar, feedback,
|
|
7
|
+
export type { BgToken, BorderToken, ColorMode, ColorModeSchema, ColorToken, Context, CSSVarName, Feedback, FgToken, HexValue, Hierarchy, Intent, Semantic, StandaloneToken, State, ThemeSchema, TokenName, Weight, } from "./schema.js";
|
|
8
|
+
export { contexts, cssVar, feedback, hierarchy, intents, semantics, standaloneTokens, states, weights, } from "./schema.js";
|
|
8
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/theme/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/theme/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,YAAY,EACV,OAAO,EACP,WAAW,EACX,SAAS,EACT,eAAe,EACf,UAAU,EACV,OAAO,EACP,UAAU,EACV,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,SAAS,EACT,MAAM,EACN,QAAQ,EACR,eAAe,EACf,KAAK,EACL,WAAW,EACX,SAAS,EACT,MAAM,GACP,MAAM,UAAU,CAAC;AAElB,OAAO,EACL,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,SAAS,EACT,OAAO,EACP,SAAS,EACT,gBAAgB,EAChB,MAAM,EACN,OAAO,GACR,MAAM,UAAU,CAAC"}
|
package/dist/theme/index.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Theme Exports
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* The token naming vocabulary and its types. Token *values* live in
|
|
5
|
+
* src/theme/tokens.css and are read from the stylesheet, not from here.
|
|
5
6
|
*/
|
|
6
|
-
export { contexts, cssVar, feedback,
|
|
7
|
+
export { contexts, cssVar, feedback, hierarchy, intents, semantics, standaloneTokens, states, weights, } from "./schema.js";
|
|
7
8
|
//# sourceMappingURL=index.js.map
|
package/dist/theme/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/theme/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/theme/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAuBH,OAAO,EACL,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,SAAS,EACT,OAAO,EACP,SAAS,EACT,gBAAgB,EAChB,MAAM,EACN,OAAO,GACR,MAAM,UAAU,CAAC"}
|
package/dist/theme/schema.d.ts
CHANGED
|
@@ -1,11 +1,25 @@
|
|
|
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
|
-
/** HSL color value without wrapper, e.g., "239 84% 67%" */
|
|
8
|
-
export type HSLValue = string;
|
|
9
23
|
/** Hex color value, e.g., "#6366f1" */
|
|
10
24
|
export type HexValue = string;
|
|
11
25
|
/** Color mode */
|
|
@@ -22,44 +36,46 @@ export type Feedback = (typeof feedback)[number];
|
|
|
22
36
|
/** All semantics */
|
|
23
37
|
export declare const semantics: readonly ["strong", "normal", "subtle", "success", "warning", "danger"];
|
|
24
38
|
export type Semantic = (typeof semantics)[number];
|
|
25
|
-
/**
|
|
26
|
-
export
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
export type
|
|
39
|
+
/** Every intent a token can carry, including the ones outside the grid above */
|
|
40
|
+
export declare const intents: readonly ["strong", "normal", "subtle", "success", "warning", "danger", "brand", "overlay"];
|
|
41
|
+
export type Intent = (typeof intents)[number];
|
|
42
|
+
/** Weight modifiers, applied to brand and feedback intents */
|
|
43
|
+
export declare const weights: readonly ["subtle", "strong"];
|
|
44
|
+
export type Weight = (typeof weights)[number];
|
|
45
|
+
/** Interaction states */
|
|
46
|
+
export declare const states: readonly ["hovered", "pressed", "disabled"];
|
|
47
|
+
export type State = (typeof states)[number];
|
|
48
|
+
/** Tokens that are a category of one, outside the grid */
|
|
49
|
+
export declare const standaloneTokens: readonly ["focus-ring"];
|
|
50
|
+
export type StandaloneToken = (typeof standaloneTokens)[number];
|
|
51
|
+
/** Intents that take a weight modifier — the hierarchy trio *is* the weight. */
|
|
52
|
+
type Weightable = Exclude<Intent, Hierarchy>;
|
|
53
|
+
/** `brand` | `brand-subtle` | `danger-strong` | ... */
|
|
54
|
+
type WeightedIntent = Intent | `${Weightable}-${Weight}`;
|
|
55
|
+
/** Any of the above, optionally in an interaction state */
|
|
56
|
+
type Stateful<T extends string> = T | `${T}-${State}`;
|
|
57
|
+
/** Background tokens */
|
|
58
|
+
export type BgToken = Stateful<`bg-${WeightedIntent}`>;
|
|
59
|
+
/** Foreground tokens, including the `fg-on-*` pairs */
|
|
60
|
+
export type FgToken = Stateful<`fg-${WeightedIntent}`> | Stateful<`fg-on-${WeightedIntent}`>;
|
|
61
|
+
/** Border tokens */
|
|
62
|
+
export type BorderToken = Stateful<`border-${WeightedIntent}`>;
|
|
63
|
+
/** Every token name the convention allows */
|
|
64
|
+
export type TokenName = BgToken | FgToken | BorderToken | StandaloneToken;
|
|
31
65
|
/** All color tokens */
|
|
32
|
-
export type ColorToken =
|
|
66
|
+
export type ColorToken = TokenName;
|
|
33
67
|
/** CSS variable name format */
|
|
34
68
|
export type CSSVarName = `--${ColorToken}`;
|
|
35
|
-
/**
|
|
36
|
-
export type
|
|
37
|
-
/**
|
|
38
|
-
export type FgKey = `fg-${Semantic}` | `fg-on-${Semantic}`;
|
|
39
|
-
/** Border token keys */
|
|
40
|
-
export type BorderKey = `border-${Semantic}`;
|
|
41
|
-
/** All token keys */
|
|
42
|
-
export type TokenKey = BgKey | FgKey | BorderKey;
|
|
43
|
-
/** Color mode schema (light or dark) - flat structure */
|
|
44
|
-
export type ColorModeSchema = {
|
|
45
|
-
[K in TokenKey]: HexValue;
|
|
46
|
-
};
|
|
47
|
-
/** Complete theme schema */
|
|
69
|
+
/** A set of token values for one mode */
|
|
70
|
+
export type ColorModeSchema = Partial<Record<TokenName, HexValue>>;
|
|
71
|
+
/** A complete theme */
|
|
48
72
|
export type ThemeSchema = {
|
|
49
|
-
$schema?: string;
|
|
50
73
|
name: string;
|
|
51
74
|
version: string;
|
|
52
75
|
light: ColorModeSchema;
|
|
53
76
|
dark: ColorModeSchema;
|
|
54
77
|
};
|
|
55
|
-
/** Get all token names for a context */
|
|
56
|
-
export declare function getTokenNames(context: "bg"): BgToken[];
|
|
57
|
-
export declare function getTokenNames(context: "fg"): FgToken[];
|
|
58
|
-
export declare function getTokenNames(context: "border"): BorderToken[];
|
|
59
|
-
/** Get all token names */
|
|
60
|
-
export declare function getAllTokenNames(): ColorToken[];
|
|
61
78
|
/** Type-safe CSS var reference */
|
|
62
79
|
export declare function cssVar(token: ColorToken): string;
|
|
63
|
-
|
|
64
|
-
export declare function hsl(token: ColorToken): string;
|
|
80
|
+
export {};
|
|
65
81
|
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/theme/schema.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/theme/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAMH,uCAAuC;AACvC,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC;AAE9B,iBAAiB;AACjB,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AAMzC,gDAAgD;AAChD,eAAO,MAAM,QAAQ,iCAAkC,CAAC;AACxD,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;AAEhD,0CAA0C;AAC1C,eAAO,MAAM,SAAS,yCAA0C,CAAC;AACjE,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnD,mCAAmC;AACnC,eAAO,MAAM,QAAQ,2CAA4C,CAAC;AAClE,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjD,oBAAoB;AACpB,eAAO,MAAM,SAAS,yEAAuC,CAAC;AAC9D,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AAElD,gFAAgF;AAChF,eAAO,MAAM,OAAO,6FAA8C,CAAC;AACnE,MAAM,MAAM,MAAM,GAAG,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9C,8DAA8D;AAC9D,eAAO,MAAM,OAAO,+BAAgC,CAAC;AACrD,MAAM,MAAM,MAAM,GAAG,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9C,yBAAyB;AACzB,eAAO,MAAM,MAAM,6CAA8C,CAAC;AAClE,MAAM,MAAM,KAAK,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5C,0DAA0D;AAC1D,eAAO,MAAM,gBAAgB,yBAA0B,CAAC;AACxD,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAMhE,gFAAgF;AAChF,KAAK,UAAU,GAAG,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAE7C,uDAAuD;AACvD,KAAK,cAAc,GAAG,MAAM,GAAG,GAAG,UAAU,IAAI,MAAM,EAAE,CAAC;AAEzD,2DAA2D;AAC3D,KAAK,QAAQ,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC;AAEtD,wBAAwB;AACxB,MAAM,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,cAAc,EAAE,CAAC,CAAC;AAEvD,uDAAuD;AACvD,MAAM,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,cAAc,EAAE,CAAC,GAAG,QAAQ,CAAC,SAAS,cAAc,EAAE,CAAC,CAAC;AAE7F,oBAAoB;AACpB,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC,UAAU,cAAc,EAAE,CAAC,CAAC;AAE/D,6CAA6C;AAC7C,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,WAAW,GAAG,eAAe,CAAC;AAE1E,uBAAuB;AACvB,MAAM,MAAM,UAAU,GAAG,SAAS,CAAC;AAEnC,+BAA+B;AAC/B,MAAM,MAAM,UAAU,GAAG,KAAK,UAAU,EAAE,CAAC;AAM3C,yCAAyC;AACzC,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEnE,uBAAuB;AACvB,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,eAAe,CAAC;IACvB,IAAI,EAAE,eAAe,CAAC;CACvB,CAAC;AAMF,kCAAkC;AAClC,wBAAgB,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAEhD"}
|
package/dist/theme/schema.js
CHANGED
|
@@ -1,11 +1,27 @@
|
|
|
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
|
+
// VOCABULARY
|
|
9
25
|
// =============================================================================
|
|
10
26
|
/** Contexts - what CSS property this affects */
|
|
11
27
|
export const contexts = ["bg", "fg", "border"];
|
|
@@ -15,26 +31,19 @@ export const hierarchy = ["strong", "normal", "subtle"];
|
|
|
15
31
|
export const feedback = ["success", "warning", "danger"];
|
|
16
32
|
/** All semantics */
|
|
17
33
|
export const semantics = [...hierarchy, ...feedback];
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
export function getAllTokenNames() {
|
|
30
|
-
return [...getTokenNames("bg"), ...getTokenNames("fg"), ...getTokenNames("border")];
|
|
31
|
-
}
|
|
34
|
+
/** Every intent a token can carry, including the ones outside the grid above */
|
|
35
|
+
export const intents = [...semantics, "brand", "overlay"];
|
|
36
|
+
/** Weight modifiers, applied to brand and feedback intents */
|
|
37
|
+
export const weights = ["subtle", "strong"];
|
|
38
|
+
/** Interaction states */
|
|
39
|
+
export const states = ["hovered", "pressed", "disabled"];
|
|
40
|
+
/** Tokens that are a category of one, outside the grid */
|
|
41
|
+
export const standaloneTokens = ["focus-ring"];
|
|
42
|
+
// =============================================================================
|
|
43
|
+
// UTILITIES
|
|
44
|
+
// =============================================================================
|
|
32
45
|
/** Type-safe CSS var reference */
|
|
33
46
|
export function cssVar(token) {
|
|
34
47
|
return `var(--${token})`;
|
|
35
48
|
}
|
|
36
|
-
/** Type-safe HSL wrapper for Tailwind */
|
|
37
|
-
export function hsl(token) {
|
|
38
|
-
return `hsl(var(--${token}))`;
|
|
39
|
-
}
|
|
40
49
|
//# sourceMappingURL=schema.js.map
|
package/dist/theme/schema.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/theme/schema.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/theme/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAYH,gFAAgF;AAChF,aAAa;AACb,gFAAgF;AAEhF,gDAAgD;AAChD,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAU,CAAC;AAGxD,0CAA0C;AAC1C,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAU,CAAC;AAGjE,mCAAmC;AACnC,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAU,CAAC;AAGlE,oBAAoB;AACpB,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,GAAG,SAAS,EAAE,GAAG,QAAQ,CAAU,CAAC;AAG9D,gFAAgF;AAChF,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,GAAG,SAAS,EAAE,OAAO,EAAE,SAAS,CAAU,CAAC;AAGnE,8DAA8D;AAC9D,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAU,CAAC;AAGrD,yBAAyB;AACzB,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,CAAU,CAAC;AAGlE,0DAA0D;AAC1D,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,YAAY,CAAU,CAAC;AAiDxD,gFAAgF;AAChF,YAAY;AACZ,gFAAgF;AAEhF,kCAAkC;AAClC,MAAM,UAAU,MAAM,CAAC,KAAiB;IACtC,OAAO,SAAS,KAAK,GAAG,CAAC;AAC3B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sixthshift/design-system",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Personal design system - tokens, theme, and component library",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"publishConfig": {
|
|
@@ -29,7 +29,6 @@
|
|
|
29
29
|
"files": [
|
|
30
30
|
"src",
|
|
31
31
|
"dist",
|
|
32
|
-
"tailwind.config.ts",
|
|
33
32
|
"!src/**/*.test.ts",
|
|
34
33
|
"!src/**/*.test.tsx",
|
|
35
34
|
"!src/**/__tests__",
|
|
@@ -39,13 +38,11 @@
|
|
|
39
38
|
"!src/testing"
|
|
40
39
|
],
|
|
41
40
|
"exports": {
|
|
42
|
-
"./
|
|
43
|
-
"./theme.css": "./dist/theme.generated.css",
|
|
41
|
+
"./theme.css": "./src/theme/tokens.css",
|
|
44
42
|
"./theme": {
|
|
45
43
|
"types": "./dist/theme/index.d.ts",
|
|
46
44
|
"import": "./dist/theme/index.js"
|
|
47
45
|
},
|
|
48
|
-
"./tailwind.config": "./tailwind.config.ts",
|
|
49
46
|
"./utils": {
|
|
50
47
|
"types": "./dist/lib/utils.d.ts",
|
|
51
48
|
"import": "./dist/lib/utils.js"
|
|
@@ -106,10 +103,6 @@
|
|
|
106
103
|
"types": "./dist/components/Badge/index.d.ts",
|
|
107
104
|
"import": "./dist/components/Badge/index.js"
|
|
108
105
|
},
|
|
109
|
-
"./color-dot": {
|
|
110
|
-
"types": "./dist/components/ColorDot/index.d.ts",
|
|
111
|
-
"import": "./dist/components/ColorDot/index.js"
|
|
112
|
-
},
|
|
113
106
|
"./tag-chip": {
|
|
114
107
|
"types": "./dist/components/TagChip/index.d.ts",
|
|
115
108
|
"import": "./dist/components/TagChip/index.js"
|
|
@@ -122,42 +115,18 @@
|
|
|
122
115
|
"types": "./dist/components/Field/index.d.ts",
|
|
123
116
|
"import": "./dist/components/Field/index.js"
|
|
124
117
|
},
|
|
125
|
-
"./breadcrumb": {
|
|
126
|
-
"types": "./dist/components/Breadcrumb/index.d.ts",
|
|
127
|
-
"import": "./dist/components/Breadcrumb/index.js"
|
|
128
|
-
},
|
|
129
118
|
"./card": {
|
|
130
119
|
"types": "./dist/components/Card/index.d.ts",
|
|
131
120
|
"import": "./dist/components/Card/index.js"
|
|
132
121
|
},
|
|
133
|
-
"./avatar": {
|
|
134
|
-
"types": "./dist/components/Avatar/index.d.ts",
|
|
135
|
-
"import": "./dist/components/Avatar/index.js"
|
|
136
|
-
},
|
|
137
122
|
"./separator": {
|
|
138
123
|
"types": "./dist/components/Separator/index.d.ts",
|
|
139
124
|
"import": "./dist/components/Separator/index.js"
|
|
140
125
|
},
|
|
141
|
-
"./skeleton": {
|
|
142
|
-
"types": "./dist/components/Skeleton/index.d.ts",
|
|
143
|
-
"import": "./dist/components/Skeleton/index.js"
|
|
144
|
-
},
|
|
145
126
|
"./spinner": {
|
|
146
127
|
"types": "./dist/components/Spinner/index.d.ts",
|
|
147
128
|
"import": "./dist/components/Spinner/index.js"
|
|
148
129
|
},
|
|
149
|
-
"./stats-card": {
|
|
150
|
-
"types": "./dist/components/StatsCard/index.d.ts",
|
|
151
|
-
"import": "./dist/components/StatsCard/index.js"
|
|
152
|
-
},
|
|
153
|
-
"./metric-list": {
|
|
154
|
-
"types": "./dist/components/MetricList/index.d.ts",
|
|
155
|
-
"import": "./dist/components/MetricList/index.js"
|
|
156
|
-
},
|
|
157
|
-
"./empty-state": {
|
|
158
|
-
"types": "./dist/components/EmptyState/index.d.ts",
|
|
159
|
-
"import": "./dist/components/EmptyState/index.js"
|
|
160
|
-
},
|
|
161
130
|
"./text": {
|
|
162
131
|
"types": "./dist/components/Text/index.d.ts",
|
|
163
132
|
"import": "./dist/components/Text/index.js"
|
|
@@ -234,10 +203,6 @@
|
|
|
234
203
|
"types": "./dist/components/SearchInput/index.d.ts",
|
|
235
204
|
"import": "./dist/components/SearchInput/index.js"
|
|
236
205
|
},
|
|
237
|
-
"./pagination": {
|
|
238
|
-
"types": "./dist/components/Pagination/index.d.ts",
|
|
239
|
-
"import": "./dist/components/Pagination/index.js"
|
|
240
|
-
},
|
|
241
206
|
"./code-editor": {
|
|
242
207
|
"types": "./dist/components/Code/Editor/index.d.ts",
|
|
243
208
|
"import": "./dist/components/Code/Editor/index.js"
|
|
@@ -246,14 +211,6 @@
|
|
|
246
211
|
"types": "./dist/components/Code/Workspace/index.d.ts",
|
|
247
212
|
"import": "./dist/components/Code/Workspace/index.js"
|
|
248
213
|
},
|
|
249
|
-
"./nav-side": {
|
|
250
|
-
"types": "./dist/components/NavSide/index.d.ts",
|
|
251
|
-
"import": "./dist/components/NavSide/index.js"
|
|
252
|
-
},
|
|
253
|
-
"./nav-bottom": {
|
|
254
|
-
"types": "./dist/components/NavBottom/index.d.ts",
|
|
255
|
-
"import": "./dist/components/NavBottom/index.js"
|
|
256
|
-
},
|
|
257
214
|
"./heading": {
|
|
258
215
|
"types": "./dist/typography/Heading.d.ts",
|
|
259
216
|
"import": "./dist/typography/Heading.js"
|
|
@@ -357,29 +314,21 @@
|
|
|
357
314
|
"./bar-chart": {
|
|
358
315
|
"types": "./dist/components/BarChart/index.d.ts",
|
|
359
316
|
"import": "./dist/components/BarChart/index.js"
|
|
360
|
-
},
|
|
361
|
-
"./heat-map": {
|
|
362
|
-
"types": "./dist/components/HeatMap/index.d.ts",
|
|
363
|
-
"import": "./dist/components/HeatMap/index.js"
|
|
364
317
|
}
|
|
365
318
|
},
|
|
366
319
|
"scripts": {
|
|
367
320
|
"prepare": "bun run build",
|
|
368
|
-
"build": "bun run clean:dist && bun run build:js && bun run
|
|
321
|
+
"build": "bun run clean:dist && bun run build:js && bun run scripts/check-exports.ts",
|
|
369
322
|
"build:js": "tsc -p tsconfig.build.json && bun run scripts/fix-extensions.ts",
|
|
370
|
-
"
|
|
371
|
-
"build:
|
|
372
|
-
"dev": "bun run dev:css & bun run dev:theme",
|
|
373
|
-
"dev:css": "tailwindcss -i src/styles/base.css -o dist/styles.css --watch",
|
|
374
|
-
"dev:theme": "bun run scripts/watch-theme.ts",
|
|
375
|
-
"storybook": "storybook dev -p 6006 --no-open",
|
|
376
|
-
"build-storybook": "storybook build",
|
|
323
|
+
"dev": "storybook dev -p 6006 --no-open",
|
|
324
|
+
"build:storybook": "storybook build",
|
|
377
325
|
"test": "vitest run --project unit --project date-time --reporter=dot",
|
|
378
326
|
"test:verbose": "vitest run --project unit --project date-time",
|
|
379
327
|
"test:watch": "vitest --project unit --project date-time",
|
|
380
328
|
"test:visual": "vitest run --project visual",
|
|
381
329
|
"test:visual:update": "vitest run --project visual --update",
|
|
382
|
-
"test:stories": "vitest run --project storybook",
|
|
330
|
+
"test:stories": "vitest run --project storybook --project storybook-dark",
|
|
331
|
+
"test:stories:dark": "vitest run --project storybook-dark",
|
|
383
332
|
"test:ui": "bunx vitest --ui",
|
|
384
333
|
"type-check": "tsc --noEmit -p tsconfig.json && tsc --noEmit -p tsconfig.test.json",
|
|
385
334
|
"lint": "biome lint .",
|
|
@@ -388,6 +337,8 @@
|
|
|
388
337
|
"format:check": "biome format .",
|
|
389
338
|
"check": "biome check .",
|
|
390
339
|
"check:fix": "biome check --write .",
|
|
340
|
+
"check:recipes": "bun run scripts/check-recipes.ts",
|
|
341
|
+
"check:contrast": "bun run scripts/check-contrast.ts",
|
|
391
342
|
"clean": "rm -rf dist node_modules *.tsbuildinfo",
|
|
392
343
|
"clean:dist": "rm -rf dist"
|
|
393
344
|
},
|
|
@@ -441,7 +392,8 @@
|
|
|
441
392
|
"monaco-editor": "^0.55.1",
|
|
442
393
|
"react": "^18.2.0 || ^19.0.0",
|
|
443
394
|
"react-dom": "^18.2.0 || ^19.0.0",
|
|
444
|
-
"react-markdown": "^10.1.0"
|
|
395
|
+
"react-markdown": "^10.1.0",
|
|
396
|
+
"tailwindcss": "^4.0.0"
|
|
445
397
|
},
|
|
446
398
|
"peerDependenciesMeta": {
|
|
447
399
|
"@fontsource-variable/inter": {
|
|
@@ -1,59 +1,97 @@
|
|
|
1
1
|
import { cn } from "@sixthshift/design-system/utils";
|
|
2
2
|
import { cva, type VariantProps } from "class-variance-authority";
|
|
3
|
-
import
|
|
3
|
+
import * as React from "react";
|
|
4
4
|
|
|
5
|
+
/**
|
|
6
|
+
* Geometry and behaviour only.
|
|
7
|
+
*
|
|
8
|
+
* Every colour reads a `--badge-*` component token whose value is decided by
|
|
9
|
+
* src/theme/recipes/badge.css. That file is the mapping from
|
|
10
|
+
* `(variant, intent)` to a semantic token — the layer that used to be
|
|
11
|
+
* `compoundVariants` here, where it was compiled into class-name literals and
|
|
12
|
+
* unreachable from outside. Nothing in this file names a colour, which is the
|
|
13
|
+
* point: the semantics are now configurable without a release.
|
|
14
|
+
*/
|
|
5
15
|
const badgeVariants = cva(
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
outline: "",
|
|
13
|
-
},
|
|
14
|
-
intent: {
|
|
15
|
-
neutral: "",
|
|
16
|
-
primary: "",
|
|
17
|
-
danger: "",
|
|
18
|
-
success: "",
|
|
19
|
-
warning: "",
|
|
20
|
-
muted: "",
|
|
21
|
-
},
|
|
22
|
-
},
|
|
23
|
-
compoundVariants: [
|
|
24
|
-
// Solid variants
|
|
25
|
-
{ variant: "solid", intent: "neutral", className: "bg-bg-strong text-fg-on-strong" },
|
|
26
|
-
{ variant: "solid", intent: "primary", className: "bg-bg-brand text-fg-on-brand" },
|
|
27
|
-
{ variant: "solid", intent: "danger", className: "bg-bg-danger text-fg-on-danger" },
|
|
28
|
-
{ variant: "solid", intent: "success", className: "bg-bg-success text-fg-on-success" },
|
|
29
|
-
{ variant: "solid", intent: "warning", className: "bg-bg-warning text-fg-on-warning" },
|
|
30
|
-
{ variant: "solid", intent: "muted", className: "bg-bg-subtle text-fg-subtle" },
|
|
31
|
-
// Soft variants
|
|
32
|
-
{ variant: "soft", intent: "neutral", className: "bg-bg-subtle text-fg-normal" },
|
|
33
|
-
{ variant: "soft", intent: "primary", className: "bg-bg-brand-subtle text-fg-on-brand-subtle" },
|
|
34
|
-
{ variant: "soft", intent: "danger", className: "bg-bg-danger-subtle text-fg-on-danger-subtle" },
|
|
35
|
-
{ variant: "soft", intent: "success", className: "bg-bg-success-subtle text-fg-on-success-subtle" },
|
|
36
|
-
{ variant: "soft", intent: "warning", className: "bg-bg-warning-subtle text-fg-on-warning-subtle" },
|
|
37
|
-
{ variant: "soft", intent: "muted", className: "bg-bg-subtle text-fg-subtle" },
|
|
38
|
-
// Outline variants
|
|
39
|
-
{ variant: "outline", intent: "neutral", className: "border-border-normal bg-bg-normal text-fg-normal" },
|
|
40
|
-
{ variant: "outline", intent: "primary", className: "border-border-brand bg-bg-normal text-fg-brand" },
|
|
41
|
-
{ variant: "outline", intent: "danger", className: "border-border-danger bg-bg-normal text-fg-danger" },
|
|
42
|
-
{ variant: "outline", intent: "success", className: "border-border-success bg-bg-normal text-fg-success" },
|
|
43
|
-
{ variant: "outline", intent: "warning", className: "border-border-warning bg-bg-normal text-fg-warning" },
|
|
44
|
-
{ variant: "outline", intent: "muted", className: "border-border-normal bg-bg-normal text-fg-subtle" },
|
|
45
|
-
],
|
|
46
|
-
defaultVariants: {
|
|
47
|
-
variant: "solid",
|
|
48
|
-
intent: "primary",
|
|
49
|
-
},
|
|
50
|
-
}
|
|
16
|
+
// One literal, deliberately: `useSortedClasses --unsafe` strips the trailing
|
|
17
|
+
// space before a `+`, silently welding the last class of one fragment to the
|
|
18
|
+
// first of the next. The screenshots catch it, but a single string means the
|
|
19
|
+
// sorter has nothing to break.
|
|
20
|
+
"badge border-(color:--badge-border) focus:ring-(color:--badge-ring) inline-flex items-center rounded-md border bg-(--badge-bg) px-2.5 py-0.5 font-semibold text-(--badge-fg) text-xs transition-colors focus:outline-hidden focus:ring-2 focus:ring-offset-2",
|
|
21
|
+
{ variants: {} }
|
|
51
22
|
);
|
|
52
23
|
|
|
53
|
-
|
|
24
|
+
/**
|
|
25
|
+
* The non-colour half of `variant` — elevation only, for Badge. A plain
|
|
26
|
+
* lookup rather than a CVA variant so an unrecognised variant stays a legal
|
|
27
|
+
* value that contributes no structure, leaving a consumer's CSS free to
|
|
28
|
+
* define it. `intent` needs no equivalent: it was never anything but colour.
|
|
29
|
+
*/
|
|
30
|
+
const variantStructure: Record<string, string> = {
|
|
31
|
+
solid: "shadow",
|
|
32
|
+
soft: "",
|
|
33
|
+
outline: "",
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Widened deliberately. Adding a variant or an intent is a CSS change in the
|
|
38
|
+
* consuming app, not a release here — so the type has to admit values this
|
|
39
|
+
* file has never heard of, while still autocompleting the ones it ships.
|
|
40
|
+
*/
|
|
41
|
+
type Loose<T extends string> = T | (string & {});
|
|
54
42
|
|
|
55
|
-
export
|
|
56
|
-
|
|
43
|
+
export type BadgeVariantName = "solid" | "soft" | "outline";
|
|
44
|
+
/**
|
|
45
|
+
* `primary` was this component's name for the brand colour, and nothing else in
|
|
46
|
+
* the system used it — the token is `--bg-brand`, and
|
|
47
|
+
* docs/modals.md already told callers to write `intent="brand"`. It is off the
|
|
48
|
+
* closed union as of this release but still resolves, via an aliased selector in
|
|
49
|
+
* badge.css; `BadgeIntent` is widened, so it also still type-checks.
|
|
50
|
+
*/
|
|
51
|
+
export type BadgeIntentName = "neutral" | "brand" | "danger" | "success" | "warning" | "muted";
|
|
52
|
+
export type BadgeVariant = Loose<BadgeVariantName>;
|
|
53
|
+
export type BadgeIntent = Loose<BadgeIntentName>;
|
|
54
|
+
|
|
55
|
+
export type BadgeRecipeProps = VariantProps<typeof badgeVariants> & {
|
|
56
|
+
variant?: BadgeVariant | undefined;
|
|
57
|
+
intent?: BadgeIntent | undefined;
|
|
58
|
+
className?: string | undefined;
|
|
57
59
|
};
|
|
58
60
|
|
|
61
|
+
/**
|
|
62
|
+
* The class string plus the two attributes the recipe selects on.
|
|
63
|
+
*/
|
|
64
|
+
export function badgeRecipe({ variant = "solid", intent = "brand", className }: BadgeRecipeProps) {
|
|
65
|
+
return {
|
|
66
|
+
className: cn(variantStructure[variant], badgeVariants({ className })),
|
|
67
|
+
"data-variant": variant,
|
|
68
|
+
"data-intent": intent,
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
export type BadgeProps = React.HTMLAttributes<HTMLSpanElement> & {
|
|
73
|
+
variant?: BadgeVariant | undefined;
|
|
74
|
+
intent?: BadgeIntent | undefined;
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Small label for status, category, or count.
|
|
79
|
+
*
|
|
80
|
+
* Two independent axes, same split as Button: `variant` is the fill
|
|
81
|
+
* (`solid`, `soft`, `outline`), `intent` is what it signals (`neutral`,
|
|
82
|
+
* `brand`, `danger`, `success`, `warning`, `muted`) — `muted` has no
|
|
83
|
+
* Button equivalent, for de-emphasized metadata rather than a status.
|
|
84
|
+
* Renders a `<span>`; purely presentational, so give it visible text — it
|
|
85
|
+
* does not manage an accessible name of its own.
|
|
86
|
+
*
|
|
87
|
+
* Colour is not decided here: each `(variant, intent)` pairing resolves
|
|
88
|
+
* through a `--badge-*` component token (src/theme/recipes/badge.css), the
|
|
89
|
+
* same seam Button uses, so a consumer can re-point a cell without a
|
|
90
|
+
* release.
|
|
91
|
+
*/
|
|
92
|
+
export const Badge = React.forwardRef<HTMLSpanElement, BadgeProps>(({ className, variant = "solid", intent = "brand", ...props }, ref) => {
|
|
93
|
+
return <span ref={ref} {...badgeRecipe({ variant, intent, className })} {...props} />;
|
|
94
|
+
});
|
|
95
|
+
Badge.displayName = "Badge";
|
|
96
|
+
|
|
59
97
|
export { badgeVariants };
|