@sixthshift/design-system 0.3.0 → 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 +114 -12
- package/dist/components/Badge/Badge.d.ts +64 -9
- package/dist/components/Badge/Badge.d.ts.map +1 -1
- package/dist/components/Badge/Badge.js +54 -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 +12 -0
- package/dist/components/BarChart/BarChart.d.ts.map +1 -1
- package/dist/components/BarChart/BarChart.js +12 -0
- 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 +18 -4
- package/dist/components/Calendar/Calendar.d.ts.map +1 -1
- package/dist/components/Calendar/Calendar.js +19 -5
- package/dist/components/Calendar/Calendar.js.map +1 -1
- package/dist/components/Calendar/CalendarView.d.ts.map +1 -1
- package/dist/components/Calendar/CalendarView.js +10 -2
- package/dist/components/Calendar/CalendarView.js.map +1 -1
- package/dist/components/Calendar/calendar.types.d.ts +9 -0
- package/dist/components/Calendar/calendar.types.d.ts.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 +43 -0
- package/dist/components/DatePicker/DatePicker.d.ts.map +1 -1
- package/dist/components/DatePicker/DatePicker.js +166 -4
- 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 +19 -1
- package/dist/components/DatePicker/datepicker.types.d.ts.map +1 -1
- package/dist/components/DatePicker/index.d.ts +1 -1
- package/dist/components/DatePicker/index.d.ts.map +1 -1
- package/dist/components/DateRangePicker/DateRangePicker.d.ts +20 -2
- package/dist/components/DateRangePicker/DateRangePicker.d.ts.map +1 -1
- package/dist/components/DateRangePicker/DateRangePicker.js +22 -4
- package/dist/components/DateRangePicker/DateRangePicker.js.map +1 -1
- package/dist/components/DateRangePicker/daterangepicker.types.d.ts +6 -1
- package/dist/components/DateRangePicker/daterangepicker.types.d.ts.map +1 -1
- package/dist/components/DateTimePicker/DateTimePicker.d.ts +30 -2
- package/dist/components/DateTimePicker/DateTimePicker.d.ts.map +1 -1
- package/dist/components/DateTimePicker/DateTimePicker.js +105 -32
- 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 +6 -1
- package/dist/components/DateTimePicker/datetimepicker.types.d.ts.map +1 -1
- package/dist/components/DateTimeRangePicker/DateTimeRangePicker.d.ts +28 -2
- package/dist/components/DateTimeRangePicker/DateTimeRangePicker.d.ts.map +1 -1
- package/dist/components/DateTimeRangePicker/DateTimeRangePicker.js +136 -58
- package/dist/components/DateTimeRangePicker/DateTimeRangePicker.js.map +1 -1
- package/dist/components/DateTimeRangePicker/datetimerangepicker.types.d.ts +6 -1
- package/dist/components/DateTimeRangePicker/datetimerangepicker.types.d.ts.map +1 -1
- package/dist/components/Field/Field.d.ts +15 -17
- package/dist/components/Field/Field.d.ts.map +1 -1
- package/dist/components/Field/Field.js +18 -3
- 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 +17 -0
- package/dist/components/LineChart/LineChart.d.ts.map +1 -1
- package/dist/components/LineChart/LineChart.js +17 -0
- package/dist/components/LineChart/LineChart.js.map +1 -1
- package/dist/components/Markdown/Markdown.d.ts +17 -0
- package/dist/components/Markdown/Markdown.d.ts.map +1 -1
- package/dist/components/Markdown/Markdown.js +17 -0
- 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 +53 -17
- 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 +36 -0
- package/dist/components/Modal/Modal.d.ts.map +1 -1
- package/dist/components/Modal/Modal.js +37 -1
- package/dist/components/Modal/Modal.js.map +1 -1
- package/dist/components/Modal/components/ModalHeader.js +1 -1
- 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 +29 -0
- package/dist/components/Popover/Popover.js.map +1 -1
- package/dist/components/ProgressBar/ProgressBar.d.ts +14 -0
- package/dist/components/ProgressBar/ProgressBar.d.ts.map +1 -1
- package/dist/components/ProgressBar/ProgressBar.js +14 -0
- 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 +4 -5
- package/dist/components/Select/Select.d.ts.map +1 -1
- package/dist/components/Select/Select.js +4 -5
- package/dist/components/Select/Select.js.map +1 -1
- package/dist/components/Select/SelectDropdown.d.ts.map +1 -1
- package/dist/components/Select/SelectDropdown.js +4 -3
- package/dist/components/Select/SelectDropdown.js.map +1 -1
- package/dist/components/Select/SelectTrigger.js +2 -2
- package/dist/components/Select/SelectTrigger.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 +6 -0
- package/dist/components/Sheet/Sheet.d.ts.map +1 -1
- package/dist/components/Sheet/Sheet.js +7 -1
- package/dist/components/Sheet/Sheet.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.js +1 -1
- package/dist/components/Sheet/components/SheetHeader.js.map +1 -1
- package/dist/components/Sparkline/Sparkline.d.ts +11 -0
- package/dist/components/Sparkline/Sparkline.d.ts.map +1 -1
- package/dist/components/Sparkline/Sparkline.js +11 -0
- 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 +6 -0
- 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/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 +14 -12
- package/dist/components/TagChip/TagChip.d.ts.map +1 -1
- package/dist/components/TagChip/TagChip.js +14 -1
- package/dist/components/TagChip/TagChip.js.map +1 -1
- package/dist/components/TagInput/TagInput.d.ts +11 -8
- package/dist/components/TagInput/TagInput.d.ts.map +1 -1
- package/dist/components/TagInput/TagInput.js +11 -0
- 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 +32 -0
- package/dist/components/TimePicker/TimePicker.d.ts.map +1 -1
- package/dist/components/TimePicker/TimePicker.js +93 -6
- 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 +0 -2
- package/dist/components/TimePicker/timepicker.types.d.ts.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.map +1 -1
- package/dist/date-time/index.js +0 -1
- package/dist/date-time/index.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 +2 -2
- package/dist/theme/index.d.ts.map +1 -1
- package/dist/theme/index.js +1 -1
- package/dist/theme/index.js.map +1 -1
- package/dist/theme/schema.d.ts +0 -22
- package/dist/theme/schema.d.ts.map +1 -1
- package/dist/theme/schema.js +0 -9
- package/dist/theme/schema.js.map +1 -1
- package/package.json +3 -45
- package/src/components/Badge/Badge.tsx +85 -48
- package/src/components/Badge/index.ts +10 -1
- package/src/components/BarChart/BarChart.tsx +12 -0
- package/src/components/Button/Button.tsx +129 -106
- package/src/components/Button/index.ts +10 -1
- package/src/components/Calendar/Calendar.tsx +29 -16
- package/src/components/Calendar/CalendarView.tsx +10 -1
- package/src/components/Calendar/calendar.types.ts +10 -0
- 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 +279 -28
- package/src/components/DatePicker/DateSegments.tsx +125 -0
- package/src/components/DatePicker/datepicker.types.ts +21 -1
- package/src/components/DatePicker/index.ts +8 -1
- package/src/components/DateRangePicker/DateRangePicker.tsx +22 -4
- package/src/components/DateRangePicker/daterangepicker.types.ts +7 -1
- package/src/components/DateTimePicker/DateTimePicker.tsx +143 -70
- package/src/components/DateTimePicker/DateTimeSegments.tsx +113 -0
- package/src/components/DateTimePicker/datetimepicker.types.ts +7 -1
- package/src/components/DateTimeRangePicker/DateTimeRangePicker.tsx +195 -104
- package/src/components/DateTimeRangePicker/datetimerangepicker.types.ts +7 -1
- package/src/components/Field/Field.tsx +20 -22
- 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 +17 -0
- package/src/components/Markdown/Markdown.tsx +17 -0
- package/src/components/Message/Message.tsx +73 -23
- package/src/components/Message/index.ts +1 -1
- package/src/components/Modal/Modal.tsx +42 -3
- package/src/components/Modal/components/ModalHeader.tsx +1 -1
- package/src/components/Popover/Popover.tsx +29 -0
- package/src/components/ProgressBar/ProgressBar.tsx +14 -0
- 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 +4 -5
- package/src/components/Select/SelectDropdown.tsx +13 -9
- package/src/components/Select/SelectTrigger.tsx +7 -7
- package/src/components/Separator/Separator.tsx +10 -0
- package/src/components/Sheet/Sheet.tsx +8 -2
- package/src/components/Sheet/components/SheetFooter.tsx +1 -1
- package/src/components/Sheet/components/SheetHeader.tsx +2 -2
- package/src/components/Sparkline/Sparkline.tsx +11 -0
- 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/TabsTrigger.tsx +22 -5
- package/src/components/TagChip/TagChip.tsx +18 -16
- package/src/components/TagInput/TagInput.tsx +11 -8
- 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 +127 -39
- package/src/components/TimePicker/TimeSegments.tsx +131 -0
- package/src/components/TimePicker/timepicker.hooks.ts +1 -24
- package/src/components/TimePicker/timepicker.types.ts +0 -3
- 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 +0 -1
- 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 +0 -6
- 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 +0 -27
- package/src/theme/tokens.css +26 -9
- 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 -19
- package/dist/components/ColorDot/ColorDot.d.ts.map +0 -1
- package/dist/components/ColorDot/ColorDot.js +0 -36
- 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 -26
- package/dist/components/EmptyState/EmptyState.d.ts.map +0 -1
- package/dist/components/EmptyState/EmptyState.js +0 -9
- 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 -8
- 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 -16
- package/dist/components/NavBottom/NavBottom.d.ts.map +0 -1
- package/dist/components/NavBottom/NavBottom.js +0 -21
- 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 -16
- package/dist/components/NavSide/NavSide.d.ts.map +0 -1
- package/dist/components/NavSide/NavSide.js +0 -12
- 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 -4
- package/dist/components/Skeleton/Skeleton.d.ts.map +0 -1
- package/dist/components/Skeleton/Skeleton.js +0 -9
- 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 -15
- 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/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 -52
- package/src/components/ColorDot/index.ts +0 -1
- package/src/components/EmptyState/EmptyState.tsx +0 -30
- 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 -18
- package/src/components/MetricList/MetricRow.tsx +0 -30
- package/src/components/MetricList/index.ts +0 -2
- package/src/components/NavBottom/NavBottom.tsx +0 -55
- package/src/components/NavBottom/index.ts +0 -3
- package/src/components/NavSide/NavItem.tsx +0 -39
- package/src/components/NavSide/NavSide.tsx +0 -42
- 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 -9
- package/src/components/Skeleton/index.ts +0 -1
- package/src/components/StatsCard/StatsCard.tsx +0 -41
- package/src/components/StatsCard/index.ts +0 -1
|
@@ -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
|
@@ -28,14 +28,6 @@
|
|
|
28
28
|
/** Hex color value, e.g., "#6366f1" */
|
|
29
29
|
export type HexValue = string;
|
|
30
30
|
|
|
31
|
-
/**
|
|
32
|
-
* HSL color value without wrapper, e.g., "239 84% 67%"
|
|
33
|
-
*
|
|
34
|
-
* @deprecated Tokens hold hex values and palette references, never bare HSL
|
|
35
|
-
* triples. Kept only so the export surface stays stable.
|
|
36
|
-
*/
|
|
37
|
-
export type HSLValue = string;
|
|
38
|
-
|
|
39
31
|
/** Color mode */
|
|
40
32
|
export type ColorMode = "light" | "dark";
|
|
41
33
|
|
|
@@ -106,15 +98,6 @@ export type ColorToken = TokenName;
|
|
|
106
98
|
/** CSS variable name format */
|
|
107
99
|
export type CSSVarName = `--${ColorToken}`;
|
|
108
100
|
|
|
109
|
-
/** @deprecated Use {@link BgToken}. */
|
|
110
|
-
export type BgKey = BgToken;
|
|
111
|
-
/** @deprecated Use {@link FgToken}. */
|
|
112
|
-
export type FgKey = FgToken;
|
|
113
|
-
/** @deprecated Use {@link BorderToken}. */
|
|
114
|
-
export type BorderKey = BorderToken;
|
|
115
|
-
/** @deprecated Use {@link TokenName}. */
|
|
116
|
-
export type TokenKey = TokenName;
|
|
117
|
-
|
|
118
101
|
// =============================================================================
|
|
119
102
|
// THEME SHAPE
|
|
120
103
|
// =============================================================================
|
|
@@ -138,13 +121,3 @@ export type ThemeSchema = {
|
|
|
138
121
|
export function cssVar(token: ColorToken): string {
|
|
139
122
|
return `var(--${token})`;
|
|
140
123
|
}
|
|
141
|
-
|
|
142
|
-
/**
|
|
143
|
-
* Type-safe HSL wrapper for Tailwind
|
|
144
|
-
*
|
|
145
|
-
* @deprecated Token values are hex and palette references, so wrapping one in
|
|
146
|
-
* `hsl()` yields invalid CSS. Use {@link cssVar}.
|
|
147
|
-
*/
|
|
148
|
-
export function hsl(token: ColorToken): string {
|
|
149
|
-
return `hsl(var(--${token}))`;
|
|
150
|
-
}
|
package/src/theme/tokens.css
CHANGED
|
@@ -1,16 +1,27 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Design tokens — the single source of truth for the design system.
|
|
3
3
|
*
|
|
4
|
-
* Hand-edited.
|
|
4
|
+
* Hand-edited. Three token tiers, each answering a different question, and each
|
|
5
|
+
* with a different editor:
|
|
5
6
|
*
|
|
6
|
-
* 1. Palette — raw scales. Never referenced by
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
7
|
+
* 1. Palette — raw scales. What colours exist. Never referenced by
|
|
8
|
+
* components; a new hue is added here and nowhere else.
|
|
9
|
+
* 2. Semantic — what a colour *means*, one block per mode. Every value points
|
|
10
|
+
* at a palette entry, so a re-skin edits tier 1 only. This tier is what
|
|
11
|
+
* collapses the light/dark axis: 145 of its tokens remap between modes, so
|
|
12
|
+
* nothing downstream has to know a mode exists.
|
|
13
|
+
* 3. Component — which meaning a given component part uses, per variant and
|
|
14
|
+
* state. Lives in `recipes/`, imported below. This is the consumer's
|
|
15
|
+
* override surface: tier 2 is edited to re-skin, tier 3 to re-wire.
|
|
16
|
+
*
|
|
17
|
+
* Two emitters carry the tiers into the build:
|
|
18
|
+
*
|
|
19
|
+
* - `@theme` tells Tailwind which utilities exist. Every semantic token needs
|
|
20
|
+
* an entry here or its class does not compile. Component tokens do not —
|
|
21
|
+
* tier 3 is read as plain `var()` in CSS, never through a utility.
|
|
22
|
+
* - `@layer base` holds the few global rules the components genuinely need.
|
|
23
|
+
* App opinions (page background, scroll behaviour) are deliberately not
|
|
24
|
+
* here: a library has no business restyling its consumer's page.
|
|
14
25
|
*
|
|
15
26
|
* Nothing verifies any of that, so when you add a token: put it in *both* mode
|
|
16
27
|
* blocks and give it a `@theme` entry. Miss the dark block and it is undefined
|
|
@@ -18,6 +29,12 @@
|
|
|
18
29
|
* failure raises an error anywhere.
|
|
19
30
|
*/
|
|
20
31
|
|
|
32
|
+
/* Tier 3. Imported here rather than from each component's `.tsx` so it reaches
|
|
33
|
+
consumers through the `theme.css` import they already have — the build is
|
|
34
|
+
`tsc` only, which does not copy `.css` into `dist/`. `@import` must precede
|
|
35
|
+
every rule in this file, so this stays at the top. */
|
|
36
|
+
@import "./recipes/index.css";
|
|
37
|
+
|
|
21
38
|
/* =============================================================================
|
|
22
39
|
1. PALETTE
|
|
23
40
|
============================================================================= */
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
declare const Avatar: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLSpanElement> & React.RefAttributes<HTMLSpanElement>>;
|
|
3
|
-
declare const AvatarImage: React.ForwardRefExoticComponent<React.ImgHTMLAttributes<HTMLImageElement> & React.RefAttributes<HTMLImageElement>>;
|
|
4
|
-
declare const AvatarFallback: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLSpanElement> & React.RefAttributes<HTMLSpanElement>>;
|
|
5
|
-
export { Avatar, AvatarFallback, AvatarImage };
|
|
6
|
-
//# sourceMappingURL=Avatar.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../../src/components/Avatar/Avatar.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,QAAA,MAAM,MAAM,+GAEV,CAAC;AAGH,QAAA,MAAM,WAAW,oHAEf,CAAC;AAGH,QAAA,MAAM,cAAc,+GAElB,CAAC;AAGH,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { cn } from "@sixthshift/design-system/utils";
|
|
3
|
-
import * as React from "react";
|
|
4
|
-
const Avatar = React.forwardRef(({ className, ...props }, ref) => (_jsx("span", { ref: ref, className: cn("relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full", className), ...props })));
|
|
5
|
-
Avatar.displayName = "Avatar";
|
|
6
|
-
const AvatarImage = React.forwardRef(({ className, alt, ...props }, ref) => (_jsx("img", { ref: ref, alt: alt, className: cn("aspect-square h-full w-full", className), ...props })));
|
|
7
|
-
AvatarImage.displayName = "AvatarImage";
|
|
8
|
-
const AvatarFallback = React.forwardRef(({ className, ...props }, ref) => (_jsx("span", { ref: ref, className: cn("flex h-full w-full items-center justify-center rounded-full bg-bg-subtle font-medium text-sm", className), ...props })));
|
|
9
|
-
AvatarFallback.displayName = "AvatarFallback";
|
|
10
|
-
export { Avatar, AvatarFallback, AvatarImage };
|
|
11
|
-
//# sourceMappingURL=Avatar.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Avatar.js","sourceRoot":"","sources":["../../../src/components/Avatar/Avatar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,iCAAiC,CAAC;AACrD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAyD,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CACxH,eAAM,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,+DAA+D,EAAE,SAAS,CAAC,KAAM,KAAK,GAAI,CACzH,CAAC,CAAC;AACH,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAC;AAE9B,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAA8D,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CACvI,cAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,6BAA6B,EAAE,SAAS,CAAC,KAAM,KAAK,GAAI,CAChG,CAAC,CAAC;AACH,WAAW,CAAC,WAAW,GAAG,aAAa,CAAC;AAExC,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,CAAyD,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAChI,eAAM,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,8FAA8F,EAAE,SAAS,CAAC,KAAM,KAAK,GAAI,CACxJ,CAAC,CAAC;AACH,cAAc,CAAC,WAAW,GAAG,gBAAgB,CAAC;AAE9C,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Avatar/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Avatar/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { type ComponentPropsWithoutRef, type ReactNode } from "react";
|
|
2
|
-
export type BreadcrumbItem = {
|
|
3
|
-
label: ReactNode;
|
|
4
|
-
href?: string;
|
|
5
|
-
};
|
|
6
|
-
export type BreadcrumbProps = Omit<ComponentPropsWithoutRef<"nav">, "children"> & {
|
|
7
|
-
items: BreadcrumbItem[];
|
|
8
|
-
};
|
|
9
|
-
export declare const Breadcrumb: import("react").ForwardRefExoticComponent<Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLElement>, HTMLElement>, "ref">, "children"> & {
|
|
10
|
-
items: BreadcrumbItem[];
|
|
11
|
-
} & import("react").RefAttributes<HTMLElement>>;
|
|
12
|
-
//# sourceMappingURL=Breadcrumb.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Breadcrumb.d.ts","sourceRoot":"","sources":["../../../src/components/Breadcrumb/Breadcrumb.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,wBAAwB,EAAc,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAElF,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,GAAG;IAChF,KAAK,EAAE,cAAc,EAAE,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,UAAU;WAHd,cAAc,EAAE;+CAkCvB,CAAC"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useComponents } from "@sixthshift/design-system/components";
|
|
3
|
-
import { cn } from "@sixthshift/design-system/utils";
|
|
4
|
-
import { ChevronRight } from "lucide-react";
|
|
5
|
-
import { forwardRef } from "react";
|
|
6
|
-
export const Breadcrumb = forwardRef(({ className, items, ...props }, ref) => {
|
|
7
|
-
const { Link } = useComponents();
|
|
8
|
-
if (items.length === 0)
|
|
9
|
-
return null;
|
|
10
|
-
return (_jsx("nav", { ref: ref, "aria-label": "breadcrumb", className: cn("", className), ...props, children: _jsx("ol", { className: "flex flex-wrap items-center gap-1.5 text-sm sm:gap-2.5", children: items.map((item, index) => {
|
|
11
|
-
const isLast = index === items.length - 1;
|
|
12
|
-
const isClickable = !isLast && item.href;
|
|
13
|
-
return (
|
|
14
|
-
// biome-ignore lint/suspicious/noArrayIndexKey: Breadcrumb path items maintain stable order
|
|
15
|
-
_jsxs("li", { className: "inline-flex items-center gap-1.5", children: [isClickable ? (_jsx(Link, { href: item.href, className: "text-fg-subtle transition-colors hover:text-fg-normal", children: item.label })) : (_jsx("span", { className: cn(isLast ? "font-medium text-fg-normal" : "text-fg-subtle"), "aria-current": isLast ? "page" : undefined, children: item.label })), !isLast && _jsx(ChevronRight, { className: "size-3.5 text-fg-subtle", "aria-hidden": "true" })] }, index));
|
|
16
|
-
}) }) }));
|
|
17
|
-
});
|
|
18
|
-
Breadcrumb.displayName = "Breadcrumb";
|
|
19
|
-
//# sourceMappingURL=Breadcrumb.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Breadcrumb.js","sourceRoot":"","sources":["../../../src/components/Breadcrumb/Breadcrumb.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,EAAE,EAAE,MAAM,iCAAiC,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAiC,UAAU,EAAkB,MAAM,OAAO,CAAC;AAWlF,MAAM,CAAC,MAAM,UAAU,GAAG,UAAU,CAA+B,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IACzG,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,EAAE,CAAC;IAEjC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEpC,OAAO,CACL,cAAK,GAAG,EAAE,GAAG,gBAAa,YAAY,EAAC,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE,SAAS,CAAC,KAAM,KAAK,YAC5E,aAAI,SAAS,EAAC,wDAAwD,YACnE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBACzB,MAAM,MAAM,GAAG,KAAK,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC1C,MAAM,WAAW,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC;gBAEzC,OAAO;gBACL,4FAA4F;gBAC5F,cAAgB,SAAS,EAAC,kCAAkC,aACzD,WAAW,CAAC,CAAC,CAAC,CACb,KAAC,IAAI,IAAC,IAAI,EAAE,IAAI,CAAC,IAAK,EAAE,SAAS,EAAC,uDAAuD,YACtF,IAAI,CAAC,KAAK,GACN,CACR,CAAC,CAAC,CAAC,CACF,eAAM,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,gBAAgB,CAAC,kBAAgB,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,YACrH,IAAI,CAAC,KAAK,GACN,CACR,EACA,CAAC,MAAM,IAAI,KAAC,YAAY,IAAC,SAAS,EAAC,yBAAyB,iBAAa,MAAM,GAAG,KAV5E,KAAK,CAWT,CACN,CAAC;YACJ,CAAC,CAAC,GACC,GACD,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AACH,UAAU,CAAC,WAAW,GAAG,YAAY,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Breadcrumb/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,KAAK,cAAc,EACnB,KAAK,eAAe,GACrB,MAAM,cAAc,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Breadcrumb/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,GAGX,MAAM,cAAc,CAAC"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { type VariantProps } from "class-variance-authority";
|
|
2
|
-
import * as React from "react";
|
|
3
|
-
declare const colorDotVariants: (props?: ({
|
|
4
|
-
size?: "sm" | "lg" | "md" | null | undefined;
|
|
5
|
-
pulse?: boolean | null | undefined;
|
|
6
|
-
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
7
|
-
export type ColorDotProps = React.HTMLAttributes<HTMLSpanElement> & VariantProps<typeof colorDotVariants> & {
|
|
8
|
-
/** Intent name (neutral, brand, success, warning, danger) or arbitrary CSS color */
|
|
9
|
-
color: string;
|
|
10
|
-
};
|
|
11
|
-
export declare const ColorDot: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLSpanElement> & VariantProps<(props?: ({
|
|
12
|
-
size?: "sm" | "lg" | "md" | null | undefined;
|
|
13
|
-
pulse?: boolean | null | undefined;
|
|
14
|
-
} & import("class-variance-authority/types").ClassProp) | undefined) => string> & {
|
|
15
|
-
/** Intent name (neutral, brand, success, warning, danger) or arbitrary CSS color */
|
|
16
|
-
color: string;
|
|
17
|
-
} & React.RefAttributes<HTMLSpanElement>>;
|
|
18
|
-
export { colorDotVariants };
|
|
19
|
-
//# sourceMappingURL=ColorDot.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ColorDot.d.ts","sourceRoot":"","sources":["../../../src/components/ColorDot/ColorDot.tsx"],"names":[],"mappings":"AACA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,QAAA,MAAM,gBAAgB;;;8EAgBpB,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC,GAC/D,YAAY,CAAC,OAAO,gBAAgB,CAAC,GAAG;IACtC,oFAAoF;IACpF,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEJ,eAAO,MAAM,QAAQ;;;;IAJjB,oFAAoF;WAC7E,MAAM;yCAcf,CAAC;AAGH,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { cn } from "@sixthshift/design-system/utils";
|
|
3
|
-
import { cva } from "class-variance-authority";
|
|
4
|
-
import * as React from "react";
|
|
5
|
-
const INTENT_CLASSES = {
|
|
6
|
-
neutral: "bg-fg-subtle",
|
|
7
|
-
brand: "bg-bg-brand",
|
|
8
|
-
primary: "bg-bg-brand",
|
|
9
|
-
success: "bg-bg-success",
|
|
10
|
-
warning: "bg-bg-warning",
|
|
11
|
-
danger: "bg-bg-danger",
|
|
12
|
-
};
|
|
13
|
-
const colorDotVariants = cva("inline-block shrink-0 rounded-full", {
|
|
14
|
-
variants: {
|
|
15
|
-
size: {
|
|
16
|
-
sm: "h-1.5 w-1.5",
|
|
17
|
-
md: "h-2 w-2",
|
|
18
|
-
lg: "h-2.5 w-2.5",
|
|
19
|
-
},
|
|
20
|
-
pulse: {
|
|
21
|
-
true: "animate-pulse",
|
|
22
|
-
false: "",
|
|
23
|
-
},
|
|
24
|
-
},
|
|
25
|
-
defaultVariants: {
|
|
26
|
-
size: "md",
|
|
27
|
-
pulse: false,
|
|
28
|
-
},
|
|
29
|
-
});
|
|
30
|
-
export const ColorDot = React.forwardRef(({ color, size, pulse, className, style, ...props }, ref) => {
|
|
31
|
-
const intentClass = INTENT_CLASSES[color];
|
|
32
|
-
return (_jsx("span", { ref: ref, className: cn(colorDotVariants({ size, pulse }), intentClass, className), style: intentClass ? style : { ...style, backgroundColor: color }, ...props }));
|
|
33
|
-
});
|
|
34
|
-
ColorDot.displayName = "ColorDot";
|
|
35
|
-
export { colorDotVariants };
|
|
36
|
-
//# sourceMappingURL=ColorDot.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ColorDot.js","sourceRoot":"","sources":["../../../src/components/ColorDot/ColorDot.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,iCAAiC,CAAC;AACrD,OAAO,EAAE,GAAG,EAAqB,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,cAAc,GAA2B;IAC7C,OAAO,EAAE,cAAc;IACvB,KAAK,EAAE,aAAa;IACpB,OAAO,EAAE,aAAa;IACtB,OAAO,EAAE,eAAe;IACxB,OAAO,EAAE,eAAe;IACxB,MAAM,EAAE,cAAc;CACvB,CAAC;AAEF,MAAM,gBAAgB,GAAG,GAAG,CAAC,oCAAoC,EAAE;IACjE,QAAQ,EAAE;QACR,IAAI,EAAE;YACJ,EAAE,EAAE,aAAa;YACjB,EAAE,EAAE,SAAS;YACb,EAAE,EAAE,aAAa;SAClB;QACD,KAAK,EAAE;YACL,IAAI,EAAE,eAAe;YACrB,KAAK,EAAE,EAAE;SACV;KACF;IACD,eAAe,EAAE;QACf,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,KAAK;KACb;CACF,CAAC,CAAC;AAQH,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAiC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IACnI,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IAE1C,OAAO,CACL,eACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,SAAS,CAAC,EACxE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,KAC7D,KAAK,GACT,CACH,CAAC;AACJ,CAAC,CAAC,CAAC;AACH,QAAQ,CAAC,WAAW,GAAG,UAAU,CAAC;AAElC,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ColorDot/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/ColorDot/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAsB,gBAAgB,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
export type EmptyStateProps = React.HTMLAttributes<HTMLDivElement> & {
|
|
3
|
-
/** Optional icon to display */
|
|
4
|
-
icon?: React.ReactNode;
|
|
5
|
-
/** Message to display */
|
|
6
|
-
message: string;
|
|
7
|
-
/** Optional description for more context */
|
|
8
|
-
description?: string;
|
|
9
|
-
/** Optional action button or element */
|
|
10
|
-
action?: React.ReactNode;
|
|
11
|
-
/** Additional CSS classes */
|
|
12
|
-
className?: string;
|
|
13
|
-
};
|
|
14
|
-
export declare const EmptyState: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & {
|
|
15
|
-
/** Optional icon to display */
|
|
16
|
-
icon?: React.ReactNode;
|
|
17
|
-
/** Message to display */
|
|
18
|
-
message: string;
|
|
19
|
-
/** Optional description for more context */
|
|
20
|
-
description?: string;
|
|
21
|
-
/** Optional action button or element */
|
|
22
|
-
action?: React.ReactNode;
|
|
23
|
-
/** Additional CSS classes */
|
|
24
|
-
className?: string;
|
|
25
|
-
} & React.RefAttributes<HTMLDivElement>>;
|
|
26
|
-
//# sourceMappingURL=EmptyState.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EmptyState.d.ts","sourceRoot":"","sources":["../../../src/components/EmptyState/EmptyState.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,MAAM,eAAe,GAAG,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,GAAG;IACnE,+BAA+B;IAC/B,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,yBAAyB;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,4CAA4C;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wCAAwC;IACxC,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,UAAU;IAZrB,+BAA+B;WACxB,KAAK,CAAC,SAAS;IACtB,yBAAyB;aAChB,MAAM;IACf,4CAA4C;kBAC9B,MAAM;IACpB,wCAAwC;aAC/B,KAAK,CAAC,SAAS;IACxB,6BAA6B;gBACjB,MAAM;wCAclB,CAAC"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Muted } from "@sixthshift/design-system/muted";
|
|
3
|
-
import { cn } from "@sixthshift/design-system/utils";
|
|
4
|
-
import * as React from "react";
|
|
5
|
-
export const EmptyState = React.forwardRef(({ icon, message, description, action, className, ...props }, ref) => {
|
|
6
|
-
return (_jsxs("div", { ref: ref, className: cn("flex flex-col items-center justify-center gap-3 p-8 text-center", className), ...props, children: [icon && _jsx("div", { className: "text-fg-subtle", children: icon }), _jsxs("div", { className: "flex flex-col gap-1", children: [_jsx(Muted, { children: message }), description && _jsx("span", { className: "text-fg-subtle text-xs", children: description })] }), action && _jsx("div", { className: "mt-2", children: action })] }));
|
|
7
|
-
});
|
|
8
|
-
EmptyState.displayName = "EmptyState";
|
|
9
|
-
//# sourceMappingURL=EmptyState.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EmptyState.js","sourceRoot":"","sources":["../../../src/components/EmptyState/EmptyState.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AACxD,OAAO,EAAE,EAAE,EAAE,MAAM,iCAAiC,CAAC;AACrD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAe/B,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAkC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IAC/I,OAAO,CACL,eAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,iEAAiE,EAAE,SAAS,CAAC,KAAM,KAAK,aAClH,IAAI,IAAI,cAAK,SAAS,EAAC,gBAAgB,YAAE,IAAI,GAAO,EACrD,eAAK,SAAS,EAAC,qBAAqB,aAClC,KAAC,KAAK,cAAE,OAAO,GAAS,EACvB,WAAW,IAAI,eAAM,SAAS,EAAC,wBAAwB,YAAE,WAAW,GAAQ,IACzE,EACL,MAAM,IAAI,cAAK,SAAS,EAAC,MAAM,YAAE,MAAM,GAAO,IAC3C,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AACH,UAAU,CAAC,WAAW,GAAG,YAAY,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/EmptyState/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/EmptyState/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAwB,MAAM,cAAc,CAAC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type * as React from "react";
|
|
2
|
-
import { type HeatMapCell } from "./heat-map.utils.js";
|
|
3
|
-
export type HeatMapCalendarProps = React.HTMLAttributes<HTMLDivElement> & {
|
|
4
|
-
data: HeatMapCell[];
|
|
5
|
-
colorScale?: string[];
|
|
6
|
-
cellSize?: number;
|
|
7
|
-
cellGap?: number;
|
|
8
|
-
formatTooltip?: (cell: HeatMapCell) => string;
|
|
9
|
-
};
|
|
10
|
-
export declare const HeatMapCalendar: ({ data, colorScale, cellSize, cellGap, formatTooltip, className, ...rest }: HeatMapCalendarProps) => React.JSX.Element | null;
|
|
11
|
-
//# sourceMappingURL=HeatMapCalendar.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"HeatMapCalendar.d.ts","sourceRoot":"","sources":["../../../src/components/HeatMap/HeatMapCalendar.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAEpC,OAAO,EAA2D,KAAK,WAAW,EAAe,MAAM,kBAAkB,CAAC;AAE1H,MAAM,MAAM,oBAAoB,GAAG,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,GAAG;IACxE,IAAI,EAAE,WAAW,EAAE,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,MAAM,CAAC;CAC/C,CAAC;AAgEF,eAAO,MAAM,eAAe,+EAQzB,oBAAoB,6BA2CtB,CAAC"}
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { cn } from "@sixthshift/design-system/utils";
|
|
3
|
-
import { Temporal } from "../../date-time/index.js";
|
|
4
|
-
import { DAY_KEYS, DAY_LABELS, DEFAULT_COLOR_SCALE, getIntensity, MONTH_NAMES } from "./heat-map.utils.js";
|
|
5
|
-
function buildMonthGrids(data) {
|
|
6
|
-
const dataMap = new Map(data.map((d) => [d.date, d.value]));
|
|
7
|
-
const dates = data.map((d) => Temporal.PlainDate.from(d.date)).sort(Temporal.PlainDate.compare);
|
|
8
|
-
const minDate = dates[0];
|
|
9
|
-
const maxDate = dates[dates.length - 1];
|
|
10
|
-
const months = [];
|
|
11
|
-
let cursor = Temporal.PlainDate.from({ year: minDate.year, month: minDate.month, day: 1 });
|
|
12
|
-
const endMonth = Temporal.PlainDate.from({ year: maxDate.year, month: maxDate.month, day: 1 });
|
|
13
|
-
while (Temporal.PlainDate.compare(cursor, endMonth) <= 0) {
|
|
14
|
-
const year = cursor.year;
|
|
15
|
-
const month = cursor.month;
|
|
16
|
-
const daysInMonth = cursor.daysInMonth;
|
|
17
|
-
const weeks = [];
|
|
18
|
-
let currentWeek = [];
|
|
19
|
-
const firstDow = cursor.dayOfWeek - 1;
|
|
20
|
-
for (let i = 0; i < firstDow; i++) {
|
|
21
|
-
currentWeek.push(null);
|
|
22
|
-
}
|
|
23
|
-
for (let day = 1; day <= daysInMonth; day++) {
|
|
24
|
-
const date = Temporal.PlainDate.from({ year, month, day });
|
|
25
|
-
const dateStr = date.toString();
|
|
26
|
-
const col = date.dayOfWeek - 1;
|
|
27
|
-
currentWeek.push({ date: dateStr, value: dataMap.get(dateStr) ?? 0, col });
|
|
28
|
-
if (col === 6 || day === daysInMonth) {
|
|
29
|
-
if (day === daysInMonth && col < 6) {
|
|
30
|
-
for (let i = col + 1; i <= 6; i++) {
|
|
31
|
-
currentWeek.push(null);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
weeks.push(currentWeek);
|
|
35
|
-
currentWeek = [];
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
months.push({
|
|
39
|
-
year,
|
|
40
|
-
month,
|
|
41
|
-
label: `${MONTH_NAMES[month - 1]} ${year}`,
|
|
42
|
-
weeks,
|
|
43
|
-
});
|
|
44
|
-
cursor = month === 12 ? Temporal.PlainDate.from({ year: year + 1, month: 1, day: 1 }) : Temporal.PlainDate.from({ year, month: month + 1, day: 1 });
|
|
45
|
-
}
|
|
46
|
-
return months;
|
|
47
|
-
}
|
|
48
|
-
export const HeatMapCalendar = ({ data, colorScale = DEFAULT_COLOR_SCALE, cellSize = 12, cellGap = 2, formatTooltip, className, ...rest }) => {
|
|
49
|
-
if (data.length === 0)
|
|
50
|
-
return null;
|
|
51
|
-
const maxValue = Math.max(...data.map((d) => d.value), 1);
|
|
52
|
-
const months = buildMonthGrids(data);
|
|
53
|
-
const step = cellSize + cellGap;
|
|
54
|
-
const gridWidth = 7 * step;
|
|
55
|
-
return (_jsx("div", { ...rest, className: cn("flex flex-wrap gap-4", className), children: months.map((month) => {
|
|
56
|
-
const headerHeight = 24;
|
|
57
|
-
const dayLabelHeight = 14;
|
|
58
|
-
const svgHeight = headerHeight + dayLabelHeight + month.weeks.length * step;
|
|
59
|
-
return (_jsxs("svg", { width: gridWidth, height: svgHeight, className: "overflow-visible", role: "img", children: [_jsx("title", { children: month.label }), _jsx("text", { x: 0, y: 14, className: "fill-fg-normal", fontSize: 12, fontWeight: 500, children: month.label }), DAY_LABELS.map((label, i) => (_jsx("text", { x: i * step + cellSize / 2, y: headerHeight + 10, textAnchor: "middle", className: "fill-fg-subtle", fontSize: 9, children: label }, `day-${DAY_KEYS[i]}`))), month.weeks.map((week, wi) => week.map((cell) => {
|
|
60
|
-
if (!cell)
|
|
61
|
-
return null;
|
|
62
|
-
const intensity = getIntensity(cell.value, maxValue, colorScale.length);
|
|
63
|
-
const fill = cell.value > 0 ? colorScale[intensity] : colorScale[0];
|
|
64
|
-
return (_jsx("rect", { x: cell.col * step, y: headerHeight + dayLabelHeight + wi * step, width: cellSize, height: cellSize, rx: 2, fill: fill, children: formatTooltip && _jsx("title", { children: formatTooltip({ date: cell.date, value: cell.value }) }) }, cell.date));
|
|
65
|
-
}))] }, month.label));
|
|
66
|
-
}) }));
|
|
67
|
-
};
|
|
68
|
-
//# sourceMappingURL=HeatMapCalendar.js.map
|