@salt-ds/lab 1.0.0-alpha.13 → 1.0.0-alpha.14
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/dist-cjs/app-header/AppHeader.js +0 -1
- package/dist-cjs/app-header/AppHeader.js.map +1 -1
- package/dist-cjs/calendar/internal/CalendarNavigation.js +0 -1
- package/dist-cjs/calendar/internal/CalendarNavigation.js.map +1 -1
- package/dist-cjs/calendar/useSelection.js +0 -1
- package/dist-cjs/calendar/useSelection.js.map +1 -1
- package/dist-cjs/carousel/Carousel.js +0 -1
- package/dist-cjs/carousel/Carousel.js.map +1 -1
- package/dist-cjs/cascading-menu/CascadingMenu.js +0 -1
- package/dist-cjs/cascading-menu/CascadingMenu.js.map +1 -1
- package/dist-cjs/cascading-menu/CascadingMenuItem.js +0 -1
- package/dist-cjs/cascading-menu/CascadingMenuItem.js.map +1 -1
- package/dist-cjs/cascading-menu/CascadingMenuList.js +0 -1
- package/dist-cjs/cascading-menu/CascadingMenuList.js.map +1 -1
- package/dist-cjs/cascading-menu/internal/useClickAway.js +0 -1
- package/dist-cjs/cascading-menu/internal/useClickAway.js.map +1 -1
- package/dist-cjs/cascading-menu/internal/useMenuTriggerHandlers.js +0 -1
- package/dist-cjs/cascading-menu/internal/useMenuTriggerHandlers.js.map +1 -1
- package/dist-cjs/combo-box/ComboBox.js +0 -1
- package/dist-cjs/combo-box/ComboBox.js.map +1 -1
- package/dist-cjs/combo-box/useCombobox.js +0 -1
- package/dist-cjs/combo-box/useCombobox.js.map +1 -1
- package/dist-cjs/combo-box-deprecated/filterHelpers.js +0 -1
- package/dist-cjs/combo-box-deprecated/filterHelpers.js.map +1 -1
- package/dist-cjs/combo-box-deprecated/internal/DefaultComboBox.js +0 -1
- package/dist-cjs/combo-box-deprecated/internal/DefaultComboBox.js.map +1 -1
- package/dist-cjs/combo-box-deprecated/internal/MultiSelectComboBox.js +0 -1
- package/dist-cjs/combo-box-deprecated/internal/MultiSelectComboBox.js.map +1 -1
- package/dist-cjs/combo-box-deprecated/internal/useComboBox.js +0 -1
- package/dist-cjs/combo-box-deprecated/internal/useComboBox.js.map +1 -1
- package/dist-cjs/combo-box-deprecated/internal/useMultiSelectComboBox.js +0 -1
- package/dist-cjs/combo-box-deprecated/internal/useMultiSelectComboBox.js.map +1 -1
- package/dist-cjs/common-hooks/useViewportTracking.js +0 -1
- package/dist-cjs/common-hooks/useViewportTracking.js.map +1 -1
- package/dist-cjs/common-hooks/utils/filter-utils.js +0 -1
- package/dist-cjs/common-hooks/utils/filter-utils.js.map +1 -1
- package/dist-cjs/contact-details/MailLinkComponent.js +0 -1
- package/dist-cjs/contact-details/MailLinkComponent.js.map +1 -1
- package/dist-cjs/content-status/internal/StatusIndicator.js +0 -1
- package/dist-cjs/content-status/internal/StatusIndicator.js.map +1 -1
- package/dist-cjs/deck-layout/DeckLayout.js +0 -1
- package/dist-cjs/deck-layout/DeckLayout.js.map +1 -1
- package/dist-cjs/drawer/Drawer.css.js +6 -0
- package/dist-cjs/drawer/Drawer.css.js.map +1 -0
- package/dist-cjs/drawer/Drawer.js +83 -0
- package/dist-cjs/drawer/Drawer.js.map +1 -0
- package/dist-cjs/dropdown/Dropdown.js +0 -1
- package/dist-cjs/dropdown/Dropdown.js.map +1 -1
- package/dist-cjs/dropdown/DropdownBase.js +0 -1
- package/dist-cjs/dropdown/DropdownBase.js.map +1 -1
- package/dist-cjs/dropdown/useDropdown.js +0 -1
- package/dist-cjs/dropdown/useDropdown.js.map +1 -1
- package/dist-cjs/dropdown/useDropdownBase.js +0 -1
- package/dist-cjs/dropdown/useDropdownBase.js.map +1 -1
- package/dist-cjs/index.js +13 -8
- package/dist-cjs/index.js.map +1 -1
- package/dist-cjs/layer-layout/LayerLayout.js +0 -1
- package/dist-cjs/layer-layout/LayerLayout.js.map +1 -1
- package/dist-cjs/list/Highlighter.js +0 -1
- package/dist-cjs/list/Highlighter.js.map +1 -1
- package/dist-cjs/list/List.js +0 -1
- package/dist-cjs/list/List.js.map +1 -1
- package/dist-cjs/list/VirtualizedList.js +0 -1
- package/dist-cjs/list/VirtualizedList.js.map +1 -1
- package/dist-cjs/list/useList.js +0 -1
- package/dist-cjs/list/useList.js.map +1 -1
- package/dist-cjs/list/useListHeight.js +0 -1
- package/dist-cjs/list/useListHeight.js.map +1 -1
- package/dist-cjs/list-deprecated/ListItemBase.js +0 -1
- package/dist-cjs/list-deprecated/ListItemBase.js.map +1 -1
- package/dist-cjs/list-deprecated/internal/Highlighter.js +0 -1
- package/dist-cjs/list-deprecated/internal/Highlighter.js.map +1 -1
- package/dist-cjs/list-deprecated/useTypeSelect.js +0 -1
- package/dist-cjs/list-deprecated/useTypeSelect.js.map +1 -1
- package/dist-cjs/list-next/ListItemNext.css.js +1 -1
- package/dist-cjs/multiline-input/MultilineInput.css.js +1 -1
- package/dist-cjs/multiline-input/MultilineInput.js +25 -13
- package/dist-cjs/multiline-input/MultilineInput.js.map +1 -1
- package/dist-cjs/parent-child-layout/ParentChildLayout.js +0 -1
- package/dist-cjs/parent-child-layout/ParentChildLayout.js.map +1 -1
- package/dist-cjs/pill-next/PillNext.css.js +6 -0
- package/dist-cjs/pill-next/PillNext.css.js.map +1 -0
- package/dist-cjs/pill-next/PillNext.js +58 -0
- package/dist-cjs/pill-next/PillNext.js.map +1 -0
- package/dist-cjs/progress/CircularProgress/CircularProgress.css.js +1 -1
- package/dist-cjs/progress/CircularProgress/CircularProgress.js +36 -75
- package/dist-cjs/progress/CircularProgress/CircularProgress.js.map +1 -1
- package/dist-cjs/progress/LinearProgress/LinearProgress.css.js +1 -1
- package/dist-cjs/progress/LinearProgress/LinearProgress.js +16 -24
- package/dist-cjs/progress/LinearProgress/LinearProgress.js.map +1 -1
- package/dist-cjs/query-input/internal/CategoryList.js +0 -1
- package/dist-cjs/query-input/internal/CategoryList.js.map +1 -1
- package/dist-cjs/query-input/internal/CategoryListItem.js +0 -1
- package/dist-cjs/query-input/internal/CategoryListItem.js.map +1 -1
- package/dist-cjs/query-input/internal/QueryInputBody.js +0 -1
- package/dist-cjs/query-input/internal/QueryInputBody.js.map +1 -1
- package/dist-cjs/query-input/internal/SearchList.js +0 -1
- package/dist-cjs/query-input/internal/SearchList.js.map +1 -1
- package/dist-cjs/query-input/internal/ValueList.js +0 -1
- package/dist-cjs/query-input/internal/ValueList.js.map +1 -1
- package/dist-cjs/query-input/useQueryInput.js +0 -1
- package/dist-cjs/query-input/useQueryInput.js.map +1 -1
- package/dist-cjs/responsive/useOverflow.js +0 -1
- package/dist-cjs/responsive/useOverflow.js.map +1 -1
- package/dist-cjs/stepped-tracker/StepLabel/StepLabel.css.js +6 -0
- package/dist-cjs/stepped-tracker/StepLabel/StepLabel.css.js.map +1 -0
- package/dist-cjs/stepped-tracker/StepLabel/StepLabel.js +42 -0
- package/dist-cjs/stepped-tracker/StepLabel/StepLabel.js.map +1 -0
- package/dist-cjs/stepped-tracker/SteppedTracker.css.js +6 -0
- package/dist-cjs/stepped-tracker/SteppedTracker.css.js.map +1 -0
- package/dist-cjs/stepped-tracker/SteppedTracker.js +64 -0
- package/dist-cjs/stepped-tracker/SteppedTracker.js.map +1 -0
- package/dist-cjs/stepped-tracker/SteppedTrackerContext.js +57 -0
- package/dist-cjs/stepped-tracker/SteppedTrackerContext.js.map +1 -0
- package/dist-cjs/stepped-tracker/TrackerConnector/TrackerConnector.css.js +6 -0
- package/dist-cjs/stepped-tracker/TrackerConnector/TrackerConnector.css.js.map +1 -0
- package/dist-cjs/stepped-tracker/TrackerConnector/TrackerConnector.js +26 -0
- package/dist-cjs/stepped-tracker/TrackerConnector/TrackerConnector.js.map +1 -0
- package/dist-cjs/stepped-tracker/TrackerStep/TrackerStep.css.js +6 -0
- package/dist-cjs/stepped-tracker/TrackerStep/TrackerStep.css.js.map +1 -0
- package/dist-cjs/stepped-tracker/TrackerStep/TrackerStep.js +111 -0
- package/dist-cjs/stepped-tracker/TrackerStep/TrackerStep.js.map +1 -0
- package/dist-cjs/stepped-tracker/TrackerStep/TrackerStepTooltipContext.js +21 -0
- package/dist-cjs/stepped-tracker/TrackerStep/TrackerStepTooltipContext.js.map +1 -0
- package/dist-cjs/stepped-tracker/useDetectTruncatedText.js +71 -0
- package/dist-cjs/stepped-tracker/useDetectTruncatedText.js.map +1 -0
- package/dist-cjs/tabs/Tabstrip.js +0 -1
- package/dist-cjs/tabs/Tabstrip.js.map +1 -1
- package/dist-cjs/tabs/useActivationIndicator.js +0 -1
- package/dist-cjs/tabs/useActivationIndicator.js.map +1 -1
- package/dist-cjs/tabs/useKeyboardNavigation.js +0 -1
- package/dist-cjs/tabs/useKeyboardNavigation.js.map +1 -1
- package/dist-cjs/tabs-next/OverflowMenu.js +0 -1
- package/dist-cjs/tabs-next/OverflowMenu.js.map +1 -1
- package/dist-cjs/tokenized-input/useTokenizedInput.js +0 -1
- package/dist-cjs/tokenized-input/useTokenizedInput.js.map +1 -1
- package/dist-cjs/toolbar/Toolbar.js +0 -1
- package/dist-cjs/toolbar/Toolbar.js.map +1 -1
- package/dist-cjs/toolbar/internal/renderToolbarItems.js +0 -1
- package/dist-cjs/toolbar/internal/renderToolbarItems.js.map +1 -1
- package/dist-cjs/toolbar/overflow-panel/OverflowPanel.js +0 -1
- package/dist-cjs/toolbar/overflow-panel/OverflowPanel.js.map +1 -1
- package/dist-cjs/tree/Tree.js +0 -1
- package/dist-cjs/tree/Tree.js.map +1 -1
- package/dist-cjs/tree/useTree.js +0 -1
- package/dist-cjs/tree/useTree.js.map +1 -1
- package/dist-es/app-header/AppHeader.js +0 -1
- package/dist-es/app-header/AppHeader.js.map +1 -1
- package/dist-es/calendar/internal/CalendarNavigation.js +0 -1
- package/dist-es/calendar/internal/CalendarNavigation.js.map +1 -1
- package/dist-es/calendar/useSelection.js +0 -1
- package/dist-es/calendar/useSelection.js.map +1 -1
- package/dist-es/carousel/Carousel.js +0 -1
- package/dist-es/carousel/Carousel.js.map +1 -1
- package/dist-es/cascading-menu/CascadingMenu.js +0 -1
- package/dist-es/cascading-menu/CascadingMenu.js.map +1 -1
- package/dist-es/cascading-menu/CascadingMenuItem.js +0 -1
- package/dist-es/cascading-menu/CascadingMenuItem.js.map +1 -1
- package/dist-es/cascading-menu/CascadingMenuList.js +0 -1
- package/dist-es/cascading-menu/CascadingMenuList.js.map +1 -1
- package/dist-es/cascading-menu/internal/useClickAway.js +0 -1
- package/dist-es/cascading-menu/internal/useClickAway.js.map +1 -1
- package/dist-es/cascading-menu/internal/useMenuTriggerHandlers.js +0 -1
- package/dist-es/cascading-menu/internal/useMenuTriggerHandlers.js.map +1 -1
- package/dist-es/combo-box/ComboBox.js +0 -1
- package/dist-es/combo-box/ComboBox.js.map +1 -1
- package/dist-es/combo-box/useCombobox.js +0 -1
- package/dist-es/combo-box/useCombobox.js.map +1 -1
- package/dist-es/combo-box-deprecated/filterHelpers.js +0 -1
- package/dist-es/combo-box-deprecated/filterHelpers.js.map +1 -1
- package/dist-es/combo-box-deprecated/internal/DefaultComboBox.js +0 -1
- package/dist-es/combo-box-deprecated/internal/DefaultComboBox.js.map +1 -1
- package/dist-es/combo-box-deprecated/internal/MultiSelectComboBox.js +0 -1
- package/dist-es/combo-box-deprecated/internal/MultiSelectComboBox.js.map +1 -1
- package/dist-es/combo-box-deprecated/internal/useComboBox.js +0 -1
- package/dist-es/combo-box-deprecated/internal/useComboBox.js.map +1 -1
- package/dist-es/combo-box-deprecated/internal/useMultiSelectComboBox.js +0 -1
- package/dist-es/combo-box-deprecated/internal/useMultiSelectComboBox.js.map +1 -1
- package/dist-es/common-hooks/useViewportTracking.js +0 -1
- package/dist-es/common-hooks/useViewportTracking.js.map +1 -1
- package/dist-es/common-hooks/utils/filter-utils.js +0 -1
- package/dist-es/common-hooks/utils/filter-utils.js.map +1 -1
- package/dist-es/contact-details/MailLinkComponent.js +0 -1
- package/dist-es/contact-details/MailLinkComponent.js.map +1 -1
- package/dist-es/content-status/internal/StatusIndicator.js +0 -1
- package/dist-es/content-status/internal/StatusIndicator.js.map +1 -1
- package/dist-es/deck-layout/DeckLayout.js +0 -1
- package/dist-es/deck-layout/DeckLayout.js.map +1 -1
- package/dist-es/drawer/Drawer.css.js +4 -0
- package/dist-es/drawer/Drawer.css.js.map +1 -0
- package/dist-es/drawer/Drawer.js +78 -0
- package/dist-es/drawer/Drawer.js.map +1 -0
- package/dist-es/dropdown/Dropdown.js +0 -1
- package/dist-es/dropdown/Dropdown.js.map +1 -1
- package/dist-es/dropdown/DropdownBase.js +0 -1
- package/dist-es/dropdown/DropdownBase.js.map +1 -1
- package/dist-es/dropdown/useDropdown.js +0 -1
- package/dist-es/dropdown/useDropdown.js.map +1 -1
- package/dist-es/dropdown/useDropdownBase.js +0 -1
- package/dist-es/dropdown/useDropdownBase.js.map +1 -1
- package/dist-es/index.js +7 -4
- package/dist-es/index.js.map +1 -1
- package/dist-es/layer-layout/LayerLayout.js +0 -1
- package/dist-es/layer-layout/LayerLayout.js.map +1 -1
- package/dist-es/list/Highlighter.js +0 -1
- package/dist-es/list/Highlighter.js.map +1 -1
- package/dist-es/list/List.js +0 -1
- package/dist-es/list/List.js.map +1 -1
- package/dist-es/list/VirtualizedList.js +0 -1
- package/dist-es/list/VirtualizedList.js.map +1 -1
- package/dist-es/list/useList.js +0 -1
- package/dist-es/list/useList.js.map +1 -1
- package/dist-es/list/useListHeight.js +0 -1
- package/dist-es/list/useListHeight.js.map +1 -1
- package/dist-es/list-deprecated/ListItemBase.js +0 -1
- package/dist-es/list-deprecated/ListItemBase.js.map +1 -1
- package/dist-es/list-deprecated/internal/Highlighter.js +0 -1
- package/dist-es/list-deprecated/internal/Highlighter.js.map +1 -1
- package/dist-es/list-deprecated/useTypeSelect.js +0 -1
- package/dist-es/list-deprecated/useTypeSelect.js.map +1 -1
- package/dist-es/list-next/ListItemNext.css.js +1 -1
- package/dist-es/multiline-input/MultilineInput.css.js +1 -1
- package/dist-es/multiline-input/MultilineInput.js +25 -13
- package/dist-es/multiline-input/MultilineInput.js.map +1 -1
- package/dist-es/parent-child-layout/ParentChildLayout.js +0 -1
- package/dist-es/parent-child-layout/ParentChildLayout.js.map +1 -1
- package/dist-es/pill-next/PillNext.css.js +4 -0
- package/dist-es/pill-next/PillNext.css.js.map +1 -0
- package/dist-es/pill-next/PillNext.js +50 -0
- package/dist-es/pill-next/PillNext.js.map +1 -0
- package/dist-es/progress/CircularProgress/CircularProgress.css.js +1 -1
- package/dist-es/progress/CircularProgress/CircularProgress.js +37 -75
- package/dist-es/progress/CircularProgress/CircularProgress.js.map +1 -1
- package/dist-es/progress/LinearProgress/LinearProgress.css.js +1 -1
- package/dist-es/progress/LinearProgress/LinearProgress.js +16 -24
- package/dist-es/progress/LinearProgress/LinearProgress.js.map +1 -1
- package/dist-es/query-input/internal/CategoryList.js +0 -1
- package/dist-es/query-input/internal/CategoryList.js.map +1 -1
- package/dist-es/query-input/internal/CategoryListItem.js +0 -1
- package/dist-es/query-input/internal/CategoryListItem.js.map +1 -1
- package/dist-es/query-input/internal/QueryInputBody.js +0 -1
- package/dist-es/query-input/internal/QueryInputBody.js.map +1 -1
- package/dist-es/query-input/internal/SearchList.js +0 -1
- package/dist-es/query-input/internal/SearchList.js.map +1 -1
- package/dist-es/query-input/internal/ValueList.js +0 -1
- package/dist-es/query-input/internal/ValueList.js.map +1 -1
- package/dist-es/query-input/useQueryInput.js +0 -1
- package/dist-es/query-input/useQueryInput.js.map +1 -1
- package/dist-es/responsive/useOverflow.js +0 -1
- package/dist-es/responsive/useOverflow.js.map +1 -1
- package/dist-es/stepped-tracker/StepLabel/StepLabel.css.js +4 -0
- package/dist-es/stepped-tracker/StepLabel/StepLabel.css.js.map +1 -0
- package/dist-es/stepped-tracker/StepLabel/StepLabel.js +38 -0
- package/dist-es/stepped-tracker/StepLabel/StepLabel.js.map +1 -0
- package/dist-es/stepped-tracker/SteppedTracker.css.js +4 -0
- package/dist-es/stepped-tracker/SteppedTracker.css.js.map +1 -0
- package/dist-es/stepped-tracker/SteppedTracker.js +60 -0
- package/dist-es/stepped-tracker/SteppedTracker.js.map +1 -0
- package/dist-es/stepped-tracker/SteppedTrackerContext.js +50 -0
- package/dist-es/stepped-tracker/SteppedTrackerContext.js.map +1 -0
- package/dist-es/stepped-tracker/TrackerConnector/TrackerConnector.css.js +4 -0
- package/dist-es/stepped-tracker/TrackerConnector/TrackerConnector.css.js.map +1 -0
- package/dist-es/stepped-tracker/TrackerConnector/TrackerConnector.js +22 -0
- package/dist-es/stepped-tracker/TrackerConnector/TrackerConnector.js.map +1 -0
- package/dist-es/stepped-tracker/TrackerStep/TrackerStep.css.js +4 -0
- package/dist-es/stepped-tracker/TrackerStep/TrackerStep.css.js.map +1 -0
- package/dist-es/stepped-tracker/TrackerStep/TrackerStep.js +107 -0
- package/dist-es/stepped-tracker/TrackerStep/TrackerStep.js.map +1 -0
- package/dist-es/stepped-tracker/TrackerStep/TrackerStepTooltipContext.js +16 -0
- package/dist-es/stepped-tracker/TrackerStep/TrackerStepTooltipContext.js.map +1 -0
- package/dist-es/stepped-tracker/useDetectTruncatedText.js +69 -0
- package/dist-es/stepped-tracker/useDetectTruncatedText.js.map +1 -0
- package/dist-es/tabs/Tabstrip.js +0 -1
- package/dist-es/tabs/Tabstrip.js.map +1 -1
- package/dist-es/tabs/useActivationIndicator.js +0 -1
- package/dist-es/tabs/useActivationIndicator.js.map +1 -1
- package/dist-es/tabs/useKeyboardNavigation.js +0 -1
- package/dist-es/tabs/useKeyboardNavigation.js.map +1 -1
- package/dist-es/tabs-next/OverflowMenu.js +0 -1
- package/dist-es/tabs-next/OverflowMenu.js.map +1 -1
- package/dist-es/tokenized-input/useTokenizedInput.js +0 -1
- package/dist-es/tokenized-input/useTokenizedInput.js.map +1 -1
- package/dist-es/toolbar/Toolbar.js +0 -1
- package/dist-es/toolbar/Toolbar.js.map +1 -1
- package/dist-es/toolbar/internal/renderToolbarItems.js +0 -1
- package/dist-es/toolbar/internal/renderToolbarItems.js.map +1 -1
- package/dist-es/toolbar/overflow-panel/OverflowPanel.js +0 -1
- package/dist-es/toolbar/overflow-panel/OverflowPanel.js.map +1 -1
- package/dist-es/tree/Tree.js +0 -1
- package/dist-es/tree/Tree.js.map +1 -1
- package/dist-es/tree/useTree.js +0 -1
- package/dist-es/tree/useTree.js.map +1 -1
- package/dist-types/drawer/Drawer.d.ts +31 -0
- package/dist-types/drawer/index.d.ts +1 -0
- package/dist-types/index.d.ts +3 -1
- package/dist-types/multiline-input/MultilineInput.d.ts +14 -14
- package/dist-types/pill-next/PillNext.d.ts +7 -0
- package/dist-types/pill-next/index.d.ts +1 -0
- package/dist-types/progress/CircularProgress/CircularProgress.d.ts +7 -24
- package/dist-types/progress/LinearProgress/LinearProgress.d.ts +7 -11
- package/dist-types/stepped-tracker/StepLabel/StepLabel.d.ts +5 -0
- package/dist-types/stepped-tracker/StepLabel/index.d.ts +1 -0
- package/dist-types/stepped-tracker/SteppedTracker.d.ts +12 -0
- package/dist-types/stepped-tracker/SteppedTrackerContext.d.ts +21 -0
- package/dist-types/stepped-tracker/TrackerConnector/TrackerConnector.d.ts +10 -0
- package/dist-types/stepped-tracker/TrackerConnector/index.d.ts +1 -0
- package/dist-types/stepped-tracker/TrackerStep/TrackerStep.d.ts +10 -0
- package/dist-types/stepped-tracker/TrackerStep/TrackerStepTooltipContext.d.ts +7 -0
- package/dist-types/stepped-tracker/TrackerStep/index.d.ts +3 -0
- package/dist-types/stepped-tracker/index.d.ts +3 -0
- package/dist-types/stepped-tracker/useDetectTruncatedText.d.ts +11 -0
- package/dist-types/utils/index.d.ts +0 -1
- package/package.json +8 -8
- package/dist-cjs/progress/CircularProgress/CircularProgressParts.js +0 -72
- package/dist-cjs/progress/CircularProgress/CircularProgressParts.js.map +0 -1
- package/dist-cjs/toast/Toast.css.js +0 -6
- package/dist-cjs/toast/Toast.css.js.map +0 -1
- package/dist-cjs/toast/Toast.js +0 -38
- package/dist-cjs/toast/Toast.js.map +0 -1
- package/dist-cjs/toast/ToastContent.css.js +0 -6
- package/dist-cjs/toast/ToastContent.css.js.map +0 -1
- package/dist-cjs/toast/ToastContent.js +0 -30
- package/dist-cjs/toast/ToastContent.js.map +0 -1
- package/dist-cjs/utils/useFloatingUI.js +0 -38
- package/dist-cjs/utils/useFloatingUI.js.map +0 -1
- package/dist-es/progress/CircularProgress/CircularProgressParts.js +0 -64
- package/dist-es/progress/CircularProgress/CircularProgressParts.js.map +0 -1
- package/dist-es/toast/Toast.css.js +0 -4
- package/dist-es/toast/Toast.css.js.map +0 -1
- package/dist-es/toast/Toast.js +0 -34
- package/dist-es/toast/Toast.js.map +0 -1
- package/dist-es/toast/ToastContent.css.js +0 -4
- package/dist-es/toast/ToastContent.css.js.map +0 -1
- package/dist-es/toast/ToastContent.js +0 -26
- package/dist-es/toast/ToastContent.js.map +0 -1
- package/dist-es/utils/useFloatingUI.js +0 -33
- package/dist-es/utils/useFloatingUI.js.map +0 -1
- package/dist-types/progress/CircularProgress/CircularProgressParts.d.ts +0 -13
- package/dist-types/toast/Toast.d.ts +0 -9
- package/dist-types/toast/ToastContent.d.ts +0 -2
- package/dist-types/toast/index.d.ts +0 -2
- package/dist-types/utils/useFloatingUI.d.ts +0 -34
|
@@ -16,18 +16,19 @@ const MultilineInput = React.forwardRef(
|
|
|
16
16
|
"aria-activedescendant": ariaActiveDescendant,
|
|
17
17
|
"aria-expanded": ariaExpanded,
|
|
18
18
|
"aria-owns": ariaOwns,
|
|
19
|
+
bordered = false,
|
|
19
20
|
className: classNameProp,
|
|
20
21
|
disabled,
|
|
21
22
|
endAdornment,
|
|
22
|
-
fullBorder = false,
|
|
23
23
|
id,
|
|
24
|
-
textAreaProps = {},
|
|
25
|
-
textAreaRef,
|
|
26
24
|
placeholder,
|
|
27
25
|
readOnly,
|
|
28
26
|
role,
|
|
29
27
|
rows = 3,
|
|
30
28
|
startAdornment,
|
|
29
|
+
style,
|
|
30
|
+
textAreaProps = {},
|
|
31
|
+
textAreaRef,
|
|
31
32
|
value: valueProp,
|
|
32
33
|
defaultValue: defaultValueProp = valueProp === void 0 ? "" : void 0,
|
|
33
34
|
validationStatus: validationStatusProp,
|
|
@@ -88,12 +89,17 @@ const MultilineInput = React.forwardRef(
|
|
|
88
89
|
onFocus == null ? void 0 : onFocus(event);
|
|
89
90
|
setFocused(true);
|
|
90
91
|
};
|
|
92
|
+
const multilineInputStyles = {
|
|
93
|
+
"--saltMultilineInput-rows": rows,
|
|
94
|
+
...style
|
|
95
|
+
};
|
|
91
96
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", {
|
|
92
97
|
className: clsx.clsx(
|
|
93
98
|
withBaseName(),
|
|
94
99
|
withBaseName(variant),
|
|
95
100
|
{
|
|
96
|
-
[withBaseName("
|
|
101
|
+
[withBaseName("withAdornmentRow")]: endAdornment,
|
|
102
|
+
[withBaseName("bordered")]: bordered,
|
|
97
103
|
[withBaseName("focused")]: !isDisabled && !isReadOnly && focused,
|
|
98
104
|
[withBaseName("disabled")]: isDisabled,
|
|
99
105
|
[withBaseName("readOnly")]: isReadOnly,
|
|
@@ -102,6 +108,7 @@ const MultilineInput = React.forwardRef(
|
|
|
102
108
|
classNameProp
|
|
103
109
|
),
|
|
104
110
|
ref,
|
|
111
|
+
style: multilineInputStyles,
|
|
105
112
|
...other,
|
|
106
113
|
children: [
|
|
107
114
|
startAdornment && /* @__PURE__ */ jsxRuntime.jsx("div", {
|
|
@@ -128,15 +135,20 @@ const MultilineInput = React.forwardRef(
|
|
|
128
135
|
...restA11yProps,
|
|
129
136
|
...restTextAreaProps
|
|
130
137
|
}),
|
|
131
|
-
|
|
132
|
-
className: withBaseName("
|
|
133
|
-
children:
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
138
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", {
|
|
139
|
+
className: withBaseName("suffixAdornments"),
|
|
140
|
+
children: [
|
|
141
|
+
!isDisabled && !isReadOnly && validationStatus && /* @__PURE__ */ jsxRuntime.jsx("div", {
|
|
142
|
+
className: withBaseName("statusAdornmentContainer"),
|
|
143
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(core.StatusAdornment, {
|
|
144
|
+
status: validationStatus
|
|
145
|
+
})
|
|
146
|
+
}),
|
|
147
|
+
endAdornment && /* @__PURE__ */ jsxRuntime.jsx("div", {
|
|
148
|
+
className: withBaseName("endAdornmentContainer"),
|
|
149
|
+
children: endAdornment
|
|
150
|
+
})
|
|
151
|
+
]
|
|
140
152
|
}),
|
|
141
153
|
/* @__PURE__ */ jsxRuntime.jsx("div", {
|
|
142
154
|
className: withBaseName("activationIndicator")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultilineInput.js","sources":["../src/multiline-input/MultilineInput.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport {\n ChangeEvent,\n ComponentPropsWithoutRef,\n FocusEvent,\n forwardRef,\n ReactNode,\n Ref,\n TextareaHTMLAttributes,\n useState,\n} from \"react\";\nimport {\n makePrefixer,\n StatusAdornment,\n useControlled,\n useFormFieldProps,\n} from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\n\nimport multilineInputCss from \"./MultilineInput.css\";\n\nconst withBaseName = makePrefixer(\"saltMultilineInput\");\n\nexport interface MultilineInputProps\n extends Omit<ComponentPropsWithoutRef<\"div\">, \"defaultValue\">,\n Pick<\n ComponentPropsWithoutRef<\"input\">,\n \"disabled\" | \"value\" | \"defaultValue\" | \"placeholder\"\n > {\n /**\n * End adornment component\n */\n endAdornment?: ReactNode;\n /**\n * Styling variant with full border. Defaults to false\n */\n fullBorder?: boolean;\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#Attributes) applied to the `textarea` element.\n */\n textAreaProps?: TextareaHTMLAttributes<HTMLTextAreaElement>;\n /**\n * Optional ref for the textarea component\n */\n textAreaRef?: Ref<HTMLTextAreaElement>;\n /**\n * If `true`, the component is read only.\n */\n readOnly?: boolean;\n /**\n * Start adornment component\n */\n startAdornment?: ReactNode;\n /**\n * Validation status.\n */\n validationStatus?: \"error\" | \"warning\" | \"success\";\n /**\n * Styling variant. Defaults to \"primary\".\n */\n variant?: \"primary\" | \"secondary\";\n /**\n * Number of rows. Defaults to 3\n */\n rows?: number;\n}\n\nexport const MultilineInput = forwardRef<HTMLDivElement, MultilineInputProps>(\n function MultilineInput(\n {\n \"aria-activedescendant\": ariaActiveDescendant,\n \"aria-expanded\": ariaExpanded,\n \"aria-owns\": ariaOwns,\n className: classNameProp,\n disabled,\n endAdornment,\n fullBorder = false,\n id,\n textAreaProps = {},\n textAreaRef,\n placeholder,\n readOnly,\n role,\n rows = 3,\n startAdornment,\n value: valueProp,\n defaultValue: defaultValueProp = valueProp === undefined ? \"\" : undefined,\n validationStatus: validationStatusProp,\n variant = \"primary\",\n ...other\n },\n ref\n ) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-multiline-input\",\n css: multilineInputCss,\n window: targetWindow,\n });\n\n const restA11yProps = {\n \"aria-activedescendant\": ariaActiveDescendant,\n \"aria-expanded\": ariaExpanded,\n \"aria-owns\": ariaOwns,\n };\n\n const [focused, setFocused] = useState(false);\n\n const {\n \"aria-describedby\": textAreaDescribedBy,\n \"aria-labelledby\": textAreaLabelledBy,\n onBlur,\n onChange,\n onFocus,\n required: textAreaRequired,\n ...restTextAreaProps\n } = textAreaProps;\n\n const {\n a11yProps: {\n \"aria-describedby\": formFieldDescribedBy,\n \"aria-labelledby\": formFieldLabelledBy,\n } = {},\n disabled: formFieldDisabled,\n readOnly: formFieldReadOnly,\n necessity: formFieldRequired,\n validationStatus: formFieldValidationStatus,\n } = useFormFieldProps();\n\n const isDisabled = disabled || formFieldDisabled;\n const isReadOnly = readOnly || formFieldReadOnly;\n const validationStatus = formFieldValidationStatus ?? validationStatusProp;\n const isRequired = formFieldRequired\n ? [\"required\", \"asterisk\"].includes(formFieldRequired)\n : undefined ?? textAreaRequired;\n\n const [value, setValue] = useControlled({\n controlled: valueProp,\n default: defaultValueProp,\n name: \"MultilineInput\",\n state: \"value\",\n });\n\n const handleChange = (event: ChangeEvent<HTMLTextAreaElement>) => {\n const value = event.target.value;\n setValue(value);\n onChange?.(event);\n };\n\n const handleBlur = (event: FocusEvent<HTMLTextAreaElement>) => {\n onBlur?.(event);\n setFocused(false);\n };\n\n const handleFocus = (event: FocusEvent<HTMLTextAreaElement>) => {\n onFocus?.(event);\n setFocused(true);\n };\n\n return (\n <div\n className={clsx(\n withBaseName(),\n withBaseName(variant),\n {\n [withBaseName(\"fullBorder\")]: fullBorder,\n [withBaseName(\"focused\")]: !isDisabled && !isReadOnly && focused,\n [withBaseName(\"disabled\")]: isDisabled,\n [withBaseName(\"readOnly\")]: isReadOnly,\n [withBaseName(validationStatus || \"\")]: validationStatus,\n },\n classNameProp\n )}\n ref={ref}\n {...other}\n >\n {startAdornment && (\n <div className={withBaseName(\"startAdornmentContainer\")}>\n {startAdornment}\n </div>\n )}\n <textarea\n aria-describedby={clsx(formFieldDescribedBy, textAreaDescribedBy)}\n aria-labelledby={clsx(formFieldLabelledBy, textAreaLabelledBy)}\n className={clsx(withBaseName(\"textarea\"), textAreaProps?.className)}\n disabled={isDisabled}\n id={id}\n readOnly={isReadOnly}\n ref={textAreaRef}\n required={isRequired}\n role={role}\n rows={rows}\n tabIndex={isReadOnly || isDisabled ? -1 : 0}\n onBlur={handleBlur}\n onChange={handleChange}\n onFocus={!isDisabled && !isReadOnly ? handleFocus : undefined}\n placeholder={placeholder}\n value={value}\n {...restA11yProps}\n {...restTextAreaProps}\n />\n {!isDisabled && !isReadOnly && validationStatus && (\n <div className={withBaseName(\"statusAdornmentContainer\")}>\n <StatusAdornment status={validationStatus} />\n </div>\n )}\n {endAdornment && (\n <div className={withBaseName(\"endAdornmentContainer\")}>\n {endAdornment}\n </div>\n )}\n <div className={withBaseName(\"activationIndicator\")} />\n </div>\n );\n }\n);\n"],"names":["makePrefixer","forwardRef","MultilineInput","useWindow","useComponentCssInjection","multilineInputCss","useState","useFormFieldProps","useControlled","value","jsxs","clsx","jsx","StatusAdornment"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MultilineInput.js","sources":["../src/multiline-input/MultilineInput.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport {\n ChangeEvent,\n ComponentPropsWithoutRef,\n FocusEvent,\n forwardRef,\n ReactNode,\n Ref,\n TextareaHTMLAttributes,\n useState,\n} from \"react\";\nimport {\n makePrefixer,\n StatusAdornment,\n useControlled,\n useFormFieldProps,\n} from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\n\nimport multilineInputCss from \"./MultilineInput.css\";\n\nconst withBaseName = makePrefixer(\"saltMultilineInput\");\n\nexport interface MultilineInputProps\n extends Omit<ComponentPropsWithoutRef<\"div\">, \"defaultValue\">,\n Pick<\n ComponentPropsWithoutRef<\"input\">,\n \"disabled\" | \"value\" | \"defaultValue\" | \"placeholder\"\n > {\n /**\n * Styling variant with full border. Defaults to false\n */\n bordered?: boolean;\n /**\n * End adornment component\n */\n endAdornment?: ReactNode;\n /**\n * If `true`, the component is read only.\n */\n readOnly?: boolean;\n /**\n * Number of rows. Defaults to 3\n */\n rows?: number;\n /**\n * Start adornment component\n */\n startAdornment?: ReactNode;\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#Attributes) applied to the `textarea` element.\n */\n textAreaProps?: TextareaHTMLAttributes<HTMLTextAreaElement>;\n /**\n * Optional ref for the textarea component\n */\n textAreaRef?: Ref<HTMLTextAreaElement>;\n /**\n * Validation status.\n */\n validationStatus?: \"error\" | \"warning\" | \"success\";\n /**\n * Styling variant. Defaults to \"primary\".\n */\n variant?: \"primary\" | \"secondary\";\n}\n\nexport const MultilineInput = forwardRef<HTMLDivElement, MultilineInputProps>(\n function MultilineInput(\n {\n \"aria-activedescendant\": ariaActiveDescendant,\n \"aria-expanded\": ariaExpanded,\n \"aria-owns\": ariaOwns,\n bordered = false,\n className: classNameProp,\n disabled,\n endAdornment,\n id,\n placeholder,\n readOnly,\n role,\n rows = 3,\n startAdornment,\n style,\n textAreaProps = {},\n textAreaRef,\n value: valueProp,\n defaultValue: defaultValueProp = valueProp === undefined ? \"\" : undefined,\n validationStatus: validationStatusProp,\n variant = \"primary\",\n ...other\n },\n ref\n ) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-multiline-input\",\n css: multilineInputCss,\n window: targetWindow,\n });\n\n const restA11yProps = {\n \"aria-activedescendant\": ariaActiveDescendant,\n \"aria-expanded\": ariaExpanded,\n \"aria-owns\": ariaOwns,\n };\n\n const [focused, setFocused] = useState(false);\n\n const {\n \"aria-describedby\": textAreaDescribedBy,\n \"aria-labelledby\": textAreaLabelledBy,\n onBlur,\n onChange,\n onFocus,\n required: textAreaRequired,\n ...restTextAreaProps\n } = textAreaProps;\n\n const {\n a11yProps: {\n \"aria-describedby\": formFieldDescribedBy,\n \"aria-labelledby\": formFieldLabelledBy,\n } = {},\n disabled: formFieldDisabled,\n readOnly: formFieldReadOnly,\n necessity: formFieldRequired,\n validationStatus: formFieldValidationStatus,\n } = useFormFieldProps();\n\n const isDisabled = disabled || formFieldDisabled;\n const isReadOnly = readOnly || formFieldReadOnly;\n const validationStatus = formFieldValidationStatus ?? validationStatusProp;\n const isRequired = formFieldRequired\n ? [\"required\", \"asterisk\"].includes(formFieldRequired)\n : undefined ?? textAreaRequired;\n\n const [value, setValue] = useControlled({\n controlled: valueProp,\n default: defaultValueProp,\n name: \"MultilineInput\",\n state: \"value\",\n });\n\n const handleChange = (event: ChangeEvent<HTMLTextAreaElement>) => {\n const value = event.target.value;\n setValue(value);\n onChange?.(event);\n };\n\n const handleBlur = (event: FocusEvent<HTMLTextAreaElement>) => {\n onBlur?.(event);\n setFocused(false);\n };\n\n const handleFocus = (event: FocusEvent<HTMLTextAreaElement>) => {\n onFocus?.(event);\n setFocused(true);\n };\n\n const multilineInputStyles = {\n \"--saltMultilineInput-rows\": rows,\n ...style,\n };\n\n return (\n <div\n className={clsx(\n withBaseName(),\n withBaseName(variant),\n {\n [withBaseName(\"withAdornmentRow\")]: endAdornment,\n [withBaseName(\"bordered\")]: bordered,\n [withBaseName(\"focused\")]: !isDisabled && !isReadOnly && focused,\n [withBaseName(\"disabled\")]: isDisabled,\n [withBaseName(\"readOnly\")]: isReadOnly,\n [withBaseName(validationStatus || \"\")]: validationStatus,\n },\n classNameProp\n )}\n ref={ref}\n style={multilineInputStyles}\n {...other}\n >\n {startAdornment && (\n <div className={withBaseName(\"startAdornmentContainer\")}>\n {startAdornment}\n </div>\n )}\n <textarea\n aria-describedby={clsx(formFieldDescribedBy, textAreaDescribedBy)}\n aria-labelledby={clsx(formFieldLabelledBy, textAreaLabelledBy)}\n className={clsx(withBaseName(\"textarea\"), textAreaProps?.className)}\n disabled={isDisabled}\n id={id}\n readOnly={isReadOnly}\n ref={textAreaRef}\n required={isRequired}\n role={role}\n rows={rows}\n tabIndex={isReadOnly || isDisabled ? -1 : 0}\n onBlur={handleBlur}\n onChange={handleChange}\n onFocus={!isDisabled && !isReadOnly ? handleFocus : undefined}\n placeholder={placeholder}\n value={value}\n {...restA11yProps}\n {...restTextAreaProps}\n />\n <div className={withBaseName(\"suffixAdornments\")}>\n {!isDisabled && !isReadOnly && validationStatus && (\n <div className={withBaseName(\"statusAdornmentContainer\")}>\n <StatusAdornment status={validationStatus} />\n </div>\n )}\n {endAdornment && (\n <div className={withBaseName(\"endAdornmentContainer\")}>\n {endAdornment}\n </div>\n )}\n </div>\n <div className={withBaseName(\"activationIndicator\")} />\n </div>\n );\n }\n);\n"],"names":["makePrefixer","forwardRef","MultilineInput","useWindow","useComponentCssInjection","multilineInputCss","useState","useFormFieldProps","useControlled","value","jsxs","clsx","jsx","StatusAdornment"],"mappings":"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"}
|
|
@@ -7,7 +7,6 @@ var core = require('@salt-ds/core');
|
|
|
7
7
|
var clsx = require('clsx');
|
|
8
8
|
var React = require('react');
|
|
9
9
|
var ParentChildItem = require('../parent-child-item/ParentChildItem.js');
|
|
10
|
-
require('../utils/useFloatingUI.js');
|
|
11
10
|
var useIsViewportLargerThanBreakpoint = require('../utils/useIsViewportLargerThanBreakpoint.js');
|
|
12
11
|
var window = require('@salt-ds/window');
|
|
13
12
|
var styles = require('@salt-ds/styles');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ParentChildLayout.js","sources":["../src/parent-child-layout/ParentChildLayout.tsx"],"sourcesContent":["import {\n Breakpoints,\n FlexLayout,\n FlexLayoutProps,\n makePrefixer,\n} from \"@salt-ds/core\";\n\nimport { clsx } from \"clsx\";\nimport { ElementType, forwardRef, HTMLAttributes, ReactNode } from \"react\";\nimport { ParentChildItem, SlideDirection } from \"../parent-child-item\";\nimport { useIsViewportLargerThanBreakpoint } from \"../utils\";\n\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\n\nimport parentChildLayoutCss from \"./ParentChildLayout.css\";\n\nexport type StackedViewElement = \"parent\" | \"child\";\n\ntype Orientation = \"horizontal\" | \"vertical\";\n\nexport interface ParentChildLayoutProps extends HTMLAttributes<HTMLDivElement> {\n /**\n * Breakpoint at which the parent and child will stack.\n */\n stackedAtBreakpoint?: keyof Breakpoints;\n /**\n * Change element that is displayed when in staked view.\n */\n stackedViewElement?: StackedViewElement;\n /**\n * Disable all animations.\n */\n disableAnimations?: boolean;\n /**\n * Orientation for slide animations.\n */\n orientation?: Orientation;\n /**\n * Controls the space between columns.\n */\n gap?: FlexLayoutProps<ElementType>[\"gap\"];\n /**\n * Parent component to be rendered\n */\n parent: ReactNode;\n /**\n * Child component to be rendered\n */\n child: ReactNode;\n}\n\nconst withBaseName = makePrefixer(\"saltParentChildLayout\");\n\nconst getDirection = (\n orientation: Orientation,\n stackedViewElement: StackedViewElement\n) => {\n let direction: SlideDirection = \"right\";\n\n if (orientation === \"horizontal\") {\n if (stackedViewElement === \"parent\") {\n direction = \"left\";\n } else {\n direction = \"right\";\n }\n } else {\n if (stackedViewElement === \"parent\") {\n direction = \"bottom\";\n } else {\n direction = \"top\";\n }\n }\n\n return direction;\n};\n\nexport const ParentChildLayout = forwardRef<\n HTMLDivElement,\n ParentChildLayoutProps\n>(function ParentChildLayout(\n {\n stackedAtBreakpoint = \"sm\",\n stackedViewElement = \"parent\",\n disableAnimations = false,\n parent,\n child,\n className,\n orientation = \"horizontal\",\n ...rest\n },\n ref\n) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-parent-child-layout\",\n css: parentChildLayoutCss,\n window: targetWindow,\n });\n\n const stackedView = useIsViewportLargerThanBreakpoint(stackedAtBreakpoint);\n\n const parentChildDirection = getDirection(orientation, stackedViewElement);\n\n const stackedViewChildren = {\n parent: (\n <ParentChildItem\n disableAnimations={disableAnimations}\n direction={parentChildDirection}\n isStacked={stackedView}\n >\n {parent}\n </ParentChildItem>\n ),\n child: (\n <ParentChildItem\n disableAnimations={disableAnimations}\n direction={parentChildDirection}\n isStacked={stackedView}\n >\n {child}\n </ParentChildItem>\n ),\n };\n\n return (\n <FlexLayout className={clsx(withBaseName(), className)} ref={ref} {...rest}>\n {stackedView ? (\n stackedViewChildren[stackedViewElement]\n ) : (\n <>\n <ParentChildItem grow={0} disableAnimations={disableAnimations}>\n {parent}\n </ParentChildItem>\n <ParentChildItem grow={2} disableAnimations={disableAnimations}>\n {child}\n </ParentChildItem>\n </>\n )}\n </FlexLayout>\n );\n});\n"],"names":["makePrefixer","forwardRef","ParentChildLayout","useWindow","useComponentCssInjection","parentChildLayoutCss","useIsViewportLargerThanBreakpoint","jsx","ParentChildItem","FlexLayout","clsx","jsxs","Fragment"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ParentChildLayout.js","sources":["../src/parent-child-layout/ParentChildLayout.tsx"],"sourcesContent":["import {\n Breakpoints,\n FlexLayout,\n FlexLayoutProps,\n makePrefixer,\n} from \"@salt-ds/core\";\n\nimport { clsx } from \"clsx\";\nimport { ElementType, forwardRef, HTMLAttributes, ReactNode } from \"react\";\nimport { ParentChildItem, SlideDirection } from \"../parent-child-item\";\nimport { useIsViewportLargerThanBreakpoint } from \"../utils\";\n\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\n\nimport parentChildLayoutCss from \"./ParentChildLayout.css\";\n\nexport type StackedViewElement = \"parent\" | \"child\";\n\ntype Orientation = \"horizontal\" | \"vertical\";\n\nexport interface ParentChildLayoutProps extends HTMLAttributes<HTMLDivElement> {\n /**\n * Breakpoint at which the parent and child will stack.\n */\n stackedAtBreakpoint?: keyof Breakpoints;\n /**\n * Change element that is displayed when in staked view.\n */\n stackedViewElement?: StackedViewElement;\n /**\n * Disable all animations.\n */\n disableAnimations?: boolean;\n /**\n * Orientation for slide animations.\n */\n orientation?: Orientation;\n /**\n * Controls the space between columns.\n */\n gap?: FlexLayoutProps<ElementType>[\"gap\"];\n /**\n * Parent component to be rendered\n */\n parent: ReactNode;\n /**\n * Child component to be rendered\n */\n child: ReactNode;\n}\n\nconst withBaseName = makePrefixer(\"saltParentChildLayout\");\n\nconst getDirection = (\n orientation: Orientation,\n stackedViewElement: StackedViewElement\n) => {\n let direction: SlideDirection = \"right\";\n\n if (orientation === \"horizontal\") {\n if (stackedViewElement === \"parent\") {\n direction = \"left\";\n } else {\n direction = \"right\";\n }\n } else {\n if (stackedViewElement === \"parent\") {\n direction = \"bottom\";\n } else {\n direction = \"top\";\n }\n }\n\n return direction;\n};\n\nexport const ParentChildLayout = forwardRef<\n HTMLDivElement,\n ParentChildLayoutProps\n>(function ParentChildLayout(\n {\n stackedAtBreakpoint = \"sm\",\n stackedViewElement = \"parent\",\n disableAnimations = false,\n parent,\n child,\n className,\n orientation = \"horizontal\",\n ...rest\n },\n ref\n) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-parent-child-layout\",\n css: parentChildLayoutCss,\n window: targetWindow,\n });\n\n const stackedView = useIsViewportLargerThanBreakpoint(stackedAtBreakpoint);\n\n const parentChildDirection = getDirection(orientation, stackedViewElement);\n\n const stackedViewChildren = {\n parent: (\n <ParentChildItem\n disableAnimations={disableAnimations}\n direction={parentChildDirection}\n isStacked={stackedView}\n >\n {parent}\n </ParentChildItem>\n ),\n child: (\n <ParentChildItem\n disableAnimations={disableAnimations}\n direction={parentChildDirection}\n isStacked={stackedView}\n >\n {child}\n </ParentChildItem>\n ),\n };\n\n return (\n <FlexLayout className={clsx(withBaseName(), className)} ref={ref} {...rest}>\n {stackedView ? (\n stackedViewChildren[stackedViewElement]\n ) : (\n <>\n <ParentChildItem grow={0} disableAnimations={disableAnimations}>\n {parent}\n </ParentChildItem>\n <ParentChildItem grow={2} disableAnimations={disableAnimations}>\n {child}\n </ParentChildItem>\n </>\n )}\n </FlexLayout>\n );\n});\n"],"names":["makePrefixer","forwardRef","ParentChildLayout","useWindow","useComponentCssInjection","parentChildLayoutCss","useIsViewportLargerThanBreakpoint","jsx","ParentChildItem","FlexLayout","clsx","jsxs","Fragment"],"mappings":";;;;;;;;;;;;;;AAoDA,MAAM,YAAA,GAAeA,kBAAa,uBAAuB,CAAA,CAAA;AAEzD,MAAM,YAAA,GAAe,CACnB,WAAA,EACA,kBACG,KAAA;AACH,EAAA,IAAI,SAA4B,GAAA,OAAA,CAAA;AAEhC,EAAA,IAAI,gBAAgB,YAAc,EAAA;AAChC,IAAA,IAAI,uBAAuB,QAAU,EAAA;AACnC,MAAY,SAAA,GAAA,MAAA,CAAA;AAAA,KACP,MAAA;AACL,MAAY,SAAA,GAAA,OAAA,CAAA;AAAA,KACd;AAAA,GACK,MAAA;AACL,IAAA,IAAI,uBAAuB,QAAU,EAAA;AACnC,MAAY,SAAA,GAAA,QAAA,CAAA;AAAA,KACP,MAAA;AACL,MAAY,SAAA,GAAA,KAAA,CAAA;AAAA,KACd;AAAA,GACF;AAEA,EAAO,OAAA,SAAA,CAAA;AACT,CAAA,CAAA;AAEa,MAAA,iBAAA,GAAoBC,gBAG/B,CAAA,SAASC,kBACT,CAAA;AAAA,EACE,mBAAsB,GAAA,IAAA;AAAA,EACtB,kBAAqB,GAAA,QAAA;AAAA,EACrB,iBAAoB,GAAA,KAAA;AAAA,EACpB,MAAA;AAAA,EACA,KAAA;AAAA,EACA,SAAA;AAAA,EACA,WAAc,GAAA,YAAA;AAAA,EACX,GAAA,IAAA;AACL,CAAA,EACA,GACA,EAAA;AACA,EAAA,MAAM,eAAeC,gBAAU,EAAA,CAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,0BAAA;AAAA,IACR,GAAK,EAAAC,mBAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AAED,EAAM,MAAA,WAAA,GAAcC,oEAAkC,mBAAmB,CAAA,CAAA;AAEzE,EAAM,MAAA,oBAAA,GAAuB,YAAa,CAAA,WAAA,EAAa,kBAAkB,CAAA,CAAA;AAEzE,EAAA,MAAM,mBAAsB,GAAA;AAAA,IAC1B,wBACGC,cAAA,CAAAC,+BAAA,EAAA;AAAA,MACC,iBAAA;AAAA,MACA,SAAW,EAAA,oBAAA;AAAA,MACX,SAAW,EAAA,WAAA;AAAA,MAEV,QAAA,EAAA,MAAA;AAAA,KACH,CAAA;AAAA,IAEF,uBACGD,cAAA,CAAAC,+BAAA,EAAA;AAAA,MACC,iBAAA;AAAA,MACA,SAAW,EAAA,oBAAA;AAAA,MACX,SAAW,EAAA,WAAA;AAAA,MAEV,QAAA,EAAA,KAAA;AAAA,KACH,CAAA;AAAA,GAEJ,CAAA;AAEA,EAAA,uBACGD,cAAA,CAAAE,eAAA,EAAA;AAAA,IAAW,SAAW,EAAAC,SAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,IAAG,GAAA;AAAA,IAAW,GAAG,IAAA;AAAA,IACnE,QAAA,EAAA,WAAA,GACC,oBAAoB,kBAEpB,CAAA,mBAAAC,eAAA,CAAAC,mBAAA,EAAA;AAAA,MACE,QAAA,EAAA;AAAA,wBAACL,cAAA,CAAAC,+BAAA,EAAA;AAAA,UAAgB,IAAM,EAAA,CAAA;AAAA,UAAG,iBAAA;AAAA,UACvB,QAAA,EAAA,MAAA;AAAA,SACH,CAAA;AAAA,wBACCD,cAAA,CAAAC,+BAAA,EAAA;AAAA,UAAgB,IAAM,EAAA,CAAA;AAAA,UAAG,iBAAA;AAAA,UACvB,QAAA,EAAA,KAAA;AAAA,SACH,CAAA;AAAA,OAAA;AAAA,KACF,CAAA;AAAA,GAEJ,CAAA,CAAA;AAEJ,CAAC;;;;"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var css_248z = "/* Styles applied to the root element */\n.saltPillNext {\n --pillNext-background: var(--salt-actionable-primary-background);\n --pillNext-background-active: var(--salt-actionable-primary-background-active);\n --pillNext-background-disabled: var(--salt-actionable-primary-background-disabled);\n --pillNext-background-hover: var(--salt-actionable-primary-background-hover);\n --pillNext-text-color: var(--salt-actionable-primary-foreground);\n --pillNext-text-color-active: var(--salt-actionable-primary-foreground-active);\n --pillNext-text-color-hover: var(--salt-actionable-primary-foreground-hover);\n --pillNext-text-color-disabled: var(--salt-actionable-primary-foreground-disabled);\n}\n\n.saltPillNext {\n appearance: none;\n display: inline-flex;\n align-items: center;\n background: var(--pillNext-background);\n border-radius: 0;\n border: 0;\n height: calc(var(--salt-size-base) - var(--salt-spacing-100));\n min-width: 4em;\n min-height: var(--salt-text-minHeight);\n outline: 0;\n position: relative;\n gap: var(--salt-spacing-50);\n padding-inline: var(--salt-spacing-50);\n color: var(--pillNext-text-color);\n font-family: var(--salt-text-fontFamily);\n font-size: var(--salt-text-fontSize);\n font-weight: var(--salt-text-fontWeight);\n line-height: var(--salt-text-label-lineHeight);\n}\n\n.saltPillNext-label {\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.saltPillNext .saltIcon {\n --saltIcon-color: currentColor;\n}\n\n/* Style applied to Pill if `onClick` prop is provided */\n.saltPillNext-clickable {\n cursor: var(--salt-selectable-cursor-hover);\n}\n\n.saltPillNext-clickable:hover {\n color: var(--pillNext-text-color-hover);\n background: var(--pillNext-background-hover);\n}\n\n.saltPillNext-clickable.saltPillNext-disabled:hover {\n color: var(--pillNext-text-color);\n background: var(--pillNext-background);\n}\n\n.saltPillNext-clickable.saltPillNext-active,\n.saltPillNext-clickable:active {\n background: var(--pillNext-background-active);\n color: var(--pillNext-text-color-active);\n}\n\n.saltPillNext-clickable.saltPillNext-disabled.saltPillNext-active,\n.saltPillNext-clickable.saltPillNext-disabled:active {\n background: var(--pillNext-background);\n color: var(--pillNext-text-color);\n}\n\n/* Style applied to Pill on focus */\n.saltPillNext:focus-visible {\n outline: var(--salt-focused-outline);\n}\n\n/* Style applied to Pill when disabled */\n.saltPillNext.saltPillNext-disabled,\n.saltPillNext.saltPillNext-disabled:hover,\n.saltPillNext.saltPillNext-disabled:active {\n color: var(--pillNext-text-color-disabled);\n background: var(--pillNext-background-disabled);\n cursor: var(--salt-selectable-cursor-disabled);\n}\n";
|
|
4
|
+
|
|
5
|
+
module.exports = css_248z;
|
|
6
|
+
//# sourceMappingURL=PillNext.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PillNext.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
var React = require('react');
|
|
7
|
+
var clsx = require('clsx');
|
|
8
|
+
var window = require('@salt-ds/window');
|
|
9
|
+
var styles = require('@salt-ds/styles');
|
|
10
|
+
var core = require('@salt-ds/core');
|
|
11
|
+
var PillNext$1 = require('./PillNext.css.js');
|
|
12
|
+
|
|
13
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
14
|
+
|
|
15
|
+
var clsx__default = /*#__PURE__*/_interopDefaultLegacy(clsx);
|
|
16
|
+
|
|
17
|
+
const withBaseName = core.makePrefixer("saltPillNext");
|
|
18
|
+
const PillNext = React.forwardRef(
|
|
19
|
+
function PillNext2({ children, className, icon, disabled, ...restProps }, ref) {
|
|
20
|
+
const targetWindow = window.useWindow();
|
|
21
|
+
styles.useComponentCssInjection({
|
|
22
|
+
testId: "salt-pill-next",
|
|
23
|
+
css: PillNext$1,
|
|
24
|
+
window: targetWindow
|
|
25
|
+
});
|
|
26
|
+
const { buttonProps, active } = core.useButton({
|
|
27
|
+
disabled,
|
|
28
|
+
...restProps
|
|
29
|
+
});
|
|
30
|
+
const { tabIndex, ...restButtonProps } = buttonProps;
|
|
31
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("button", {
|
|
32
|
+
"data-testid": "pill",
|
|
33
|
+
ref,
|
|
34
|
+
type: "button",
|
|
35
|
+
className: clsx__default["default"](
|
|
36
|
+
withBaseName(),
|
|
37
|
+
withBaseName("clickable"),
|
|
38
|
+
{
|
|
39
|
+
[withBaseName("active")]: active,
|
|
40
|
+
[withBaseName("disabled")]: disabled
|
|
41
|
+
},
|
|
42
|
+
className
|
|
43
|
+
),
|
|
44
|
+
...restButtonProps,
|
|
45
|
+
...restProps,
|
|
46
|
+
children: [
|
|
47
|
+
icon,
|
|
48
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", {
|
|
49
|
+
className: withBaseName("label"),
|
|
50
|
+
children
|
|
51
|
+
})
|
|
52
|
+
]
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
);
|
|
56
|
+
|
|
57
|
+
exports.PillNext = PillNext;
|
|
58
|
+
//# sourceMappingURL=PillNext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PillNext.js","sources":["../src/pill-next/PillNext.tsx"],"sourcesContent":["import {\n forwardRef,\n MouseEvent,\n KeyboardEvent,\n ComponentPropsWithoutRef,\n} from \"react\";\nimport clsx from \"clsx\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { makePrefixer, useButton } from \"@salt-ds/core\";\nimport pillCss from \"./PillNext.css\";\n\nexport type PillClickEvent =\n | MouseEvent<Element, globalThis.MouseEvent>\n | KeyboardEvent<HTMLDivElement>;\n\nexport interface PillNextProps extends ComponentPropsWithoutRef<\"button\"> {\n /* If true the pill will be disabled */\n disabled?: boolean;\n /* Pass an element to render an icon descriptor on the left of the label */\n icon?: React.ReactNode;\n}\n\nconst withBaseName = makePrefixer(\"saltPillNext\");\n\nexport const PillNext = forwardRef<HTMLButtonElement, PillNextProps>(\n function PillNext(\n { children, className, icon, disabled, ...restProps },\n ref\n ) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-pill-next\",\n css: pillCss,\n window: targetWindow,\n });\n const { buttonProps, active } = useButton<HTMLButtonElement>({\n disabled,\n ...restProps,\n });\n // we do not want to spread tab index in this case because the button element\n // does not require tabindex=\"0\" attribute\n const { tabIndex, ...restButtonProps } = buttonProps;\n\n return (\n <button\n data-testid=\"pill\"\n ref={ref}\n type=\"button\"\n className={clsx(\n withBaseName(),\n withBaseName(\"clickable\"),\n {\n [withBaseName(\"active\")]: active,\n [withBaseName(\"disabled\")]: disabled,\n },\n className\n )}\n {...restButtonProps}\n {...restProps}\n >\n {icon}\n <span className={withBaseName(\"label\")}>{children}</span>\n </button>\n );\n }\n);\n"],"names":["makePrefixer","forwardRef","PillNext","useWindow","useComponentCssInjection","pillCss","useButton","jsxs","clsx","jsx"],"mappings":";;;;;;;;;;;;;;;;AAuBA,MAAM,YAAA,GAAeA,kBAAa,cAAc,CAAA,CAAA;AAEzC,MAAM,QAAW,GAAAC,gBAAA;AAAA,EACtB,SAASC,UACP,EAAE,QAAA,EAAU,WAAW,IAAM,EAAA,QAAA,EAAA,GAAa,SAAU,EAAA,EACpD,GACA,EAAA;AACA,IAAA,MAAM,eAAeC,gBAAU,EAAA,CAAA;AAC/B,IAAyBC,+BAAA,CAAA;AAAA,MACvB,MAAQ,EAAA,gBAAA;AAAA,MACR,GAAK,EAAAC,UAAA;AAAA,MACL,MAAQ,EAAA,YAAA;AAAA,KACT,CAAA,CAAA;AACD,IAAA,MAAM,EAAE,WAAA,EAAa,MAAO,EAAA,GAAIC,cAA6B,CAAA;AAAA,MAC3D,QAAA;AAAA,MACA,GAAG,SAAA;AAAA,KACJ,CAAA,CAAA;AAGD,IAAM,MAAA,EAAE,QAAa,EAAA,GAAA,eAAA,EAAoB,GAAA,WAAA,CAAA;AAEzC,IAAA,uBACGC,eAAA,CAAA,QAAA,EAAA;AAAA,MACC,aAAY,EAAA,MAAA;AAAA,MACZ,GAAA;AAAA,MACA,IAAK,EAAA,QAAA;AAAA,MACL,SAAW,EAAAC,wBAAA;AAAA,QACT,YAAa,EAAA;AAAA,QACb,aAAa,WAAW,CAAA;AAAA,QACxB;AAAA,UACE,CAAC,YAAa,CAAA,QAAQ,CAAI,GAAA,MAAA;AAAA,UAC1B,CAAC,YAAa,CAAA,UAAU,CAAI,GAAA,QAAA;AAAA,SAC9B;AAAA,QACA,SAAA;AAAA,OACF;AAAA,MACC,GAAG,eAAA;AAAA,MACH,GAAG,SAAA;AAAA,MAEH,QAAA,EAAA;AAAA,QAAA,IAAA;AAAA,wBACAC,cAAA,CAAA,MAAA,EAAA;AAAA,UAAK,SAAA,EAAW,aAAa,OAAO,CAAA;AAAA,UAAI,QAAA;AAAA,SAAS,CAAA;AAAA,OAAA;AAAA,KACpD,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var css_248z = ".saltCircularProgress {\n --circularProgress-
|
|
3
|
+
var css_248z = ".saltCircularProgress {\n --circularProgress-progressCircle-radius: calc(var(--salt-size-base) - (var(--salt-size-adornment) * 0.25));\n --circularProgress-progressCircle-circumference: calc(var(--circularProgress-progressCircle-radius) * 2 * PI);\n --circularProgress-railCircle-radius: calc(var(--salt-size-base) - (var(--salt-track-borderWidth) * 0.5));\n --circularProgress-railCircle-circumference: calc(var(--circularProgress-railCircle-radius) * 2 * PI);\n\n color: var(--salt-text-primary-foreground);\n display: inline-flex;\n position: relative;\n}\n\n.saltCircularProgress-disabled .saltCircularProgress-progressValue,\n.saltCircularProgress-disabled circle {\n color: var(--salt-text-primary-foreground-disabled);\n cursor: var(--salt-selectable-cursor-disabled);\n}\n\n.saltCircularProgress-progressValue {\n align-items: center;\n color: var(--salt-text-primary-foreground);\n display: flex;\n font-family: var(--salt-text-fontFamily);\n font-size: var(--salt-text-label-fontSize);\n font-weight: var(--salt-text-label-fontWeight-strong);\n height: 100%;\n justify-content: center;\n left: 0;\n position: absolute;\n width: 100%;\n}\n\n.saltCircularProgress-disabled .saltCircularProgress-circle {\n stroke: var(--salt-accent-background-disabled);\n}\n\n.saltCircularProgress-disabled .saltCircularProgress-railCircle {\n stroke: var(--salt-track-borderColor-disabled);\n}\n\n.saltCircularProgress-railCircle {\n stroke: var(--salt-track-borderColor);\n stroke-width: var(--salt-track-borderWidth);\n r: var(--circularProgress-railCircle-radius);\n}\n\n.saltCircularProgress-svg {\n height: calc(var(--salt-size-base) * 2);\n width: calc(var(--salt-size-base) * 2);\n fill: var(--salt-accent-background);\n transform: rotate(-90deg);\n display: block;\n}\n\n.saltCircularProgress-circle {\n r: var(--circularProgress-progressCircle-radius);\n stroke-width: calc(var(--salt-size-adornment) * 0.5);\n stroke: var(--salt-accent-background);\n transition: stroke-dashoffset 0.3s cubic-bezier(0.4, 0, 0.2, 1) 0s;\n}\n";
|
|
4
4
|
|
|
5
5
|
module.exports = css_248z;
|
|
6
6
|
//# sourceMappingURL=CircularProgress.css.js.map
|
|
@@ -7,46 +7,20 @@ var React = require('react');
|
|
|
7
7
|
var clsx = require('clsx');
|
|
8
8
|
var core = require('@salt-ds/core');
|
|
9
9
|
var Info = require('../Info.js');
|
|
10
|
-
var CircularProgressParts = require('./CircularProgressParts.js');
|
|
11
10
|
var window = require('@salt-ds/window');
|
|
12
11
|
var styles = require('@salt-ds/styles');
|
|
13
12
|
var CircularProgress$1 = require('./CircularProgress.css.js');
|
|
14
13
|
|
|
15
|
-
const MAX = 100;
|
|
16
|
-
const MIN = 0;
|
|
17
14
|
const withBaseName = core.makePrefixer("saltCircularProgress");
|
|
18
|
-
const SIZE_OPTIONS = {
|
|
19
|
-
small: {
|
|
20
|
-
container: 36
|
|
21
|
-
},
|
|
22
|
-
medium: {
|
|
23
|
-
container: 48
|
|
24
|
-
},
|
|
25
|
-
large: {
|
|
26
|
-
container: 60
|
|
27
|
-
}
|
|
28
|
-
};
|
|
29
|
-
function getRelativeValue(value, min, max) {
|
|
30
|
-
return (Math.min(Math.max(min, value), max) - min) / (max - min);
|
|
31
|
-
}
|
|
32
|
-
function easeOut(t) {
|
|
33
|
-
t = getRelativeValue(t, 0, 1);
|
|
34
|
-
t = (t -= 1) * t * t + 1;
|
|
35
|
-
return t;
|
|
36
|
-
}
|
|
37
|
-
function easeIn(t) {
|
|
38
|
-
return t * t;
|
|
39
|
-
}
|
|
40
15
|
const CircularProgress = React.forwardRef(function CircularProgress2({
|
|
41
16
|
"aria-label": ariaLabel,
|
|
42
17
|
className,
|
|
43
18
|
disabled,
|
|
19
|
+
max = 100,
|
|
44
20
|
showInfo = true,
|
|
45
|
-
size = "small",
|
|
46
21
|
renderInfo,
|
|
47
22
|
value = 0,
|
|
48
23
|
unit = "%",
|
|
49
|
-
variant = "static",
|
|
50
24
|
...rest
|
|
51
25
|
}, ref) {
|
|
52
26
|
const targetWindow = window.useWindow();
|
|
@@ -56,20 +30,15 @@ const CircularProgress = React.forwardRef(function CircularProgress2({
|
|
|
56
30
|
window: targetWindow
|
|
57
31
|
});
|
|
58
32
|
const circleStyle = {};
|
|
59
|
-
const
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
rootStyle.transform = `rotate(${(easeOut(value / 70) * 270).toFixed(
|
|
69
|
-
3
|
|
70
|
-
)}deg)`;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
33
|
+
const railCircleStyle = {};
|
|
34
|
+
const progress = value / max * 100;
|
|
35
|
+
const progressStrokeLength = `calc(${progress} * var(--circularProgress-progressCircle-circumference) / 100)`;
|
|
36
|
+
const progressGapLength = `calc((100 - ${progress}) * var(--circularProgress-progressCircle-circumference) / 100)`;
|
|
37
|
+
const railStrokeLength = `calc((100 - ${progress}) * var(--circularProgress-railCircle-circumference) / 100)`;
|
|
38
|
+
const railGapLength = `calc((${progress}) * var(--circularProgress-railCircle-circumference) / 100)`;
|
|
39
|
+
circleStyle.strokeDasharray = `${progressStrokeLength} ${progressGapLength}`;
|
|
40
|
+
railCircleStyle.strokeDashoffset = `${railStrokeLength}`;
|
|
41
|
+
railCircleStyle.strokeDasharray = `${railStrokeLength} ${railGapLength}`;
|
|
73
42
|
React.useEffect(() => {
|
|
74
43
|
if (process.env.NODE_ENV !== "production" && !ariaLabel) {
|
|
75
44
|
console.error(
|
|
@@ -77,7 +46,6 @@ const CircularProgress = React.forwardRef(function CircularProgress2({
|
|
|
77
46
|
);
|
|
78
47
|
}
|
|
79
48
|
}, [ariaLabel]);
|
|
80
|
-
const containerSize = SIZE_OPTIONS[size].container;
|
|
81
49
|
const getValueProps = () => ({
|
|
82
50
|
unit,
|
|
83
51
|
value,
|
|
@@ -91,49 +59,43 @@ const CircularProgress = React.forwardRef(function CircularProgress2({
|
|
|
91
59
|
progressInfo = renderInfo ? renderInfo(getValueProps()) : /* @__PURE__ */ jsxRuntime.jsx(Info.Info, {
|
|
92
60
|
className: withBaseName("progressValue"),
|
|
93
61
|
unit,
|
|
94
|
-
value,
|
|
62
|
+
value: Math.round(progress),
|
|
95
63
|
...rest
|
|
96
64
|
});
|
|
97
65
|
}
|
|
98
66
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", {
|
|
99
|
-
className: clsx.clsx(
|
|
100
|
-
|
|
101
|
-
[withBaseName("
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
}),
|
|
67
|
+
className: clsx.clsx(
|
|
68
|
+
withBaseName(),
|
|
69
|
+
{ [withBaseName("disabled")]: disabled },
|
|
70
|
+
className
|
|
71
|
+
),
|
|
105
72
|
"data-testid": "circular-progress",
|
|
106
73
|
ref,
|
|
107
74
|
role: "progressbar",
|
|
108
75
|
"aria-label": ariaLabel,
|
|
109
|
-
"aria-valuemax":
|
|
110
|
-
"aria-valuemin":
|
|
76
|
+
"aria-valuemax": max,
|
|
77
|
+
"aria-valuemin": 0,
|
|
111
78
|
"aria-valuenow": value,
|
|
112
79
|
...rest,
|
|
113
80
|
children: [
|
|
114
|
-
/* @__PURE__ */ jsxRuntime.
|
|
115
|
-
className:
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
[withBaseName("circleStatic")]: variant === "static"
|
|
133
|
-
})
|
|
134
|
-
})
|
|
135
|
-
]
|
|
136
|
-
})
|
|
81
|
+
/* @__PURE__ */ jsxRuntime.jsxs("svg", {
|
|
82
|
+
className: withBaseName("svg"),
|
|
83
|
+
children: [
|
|
84
|
+
/* @__PURE__ */ jsxRuntime.jsx("circle", {
|
|
85
|
+
cx: "50%",
|
|
86
|
+
cy: "50%",
|
|
87
|
+
fill: "none",
|
|
88
|
+
style: railCircleStyle,
|
|
89
|
+
className: withBaseName("railCircle")
|
|
90
|
+
}),
|
|
91
|
+
/* @__PURE__ */ jsxRuntime.jsx("circle", {
|
|
92
|
+
cx: "50%",
|
|
93
|
+
cy: "50%",
|
|
94
|
+
fill: "none",
|
|
95
|
+
style: circleStyle,
|
|
96
|
+
className: withBaseName("circle")
|
|
97
|
+
})
|
|
98
|
+
]
|
|
137
99
|
}),
|
|
138
100
|
progressInfo
|
|
139
101
|
]
|
|
@@ -141,5 +103,4 @@ const CircularProgress = React.forwardRef(function CircularProgress2({
|
|
|
141
103
|
});
|
|
142
104
|
|
|
143
105
|
exports.CircularProgress = CircularProgress;
|
|
144
|
-
exports.SIZE_OPTIONS = SIZE_OPTIONS;
|
|
145
106
|
//# sourceMappingURL=CircularProgress.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CircularProgress.js","sources":["../src/progress/CircularProgress/CircularProgress.tsx"],"sourcesContent":["import {\n CSSProperties,\n forwardRef,\n HTMLAttributes,\n ReactElement,\n ReactNode,\n useEffect,\n} from \"react\";\nimport { clsx } from \"clsx\";\nimport { makePrefixer } from \"@salt-ds/core\";\nimport { Info as DefaultInfo } from \"../Info\";\nimport { Circle, LinearGradient, SIZE, ViewBox } from \"./CircularProgressParts\";\nimport { InfoRendererProps } from \"../LinearProgress/LinearProgress\";\n\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\n\nimport circularProgressCSS from \"./CircularProgress.css\";\n\nconst MAX = 100;\nconst MIN = 0;\n\nconst withBaseName = makePrefixer(\"saltCircularProgress\");\n\nexport const SIZE_OPTIONS = {\n small: {\n container: 36,\n },\n medium: {\n container: 48,\n },\n large: {\n container: 60,\n },\n};\n\nfunction getRelativeValue(value: number, min: number, max: number): number {\n return (Math.min(Math.max(min, value), max) - min) / (max - min);\n}\n\nfunction easeOut(t: number): number {\n t = getRelativeValue(t, 0, 1);\n t = (t -= 1) * t * t + 1;\n return t;\n}\n\nfunction easeIn(t: number): number {\n return t * t;\n}\n\nexport interface CircularProgressProps extends HTMLAttributes<HTMLDivElement> {\n /**\n * A label for accessibility\n */\n \"aria-label\"?: string;\n /**\n * The className(s) of the component\n */\n className?: string;\n /**\n * Disabled flag, true when the component is disabled.\n */\n disabled?: boolean;\n /**\n * Render props callback to render info panel.\n * @param function({ value, unit, getValueProps })\n */\n renderInfo?: (\n props: Pick<InfoRendererProps<any, any>, \"value\" | \"unit\" | \"getValueProps\">\n ) => ReactElement<InfoRendererProps<any, any>>;\n /**\n * If `true`, the info panel will be displayed.\n */\n showInfo?: boolean;\n /**\n * The size of the circle\n * (small, medium, large)\n */\n size?: \"small\" | \"medium\" | \"large\";\n /**\n * Default unit is`%`\n */\n unit?: string;\n /**\n * The value of the progress indicator for the determinate and static variants.\n * Value between 0 and 100.\n */\n value?: number;\n /**\n * The variant to use.\n * Use indeterminate or query when there is no progress value.\n */\n variant?: \"determinate\" | \"indeterminate\" | \"static\";\n}\n\n/**\n * Circular progress bar with an optional Info element, showing the current value\n * The default Info element can be rendered by setting `unit` and `value` props.\n * A custom Info element can be rendered using the `renderInfo` callback.\n * The render props callback is of the form\n * @param {string} unit the unit of the progress info\n * @param {number} value the value of the progress info\n * @param {string} variant the variant to use.\n * @param {function} getValueProps function callback that returns the value props\n */\nexport const CircularProgress = forwardRef<\n HTMLDivElement,\n CircularProgressProps\n>(function CircularProgress(\n {\n \"aria-label\": ariaLabel,\n className,\n disabled,\n showInfo = true,\n size = \"small\",\n renderInfo,\n value = 0,\n unit = \"%\",\n variant = \"static\",\n ...rest\n },\n ref\n) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-circular-progress\",\n css: circularProgressCSS,\n window: targetWindow,\n });\n\n const circleStyle: CSSProperties = {};\n const rootStyle: CSSProperties = {};\n const rootProps: HTMLAttributes<any> = {};\n\n if (variant === \"determinate\" || variant === \"static\") {\n const circumference = 2 * Math.PI * ((SIZE - 2) * 0.5);\n circleStyle.strokeDasharray = circumference.toFixed(3);\n rootProps[\"aria-valuenow\"] = Math.round(value);\n\n if (variant === \"static\") {\n circleStyle.strokeDashoffset = `${(\n ((100 - value) / 100) *\n circumference\n ).toFixed(3)}px`;\n rootStyle.transform = \"rotate(-90deg)\";\n } else {\n circleStyle.strokeDashoffset = `${(\n easeIn((100 - value) / 100) * circumference\n ).toFixed(3)}px`;\n rootStyle.transform = `rotate(${(easeOut(value / 70) * 270).toFixed(\n 3\n )}deg)`;\n }\n }\n\n useEffect(() => {\n if (process.env.NODE_ENV !== \"production\" && !ariaLabel) {\n // eslint-disable-next-line no-console\n console.error(\n \"Salt: aria-label value not supplied to CircularProgress. This may affect the ADA compliance level of the component and owning application, and may generate errors in automated accessibility testing software\"\n );\n }\n }, [ariaLabel]);\n\n const containerSize = SIZE_OPTIONS[size].container;\n\n const getValueProps = () => ({\n unit,\n value,\n getValueProps: (valueProps = {}) => ({\n className: withBaseName(\"progressValue\"),\n ...valueProps,\n }),\n });\n\n let progressInfo: ReactNode = null;\n if (showInfo) {\n progressInfo = renderInfo ? (\n renderInfo(getValueProps())\n ) : (\n <DefaultInfo\n className={withBaseName(\"progressValue\")}\n unit={unit}\n value={value}\n {...rest}\n />\n );\n }\n\n return (\n <div\n className={clsx(className, \"saltCircularProgress\", {\n [withBaseName(\"small\")]: size === \"small\",\n [withBaseName(\"medium\")]: size === \"medium\",\n [withBaseName(\"large\")]: size === \"large\",\n [withBaseName(\"disabled\")]: disabled,\n })}\n data-testid=\"circular-progress\"\n ref={ref}\n role=\"progressbar\"\n aria-label={ariaLabel}\n aria-valuemax={MAX}\n aria-valuemin={MIN}\n aria-valuenow={value}\n {...rest}\n >\n <div\n className={clsx(withBaseName(\"container\"), {\n [withBaseName(\"indeterminate\")]: variant === \"indeterminate\",\n [withBaseName(\"static\")]: variant === \"static\",\n })}\n style={{ width: containerSize, height: containerSize, ...rootStyle }}\n >\n <ViewBox>\n <LinearGradient />\n <Circle className={withBaseName(\"railCircle\")} strokeWidth={1} />\n <Circle\n strokeWidth={2}\n style={circleStyle}\n className={clsx(withBaseName(\"circle\"), {\n [withBaseName(\"circleIndeterminate\")]:\n variant === \"indeterminate\",\n [withBaseName(\"circleStatic\")]: variant === \"static\",\n })}\n />\n </ViewBox>\n </div>\n {progressInfo}\n </div>\n );\n});\n"],"names":["makePrefixer","forwardRef","CircularProgress","useWindow","useComponentCssInjection","circularProgressCSS","SIZE","useEffect","jsx","DefaultInfo","jsxs","clsx","ViewBox","LinearGradient","Circle"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CircularProgress.js","sources":["../src/progress/CircularProgress/CircularProgress.tsx"],"sourcesContent":["import {\n CSSProperties,\n forwardRef,\n HTMLAttributes,\n ReactElement,\n ReactNode,\n useEffect,\n} from \"react\";\nimport { clsx } from \"clsx\";\nimport { makePrefixer } from \"@salt-ds/core\";\nimport { Info as DefaultInfo } from \"../Info\";\nimport { InfoRendererProps } from \"../LinearProgress/LinearProgress\";\n\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\n\nimport circularProgressCSS from \"./CircularProgress.css\";\n\nconst withBaseName = makePrefixer(\"saltCircularProgress\");\n\nexport interface CircularProgressProps extends HTMLAttributes<HTMLDivElement> {\n /**\n * A label for accessibility\n */\n \"aria-label\"?: string;\n /**\n * The className(s) of the component\n */\n className?: string;\n /**\n * Disabled flag, true when the component is disabled.\n */\n disabled?: boolean;\n /**\n * The value of the max progress indicator.\n * Default value is 100.\n */\n max?: number;\n /**\n * Render props callback to render info panel.\n * @param function({ value, unit, getValueProps })\n */\n renderInfo?: (\n props: Pick<InfoRendererProps<any, any>, \"value\" | \"unit\" | \"getValueProps\">\n ) => ReactElement<InfoRendererProps<any, any>>;\n /**\n * If `true`, the info panel will be displayed.\n */\n showInfo?: boolean;\n /**\n * Default unit is`%`\n */\n unit?: string;\n /**\n * The value of the progress indicator.\n * Value between 0 and max.\n */\n value?: number;\n}\n\n/**\n * Circular progress bar with an optional Info element, showing the current value\n * The default Info element can be rendered by setting `unit` and `value` props.\n * A custom Info element can be rendered using the `renderInfo` callback.\n * The render props callback is of the form\n * @param {string} unit the unit of the progress info\n * @param {number} value the value of the progress info\n * @param {function} getValueProps function callback that returns the value props\n */\nexport const CircularProgress = forwardRef<\n HTMLDivElement,\n CircularProgressProps\n>(function CircularProgress(\n {\n \"aria-label\": ariaLabel,\n className,\n disabled,\n max = 100,\n showInfo = true,\n renderInfo,\n value = 0,\n unit = \"%\",\n ...rest\n },\n ref\n) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-circular-progress\",\n css: circularProgressCSS,\n window: targetWindow,\n });\n\n const circleStyle: CSSProperties = {};\n const railCircleStyle: CSSProperties = {};\n const rootStyle: CSSProperties = {};\n const rootProps: HTMLAttributes<any> = {};\n\n const progress = (value / max) * 100;\n\n rootProps[\"aria-valuenow\"] = Math.round(value);\n\n const progressStrokeLength = `calc(${progress} * var(--circularProgress-progressCircle-circumference) / 100)`;\n const progressGapLength = `calc((100 - ${progress}) * var(--circularProgress-progressCircle-circumference) / 100)`;\n const railStrokeLength = `calc((100 - ${progress}) * var(--circularProgress-railCircle-circumference) / 100)`;\n const railGapLength = `calc((${progress}) * var(--circularProgress-railCircle-circumference) / 100)`;\n\n circleStyle.strokeDasharray = `${progressStrokeLength} ${progressGapLength}`;\n railCircleStyle.strokeDashoffset = `${railStrokeLength}`;\n railCircleStyle.strokeDasharray = `${railStrokeLength} ${railGapLength}`;\n\n useEffect(() => {\n if (process.env.NODE_ENV !== \"production\" && !ariaLabel) {\n // eslint-disable-next-line no-console\n console.error(\n \"Salt: aria-label value not supplied to CircularProgress. This may affect the ADA compliance level of the component and owning application, and may generate errors in automated accessibility testing software\"\n );\n }\n }, [ariaLabel]);\n\n const getValueProps = () => ({\n unit,\n value,\n getValueProps: (valueProps = {}) => ({\n className: withBaseName(\"progressValue\"),\n ...valueProps,\n }),\n });\n\n let progressInfo: ReactNode = null;\n if (showInfo) {\n progressInfo = renderInfo ? (\n renderInfo(getValueProps())\n ) : (\n <DefaultInfo\n className={withBaseName(\"progressValue\")}\n unit={unit}\n value={Math.round(progress)}\n {...rest}\n />\n );\n }\n\n return (\n <div\n className={clsx(\n withBaseName(),\n { [withBaseName(\"disabled\")]: disabled },\n className\n )}\n data-testid=\"circular-progress\"\n ref={ref}\n role=\"progressbar\"\n aria-label={ariaLabel}\n aria-valuemax={max}\n aria-valuemin={0}\n aria-valuenow={value}\n {...rest}\n >\n <svg className={withBaseName(\"svg\")}>\n <circle\n cx=\"50%\"\n cy=\"50%\"\n fill=\"none\"\n style={railCircleStyle}\n className={withBaseName(\"railCircle\")}\n />\n\n <circle\n cx=\"50%\"\n cy=\"50%\"\n fill=\"none\"\n style={circleStyle}\n className={withBaseName(\"circle\")}\n />\n </svg>\n {progressInfo}\n </div>\n );\n});\n"],"names":["makePrefixer","forwardRef","CircularProgress","useWindow","useComponentCssInjection","circularProgressCSS","useEffect","jsx","DefaultInfo","jsxs","clsx"],"mappings":";;;;;;;;;;;;;AAkBA,MAAM,YAAA,GAAeA,kBAAa,sBAAsB,CAAA,CAAA;AAmD3C,MAAA,gBAAA,GAAmBC,gBAG9B,CAAA,SAASC,iBACT,CAAA;AAAA,EACE,YAAc,EAAA,SAAA;AAAA,EACd,SAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAM,GAAA,GAAA;AAAA,EACN,QAAW,GAAA,IAAA;AAAA,EACX,UAAA;AAAA,EACA,KAAQ,GAAA,CAAA;AAAA,EACR,IAAO,GAAA,GAAA;AAAA,EACJ,GAAA,IAAA;AACL,CAAA,EACA,GACA,EAAA;AACA,EAAA,MAAM,eAAeC,gBAAU,EAAA,CAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,wBAAA;AAAA,IACR,GAAK,EAAAC,kBAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AAED,EAAA,MAAM,cAA6B,EAAC,CAAA;AACpC,EAAA,MAAM,kBAAiC,EAAC,CAAA;AAIxC,EAAM,MAAA,QAAA,GAAY,QAAQ,GAAO,GAAA,GAAA,CAAA;AAIjC,EAAA,MAAM,uBAAuB,CAAQ,KAAA,EAAA,QAAA,CAAA,8DAAA,CAAA,CAAA;AACrC,EAAA,MAAM,oBAAoB,CAAe,YAAA,EAAA,QAAA,CAAA,+DAAA,CAAA,CAAA;AACzC,EAAA,MAAM,mBAAmB,CAAe,YAAA,EAAA,QAAA,CAAA,2DAAA,CAAA,CAAA;AACxC,EAAA,MAAM,gBAAgB,CAAS,MAAA,EAAA,QAAA,CAAA,2DAAA,CAAA,CAAA;AAE/B,EAAY,WAAA,CAAA,eAAA,GAAkB,GAAG,oBAAwB,CAAA,CAAA,EAAA,iBAAA,CAAA,CAAA,CAAA;AACzD,EAAA,eAAA,CAAgB,mBAAmB,CAAG,EAAA,gBAAA,CAAA,CAAA,CAAA;AACtC,EAAgB,eAAA,CAAA,eAAA,GAAkB,GAAG,gBAAoB,CAAA,CAAA,EAAA,aAAA,CAAA,CAAA,CAAA;AAEzD,EAAAC,eAAA,CAAU,MAAM;AACd,IAAA,IAAI,OAAQ,CAAA,GAAA,CAAI,QAAa,KAAA,YAAA,IAAgB,CAAC,SAAW,EAAA;AAEvD,MAAQ,OAAA,CAAA,KAAA;AAAA,QACN,gNAAA;AAAA,OACF,CAAA;AAAA,KACF;AAAA,GACF,EAAG,CAAC,SAAS,CAAC,CAAA,CAAA;AAEd,EAAA,MAAM,gBAAgB,OAAO;AAAA,IAC3B,IAAA;AAAA,IACA,KAAA;AAAA,IACA,aAAe,EAAA,CAAC,UAAa,GAAA,EAAQ,MAAA;AAAA,MACnC,SAAA,EAAW,aAAa,eAAe,CAAA;AAAA,MACvC,GAAG,UAAA;AAAA,KACL,CAAA;AAAA,GACF,CAAA,CAAA;AAEA,EAAA,IAAI,YAA0B,GAAA,IAAA,CAAA;AAC9B,EAAA,IAAI,QAAU,EAAA;AACZ,IAAA,YAAA,GAAe,UACb,GAAA,UAAA,CAAW,aAAc,EAAC,oBAEzBC,cAAA,CAAAC,SAAA,EAAA;AAAA,MACC,SAAA,EAAW,aAAa,eAAe,CAAA;AAAA,MACvC,IAAA;AAAA,MACA,KAAA,EAAO,IAAK,CAAA,KAAA,CAAM,QAAQ,CAAA;AAAA,MACzB,GAAG,IAAA;AAAA,KACN,CAAA,CAAA;AAAA,GAEJ;AAEA,EAAA,uBACGC,eAAA,CAAA,KAAA,EAAA;AAAA,IACC,SAAW,EAAAC,SAAA;AAAA,MACT,YAAa,EAAA;AAAA,MACb,EAAE,CAAC,YAAa,CAAA,UAAU,IAAI,QAAS,EAAA;AAAA,MACvC,SAAA;AAAA,KACF;AAAA,IACA,aAAY,EAAA,mBAAA;AAAA,IACZ,GAAA;AAAA,IACA,IAAK,EAAA,aAAA;AAAA,IACL,YAAY,EAAA,SAAA;AAAA,IACZ,eAAe,EAAA,GAAA;AAAA,IACf,eAAe,EAAA,CAAA;AAAA,IACf,eAAe,EAAA,KAAA;AAAA,IACd,GAAG,IAAA;AAAA,IAEJ,QAAA,EAAA;AAAA,sBAACD,eAAA,CAAA,KAAA,EAAA;AAAA,QAAI,SAAA,EAAW,aAAa,KAAK,CAAA;AAAA,QAChC,QAAA,EAAA;AAAA,0BAACF,cAAA,CAAA,QAAA,EAAA;AAAA,YACC,EAAG,EAAA,KAAA;AAAA,YACH,EAAG,EAAA,KAAA;AAAA,YACH,IAAK,EAAA,MAAA;AAAA,YACL,KAAO,EAAA,eAAA;AAAA,YACP,SAAA,EAAW,aAAa,YAAY,CAAA;AAAA,WACtC,CAAA;AAAA,0BAECA,cAAA,CAAA,QAAA,EAAA;AAAA,YACC,EAAG,EAAA,KAAA;AAAA,YACH,EAAG,EAAA,KAAA;AAAA,YACH,IAAK,EAAA,MAAA;AAAA,YACL,KAAO,EAAA,WAAA;AAAA,YACP,SAAA,EAAW,aAAa,QAAQ,CAAA;AAAA,WAClC,CAAA;AAAA,SAAA;AAAA,OACF,CAAA;AAAA,MACC,YAAA;AAAA,KAAA;AAAA,GACH,CAAA,CAAA;AAEJ,CAAC;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var css_248z = ".saltLinearProgress {\n align-items: center;\n color: var(--salt-text-primary-foreground);\n display: flex;\n min-width: 200px;\n font-size: var(--linearProgress-fontSize);\n}\n\n
|
|
3
|
+
var css_248z = ".saltLinearProgress {\n align-items: center;\n color: var(--salt-text-primary-foreground);\n display: flex;\n min-width: 200px;\n font-size: var(--linearProgress-fontSize);\n}\n\n.saltLinearProgress-disabled .saltLinearProgress-bar {\n background: var(--salt-accent-background-disabled);\n}\n\n.saltLinearProgress-disabled .saltLinearProgress-track {\n background: var(--salt-track-borderColor-disabled);\n}\n\n.saltLinearProgress-disabled .saltLinearProgress-progressValue {\n color: var(--salt-text-primary-foreground-disabled);\n cursor: var(--salt-selectable-cursor-disabled);\n}\n\n.saltLinearProgress-barContainer {\n background: none;\n position: relative;\n width: calc(100% - 10px);\n overflow: hidden;\n height: var(--salt-size-adornment);\n}\n\n.saltLinearProgress-bar {\n width: 100%;\n position: absolute;\n left: 0;\n bottom: 0;\n top: 0;\n transition: transform 0.2s linear;\n transform-origin: left;\n background: var(--salt-accent-background);\n z-index: 2;\n}\n\n.saltLinearProgress-track {\n background: var(--salt-track-borderColor);\n width: 100%;\n height: var(--salt-track-borderWidth);\n position: absolute;\n top: calc((var(--salt-size-adornment) - var(--salt-track-borderWidth)) / 2);\n transition: transform 0.2s linear;\n transform-origin: left;\n}\n\n.saltLinearProgress-progressValue {\n color: inherit;\n font-family: var(--salt-text-fontFamily);\n font-size: var(--salt-text-label-fontSize);\n font-weight: var(--salt-text-label-fontWeight-strong);\n margin: 0;\n white-space: nowrap;\n padding-left: var(--salt-spacing-100);\n}\n";
|
|
4
4
|
|
|
5
5
|
module.exports = css_248z;
|
|
6
6
|
//# sourceMappingURL=LinearProgress.css.js.map
|
|
@@ -28,10 +28,9 @@ const LinearProgress = React.forwardRef(
|
|
|
28
28
|
function LinearProgress2({
|
|
29
29
|
className,
|
|
30
30
|
disabled,
|
|
31
|
+
max = 100,
|
|
31
32
|
renderInfo,
|
|
32
33
|
showInfo = true,
|
|
33
|
-
size = "small",
|
|
34
|
-
variant = "determinate",
|
|
35
34
|
unit = "%",
|
|
36
35
|
value = 0,
|
|
37
36
|
...rest
|
|
@@ -45,6 +44,7 @@ const LinearProgress = React.forwardRef(
|
|
|
45
44
|
let progressInfo = null;
|
|
46
45
|
const progressUnit = withBaseName("progressUnit");
|
|
47
46
|
const progressValue = withBaseName("progressValue");
|
|
47
|
+
const progress = value / max * 100;
|
|
48
48
|
if (showInfo) {
|
|
49
49
|
progressInfo = renderInfo ? renderInfo(
|
|
50
50
|
getUnitAndValueProps(
|
|
@@ -59,27 +59,22 @@ const LinearProgress = React.forwardRef(
|
|
|
59
59
|
)
|
|
60
60
|
) : /* @__PURE__ */ jsxRuntime.jsx(Info.Info, {
|
|
61
61
|
unit,
|
|
62
|
-
value,
|
|
62
|
+
value: Math.round(progress),
|
|
63
63
|
className: progressValue
|
|
64
64
|
});
|
|
65
65
|
}
|
|
66
66
|
const rootProps = {};
|
|
67
67
|
const barStyle = {};
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
}
|
|
68
|
+
const trackStyle = {};
|
|
69
|
+
rootProps["aria-valuenow"] = Math.round(value);
|
|
70
|
+
rootProps["aria-valuemin"] = 0;
|
|
71
|
+
rootProps["aria-valuemax"] = 100;
|
|
72
|
+
barStyle.transform = `translateX(${progress - 100}%)`;
|
|
73
|
+
trackStyle.transform = `translateX(${progress}%)`;
|
|
74
74
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", {
|
|
75
75
|
className: clsx.clsx(
|
|
76
76
|
withBaseName(),
|
|
77
|
-
{
|
|
78
|
-
[withBaseName("disabled")]: disabled,
|
|
79
|
-
[withBaseName("small")]: size === "small",
|
|
80
|
-
[withBaseName("medium")]: size === "medium",
|
|
81
|
-
[withBaseName("large")]: size === "large"
|
|
82
|
-
},
|
|
77
|
+
{ [withBaseName("disabled")]: disabled },
|
|
83
78
|
className
|
|
84
79
|
),
|
|
85
80
|
ref,
|
|
@@ -89,18 +84,15 @@ const LinearProgress = React.forwardRef(
|
|
|
89
84
|
...rest,
|
|
90
85
|
children: [
|
|
91
86
|
/* @__PURE__ */ jsxRuntime.jsxs("div", {
|
|
92
|
-
className:
|
|
93
|
-
[withBaseName("determinate")]: variant === "determinate",
|
|
94
|
-
[withBaseName("indeterminate")]: variant === "indeterminate",
|
|
95
|
-
[withBaseName("query")]: variant === "query"
|
|
96
|
-
}),
|
|
87
|
+
className: withBaseName("barContainer"),
|
|
97
88
|
children: [
|
|
98
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", {
|
|
99
|
-
className:
|
|
89
|
+
progress !== 0 && /* @__PURE__ */ jsxRuntime.jsx("div", {
|
|
90
|
+
className: withBaseName("bar"),
|
|
100
91
|
style: barStyle
|
|
101
92
|
}),
|
|
102
|
-
|
|
103
|
-
className:
|
|
93
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", {
|
|
94
|
+
className: withBaseName("track"),
|
|
95
|
+
style: trackStyle
|
|
104
96
|
})
|
|
105
97
|
]
|
|
106
98
|
}),
|