@sixthshift/design-system 0.2.1 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +242 -33
- package/dist/components/Badge/Badge.d.ts +65 -7
- package/dist/components/Badge/Badge.d.ts.map +1 -1
- package/dist/components/Badge/Badge.js +56 -46
- package/dist/components/Badge/Badge.js.map +1 -1
- package/dist/components/Badge/index.d.ts +1 -1
- package/dist/components/Badge/index.d.ts.map +1 -1
- package/dist/components/Badge/index.js +1 -1
- package/dist/components/Badge/index.js.map +1 -1
- package/dist/components/BarChart/BarChart.d.ts +20 -2
- package/dist/components/BarChart/BarChart.d.ts.map +1 -1
- package/dist/components/BarChart/BarChart.js +17 -3
- package/dist/components/BarChart/BarChart.js.map +1 -1
- package/dist/components/Button/Button.d.ts +85 -6
- package/dist/components/Button/Button.d.ts.map +1 -1
- package/dist/components/Button/Button.js +97 -106
- package/dist/components/Button/Button.js.map +1 -1
- package/dist/components/Button/index.d.ts +1 -1
- package/dist/components/Button/index.d.ts.map +1 -1
- package/dist/components/Button/index.js +1 -1
- package/dist/components/Button/index.js.map +1 -1
- package/dist/components/Calendar/Calendar.d.ts +31 -1
- package/dist/components/Calendar/Calendar.d.ts.map +1 -1
- package/dist/components/Calendar/Calendar.js +94 -225
- package/dist/components/Calendar/Calendar.js.map +1 -1
- package/dist/components/Calendar/CalendarView.d.ts +15 -0
- package/dist/components/Calendar/CalendarView.d.ts.map +1 -0
- package/dist/components/Calendar/CalendarView.js +263 -0
- package/dist/components/Calendar/CalendarView.js.map +1 -0
- package/dist/components/Calendar/calendar.types.d.ts +87 -27
- package/dist/components/Calendar/calendar.types.d.ts.map +1 -1
- package/dist/components/Calendar/calendar.types.js +10 -3
- package/dist/components/Calendar/calendar.types.js.map +1 -1
- package/dist/components/Calendar/index.d.ts +16 -2
- package/dist/components/Calendar/index.d.ts.map +1 -1
- package/dist/components/Calendar/index.js +15 -1
- package/dist/components/Calendar/index.js.map +1 -1
- package/dist/components/Card/Card.d.ts +13 -0
- package/dist/components/Card/Card.d.ts.map +1 -1
- package/dist/components/Card/Card.js +15 -2
- package/dist/components/Card/Card.js.map +1 -1
- package/dist/components/Checkbox/Checkbox.d.ts +21 -0
- package/dist/components/Checkbox/Checkbox.d.ts.map +1 -1
- package/dist/components/Checkbox/Checkbox.js +22 -1
- package/dist/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/components/CheckboxGroup/CheckboxGroup.d.ts +22 -0
- package/dist/components/CheckboxGroup/CheckboxGroup.d.ts.map +1 -1
- package/dist/components/CheckboxGroup/CheckboxGroup.js +22 -0
- package/dist/components/CheckboxGroup/CheckboxGroup.js.map +1 -1
- package/dist/components/Code/Editor/Editor.js +2 -2
- package/dist/components/Code/Editor/Editor.js.map +1 -1
- package/dist/components/Code/Editor/themes.d.ts +2 -2
- package/dist/components/Code/Editor/themes.d.ts.map +1 -1
- package/dist/components/Code/Editor/themes.js +50 -32
- package/dist/components/Code/Editor/themes.js.map +1 -1
- package/dist/components/Code/ValidationStatus/ValidationStatus.d.ts.map +1 -1
- package/dist/components/Code/ValidationStatus/ValidationStatus.js.map +1 -1
- package/dist/components/DatePicker/DatePicker.d.ts +45 -2
- package/dist/components/DatePicker/DatePicker.d.ts.map +1 -1
- package/dist/components/DatePicker/DatePicker.js +228 -11
- package/dist/components/DatePicker/DatePicker.js.map +1 -1
- package/dist/components/DatePicker/DateSegments.d.ts +60 -0
- package/dist/components/DatePicker/DateSegments.d.ts.map +1 -0
- package/dist/components/DatePicker/DateSegments.js +80 -0
- package/dist/components/DatePicker/DateSegments.js.map +1 -0
- package/dist/components/DatePicker/datepicker.types.d.ts +53 -37
- package/dist/components/DatePicker/datepicker.types.d.ts.map +1 -1
- package/dist/components/DatePicker/datepicker.types.js +5 -3
- package/dist/components/DatePicker/datepicker.types.js.map +1 -1
- package/dist/components/DatePicker/index.d.ts +10 -1
- package/dist/components/DatePicker/index.d.ts.map +1 -1
- package/dist/components/DatePicker/index.js +8 -0
- package/dist/components/DatePicker/index.js.map +1 -1
- package/dist/components/DateRangePicker/DateRangePicker.d.ts +22 -3
- package/dist/components/DateRangePicker/DateRangePicker.d.ts.map +1 -1
- package/dist/components/DateRangePicker/DateRangePicker.js +38 -24
- package/dist/components/DateRangePicker/DateRangePicker.js.map +1 -1
- package/dist/components/DateRangePicker/daterangepicker.types.d.ts +26 -21
- package/dist/components/DateRangePicker/daterangepicker.types.d.ts.map +1 -1
- package/dist/components/DateRangePicker/daterangepicker.types.js +6 -0
- package/dist/components/DateRangePicker/daterangepicker.types.js.map +1 -1
- package/dist/components/DateRangePicker/index.d.ts +8 -1
- package/dist/components/DateRangePicker/index.d.ts.map +1 -1
- package/dist/components/DateRangePicker/index.js +6 -0
- package/dist/components/DateRangePicker/index.js.map +1 -1
- package/dist/components/DateTimePicker/DateTimePicker.d.ts +32 -4
- package/dist/components/DateTimePicker/DateTimePicker.d.ts.map +1 -1
- package/dist/components/DateTimePicker/DateTimePicker.js +133 -42
- package/dist/components/DateTimePicker/DateTimePicker.js.map +1 -1
- package/dist/components/DateTimePicker/DateTimeSegments.d.ts +41 -0
- package/dist/components/DateTimePicker/DateTimeSegments.d.ts.map +1 -0
- package/dist/components/DateTimePicker/DateTimeSegments.js +67 -0
- package/dist/components/DateTimePicker/DateTimeSegments.js.map +1 -0
- package/dist/components/DateTimePicker/datetimepicker.types.d.ts +26 -18
- package/dist/components/DateTimePicker/datetimepicker.types.d.ts.map +1 -1
- package/dist/components/DateTimePicker/datetimepicker.types.js +10 -0
- package/dist/components/DateTimePicker/datetimepicker.types.js.map +1 -1
- package/dist/components/DateTimePicker/index.d.ts +8 -1
- package/dist/components/DateTimePicker/index.d.ts.map +1 -1
- package/dist/components/DateTimePicker/index.js +6 -0
- package/dist/components/DateTimePicker/index.js.map +1 -1
- package/dist/components/DateTimeRangePicker/DateTimeRangePicker.d.ts +30 -4
- package/dist/components/DateTimeRangePicker/DateTimeRangePicker.d.ts.map +1 -1
- package/dist/components/DateTimeRangePicker/DateTimeRangePicker.js +171 -72
- package/dist/components/DateTimeRangePicker/DateTimeRangePicker.js.map +1 -1
- package/dist/components/DateTimeRangePicker/datetimerangepicker.types.d.ts +28 -19
- package/dist/components/DateTimeRangePicker/datetimerangepicker.types.d.ts.map +1 -1
- package/dist/components/DateTimeRangePicker/datetimerangepicker.types.js +8 -0
- package/dist/components/DateTimeRangePicker/datetimerangepicker.types.js.map +1 -1
- package/dist/components/DateTimeRangePicker/index.d.ts +8 -0
- package/dist/components/DateTimeRangePicker/index.d.ts.map +1 -1
- package/dist/components/DateTimeRangePicker/index.js +7 -0
- package/dist/components/DateTimeRangePicker/index.js.map +1 -1
- package/dist/components/Field/Field.d.ts +18 -20
- package/dist/components/Field/Field.d.ts.map +1 -1
- package/dist/components/Field/Field.js +22 -5
- package/dist/components/Field/Field.js.map +1 -1
- package/dist/components/FormField/FormField.d.ts +15 -0
- package/dist/components/FormField/FormField.d.ts.map +1 -1
- package/dist/components/FormField/FormField.js +15 -0
- package/dist/components/FormField/FormField.js.map +1 -1
- package/dist/components/HoverCard/HoverCard.d.ts +6 -0
- package/dist/components/HoverCard/HoverCard.d.ts.map +1 -1
- package/dist/components/HoverCard/HoverCard.js +6 -0
- package/dist/components/HoverCard/HoverCard.js.map +1 -1
- package/dist/components/Input/Input.d.ts +15 -0
- package/dist/components/Input/Input.d.ts.map +1 -1
- package/dist/components/Input/Input.js +18 -3
- package/dist/components/Input/Input.js.map +1 -1
- package/dist/components/LineChart/LineChart.d.ts +35 -2
- package/dist/components/LineChart/LineChart.d.ts.map +1 -1
- package/dist/components/LineChart/LineChart.js +22 -3
- package/dist/components/LineChart/LineChart.js.map +1 -1
- package/dist/components/Markdown/Markdown.d.ts +19 -4
- package/dist/components/Markdown/Markdown.d.ts.map +1 -1
- package/dist/components/Markdown/Markdown.js +20 -2
- package/dist/components/Markdown/Markdown.js.map +1 -1
- package/dist/components/Message/Message.d.ts +49 -4
- package/dist/components/Message/Message.d.ts.map +1 -1
- package/dist/components/Message/Message.js +62 -11
- package/dist/components/Message/Message.js.map +1 -1
- package/dist/components/Message/index.d.ts +1 -1
- package/dist/components/Message/index.d.ts.map +1 -1
- package/dist/components/Modal/Modal.d.ts +60 -5
- package/dist/components/Modal/Modal.d.ts.map +1 -1
- package/dist/components/Modal/Modal.js +52 -6
- package/dist/components/Modal/Modal.js.map +1 -1
- package/dist/components/Modal/components/ModalContext.d.ts +14 -0
- package/dist/components/Modal/components/ModalContext.d.ts.map +1 -1
- package/dist/components/Modal/components/ModalContext.js.map +1 -1
- package/dist/components/Modal/components/ModalHeader.d.ts.map +1 -1
- package/dist/components/Modal/components/ModalHeader.js +13 -2
- package/dist/components/Modal/components/ModalHeader.js.map +1 -1
- package/dist/components/Popover/Popover.d.ts +29 -0
- package/dist/components/Popover/Popover.d.ts.map +1 -1
- package/dist/components/Popover/Popover.js +36 -0
- package/dist/components/Popover/Popover.js.map +1 -1
- package/dist/components/Popover/components/PopoverBody.d.ts.map +1 -1
- package/dist/components/Popover/components/PopoverBody.js +5 -2
- package/dist/components/Popover/components/PopoverBody.js.map +1 -1
- package/dist/components/Popover/components/PopoverContext.d.ts +1 -0
- package/dist/components/Popover/components/PopoverContext.d.ts.map +1 -1
- package/dist/components/Popover/components/PopoverContext.js.map +1 -1
- package/dist/components/Popover/components/PopoverTrigger.d.ts.map +1 -1
- package/dist/components/Popover/components/PopoverTrigger.js +2 -2
- package/dist/components/Popover/components/PopoverTrigger.js.map +1 -1
- package/dist/components/ProgressBar/ProgressBar.d.ts +16 -1
- package/dist/components/ProgressBar/ProgressBar.d.ts.map +1 -1
- package/dist/components/ProgressBar/ProgressBar.js +19 -3
- package/dist/components/ProgressBar/ProgressBar.js.map +1 -1
- package/dist/components/RadioButton/RadioButton.d.ts +26 -0
- package/dist/components/RadioButton/RadioButton.d.ts.map +1 -1
- package/dist/components/RadioButton/RadioButton.js +35 -1
- package/dist/components/RadioButton/RadioButton.js.map +1 -1
- package/dist/components/RadioButtonGroup/RadioButtonGroup.d.ts +26 -0
- package/dist/components/RadioButtonGroup/RadioButtonGroup.d.ts.map +1 -1
- package/dist/components/RadioButtonGroup/RadioButtonGroup.js +33 -0
- package/dist/components/RadioButtonGroup/RadioButtonGroup.js.map +1 -1
- package/dist/components/SearchInput/SearchInput.d.ts +10 -0
- package/dist/components/SearchInput/SearchInput.d.ts.map +1 -1
- package/dist/components/SearchInput/SearchInput.js +12 -1
- package/dist/components/SearchInput/SearchInput.js.map +1 -1
- package/dist/components/Select/Select.d.ts +10 -2
- package/dist/components/Select/Select.d.ts.map +1 -1
- package/dist/components/Select/Select.js +63 -18
- package/dist/components/Select/Select.js.map +1 -1
- package/dist/components/Select/SelectDropdown.d.ts +14 -2
- package/dist/components/Select/SelectDropdown.d.ts.map +1 -1
- package/dist/components/Select/SelectDropdown.js +20 -4
- package/dist/components/Select/SelectDropdown.js.map +1 -1
- package/dist/components/Select/SelectTrigger.d.ts +10 -3
- package/dist/components/Select/SelectTrigger.d.ts.map +1 -1
- package/dist/components/Select/SelectTrigger.js +12 -3
- package/dist/components/Select/SelectTrigger.js.map +1 -1
- package/dist/components/Select/useSelectKeyboard.d.ts +15 -1
- package/dist/components/Select/useSelectKeyboard.d.ts.map +1 -1
- package/dist/components/Select/useSelectKeyboard.js +73 -65
- package/dist/components/Select/useSelectKeyboard.js.map +1 -1
- package/dist/components/Separator/Separator.d.ts +10 -0
- package/dist/components/Separator/Separator.d.ts.map +1 -1
- package/dist/components/Separator/Separator.js +10 -0
- package/dist/components/Separator/Separator.js.map +1 -1
- package/dist/components/Sheet/Sheet.d.ts +25 -5
- package/dist/components/Sheet/Sheet.d.ts.map +1 -1
- package/dist/components/Sheet/Sheet.js +24 -6
- package/dist/components/Sheet/Sheet.js.map +1 -1
- package/dist/components/Sheet/components/SheetContext.d.ts +10 -0
- package/dist/components/Sheet/components/SheetContext.d.ts.map +1 -1
- package/dist/components/Sheet/components/SheetContext.js.map +1 -1
- package/dist/components/Sheet/components/SheetFooter.js +1 -1
- package/dist/components/Sheet/components/SheetFooter.js.map +1 -1
- package/dist/components/Sheet/components/SheetHeader.d.ts.map +1 -1
- package/dist/components/Sheet/components/SheetHeader.js +11 -2
- package/dist/components/Sheet/components/SheetHeader.js.map +1 -1
- package/dist/components/Sparkline/Sparkline.d.ts +21 -2
- package/dist/components/Sparkline/Sparkline.d.ts.map +1 -1
- package/dist/components/Sparkline/Sparkline.js +16 -3
- package/dist/components/Sparkline/Sparkline.js.map +1 -1
- package/dist/components/Spinner/Spinner.d.ts +27 -2
- package/dist/components/Spinner/Spinner.d.ts.map +1 -1
- package/dist/components/Spinner/Spinner.js +28 -3
- package/dist/components/Spinner/Spinner.js.map +1 -1
- package/dist/components/Switch/Switch.d.ts +18 -0
- package/dist/components/Switch/Switch.d.ts.map +1 -1
- package/dist/components/Switch/Switch.js +19 -1
- package/dist/components/Switch/Switch.js.map +1 -1
- package/dist/components/Tabs/Tabs.d.ts +8 -2
- package/dist/components/Tabs/Tabs.d.ts.map +1 -1
- package/dist/components/Tabs/Tabs.js +6 -0
- package/dist/components/Tabs/Tabs.js.map +1 -1
- package/dist/components/Tabs/components/TabsList.d.ts +1 -1
- package/dist/components/Tabs/components/TabsList.d.ts.map +1 -1
- package/dist/components/Tabs/components/TabsList.js +5 -4
- package/dist/components/Tabs/components/TabsList.js.map +1 -1
- package/dist/components/Tabs/components/TabsPanels.d.ts +1 -1
- package/dist/components/Tabs/components/TabsPanels.d.ts.map +1 -1
- package/dist/components/Tabs/components/TabsPanels.js +5 -3
- package/dist/components/Tabs/components/TabsPanels.js.map +1 -1
- package/dist/components/Tabs/components/TabsTrigger.d.ts.map +1 -1
- package/dist/components/Tabs/components/TabsTrigger.js +22 -6
- package/dist/components/Tabs/components/TabsTrigger.js.map +1 -1
- package/dist/components/TagChip/TagChip.d.ts +16 -13
- package/dist/components/TagChip/TagChip.d.ts.map +1 -1
- package/dist/components/TagChip/TagChip.js +18 -3
- package/dist/components/TagChip/TagChip.js.map +1 -1
- package/dist/components/TagInput/TagInput.d.ts +12 -9
- package/dist/components/TagInput/TagInput.d.ts.map +1 -1
- package/dist/components/TagInput/TagInput.js +16 -4
- package/dist/components/TagInput/TagInput.js.map +1 -1
- package/dist/components/Text/Text.d.ts +9 -0
- package/dist/components/Text/Text.d.ts.map +1 -1
- package/dist/components/Text/Text.js +9 -0
- package/dist/components/Text/Text.js.map +1 -1
- package/dist/components/TextInline/TextInline.d.ts +15 -4
- package/dist/components/TextInline/TextInline.d.ts.map +1 -1
- package/dist/components/TextInline/TextInline.js +11 -0
- package/dist/components/TextInline/TextInline.js.map +1 -1
- package/dist/components/Textarea/Textarea.d.ts +12 -0
- package/dist/components/Textarea/Textarea.d.ts.map +1 -1
- package/dist/components/Textarea/Textarea.js +13 -1
- package/dist/components/Textarea/Textarea.js.map +1 -1
- package/dist/components/TimePicker/TimeColumn.d.ts +10 -1
- package/dist/components/TimePicker/TimeColumn.d.ts.map +1 -1
- package/dist/components/TimePicker/TimeColumn.js +8 -1
- package/dist/components/TimePicker/TimeColumn.js.map +1 -1
- package/dist/components/TimePicker/TimePicker.d.ts +34 -2
- package/dist/components/TimePicker/TimePicker.d.ts.map +1 -1
- package/dist/components/TimePicker/TimePicker.js +118 -15
- package/dist/components/TimePicker/TimePicker.js.map +1 -1
- package/dist/components/TimePicker/TimeSegments.d.ts +50 -0
- package/dist/components/TimePicker/TimeSegments.d.ts.map +1 -0
- package/dist/components/TimePicker/TimeSegments.js +93 -0
- package/dist/components/TimePicker/TimeSegments.js.map +1 -0
- package/dist/components/TimePicker/timepicker.hooks.d.ts +0 -4
- package/dist/components/TimePicker/timepicker.hooks.d.ts.map +1 -1
- package/dist/components/TimePicker/timepicker.hooks.js +1 -23
- package/dist/components/TimePicker/timepicker.hooks.js.map +1 -1
- package/dist/components/TimePicker/timepicker.types.d.ts +14 -15
- package/dist/components/TimePicker/timepicker.types.d.ts.map +1 -1
- package/dist/components/TimePicker/timepicker.types.js +4 -3
- package/dist/components/TimePicker/timepicker.types.js.map +1 -1
- package/dist/components/Toast/Toast.d.ts +27 -0
- package/dist/components/Toast/Toast.d.ts.map +1 -1
- package/dist/components/Toast/Toast.js +28 -1
- package/dist/components/Toast/Toast.js.map +1 -1
- package/dist/components/Toggle/Toggle.d.ts +31 -12
- package/dist/components/Toggle/Toggle.d.ts.map +1 -1
- package/dist/components/Toggle/Toggle.js +19 -31
- package/dist/components/Toggle/Toggle.js.map +1 -1
- package/dist/components/Toggle/index.d.ts +1 -1
- package/dist/components/Toggle/index.d.ts.map +1 -1
- package/dist/components/Toggle/index.js +1 -1
- package/dist/components/Toggle/index.js.map +1 -1
- package/dist/components/ToggleGroup/ToggleGroup.d.ts +17 -0
- package/dist/components/ToggleGroup/ToggleGroup.d.ts.map +1 -1
- package/dist/components/ToggleGroup/ToggleGroup.js +17 -0
- package/dist/components/ToggleGroup/ToggleGroup.js.map +1 -1
- package/dist/components/ToggleGroup/ToggleGroupItem.d.ts +1 -1
- package/dist/components/ToggleGroup/ToggleGroupItem.d.ts.map +1 -1
- package/dist/components/ToggleGroup/ToggleGroupItem.js +7 -6
- package/dist/components/ToggleGroup/ToggleGroupItem.js.map +1 -1
- package/dist/components/ToggleGroup/ToggleGroupMultiple.d.ts +4 -3
- package/dist/components/ToggleGroup/ToggleGroupMultiple.d.ts.map +1 -1
- package/dist/components/ToggleGroup/ToggleGroupMultiple.js +2 -2
- package/dist/components/ToggleGroup/ToggleGroupMultiple.js.map +1 -1
- package/dist/components/ToggleGroup/ToggleGroupSingle.d.ts +4 -3
- package/dist/components/ToggleGroup/ToggleGroupSingle.d.ts.map +1 -1
- package/dist/components/ToggleGroup/ToggleGroupSingle.js +2 -2
- package/dist/components/ToggleGroup/ToggleGroupSingle.js.map +1 -1
- package/dist/components/ToggleGroup/toggleGroup.types.d.ts +12 -3
- package/dist/components/ToggleGroup/toggleGroup.types.d.ts.map +1 -1
- package/dist/components/Tooltip/Tooltip.d.ts +6 -0
- package/dist/components/Tooltip/Tooltip.d.ts.map +1 -1
- package/dist/components/Tooltip/Tooltip.js +6 -0
- package/dist/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/date-time/index.d.ts +2 -0
- package/dist/date-time/index.d.ts.map +1 -1
- package/dist/date-time/index.js +9 -1
- package/dist/date-time/index.js.map +1 -1
- package/dist/date-time/iso.d.ts +261 -0
- package/dist/date-time/iso.d.ts.map +1 -0
- package/dist/date-time/iso.js +358 -0
- package/dist/date-time/iso.js.map +1 -0
- package/dist/date-time/now.d.ts +7 -6
- package/dist/date-time/now.d.ts.map +1 -1
- package/dist/date-time/now.js +3 -3
- package/dist/date-time/now.js.map +1 -1
- package/dist/internal/PickerField.d.ts +45 -0
- package/dist/internal/PickerField.d.ts.map +1 -0
- package/dist/internal/PickerField.js +24 -0
- package/dist/internal/PickerField.js.map +1 -0
- package/dist/internal/SegmentedField.d.ts +98 -0
- package/dist/internal/SegmentedField.d.ts.map +1 -0
- package/dist/internal/SegmentedField.js +315 -0
- package/dist/internal/SegmentedField.js.map +1 -0
- package/dist/internal/index.d.ts +2 -0
- package/dist/internal/index.d.ts.map +1 -1
- package/dist/internal/index.js +2 -0
- package/dist/internal/index.js.map +1 -1
- package/dist/theme/index.d.ts +4 -3
- package/dist/theme/index.d.ts.map +1 -1
- package/dist/theme/index.js +3 -2
- package/dist/theme/index.js.map +1 -1
- package/dist/theme/schema.d.ts +49 -33
- package/dist/theme/schema.d.ts.map +1 -1
- package/dist/theme/schema.js +30 -21
- package/dist/theme/schema.js.map +1 -1
- package/package.json +11 -59
- package/src/components/Badge/Badge.tsx +87 -49
- package/src/components/Badge/index.ts +10 -1
- package/src/components/BarChart/BarChart.tsx +37 -30
- package/src/components/Button/Button.tsx +129 -106
- package/src/components/Button/index.ts +10 -1
- package/src/components/Calendar/Calendar.tsx +104 -401
- package/src/components/Calendar/CalendarView.tsx +454 -0
- package/src/components/Calendar/calendar.types.ts +104 -29
- package/src/components/Calendar/index.ts +16 -17
- package/src/components/Card/Card.tsx +15 -2
- package/src/components/Checkbox/Checkbox.tsx +22 -2
- package/src/components/CheckboxGroup/CheckboxGroup.tsx +22 -0
- package/src/components/Code/Editor/Editor.tsx +2 -2
- package/src/components/Code/Editor/themes.ts +50 -32
- package/src/components/Code/ValidationStatus/ValidationStatus.tsx +6 -3
- package/src/components/DatePicker/DatePicker.tsx +369 -42
- package/src/components/DatePicker/DateSegments.tsx +125 -0
- package/src/components/DatePicker/datepicker.types.ts +58 -39
- package/src/components/DatePicker/index.ts +11 -3
- package/src/components/DateRangePicker/DateRangePicker.tsx +38 -24
- package/src/components/DateRangePicker/daterangepicker.types.ts +29 -23
- package/src/components/DateRangePicker/index.ts +9 -1
- package/src/components/DateTimePicker/DateTimePicker.tsx +189 -88
- package/src/components/DateTimePicker/DateTimeSegments.tsx +113 -0
- package/src/components/DateTimePicker/datetimepicker.types.ts +29 -19
- package/src/components/DateTimePicker/index.ts +9 -1
- package/src/components/DateTimeRangePicker/DateTimeRangePicker.tsx +251 -126
- package/src/components/DateTimeRangePicker/datetimerangepicker.types.ts +31 -20
- package/src/components/DateTimeRangePicker/index.ts +9 -0
- package/src/components/Field/Field.tsx +25 -26
- package/src/components/FormField/FormField.tsx +15 -0
- package/src/components/HoverCard/HoverCard.tsx +6 -0
- package/src/components/Input/Input.tsx +19 -4
- package/src/components/LineChart/LineChart.tsx +164 -141
- package/src/components/Markdown/Markdown.tsx +21 -3
- package/src/components/Message/Message.tsx +83 -17
- package/src/components/Message/index.ts +1 -1
- package/src/components/Modal/Modal.tsx +157 -86
- package/src/components/Modal/components/ModalContext.tsx +14 -0
- package/src/components/Modal/components/ModalHeader.tsx +15 -3
- package/src/components/Popover/Popover.tsx +36 -0
- package/src/components/Popover/components/PopoverBody.tsx +6 -1
- package/src/components/Popover/components/PopoverContext.tsx +1 -0
- package/src/components/Popover/components/PopoverTrigger.tsx +2 -1
- package/src/components/ProgressBar/ProgressBar.tsx +46 -28
- package/src/components/RadioButton/RadioButton.tsx +34 -3
- package/src/components/RadioButtonGroup/RadioButtonGroup.tsx +32 -0
- package/src/components/SearchInput/SearchInput.tsx +13 -2
- package/src/components/Select/Select.tsx +75 -19
- package/src/components/Select/SelectDropdown.tsx +45 -12
- package/src/components/Select/SelectTrigger.tsx +31 -8
- package/src/components/Select/useSelectKeyboard.ts +20 -10
- package/src/components/Separator/Separator.tsx +10 -0
- package/src/components/Sheet/Sheet.tsx +114 -83
- package/src/components/Sheet/components/SheetContext.tsx +10 -0
- package/src/components/Sheet/components/SheetFooter.tsx +1 -1
- package/src/components/Sheet/components/SheetHeader.tsx +18 -3
- package/src/components/Sparkline/Sparkline.tsx +40 -36
- package/src/components/Spinner/Spinner.tsx +28 -3
- package/src/components/Switch/Switch.tsx +27 -4
- package/src/components/Tabs/Tabs.tsx +6 -0
- package/src/components/Tabs/components/TabsList.tsx +5 -3
- package/src/components/Tabs/components/TabsPanels.tsx +5 -3
- package/src/components/Tabs/components/TabsTrigger.tsx +22 -5
- package/src/components/TagChip/TagChip.tsx +27 -18
- package/src/components/TagInput/TagInput.tsx +16 -11
- package/src/components/Text/Text.tsx +9 -0
- package/src/components/TextInline/TextInline.tsx +11 -0
- package/src/components/Textarea/Textarea.tsx +13 -1
- package/src/components/TimePicker/TimeColumn.tsx +24 -1
- package/src/components/TimePicker/TimePicker.tsx +157 -51
- package/src/components/TimePicker/TimeSegments.tsx +131 -0
- package/src/components/TimePicker/timepicker.hooks.ts +1 -24
- package/src/components/TimePicker/timepicker.types.ts +14 -16
- package/src/components/Toast/Toast.tsx +28 -1
- package/src/components/Toggle/Toggle.tsx +34 -32
- package/src/components/Toggle/index.ts +1 -1
- package/src/components/ToggleGroup/ToggleGroup.tsx +17 -0
- package/src/components/ToggleGroup/ToggleGroupItem.tsx +13 -8
- package/src/components/ToggleGroup/ToggleGroupMultiple.tsx +3 -1
- package/src/components/ToggleGroup/ToggleGroupSingle.tsx +3 -1
- package/src/components/ToggleGroup/toggleGroup.types.ts +12 -3
- package/src/components/Tooltip/Tooltip.tsx +6 -0
- package/src/date-time/index.ts +61 -1
- package/src/date-time/iso.ts +511 -0
- package/src/date-time/now.ts +10 -9
- package/src/internal/PickerField.tsx +90 -0
- package/src/internal/SegmentedField.tsx +445 -0
- package/src/internal/index.ts +2 -0
- package/src/theme/index.ts +11 -9
- package/src/theme/recipes/badge.css +140 -0
- package/src/theme/recipes/button.css +167 -0
- package/src/theme/recipes/card.css +26 -0
- package/src/theme/recipes/checkbox.css +44 -0
- package/src/theme/recipes/field.css +14 -0
- package/src/theme/recipes/index.css +28 -0
- package/src/theme/recipes/input.css +29 -0
- package/src/theme/recipes/message.css +47 -0
- package/src/theme/recipes/modal.css +31 -0
- package/src/theme/recipes/radio-button.css +42 -0
- package/src/theme/recipes/search-input.css +16 -0
- package/src/theme/recipes/select.css +105 -0
- package/src/theme/recipes/sheet.css +34 -0
- package/src/theme/recipes/spinner.css +17 -0
- package/src/theme/recipes/switch.css +39 -0
- package/src/theme/recipes/tabs.css +41 -0
- package/src/theme/recipes/tag-chip.css +27 -0
- package/src/theme/recipes/textarea.css +20 -0
- package/src/theme/recipes/toggle.css +92 -0
- package/src/theme/schema.ts +59 -58
- package/src/theme/tokens.css +824 -0
- package/dist/components/Avatar/Avatar.d.ts +0 -6
- package/dist/components/Avatar/Avatar.d.ts.map +0 -1
- package/dist/components/Avatar/Avatar.js +0 -11
- package/dist/components/Avatar/Avatar.js.map +0 -1
- package/dist/components/Avatar/index.d.ts +0 -2
- package/dist/components/Avatar/index.d.ts.map +0 -1
- package/dist/components/Avatar/index.js +0 -2
- package/dist/components/Avatar/index.js.map +0 -1
- package/dist/components/Breadcrumb/Breadcrumb.d.ts +0 -12
- package/dist/components/Breadcrumb/Breadcrumb.d.ts.map +0 -1
- package/dist/components/Breadcrumb/Breadcrumb.js +0 -19
- package/dist/components/Breadcrumb/Breadcrumb.js.map +0 -1
- package/dist/components/Breadcrumb/index.d.ts +0 -2
- package/dist/components/Breadcrumb/index.d.ts.map +0 -1
- package/dist/components/Breadcrumb/index.js +0 -2
- package/dist/components/Breadcrumb/index.js.map +0 -1
- package/dist/components/ColorDot/ColorDot.d.ts +0 -13
- package/dist/components/ColorDot/ColorDot.d.ts.map +0 -1
- package/dist/components/ColorDot/ColorDot.js +0 -34
- package/dist/components/ColorDot/ColorDot.js.map +0 -1
- package/dist/components/ColorDot/index.d.ts +0 -2
- package/dist/components/ColorDot/index.d.ts.map +0 -1
- package/dist/components/ColorDot/index.js +0 -2
- package/dist/components/ColorDot/index.js.map +0 -1
- package/dist/components/EmptyState/EmptyState.d.ts +0 -15
- package/dist/components/EmptyState/EmptyState.d.ts.map +0 -1
- package/dist/components/EmptyState/EmptyState.js +0 -7
- package/dist/components/EmptyState/EmptyState.js.map +0 -1
- package/dist/components/EmptyState/index.d.ts +0 -2
- package/dist/components/EmptyState/index.d.ts.map +0 -1
- package/dist/components/EmptyState/index.js +0 -2
- package/dist/components/EmptyState/index.js.map +0 -1
- package/dist/components/HeatMap/HeatMapCalendar.d.ts +0 -11
- package/dist/components/HeatMap/HeatMapCalendar.d.ts.map +0 -1
- package/dist/components/HeatMap/HeatMapCalendar.js +0 -68
- package/dist/components/HeatMap/HeatMapCalendar.js.map +0 -1
- package/dist/components/HeatMap/HeatMapMatrix.d.ts +0 -12
- package/dist/components/HeatMap/HeatMapMatrix.d.ts.map +0 -1
- package/dist/components/HeatMap/HeatMapMatrix.js +0 -35
- package/dist/components/HeatMap/HeatMapMatrix.js.map +0 -1
- package/dist/components/HeatMap/heat-map.utils.d.ts +0 -10
- package/dist/components/HeatMap/heat-map.utils.d.ts.map +0 -1
- package/dist/components/HeatMap/heat-map.utils.js +0 -10
- package/dist/components/HeatMap/heat-map.utils.js.map +0 -1
- package/dist/components/HeatMap/index.d.ts +0 -4
- package/dist/components/HeatMap/index.d.ts.map +0 -1
- package/dist/components/HeatMap/index.js +0 -3
- package/dist/components/HeatMap/index.js.map +0 -1
- package/dist/components/MetricList/MetricList.d.ts +0 -9
- package/dist/components/MetricList/MetricList.d.ts.map +0 -1
- package/dist/components/MetricList/MetricList.js +0 -6
- package/dist/components/MetricList/MetricList.js.map +0 -1
- package/dist/components/MetricList/MetricRow.d.ts +0 -13
- package/dist/components/MetricList/MetricRow.d.ts.map +0 -1
- package/dist/components/MetricList/MetricRow.js +0 -13
- package/dist/components/MetricList/MetricRow.js.map +0 -1
- package/dist/components/MetricList/index.d.ts +0 -3
- package/dist/components/MetricList/index.d.ts.map +0 -1
- package/dist/components/MetricList/index.js +0 -3
- package/dist/components/MetricList/index.js.map +0 -1
- package/dist/components/NavBottom/NavBottom.d.ts +0 -15
- package/dist/components/NavBottom/NavBottom.d.ts.map +0 -1
- package/dist/components/NavBottom/NavBottom.js +0 -19
- package/dist/components/NavBottom/NavBottom.js.map +0 -1
- package/dist/components/NavBottom/index.d.ts +0 -3
- package/dist/components/NavBottom/index.d.ts.map +0 -1
- package/dist/components/NavBottom/index.js +0 -2
- package/dist/components/NavBottom/index.js.map +0 -1
- package/dist/components/NavSide/NavItem.d.ts +0 -9
- package/dist/components/NavSide/NavItem.d.ts.map +0 -1
- package/dist/components/NavSide/NavItem.js +0 -13
- package/dist/components/NavSide/NavItem.js.map +0 -1
- package/dist/components/NavSide/NavSide.d.ts +0 -15
- package/dist/components/NavSide/NavSide.d.ts.map +0 -1
- package/dist/components/NavSide/NavSide.js +0 -10
- package/dist/components/NavSide/NavSide.js.map +0 -1
- package/dist/components/NavSide/index.d.ts +0 -3
- package/dist/components/NavSide/index.d.ts.map +0 -1
- package/dist/components/NavSide/index.js +0 -2
- package/dist/components/NavSide/index.js.map +0 -1
- package/dist/components/NavSide/types.d.ts +0 -38
- package/dist/components/NavSide/types.d.ts.map +0 -1
- package/dist/components/NavSide/types.js +0 -2
- package/dist/components/NavSide/types.js.map +0 -1
- package/dist/components/Pagination/Pagination.d.ts +0 -35
- package/dist/components/Pagination/Pagination.d.ts.map +0 -1
- package/dist/components/Pagination/Pagination.js +0 -26
- package/dist/components/Pagination/Pagination.js.map +0 -1
- package/dist/components/Pagination/index.d.ts +0 -3
- package/dist/components/Pagination/index.d.ts.map +0 -1
- package/dist/components/Pagination/index.js +0 -2
- package/dist/components/Pagination/index.js.map +0 -1
- package/dist/components/Skeleton/Skeleton.d.ts +0 -3
- package/dist/components/Skeleton/Skeleton.d.ts.map +0 -1
- package/dist/components/Skeleton/Skeleton.js +0 -7
- package/dist/components/Skeleton/Skeleton.js.map +0 -1
- package/dist/components/Skeleton/index.d.ts +0 -2
- package/dist/components/Skeleton/index.d.ts.map +0 -1
- package/dist/components/Skeleton/index.js +0 -2
- package/dist/components/Skeleton/index.js.map +0 -1
- package/dist/components/StatsCard/StatsCard.d.ts +0 -17
- package/dist/components/StatsCard/StatsCard.d.ts.map +0 -1
- package/dist/components/StatsCard/StatsCard.js +0 -13
- package/dist/components/StatsCard/StatsCard.js.map +0 -1
- package/dist/components/StatsCard/index.d.ts +0 -2
- package/dist/components/StatsCard/index.d.ts.map +0 -1
- package/dist/components/StatsCard/index.js +0 -2
- package/dist/components/StatsCard/index.js.map +0 -1
- package/dist/styles.css +0 -2
- package/dist/theme.generated.css +0 -438
- package/src/components/Avatar/Avatar.tsx +0 -19
- package/src/components/Avatar/index.ts +0 -1
- package/src/components/Breadcrumb/Breadcrumb.tsx +0 -47
- package/src/components/Breadcrumb/index.ts +0 -5
- package/src/components/ColorDot/ColorDot.tsx +0 -50
- package/src/components/ColorDot/index.ts +0 -1
- package/src/components/EmptyState/EmptyState.tsx +0 -29
- package/src/components/EmptyState/index.ts +0 -1
- package/src/components/HeatMap/HeatMapCalendar.tsx +0 -127
- package/src/components/HeatMap/HeatMapMatrix.tsx +0 -75
- package/src/components/HeatMap/heat-map.utils.ts +0 -15
- package/src/components/HeatMap/index.ts +0 -3
- package/src/components/MetricList/MetricList.tsx +0 -13
- package/src/components/MetricList/MetricRow.tsx +0 -30
- package/src/components/MetricList/index.ts +0 -2
- package/src/components/NavBottom/NavBottom.tsx +0 -53
- package/src/components/NavBottom/index.ts +0 -3
- package/src/components/NavSide/NavItem.tsx +0 -39
- package/src/components/NavSide/NavSide.tsx +0 -40
- package/src/components/NavSide/index.ts +0 -2
- package/src/components/NavSide/types.ts +0 -36
- package/src/components/Pagination/Pagination.tsx +0 -86
- package/src/components/Pagination/index.ts +0 -2
- package/src/components/Skeleton/Skeleton.tsx +0 -7
- package/src/components/Skeleton/index.ts +0 -1
- package/src/components/StatsCard/StatsCard.tsx +0 -40
- package/src/components/StatsCard/index.ts +0 -1
- package/src/styles/base.css +0 -41
- package/src/theme/palette.json +0 -100
- package/src/theme/palette.schema.json +0 -40
- package/src/theme/theme.json +0 -349
- package/src/theme/theme.schema.json +0 -876
- package/src/theme/typography.json +0 -7
- package/src/theme/typography.schema.json +0 -36
- package/tailwind.config.ts +0 -261
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iso.js","sourceRoot":"","sources":["../../src/date-time/iso.ts"],"names":[],"mappings":"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"}
|
package/dist/date-time/now.d.ts
CHANGED
|
@@ -4,22 +4,23 @@
|
|
|
4
4
|
* Functions that answer "what time/date is it right now?"
|
|
5
5
|
*/
|
|
6
6
|
import { Temporal } from "@js-temporal/polyfill";
|
|
7
|
+
import type { ISODate, ISODateTime, ISOInstant } from "./iso.js";
|
|
7
8
|
/**
|
|
8
9
|
* Get the current instant (point in time)
|
|
9
10
|
*/
|
|
10
11
|
export declare function now(): Temporal.Instant;
|
|
11
12
|
/**
|
|
12
|
-
* Get the current instant as
|
|
13
|
+
* Get the current instant as a canonical ISO 8601 string (UTC, `...Z`)
|
|
13
14
|
*/
|
|
14
|
-
export declare function nowISO():
|
|
15
|
+
export declare function nowISO(): ISOInstant;
|
|
15
16
|
/**
|
|
16
17
|
* Get today's date in the system timezone
|
|
17
18
|
*/
|
|
18
19
|
export declare function today(): Temporal.PlainDate;
|
|
19
20
|
/**
|
|
20
|
-
* Get today's date as
|
|
21
|
+
* Get today's date as a canonical ISO 8601 string (`YYYY-MM-DD`)
|
|
21
22
|
*/
|
|
22
|
-
export declare function todayISO():
|
|
23
|
+
export declare function todayISO(): ISODate;
|
|
23
24
|
/**
|
|
24
25
|
* Get the current time in the system timezone
|
|
25
26
|
*/
|
|
@@ -29,9 +30,9 @@ export declare function currentTime(): Temporal.PlainTime;
|
|
|
29
30
|
*/
|
|
30
31
|
export declare function nowDateTime(): Temporal.PlainDateTime;
|
|
31
32
|
/**
|
|
32
|
-
* Get the current date/time as
|
|
33
|
+
* Get the current date/time as a canonical ISO 8601 string (no timezone)
|
|
33
34
|
*/
|
|
34
|
-
export declare function nowDateTimeISO():
|
|
35
|
+
export declare function nowDateTimeISO(): ISODateTime;
|
|
35
36
|
/**
|
|
36
37
|
* Get the current zoned date/time in the system timezone
|
|
37
38
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"now.d.ts","sourceRoot":"","sources":["../../src/date-time/now.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"now.d.ts","sourceRoot":"","sources":["../../src/date-time/now.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAE9D;;GAEG;AACH,wBAAgB,GAAG,IAAI,QAAQ,CAAC,OAAO,CAEtC;AAED;;GAEG;AACH,wBAAgB,MAAM,IAAI,UAAU,CAEnC;AAED;;GAEG;AACH,wBAAgB,KAAK,IAAI,QAAQ,CAAC,SAAS,CAE1C;AAED;;GAEG;AACH,wBAAgB,QAAQ,IAAI,OAAO,CAElC;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,QAAQ,CAAC,SAAS,CAEhD;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,QAAQ,CAAC,aAAa,CAEpD;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,WAAW,CAE5C;AAED;;GAEG;AACH,wBAAgB,QAAQ,IAAI,QAAQ,CAAC,aAAa,CAEjD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC,aAAa,CAEtE"}
|
package/dist/date-time/now.js
CHANGED
|
@@ -11,7 +11,7 @@ export function now() {
|
|
|
11
11
|
return Temporal.Now.instant();
|
|
12
12
|
}
|
|
13
13
|
/**
|
|
14
|
-
* Get the current instant as
|
|
14
|
+
* Get the current instant as a canonical ISO 8601 string (UTC, `...Z`)
|
|
15
15
|
*/
|
|
16
16
|
export function nowISO() {
|
|
17
17
|
return Temporal.Now.instant().toString();
|
|
@@ -23,7 +23,7 @@ export function today() {
|
|
|
23
23
|
return Temporal.Now.plainDateISO();
|
|
24
24
|
}
|
|
25
25
|
/**
|
|
26
|
-
* Get today's date as
|
|
26
|
+
* Get today's date as a canonical ISO 8601 string (`YYYY-MM-DD`)
|
|
27
27
|
*/
|
|
28
28
|
export function todayISO() {
|
|
29
29
|
return Temporal.Now.plainDateISO().toString();
|
|
@@ -41,7 +41,7 @@ export function nowDateTime() {
|
|
|
41
41
|
return Temporal.Now.plainDateTimeISO();
|
|
42
42
|
}
|
|
43
43
|
/**
|
|
44
|
-
* Get the current date/time as
|
|
44
|
+
* Get the current date/time as a canonical ISO 8601 string (no timezone)
|
|
45
45
|
*/
|
|
46
46
|
export function nowDateTimeISO() {
|
|
47
47
|
return Temporal.Now.plainDateTimeISO().toString();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"now.js","sourceRoot":"","sources":["../../src/date-time/now.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"now.js","sourceRoot":"","sources":["../../src/date-time/now.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGjD;;GAEG;AACH,MAAM,UAAU,GAAG;IACjB,OAAO,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,MAAM;IACpB,OAAO,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAgB,CAAC;AACzD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,KAAK;IACnB,OAAO,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;AACrC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ;IACtB,OAAO,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAa,CAAC;AAC3D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW;IACzB,OAAO,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;AACrC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW;IACzB,OAAO,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;AACzC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc;IAC5B,OAAO,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,QAAQ,EAAiB,CAAC;AACnE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ;IACtB,OAAO,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;AACzC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,QAAgB;IAC5C,OAAO,QAAQ,CAAC,GAAG,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;AACjD,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
export type PickerFieldProps = {
|
|
3
|
+
/** The segments, or whatever the field holds. */
|
|
4
|
+
children: React.ReactNode;
|
|
5
|
+
/** Icon for the button that opens the popover — a calendar or a clock. */
|
|
6
|
+
icon: React.ReactNode;
|
|
7
|
+
/** Accessible name for that button, e.g. `"Open calendar for start date"`. */
|
|
8
|
+
toggleLabel: string;
|
|
9
|
+
/**
|
|
10
|
+
* Props for the toggle button — in practice Floating UI's
|
|
11
|
+
* `getReferenceProps()`, spread last so its handlers win.
|
|
12
|
+
*/
|
|
13
|
+
toggleProps?: React.ButtonHTMLAttributes<HTMLButtonElement> | undefined;
|
|
14
|
+
/** Drives `aria-expanded` and whether `aria-controls` is set. */
|
|
15
|
+
isOpen: boolean;
|
|
16
|
+
/** Id of the popover this field opens. */
|
|
17
|
+
contentId: string;
|
|
18
|
+
isDisabled?: boolean | undefined;
|
|
19
|
+
isInvalid?: boolean | undefined;
|
|
20
|
+
/** Omit to render no clear button. */
|
|
21
|
+
onClear?: ((event: React.MouseEvent) => void) | undefined;
|
|
22
|
+
/** Accessible name for the clear button, e.g. `"Clear end date"`. */
|
|
23
|
+
clearLabel?: string | undefined;
|
|
24
|
+
className?: string | undefined;
|
|
25
|
+
onFocusCapture?: React.FocusEventHandler<HTMLDivElement> | undefined;
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* The bordered box every picker trigger is: an icon button that opens the
|
|
29
|
+
* popover, the field itself, and an optional clear button.
|
|
30
|
+
*
|
|
31
|
+
* Extracted because there were six of these — `DatePicker` alone had three, one
|
|
32
|
+
* per mode plus the two range halves — and they had already started to drift in
|
|
33
|
+
* padding. The field height, the `focus-within` ring, the invalid border and the
|
|
34
|
+
* disabled treatment are decided once here, so changing them is one edit rather
|
|
35
|
+
* than six.
|
|
36
|
+
*
|
|
37
|
+
* Width is deliberately not decided here: a time field is narrower than a
|
|
38
|
+
* date-and-time field, so callers pass their own `min-w-*` through `className`.
|
|
39
|
+
*
|
|
40
|
+
* The ref is the box element — what Floating UI anchors to.
|
|
41
|
+
*
|
|
42
|
+
* Internal. Not exported from the package.
|
|
43
|
+
*/
|
|
44
|
+
export declare const PickerField: React.ForwardRefExoticComponent<PickerFieldProps & React.RefAttributes<HTMLDivElement>>;
|
|
45
|
+
//# sourceMappingURL=PickerField.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PickerField.d.ts","sourceRoot":"","sources":["../../src/internal/PickerField.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,MAAM,gBAAgB,GAAG;IAC7B,iDAAiD;IACjD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,0EAA0E;IAC1E,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,8EAA8E;IAC9E,WAAW,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,WAAW,CAAC,EAAE,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,GAAG,SAAS,CAAC;IACxE,iEAAiE;IACjE,MAAM,EAAE,OAAO,CAAC;IAChB,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACjC,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAChC,sCAAsC;IACtC,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC1D,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,cAAc,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC;CACtE,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,WAAW,yFAyCvB,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from "@sixthshift/design-system/utils";
|
|
3
|
+
import { X } from "lucide-react";
|
|
4
|
+
import * as React from "react";
|
|
5
|
+
/**
|
|
6
|
+
* The bordered box every picker trigger is: an icon button that opens the
|
|
7
|
+
* popover, the field itself, and an optional clear button.
|
|
8
|
+
*
|
|
9
|
+
* Extracted because there were six of these — `DatePicker` alone had three, one
|
|
10
|
+
* per mode plus the two range halves — and they had already started to drift in
|
|
11
|
+
* padding. The field height, the `focus-within` ring, the invalid border and the
|
|
12
|
+
* disabled treatment are decided once here, so changing them is one edit rather
|
|
13
|
+
* than six.
|
|
14
|
+
*
|
|
15
|
+
* Width is deliberately not decided here: a time field is narrower than a
|
|
16
|
+
* date-and-time field, so callers pass their own `min-w-*` through `className`.
|
|
17
|
+
*
|
|
18
|
+
* The ref is the box element — what Floating UI anchors to.
|
|
19
|
+
*
|
|
20
|
+
* Internal. Not exported from the package.
|
|
21
|
+
*/
|
|
22
|
+
export const PickerField = React.forwardRef(({ children, icon, toggleLabel, toggleProps, isOpen, contentId, isDisabled = false, isInvalid = false, onClear, clearLabel, className, onFocusCapture }, ref) => (_jsxs("div", { ref: ref, onFocusCapture: onFocusCapture, className: cn("relative flex h-9 items-center gap-1 rounded-md border border-border-normal bg-transparent py-1 pl-1.5 shadow-xs transition-colors focus-within:ring-2 focus-within:ring-focus-ring", onClear ? "pr-9" : "pr-3", isInvalid && "border-border-danger", isDisabled && "cursor-not-allowed opacity-50", className), children: [_jsx("button", { type: "button", disabled: isDisabled, "aria-label": toggleLabel, "aria-haspopup": "dialog", "aria-expanded": isOpen, "aria-controls": isOpen ? contentId : undefined, className: "rounded-sm p-1 text-fg-subtle transition-colors hover:text-fg-normal focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-focus-ring disabled:cursor-not-allowed", ...toggleProps, children: icon }), children, onClear && (_jsx("button", { type: "button", onClick: onClear, "aria-label": clearLabel, className: "absolute right-3 rounded-sm p-0.5 text-fg-subtle hover:bg-bg-subtle hover:text-fg-normal focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-focus-ring", children: _jsx(X, { className: "h-3.5 w-3.5" }) }))] })));
|
|
23
|
+
PickerField.displayName = "PickerField";
|
|
24
|
+
//# sourceMappingURL=PickerField.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PickerField.js","sourceRoot":"","sources":["../../src/internal/PickerField.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,iCAAiC,CAAC;AACrD,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AACjC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AA4B/B;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CACzC,CACE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,GAAG,KAAK,EAAE,SAAS,GAAG,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,EACtJ,GAAG,EACH,EAAE,CAAC,CACH,eACE,GAAG,EAAE,GAAG,EACR,cAAc,EAAE,cAAc,EAC9B,SAAS,EAAE,EAAE,CACX,qLAAqL,EACrL,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EACzB,SAAS,IAAI,sBAAsB,EACnC,UAAU,IAAI,+BAA+B,EAC7C,SAAS,CACV,aAED,iBACE,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,UAAU,gBACR,WAAW,mBACT,QAAQ,mBACP,MAAM,mBACN,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAC7C,SAAS,EAAC,kLAAkL,KACxL,WAAW,YAEd,IAAI,GACE,EACR,QAAQ,EACR,OAAO,IAAI,CACV,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,OAAO,gBACJ,UAAU,EACtB,SAAS,EAAC,0KAA0K,YAEpL,KAAC,CAAC,IAAC,SAAS,EAAC,aAAa,GAAG,GACtB,CACV,IACG,CACP,CACF,CAAC;AACF,WAAW,CAAC,WAAW,GAAG,aAAa,CAAC"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
/**
|
|
3
|
+
* One segment of a segmented field.
|
|
4
|
+
*
|
|
5
|
+
* `numeric` covers everything that is typed as digits — a month, an hour, a
|
|
6
|
+
* year. `choice` covers a segment with a fixed vocabulary, which in practice
|
|
7
|
+
* means AM/PM: it holds the index of an option, is typed by first letter, and
|
|
8
|
+
* announces the word rather than the number.
|
|
9
|
+
*/
|
|
10
|
+
export type SegmentSpec = {
|
|
11
|
+
kind?: "numeric";
|
|
12
|
+
/** Key in the values record. */
|
|
13
|
+
name: string;
|
|
14
|
+
/** Accessible name, e.g. `"Month"`. */
|
|
15
|
+
label: string;
|
|
16
|
+
/** Shown when empty, e.g. `"mm"`. */
|
|
17
|
+
placeholder: string;
|
|
18
|
+
/** Width in digits: 2 for a month, 4 for a year. */
|
|
19
|
+
digits: number;
|
|
20
|
+
min: number;
|
|
21
|
+
max: number;
|
|
22
|
+
/** Rendered before this segment, e.g. `"/"` or `":"`. */
|
|
23
|
+
separatorBefore?: string | undefined;
|
|
24
|
+
/** Where an arrow key starts from when the segment is empty. */
|
|
25
|
+
stepFrom?: number | undefined;
|
|
26
|
+
} | {
|
|
27
|
+
kind: "choice";
|
|
28
|
+
name: string;
|
|
29
|
+
label: string;
|
|
30
|
+
placeholder: string;
|
|
31
|
+
/** Ordered vocabulary; the segment's value is an index into it. */
|
|
32
|
+
options: string[];
|
|
33
|
+
separatorBefore?: string | undefined;
|
|
34
|
+
stepFrom?: number | undefined;
|
|
35
|
+
};
|
|
36
|
+
/** Segment values by name. `null` is "nothing typed yet". */
|
|
37
|
+
export type SegmentValues = Record<string, number | null>;
|
|
38
|
+
export type SegmentedFieldProps<T> = {
|
|
39
|
+
spec: SegmentSpec[];
|
|
40
|
+
/** The value the segments display. `undefined` leaves them empty. */
|
|
41
|
+
value: T | undefined;
|
|
42
|
+
/** Split a value into segments. */
|
|
43
|
+
toSegments: (value: T | undefined) => SegmentValues;
|
|
44
|
+
/** Build a value from a complete set of segments. May normalise (clamp a day). */
|
|
45
|
+
fromSegments: (values: Record<string, number>) => T;
|
|
46
|
+
/** Stable identity for a value — how an echo is told from a real change. */
|
|
47
|
+
keyOf: (value: T) => string;
|
|
48
|
+
/**
|
|
49
|
+
* Fires with a whole value, or `undefined` the moment the segments stop
|
|
50
|
+
* describing one. Never fires a partial value, and never mid-number.
|
|
51
|
+
*/
|
|
52
|
+
onChange: (value: T | undefined) => void;
|
|
53
|
+
/** Read a pasted string into segments. Omit to ignore pastes. */
|
|
54
|
+
parsePaste?: ((text: string) => SegmentValues | null) | undefined;
|
|
55
|
+
/** Accessible name for the group. */
|
|
56
|
+
label: string;
|
|
57
|
+
isDisabled?: boolean | undefined;
|
|
58
|
+
isInvalid?: boolean | undefined;
|
|
59
|
+
/** `Alt+ArrowDown` — the combobox convention for "open the popup". */
|
|
60
|
+
onOpenRequest?: (() => void) | undefined;
|
|
61
|
+
/** `Enter` — the caller decides whether that commits, submits or nothing. */
|
|
62
|
+
onSubmit?: (() => void) | undefined;
|
|
63
|
+
id?: string | undefined;
|
|
64
|
+
className?: string | undefined;
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* A typeable field made of spinbutton segments — the shared keyboard model
|
|
68
|
+
* behind every picker's trigger.
|
|
69
|
+
*
|
|
70
|
+
* Segments rather than a text box and a parser: `08/09` cannot be read without
|
|
71
|
+
* knowing the order, and a parser that guesses is wrong for half the world. A
|
|
72
|
+
* labelled `Month` spinbutton cannot be misread, and it displays in exactly the
|
|
73
|
+
* format it accepts, so there is no reformat-on-blur surprise.
|
|
74
|
+
*
|
|
75
|
+
* The behaviour that makes it typeable rather than merely focusable:
|
|
76
|
+
*
|
|
77
|
+
* - **A digit that cannot extend the current segment rolls into the next one.**
|
|
78
|
+
* `152026` in an `mdy` field is January the 5th 2026. Restarting the segment
|
|
79
|
+
* instead — the obvious implementation — silently turns January into May and
|
|
80
|
+
* eats the day, which is what makes a segmented field feel broken.
|
|
81
|
+
* - **Separators advance.** `1/5/2026` typed literally works, because `/` is how
|
|
82
|
+
* a person says "done with this one".
|
|
83
|
+
* - **`Backspace` takes back one digit**, then clears the segment, then steps
|
|
84
|
+
* back to the previous one — the only keyboard route to a segment the digits
|
|
85
|
+
* have already advanced past.
|
|
86
|
+
* - **A click anywhere in the field focuses a segment**, the way clicking a text
|
|
87
|
+
* input anywhere gives it a caret.
|
|
88
|
+
* - **`onChange` is held while a number is still being typed.** A year arrives
|
|
89
|
+
* one digit at a time, and `2` is the start of 2026, not the year 2. Deferred
|
|
90
|
+
* edits flush on blur.
|
|
91
|
+
*
|
|
92
|
+
* Values are the caller's own type; `toSegments`/`fromSegments` are the codec
|
|
93
|
+
* and `keyOf` supplies identity, which Temporal objects do not have.
|
|
94
|
+
*
|
|
95
|
+
* Internal. Not exported from the package.
|
|
96
|
+
*/
|
|
97
|
+
export declare function SegmentedField<T>({ spec, value, toSegments, fromSegments, keyOf, onChange, parsePaste, label, isDisabled, isInvalid, onOpenRequest, onSubmit, id, className, }: SegmentedFieldProps<T>): React.JSX.Element;
|
|
98
|
+
//# sourceMappingURL=SegmentedField.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SegmentedField.d.ts","sourceRoot":"","sources":["../../src/internal/SegmentedField.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW,GACnB;IACE,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,qCAAqC;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,yDAAyD;IACzD,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B,GACD;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,mEAAmE;IACnE,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B,CAAC;AAEN,6DAA6D;AAC7D,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;AAE1D,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAAI;IACnC,IAAI,EAAE,WAAW,EAAE,CAAC;IACpB,qEAAqE;IACrE,KAAK,EAAE,CAAC,GAAG,SAAS,CAAC;IACrB,mCAAmC;IACnC,UAAU,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,SAAS,KAAK,aAAa,CAAC;IACpD,kFAAkF;IAClF,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IACpD,4EAA4E;IAC5E,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC;IAC5B;;;OAGG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,SAAS,KAAK,IAAI,CAAC;IACzC,iEAAiE;IACjE,UAAU,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,aAAa,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC;IAClE,qCAAqC;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACjC,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAChC,sEAAsE;IACtE,aAAa,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IACzC,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IACpC,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC,CAAC;AAsBF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,EAChC,IAAI,EACJ,KAAK,EACL,UAAU,EACV,YAAY,EACZ,KAAK,EACL,QAAQ,EACR,UAAU,EACV,KAAK,EACL,UAAkB,EAClB,SAAiB,EACjB,aAAa,EACb,QAAQ,EACR,EAAE,EACF,SAAS,GACV,EAAE,mBAAmB,CAAC,CAAC,CAAC,qBAiTxB"}
|
|
@@ -0,0 +1,315 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from "@sixthshift/design-system/utils";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { useRef, useState } from "react";
|
|
5
|
+
function limitsOf(segment) {
|
|
6
|
+
if (segment.kind === "choice") {
|
|
7
|
+
// `digits: 0` is what makes a digit roll straight past AM/PM instead of
|
|
8
|
+
// being swallowed by it.
|
|
9
|
+
return { min: 0, max: segment.options.length - 1, digits: 0 };
|
|
10
|
+
}
|
|
11
|
+
return { min: segment.min, max: segment.max, digits: segment.digits };
|
|
12
|
+
}
|
|
13
|
+
const pad = (value, digits) => String(value).padStart(digits, "0");
|
|
14
|
+
function displayOf(segment, current, typed) {
|
|
15
|
+
if (typed !== "")
|
|
16
|
+
return typed;
|
|
17
|
+
if (current === null)
|
|
18
|
+
return segment.placeholder;
|
|
19
|
+
if (segment.kind === "choice")
|
|
20
|
+
return segment.options[current] ?? segment.placeholder;
|
|
21
|
+
return pad(current, segment.digits);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* A typeable field made of spinbutton segments — the shared keyboard model
|
|
25
|
+
* behind every picker's trigger.
|
|
26
|
+
*
|
|
27
|
+
* Segments rather than a text box and a parser: `08/09` cannot be read without
|
|
28
|
+
* knowing the order, and a parser that guesses is wrong for half the world. A
|
|
29
|
+
* labelled `Month` spinbutton cannot be misread, and it displays in exactly the
|
|
30
|
+
* format it accepts, so there is no reformat-on-blur surprise.
|
|
31
|
+
*
|
|
32
|
+
* The behaviour that makes it typeable rather than merely focusable:
|
|
33
|
+
*
|
|
34
|
+
* - **A digit that cannot extend the current segment rolls into the next one.**
|
|
35
|
+
* `152026` in an `mdy` field is January the 5th 2026. Restarting the segment
|
|
36
|
+
* instead — the obvious implementation — silently turns January into May and
|
|
37
|
+
* eats the day, which is what makes a segmented field feel broken.
|
|
38
|
+
* - **Separators advance.** `1/5/2026` typed literally works, because `/` is how
|
|
39
|
+
* a person says "done with this one".
|
|
40
|
+
* - **`Backspace` takes back one digit**, then clears the segment, then steps
|
|
41
|
+
* back to the previous one — the only keyboard route to a segment the digits
|
|
42
|
+
* have already advanced past.
|
|
43
|
+
* - **A click anywhere in the field focuses a segment**, the way clicking a text
|
|
44
|
+
* input anywhere gives it a caret.
|
|
45
|
+
* - **`onChange` is held while a number is still being typed.** A year arrives
|
|
46
|
+
* one digit at a time, and `2` is the start of 2026, not the year 2. Deferred
|
|
47
|
+
* edits flush on blur.
|
|
48
|
+
*
|
|
49
|
+
* Values are the caller's own type; `toSegments`/`fromSegments` are the codec
|
|
50
|
+
* and `keyOf` supplies identity, which Temporal objects do not have.
|
|
51
|
+
*
|
|
52
|
+
* Internal. Not exported from the package.
|
|
53
|
+
*/
|
|
54
|
+
export function SegmentedField({ spec, value, toSegments, fromSegments, keyOf, onChange, parsePaste, label, isDisabled = false, isInvalid = false, onOpenRequest, onSubmit, id, className, }) {
|
|
55
|
+
const names = spec.map((segment) => segment.name);
|
|
56
|
+
const bySpec = (name) => spec.find((segment) => segment.name === name);
|
|
57
|
+
// `!= null` rather than `!== null`: a key the codec forgot to set would be
|
|
58
|
+
// `undefined`, which a `!== null` test would count as filled — and hand
|
|
59
|
+
// `fromSegments` a NaN.
|
|
60
|
+
const isComplete = (values) => names.every((name) => values[name] != null);
|
|
61
|
+
const [segments, setSegments] = useState(() => toSegments(value));
|
|
62
|
+
// Props win, except over the value this field just emitted. Comparing a caller
|
|
63
|
+
// supplied key rather than the value itself matters twice: Temporal has no
|
|
64
|
+
// value identity, and an echoed-back value must not restart the user's edit.
|
|
65
|
+
const valueKey = value === undefined ? "" : keyOf(value);
|
|
66
|
+
const syncedKey = useRef(valueKey);
|
|
67
|
+
if (valueKey !== syncedKey.current) {
|
|
68
|
+
syncedKey.current = valueKey;
|
|
69
|
+
setSegments(toSegments(value));
|
|
70
|
+
}
|
|
71
|
+
// The digits typed into the segment being filled. State rather than a ref
|
|
72
|
+
// because it is rendered: a year mid-typing shows `202`, not `0202`.
|
|
73
|
+
const [buffer, setBuffer] = useState(null);
|
|
74
|
+
const nodes = useRef({});
|
|
75
|
+
const hadValue = useRef(isComplete(toSegments(value)));
|
|
76
|
+
const focusSegment = (name) => {
|
|
77
|
+
if (name)
|
|
78
|
+
nodes.current[name]?.focus();
|
|
79
|
+
};
|
|
80
|
+
const publish = (next) => {
|
|
81
|
+
if (!isComplete(next)) {
|
|
82
|
+
if (hadValue.current) {
|
|
83
|
+
hadValue.current = false;
|
|
84
|
+
// Pre-empt the sync for the cleared value too. Without this, emptying
|
|
85
|
+
// one segment round-trips as `undefined` and wipes the others — the
|
|
86
|
+
// user cleared the day, not the whole date. A controlled caller that
|
|
87
|
+
// *rejects* the clear still wins: its value no longer matches this
|
|
88
|
+
// key, so the next render syncs back to it.
|
|
89
|
+
syncedKey.current = "";
|
|
90
|
+
onChange(undefined);
|
|
91
|
+
}
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
const composed = fromSegments(next);
|
|
95
|
+
const key = keyOf(composed);
|
|
96
|
+
// `fromSegments` may normalise — February the 31st is the 28th — so the
|
|
97
|
+
// segments follow the value rather than the keystrokes. Otherwise the
|
|
98
|
+
// field reads 02/31 while the value says the 28th.
|
|
99
|
+
const normalised = toSegments(composed);
|
|
100
|
+
if (names.some((name) => normalised[name] !== next[name]))
|
|
101
|
+
setSegments(normalised);
|
|
102
|
+
if (key === syncedKey.current)
|
|
103
|
+
return;
|
|
104
|
+
hadValue.current = true;
|
|
105
|
+
syncedKey.current = key;
|
|
106
|
+
onChange(composed);
|
|
107
|
+
};
|
|
108
|
+
/**
|
|
109
|
+
* `defer` holds the announcement while a number is still being typed, so a
|
|
110
|
+
* controlled caller is not handed `0002-12-25`, `0020-12-25`, `0202-12-25` in
|
|
111
|
+
* a row — and anything validating against a bound does not flash mid-word.
|
|
112
|
+
*/
|
|
113
|
+
const commit = (next, defer = false) => {
|
|
114
|
+
setSegments(next);
|
|
115
|
+
if (!defer)
|
|
116
|
+
publish(next);
|
|
117
|
+
};
|
|
118
|
+
const applyDigit = (name, digit) => {
|
|
119
|
+
let target = name;
|
|
120
|
+
let started = buffer?.segment === name ? buffer.text : "";
|
|
121
|
+
// At most one hop per digit in practice; bounded so a bad spec cannot spin.
|
|
122
|
+
for (let hop = 0; hop <= spec.length; hop++) {
|
|
123
|
+
const { max, digits } = limitsOf(bySpec(target));
|
|
124
|
+
const combined = started + digit;
|
|
125
|
+
const next = names[names.indexOf(target) + 1];
|
|
126
|
+
if (digits > 0 && Number(combined) <= max && combined.length <= digits) {
|
|
127
|
+
const numeric = Number(combined);
|
|
128
|
+
const full = combined.length >= digits || numeric * 10 > max;
|
|
129
|
+
setBuffer(full ? null : { segment: target, text: combined });
|
|
130
|
+
commit({ ...segments, [target]: numeric === 0 && limitsOf(bySpec(target)).min > 0 ? null : numeric }, !full);
|
|
131
|
+
focusSegment(full ? next : target);
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
if (!next) {
|
|
135
|
+
if (digits === 0)
|
|
136
|
+
return; // a choice segment takes no digits
|
|
137
|
+
setBuffer({ segment: target, text: digit });
|
|
138
|
+
commit({ ...segments, [target]: Number(digit) === 0 ? null : Number(digit) });
|
|
139
|
+
focusSegment(target);
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
target = next;
|
|
143
|
+
started = "";
|
|
144
|
+
}
|
|
145
|
+
};
|
|
146
|
+
/** A letter picks a `choice` option by first letter — `a` for AM, `p` for PM. */
|
|
147
|
+
const applyLetter = (name, letter) => {
|
|
148
|
+
const segment = bySpec(name);
|
|
149
|
+
if (segment.kind !== "choice")
|
|
150
|
+
return false;
|
|
151
|
+
const index = segment.options.findIndex((option) => option.toLowerCase().startsWith(letter.toLowerCase()));
|
|
152
|
+
if (index === -1)
|
|
153
|
+
return false;
|
|
154
|
+
setBuffer(null);
|
|
155
|
+
commit({ ...segments, [name]: index });
|
|
156
|
+
focusSegment(names[names.indexOf(name) + 1]);
|
|
157
|
+
return true;
|
|
158
|
+
};
|
|
159
|
+
const step = (name, delta) => {
|
|
160
|
+
const segment = bySpec(name);
|
|
161
|
+
const { min, max } = limitsOf(segment);
|
|
162
|
+
const current = segments[name];
|
|
163
|
+
if (current === null || current === undefined) {
|
|
164
|
+
commit({ ...segments, [name]: segment.stepFrom ?? min });
|
|
165
|
+
return;
|
|
166
|
+
}
|
|
167
|
+
let next = current + delta;
|
|
168
|
+
// Cyclic fields wrap, which is what an arrow key means on a month or an
|
|
169
|
+
// hour. A year does not — 9999 to 1 is never the intent — and it says so
|
|
170
|
+
// by spanning more than two digits.
|
|
171
|
+
const cyclic = segment.kind === "choice" || limitsOf(segment).digits <= 2;
|
|
172
|
+
if (!cyclic)
|
|
173
|
+
next = Math.min(Math.max(next, min), max);
|
|
174
|
+
else if (next > max)
|
|
175
|
+
next = min;
|
|
176
|
+
else if (next < min)
|
|
177
|
+
next = max;
|
|
178
|
+
commit({ ...segments, [name]: next });
|
|
179
|
+
};
|
|
180
|
+
const handleKeyDown = (event, name) => {
|
|
181
|
+
if (isDisabled)
|
|
182
|
+
return;
|
|
183
|
+
if (event.altKey && event.key === "ArrowDown") {
|
|
184
|
+
event.preventDefault();
|
|
185
|
+
onOpenRequest?.();
|
|
186
|
+
return;
|
|
187
|
+
}
|
|
188
|
+
const plain = !event.altKey && !event.ctrlKey && !event.metaKey;
|
|
189
|
+
if (plain && /^[0-9]$/.test(event.key)) {
|
|
190
|
+
event.preventDefault();
|
|
191
|
+
applyDigit(name, event.key);
|
|
192
|
+
return;
|
|
193
|
+
}
|
|
194
|
+
if (plain && /^[a-z]$/i.test(event.key) && applyLetter(name, event.key)) {
|
|
195
|
+
event.preventDefault();
|
|
196
|
+
return;
|
|
197
|
+
}
|
|
198
|
+
// Any plausible separator counts, whatever this field's own separators
|
|
199
|
+
// are: it means "done with this one", and without it a typed `/` is
|
|
200
|
+
// swallowed and the next digit lands on the wrong segment.
|
|
201
|
+
//
|
|
202
|
+
// Only with a number still in progress, though. A segment that already
|
|
203
|
+
// filled up has advanced on its own, and treating the separator as a second
|
|
204
|
+
// advance would skip the segment after it: typing `1/6/2026` would land 2026
|
|
205
|
+
// in the hour, because the `6` had already moved on.
|
|
206
|
+
if (plain && ["/", "-", ".", ",", ":", " "].includes(event.key)) {
|
|
207
|
+
event.preventDefault();
|
|
208
|
+
if (buffer?.segment !== name)
|
|
209
|
+
return;
|
|
210
|
+
setBuffer(null);
|
|
211
|
+
focusSegment(names[names.indexOf(name) + 1]);
|
|
212
|
+
return;
|
|
213
|
+
}
|
|
214
|
+
switch (event.key) {
|
|
215
|
+
case "ArrowUp":
|
|
216
|
+
event.preventDefault();
|
|
217
|
+
setBuffer(null);
|
|
218
|
+
step(name, 1);
|
|
219
|
+
break;
|
|
220
|
+
case "ArrowDown":
|
|
221
|
+
event.preventDefault();
|
|
222
|
+
setBuffer(null);
|
|
223
|
+
step(name, -1);
|
|
224
|
+
break;
|
|
225
|
+
case "ArrowLeft":
|
|
226
|
+
event.preventDefault();
|
|
227
|
+
setBuffer(null);
|
|
228
|
+
focusSegment(names[names.indexOf(name) - 1]);
|
|
229
|
+
break;
|
|
230
|
+
case "ArrowRight":
|
|
231
|
+
event.preventDefault();
|
|
232
|
+
setBuffer(null);
|
|
233
|
+
focusSegment(names[names.indexOf(name) + 1]);
|
|
234
|
+
break;
|
|
235
|
+
case "Backspace": {
|
|
236
|
+
event.preventDefault();
|
|
237
|
+
const typed = buffer?.segment === name ? buffer.text : "";
|
|
238
|
+
if (typed.length > 1) {
|
|
239
|
+
const text = typed.slice(0, -1);
|
|
240
|
+
setBuffer({ segment: name, text });
|
|
241
|
+
commit({ ...segments, [name]: Number(text) === 0 ? null : Number(text) }, true);
|
|
242
|
+
break;
|
|
243
|
+
}
|
|
244
|
+
setBuffer(null);
|
|
245
|
+
if (typed.length === 0 && segments[name] === null) {
|
|
246
|
+
focusSegment(names[names.indexOf(name) - 1]);
|
|
247
|
+
break;
|
|
248
|
+
}
|
|
249
|
+
commit({ ...segments, [name]: null });
|
|
250
|
+
break;
|
|
251
|
+
}
|
|
252
|
+
case "Delete":
|
|
253
|
+
event.preventDefault();
|
|
254
|
+
setBuffer(null);
|
|
255
|
+
commit({ ...segments, [name]: null });
|
|
256
|
+
break;
|
|
257
|
+
case "Enter":
|
|
258
|
+
event.preventDefault();
|
|
259
|
+
onSubmit?.();
|
|
260
|
+
break;
|
|
261
|
+
default:
|
|
262
|
+
break;
|
|
263
|
+
}
|
|
264
|
+
};
|
|
265
|
+
const handlePaste = (event) => {
|
|
266
|
+
if (isDisabled || !parsePaste)
|
|
267
|
+
return;
|
|
268
|
+
event.preventDefault();
|
|
269
|
+
const parsed = parsePaste(event.clipboardData.getData("text").trim());
|
|
270
|
+
if (!parsed)
|
|
271
|
+
return;
|
|
272
|
+
setBuffer(null);
|
|
273
|
+
commit(parsed);
|
|
274
|
+
focusSegment(names[names.length - 1]);
|
|
275
|
+
};
|
|
276
|
+
return (
|
|
277
|
+
// A `fieldset` rather than a `div role="group"`: the segments are one
|
|
278
|
+
// related set of controls, which is the element's whole job. Tailwind's
|
|
279
|
+
// preflight already strips its default margin, padding and border.
|
|
280
|
+
_jsx("fieldset", { id: id, "aria-label": label, "aria-invalid": isInvalid || undefined, "aria-disabled": isDisabled || undefined, onMouseDown: (event) => {
|
|
281
|
+
// A click anywhere in the field focuses a segment, the way clicking a
|
|
282
|
+
// text input anywhere puts a caret in it. Without this, only the digits
|
|
283
|
+
// themselves are clickable and the rest of the box silently does
|
|
284
|
+
// nothing — which reads as "typing is broken", because nothing has focus.
|
|
285
|
+
if (isDisabled)
|
|
286
|
+
return;
|
|
287
|
+
if (event.target.closest("[data-segment]"))
|
|
288
|
+
return;
|
|
289
|
+
event.preventDefault();
|
|
290
|
+
focusSegment(names.find((name) => segments[name] === null) ?? names[0]);
|
|
291
|
+
}, onPaste: handlePaste, onBlur: (event) => {
|
|
292
|
+
// Only when focus leaves the field entirely — moving between segments is
|
|
293
|
+
// a blur too, and mid-edit is not the moment to announce anything.
|
|
294
|
+
if (event.currentTarget.contains(event.relatedTarget))
|
|
295
|
+
return;
|
|
296
|
+
// A live buffer is exactly the condition under which a commit was
|
|
297
|
+
// deferred, so it is the only case with anything to flush.
|
|
298
|
+
if (!buffer)
|
|
299
|
+
return;
|
|
300
|
+
setBuffer(null);
|
|
301
|
+
publish(segments);
|
|
302
|
+
}, className: cn("flex flex-1 cursor-text items-center gap-0.5 text-sm", isDisabled && "opacity-50", className), children: spec.map((segment) => {
|
|
303
|
+
const current = segments[segment.name] ?? null;
|
|
304
|
+
const { min, max } = limitsOf(segment);
|
|
305
|
+
const typed = buffer?.segment === segment.name ? buffer.text : "";
|
|
306
|
+
const text = displayOf(segment, current, typed);
|
|
307
|
+
return (_jsxs(React.Fragment, { children: [segment.separatorBefore && (_jsx("span", { "aria-hidden": "true", className: "text-fg-subtle", children: segment.separatorBefore })), _jsx("span", { ref: (node) => {
|
|
308
|
+
nodes.current[segment.name] = node;
|
|
309
|
+
}, role: "spinbutton", tabIndex: isDisabled ? -1 : 0, "aria-label": segment.label, "aria-valuemin": min, "aria-valuemax": max, "aria-valuenow": current ?? undefined, "aria-valuetext": current === null ? "Empty" : text, "aria-disabled": isDisabled || undefined, "data-segment": segment.name, onKeyDown: (event) => handleKeyDown(event, segment.name), onFocus: () => {
|
|
310
|
+
if (buffer?.segment !== segment.name)
|
|
311
|
+
setBuffer(null);
|
|
312
|
+
}, className: cn("cursor-text rounded-sm px-0.5 tabular-nums outline-hidden focus:bg-bg-brand-subtle focus:text-fg-on-brand-subtle", current === null && "text-fg-subtle"), children: text })] }, segment.name));
|
|
313
|
+
}) }));
|
|
314
|
+
}
|
|
315
|
+
//# sourceMappingURL=SegmentedField.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SegmentedField.js","sourceRoot":"","sources":["../../src/internal/SegmentedField.tsx"],"names":[],"mappings":"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"}
|
package/dist/internal/index.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
export { PickerField, type PickerFieldProps } from "./PickerField.js";
|
|
2
|
+
export { SegmentedField, type SegmentedFieldProps, type SegmentSpec, type SegmentValues } from "./SegmentedField.js";
|
|
1
3
|
export { Slot, type SlotProps } from "./Slot.js";
|
|
2
4
|
export type { WritableRefObject } from "./types.js";
|
|
3
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/internal/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC9C,YAAY,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/internal/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAClH,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC9C,YAAY,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC"}
|