@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
|
@@ -1,26 +1,9 @@
|
|
|
1
|
-
import
|
|
2
|
-
/**
|
|
3
|
-
* The labelled identifier carve-out used by identity-disclosure surfaces
|
|
4
|
-
* (Person Detail's Identifiers card, Calendar Event's per-source provenance).
|
|
5
|
-
*
|
|
6
|
-
* Field exists because identifiers (JIDs, external IDs, OAuth subs) are
|
|
7
|
-
* *content* on these surfaces — they answer "what does PA know about this
|
|
8
|
-
* contact?" The default value rendering is monospaced with `break-all`
|
|
9
|
-
* because a raw JID is the canonical case and it must wrap inside the row.
|
|
10
|
-
*
|
|
11
|
-
* Sibling primitive — not a replacement: `MetricRow` (in `@sixthshift/design-system/metric-list`)
|
|
12
|
-
* carries runtime metrics ("CPU: 12.5%"). Both are label/value pairs but the
|
|
13
|
-
* value semantics differ: a metric is a short readable number; an identifier
|
|
14
|
-
* is a long opaque string. Forcing `MetricRow` to do both would conflate the
|
|
15
|
-
* two and break Identifiers-card wrapping.
|
|
16
|
-
*
|
|
17
|
-
* See: docs/engineering/explanation/concepts/identity-rendering.md
|
|
18
|
-
*/
|
|
1
|
+
import * as React from "react";
|
|
19
2
|
export type FieldProps = {
|
|
20
3
|
/** The humane label for what the identifier identifies ("WhatsApp", "Email"). */
|
|
21
4
|
label: string;
|
|
22
5
|
/** The identifier itself. Rendered monospaced + breakable by default. */
|
|
23
|
-
children: ReactNode;
|
|
6
|
+
children: React.ReactNode;
|
|
24
7
|
/**
|
|
25
8
|
* `stacked` (default): label above, value below — best for long identifiers
|
|
26
9
|
* that need horizontal room to wrap.
|
|
@@ -36,5 +19,20 @@ export type FieldProps = {
|
|
|
36
19
|
mono?: boolean;
|
|
37
20
|
className?: string;
|
|
38
21
|
};
|
|
39
|
-
|
|
22
|
+
/**
|
|
23
|
+
* Read-only label/value pair for displaying an identifier on
|
|
24
|
+
* identity-disclosure surfaces — a contact's JIDs, external IDs, OAuth
|
|
25
|
+
* subjects. Not a form control: there is no input and nothing to submit.
|
|
26
|
+
*
|
|
27
|
+
* `layout="stacked"` (default) puts the label above the value, for long
|
|
28
|
+
* identifiers that need width to wrap; `layout="row"` puts label and value
|
|
29
|
+
* on one line with the value right-aligned. `mono` (default `true`) renders
|
|
30
|
+
* the value monospaced with `break-all`, since a raw identifier is the
|
|
31
|
+
* canonical case; set it `false` when the value is itself human-readable.
|
|
32
|
+
*
|
|
33
|
+
* Distinct from `FormField`, which is the label + input wrapper for
|
|
34
|
+
* interactive form controls. Both are label/value pairs, but this one is
|
|
35
|
+
* read-only: the value is a long opaque identifier, not an editable field.
|
|
36
|
+
*/
|
|
37
|
+
export declare const Field: React.ForwardRefExoticComponent<FieldProps & React.RefAttributes<HTMLDivElement>>;
|
|
40
38
|
//# sourceMappingURL=Field.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Field.d.ts","sourceRoot":"","sources":["../../../src/components/Field/Field.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"Field.d.ts","sourceRoot":"","sources":["../../../src/components/Field/Field.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,MAAM,UAAU,GAAG;IACvB,iFAAiF;IACjF,KAAK,EAAE,MAAM,CAAC;IACd,yEAAyE;IACzE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B;;;;;OAKG;IACH,MAAM,CAAC,EAAE,SAAS,GAAG,KAAK,CAAC;IAC3B;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,KAAK,mFAkBhB,CAAC"}
|
|
@@ -1,10 +1,27 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { cn } from "@sixthshift/design-system/utils";
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
/**
|
|
5
|
+
* Read-only label/value pair for displaying an identifier on
|
|
6
|
+
* identity-disclosure surfaces — a contact's JIDs, external IDs, OAuth
|
|
7
|
+
* subjects. Not a form control: there is no input and nothing to submit.
|
|
8
|
+
*
|
|
9
|
+
* `layout="stacked"` (default) puts the label above the value, for long
|
|
10
|
+
* identifiers that need width to wrap; `layout="row"` puts label and value
|
|
11
|
+
* on one line with the value right-aligned. `mono` (default `true`) renders
|
|
12
|
+
* the value monospaced with `break-all`, since a raw identifier is the
|
|
13
|
+
* canonical case; set it `false` when the value is itself human-readable.
|
|
14
|
+
*
|
|
15
|
+
* Distinct from `FormField`, which is the label + input wrapper for
|
|
16
|
+
* interactive form controls. Both are label/value pairs, but this one is
|
|
17
|
+
* read-only: the value is a long opaque identifier, not an editable field.
|
|
18
|
+
*/
|
|
19
|
+
export const Field = React.forwardRef(({ label, children, layout = "stacked", mono = true, className }, ref) => {
|
|
20
|
+
const valueClass = cn("text-(--field-fg) text-xs", mono && "break-all font-mono");
|
|
5
21
|
if (layout === "row") {
|
|
6
|
-
return (_jsxs("div", { className: cn("flex items-baseline justify-between gap-3", className), children: [_jsx("span", { className: "shrink-0 text-fg
|
|
22
|
+
return (_jsxs("div", { ref: ref, className: cn("field flex items-baseline justify-between gap-3", className), children: [_jsx("span", { className: "shrink-0 text-(--field-fg) text-sm", children: label }), _jsx("span", { className: cn(valueClass, "min-w-0 text-right"), children: children })] }));
|
|
7
23
|
}
|
|
8
|
-
return (_jsxs("div", { className: cn("flex flex-col gap-1", className), children: [_jsx("span", { className: "text-fg
|
|
9
|
-
};
|
|
24
|
+
return (_jsxs("div", { ref: ref, className: cn("field flex flex-col gap-1", className), children: [_jsx("span", { className: "text-(--field-fg) text-xs uppercase tracking-wide", children: label }), _jsx("span", { className: valueClass, children: children })] }));
|
|
25
|
+
});
|
|
26
|
+
Field.displayName = "Field";
|
|
10
27
|
//# sourceMappingURL=Field.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Field.js","sourceRoot":"","sources":["../../../src/components/Field/Field.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"Field.js","sourceRoot":"","sources":["../../../src/components/Field/Field.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,iCAAiC,CAAC;AACrD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAuB/B;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAA6B,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,GAAG,IAAI,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,EAAE;IACzI,MAAM,UAAU,GAAG,EAAE,CAAC,2BAA2B,EAAE,IAAI,IAAI,qBAAqB,CAAC,CAAC;IAElF,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACrB,OAAO,CACL,eAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,iDAAiD,EAAE,SAAS,CAAC,aACxF,eAAM,SAAS,EAAC,oCAAoC,YAAE,KAAK,GAAQ,EACnE,eAAM,SAAS,EAAE,EAAE,CAAC,UAAU,EAAE,oBAAoB,CAAC,YAAG,QAAQ,GAAQ,IACpE,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,eAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,2BAA2B,EAAE,SAAS,CAAC,aAClE,eAAM,SAAS,EAAC,mDAAmD,YAAE,KAAK,GAAQ,EAClF,eAAM,SAAS,EAAE,UAAU,YAAG,QAAQ,GAAQ,IAC1C,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AACH,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC"}
|
|
@@ -9,6 +9,21 @@ export type FormFieldProps = React.HTMLAttributes<HTMLDivElement> & {
|
|
|
9
9
|
feedback?: FormFieldFeedback;
|
|
10
10
|
required?: boolean;
|
|
11
11
|
};
|
|
12
|
+
/**
|
|
13
|
+
* Wraps a form control with a label, optional description, and optional
|
|
14
|
+
* validation feedback — the composition point for `Input`, `Textarea`,
|
|
15
|
+
* `Select` and similar controls inside a form.
|
|
16
|
+
*
|
|
17
|
+
* Generates an `id` (or uses the one passed in) and clones it, plus
|
|
18
|
+
* `aria-describedby` (pointing at the description and/or feedback text) and
|
|
19
|
+
* `aria-invalid` (when `feedback.intent` is `"danger"`), onto its child —
|
|
20
|
+
* so the wrapped control does not need those wired by hand. It expects a
|
|
21
|
+
* single child control: the same id and aria attributes get cloned onto
|
|
22
|
+
* every child if more than one is passed.
|
|
23
|
+
*
|
|
24
|
+
* Distinct from `Field`, which displays a read-only label/value pair rather
|
|
25
|
+
* than wrapping an interactive control.
|
|
26
|
+
*/
|
|
12
27
|
declare const FormField: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & {
|
|
13
28
|
label: string;
|
|
14
29
|
description?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormField.d.ts","sourceRoot":"","sources":["../../../src/components/FormField/FormField.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,GAAG;IAClE,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,QAAA,MAAM,SAAS;
|
|
1
|
+
{"version":3,"file":"FormField.d.ts","sourceRoot":"","sources":["../../../src/components/FormField/FormField.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,GAAG;IAClE,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,QAAA,MAAM,SAAS;WArBN,MAAM;kBACC,MAAM;eACT,iBAAiB;eACjB,OAAO;wCAmDlB,CAAC;AAGH,OAAO,EAAE,SAAS,EAAE,CAAC"}
|
|
@@ -4,6 +4,21 @@ import { Message } from "@sixthshift/design-system/message";
|
|
|
4
4
|
import { Muted } from "@sixthshift/design-system/muted";
|
|
5
5
|
import { cn } from "@sixthshift/design-system/utils";
|
|
6
6
|
import * as React from "react";
|
|
7
|
+
/**
|
|
8
|
+
* Wraps a form control with a label, optional description, and optional
|
|
9
|
+
* validation feedback — the composition point for `Input`, `Textarea`,
|
|
10
|
+
* `Select` and similar controls inside a form.
|
|
11
|
+
*
|
|
12
|
+
* Generates an `id` (or uses the one passed in) and clones it, plus
|
|
13
|
+
* `aria-describedby` (pointing at the description and/or feedback text) and
|
|
14
|
+
* `aria-invalid` (when `feedback.intent` is `"danger"`), onto its child —
|
|
15
|
+
* so the wrapped control does not need those wired by hand. It expects a
|
|
16
|
+
* single child control: the same id and aria attributes get cloned onto
|
|
17
|
+
* every child if more than one is passed.
|
|
18
|
+
*
|
|
19
|
+
* Distinct from `Field`, which displays a read-only label/value pair rather
|
|
20
|
+
* than wrapping an interactive control.
|
|
21
|
+
*/
|
|
7
22
|
const FormField = React.forwardRef(({ className, label, description, feedback, required, children, id, ...props }, ref) => {
|
|
8
23
|
const generatedId = React.useId();
|
|
9
24
|
const fieldId = id ?? generatedId;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormField.js","sourceRoot":"","sources":["../../../src/components/FormField/FormField.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AACxD,OAAO,EAAE,EAAE,EAAE,MAAM,iCAAiC,CAAC;AACrD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAc/B,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAiC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IACxJ,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;IAClC,MAAM,OAAO,GAAG,EAAE,IAAI,WAAW,CAAC;IAClC,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;IACzE,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,OAAO,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;IAEhE,OAAO,CACL,eAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,uBAAuB,EAAE,SAAS,CAAC,KAAM,KAAK,aACzE,MAAC,KAAK,IAAC,OAAO,EAAE,OAAO,aACpB,KAAK,EACL,QAAQ,IAAI,eAAM,SAAS,EAAC,uBAAuB,kBAAS,IACvD,EAEP,WAAW,IAAI,KAAC,KAAK,IAAC,EAAE,EAAE,aAAa,YAAG,WAAW,GAAS,EAE9D,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;gBACtC,IAAI,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;oBAChC,OAAO,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE;wBAC/B,EAAE,EAAE,OAAO;wBACX,kBAAkB,EAAE,EAAE,CAAC,aAAa,EAAE,UAAU,CAAC,IAAI,SAAS;wBAC9D,cAAc,EAAE,QAAQ,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;qBAC5B,CAAC,CAAC;gBAC1C,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,EAED,QAAQ,IAAI,CACX,KAAC,OAAO,IAAC,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAC,IAAI,YACxD,QAAQ,CAAC,OAAO,GACT,CACX,IACG,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AACH,SAAS,CAAC,WAAW,GAAG,WAAW,CAAC;AAEpC,OAAO,EAAE,SAAS,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"FormField.js","sourceRoot":"","sources":["../../../src/components/FormField/FormField.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AACxD,OAAO,EAAE,EAAE,EAAE,MAAM,iCAAiC,CAAC;AACrD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAc/B;;;;;;;;;;;;;;GAcG;AACH,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAiC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IACxJ,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;IAClC,MAAM,OAAO,GAAG,EAAE,IAAI,WAAW,CAAC;IAClC,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;IACzE,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,OAAO,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;IAEhE,OAAO,CACL,eAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,uBAAuB,EAAE,SAAS,CAAC,KAAM,KAAK,aACzE,MAAC,KAAK,IAAC,OAAO,EAAE,OAAO,aACpB,KAAK,EACL,QAAQ,IAAI,eAAM,SAAS,EAAC,uBAAuB,kBAAS,IACvD,EAEP,WAAW,IAAI,KAAC,KAAK,IAAC,EAAE,EAAE,aAAa,YAAG,WAAW,GAAS,EAE9D,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;gBACtC,IAAI,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;oBAChC,OAAO,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE;wBAC/B,EAAE,EAAE,OAAO;wBACX,kBAAkB,EAAE,EAAE,CAAC,aAAa,EAAE,UAAU,CAAC,IAAI,SAAS;wBAC9D,cAAc,EAAE,QAAQ,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;qBAC5B,CAAC,CAAC;gBAC1C,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,EAED,QAAQ,IAAI,CACX,KAAC,OAAO,IAAC,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAC,IAAI,YACxD,QAAQ,CAAC,OAAO,GACT,CACX,IACG,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AACH,SAAS,CAAC,WAAW,GAAG,WAAW,CAAC;AAEpC,OAAO,EAAE,SAAS,EAAE,CAAC"}
|
|
@@ -25,6 +25,12 @@ type HoverCardComponent = typeof HoverCardRoot & {
|
|
|
25
25
|
Trigger: typeof HoverCardTrigger;
|
|
26
26
|
Content: typeof HoverCardContent;
|
|
27
27
|
};
|
|
28
|
+
/**
|
|
29
|
+
* NOTE: Storybook shows the copy in HoverCard.stories.tsx
|
|
30
|
+
* (`parameters.docs.description.component`), not this comment. react-docgen
|
|
31
|
+
* cannot extract a description from this declaration shape, so keeping a
|
|
32
|
+
* second copy here would only drift. Edit the stories file.
|
|
33
|
+
*/
|
|
28
34
|
export declare const HoverCard: HoverCardComponent;
|
|
29
35
|
export {};
|
|
30
36
|
//# sourceMappingURL=HoverCard.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HoverCard.d.ts","sourceRoot":"","sources":["../../../src/components/HoverCard/HoverCard.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,SAAS,EAAoF,MAAM,oBAAoB,CAAC;AAEhK,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEjE,MAAM,MAAM,cAAc,GAAG;IAC3B,4BAA4B;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,uCAAuC;IACvC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,+CAA+C;IAC/C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,oCAAoC;IACpC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,yHAAyH;IACzH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qCAAqC;IACrC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAEF,QAAA,MAAM,aAAa,8GAShB,cAAc,sBAqChB,CAAC;AAEF,KAAK,kBAAkB,GAAG,OAAO,aAAa,GAAG;IAC/C,OAAO,EAAE,OAAO,gBAAgB,CAAC;IACjC,OAAO,EAAE,OAAO,gBAAgB,CAAC;CAClC,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,kBAGtB,CAAC"}
|
|
1
|
+
{"version":3,"file":"HoverCard.d.ts","sourceRoot":"","sources":["../../../src/components/HoverCard/HoverCard.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,SAAS,EAAoF,MAAM,oBAAoB,CAAC;AAEhK,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEjE,MAAM,MAAM,cAAc,GAAG;IAC3B,4BAA4B;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,uCAAuC;IACvC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,+CAA+C;IAC/C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,oCAAoC;IACpC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,yHAAyH;IACzH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qCAAqC;IACrC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAEF,QAAA,MAAM,aAAa,8GAShB,cAAc,sBAqChB,CAAC;AAEF,KAAK,kBAAkB,GAAG,OAAO,aAAa,GAAG;IAC/C,OAAO,EAAE,OAAO,gBAAgB,CAAC;IACjC,OAAO,EAAE,OAAO,gBAAgB,CAAC;CAClC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,SAAS,EAAE,kBAGtB,CAAC"}
|
|
@@ -37,6 +37,12 @@ const HoverCardRoot = ({ open: controlledOpen, onOpenChange, defaultOpen = false
|
|
|
37
37
|
};
|
|
38
38
|
return _jsx(HoverCardContext.Provider, { value: contextValue, children: children });
|
|
39
39
|
};
|
|
40
|
+
/**
|
|
41
|
+
* NOTE: Storybook shows the copy in HoverCard.stories.tsx
|
|
42
|
+
* (`parameters.docs.description.component`), not this comment. react-docgen
|
|
43
|
+
* cannot extract a description from this declaration shape, so keeping a
|
|
44
|
+
* second copy here would only drift. Edit the stories file.
|
|
45
|
+
*/
|
|
40
46
|
export const HoverCard = Object.assign(HoverCardRoot, {
|
|
41
47
|
Trigger: HoverCardTrigger,
|
|
42
48
|
Content: HoverCardContent,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HoverCard.js","sourceRoot":"","sources":["../../../src/components/HoverCard/HoverCard.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAkB,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAChK,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAEvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAqBjE,MAAM,aAAa,GAAG,CAAC,EACrB,IAAI,EAAE,cAAc,EACpB,YAAY,EACZ,WAAW,GAAG,KAAK,EACnB,SAAS,GAAG,cAAc,EAC1B,SAAS,GAAG,GAAG,EACf,SAAS,GAAG,GAAG,EACf,QAAQ,GAAG,CAAC,EACZ,QAAQ,GACO,EAAE,EAAE;IACnB,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,oBAAoB,CAAC;QAC3C,KAAK,EAAE,cAAc;QACrB,YAAY,EAAE,WAAW;QACzB,QAAQ,EAAE,YAAY;KACvB,CAAC,CAAC;IAEH,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;QACpD,IAAI;QACJ,YAAY,EAAE,OAAO;QACrB,SAAS;QACT,QAAQ,EAAE,OAAO;QACjB,UAAU,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QAC7D,oBAAoB,EAAE,UAAU;KACjC,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,EAAE;QAC9B,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;QAC5C,WAAW,EAAE,WAAW,EAAE;KAC3B,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAChC,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IAEpC,MAAM,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,GAAG,eAAe,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IAEzF,MAAM,YAAY,GAAG;QACnB,IAAI;QACJ,IAAI,EAAE;YACJ,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B;QACD,cAAc;QACd,iBAAiB;QACjB,gBAAgB;KACjB,CAAC;IAEF,OAAO,KAAC,gBAAgB,CAAC,QAAQ,IAAC,KAAK,EAAE,YAAY,YAAG,QAAQ,GAA6B,CAAC;AAChG,CAAC,CAAC;AAOF,MAAM,CAAC,MAAM,SAAS,GAAuB,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE;IACxE,OAAO,EAAE,gBAAgB;IACzB,OAAO,EAAE,gBAAgB;CAC1B,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"HoverCard.js","sourceRoot":"","sources":["../../../src/components/HoverCard/HoverCard.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAkB,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAChK,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAEvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAqBjE,MAAM,aAAa,GAAG,CAAC,EACrB,IAAI,EAAE,cAAc,EACpB,YAAY,EACZ,WAAW,GAAG,KAAK,EACnB,SAAS,GAAG,cAAc,EAC1B,SAAS,GAAG,GAAG,EACf,SAAS,GAAG,GAAG,EACf,QAAQ,GAAG,CAAC,EACZ,QAAQ,GACO,EAAE,EAAE;IACnB,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,oBAAoB,CAAC;QAC3C,KAAK,EAAE,cAAc;QACrB,YAAY,EAAE,WAAW;QACzB,QAAQ,EAAE,YAAY;KACvB,CAAC,CAAC;IAEH,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;QACpD,IAAI;QACJ,YAAY,EAAE,OAAO;QACrB,SAAS;QACT,QAAQ,EAAE,OAAO;QACjB,UAAU,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QAC7D,oBAAoB,EAAE,UAAU;KACjC,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,EAAE;QAC9B,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;QAC5C,WAAW,EAAE,WAAW,EAAE;KAC3B,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAChC,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IAEpC,MAAM,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,GAAG,eAAe,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IAEzF,MAAM,YAAY,GAAG;QACnB,IAAI;QACJ,IAAI,EAAE;YACJ,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B;QACD,cAAc;QACd,iBAAiB;QACjB,gBAAgB;KACjB,CAAC;IAEF,OAAO,KAAC,gBAAgB,CAAC,QAAQ,IAAC,KAAK,EAAE,YAAY,YAAG,QAAQ,GAA6B,CAAC;AAChG,CAAC,CAAC;AAOF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,SAAS,GAAuB,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE;IACxE,OAAO,EAAE,gBAAgB;IACzB,OAAO,EAAE,gBAAgB;CAC1B,CAAC,CAAC"}
|
|
@@ -3,6 +3,21 @@ export type InputProps = React.InputHTMLAttributes<HTMLInputElement> & {
|
|
|
3
3
|
iconLeft?: React.ReactNode;
|
|
4
4
|
iconRight?: React.ReactNode;
|
|
5
5
|
};
|
|
6
|
+
/**
|
|
7
|
+
* Single-line text input for free-form text entry.
|
|
8
|
+
*
|
|
9
|
+
* Renders a plain `<input>` unless `iconLeft` or `iconRight` is supplied, in
|
|
10
|
+
* which case it wraps the input in a relatively positioned container so an
|
|
11
|
+
* icon — or an icon-styled button, as `SearchInput` uses for its clear
|
|
12
|
+
* button — can sit inside the field's padding without affecting layout.
|
|
13
|
+
*
|
|
14
|
+
* Controlled or uncontrolled exactly like a native input (`value`/`onChange`
|
|
15
|
+
* or `defaultValue`), and `type` is forwarded as-is, so `type="password"`,
|
|
16
|
+
* `type="number"`, etc. all work.
|
|
17
|
+
*
|
|
18
|
+
* Meant to be wrapped by `FormField` for label, description and validation
|
|
19
|
+
* wiring, or by `SearchInput` for a search affordance.
|
|
20
|
+
*/
|
|
6
21
|
declare const Input: React.ForwardRefExoticComponent<React.InputHTMLAttributes<HTMLInputElement> & {
|
|
7
22
|
iconLeft?: React.ReactNode;
|
|
8
23
|
iconRight?: React.ReactNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../src/components/Input/Input.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,GAAG;IACrE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC7B,CAAC;AAOF,QAAA,MAAM,KAAK;
|
|
1
|
+
{"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../src/components/Input/Input.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,GAAG;IACrE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC7B,CAAC;AAOF;;;;;;;;;;;;;;GAcG;AACH,QAAA,MAAM,KAAK;eAxBE,KAAK,CAAC,SAAS;gBACd,KAAK,CAAC,SAAS;0CAsD3B,CAAC;AAGH,OAAO,EAAE,KAAK,EAAE,CAAC"}
|
|
@@ -1,15 +1,30 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { cn } from "@sixthshift/design-system/utils";
|
|
3
3
|
import * as React from "react";
|
|
4
|
-
const iconSlotStyles = `absolute top-1/2 -translate-y-1/2 text-fg
|
|
4
|
+
const iconSlotStyles = `absolute top-1/2 -translate-y-1/2 text-(--input-icon-fg)
|
|
5
5
|
[&_svg]:h-4 [&_svg]:w-4
|
|
6
6
|
[&_button]:flex [&_button]:cursor-pointer [&_button]:appearance-none
|
|
7
7
|
[&_button]:border-0 [&_button]:bg-transparent`;
|
|
8
|
+
/**
|
|
9
|
+
* Single-line text input for free-form text entry.
|
|
10
|
+
*
|
|
11
|
+
* Renders a plain `<input>` unless `iconLeft` or `iconRight` is supplied, in
|
|
12
|
+
* which case it wraps the input in a relatively positioned container so an
|
|
13
|
+
* icon — or an icon-styled button, as `SearchInput` uses for its clear
|
|
14
|
+
* button — can sit inside the field's padding without affecting layout.
|
|
15
|
+
*
|
|
16
|
+
* Controlled or uncontrolled exactly like a native input (`value`/`onChange`
|
|
17
|
+
* or `defaultValue`), and `type` is forwarded as-is, so `type="password"`,
|
|
18
|
+
* `type="number"`, etc. all work.
|
|
19
|
+
*
|
|
20
|
+
* Meant to be wrapped by `FormField` for label, description and validation
|
|
21
|
+
* wiring, or by `SearchInput` for a search affordance.
|
|
22
|
+
*/
|
|
8
23
|
const Input = React.forwardRef(({ className, type, iconLeft, iconRight, ...props }, ref) => {
|
|
9
24
|
if (iconLeft || iconRight) {
|
|
10
|
-
return (_jsxs("div", { className: cn("relative h-9 w-full text-sm", className), children: [iconLeft && _jsx("span", { className: cn(iconSlotStyles, "left-3"), children: iconLeft }), _jsx("input", { type: type, className: cn(`flex h-full w-full rounded-md border
|
|
25
|
+
return (_jsxs("div", { className: cn("input relative h-9 w-full text-sm", className), children: [iconLeft && _jsx("span", { className: cn(iconSlotStyles, "left-3"), children: iconLeft }), _jsx("input", { type: type, className: cn(`input border-(color:--input-border) focus-visible:ring-(color:--input-ring) flex h-full w-full rounded-md border bg-(--input-bg) py-1 text-[length:inherit] shadow-xs transition-colors file:border-0 file:bg-(--input-file-bg) file:font-medium file:text-(--input-file-fg) file:text-sm placeholder:text-(--input-placeholder-fg) focus-visible:outline-hidden focus-visible:ring-2 disabled:cursor-not-allowed disabled:opacity-50`, iconLeft ? "pl-9" : "pl-3", iconRight ? "pr-9" : "pr-3"), ref: ref, ...props }), iconRight && _jsx("span", { className: cn(iconSlotStyles, "right-3"), children: iconRight })] }));
|
|
11
26
|
}
|
|
12
|
-
return (_jsx("input", { type: type, className: cn(`flex h-9 w-full rounded-md border
|
|
27
|
+
return (_jsx("input", { type: type, className: cn(`input border-(color:--input-border) focus-visible:ring-(color:--input-ring) flex h-9 w-full rounded-md border bg-(--input-bg) px-3 py-1 text-sm shadow-xs transition-colors file:border-0 file:bg-(--input-file-bg) file:font-medium file:text-(--input-file-fg) file:text-sm placeholder:text-(--input-placeholder-fg) focus-visible:outline-hidden focus-visible:ring-2 disabled:cursor-not-allowed disabled:opacity-50`, className), ref: ref, ...props }));
|
|
13
28
|
});
|
|
14
29
|
Input.displayName = "Input";
|
|
15
30
|
export { Input };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Input.js","sourceRoot":"","sources":["../../../src/components/Input/Input.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,iCAAiC,CAAC;AACrD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,MAAM,cAAc,GAAG;;;gDAGyB,CAAC;AAEjD,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAA+B,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IACvH,IAAI,QAAQ,IAAI,SAAS,EAAE,CAAC;QAC1B,OAAO,CACL,eAAK,SAAS,EAAE,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"Input.js","sourceRoot":"","sources":["../../../src/components/Input/Input.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,iCAAiC,CAAC;AACrD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,MAAM,cAAc,GAAG;;;gDAGyB,CAAC;AAEjD;;;;;;;;;;;;;;GAcG;AACH,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAA+B,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IACvH,IAAI,QAAQ,IAAI,SAAS,EAAE,CAAC;QAC1B,OAAO,CACL,eAAK,SAAS,EAAE,EAAE,CAAC,mCAAmC,EAAE,SAAS,CAAC,aAC/D,QAAQ,IAAI,eAAM,SAAS,EAAE,EAAE,CAAC,cAAc,EAAE,QAAQ,CAAC,YAAG,QAAQ,GAAQ,EAC7E,gBACE,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,EAAE,CACX,uaAAua,EACva,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAC1B,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAC5B,EACD,GAAG,EAAE,GAAG,KACJ,KAAK,GACT,EACD,SAAS,IAAI,eAAM,SAAS,EAAE,EAAE,CAAC,cAAc,EAAE,SAAS,CAAC,YAAG,SAAS,GAAQ,IAC5E,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,gBACE,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,EAAE,CACX,2ZAA2Z,EAC3Z,SAAS,CACV,EACD,GAAG,EAAE,GAAG,KACJ,KAAK,GACT,CACH,CAAC;AACJ,CAAC,CAAC,CAAC;AACH,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC;AAE5B,OAAO,EAAE,KAAK,EAAE,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as React from "react";
|
|
2
2
|
export type LineChartDataPoint = {
|
|
3
3
|
label: string;
|
|
4
4
|
value: number;
|
|
@@ -26,5 +26,38 @@ export type LineChartProps = React.HTMLAttributes<HTMLDivElement> & {
|
|
|
26
26
|
formatTooltip?: (point: LineChartDataPoint, seriesName?: string) => string;
|
|
27
27
|
formatValue?: (value: number) => string;
|
|
28
28
|
};
|
|
29
|
-
|
|
29
|
+
/**
|
|
30
|
+
* Multi-series line chart, rendered as a single responsive SVG (a `viewBox`,
|
|
31
|
+
* no fixed pixel size) with one `<path>` per series, plus optional grid
|
|
32
|
+
* lines, axes, dots, and per-point value labels.
|
|
33
|
+
*
|
|
34
|
+
* Colour is per-series: pass a CSS color string via `color` on a
|
|
35
|
+
* `LineChartSeries` (typically a `var(--fg-*)` token), or omit it to cycle
|
|
36
|
+
* through the same default palette `BarChart` uses. The y-axis scale is
|
|
37
|
+
* computed from the data into "nice" round ticks unless `yMin`/`yMax`/
|
|
38
|
+
* `yTicks` override it.
|
|
39
|
+
*
|
|
40
|
+
* The chart has a single static accessible name — `<title>Line
|
|
41
|
+
* chart</title>` behind `role="img"` — regardless of what's plotted; it does
|
|
42
|
+
* not describe the series or values. `showTooltip` overlays a `Tooltip` at
|
|
43
|
+
* each data point, but the trigger is a plain, unfocusable `<span>`, so it
|
|
44
|
+
* only responds to mouse hover, not keyboard.
|
|
45
|
+
*/
|
|
46
|
+
export declare const LineChart: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & {
|
|
47
|
+
series: LineChartSeries[];
|
|
48
|
+
height?: number;
|
|
49
|
+
showGrid?: boolean;
|
|
50
|
+
showAxes?: boolean;
|
|
51
|
+
showDots?: boolean;
|
|
52
|
+
showLabels?: boolean;
|
|
53
|
+
showValues?: boolean;
|
|
54
|
+
interpolation?: Interpolation;
|
|
55
|
+
fillArea?: boolean;
|
|
56
|
+
yMin?: number;
|
|
57
|
+
yMax?: number;
|
|
58
|
+
yTicks?: number;
|
|
59
|
+
showTooltip?: boolean;
|
|
60
|
+
formatTooltip?: (point: LineChartDataPoint, seriesName?: string) => string;
|
|
61
|
+
formatValue?: (value: number) => string;
|
|
62
|
+
} & React.RefAttributes<HTMLDivElement>>;
|
|
30
63
|
//# sourceMappingURL=LineChart.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LineChart.d.ts","sourceRoot":"","sources":["../../../src/components/LineChart/LineChart.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,
|
|
1
|
+
{"version":3,"file":"LineChart.d.ts","sourceRoot":"","sources":["../../../src/components/LineChart/LineChart.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,kBAAkB,EAAE,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,UAAU,GAAG,YAAY,GAAG,WAAW,CAAC;AAE/E,MAAM,MAAM,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,GAAG;IAClE,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAC3E,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;CACzC,CAAC;AAiEF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,SAAS;YAjGZ,eAAe,EAAE;aAChB,MAAM;eACJ,OAAO;eACP,OAAO;eACP,OAAO;iBACL,OAAO;iBACP,OAAO;oBACJ,aAAa;eAClB,OAAO;WACX,MAAM;WACN,MAAM;aACJ,MAAM;kBACD,OAAO;oBACL,CAAC,KAAK,EAAE,kBAAkB,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,MAAM;kBAC5D,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM;wCAgPxC,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Tooltip } from "@sixthshift/design-system/tooltip";
|
|
3
3
|
import { cn } from "@sixthshift/design-system/utils";
|
|
4
|
+
import * as React from "react";
|
|
4
5
|
const SERIES_COLORS = ["var(--fg-brand)", "var(--fg-success)", "var(--fg-warning)", "var(--fg-danger)", "var(--fg-subtle)"];
|
|
5
6
|
const PADDING = { top: 12, right: 16, bottom: 32, left: 48 };
|
|
6
7
|
const PADDING_NO_AXES = { top: 8, right: 8, bottom: 8, left: 8 };
|
|
@@ -59,7 +60,24 @@ function buildPath(points, interpolation) {
|
|
|
59
60
|
}
|
|
60
61
|
return parts.join(" ");
|
|
61
62
|
}
|
|
62
|
-
|
|
63
|
+
/**
|
|
64
|
+
* Multi-series line chart, rendered as a single responsive SVG (a `viewBox`,
|
|
65
|
+
* no fixed pixel size) with one `<path>` per series, plus optional grid
|
|
66
|
+
* lines, axes, dots, and per-point value labels.
|
|
67
|
+
*
|
|
68
|
+
* Colour is per-series: pass a CSS color string via `color` on a
|
|
69
|
+
* `LineChartSeries` (typically a `var(--fg-*)` token), or omit it to cycle
|
|
70
|
+
* through the same default palette `BarChart` uses. The y-axis scale is
|
|
71
|
+
* computed from the data into "nice" round ticks unless `yMin`/`yMax`/
|
|
72
|
+
* `yTicks` override it.
|
|
73
|
+
*
|
|
74
|
+
* The chart has a single static accessible name — `<title>Line
|
|
75
|
+
* chart</title>` behind `role="img"` — regardless of what's plotted; it does
|
|
76
|
+
* not describe the series or values. `showTooltip` overlays a `Tooltip` at
|
|
77
|
+
* each data point, but the trigger is a plain, unfocusable `<span>`, so it
|
|
78
|
+
* only responds to mouse hover, not keyboard.
|
|
79
|
+
*/
|
|
80
|
+
export const LineChart = React.forwardRef(({ series, height = 200, showGrid = true, showAxes = true, showDots = true, showLabels = true, showValues = false, interpolation = "monotone", fillArea = false, yMin: yMinProp, yMax: yMaxProp, yTicks = 4, showTooltip = false, formatTooltip, formatValue = (v) => String(v), className, ...rest }, ref) => {
|
|
63
81
|
const allValues = series.flatMap((s) => s.data.map((d) => d.value));
|
|
64
82
|
// Math.min() of an empty list is Infinity, which propagates NaN through the
|
|
65
83
|
// whole scale. Fall back to a plain 0-1 axis when there is no data.
|
|
@@ -97,7 +115,7 @@ export const LineChart = ({ series, height = 200, showGrid = true, showAxes = tr
|
|
|
97
115
|
const prefix = seriesName ? `${seriesName}: ` : `${point.label}: `;
|
|
98
116
|
return `${prefix}${formatValue(point.value)}`;
|
|
99
117
|
}
|
|
100
|
-
return (_jsxs("div", { ...rest, className: cn("relative w-full", className), children: [_jsxs("svg", { viewBox: `0 0 ${viewWidth} ${height}`, className: "w-full", preserveAspectRatio: "xMidYMid meet", role: "img", children: [_jsx("title", { children: "Line chart" }), showGrid &&
|
|
118
|
+
return (_jsxs("div", { ref: ref, ...rest, className: cn("relative w-full", className), children: [_jsxs("svg", { viewBox: `0 0 ${viewWidth} ${height}`, className: "w-full", preserveAspectRatio: "xMidYMid meet", role: "img", children: [_jsx("title", { children: "Line chart" }), showGrid &&
|
|
101
119
|
yTickValues.map((v) => (_jsx("line", { x1: padding.left, y1: toY(v), x2: viewWidth - padding.right, y2: toY(v), className: "stroke-border-subtle", strokeWidth: 1, strokeDasharray: "4 4" }, `grid-${v}`))), showAxes && (_jsxs(_Fragment, { children: [_jsx("line", { x1: padding.left, y1: padding.top, x2: padding.left, y2: padding.top + chartH, className: "stroke-border-normal", strokeWidth: 1 }), _jsx("line", { x1: padding.left, y1: padding.top + chartH, x2: viewWidth - padding.right, y2: padding.top + chartH, className: "stroke-border-normal", strokeWidth: 1 }), yTickValues.map((v) => (_jsx("text", { x: padding.left - 8, y: toY(v), textAnchor: "end", dominantBaseline: "middle", className: "fill-fg-subtle", fontSize: 11, children: formatValue(v) }, `ytick-${v}`)))] })), showLabels &&
|
|
102
120
|
labels.map((label, i) => (_jsx("text", { x: toX(i), y: height - 4, textAnchor: "middle", className: "fill-fg-subtle", fontSize: 11, children: label }, `xlabel-${label}`))), series.map((s, si) => {
|
|
103
121
|
const color = s.color ?? SERIES_COLORS[si % SERIES_COLORS.length];
|
|
@@ -111,5 +129,6 @@ export const LineChart = ({ series, height = 200, showGrid = true, showAxes = tr
|
|
|
111
129
|
const yPct = (toY(d.value) / height) * 100;
|
|
112
130
|
return (_jsxs(Tooltip, { delayShow: 0, children: [_jsx(Tooltip.Trigger, { asChild: true, children: _jsx("span", { className: "absolute block -translate-x-1/2 -translate-y-1/2", style: { left: `${xPct}%`, top: `${yPct}%`, width: 16, height: 16 } }) }), _jsx(Tooltip.Body, { children: tooltipText(d, s.name) })] }, `tip-${s.name ?? si}-${d.label}`));
|
|
113
131
|
}))] }));
|
|
114
|
-
};
|
|
132
|
+
});
|
|
133
|
+
LineChart.displayName = "LineChart";
|
|
115
134
|
//# sourceMappingURL=LineChart.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LineChart.js","sourceRoot":"","sources":["../../../src/components/LineChart/LineChart.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAC;AAC5D,OAAO,EAAE,EAAE,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"LineChart.js","sourceRoot":"","sources":["../../../src/components/LineChart/LineChart.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,24 @@
|
|
|
1
|
+
import * as React from "react";
|
|
1
2
|
export type MarkdownProps = {
|
|
2
3
|
children: string;
|
|
3
4
|
className?: string;
|
|
4
5
|
};
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
/**
|
|
7
|
+
* Renders a markdown string through the design system's own typography
|
|
8
|
+
* components (`Heading`, `Body`, `Emphasis`) rather than raw HTML tags, so
|
|
9
|
+
* markdown content picks up the same type ramp as everything else.
|
|
10
|
+
*
|
|
11
|
+
* Built for short, chat/assistant-style content rather than full documents:
|
|
12
|
+
* it covers headings, paragraphs, emphasis, links, lists, and code, but
|
|
13
|
+
* heading levels are compressed — `#` renders as `Heading as="h3"`, `##` as
|
|
14
|
+
* `Heading as="h4"`, and `###` as inline `Emphasis` rather than a heading at
|
|
15
|
+
* all — and `h4`+ and tables aren't specially handled: there's no
|
|
16
|
+
* `remark-gfm`, so GFM table syntax doesn't render as a table. Raw HTML
|
|
17
|
+
* embedded in the source is not rendered.
|
|
18
|
+
*
|
|
19
|
+
* `react-markdown` is an optional peer dependency of this package — a
|
|
20
|
+
* consuming app that imports `Markdown` without installing it will fail at
|
|
21
|
+
* runtime.
|
|
22
|
+
*/
|
|
23
|
+
export declare const Markdown: React.ForwardRefExoticComponent<MarkdownProps & React.RefAttributes<HTMLDivElement>>;
|
|
9
24
|
//# sourceMappingURL=Markdown.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Markdown.d.ts","sourceRoot":"","sources":["../../../src/components/Markdown/Markdown.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Markdown.d.ts","sourceRoot":"","sources":["../../../src/components/Markdown/Markdown.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,QAAQ,sFA2BnB,CAAC"}
|
|
@@ -3,8 +3,26 @@ import { Body } from "@sixthshift/design-system/body";
|
|
|
3
3
|
import { Emphasis } from "@sixthshift/design-system/emphasis";
|
|
4
4
|
import { Heading } from "@sixthshift/design-system/heading";
|
|
5
5
|
import { cn } from "@sixthshift/design-system/utils";
|
|
6
|
+
import * as React from "react";
|
|
6
7
|
import ReactMarkdown from "react-markdown";
|
|
7
|
-
|
|
8
|
+
/**
|
|
9
|
+
* Renders a markdown string through the design system's own typography
|
|
10
|
+
* components (`Heading`, `Body`, `Emphasis`) rather than raw HTML tags, so
|
|
11
|
+
* markdown content picks up the same type ramp as everything else.
|
|
12
|
+
*
|
|
13
|
+
* Built for short, chat/assistant-style content rather than full documents:
|
|
14
|
+
* it covers headings, paragraphs, emphasis, links, lists, and code, but
|
|
15
|
+
* heading levels are compressed — `#` renders as `Heading as="h3"`, `##` as
|
|
16
|
+
* `Heading as="h4"`, and `###` as inline `Emphasis` rather than a heading at
|
|
17
|
+
* all — and `h4`+ and tables aren't specially handled: there's no
|
|
18
|
+
* `remark-gfm`, so GFM table syntax doesn't render as a table. Raw HTML
|
|
19
|
+
* embedded in the source is not rendered.
|
|
20
|
+
*
|
|
21
|
+
* `react-markdown` is an optional peer dependency of this package — a
|
|
22
|
+
* consuming app that imports `Markdown` without installing it will fail at
|
|
23
|
+
* runtime.
|
|
24
|
+
*/
|
|
25
|
+
export const Markdown = React.forwardRef(({ children, className }, ref) => (_jsx("div", { ref: ref, className: cn("flex flex-col", className), children: _jsx(ReactMarkdown, { components: {
|
|
8
26
|
h1: ({ children }) => _jsx(Heading, { as: "h3", children: children }),
|
|
9
27
|
h2: ({ children }) => _jsx(Heading, { as: "h4", children: children }),
|
|
10
28
|
h3: ({ children }) => _jsx(Emphasis, { className: "block", children: children }),
|
|
@@ -15,6 +33,6 @@ export const Markdown = ({ children, className }) => (_jsx("div", { className: c
|
|
|
15
33
|
li: ({ children }) => _jsx("li", { className: "text-fg-default text-sm", children: children }),
|
|
16
34
|
code: ({ children }) => _jsx("code", { className: "rounded bg-bg-subtle px-1.5 py-0.5 font-mono text-fg-emphasis text-xs", children: children }),
|
|
17
35
|
pre: ({ children }) => _jsx("pre", { className: "mt-2 overflow-x-auto rounded-md bg-bg-subtle p-3 font-mono text-xs", children: children }),
|
|
18
|
-
}, children: children }) }));
|
|
36
|
+
}, children: children }) })));
|
|
19
37
|
Markdown.displayName = "Markdown";
|
|
20
38
|
//# sourceMappingURL=Markdown.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Markdown.js","sourceRoot":"","sources":["../../../src/components/Markdown/Markdown.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAC;AAC5D,OAAO,EAAE,EAAE,EAAE,MAAM,iCAAiC,CAAC;AACrD,OAAO,aAAa,MAAM,gBAAgB,CAAC;AAO3C,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,EAAE,QAAQ,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"Markdown.js","sourceRoot":"","sources":["../../../src/components/Markdown/Markdown.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAC;AAC5D,OAAO,EAAE,EAAE,EAAE,MAAM,iCAAiC,CAAC;AACrD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,aAAa,MAAM,gBAAgB,CAAC;AAO3C;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAgC,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CACxG,cAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,eAAe,EAAE,SAAS,CAAC,YACtD,KAAC,aAAa,IACZ,UAAU,EAAE;YACV,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,KAAC,OAAO,IAAC,EAAE,EAAC,IAAI,YAAE,QAAQ,GAAW;YAC3D,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,KAAC,OAAO,IAAC,EAAE,EAAC,IAAI,YAAE,QAAQ,GAAW;YAC3D,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,KAAC,QAAQ,IAAC,SAAS,EAAC,OAAO,YAAE,QAAQ,GAAY;YACvE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CACnB,KAAC,IAAI,IAAC,EAAE,EAAC,GAAG,EAAC,SAAS,EAAC,MAAM,YAC1B,QAAQ,GACJ,CACR;YACD,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CACzB,YAAG,IAAI,EAAE,IAAI,EAAE,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,qBAAqB,EAAC,SAAS,EAAC,yBAAyB,YACzF,QAAQ,GACP,CACL;YACD,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,aAAI,SAAS,EAAC,yCAAyC,YAAE,QAAQ,GAAM;YAC7F,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,aAAI,SAAS,EAAC,4CAA4C,YAAE,QAAQ,GAAM;YAChG,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,aAAI,SAAS,EAAC,yBAAyB,YAAE,QAAQ,GAAM;YAC7E,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,eAAM,SAAS,EAAC,uEAAuE,YAAE,QAAQ,GAAQ;YACjI,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,cAAK,SAAS,EAAC,oEAAoE,YAAE,QAAQ,GAAO;SAC5H,YAEA,QAAQ,GACK,GACZ,CACP,CAAC,CAAC;AACH,QAAQ,CAAC,WAAW,GAAG,UAAU,CAAC"}
|
|
@@ -1,22 +1,67 @@
|
|
|
1
1
|
import { type VariantProps } from "class-variance-authority";
|
|
2
2
|
import * as React from "react";
|
|
3
|
+
/**
|
|
4
|
+
* Geometry only, plus the three `--message-*` component tokens.
|
|
5
|
+
*
|
|
6
|
+
* Every colour reads a `--message-*` component token whose value is decided by
|
|
7
|
+
* src/theme/recipes/message.css. That file is the mapping from `intent` to a
|
|
8
|
+
* semantic token — the layer that used to be the `intent` entry in `variants`
|
|
9
|
+
* here, compiled into class-name literals and unreachable from outside.
|
|
10
|
+
* `size` stays here: it is pure geometry (padding, gap, font-size), not
|
|
11
|
+
* colour, so it has no reason to move.
|
|
12
|
+
*/
|
|
3
13
|
export declare const messageVariants: (props?: ({
|
|
4
|
-
|
|
5
|
-
size?: "default" | "sm" | null | undefined;
|
|
14
|
+
size?: "sm" | "md" | null | undefined;
|
|
6
15
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
16
|
+
/**
|
|
17
|
+
* Widened deliberately, same reasoning as `ButtonIntent` in Button.tsx: adding
|
|
18
|
+
* an intent is a CSS change in the consuming app (a new `.message[data-intent=…]`
|
|
19
|
+
* cell in message.css), not a release here, so the type has to admit values
|
|
20
|
+
* this file has never heard of while still autocompleting the ones it ships.
|
|
21
|
+
*/
|
|
22
|
+
type Loose<T extends string> = T | (string & {});
|
|
23
|
+
export type MessageIntentName = "neutral" | "success" | "warning" | "danger";
|
|
24
|
+
export type MessageIntent = Loose<MessageIntentName>;
|
|
7
25
|
export type MessageProps = React.HTMLAttributes<HTMLDivElement> & VariantProps<typeof messageVariants> & {
|
|
26
|
+
intent?: MessageIntent | undefined;
|
|
8
27
|
/** Simple API: Optional title displayed above children */
|
|
9
28
|
title?: React.ReactNode;
|
|
10
29
|
/** Simple API: Optional icon displayed on the left */
|
|
11
30
|
icon?: React.ReactNode;
|
|
12
31
|
};
|
|
32
|
+
/**
|
|
33
|
+
* An inline feedback banner — info, success, warning, or error — that
|
|
34
|
+
* renders wherever the caller places it and stays until the caller removes
|
|
35
|
+
* it. Reach for `Message` over `Toast` when the feedback belongs in the
|
|
36
|
+
* page's own layout (form validation, an in-card load error); reach for
|
|
37
|
+
* `Toast` when it should float above the page and disappear on its own.
|
|
38
|
+
* `Toast` itself renders a `Message` internally.
|
|
39
|
+
*
|
|
40
|
+
* `intent` (`"neutral"` (default) | `"success"` | `"warning"` | `"danger"`,
|
|
41
|
+
* widened to accept any string) drives both the color, via `--message-*`
|
|
42
|
+
* component tokens, and the ARIA live-region role: `"danger"` is the only
|
|
43
|
+
* intent that gets `role="alert"` (assertive — cuts off whatever a screen
|
|
44
|
+
* reader was announcing); every other intent, including one this library has
|
|
45
|
+
* never heard of, gets `role="status"` (polite — announced at the next
|
|
46
|
+
* natural pause). An unrecognised intent still falls through to
|
|
47
|
+
* `role="status"` rather than resolving to no role at all. `role` can be
|
|
48
|
+
* overridden directly if a specific case needs it. `size` (`"md"` | `"sm"`)
|
|
49
|
+
* is geometry only (padding/gap/font-size) and carries no color.
|
|
50
|
+
*
|
|
51
|
+
* Two ways to give it content: the simple API (`title` + `icon` props, with
|
|
52
|
+
* `children` as the description), or compound children (`Message.Icon`,
|
|
53
|
+
* `Message.Body`, `Message.Title`, `Message.Description`) for layouts the
|
|
54
|
+
* simple API can't express. Message detects which one is in use by
|
|
55
|
+
* inspecting its children, so the two aren't meant to be mixed.
|
|
56
|
+
*/
|
|
13
57
|
export declare const Message: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & VariantProps<(props?: ({
|
|
14
|
-
|
|
15
|
-
size?: "default" | "sm" | null | undefined;
|
|
58
|
+
size?: "sm" | "md" | null | undefined;
|
|
16
59
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string> & {
|
|
60
|
+
intent?: MessageIntent | undefined;
|
|
17
61
|
/** Simple API: Optional title displayed above children */
|
|
18
62
|
title?: React.ReactNode;
|
|
19
63
|
/** Simple API: Optional icon displayed on the left */
|
|
20
64
|
icon?: React.ReactNode;
|
|
21
65
|
} & React.RefAttributes<HTMLDivElement>>;
|
|
66
|
+
export {};
|
|
22
67
|
//# sourceMappingURL=Message.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Message.d.ts","sourceRoot":"","sources":["../../../src/components/Message/Message.tsx"],"names":[],"mappings":"AACA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,eAAO,MAAM,eAAe
|
|
1
|
+
{"version":3,"file":"Message.d.ts","sourceRoot":"","sources":["../../../src/components/Message/Message.tsx"],"names":[],"mappings":"AACA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe;;8EAgB3B,CAAC;AAEF;;;;;GAKG;AACH,KAAK,KAAK,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAEjD,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;AAC7E,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;AAErD,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,GAC7D,YAAY,CAAC,OAAO,eAAe,CAAC,GAAG;IACrC,MAAM,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;IACnC,0DAA0D;IAC1D,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,sDAAsD;IACtD,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACxB,CAAC;AAsBJ;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,OAAO;;;aApDP,aAAa,GAAG,SAAS;IAClC,0DAA0D;YAClD,KAAK,CAAC,SAAS;IACvB,sDAAsD;WAC/C,KAAK,CAAC,SAAS;wCAsExB,CAAC"}
|