@sixthshift/design-system 0.1.0 → 0.3.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 +139 -31
- package/dist/components/Avatar/Avatar.d.ts +6 -0
- package/dist/components/Avatar/Avatar.d.ts.map +1 -0
- package/dist/components/Avatar/Avatar.js +11 -0
- package/dist/components/Avatar/Avatar.js.map +1 -0
- package/dist/components/Avatar/index.d.ts +2 -0
- package/dist/components/Avatar/index.d.ts.map +1 -0
- package/dist/components/Avatar/index.js +2 -0
- package/dist/components/Avatar/index.js.map +1 -0
- package/dist/components/Badge/Badge.d.ts +13 -0
- package/dist/components/Badge/Badge.d.ts.map +1 -0
- package/dist/components/Badge/Badge.js +54 -0
- package/dist/components/Badge/Badge.js.map +1 -0
- package/dist/components/Badge/index.d.ts +2 -0
- package/dist/components/Badge/index.d.ts.map +1 -0
- package/dist/components/Badge/index.js +2 -0
- package/dist/components/Badge/index.js.map +1 -0
- package/dist/components/BarChart/BarChart.d.ts +21 -0
- package/dist/components/BarChart/BarChart.d.ts.map +1 -0
- package/dist/components/BarChart/BarChart.js +16 -0
- package/dist/components/BarChart/BarChart.js.map +1 -0
- package/dist/components/BarChart/index.d.ts +2 -0
- package/dist/components/BarChart/index.d.ts.map +1 -0
- package/dist/components/BarChart/index.js +2 -0
- package/dist/components/BarChart/index.js.map +1 -0
- package/dist/components/Breadcrumb/Breadcrumb.d.ts +12 -0
- package/dist/components/Breadcrumb/Breadcrumb.d.ts.map +1 -0
- package/dist/components/Breadcrumb/Breadcrumb.js +19 -0
- package/dist/components/Breadcrumb/Breadcrumb.js.map +1 -0
- package/dist/components/Breadcrumb/index.d.ts +2 -0
- package/dist/components/Breadcrumb/index.d.ts.map +1 -0
- package/dist/components/Breadcrumb/index.js +2 -0
- package/dist/components/Breadcrumb/index.js.map +1 -0
- package/dist/components/Button/Button.d.ts +21 -0
- package/dist/components/Button/Button.d.ts.map +1 -0
- package/dist/components/Button/Button.js +127 -0
- package/dist/components/Button/Button.js.map +1 -0
- package/dist/components/Button/index.d.ts +2 -0
- package/dist/components/Button/index.d.ts.map +1 -0
- package/dist/components/Button/index.js +2 -0
- package/dist/components/Button/index.js.map +1 -0
- package/dist/components/Calendar/Calendar.d.ts +20 -0
- package/dist/components/Calendar/Calendar.d.ts.map +1 -0
- package/dist/components/Calendar/Calendar.js +97 -0
- package/dist/components/Calendar/Calendar.js.map +1 -0
- 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 +255 -0
- package/dist/components/Calendar/CalendarView.js.map +1 -0
- package/dist/components/Calendar/calendar.hooks.d.ts +68 -0
- package/dist/components/Calendar/calendar.hooks.d.ts.map +1 -0
- package/dist/components/Calendar/calendar.hooks.js +252 -0
- package/dist/components/Calendar/calendar.hooks.js.map +1 -0
- package/dist/components/Calendar/calendar.types.d.ts +147 -0
- package/dist/components/Calendar/calendar.types.d.ts.map +1 -0
- package/dist/components/Calendar/calendar.types.js +15 -0
- package/dist/components/Calendar/calendar.types.js.map +1 -0
- package/dist/components/Calendar/index.d.ts +18 -0
- package/dist/components/Calendar/index.d.ts.map +1 -0
- package/dist/components/Calendar/index.js +17 -0
- package/dist/components/Calendar/index.js.map +1 -0
- package/dist/components/Card/Card.d.ts +14 -0
- package/dist/components/Card/Card.d.ts.map +1 -0
- package/dist/components/Card/Card.js +19 -0
- package/dist/components/Card/Card.js.map +1 -0
- package/dist/components/Card/index.d.ts +2 -0
- package/dist/components/Card/index.d.ts.map +1 -0
- package/dist/components/Card/index.js +2 -0
- package/dist/components/Card/index.js.map +1 -0
- package/dist/components/Checkbox/Checkbox.d.ts +35 -0
- package/dist/components/Checkbox/Checkbox.d.ts.map +1 -0
- package/dist/components/Checkbox/Checkbox.js +32 -0
- package/dist/components/Checkbox/Checkbox.js.map +1 -0
- package/dist/components/Checkbox/index.d.ts +2 -0
- package/dist/components/Checkbox/index.d.ts.map +1 -0
- package/dist/components/Checkbox/index.js +2 -0
- package/dist/components/Checkbox/index.js.map +1 -0
- package/dist/components/CheckboxGroup/CheckboxGroup.d.ts +55 -0
- package/dist/components/CheckboxGroup/CheckboxGroup.d.ts.map +1 -0
- package/dist/components/CheckboxGroup/CheckboxGroup.js +62 -0
- package/dist/components/CheckboxGroup/CheckboxGroup.js.map +1 -0
- package/dist/components/CheckboxGroup/index.d.ts +2 -0
- package/dist/components/CheckboxGroup/index.d.ts.map +1 -0
- package/dist/components/CheckboxGroup/index.js +2 -0
- package/dist/components/CheckboxGroup/index.js.map +1 -0
- package/dist/components/Code/Editor/Editor.d.ts +28 -0
- package/dist/components/Code/Editor/Editor.d.ts.map +1 -0
- package/dist/components/Code/Editor/Editor.js +113 -0
- package/dist/components/Code/Editor/Editor.js.map +1 -0
- package/dist/components/Code/Editor/index.d.ts +3 -0
- package/dist/components/Code/Editor/index.d.ts.map +1 -0
- package/dist/components/Code/Editor/index.js +2 -0
- package/dist/components/Code/Editor/index.js.map +1 -0
- package/dist/components/Code/Editor/semanticTokenProvider.d.ts +17 -0
- package/dist/components/Code/Editor/semanticTokenProvider.d.ts.map +1 -0
- package/dist/components/Code/Editor/semanticTokenProvider.js +46 -0
- package/dist/components/Code/Editor/semanticTokenProvider.js.map +1 -0
- package/dist/components/Code/Editor/themes.d.ts +4 -0
- package/dist/components/Code/Editor/themes.d.ts.map +1 -0
- package/dist/components/Code/Editor/themes.js +106 -0
- package/dist/components/Code/Editor/themes.js.map +1 -0
- package/dist/components/Code/ValidationStatus/ValidationStatus.d.ts +14 -0
- package/dist/components/Code/ValidationStatus/ValidationStatus.d.ts.map +1 -0
- package/dist/components/Code/ValidationStatus/ValidationStatus.js +35 -0
- package/dist/components/Code/ValidationStatus/ValidationStatus.js.map +1 -0
- package/dist/components/Code/ValidationStatus/index.d.ts +2 -0
- package/dist/components/Code/ValidationStatus/index.d.ts.map +1 -0
- package/dist/components/Code/ValidationStatus/index.js +2 -0
- package/dist/components/Code/ValidationStatus/index.js.map +1 -0
- package/dist/components/Code/Workspace/StatusBar.d.ts +18 -0
- package/dist/components/Code/Workspace/StatusBar.d.ts.map +1 -0
- package/dist/components/Code/Workspace/StatusBar.js +8 -0
- package/dist/components/Code/Workspace/StatusBar.js.map +1 -0
- package/dist/components/Code/Workspace/Toolbar.d.ts +20 -0
- package/dist/components/Code/Workspace/Toolbar.d.ts.map +1 -0
- package/dist/components/Code/Workspace/Toolbar.js +9 -0
- package/dist/components/Code/Workspace/Toolbar.js.map +1 -0
- package/dist/components/Code/Workspace/Workspace.d.ts +46 -0
- package/dist/components/Code/Workspace/Workspace.d.ts.map +1 -0
- package/dist/components/Code/Workspace/Workspace.js +36 -0
- package/dist/components/Code/Workspace/Workspace.js.map +1 -0
- package/dist/components/Code/Workspace/index.d.ts +4 -0
- package/dist/components/Code/Workspace/index.d.ts.map +1 -0
- package/dist/components/Code/Workspace/index.js +4 -0
- package/dist/components/Code/Workspace/index.js.map +1 -0
- package/dist/components/ColorDot/ColorDot.d.ts +19 -0
- package/dist/components/ColorDot/ColorDot.d.ts.map +1 -0
- package/dist/components/ColorDot/ColorDot.js +36 -0
- package/dist/components/ColorDot/ColorDot.js.map +1 -0
- package/dist/components/ColorDot/index.d.ts +2 -0
- package/dist/components/ColorDot/index.d.ts.map +1 -0
- package/dist/components/ColorDot/index.js +2 -0
- package/dist/components/ColorDot/index.js.map +1 -0
- package/dist/components/DatePicker/DatePicker.d.ts +5 -0
- package/dist/components/DatePicker/DatePicker.d.ts.map +1 -0
- package/dist/components/DatePicker/DatePicker.js +165 -0
- package/dist/components/DatePicker/DatePicker.js.map +1 -0
- package/dist/components/DatePicker/datepicker.hooks.d.ts +63 -0
- package/dist/components/DatePicker/datepicker.hooks.d.ts.map +1 -0
- package/dist/components/DatePicker/datepicker.hooks.js +303 -0
- package/dist/components/DatePicker/datepicker.hooks.js.map +1 -0
- package/dist/components/DatePicker/datepicker.types.d.ts +104 -0
- package/dist/components/DatePicker/datepicker.types.d.ts.map +1 -0
- package/dist/components/DatePicker/datepicker.types.js +10 -0
- package/dist/components/DatePicker/datepicker.types.js.map +1 -0
- package/dist/components/DatePicker/index.d.ts +13 -0
- package/dist/components/DatePicker/index.d.ts.map +1 -0
- package/dist/components/DatePicker/index.js +10 -0
- package/dist/components/DatePicker/index.js.map +1 -0
- package/dist/components/DateRangePicker/DateRangePicker.d.ts +10 -0
- package/dist/components/DateRangePicker/DateRangePicker.d.ts.map +1 -0
- package/dist/components/DateRangePicker/DateRangePicker.js +98 -0
- package/dist/components/DateRangePicker/DateRangePicker.js.map +1 -0
- package/dist/components/DateRangePicker/daterangepicker.types.d.ts +37 -0
- package/dist/components/DateRangePicker/daterangepicker.types.d.ts.map +1 -0
- package/dist/components/DateRangePicker/daterangepicker.types.js +8 -0
- package/dist/components/DateRangePicker/daterangepicker.types.js.map +1 -0
- package/dist/components/DateRangePicker/index.d.ts +10 -0
- package/dist/components/DateRangePicker/index.d.ts.map +1 -0
- package/dist/components/DateRangePicker/index.js +8 -0
- package/dist/components/DateRangePicker/index.js.map +1 -0
- package/dist/components/DateTimePicker/DateTimePicker.d.ts +10 -0
- package/dist/components/DateTimePicker/DateTimePicker.d.ts.map +1 -0
- package/dist/components/DateTimePicker/DateTimePicker.js +210 -0
- package/dist/components/DateTimePicker/DateTimePicker.js.map +1 -0
- package/dist/components/DateTimePicker/datetimepicker.types.d.ts +35 -0
- package/dist/components/DateTimePicker/datetimepicker.types.d.ts.map +1 -0
- package/dist/components/DateTimePicker/datetimepicker.types.js +12 -0
- package/dist/components/DateTimePicker/datetimepicker.types.js.map +1 -0
- package/dist/components/DateTimePicker/index.d.ts +10 -0
- package/dist/components/DateTimePicker/index.d.ts.map +1 -0
- package/dist/components/DateTimePicker/index.js +8 -0
- package/dist/components/DateTimePicker/index.js.map +1 -0
- package/dist/components/DateTimeRangePicker/DateTimeRangePicker.d.ts +10 -0
- package/dist/components/DateTimeRangePicker/DateTimeRangePicker.d.ts.map +1 -0
- package/dist/components/DateTimeRangePicker/DateTimeRangePicker.js +382 -0
- package/dist/components/DateTimeRangePicker/DateTimeRangePicker.js.map +1 -0
- package/dist/components/DateTimeRangePicker/datetimerangepicker.types.d.ts +46 -0
- package/dist/components/DateTimeRangePicker/datetimerangepicker.types.d.ts.map +1 -0
- package/dist/components/DateTimeRangePicker/datetimerangepicker.types.js +10 -0
- package/dist/components/DateTimeRangePicker/datetimerangepicker.types.js.map +1 -0
- package/dist/components/DateTimeRangePicker/index.d.ts +11 -0
- package/dist/components/DateTimeRangePicker/index.d.ts.map +1 -0
- package/dist/components/DateTimeRangePicker/index.js +9 -0
- package/dist/components/DateTimeRangePicker/index.js.map +1 -0
- package/dist/components/EmptyState/EmptyState.d.ts +26 -0
- package/dist/components/EmptyState/EmptyState.d.ts.map +1 -0
- package/dist/components/EmptyState/EmptyState.js +9 -0
- package/dist/components/EmptyState/EmptyState.js.map +1 -0
- package/dist/components/EmptyState/index.d.ts +2 -0
- package/dist/components/EmptyState/index.d.ts.map +1 -0
- package/dist/components/EmptyState/index.js +2 -0
- package/dist/components/EmptyState/index.js.map +1 -0
- package/dist/components/Field/Field.d.ts +40 -0
- package/dist/components/Field/Field.d.ts.map +1 -0
- package/dist/components/Field/Field.js +12 -0
- package/dist/components/Field/Field.js.map +1 -0
- package/dist/components/Field/index.d.ts +2 -0
- package/dist/components/Field/index.d.ts.map +1 -0
- package/dist/components/Field/index.js +2 -0
- package/dist/components/Field/index.js.map +1 -0
- package/dist/components/FormField/FormField.d.ts +19 -0
- package/dist/components/FormField/FormField.d.ts.map +1 -0
- package/dist/components/FormField/FormField.js +25 -0
- package/dist/components/FormField/FormField.js.map +1 -0
- package/dist/components/FormField/index.d.ts +3 -0
- package/dist/components/FormField/index.d.ts.map +1 -0
- package/dist/components/FormField/index.js +2 -0
- package/dist/components/FormField/index.js.map +1 -0
- package/dist/components/HeatMap/HeatMapCalendar.d.ts +11 -0
- package/dist/components/HeatMap/HeatMapCalendar.d.ts.map +1 -0
- package/dist/components/HeatMap/HeatMapCalendar.js +68 -0
- package/dist/components/HeatMap/HeatMapCalendar.js.map +1 -0
- package/dist/components/HeatMap/HeatMapMatrix.d.ts +12 -0
- package/dist/components/HeatMap/HeatMapMatrix.d.ts.map +1 -0
- package/dist/components/HeatMap/HeatMapMatrix.js +35 -0
- package/dist/components/HeatMap/HeatMapMatrix.js.map +1 -0
- package/dist/components/HeatMap/heat-map.utils.d.ts +10 -0
- package/dist/components/HeatMap/heat-map.utils.d.ts.map +1 -0
- package/dist/components/HeatMap/heat-map.utils.js +10 -0
- package/dist/components/HeatMap/heat-map.utils.js.map +1 -0
- package/dist/components/HeatMap/index.d.ts +4 -0
- package/dist/components/HeatMap/index.d.ts.map +1 -0
- package/dist/components/HeatMap/index.js +3 -0
- package/dist/components/HeatMap/index.js.map +1 -0
- package/dist/components/HoverCard/HoverCard.d.ts +30 -0
- package/dist/components/HoverCard/HoverCard.d.ts.map +1 -0
- package/dist/components/HoverCard/HoverCard.js +44 -0
- package/dist/components/HoverCard/HoverCard.js.map +1 -0
- package/dist/components/HoverCard/components/HoverCardContent.d.ts +4 -0
- package/dist/components/HoverCard/components/HoverCardContent.d.ts.map +1 -0
- package/dist/components/HoverCard/components/HoverCardContent.js +19 -0
- package/dist/components/HoverCard/components/HoverCardContent.js.map +1 -0
- package/dist/components/HoverCard/components/HoverCardContext.d.ts +13 -0
- package/dist/components/HoverCard/components/HoverCardContext.d.ts.map +1 -0
- package/dist/components/HoverCard/components/HoverCardContext.js +10 -0
- package/dist/components/HoverCard/components/HoverCardContext.js.map +1 -0
- package/dist/components/HoverCard/components/HoverCardTrigger.d.ts +10 -0
- package/dist/components/HoverCard/components/HoverCardTrigger.d.ts.map +1 -0
- package/dist/components/HoverCard/components/HoverCardTrigger.js +21 -0
- package/dist/components/HoverCard/components/HoverCardTrigger.js.map +1 -0
- package/dist/components/HoverCard/index.d.ts +4 -0
- package/dist/components/HoverCard/index.d.ts.map +1 -0
- package/dist/components/HoverCard/index.js +4 -0
- package/dist/components/HoverCard/index.js.map +1 -0
- package/dist/components/Input/Input.d.ts +11 -0
- package/dist/components/Input/Input.d.ts.map +1 -0
- package/dist/components/Input/Input.js +16 -0
- package/dist/components/Input/Input.js.map +1 -0
- package/dist/components/Input/index.d.ts +2 -0
- package/dist/components/Input/index.d.ts.map +1 -0
- package/dist/components/Input/index.js +2 -0
- package/dist/components/Input/index.js.map +1 -0
- package/dist/components/LineChart/LineChart.d.ts +46 -0
- package/dist/components/LineChart/LineChart.d.ts.map +1 -0
- package/dist/components/LineChart/LineChart.js +117 -0
- package/dist/components/LineChart/LineChart.js.map +1 -0
- package/dist/components/LineChart/index.d.ts +2 -0
- package/dist/components/LineChart/index.d.ts.map +1 -0
- package/dist/components/LineChart/index.js +2 -0
- package/dist/components/LineChart/index.js.map +1 -0
- package/dist/components/Markdown/Markdown.d.ts +7 -0
- package/dist/components/Markdown/Markdown.d.ts.map +1 -0
- package/dist/components/Markdown/Markdown.js +21 -0
- package/dist/components/Markdown/Markdown.js.map +1 -0
- package/dist/components/Markdown/index.d.ts +2 -0
- package/dist/components/Markdown/index.d.ts.map +1 -0
- package/dist/components/Markdown/index.js +2 -0
- package/dist/components/Markdown/index.js.map +1 -0
- package/dist/components/Message/Message.d.ts +22 -0
- package/dist/components/Message/Message.d.ts.map +1 -0
- package/dist/components/Message/Message.js +48 -0
- package/dist/components/Message/Message.js.map +1 -0
- package/dist/components/Message/components/MessageBody.d.ts +4 -0
- package/dist/components/Message/components/MessageBody.d.ts.map +1 -0
- package/dist/components/Message/components/MessageBody.js +8 -0
- package/dist/components/Message/components/MessageBody.js.map +1 -0
- package/dist/components/Message/components/MessageDescription.d.ts +4 -0
- package/dist/components/Message/components/MessageDescription.d.ts.map +1 -0
- package/dist/components/Message/components/MessageDescription.js +8 -0
- package/dist/components/Message/components/MessageDescription.js.map +1 -0
- package/dist/components/Message/components/MessageIcon.d.ts +4 -0
- package/dist/components/Message/components/MessageIcon.d.ts.map +1 -0
- package/dist/components/Message/components/MessageIcon.js +8 -0
- package/dist/components/Message/components/MessageIcon.js.map +1 -0
- package/dist/components/Message/components/MessageTitle.d.ts +4 -0
- package/dist/components/Message/components/MessageTitle.d.ts.map +1 -0
- package/dist/components/Message/components/MessageTitle.js +8 -0
- package/dist/components/Message/components/MessageTitle.js.map +1 -0
- package/dist/components/Message/index.d.ts +11 -0
- package/dist/components/Message/index.d.ts.map +1 -0
- package/dist/components/Message/index.js +6 -0
- package/dist/components/Message/index.js.map +1 -0
- package/dist/components/MetricList/MetricList.d.ts +9 -0
- package/dist/components/MetricList/MetricList.d.ts.map +1 -0
- package/dist/components/MetricList/MetricList.js +8 -0
- package/dist/components/MetricList/MetricList.js.map +1 -0
- package/dist/components/MetricList/MetricRow.d.ts +13 -0
- package/dist/components/MetricList/MetricRow.d.ts.map +1 -0
- package/dist/components/MetricList/MetricRow.js +13 -0
- package/dist/components/MetricList/MetricRow.js.map +1 -0
- package/dist/components/MetricList/index.d.ts +3 -0
- package/dist/components/MetricList/index.d.ts.map +1 -0
- package/dist/components/MetricList/index.js +3 -0
- package/dist/components/MetricList/index.js.map +1 -0
- package/dist/components/Modal/Modal.d.ts +52 -0
- package/dist/components/Modal/Modal.d.ts.map +1 -0
- package/dist/components/Modal/Modal.js +89 -0
- package/dist/components/Modal/Modal.js.map +1 -0
- package/dist/components/Modal/components/ModalBody.d.ts +4 -0
- package/dist/components/Modal/components/ModalBody.d.ts.map +1 -0
- package/dist/components/Modal/components/ModalBody.js +6 -0
- package/dist/components/Modal/components/ModalBody.js.map +1 -0
- package/dist/components/Modal/components/ModalContext.d.ts +32 -0
- package/dist/components/Modal/components/ModalContext.d.ts.map +1 -0
- package/dist/components/Modal/components/ModalContext.js +15 -0
- package/dist/components/Modal/components/ModalContext.js.map +1 -0
- package/dist/components/Modal/components/ModalFooter.d.ts +4 -0
- package/dist/components/Modal/components/ModalFooter.d.ts.map +1 -0
- package/dist/components/Modal/components/ModalFooter.js +6 -0
- package/dist/components/Modal/components/ModalFooter.js.map +1 -0
- package/dist/components/Modal/components/ModalHeader.d.ts +4 -0
- package/dist/components/Modal/components/ModalHeader.d.ts.map +1 -0
- package/dist/components/Modal/components/ModalHeader.js +24 -0
- package/dist/components/Modal/components/ModalHeader.js.map +1 -0
- package/dist/components/Modal/components/index.d.ts +5 -0
- package/dist/components/Modal/components/index.d.ts.map +1 -0
- package/dist/components/Modal/components/index.js +5 -0
- package/dist/components/Modal/components/index.js.map +1 -0
- package/dist/components/Modal/index.d.ts +3 -0
- package/dist/components/Modal/index.d.ts.map +1 -0
- package/dist/components/Modal/index.js +3 -0
- package/dist/components/Modal/index.js.map +1 -0
- package/dist/components/NavBottom/NavBottom.d.ts +16 -0
- package/dist/components/NavBottom/NavBottom.d.ts.map +1 -0
- package/dist/components/NavBottom/NavBottom.js +21 -0
- package/dist/components/NavBottom/NavBottom.js.map +1 -0
- package/dist/components/NavBottom/index.d.ts +3 -0
- package/dist/components/NavBottom/index.d.ts.map +1 -0
- package/dist/components/NavBottom/index.js +2 -0
- package/dist/components/NavBottom/index.js.map +1 -0
- package/dist/components/NavSide/NavItem.d.ts +9 -0
- package/dist/components/NavSide/NavItem.d.ts.map +1 -0
- package/dist/components/NavSide/NavItem.js +13 -0
- package/dist/components/NavSide/NavItem.js.map +1 -0
- package/dist/components/NavSide/NavSide.d.ts +16 -0
- package/dist/components/NavSide/NavSide.d.ts.map +1 -0
- package/dist/components/NavSide/NavSide.js +12 -0
- package/dist/components/NavSide/NavSide.js.map +1 -0
- package/dist/components/NavSide/index.d.ts +3 -0
- package/dist/components/NavSide/index.d.ts.map +1 -0
- package/dist/components/NavSide/index.js +2 -0
- package/dist/components/NavSide/index.js.map +1 -0
- package/dist/components/NavSide/types.d.ts +38 -0
- package/dist/components/NavSide/types.d.ts.map +1 -0
- package/dist/components/NavSide/types.js +2 -0
- package/dist/components/NavSide/types.js.map +1 -0
- package/dist/components/Pagination/Pagination.d.ts +35 -0
- package/dist/components/Pagination/Pagination.d.ts.map +1 -0
- package/dist/components/Pagination/Pagination.js +26 -0
- package/dist/components/Pagination/Pagination.js.map +1 -0
- package/dist/components/Pagination/index.d.ts +3 -0
- package/dist/components/Pagination/index.d.ts.map +1 -0
- package/dist/components/Pagination/index.js +2 -0
- package/dist/components/Pagination/index.js.map +1 -0
- package/dist/components/Popover/Popover.d.ts +26 -0
- package/dist/components/Popover/Popover.d.ts.map +1 -0
- package/dist/components/Popover/Popover.js +54 -0
- package/dist/components/Popover/Popover.js.map +1 -0
- package/dist/components/Popover/components/PopoverBody.d.ts +4 -0
- package/dist/components/Popover/components/PopoverBody.d.ts.map +1 -0
- package/dist/components/Popover/components/PopoverBody.js +22 -0
- package/dist/components/Popover/components/PopoverBody.js.map +1 -0
- package/dist/components/Popover/components/PopoverClose.d.ts +10 -0
- package/dist/components/Popover/components/PopoverClose.d.ts.map +1 -0
- package/dist/components/Popover/components/PopoverClose.js +14 -0
- package/dist/components/Popover/components/PopoverClose.js.map +1 -0
- package/dist/components/Popover/components/PopoverContext.d.ts +16 -0
- package/dist/components/Popover/components/PopoverContext.d.ts.map +1 -0
- package/dist/components/Popover/components/PopoverContext.js +10 -0
- package/dist/components/Popover/components/PopoverContext.js.map +1 -0
- package/dist/components/Popover/components/PopoverTrigger.d.ts +10 -0
- package/dist/components/Popover/components/PopoverTrigger.d.ts.map +1 -0
- package/dist/components/Popover/components/PopoverTrigger.js +17 -0
- package/dist/components/Popover/components/PopoverTrigger.js.map +1 -0
- package/dist/components/Popover/index.d.ts +5 -0
- package/dist/components/Popover/index.d.ts.map +1 -0
- package/dist/components/Popover/index.js +5 -0
- package/dist/components/Popover/index.js.map +1 -0
- package/dist/components/ProgressBar/ProgressBar.d.ts +11 -0
- package/dist/components/ProgressBar/ProgressBar.d.ts.map +1 -0
- package/dist/components/ProgressBar/ProgressBar.js +14 -0
- package/dist/components/ProgressBar/ProgressBar.js.map +1 -0
- package/dist/components/ProgressBar/index.d.ts +2 -0
- package/dist/components/ProgressBar/index.d.ts.map +1 -0
- package/dist/components/ProgressBar/index.js +2 -0
- package/dist/components/ProgressBar/index.js.map +1 -0
- package/dist/components/RadioButton/RadioButton.d.ts +31 -0
- package/dist/components/RadioButton/RadioButton.d.ts.map +1 -0
- package/dist/components/RadioButton/RadioButton.js +23 -0
- package/dist/components/RadioButton/RadioButton.js.map +1 -0
- package/dist/components/RadioButton/index.d.ts +2 -0
- package/dist/components/RadioButton/index.d.ts.map +1 -0
- package/dist/components/RadioButton/index.js +2 -0
- package/dist/components/RadioButton/index.js.map +1 -0
- package/dist/components/RadioButtonGroup/RadioButtonGroup.d.ts +55 -0
- package/dist/components/RadioButtonGroup/RadioButtonGroup.d.ts.map +1 -0
- package/dist/components/RadioButtonGroup/RadioButtonGroup.js +73 -0
- package/dist/components/RadioButtonGroup/RadioButtonGroup.js.map +1 -0
- package/dist/components/RadioButtonGroup/index.d.ts +2 -0
- package/dist/components/RadioButtonGroup/index.d.ts.map +1 -0
- package/dist/components/RadioButtonGroup/index.js +2 -0
- package/dist/components/RadioButtonGroup/index.js.map +1 -0
- package/dist/components/SearchInput/SearchInput.d.ts +17 -0
- package/dist/components/SearchInput/SearchInput.d.ts.map +1 -0
- package/dist/components/SearchInput/SearchInput.js +18 -0
- package/dist/components/SearchInput/SearchInput.js.map +1 -0
- package/dist/components/SearchInput/index.d.ts +3 -0
- package/dist/components/SearchInput/index.d.ts.map +1 -0
- package/dist/components/SearchInput/index.js +2 -0
- package/dist/components/SearchInput/index.js.map +1 -0
- package/dist/components/Select/Select.d.ts +40 -0
- package/dist/components/Select/Select.d.ts.map +1 -0
- package/dist/components/Select/Select.js +223 -0
- package/dist/components/Select/Select.js.map +1 -0
- package/dist/components/Select/SelectDropdown.d.ts +34 -0
- package/dist/components/Select/SelectDropdown.d.ts.map +1 -0
- package/dist/components/Select/SelectDropdown.js +32 -0
- package/dist/components/Select/SelectDropdown.js.map +1 -0
- package/dist/components/Select/SelectTrigger.d.ts +38 -0
- package/dist/components/Select/SelectTrigger.d.ts.map +1 -0
- package/dist/components/Select/SelectTrigger.js +21 -0
- package/dist/components/Select/SelectTrigger.js.map +1 -0
- package/dist/components/Select/index.d.ts +4 -0
- package/dist/components/Select/index.d.ts.map +1 -0
- package/dist/components/Select/index.js +4 -0
- package/dist/components/Select/index.js.map +1 -0
- package/dist/components/Select/useSelectKeyboard.d.ts +30 -0
- package/dist/components/Select/useSelectKeyboard.d.ts.map +1 -0
- package/dist/components/Select/useSelectKeyboard.js +86 -0
- package/dist/components/Select/useSelectKeyboard.js.map +1 -0
- package/dist/components/Separator/Separator.d.ts +11 -0
- package/dist/components/Separator/Separator.d.ts.map +1 -0
- package/dist/components/Separator/Separator.js +7 -0
- package/dist/components/Separator/Separator.js.map +1 -0
- package/dist/components/Separator/index.d.ts +2 -0
- package/dist/components/Separator/index.d.ts.map +1 -0
- package/dist/components/Separator/index.js +2 -0
- package/dist/components/Separator/index.js.map +1 -0
- package/dist/components/Sheet/Sheet.d.ts +42 -0
- package/dist/components/Sheet/Sheet.d.ts.map +1 -0
- package/dist/components/Sheet/Sheet.js +77 -0
- package/dist/components/Sheet/Sheet.js.map +1 -0
- package/dist/components/Sheet/components/SheetBody.d.ts +4 -0
- package/dist/components/Sheet/components/SheetBody.d.ts.map +1 -0
- package/dist/components/Sheet/components/SheetBody.js +6 -0
- package/dist/components/Sheet/components/SheetBody.js.map +1 -0
- package/dist/components/Sheet/components/SheetContext.d.ts +24 -0
- package/dist/components/Sheet/components/SheetContext.d.ts.map +1 -0
- package/dist/components/Sheet/components/SheetContext.js +15 -0
- package/dist/components/Sheet/components/SheetContext.js.map +1 -0
- package/dist/components/Sheet/components/SheetFooter.d.ts +4 -0
- package/dist/components/Sheet/components/SheetFooter.d.ts.map +1 -0
- package/dist/components/Sheet/components/SheetFooter.js +6 -0
- package/dist/components/Sheet/components/SheetFooter.js.map +1 -0
- package/dist/components/Sheet/components/SheetHeader.d.ts +4 -0
- package/dist/components/Sheet/components/SheetHeader.d.ts.map +1 -0
- package/dist/components/Sheet/components/SheetHeader.js +22 -0
- package/dist/components/Sheet/components/SheetHeader.js.map +1 -0
- package/dist/components/Sheet/components/index.d.ts +5 -0
- package/dist/components/Sheet/components/index.d.ts.map +1 -0
- package/dist/components/Sheet/components/index.js +5 -0
- package/dist/components/Sheet/components/index.js.map +1 -0
- package/dist/components/Sheet/index.d.ts +3 -0
- package/dist/components/Sheet/index.d.ts.map +1 -0
- package/dist/components/Sheet/index.js +3 -0
- package/dist/components/Sheet/index.js.map +1 -0
- package/dist/components/Skeleton/Skeleton.d.ts +4 -0
- package/dist/components/Skeleton/Skeleton.d.ts.map +1 -0
- package/dist/components/Skeleton/Skeleton.js +9 -0
- package/dist/components/Skeleton/Skeleton.js.map +1 -0
- package/dist/components/Skeleton/index.d.ts +2 -0
- package/dist/components/Skeleton/index.d.ts.map +1 -0
- package/dist/components/Skeleton/index.js +2 -0
- package/dist/components/Skeleton/index.js.map +1 -0
- package/dist/components/Sparkline/Sparkline.d.ts +21 -0
- package/dist/components/Sparkline/Sparkline.d.ts.map +1 -0
- package/dist/components/Sparkline/Sparkline.js +59 -0
- package/dist/components/Sparkline/Sparkline.js.map +1 -0
- package/dist/components/Sparkline/index.d.ts +2 -0
- package/dist/components/Sparkline/index.d.ts.map +1 -0
- package/dist/components/Sparkline/index.js +2 -0
- package/dist/components/Sparkline/index.js.map +1 -0
- package/dist/components/Spinner/Spinner.d.ts +11 -0
- package/dist/components/Spinner/Spinner.d.ts.map +1 -0
- package/dist/components/Spinner/Spinner.js +21 -0
- package/dist/components/Spinner/Spinner.js.map +1 -0
- package/dist/components/Spinner/index.d.ts +2 -0
- package/dist/components/Spinner/index.d.ts.map +1 -0
- package/dist/components/Spinner/index.js +2 -0
- package/dist/components/Spinner/index.js.map +1 -0
- package/dist/components/StatsCard/StatsCard.d.ts +17 -0
- package/dist/components/StatsCard/StatsCard.d.ts.map +1 -0
- package/dist/components/StatsCard/StatsCard.js +15 -0
- package/dist/components/StatsCard/StatsCard.js.map +1 -0
- package/dist/components/StatsCard/index.d.ts +2 -0
- package/dist/components/StatsCard/index.d.ts.map +1 -0
- package/dist/components/StatsCard/index.js +2 -0
- package/dist/components/StatsCard/index.js.map +1 -0
- package/dist/components/Switch/Switch.d.ts +39 -0
- package/dist/components/Switch/Switch.d.ts.map +1 -0
- package/dist/components/Switch/Switch.js +28 -0
- package/dist/components/Switch/Switch.js.map +1 -0
- package/dist/components/Switch/index.d.ts +2 -0
- package/dist/components/Switch/index.d.ts.map +1 -0
- package/dist/components/Switch/index.js +2 -0
- package/dist/components/Switch/index.js.map +1 -0
- package/dist/components/Tabs/Tabs.d.ts +20 -0
- package/dist/components/Tabs/Tabs.d.ts.map +1 -0
- package/dist/components/Tabs/Tabs.js +29 -0
- package/dist/components/Tabs/Tabs.js.map +1 -0
- package/dist/components/Tabs/components/TabsContext.d.ts +26 -0
- package/dist/components/Tabs/components/TabsContext.d.ts.map +1 -0
- package/dist/components/Tabs/components/TabsContext.js +10 -0
- package/dist/components/Tabs/components/TabsContext.js.map +1 -0
- package/dist/components/Tabs/components/TabsList.d.ts +9 -0
- package/dist/components/Tabs/components/TabsList.d.ts.map +1 -0
- package/dist/components/Tabs/components/TabsList.js +62 -0
- package/dist/components/Tabs/components/TabsList.js.map +1 -0
- package/dist/components/Tabs/components/TabsPanels.d.ts +6 -0
- package/dist/components/Tabs/components/TabsPanels.d.ts.map +1 -0
- package/dist/components/Tabs/components/TabsPanels.js +17 -0
- package/dist/components/Tabs/components/TabsPanels.js.map +1 -0
- package/dist/components/Tabs/components/TabsTrigger.d.ts +7 -0
- package/dist/components/Tabs/components/TabsTrigger.d.ts.map +1 -0
- package/dist/components/Tabs/components/TabsTrigger.js +34 -0
- package/dist/components/Tabs/components/TabsTrigger.js.map +1 -0
- package/dist/components/Tabs/index.d.ts +4 -0
- package/dist/components/Tabs/index.d.ts.map +1 -0
- package/dist/components/Tabs/index.js +4 -0
- package/dist/components/Tabs/index.js.map +1 -0
- package/dist/components/TagChip/TagChip.d.ts +22 -0
- package/dist/components/TagChip/TagChip.d.ts.map +1 -0
- package/dist/components/TagChip/TagChip.js +13 -0
- package/dist/components/TagChip/TagChip.js.map +1 -0
- package/dist/components/TagChip/index.d.ts +2 -0
- package/dist/components/TagChip/index.d.ts.map +1 -0
- package/dist/components/TagChip/index.js +2 -0
- package/dist/components/TagChip/index.js.map +1 -0
- package/dist/components/TagInput/TagInput.d.ts +17 -0
- package/dist/components/TagInput/TagInput.d.ts.map +1 -0
- package/dist/components/TagInput/TagInput.js +25 -0
- package/dist/components/TagInput/TagInput.js.map +1 -0
- package/dist/components/TagInput/index.d.ts +2 -0
- package/dist/components/TagInput/index.d.ts.map +1 -0
- package/dist/components/TagInput/index.js +2 -0
- package/dist/components/TagInput/index.js.map +1 -0
- package/dist/components/Text/Text.d.ts +10 -0
- package/dist/components/Text/Text.d.ts.map +1 -0
- package/dist/components/Text/Text.js +11 -0
- package/dist/components/Text/Text.js.map +1 -0
- package/dist/components/Text/index.d.ts +2 -0
- package/dist/components/Text/index.d.ts.map +1 -0
- package/dist/components/Text/index.js +2 -0
- package/dist/components/Text/index.js.map +1 -0
- package/dist/components/TextInline/TextInline.d.ts +13 -0
- package/dist/components/TextInline/TextInline.d.ts.map +1 -0
- package/dist/components/TextInline/TextInline.js +30 -0
- package/dist/components/TextInline/TextInline.js.map +1 -0
- package/dist/components/TextInline/index.d.ts +2 -0
- package/dist/components/TextInline/index.d.ts.map +1 -0
- package/dist/components/TextInline/index.js +2 -0
- package/dist/components/TextInline/index.js.map +1 -0
- package/dist/components/Textarea/Textarea.d.ts +5 -0
- package/dist/components/Textarea/Textarea.d.ts.map +1 -0
- package/dist/components/Textarea/Textarea.js +9 -0
- package/dist/components/Textarea/Textarea.js.map +1 -0
- package/dist/components/Textarea/index.d.ts +2 -0
- package/dist/components/Textarea/index.d.ts.map +1 -0
- package/dist/components/Textarea/index.js +2 -0
- package/dist/components/Textarea/index.js.map +1 -0
- package/dist/components/TimePicker/PeriodSelector.d.ts +7 -0
- package/dist/components/TimePicker/PeriodSelector.d.ts.map +1 -0
- package/dist/components/TimePicker/PeriodSelector.js +6 -0
- package/dist/components/TimePicker/PeriodSelector.js.map +1 -0
- package/dist/components/TimePicker/TimeColumn.d.ts +9 -0
- package/dist/components/TimePicker/TimeColumn.d.ts.map +1 -0
- package/dist/components/TimePicker/TimeColumn.js +24 -0
- package/dist/components/TimePicker/TimeColumn.js.map +1 -0
- package/dist/components/TimePicker/TimePicker.d.ts +5 -0
- package/dist/components/TimePicker/TimePicker.d.ts.map +1 -0
- package/dist/components/TimePicker/TimePicker.js +149 -0
- package/dist/components/TimePicker/TimePicker.js.map +1 -0
- package/dist/components/TimePicker/index.d.ts +3 -0
- package/dist/components/TimePicker/index.d.ts.map +1 -0
- package/dist/components/TimePicker/index.js +2 -0
- package/dist/components/TimePicker/index.js.map +1 -0
- package/dist/components/TimePicker/timepicker.hooks.d.ts +63 -0
- package/dist/components/TimePicker/timepicker.hooks.d.ts.map +1 -0
- package/dist/components/TimePicker/timepicker.hooks.js +154 -0
- package/dist/components/TimePicker/timepicker.hooks.js.map +1 -0
- package/dist/components/TimePicker/timepicker.types.d.ts +67 -0
- package/dist/components/TimePicker/timepicker.types.d.ts.map +1 -0
- package/dist/components/TimePicker/timepicker.types.js +9 -0
- package/dist/components/TimePicker/timepicker.types.js.map +1 -0
- package/dist/components/Toast/Toast.d.ts +36 -0
- package/dist/components/Toast/Toast.d.ts.map +1 -0
- package/dist/components/Toast/Toast.js +45 -0
- package/dist/components/Toast/Toast.js.map +1 -0
- package/dist/components/Toast/index.d.ts +2 -0
- package/dist/components/Toast/index.d.ts.map +1 -0
- package/dist/components/Toast/index.js +2 -0
- package/dist/components/Toast/index.js.map +1 -0
- package/dist/components/Toggle/Toggle.d.ts +33 -0
- package/dist/components/Toggle/Toggle.d.ts.map +1 -0
- package/dist/components/Toggle/Toggle.js +45 -0
- package/dist/components/Toggle/Toggle.js.map +1 -0
- package/dist/components/Toggle/index.d.ts +2 -0
- package/dist/components/Toggle/index.d.ts.map +1 -0
- package/dist/components/Toggle/index.js +2 -0
- package/dist/components/Toggle/index.js.map +1 -0
- package/dist/components/ToggleGroup/ToggleGroup.d.ts +5 -0
- package/dist/components/ToggleGroup/ToggleGroup.d.ts.map +1 -0
- package/dist/components/ToggleGroup/ToggleGroup.js +13 -0
- package/dist/components/ToggleGroup/ToggleGroup.js.map +1 -0
- package/dist/components/ToggleGroup/ToggleGroupContainer.d.ts +5 -0
- package/dist/components/ToggleGroup/ToggleGroupContainer.d.ts.map +1 -0
- package/dist/components/ToggleGroup/ToggleGroupContainer.js +11 -0
- package/dist/components/ToggleGroup/ToggleGroupContainer.js.map +1 -0
- package/dist/components/ToggleGroup/ToggleGroupItem.d.ts +11 -0
- package/dist/components/ToggleGroup/ToggleGroupItem.d.ts.map +1 -0
- package/dist/components/ToggleGroup/ToggleGroupItem.js +24 -0
- package/dist/components/ToggleGroup/ToggleGroupItem.js.map +1 -0
- package/dist/components/ToggleGroup/ToggleGroupMultiple.d.ts +17 -0
- package/dist/components/ToggleGroup/ToggleGroupMultiple.d.ts.map +1 -0
- package/dist/components/ToggleGroup/ToggleGroupMultiple.js +20 -0
- package/dist/components/ToggleGroup/ToggleGroupMultiple.js.map +1 -0
- package/dist/components/ToggleGroup/ToggleGroupSingle.d.ts +17 -0
- package/dist/components/ToggleGroup/ToggleGroupSingle.d.ts.map +1 -0
- package/dist/components/ToggleGroup/ToggleGroupSingle.js +49 -0
- package/dist/components/ToggleGroup/ToggleGroupSingle.js.map +1 -0
- package/dist/components/ToggleGroup/index.d.ts +3 -0
- package/dist/components/ToggleGroup/index.d.ts.map +1 -0
- package/dist/components/ToggleGroup/index.js +2 -0
- package/dist/components/ToggleGroup/index.js.map +1 -0
- package/dist/components/ToggleGroup/toggleGroup.types.d.ts +51 -0
- package/dist/components/ToggleGroup/toggleGroup.types.d.ts.map +1 -0
- package/dist/components/ToggleGroup/toggleGroup.types.js +2 -0
- package/dist/components/ToggleGroup/toggleGroup.types.js.map +1 -0
- package/dist/components/Tooltip/Tooltip.d.ts +24 -0
- package/dist/components/Tooltip/Tooltip.d.ts.map +1 -0
- package/dist/components/Tooltip/Tooltip.js +44 -0
- package/dist/components/Tooltip/Tooltip.js.map +1 -0
- package/dist/components/Tooltip/components/TooltipBody.d.ts +4 -0
- package/dist/components/Tooltip/components/TooltipBody.d.ts.map +1 -0
- package/dist/components/Tooltip/components/TooltipBody.js +19 -0
- package/dist/components/Tooltip/components/TooltipBody.js.map +1 -0
- package/dist/components/Tooltip/components/TooltipContext.d.ts +13 -0
- package/dist/components/Tooltip/components/TooltipContext.d.ts.map +1 -0
- package/dist/components/Tooltip/components/TooltipContext.js +10 -0
- package/dist/components/Tooltip/components/TooltipContext.js.map +1 -0
- package/dist/components/Tooltip/components/TooltipTrigger.d.ts +10 -0
- package/dist/components/Tooltip/components/TooltipTrigger.d.ts.map +1 -0
- package/dist/components/Tooltip/components/TooltipTrigger.js +17 -0
- package/dist/components/Tooltip/components/TooltipTrigger.js.map +1 -0
- package/dist/components/Tooltip/index.d.ts +4 -0
- package/dist/components/Tooltip/index.d.ts.map +1 -0
- package/dist/components/Tooltip/index.js +4 -0
- package/dist/components/Tooltip/index.js.map +1 -0
- package/dist/date-time/arithmetic.d.ts +51 -0
- package/dist/date-time/arithmetic.d.ts.map +1 -0
- package/dist/date-time/arithmetic.js +90 -0
- package/dist/date-time/arithmetic.js.map +1 -0
- package/dist/date-time/boundaries.d.ts +49 -0
- package/dist/date-time/boundaries.d.ts.map +1 -0
- package/dist/date-time/boundaries.js +74 -0
- package/dist/date-time/boundaries.js.map +1 -0
- package/dist/date-time/compare.d.ts +51 -0
- package/dist/date-time/compare.d.ts.map +1 -0
- package/dist/date-time/compare.js +74 -0
- package/dist/date-time/compare.js.map +1 -0
- package/dist/date-time/duration.d.ts +39 -0
- package/dist/date-time/duration.d.ts.map +1 -0
- package/dist/date-time/duration.js +55 -0
- package/dist/date-time/duration.js.map +1 -0
- package/dist/date-time/elapsed.d.ts +11 -0
- package/dist/date-time/elapsed.d.ts.map +1 -0
- package/dist/date-time/elapsed.js +16 -0
- package/dist/date-time/elapsed.js.map +1 -0
- package/dist/date-time/format.d.ts +341 -0
- package/dist/date-time/format.d.ts.map +1 -0
- package/dist/date-time/format.js +665 -0
- package/dist/date-time/format.js.map +1 -0
- package/dist/date-time/index.d.ts +47 -0
- package/dist/date-time/index.d.ts.map +1 -0
- package/dist/date-time/index.js +130 -0
- package/dist/date-time/index.js.map +1 -0
- 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 +44 -0
- package/dist/date-time/now.d.ts.map +1 -0
- package/dist/date-time/now.js +61 -0
- package/dist/date-time/now.js.map +1 -0
- package/dist/date-time/parse.d.ts +114 -0
- package/dist/date-time/parse.d.ts.map +1 -0
- package/dist/date-time/parse.js +157 -0
- package/dist/date-time/parse.js.map +1 -0
- package/dist/date-time/serialize.d.ts +60 -0
- package/dist/date-time/serialize.d.ts.map +1 -0
- package/dist/date-time/serialize.js +76 -0
- package/dist/date-time/serialize.js.map +1 -0
- package/dist/date-time/timezone.d.ts +33 -0
- package/dist/date-time/timezone.d.ts.map +1 -0
- package/dist/date-time/timezone.js +43 -0
- package/dist/date-time/timezone.js.map +1 -0
- package/dist/date-time/validate.d.ts +121 -0
- package/dist/date-time/validate.d.ts.map +1 -0
- package/dist/date-time/validate.js +264 -0
- package/dist/date-time/validate.js.map +1 -0
- package/dist/hooks/index.d.ts +11 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +11 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/useCollapsible.d.ts +7 -0
- package/dist/hooks/useCollapsible.d.ts.map +1 -0
- package/dist/hooks/useCollapsible.js +14 -0
- package/dist/hooks/useCollapsible.js.map +1 -0
- package/dist/hooks/useControllableState.d.ts +16 -0
- package/dist/hooks/useControllableState.d.ts.map +1 -0
- package/dist/hooks/useControllableState.js +32 -0
- package/dist/hooks/useControllableState.js.map +1 -0
- package/dist/hooks/useDebouncedCallback.d.ts +6 -0
- package/dist/hooks/useDebouncedCallback.d.ts.map +1 -0
- package/dist/hooks/useDebouncedCallback.js +17 -0
- package/dist/hooks/useDebouncedCallback.js.map +1 -0
- package/dist/hooks/useDebouncedState.d.ts +10 -0
- package/dist/hooks/useDebouncedState.d.ts.map +1 -0
- package/dist/hooks/useDebouncedState.js +18 -0
- package/dist/hooks/useDebouncedState.js.map +1 -0
- package/dist/hooks/useDeviceFormFactor.d.ts +26 -0
- package/dist/hooks/useDeviceFormFactor.d.ts.map +1 -0
- package/dist/hooks/useDeviceFormFactor.js +44 -0
- package/dist/hooks/useDeviceFormFactor.js.map +1 -0
- package/dist/hooks/useLocalStorage.d.ts +4 -0
- package/dist/hooks/useLocalStorage.d.ts.map +1 -0
- package/dist/hooks/useLocalStorage.js +51 -0
- package/dist/hooks/useLocalStorage.js.map +1 -0
- package/dist/hooks/useMergedFloatingRef.d.ts +12 -0
- package/dist/hooks/useMergedFloatingRef.d.ts.map +1 -0
- package/dist/hooks/useMergedFloatingRef.js +18 -0
- package/dist/hooks/useMergedFloatingRef.js.map +1 -0
- package/dist/hooks/usePresence.d.ts +54 -0
- package/dist/hooks/usePresence.d.ts.map +1 -0
- package/dist/hooks/usePresence.js +97 -0
- package/dist/hooks/usePresence.js.map +1 -0
- package/dist/hooks/useStack.d.ts +30 -0
- package/dist/hooks/useStack.d.ts.map +1 -0
- package/dist/hooks/useStack.js +70 -0
- package/dist/hooks/useStack.js.map +1 -0
- package/dist/hooks/useTheme.d.ts +16 -0
- package/dist/hooks/useTheme.d.ts.map +1 -0
- package/dist/hooks/useTheme.js +95 -0
- package/dist/hooks/useTheme.js.map +1 -0
- package/dist/internal/Slot.d.ts +13 -0
- package/dist/internal/Slot.d.ts.map +1 -0
- package/dist/internal/Slot.js +68 -0
- package/dist/internal/Slot.js.map +1 -0
- package/dist/internal/index.d.ts +3 -0
- package/dist/internal/index.d.ts.map +1 -0
- package/dist/internal/index.js +2 -0
- package/dist/internal/index.js.map +1 -0
- package/dist/internal/rovingFocus.d.ts +22 -0
- package/dist/internal/rovingFocus.d.ts.map +1 -0
- package/dist/internal/rovingFocus.js +39 -0
- package/dist/internal/rovingFocus.js.map +1 -0
- package/dist/internal/types.d.ts +13 -0
- package/dist/internal/types.d.ts.map +1 -0
- package/dist/internal/types.js +2 -0
- package/dist/internal/types.js.map +1 -0
- package/dist/lib/EmptyBoundary.d.ts +9 -0
- package/dist/lib/EmptyBoundary.d.ts.map +1 -0
- package/dist/lib/EmptyBoundary.js +7 -0
- package/dist/lib/EmptyBoundary.js.map +1 -0
- package/dist/lib/ErrorBoundary.d.ts +21 -0
- package/dist/lib/ErrorBoundary.d.ts.map +1 -0
- package/dist/lib/ErrorBoundary.js +28 -0
- package/dist/lib/ErrorBoundary.js.map +1 -0
- package/dist/lib/contexts/ComponentsContext/ComponentsContext.d.ts +18 -0
- package/dist/lib/contexts/ComponentsContext/ComponentsContext.d.ts.map +1 -0
- package/dist/lib/contexts/ComponentsContext/ComponentsContext.js +8 -0
- package/dist/lib/contexts/ComponentsContext/ComponentsContext.js.map +1 -0
- package/dist/lib/contexts/ComponentsContext/index.d.ts +2 -0
- package/dist/lib/contexts/ComponentsContext/index.d.ts.map +1 -0
- package/dist/lib/contexts/ComponentsContext/index.js +2 -0
- package/dist/lib/contexts/ComponentsContext/index.js.map +1 -0
- package/dist/lib/contexts/OverlayContext/OverlayContext.d.ts +25 -0
- package/dist/lib/contexts/OverlayContext/OverlayContext.d.ts.map +1 -0
- package/dist/lib/contexts/OverlayContext/OverlayContext.js +36 -0
- package/dist/lib/contexts/OverlayContext/OverlayContext.js.map +1 -0
- package/dist/lib/contexts/OverlayContext/hooks/useModal.d.ts +27 -0
- package/dist/lib/contexts/OverlayContext/hooks/useModal.d.ts.map +1 -0
- package/dist/lib/contexts/OverlayContext/hooks/useModal.js +83 -0
- package/dist/lib/contexts/OverlayContext/hooks/useModal.js.map +1 -0
- package/dist/lib/contexts/OverlayContext/hooks/useToast.d.ts +12 -0
- package/dist/lib/contexts/OverlayContext/hooks/useToast.d.ts.map +1 -0
- package/dist/lib/contexts/OverlayContext/hooks/useToast.js +52 -0
- package/dist/lib/contexts/OverlayContext/hooks/useToast.js.map +1 -0
- package/dist/lib/contexts/OverlayContext/index.d.ts +6 -0
- package/dist/lib/contexts/OverlayContext/index.d.ts.map +1 -0
- package/dist/lib/contexts/OverlayContext/index.js +6 -0
- package/dist/lib/contexts/OverlayContext/index.js.map +1 -0
- package/dist/lib/format.d.ts +22 -0
- package/dist/lib/format.d.ts.map +1 -0
- package/dist/lib/format.js +50 -0
- package/dist/lib/format.js.map +1 -0
- package/dist/lib/utils.d.ts +7 -0
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/lib/utils.js +10 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/lib/withEmpty.d.ts +6 -0
- package/dist/lib/withEmpty.d.ts.map +1 -0
- package/dist/lib/withEmpty.js +12 -0
- package/dist/lib/withEmpty.js.map +1 -0
- package/dist/lib/withErrorBoundary.d.ts +7 -0
- package/dist/lib/withErrorBoundary.d.ts.map +1 -0
- package/dist/lib/withErrorBoundary.js +10 -0
- package/dist/lib/withErrorBoundary.js.map +1 -0
- package/dist/lib/withSuspense.d.ts +6 -0
- package/dist/lib/withSuspense.d.ts.map +1 -0
- package/dist/lib/withSuspense.js +10 -0
- package/dist/lib/withSuspense.js.map +1 -0
- package/dist/lib/withSuspenseAndErrorBoundary.d.ts +12 -0
- package/dist/lib/withSuspenseAndErrorBoundary.d.ts.map +1 -0
- package/dist/lib/withSuspenseAndErrorBoundary.js +12 -0
- package/dist/lib/withSuspenseAndErrorBoundary.js.map +1 -0
- package/dist/theme/index.d.ts +9 -0
- package/dist/theme/index.d.ts.map +1 -0
- package/dist/theme/index.js +8 -0
- package/dist/theme/index.js.map +1 -0
- package/dist/theme/schema.d.ts +103 -0
- package/dist/theme/schema.d.ts.map +1 -0
- package/dist/theme/schema.js +58 -0
- package/dist/theme/schema.js.map +1 -0
- package/dist/typography/Body.d.ts +5 -0
- package/dist/typography/Body.d.ts.map +1 -0
- package/dist/typography/Body.js +7 -0
- package/dist/typography/Body.js.map +1 -0
- package/dist/typography/Caption.d.ts +5 -0
- package/dist/typography/Caption.d.ts.map +1 -0
- package/dist/typography/Caption.js +7 -0
- package/dist/typography/Caption.js.map +1 -0
- package/dist/typography/Code.d.ts +5 -0
- package/dist/typography/Code.d.ts.map +1 -0
- package/dist/typography/Code.js +7 -0
- package/dist/typography/Code.js.map +1 -0
- package/dist/typography/Display.d.ts +5 -0
- package/dist/typography/Display.d.ts.map +1 -0
- package/dist/typography/Display.js +7 -0
- package/dist/typography/Display.js.map +1 -0
- package/dist/typography/Emphasis.d.ts +5 -0
- package/dist/typography/Emphasis.d.ts.map +1 -0
- package/dist/typography/Emphasis.js +7 -0
- package/dist/typography/Emphasis.js.map +1 -0
- package/dist/typography/Heading.d.ts +11 -0
- package/dist/typography/Heading.d.ts.map +1 -0
- package/dist/typography/Heading.js +15 -0
- package/dist/typography/Heading.js.map +1 -0
- package/dist/typography/Label.d.ts +4 -0
- package/dist/typography/Label.d.ts.map +1 -0
- package/dist/typography/Label.js +8 -0
- package/dist/typography/Label.js.map +1 -0
- package/dist/typography/Lead.d.ts +5 -0
- package/dist/typography/Lead.d.ts.map +1 -0
- package/dist/typography/Lead.js +7 -0
- package/dist/typography/Lead.js.map +1 -0
- package/dist/typography/Mono.d.ts +5 -0
- package/dist/typography/Mono.d.ts.map +1 -0
- package/dist/typography/Mono.js +7 -0
- package/dist/typography/Mono.js.map +1 -0
- package/dist/typography/Muted.d.ts +5 -0
- package/dist/typography/Muted.d.ts.map +1 -0
- package/dist/typography/Muted.js +7 -0
- package/dist/typography/Muted.js.map +1 -0
- package/dist/typography/SectionTitle.d.ts +5 -0
- package/dist/typography/SectionTitle.d.ts.map +1 -0
- package/dist/typography/SectionTitle.js +7 -0
- package/dist/typography/SectionTitle.js.map +1 -0
- package/dist/typography/Subtitle.d.ts +5 -0
- package/dist/typography/Subtitle.d.ts.map +1 -0
- package/dist/typography/Subtitle.js +7 -0
- package/dist/typography/Subtitle.js.map +1 -0
- package/dist/typography/Timestamp.d.ts +5 -0
- package/dist/typography/Timestamp.d.ts.map +1 -0
- package/dist/typography/Timestamp.js +7 -0
- package/dist/typography/Timestamp.js.map +1 -0
- package/dist/typography/index.d.ts +11 -0
- package/dist/typography/index.d.ts.map +1 -0
- package/dist/typography/index.js +11 -0
- package/dist/typography/index.js.map +1 -0
- package/package.json +332 -95
- package/src/components/Badge/Badge.tsx +5 -4
- package/src/components/BarChart/BarChart.tsx +25 -30
- package/src/components/Calendar/Calendar.tsx +91 -401
- package/src/components/Calendar/CalendarView.tsx +445 -0
- package/src/components/Calendar/calendar.types.ts +94 -29
- package/src/components/Calendar/index.ts +16 -17
- package/src/components/ColorDot/ColorDot.tsx +6 -4
- package/src/components/DatePicker/DatePicker.tsx +92 -16
- package/src/components/DatePicker/datepicker.types.ts +38 -39
- package/src/components/DatePicker/index.ts +11 -10
- package/src/components/DateRangePicker/DateRangePicker.tsx +17 -21
- package/src/components/DateRangePicker/daterangepicker.types.ts +22 -22
- package/src/components/DateRangePicker/index.ts +9 -1
- package/src/components/DateTimePicker/DateTimePicker.tsx +46 -18
- package/src/components/DateTimePicker/datetimepicker.types.ts +22 -18
- package/src/components/DateTimePicker/index.ts +9 -1
- package/src/components/DateTimeRangePicker/DateTimeRangePicker.tsx +62 -28
- package/src/components/DateTimeRangePicker/datetimerangepicker.types.ts +24 -19
- package/src/components/DateTimeRangePicker/index.ts +9 -0
- package/src/components/EmptyState/EmptyState.tsx +8 -7
- package/src/components/Field/Field.tsx +7 -6
- package/src/components/LineChart/LineChart.tsx +147 -141
- package/src/components/Markdown/Markdown.tsx +4 -3
- package/src/components/Message/Message.tsx +17 -1
- package/src/components/MetricList/MetricList.tsx +10 -5
- package/src/components/Modal/Modal.tsx +119 -87
- package/src/components/Modal/components/ModalContext.tsx +14 -0
- package/src/components/Modal/components/ModalHeader.tsx +14 -2
- package/src/components/NavBottom/NavBottom.tsx +6 -4
- package/src/components/NavSide/NavItem.tsx +1 -1
- package/src/components/NavSide/NavSide.tsx +5 -3
- package/src/components/Popover/Popover.tsx +7 -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 +32 -28
- package/src/components/Select/Select.tsx +76 -19
- package/src/components/Select/SelectDropdown.tsx +32 -3
- package/src/components/Select/SelectTrigger.tsx +26 -3
- package/src/components/Select/useSelectKeyboard.ts +20 -10
- package/src/components/Sheet/Sheet.tsx +108 -83
- package/src/components/Sheet/components/SheetContext.tsx +10 -0
- package/src/components/Sheet/components/SheetHeader.tsx +17 -2
- package/src/components/Skeleton/Skeleton.tsx +5 -3
- package/src/components/Sparkline/Sparkline.tsx +29 -36
- package/src/components/StatsCard/StatsCard.tsx +7 -6
- package/src/components/Tabs/components/TabsList.tsx +5 -3
- package/src/components/Tabs/components/TabsPanels.tsx +5 -3
- package/src/components/TagChip/TagChip.tsx +10 -3
- package/src/components/TagInput/TagInput.tsx +5 -3
- package/src/components/TimePicker/TimePicker.tsx +31 -13
- package/src/components/TimePicker/timepicker.types.ts +14 -13
- package/src/date-time/index.ts +61 -0
- package/src/date-time/iso.ts +511 -0
- package/src/date-time/now.ts +10 -9
- package/src/theme/index.ts +11 -3
- package/src/theme/schema.ts +82 -54
- package/src/theme/tokens.css +807 -0
- package/dist/styles.css +0 -2
- package/dist/theme.generated.css +0 -438
- 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":"RadioButtonGroup.js","sourceRoot":"","sources":["../../../src/components/RadioButtonGroup/RadioButtonGroup.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/RadioButtonGroup/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,GAC3B,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/RadioButtonGroup/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,GAGjB,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
export type SearchInputProps = Omit<React.InputHTMLAttributes<HTMLInputElement>, "type" | "onChange"> & {
|
|
3
|
+
value: string;
|
|
4
|
+
onChange: (value: string) => void;
|
|
5
|
+
onClear?: () => void;
|
|
6
|
+
/** Accessible name for the clear button — it is icon-only. */
|
|
7
|
+
clearLabel?: string;
|
|
8
|
+
};
|
|
9
|
+
declare const SearchInput: React.ForwardRefExoticComponent<Omit<React.InputHTMLAttributes<HTMLInputElement>, "onChange" | "type"> & {
|
|
10
|
+
value: string;
|
|
11
|
+
onChange: (value: string) => void;
|
|
12
|
+
onClear?: () => void;
|
|
13
|
+
/** Accessible name for the clear button — it is icon-only. */
|
|
14
|
+
clearLabel?: string;
|
|
15
|
+
} & React.RefAttributes<HTMLInputElement>>;
|
|
16
|
+
export { SearchInput };
|
|
17
|
+
//# sourceMappingURL=SearchInput.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SearchInput.d.ts","sourceRoot":"","sources":["../../../src/components/SearchInput/SearchInput.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,GAAG;IACtG,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,8DAA8D;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,QAAA,MAAM,WAAW;WAPR,MAAM;cACH,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;cACvB,MAAM,IAAI;IACpB,8DAA8D;iBACjD,MAAM;0CAgCpB,CAAC;AAGF,OAAO,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Input } from "@sixthshift/design-system/input";
|
|
3
|
+
import { Search, X } from "lucide-react";
|
|
4
|
+
import * as React from "react";
|
|
5
|
+
const SearchInput = React.forwardRef(({ className, value, onChange, onClear, clearLabel = "Clear search", ...props }, ref) => {
|
|
6
|
+
const handleClear = () => {
|
|
7
|
+
if (onClear) {
|
|
8
|
+
onClear();
|
|
9
|
+
}
|
|
10
|
+
else {
|
|
11
|
+
onChange("");
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
return (_jsx(Input, { ref: ref, type: "text", value: value, onChange: (e) => onChange(e.target.value), iconLeft: _jsx(Search, {}), iconRight: value ? (_jsx("button", { type: "button", onClick: handleClear, "aria-label": clearLabel, className: "rounded hover:bg-bg-subtle", children: _jsx(X, {}) })) : undefined, className: className, ...props }));
|
|
15
|
+
});
|
|
16
|
+
SearchInput.displayName = "SearchInput";
|
|
17
|
+
export { SearchInput };
|
|
18
|
+
//# sourceMappingURL=SearchInput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SearchInput.js","sourceRoot":"","sources":["../../../src/components/SearchInput/SearchInput.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAU/B,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAClC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,GAAG,cAAc,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IACtF,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,EAAE,CAAC;QACZ,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,EAAE,CAAC,CAAC;QACf,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,KAAC,KAAK,IACJ,GAAG,EAAE,GAAG,EACR,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACzC,QAAQ,EAAE,KAAC,MAAM,KAAG,EACpB,SAAS,EACP,KAAK,CAAC,CAAC,CAAC,CACN,iBAAQ,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,WAAW,gBAAc,UAAU,EAAE,SAAS,EAAC,4BAA4B,YACxG,KAAC,CAAC,KAAG,GACE,CACV,CAAC,CAAC,CAAC,SAAS,EAEf,SAAS,EAAE,SAAS,KAChB,KAAK,GACT,CACH,CAAC;AACJ,CAAC,CACF,CAAC;AACF,WAAW,CAAC,WAAW,GAAG,aAAa,CAAC;AAExC,OAAO,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/SearchInput/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/SearchInput/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { type HTMLAttributes, type ReactElement, type Ref } from "react";
|
|
2
|
+
export type SelectOption<T extends string = string> = {
|
|
3
|
+
value: T;
|
|
4
|
+
label: string;
|
|
5
|
+
};
|
|
6
|
+
type SelectBaseProps<T extends string = string> = Omit<HTMLAttributes<HTMLElement>, "onChange" | "value" | "defaultValue"> & {
|
|
7
|
+
options: readonly SelectOption<T>[];
|
|
8
|
+
onBlur?: () => void;
|
|
9
|
+
onFocus?: () => void;
|
|
10
|
+
collapsed?: boolean;
|
|
11
|
+
disabled?: boolean;
|
|
12
|
+
placeholder?: string;
|
|
13
|
+
searchable?: boolean;
|
|
14
|
+
clearable?: boolean;
|
|
15
|
+
};
|
|
16
|
+
type SelectSingleProps<T extends string = string> = SelectBaseProps<T> & {
|
|
17
|
+
mode?: "single";
|
|
18
|
+
value?: T;
|
|
19
|
+
defaultValue?: T;
|
|
20
|
+
onValueChange?: (value: T) => void;
|
|
21
|
+
};
|
|
22
|
+
type SelectMultipleProps<T extends string = string> = SelectBaseProps<T> & {
|
|
23
|
+
mode: "multiple";
|
|
24
|
+
value?: T[];
|
|
25
|
+
defaultValue?: T[];
|
|
26
|
+
onValueChange?: (value: T[]) => void;
|
|
27
|
+
};
|
|
28
|
+
export type SelectProps<T extends string = string> = SelectSingleProps<T> | SelectMultipleProps<T>;
|
|
29
|
+
/**
|
|
30
|
+
* The trigger is the ref target: `register` from a form library and
|
|
31
|
+
* scroll-into-view both want it, and it is a `<div>` in both the button and the
|
|
32
|
+
* searchable variants. It does swap nodes when the searchable trigger replaces
|
|
33
|
+
* the button one, so a callback ref sees null and then the new element — normal
|
|
34
|
+
* for conditional rendering, but worth knowing if you cache the node.
|
|
35
|
+
*/
|
|
36
|
+
export declare const Select: <T extends string = string>(props: SelectProps<T> & {
|
|
37
|
+
ref?: Ref<HTMLDivElement>;
|
|
38
|
+
}) => ReactElement;
|
|
39
|
+
export {};
|
|
40
|
+
//# sourceMappingURL=Select.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../src/components/Select/Select.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAc,KAAK,cAAc,EAAE,KAAK,YAAY,EAAE,KAAK,GAAG,EAA4D,MAAM,OAAO,CAAC;AAK/I,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI;IACpD,KAAK,EAAE,CAAC,CAAC;IACT,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,eAAe,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,UAAU,GAAG,OAAO,GAAG,cAAc,CAAC,GAAG;IAC3H,OAAO,EAAE,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,KAAK,iBAAiB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,eAAe,CAAC,CAAC,CAAC,GAAG;IACvE,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,KAAK,CAAC,EAAE,CAAC,CAAC;IACV,YAAY,CAAC,EAAE,CAAC,CAAC;IACjB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;CACpC,CAAC;AAEF,KAAK,mBAAmB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,eAAe,CAAC,CAAC,CAAC,GAAG;IACzE,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;IACZ,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;IACnB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,iBAAiB,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;AA6SnG;;;;;;GAMG;AACH,eAAO,MAAM,MAAM,EAAiB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAA;CAAE,KAAK,YAAY,CAAC"}
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { autoUpdate, flip, offset, shift, size, useFloating } from "@floating-ui/react";
|
|
3
|
+
import { useControllableState } from "@sixthshift/design-system/hooks";
|
|
4
|
+
import { forwardRef, useCallback, useEffect, useId, useMemo, useRef, useState } from "react";
|
|
5
|
+
import { SelectDropdown, selectOptionId } from "./SelectDropdown.js";
|
|
6
|
+
import { SelectTriggerButton, SelectTriggerSearch } from "./SelectTrigger.js";
|
|
7
|
+
import { useSelectKeyboard } from "./useSelectKeyboard.js";
|
|
8
|
+
/**
|
|
9
|
+
* `forwardRef` erases the generic, so the implementation takes the ref as an
|
|
10
|
+
* ordinary second argument and the exported `Select` re-declares the generic
|
|
11
|
+
* signature over it. Consumers keep `Select<"a" | "b">` inference *and* get a
|
|
12
|
+
* ref; without the cast they would have to choose.
|
|
13
|
+
*/
|
|
14
|
+
const SelectRoot = forwardRef(function SelectRoot(props, rootRef) {
|
|
15
|
+
const { options, onBlur, onFocus, collapsed = false, className, disabled = false, placeholder = "Select...", searchable = false, clearable = false, ...restProps } = props;
|
|
16
|
+
const isMultiple = props.mode === "multiple";
|
|
17
|
+
// Single-mode state
|
|
18
|
+
const [singleValue, setSingleValue] = useControllableState({
|
|
19
|
+
value: !isMultiple ? props.value : undefined,
|
|
20
|
+
defaultValue: (!isMultiple ? props.defaultValue : undefined) ?? "",
|
|
21
|
+
onChange: !isMultiple ? props.onValueChange : undefined,
|
|
22
|
+
});
|
|
23
|
+
// Multiple-mode state
|
|
24
|
+
const [multiValue, setMultiValue] = useControllableState({
|
|
25
|
+
value: isMultiple ? props.value : undefined,
|
|
26
|
+
defaultValue: (isMultiple ? props.defaultValue : undefined) ?? [],
|
|
27
|
+
onChange: isMultiple ? props.onValueChange : undefined,
|
|
28
|
+
});
|
|
29
|
+
const [open, setOpen] = useControllableState({ value: undefined, defaultValue: false });
|
|
30
|
+
const [highlightedIndex, setHighlightedIndex] = useState(-1);
|
|
31
|
+
const [searchValue, setSearchValue] = useState("");
|
|
32
|
+
const listboxRef = useRef(null);
|
|
33
|
+
// Also held in state: the listbox is portalled, and FloatingPortal creates its
|
|
34
|
+
// container in an effect, so the node lands a commit after `open` flips. A ref
|
|
35
|
+
// alone is still null when the open effect runs — state re-renders us when the
|
|
36
|
+
// node actually arrives.
|
|
37
|
+
const [listboxNode, setListboxNode] = useState(null);
|
|
38
|
+
const inputRef = useRef(null);
|
|
39
|
+
const optionRefs = useRef(new Map());
|
|
40
|
+
const wasOpenRef = useRef(false);
|
|
41
|
+
const selectedValues = useMemo(() => (isMultiple ? new Set(multiValue) : singleValue ? new Set([singleValue]) : new Set()), [isMultiple, multiValue, singleValue]);
|
|
42
|
+
const displayLabel = useMemo(() => {
|
|
43
|
+
if (isMultiple) {
|
|
44
|
+
if (multiValue.length === 0)
|
|
45
|
+
return placeholder;
|
|
46
|
+
if (multiValue.length === 1)
|
|
47
|
+
return options.find((o) => o.value === multiValue[0])?.label ?? placeholder;
|
|
48
|
+
return `${multiValue.length} selected`;
|
|
49
|
+
}
|
|
50
|
+
return options.find((o) => o.value === singleValue)?.label ?? placeholder;
|
|
51
|
+
}, [isMultiple, multiValue, singleValue, options, placeholder]);
|
|
52
|
+
const filteredOptions = searchable && searchValue ? options.filter((opt) => opt.label.toLowerCase().includes(searchValue.toLowerCase())) : options;
|
|
53
|
+
const hasValue = isMultiple ? multiValue.length > 0 : Boolean(singleValue);
|
|
54
|
+
const showClearButton = clearable && hasValue && !disabled;
|
|
55
|
+
// Floating UI
|
|
56
|
+
const { refs, floatingStyles } = useFloating({
|
|
57
|
+
open,
|
|
58
|
+
onOpenChange: setOpen,
|
|
59
|
+
placement: "bottom-start",
|
|
60
|
+
middleware: [
|
|
61
|
+
offset(4),
|
|
62
|
+
flip(),
|
|
63
|
+
shift({ padding: 8 }),
|
|
64
|
+
size({
|
|
65
|
+
apply({ rects, elements }) {
|
|
66
|
+
Object.assign(elements.floating.style, { width: `${rects.reference.width}px` });
|
|
67
|
+
},
|
|
68
|
+
}),
|
|
69
|
+
],
|
|
70
|
+
whileElementsMounted: autoUpdate,
|
|
71
|
+
});
|
|
72
|
+
const setListbox = useCallback((node) => {
|
|
73
|
+
listboxRef.current = node;
|
|
74
|
+
setListboxNode(node);
|
|
75
|
+
}, []);
|
|
76
|
+
const focusTrigger = useCallback(() => {
|
|
77
|
+
refs.reference.current?.focus();
|
|
78
|
+
}, [refs.reference]);
|
|
79
|
+
const handleSelect = useCallback((optionValue) => {
|
|
80
|
+
if (isMultiple) {
|
|
81
|
+
setMultiValue(selectedValues.has(optionValue) ? multiValue.filter((v) => v !== optionValue) : [...multiValue, optionValue]);
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
setSingleValue(optionValue);
|
|
85
|
+
setSearchValue("");
|
|
86
|
+
setOpen(false);
|
|
87
|
+
focusTrigger();
|
|
88
|
+
}
|
|
89
|
+
}, [isMultiple, selectedValues, multiValue, setMultiValue, setSingleValue, setOpen, focusTrigger]);
|
|
90
|
+
const handleClear = useCallback((e) => {
|
|
91
|
+
e.stopPropagation();
|
|
92
|
+
e.preventDefault();
|
|
93
|
+
if (isMultiple) {
|
|
94
|
+
setMultiValue([]);
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
setSingleValue("");
|
|
98
|
+
}
|
|
99
|
+
}, [isMultiple, setMultiValue, setSingleValue]);
|
|
100
|
+
const handleListKeyDown = useSelectKeyboard({
|
|
101
|
+
open,
|
|
102
|
+
searchable,
|
|
103
|
+
searchValue,
|
|
104
|
+
highlightedIndex,
|
|
105
|
+
displayOptions: filteredOptions,
|
|
106
|
+
setOpen,
|
|
107
|
+
setHighlightedIndex,
|
|
108
|
+
setSearchValue,
|
|
109
|
+
handleSelect,
|
|
110
|
+
focusTrigger,
|
|
111
|
+
});
|
|
112
|
+
const handleTriggerKeyDown = useCallback((event) => {
|
|
113
|
+
if (disabled || collapsed)
|
|
114
|
+
return;
|
|
115
|
+
if (!open && (event.key === "ArrowDown" || event.key === "ArrowUp" || event.key === "Enter" || event.key === " ")) {
|
|
116
|
+
event.preventDefault();
|
|
117
|
+
setOpen(true);
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
if (searchable && !open && event.key.length === 1 && !event.ctrlKey && !event.metaKey && !event.altKey) {
|
|
121
|
+
setOpen(true);
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
// Focus normally moves into the listbox as it opens, but it can still be
|
|
125
|
+
// on the trigger — the frame the dropdown mounts in, or after the user
|
|
126
|
+
// shift-tabs back to it. Handle navigation here too rather than dropping
|
|
127
|
+
// the keystroke.
|
|
128
|
+
handleListKeyDown(event);
|
|
129
|
+
}, [disabled, collapsed, open, setOpen, searchable, handleListKeyDown]);
|
|
130
|
+
const handleSearchChange = useCallback((val) => {
|
|
131
|
+
setSearchValue(val);
|
|
132
|
+
setHighlightedIndex(0);
|
|
133
|
+
}, []);
|
|
134
|
+
// Keep the latest callbacks in a ref. This effect must run when the open state
|
|
135
|
+
// (and derived option state) changes — not whenever a caller passes a fresh
|
|
136
|
+
// inline handler. Listing onFocus/onBlur as dependencies would re-run it on
|
|
137
|
+
// every parent render, resetting the highlighted option and clearing the
|
|
138
|
+
// search box mid-interaction.
|
|
139
|
+
const focusCallbacksRef = useRef({ onFocus, onBlur });
|
|
140
|
+
useEffect(() => {
|
|
141
|
+
focusCallbacksRef.current = { onFocus, onBlur };
|
|
142
|
+
});
|
|
143
|
+
// Focus/blur lifecycle
|
|
144
|
+
useEffect(() => {
|
|
145
|
+
if (open) {
|
|
146
|
+
const firstSelected = filteredOptions.findIndex((opt) => selectedValues.has(opt.value));
|
|
147
|
+
setHighlightedIndex(firstSelected >= 0 ? firstSelected : 0);
|
|
148
|
+
if (!wasOpenRef.current)
|
|
149
|
+
focusCallbacksRef.current.onFocus?.();
|
|
150
|
+
if (searchable && inputRef.current)
|
|
151
|
+
inputRef.current.focus();
|
|
152
|
+
}
|
|
153
|
+
else {
|
|
154
|
+
setHighlightedIndex(-1);
|
|
155
|
+
setSearchValue("");
|
|
156
|
+
if (wasOpenRef.current)
|
|
157
|
+
focusCallbacksRef.current.onBlur?.();
|
|
158
|
+
}
|
|
159
|
+
wasOpenRef.current = open;
|
|
160
|
+
}, [open, filteredOptions, searchable, selectedValues]);
|
|
161
|
+
// Non-searchable: focus the listbox itself, so arrow keys reach the scoped
|
|
162
|
+
// keydown handler and a screen reader follows aria-activedescendant. The
|
|
163
|
+
// searchable variant keeps focus in its input instead.
|
|
164
|
+
useEffect(() => {
|
|
165
|
+
if (!open || searchable)
|
|
166
|
+
return;
|
|
167
|
+
listboxNode?.focus();
|
|
168
|
+
}, [open, searchable, listboxNode]);
|
|
169
|
+
// Scroll highlighted option into view
|
|
170
|
+
useEffect(() => {
|
|
171
|
+
if (open && highlightedIndex >= 0) {
|
|
172
|
+
const el = optionRefs.current.get(highlightedIndex);
|
|
173
|
+
if (el && listboxRef.current) {
|
|
174
|
+
const listbox = listboxRef.current;
|
|
175
|
+
const top = el.offsetTop;
|
|
176
|
+
const bottom = top + el.offsetHeight;
|
|
177
|
+
if (top < listbox.scrollTop)
|
|
178
|
+
listbox.scrollTop = top;
|
|
179
|
+
else if (bottom > listbox.scrollTop + listbox.clientHeight)
|
|
180
|
+
listbox.scrollTop = bottom - listbox.clientHeight;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
}, [highlightedIndex, open]);
|
|
184
|
+
// Close on outside click
|
|
185
|
+
useEffect(() => {
|
|
186
|
+
if (!open)
|
|
187
|
+
return;
|
|
188
|
+
const handler = (event) => {
|
|
189
|
+
const target = event.target;
|
|
190
|
+
const reference = refs.reference.current;
|
|
191
|
+
const floating = refs.floating.current;
|
|
192
|
+
if (reference && floating && !reference.contains(target) && !floating.contains(target)) {
|
|
193
|
+
setOpen(false);
|
|
194
|
+
}
|
|
195
|
+
};
|
|
196
|
+
document.addEventListener("mousedown", handler);
|
|
197
|
+
return () => document.removeEventListener("mousedown", handler);
|
|
198
|
+
}, [open, setOpen, refs]);
|
|
199
|
+
// The listbox id must be unique per instance: it is referenced by
|
|
200
|
+
// aria-controls, and a hardcoded value meant two Selects on one page
|
|
201
|
+
// produced duplicate ids and cross-wired ARIA.
|
|
202
|
+
const listboxId = useId();
|
|
203
|
+
const activeOptionId = open && highlightedIndex >= 0 && highlightedIndex < filteredOptions.length ? selectOptionId(listboxId, highlightedIndex) : undefined;
|
|
204
|
+
// Strip mode from DOM props
|
|
205
|
+
const { mode: _, value: _v, defaultValue: _dv, onValueChange: _oc, ...htmlProps } = restProps;
|
|
206
|
+
// `role="listbox"` requires an accessible name of its own, and the trigger
|
|
207
|
+
// can't supply one: its label is the current *value*, and in searchable mode
|
|
208
|
+
// it is an input whose name would resolve to whatever has been typed. Use the
|
|
209
|
+
// caller's `aria-label` when there is one, else the placeholder — the closest
|
|
210
|
+
// thing this component has to a field label.
|
|
211
|
+
const listboxLabel = typeof htmlProps["aria-label"] === "string" ? htmlProps["aria-label"] : placeholder;
|
|
212
|
+
return (_jsxs(_Fragment, { children: [searchable && open && !collapsed ? (_jsx(SelectTriggerSearch, { setReference: refs.setReference, rootRef: rootRef, inputRef: inputRef, searchValue: searchValue, disabled: disabled, displayLabel: displayLabel, open: open, className: className, onSearchChange: handleSearchChange, onKeyDown: handleListKeyDown, listboxId: listboxId, activeOptionId: activeOptionId, props: htmlProps })) : (_jsx(SelectTriggerButton, { setReference: refs.setReference, rootRef: rootRef, open: open, disabled: disabled, collapsed: collapsed, displayLabel: displayLabel, showClearButton: Boolean(showClearButton), className: className, onToggle: () => !disabled && !collapsed && setOpen(!open), onKeyDown: handleTriggerKeyDown, onClear: handleClear, listboxId: listboxId, props: htmlProps })), open && !collapsed && (_jsx(SelectDropdown, { setFloating: refs.setFloating, listboxId: listboxId, setListbox: setListbox, label: listboxLabel, activeOptionId: activeOptionId, floatingStyles: floatingStyles, displayOptions: filteredOptions, highlightedIndex: highlightedIndex, selectedValues: selectedValues, searchValue: searchValue, optionRefs: optionRefs, multiple: isMultiple, onSelect: handleSelect, onHighlight: setHighlightedIndex, onKeyDown: handleListKeyDown }))] }));
|
|
213
|
+
});
|
|
214
|
+
SelectRoot.displayName = "Select";
|
|
215
|
+
/**
|
|
216
|
+
* The trigger is the ref target: `register` from a form library and
|
|
217
|
+
* scroll-into-view both want it, and it is a `<div>` in both the button and the
|
|
218
|
+
* searchable variants. It does swap nodes when the searchable trigger replaces
|
|
219
|
+
* the button one, so a callback ref sees null and then the new element — normal
|
|
220
|
+
* for conditional rendering, but worth knowing if you cache the node.
|
|
221
|
+
*/
|
|
222
|
+
export const Select = SelectRoot;
|
|
223
|
+
//# sourceMappingURL=Select.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../src/components/Select/Select.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type React from "react";
|
|
2
|
+
import type { WritableRefObject } from "../../internal/types.js";
|
|
3
|
+
/**
|
|
4
|
+
* Options are addressed by id, not by focus: the listbox (or the search input)
|
|
5
|
+
* keeps focus and points `aria-activedescendant` at the highlighted option, so
|
|
6
|
+
* both sides need to agree on the id.
|
|
7
|
+
*/
|
|
8
|
+
export declare const selectOptionId: (listboxId: string, index: number) => string;
|
|
9
|
+
interface SelectDropdownProps<T extends string> {
|
|
10
|
+
setFloating: (node: HTMLElement | null) => void;
|
|
11
|
+
listboxId: string;
|
|
12
|
+
/** Publishes the listbox node upward — Select focuses it and scrolls it. */
|
|
13
|
+
setListbox: (node: HTMLDivElement | null) => void;
|
|
14
|
+
/** Names the listbox — a bare `role="listbox"` has no accessible name. */
|
|
15
|
+
label: string;
|
|
16
|
+
/** The highlighted option's id, or undefined when nothing is highlighted. */
|
|
17
|
+
activeOptionId: string | undefined;
|
|
18
|
+
floatingStyles: React.CSSProperties;
|
|
19
|
+
displayOptions: readonly {
|
|
20
|
+
value: T;
|
|
21
|
+
label: string;
|
|
22
|
+
}[];
|
|
23
|
+
highlightedIndex: number;
|
|
24
|
+
selectedValues: Set<T>;
|
|
25
|
+
searchValue: string;
|
|
26
|
+
optionRefs: WritableRefObject<Map<number, HTMLButtonElement>>;
|
|
27
|
+
multiple: boolean;
|
|
28
|
+
onSelect: (value: T) => void;
|
|
29
|
+
onHighlight: (index: number) => void;
|
|
30
|
+
onKeyDown: (event: React.KeyboardEvent<HTMLElement>) => void;
|
|
31
|
+
}
|
|
32
|
+
export declare const SelectDropdown: <T extends string>({ setFloating, listboxId, setListbox, label, activeOptionId, floatingStyles, displayOptions, highlightedIndex, selectedValues, searchValue, optionRefs, multiple, onSelect, onHighlight, onKeyDown, }: SelectDropdownProps<T>) => React.JSX.Element;
|
|
33
|
+
export {};
|
|
34
|
+
//# sourceMappingURL=SelectDropdown.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectDropdown.d.ts","sourceRoot":"","sources":["../../../src/components/Select/SelectDropdown.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D;;;;GAIG;AACH,eAAO,MAAM,cAAc,cAAe,MAAM,SAAS,MAAM,WAAmC,CAAC;AAEnG,UAAU,mBAAmB,CAAC,CAAC,SAAS,MAAM;IAC5C,WAAW,EAAE,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,4EAA4E;IAC5E,UAAU,EAAE,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,KAAK,IAAI,CAAC;IAClD,0EAA0E;IAC1E,KAAK,EAAE,MAAM,CAAC;IACd,6EAA6E;IAC7E,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,cAAc,EAAE,KAAK,CAAC,aAAa,CAAC;IACpC,cAAc,EAAE,SAAS;QAAE,KAAK,EAAE,CAAC,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACvD,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,iBAAiB,CAAC,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAC9D,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC7B,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;CAC9D;AAED,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,MAAM,yMAgB5C,mBAAmB,CAAC,CAAC,CAAC,sBAoExB,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { FloatingPortal } from "@floating-ui/react";
|
|
3
|
+
import { cn } from "@sixthshift/design-system/utils";
|
|
4
|
+
import { Check } from "lucide-react";
|
|
5
|
+
/**
|
|
6
|
+
* Options are addressed by id, not by focus: the listbox (or the search input)
|
|
7
|
+
* keeps focus and points `aria-activedescendant` at the highlighted option, so
|
|
8
|
+
* both sides need to agree on the id.
|
|
9
|
+
*/
|
|
10
|
+
export const selectOptionId = (listboxId, index) => `${listboxId}-option-${index}`;
|
|
11
|
+
export const SelectDropdown = ({ setFloating, listboxId, setListbox, label, activeOptionId, floatingStyles, displayOptions, highlightedIndex, selectedValues, searchValue, optionRefs, multiple, onSelect, onHighlight, onKeyDown, }) => (_jsx(FloatingPortal, { children: _jsx("div", { ref: (node) => {
|
|
12
|
+
setFloating(node);
|
|
13
|
+
setListbox(node);
|
|
14
|
+
}, id: listboxId, role: "listbox", "aria-label": label, "aria-multiselectable": multiple || undefined, "aria-activedescendant": activeOptionId,
|
|
15
|
+
// Focus lands here when the dropdown opens (the searchable variant keeps
|
|
16
|
+
// it in the input instead), which is what makes `aria-activedescendant`
|
|
17
|
+
// and the scoped keydown handler work.
|
|
18
|
+
tabIndex: -1, onKeyDown: onKeyDown, style: floatingStyles, className: "z-popover max-h-60 overflow-y-auto rounded-md border border-border-normal bg-bg-normal shadow-lg", children: displayOptions.length === 0 ? (_jsx("div", { className: "px-3 py-2 text-center text-fg-subtle text-sm", children: searchValue ? `No results for "${searchValue}"` : "No options available" })) : (displayOptions.map((option, index) => {
|
|
19
|
+
const isSelected = selectedValues.has(option.value);
|
|
20
|
+
return (_jsxs("button", { ref: (el) => {
|
|
21
|
+
if (el)
|
|
22
|
+
optionRefs.current.set(index, el);
|
|
23
|
+
else
|
|
24
|
+
optionRefs.current.delete(index);
|
|
25
|
+
}, type: "button", id: selectOptionId(listboxId, index), role: "option", "aria-selected": isSelected,
|
|
26
|
+
// The options are not tab stops and must not steal focus: the
|
|
27
|
+
// listbox holds it and delegates via aria-activedescendant, so a
|
|
28
|
+
// click that moved focus onto the option would strand the keyboard
|
|
29
|
+
// handler with nothing listening.
|
|
30
|
+
tabIndex: -1, onMouseDown: (event) => event.preventDefault(), onClick: () => onSelect(option.value), onMouseEnter: () => onHighlight(index), className: cn(`flex w-full cursor-pointer items-center px-3 py-2 text-fg-normal text-sm transition-colors`, multiple && "gap-2", highlightedIndex === index && "bg-bg-subtle", isSelected ? "font-medium text-fg-normal" : "text-fg-subtle"), children: [multiple && (_jsx("span", { className: cn("flex h-4 w-4 shrink-0 items-center justify-center rounded-xs border", isSelected ? "border-border-brand bg-bg-brand text-fg-on-brand" : "border-border-normal"), children: isSelected && _jsx(Check, { className: "h-3 w-3" }) })), option.label] }, option.value));
|
|
31
|
+
})) }) }));
|
|
32
|
+
//# sourceMappingURL=SelectDropdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectDropdown.js","sourceRoot":"","sources":["../../../src/components/Select/SelectDropdown.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { HTMLAttributes, Ref } from "react";
|
|
2
|
+
interface SelectTriggerButtonProps {
|
|
3
|
+
setReference: (node: HTMLElement | null) => void;
|
|
4
|
+
/** Consumer ref from Select, attached to this trigger's root element. */
|
|
5
|
+
rootRef?: Ref<HTMLDivElement>;
|
|
6
|
+
listboxId: string;
|
|
7
|
+
open: boolean;
|
|
8
|
+
disabled: boolean;
|
|
9
|
+
collapsed: boolean;
|
|
10
|
+
displayLabel: string;
|
|
11
|
+
showClearButton: boolean;
|
|
12
|
+
className: string | undefined;
|
|
13
|
+
onToggle: () => void;
|
|
14
|
+
onKeyDown: (event: React.KeyboardEvent<HTMLButtonElement>) => void;
|
|
15
|
+
onClear: (e: React.MouseEvent) => void;
|
|
16
|
+
props: HTMLAttributes<HTMLElement>;
|
|
17
|
+
}
|
|
18
|
+
export declare const SelectTriggerButton: ({ setReference, rootRef, listboxId, open, disabled, collapsed, displayLabel, showClearButton, className, onToggle, onKeyDown, onClear, props, }: SelectTriggerButtonProps) => import("react").JSX.Element;
|
|
19
|
+
interface SelectTriggerSearchProps {
|
|
20
|
+
setReference: (node: HTMLElement | null) => void;
|
|
21
|
+
/** Consumer ref from Select, attached to this trigger's root element. */
|
|
22
|
+
rootRef?: Ref<HTMLDivElement>;
|
|
23
|
+
listboxId: string;
|
|
24
|
+
/** Id of the highlighted option — the input keeps focus and delegates to it. */
|
|
25
|
+
activeOptionId: string | undefined;
|
|
26
|
+
inputRef: React.RefObject<HTMLInputElement | null>;
|
|
27
|
+
searchValue: string;
|
|
28
|
+
disabled: boolean;
|
|
29
|
+
displayLabel: string;
|
|
30
|
+
open: boolean;
|
|
31
|
+
className: string | undefined;
|
|
32
|
+
onSearchChange: (value: string) => void;
|
|
33
|
+
onKeyDown: (event: React.KeyboardEvent<HTMLElement>) => void;
|
|
34
|
+
props: React.InputHTMLAttributes<HTMLInputElement>;
|
|
35
|
+
}
|
|
36
|
+
export declare const SelectTriggerSearch: ({ setReference, rootRef, listboxId, activeOptionId, inputRef, searchValue, disabled, displayLabel, open, className, onSearchChange, onKeyDown, props, }: SelectTriggerSearchProps) => import("react").JSX.Element;
|
|
37
|
+
export {};
|
|
38
|
+
//# sourceMappingURL=SelectTrigger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectTrigger.d.ts","sourceRoot":"","sources":["../../../src/components/Select/SelectTrigger.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAGjD,UAAU,wBAAwB;IAChC,YAAY,EAAE,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;IACjD,yEAAyE;IACzE,OAAO,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IACnE,OAAO,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IACvC,KAAK,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;CACpC;AAED,eAAO,MAAM,mBAAmB,oJAc7B,wBAAwB,gCAmD1B,CAAC;AAEF,UAAU,wBAAwB;IAChC,YAAY,EAAE,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;IACjD,yEAAyE;IACzE,OAAO,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,gFAAgF;IAChF,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IACnD,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAC7D,KAAK,EAAE,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;CACpD;AAED,eAAO,MAAM,mBAAmB,4JAc7B,wBAAwB,gCA+B1B,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from "@sixthshift/design-system/utils";
|
|
3
|
+
import { ChevronDown, X } from "lucide-react";
|
|
4
|
+
export const SelectTriggerButton = ({ setReference, rootRef, listboxId, open, disabled, collapsed, displayLabel, showClearButton, className, onToggle, onKeyDown, onClear, props, }) => {
|
|
5
|
+
// The clear button must be a sibling of the trigger, not a descendant: nesting
|
|
6
|
+
// one interactive control inside another is invalid HTML and leaves assistive
|
|
7
|
+
// tech unable to reach the inner control (axe: nested-interactive).
|
|
8
|
+
const showClear = showClearButton && !collapsed;
|
|
9
|
+
return (_jsxs("div", { ref: rootRef, className: "relative w-full", children: [_jsx("button", { ref: setReference, type: "button", onClick: onToggle, onKeyDown: onKeyDown, disabled: disabled, className: cn(`flex w-full cursor-pointer items-center gap-2 rounded-md border border-border-normal bg-bg-normal px-3 py-2 font-medium text-fg-normal text-sm transition-colors hover:bg-bg-subtle focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring disabled:cursor-not-allowed disabled:opacity-50`, collapsed ? "justify-center" : "justify-between", showClear && "pr-9", className), title: collapsed ? displayLabel : undefined, "aria-haspopup": "listbox", "aria-expanded": open, "aria-controls": open ? listboxId : undefined, ...props, children: collapsed ? (_jsx("span", { className: "font-bold text-xs", children: displayLabel.charAt(0) })) : (_jsxs(_Fragment, { children: [_jsx("span", { className: "truncate", children: displayLabel }), _jsx("span", { className: "flex shrink-0 items-center gap-1", children: _jsx(ChevronDown, { className: cn("h-4 w-4 text-fg-subtle transition-transform", open && "rotate-180") }) })] })) }), showClear && (_jsx("button", { type: "button", onClick: onClear, disabled: disabled, className: "absolute top-1/2 right-8 -translate-y-1/2 rounded-sm p-0.5 text-fg-subtle hover:bg-bg-subtle hover:text-fg-normal focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring", "aria-label": "Clear selection", children: _jsx(X, { className: "h-3.5 w-3.5" }) }))] }));
|
|
10
|
+
};
|
|
11
|
+
export const SelectTriggerSearch = ({ setReference, rootRef, listboxId, activeOptionId, inputRef, searchValue, disabled, displayLabel, open, className, onSearchChange, onKeyDown, props, }) => (
|
|
12
|
+
// floating-ui anchors to this element and the consumer may also want it, so
|
|
13
|
+
// both refs run off one callback rather than one silently winning.
|
|
14
|
+
_jsxs("div", { ref: (node) => {
|
|
15
|
+
setReference(node);
|
|
16
|
+
if (typeof rootRef === "function")
|
|
17
|
+
rootRef(node);
|
|
18
|
+
else if (rootRef)
|
|
19
|
+
rootRef.current = node;
|
|
20
|
+
}, className: cn("relative flex w-full items-center", className), children: [_jsx("input", { ref: inputRef, type: "text", value: searchValue, onChange: (e) => onSearchChange(e.target.value), onKeyDown: onKeyDown, placeholder: displayLabel, disabled: disabled, className: cn(`flex-1 rounded-md border border-border-normal bg-bg-normal px-3 py-2 font-medium text-fg-normal text-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring disabled:cursor-not-allowed disabled:opacity-50`), role: "combobox", "aria-expanded": open, "aria-controls": listboxId, "aria-activedescendant": activeOptionId, "aria-autocomplete": "list", ...props }), _jsx(ChevronDown, { className: "pointer-events-none absolute right-3 h-4 w-4 text-fg-subtle" })] }));
|
|
21
|
+
//# sourceMappingURL=SelectTrigger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectTrigger.js","sourceRoot":"","sources":["../../../src/components/Select/SelectTrigger.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Select/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Select/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAuC,MAAM,UAAU,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { SelectOption } from "./Select.js";
|
|
2
|
+
interface UseSelectKeyboardOptions<T extends string> {
|
|
3
|
+
open: boolean;
|
|
4
|
+
searchable: boolean;
|
|
5
|
+
searchValue: string;
|
|
6
|
+
highlightedIndex: number;
|
|
7
|
+
displayOptions: readonly SelectOption<T>[];
|
|
8
|
+
setOpen: (open: boolean) => void;
|
|
9
|
+
setHighlightedIndex: React.Dispatch<React.SetStateAction<number>>;
|
|
10
|
+
setSearchValue: (value: string) => void;
|
|
11
|
+
handleSelect: (value: T) => void;
|
|
12
|
+
focusTrigger: () => void;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Returns the keydown handler for an open Select. It is attached to the element
|
|
16
|
+
* that actually holds focus — the listbox, or the search input in searchable
|
|
17
|
+
* mode — rather than to `document`.
|
|
18
|
+
*
|
|
19
|
+
* A document-level listener fired for every keystroke on the page while any
|
|
20
|
+
* Select was open, which meant a Select could swallow Escape or an arrow key
|
|
21
|
+
* from an overlay stacked above it, and two open Selects raced each other. It
|
|
22
|
+
* also decoupled key handling from focus, so nothing guaranteed the element the
|
|
23
|
+
* user was typing into was the one being navigated. Scoping the handler to the
|
|
24
|
+
* focused element makes both problems structurally impossible and is what lets
|
|
25
|
+
* `aria-activedescendant` mean something: the focused element owns the active
|
|
26
|
+
* option.
|
|
27
|
+
*/
|
|
28
|
+
export declare function useSelectKeyboard<T extends string>({ open, searchable, searchValue, highlightedIndex, displayOptions, setOpen, setHighlightedIndex, setSearchValue, handleSelect, focusTrigger, }: UseSelectKeyboardOptions<T>): (event: React.KeyboardEvent<HTMLElement>) => void;
|
|
29
|
+
export {};
|
|
30
|
+
//# sourceMappingURL=useSelectKeyboard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSelectKeyboard.d.ts","sourceRoot":"","sources":["../../../src/components/Select/useSelectKeyboard.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,UAAU,wBAAwB,CAAC,CAAC,SAAS,MAAM;IACjD,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3C,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACjC,mBAAmB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IAClE,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,YAAY,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IACjC,YAAY,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAAE,EAClD,IAAI,EACJ,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,OAAO,EACP,mBAAmB,EACnB,cAAc,EACd,YAAY,EACZ,YAAY,GACb,EAAE,wBAAwB,CAAC,CAAC,CAAC,WAElB,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,UA6E3C"}
|