@kaizen/components 0.0.0-canary-fix-select-focus-add-small-delay-20241013230007 → 0.0.0-canary-codemod-tsx-20241030002309
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/bin/codemod.sh +2 -2
- package/codemods/README.md +12 -4
- package/codemods/upgradeIconV1/getNewIconPropsFromOldIconName.ts +255 -0
- package/codemods/upgradeIconV1/index.ts +33 -0
- package/codemods/upgradeIconV1/transformCaMonogramIconToBrand.spec.ts +83 -0
- package/codemods/upgradeIconV1/transformCaMonogramIconToBrand.ts +53 -0
- package/codemods/upgradeIconV1/transformIcon.spec.ts +181 -0
- package/codemods/upgradeIconV1/transformIcon.ts +115 -0
- package/codemods/upgradeIconV1/transformSpinnerIconToLoadingSpinner.spec.ts +81 -0
- package/codemods/upgradeIconV1/transformSpinnerIconToLoadingSpinner.ts +41 -0
- package/codemods/upgradeIconV1/upgradeIconV1.spec.ts +306 -0
- package/codemods/upgradeIconV1/upgradeIconV1.ts +94 -0
- package/codemods/utils/createProp.spec.ts +83 -0
- package/codemods/utils/createProp.ts +51 -0
- package/codemods/utils/getKaioTagName.spec.ts +85 -0
- package/codemods/utils/getKaioTagName.ts +129 -0
- package/codemods/utils/index.ts +3 -1
- package/codemods/utils/transformComponentsInDir.ts +32 -16
- package/codemods/utils/transformSource.ts +10 -5
- package/codemods/utils/updateJsxElementWithNewProps.ts +4 -3
- package/codemods/utils/updateKaioImports.spec.ts +223 -0
- package/codemods/utils/updateKaioImports.ts +233 -0
- package/dist/cjs/Avatar/Avatar.cjs +16 -13
- package/dist/cjs/Calendar/CalendarRange/CalendarRange.cjs +9 -7
- package/dist/cjs/Calendar/CalendarSingle/CalendarSingle.cjs +9 -7
- package/dist/cjs/Calendar/LegacyCalendarRange/LegacyCalendarRange.cjs +9 -7
- package/dist/cjs/Checkbox/Checkbox/Checkbox.cjs +5 -11
- package/dist/cjs/ClearButton/ClearButton.cjs +5 -4
- package/dist/cjs/Collapsible/Collapsible/Collapsible.cjs +4 -7
- package/dist/cjs/DateInput/DateInputWithIconButton/DateInputWithIconButton.cjs +5 -4
- package/dist/cjs/DateRangePicker/DateRangePicker.cjs +5 -4
- package/dist/cjs/ErrorPage/ErrorPage.cjs +9 -7
- package/dist/cjs/FieldMessage/FieldMessage.cjs +5 -11
- package/dist/cjs/Filter/FilterBar/context/FilterBarContext.cjs +17 -2
- package/dist/cjs/Filter/FilterBar/context/reducer/filterBarStateReducer.cjs +4 -0
- package/dist/cjs/Filter/FilterBar/context/reducer/setupFilterBarState.cjs +2 -1
- package/dist/cjs/Filter/FilterBar/subcomponents/AddFiltersMenu/AddFiltersMenu.cjs +16 -6
- package/dist/cjs/Filter/FilterBar/subcomponents/FilterBarButton/FilterBarButton.cjs +12 -1
- package/dist/cjs/Filter/FilterBar/subcomponents/FilterBarMultiSelect/FilterBarMultiSelect.cjs +13 -2
- package/dist/cjs/Filter/FilterButton/FilterButton/FilterButton.cjs +4 -7
- package/dist/cjs/Filter/FilterButton/FilterButtonRemovable/FilterButtonRemovable.cjs +5 -5
- package/dist/cjs/Filter/FilterMultiSelect/FilterMultiSelect.cjs +4 -2
- package/dist/cjs/Filter/FilterMultiSelect/context/MenuTriggerProvider/MenuTriggerProvider.cjs +4 -2
- package/dist/cjs/Filter/FilterMultiSelect/subcomponents/MultiSelectOption/MultiSelectOption.cjs +4 -4
- package/dist/cjs/GuidanceBlock/GuidanceBlock.cjs +5 -4
- package/dist/cjs/Illustration/utils/usePausePlay.cjs +5 -8
- package/dist/cjs/Input/InputSearch/InputSearch.cjs +4 -3
- package/dist/cjs/LikertScaleLegacy/LikertScaleLegacy.cjs +5 -6
- package/dist/cjs/Loading/LoadingSpinner/LoadingSpinner.cjs +6 -42
- package/dist/cjs/Loading/LoadingSpinner/LoadingSpinner.module.css.cjs +10 -0
- package/dist/cjs/Loading/LoadingSpinner/subcomponents/SpinnerIcon.cjs +80 -0
- package/dist/cjs/Modal/ConfirmationModal/ConfirmationModal.cjs +31 -26
- package/dist/cjs/Modal/GenericModal/subcomponents/ModalHeader/ModalHeader.cjs +4 -5
- package/dist/cjs/MultiSelect/subcomponents/Checkbox/Checkbox.cjs +7 -17
- package/dist/cjs/MultiSelect/subcomponents/MultiSelectToggle/MultiSelectToggle.cjs +4 -7
- package/dist/cjs/Notification/subcomponents/CancelButton/CancelButton.cjs +4 -3
- package/dist/cjs/Notification/subcomponents/NotificationIcon/NotificationIcon.cjs +33 -38
- package/dist/cjs/Notification/subcomponents/NotificationIcon/NotificationIcon.module.css.cjs +6 -0
- package/dist/cjs/Pagination/subcomponents/DirectionalLink/DirectionalLink.cjs +11 -19
- package/dist/cjs/Pagination/subcomponents/TruncateIndicator/TruncateIndicator.cjs +4 -5
- package/dist/cjs/Popover/Popover.cjs +5 -4
- package/dist/cjs/Popover/utils/classMappers.cjs +21 -16
- package/dist/cjs/RichTextEditor/RichTextEditor/utils/controlmap.cjs +29 -25
- package/dist/cjs/RichTextEditor/utils/plugins/LinkManager/components/LinkPopover/LinkPopover.cjs +10 -12
- package/dist/cjs/Select/Select.cjs +8 -10
- package/dist/cjs/SplitButton/subcomponents/DropdownButton/DropdownButton.cjs +4 -4
- package/dist/cjs/Table/Table.cjs +11 -10
- package/dist/cjs/Tag/Tag.cjs +21 -17
- package/dist/cjs/TextArea/TextArea.cjs +20 -52
- package/dist/cjs/TextArea/TextArea.module.css.cjs +14 -0
- package/dist/cjs/TextField/TextField.cjs +7 -6
- package/dist/cjs/TextField/TextField.module.scss.cjs +4 -6
- package/dist/cjs/Tile/subcomponents/GenericTile/GenericTile.cjs +8 -7
- package/dist/cjs/TitleBlockZen/TitleBlockZen.cjs +9 -12
- package/dist/cjs/TitleBlockZen/subcomponents/MainActions.cjs +7 -7
- package/dist/cjs/TitleBlockZen/subcomponents/MobileActions.cjs +10 -15
- package/dist/cjs/TitleBlockZen/subcomponents/SecondaryActions.cjs +7 -7
- package/dist/cjs/ToggleSwitch/ToggleSwitch/ToggleSwitch.cjs +5 -5
- package/dist/cjs/Workflow/subcomponents/Footer/components/ProgressStepper/ProgressStepper.cjs +13 -18
- package/dist/cjs/__future__/Icon/Icon.cjs +47 -0
- package/dist/cjs/__future__/Icon/Icon.module.css.cjs +10 -0
- package/dist/cjs/__future__/Icon/constants.cjs +8 -0
- package/dist/cjs/__future__/Select/subcomponents/ListBox/ListBox.cjs +7 -10
- package/dist/cjs/__future__/Select/subcomponents/Option/Option.cjs +4 -5
- package/dist/cjs/__future__/Select/subcomponents/SelectToggle/SelectToggle.cjs +5 -9
- package/dist/cjs/__future__/Tag/RemovableTag/subcomponents/RemoveButton.cjs +4 -3
- package/dist/cjs/future.cjs +2 -0
- package/dist/esm/Avatar/Avatar.mjs +16 -13
- package/dist/esm/Calendar/CalendarRange/CalendarRange.mjs +9 -7
- package/dist/esm/Calendar/CalendarSingle/CalendarSingle.mjs +9 -7
- package/dist/esm/Calendar/LegacyCalendarRange/LegacyCalendarRange.mjs +9 -7
- package/dist/esm/Checkbox/Checkbox/Checkbox.mjs +5 -11
- package/dist/esm/ClearButton/ClearButton.mjs +5 -4
- package/dist/esm/Collapsible/Collapsible/Collapsible.mjs +5 -8
- package/dist/esm/DateInput/DateInputWithIconButton/DateInputWithIconButton.mjs +5 -4
- package/dist/esm/DateRangePicker/DateRangePicker.mjs +5 -4
- package/dist/esm/ErrorPage/ErrorPage.mjs +10 -8
- package/dist/esm/FieldMessage/FieldMessage.mjs +6 -12
- package/dist/esm/Filter/FilterBar/context/FilterBarContext.mjs +17 -2
- package/dist/esm/Filter/FilterBar/context/reducer/filterBarStateReducer.mjs +4 -0
- package/dist/esm/Filter/FilterBar/context/reducer/setupFilterBarState.mjs +2 -1
- package/dist/esm/Filter/FilterBar/subcomponents/AddFiltersMenu/AddFiltersMenu.mjs +17 -7
- package/dist/esm/Filter/FilterBar/subcomponents/FilterBarButton/FilterBarButton.mjs +13 -2
- package/dist/esm/Filter/FilterBar/subcomponents/FilterBarMultiSelect/FilterBarMultiSelect.mjs +14 -3
- package/dist/esm/Filter/FilterButton/FilterButton/FilterButton.mjs +5 -8
- package/dist/esm/Filter/FilterButton/FilterButtonRemovable/FilterButtonRemovable.mjs +5 -5
- package/dist/esm/Filter/FilterMultiSelect/FilterMultiSelect.mjs +4 -2
- package/dist/esm/Filter/FilterMultiSelect/context/MenuTriggerProvider/MenuTriggerProvider.mjs +4 -2
- package/dist/esm/Filter/FilterMultiSelect/subcomponents/MultiSelectOption/MultiSelectOption.mjs +4 -4
- package/dist/esm/GuidanceBlock/GuidanceBlock.mjs +5 -4
- package/dist/esm/Illustration/utils/usePausePlay.mjs +5 -8
- package/dist/esm/Input/InputSearch/InputSearch.mjs +4 -3
- package/dist/esm/LikertScaleLegacy/LikertScaleLegacy.mjs +5 -6
- package/dist/esm/Loading/LoadingSpinner/LoadingSpinner.mjs +6 -42
- package/dist/esm/Loading/LoadingSpinner/LoadingSpinner.module.css.mjs +8 -0
- package/dist/esm/Loading/LoadingSpinner/subcomponents/SpinnerIcon.mjs +72 -0
- package/dist/esm/Modal/ConfirmationModal/ConfirmationModal.mjs +31 -26
- package/dist/esm/Modal/GenericModal/subcomponents/ModalHeader/ModalHeader.mjs +4 -5
- package/dist/esm/MultiSelect/subcomponents/Checkbox/Checkbox.mjs +7 -17
- package/dist/esm/MultiSelect/subcomponents/MultiSelectToggle/MultiSelectToggle.mjs +5 -8
- package/dist/esm/Notification/subcomponents/CancelButton/CancelButton.mjs +4 -3
- package/dist/esm/Notification/subcomponents/NotificationIcon/NotificationIcon.mjs +33 -38
- package/dist/esm/Notification/subcomponents/NotificationIcon/NotificationIcon.module.css.mjs +4 -0
- package/dist/esm/Pagination/subcomponents/DirectionalLink/DirectionalLink.mjs +11 -19
- package/dist/esm/Pagination/subcomponents/TruncateIndicator/TruncateIndicator.mjs +4 -5
- package/dist/esm/Popover/Popover.mjs +5 -4
- package/dist/esm/Popover/utils/classMappers.mjs +21 -16
- package/dist/esm/RichTextEditor/RichTextEditor/utils/controlmap.mjs +33 -29
- package/dist/esm/RichTextEditor/utils/plugins/LinkManager/components/LinkPopover/LinkPopover.mjs +10 -12
- package/dist/esm/Select/Select.mjs +9 -11
- package/dist/esm/SplitButton/subcomponents/DropdownButton/DropdownButton.mjs +4 -4
- package/dist/esm/Table/Table.mjs +11 -10
- package/dist/esm/Tag/Tag.mjs +21 -17
- package/dist/esm/TextArea/TextArea.mjs +21 -53
- package/dist/esm/TextArea/TextArea.module.css.mjs +12 -0
- package/dist/esm/TextField/TextField.mjs +7 -6
- package/dist/esm/TextField/TextField.module.scss.mjs +4 -6
- package/dist/esm/Tile/subcomponents/GenericTile/GenericTile.mjs +8 -7
- package/dist/esm/TitleBlockZen/TitleBlockZen.mjs +9 -12
- package/dist/esm/TitleBlockZen/subcomponents/MainActions.mjs +7 -7
- package/dist/esm/TitleBlockZen/subcomponents/MobileActions.mjs +13 -18
- package/dist/esm/TitleBlockZen/subcomponents/SecondaryActions.mjs +7 -7
- package/dist/esm/ToggleSwitch/ToggleSwitch/ToggleSwitch.mjs +5 -5
- package/dist/esm/Workflow/subcomponents/Footer/components/ProgressStepper/ProgressStepper.mjs +16 -21
- package/dist/esm/__future__/Icon/Icon.mjs +38 -0
- package/dist/esm/__future__/Icon/Icon.module.css.mjs +8 -0
- package/dist/esm/__future__/Icon/constants.mjs +6 -0
- package/dist/esm/__future__/Select/subcomponents/ListBox/ListBox.mjs +7 -10
- package/dist/esm/__future__/Select/subcomponents/Option/Option.mjs +4 -5
- package/dist/esm/__future__/Select/subcomponents/SelectToggle/SelectToggle.mjs +6 -10
- package/dist/esm/__future__/Tag/RemovableTag/subcomponents/RemoveButton.mjs +4 -3
- package/dist/esm/future.mjs +1 -0
- package/dist/styles.css +1026 -1699
- package/dist/types/Filter/FilterBar/context/FilterBarContext.d.ts +2 -0
- package/dist/types/Filter/FilterBar/context/reducer/filterBarStateReducer.d.ts +3 -0
- package/dist/types/Filter/FilterBar/context/types.d.ts +1 -0
- package/dist/types/Filter/FilterMultiSelect/FilterMultiSelect.d.ts +2 -1
- package/dist/types/Filter/FilterMultiSelect/context/MenuTriggerProvider/MenuTriggerProvider.d.ts +2 -1
- package/dist/types/Loading/LoadingSpinner/LoadingSpinner.d.ts +2 -2
- package/dist/types/Loading/LoadingSpinner/subcomponents/SpinnerIcon.d.ts +5 -0
- package/dist/types/Loading/LoadingSpinner/subcomponents/index.d.ts +1 -0
- package/dist/types/TextArea/TextArea.d.ts +4 -0
- package/dist/types/__future__/Icon/Icon.d.ts +21 -0
- package/dist/types/__future__/Icon/constants.d.ts +5 -0
- package/dist/types/__future__/Icon/index.d.ts +1 -0
- package/dist/types/__future__/Icon/types.d.ts +4 -0
- package/dist/types/__future__/index.d.ts +1 -0
- package/package.json +34 -35
- package/src/Avatar/Avatar.module.scss +10 -12
- package/src/Avatar/Avatar.tsx +14 -5
- package/src/BrandMoment/_docs/BrandMoment.stories.tsx +6 -10
- package/src/BrandMoment/_docs/ExampleHeaders.tsx +2 -2
- package/src/Calendar/CalendarRange/CalendarRange.tsx +7 -3
- package/src/Calendar/CalendarSingle/CalendarSingle.tsx +7 -3
- package/src/Calendar/LegacyCalendarRange/LegacyCalendarRange.tsx +7 -3
- package/src/Calendar/baseCalendarClassNames.module.scss +0 -4
- package/src/Checkbox/Checkbox/Checkbox.module.scss +2 -10
- package/src/Checkbox/Checkbox/Checkbox.tsx +6 -8
- package/src/ClearButton/ClearButton.tsx +2 -2
- package/src/Collapsible/Collapsible/Collapsible.tsx +5 -6
- package/src/Collapsible/Collapsible/_docs/Collapsible.stories.tsx +2 -2
- package/src/DateInput/DateInputWithIconButton/DateInputWithIconButton.module.scss +2 -7
- package/src/DateInput/DateInputWithIconButton/DateInputWithIconButton.tsx +2 -2
- package/src/DateRangePicker/DateRangePicker.tsx +2 -2
- package/src/EmptyState/_docs/EmptyState.stickersheet.stories.tsx +8 -2
- package/src/EmptyState/_docs/EmptyState.stories.tsx +4 -2
- package/src/ErrorPage/ErrorPage.tsx +5 -3
- package/src/FieldMessage/FieldMessage.tsx +6 -14
- package/src/Filter/FilterBar/FilterBar.spec.tsx +99 -12
- package/src/Filter/FilterBar/context/FilterBarContext.tsx +11 -2
- package/src/Filter/FilterBar/context/reducer/filterBarStateReducer.ts +7 -0
- package/src/Filter/FilterBar/context/reducer/setupFilterBarState.ts +1 -0
- package/src/Filter/FilterBar/context/types.ts +1 -0
- package/src/Filter/FilterBar/subcomponents/AddFiltersMenu/AddFiltersMenu.tsx +14 -4
- package/src/Filter/FilterBar/subcomponents/FilterBarButton/FilterBarButton.tsx +10 -2
- package/src/Filter/FilterBar/subcomponents/FilterBarMultiSelect/FilterBarMultiSelect.tsx +18 -3
- package/src/Filter/FilterButton/FilterButton/FilterButton.module.scss +1 -1
- package/src/Filter/FilterButton/FilterButton/FilterButton.tsx +5 -6
- package/src/Filter/FilterButton/FilterButtonRemovable/FilterButtonRemovable.tsx +2 -2
- package/src/Filter/FilterDateRangePicker/FilterDateRangePicker.spec.tsx +0 -1
- package/src/Filter/FilterDateRangePicker/subcomponents/DateRangeInputField/DateRangeInputField.spec.tsx +2 -1
- package/src/Filter/FilterMultiSelect/FilterMultiSelect.tsx +3 -1
- package/src/Filter/FilterMultiSelect/context/MenuTriggerProvider/MenuTriggerProvider.tsx +4 -1
- package/src/Filter/FilterMultiSelect/subcomponents/MultiSelectOption/MultiSelectOption.tsx +2 -2
- package/src/Filter/FilterMultiSelect/subcomponents/SelectionControlButton/SelectionControlButton.module.scss +9 -10
- package/src/Filter/FilterSelect/FilterSelect.spec.tsx +4 -5
- package/src/GuidanceBlock/GuidanceBlock.module.scss +4 -5
- package/src/GuidanceBlock/GuidanceBlock.tsx +6 -2
- package/src/Icon/_docs/{Icon.stories.tsx → Icon.docs.stories.tsx} +1 -1
- package/src/Icon/_docs/Icon.mdx +1 -2
- package/src/Icon/_docs/Icon.stickersheet.stories.tsx +1 -1
- package/src/Icon/bin/update-icons.sh +1 -1
- package/src/Illustration/utils/usePausePlay.tsx +7 -5
- package/src/Input/Input/_docs/Input.stickersheet.stories.tsx +7 -5
- package/src/Input/Input/_docs/Input.stories.tsx +5 -3
- package/src/Input/InputRange/InputRange.module.scss +4 -4
- package/src/Input/InputSearch/InputSearch.module.scss +21 -21
- package/src/Input/InputSearch/InputSearch.tsx +2 -2
- package/src/Label/Label.module.scss +4 -0
- package/src/LikertScaleLegacy/LikertScaleLegacy.module.scss +7 -8
- package/src/LikertScaleLegacy/LikertScaleLegacy.tsx +2 -2
- package/src/Loading/LoadingGraphic/_docs/LoadingGraphic.stories.tsx +2 -2
- package/src/Loading/LoadingSpinner/LoadingSpinner.module.css +32 -0
- package/src/Loading/LoadingSpinner/LoadingSpinner.tsx +10 -54
- package/src/Loading/LoadingSpinner/_docs/LoadingSpinner.mdx +7 -2
- package/src/Loading/LoadingSpinner/_docs/LoadingSpinner.stickersheet.stories.tsx +2 -1
- package/src/Loading/LoadingSpinner/_docs/LoadingSpinner.stories.tsx +19 -0
- package/src/Loading/LoadingSpinner/subcomponents/SpinnerIcon.tsx +87 -0
- package/src/Loading/LoadingSpinner/subcomponents/index.ts +1 -0
- package/src/Modal/ConfirmationModal/ConfirmationModal.module.scss +2 -0
- package/src/Modal/ConfirmationModal/ConfirmationModal.tsx +32 -35
- package/src/Modal/ContextModal/ContextModal.module.scss +4 -4
- package/src/Modal/GenericModal/GenericModal.module.scss +8 -8
- package/src/Modal/GenericModal/subcomponents/ModalHeader/ModalHeader.module.scss +2 -2
- package/src/Modal/GenericModal/subcomponents/ModalHeader/ModalHeader.tsx +2 -2
- package/src/Modal/InputEditModal/InputEditModal.module.scss +4 -4
- package/src/MultiSelect/MultiSelect.spec.tsx +7 -3
- package/src/MultiSelect/subcomponents/Checkbox/Checkbox.module.scss +0 -6
- package/src/MultiSelect/subcomponents/Checkbox/Checkbox.tsx +10 -9
- package/src/MultiSelect/subcomponents/MultiSelectOptions/MultiSelectOptions.spec.tsx +11 -7
- package/src/MultiSelect/subcomponents/MultiSelectToggle/MultiSelectToggle.tsx +5 -7
- package/src/Notification/subcomponents/CancelButton/CancelButton.tsx +2 -2
- package/src/Notification/subcomponents/GenericNotification/_mixins.scss +9 -8
- package/src/Notification/subcomponents/NotificationIcon/NotificationIcon.module.css +3 -0
- package/src/Notification/subcomponents/NotificationIcon/NotificationIcon.tsx +22 -16
- package/src/Pagination/subcomponents/DirectionalLink/DirectionalLink.module.scss +0 -4
- package/src/Pagination/subcomponents/DirectionalLink/DirectionalLink.tsx +13 -12
- package/src/Pagination/subcomponents/TruncateIndicator/TruncateIndicator.module.scss +0 -1
- package/src/Pagination/subcomponents/TruncateIndicator/TruncateIndicator.tsx +2 -2
- package/src/Popover/Popover.module.scss +3 -3
- package/src/Popover/Popover.tsx +2 -2
- package/src/Popover/utils/classMappers.tsx +6 -11
- package/src/RichTextEditor/RichTextEditor/RichTextEditor.module.scss +2 -2
- package/src/RichTextEditor/RichTextEditor/subcomponents/ToggleIconButton/_docs/ToggleIconButton.stickersheet.stories.tsx +7 -7
- package/src/RichTextEditor/RichTextEditor/subcomponents/ToggleIconButton/_docs/ToggleIconButton.stories.tsx +2 -2
- package/src/RichTextEditor/RichTextEditor/subcomponents/Toolbar/Toolbar.spec.tsx +7 -4
- package/src/RichTextEditor/RichTextEditor/subcomponents/Toolbar/_docs/Toolbar.stories.tsx +18 -12
- package/src/RichTextEditor/RichTextEditor/utils/controlmap.tsx +25 -18
- package/src/RichTextEditor/utils/plugins/LinkManager/components/LinkPopover/LinkPopover.tsx +4 -8
- package/src/Select/Select.module.scss +9 -7
- package/src/Select/Select.tsx +10 -7
- package/src/SplitButton/subcomponents/DropdownButton/DropdownButton.spec.tsx +4 -5
- package/src/SplitButton/subcomponents/DropdownButton/DropdownButton.tsx +2 -2
- package/src/Table/Table.module.scss +11 -7
- package/src/Table/Table.tsx +4 -8
- package/src/Table/_docs/Table.stickersheet.stories.tsx +4 -4
- package/src/Table/_docs/Table.stories.tsx +3 -3
- package/src/Tag/Tag.module.scss +2 -0
- package/src/Tag/Tag.tsx +7 -13
- package/src/Text/Text.module.scss +2 -0
- package/src/TextArea/TextArea.module.css +142 -0
- package/src/TextArea/TextArea.tsx +25 -53
- package/src/TextField/TextField.module.scss +10 -36
- package/src/TextField/TextField.spec.tsx +9 -4
- package/src/TextField/TextField.tsx +4 -6
- package/src/TextField/_docs/TextField.stickersheet.stories.tsx +9 -1
- package/src/TextField/_docs/TextField.stories.tsx +4 -3
- package/src/Tile/subcomponents/GenericTile/GenericTile.module.scss +7 -8
- package/src/Tile/subcomponents/GenericTile/GenericTile.tsx +3 -3
- package/src/TitleBlockZen/TitleBlockZen.module.scss +15 -21
- package/src/TitleBlockZen/TitleBlockZen.spec.tsx +1 -1
- package/src/TitleBlockZen/TitleBlockZen.tsx +6 -9
- package/src/TitleBlockZen/_docs/TitleBlockZen.stories.tsx +5 -5
- package/src/TitleBlockZen/subcomponents/MainActions.tsx +5 -3
- package/src/TitleBlockZen/subcomponents/MobileActions.module.scss +2 -2
- package/src/TitleBlockZen/subcomponents/MobileActions.tsx +13 -16
- package/src/TitleBlockZen/subcomponents/SecondaryActions.tsx +3 -3
- package/src/ToggleSwitch/ToggleSwitch/ToggleSwitch.module.scss +0 -3
- package/src/ToggleSwitch/ToggleSwitch/ToggleSwitch.tsx +2 -2
- package/src/Workflow/_docs/Workflow.stories.tsx +4 -5
- package/src/Workflow/_docs/WorkflowHeader.stories.tsx +4 -5
- package/src/Workflow/_docs/controls/controls.tsx +4 -4
- package/src/Workflow/subcomponents/Footer/components/ProgressStepper/ProgressStepper.tsx +6 -31
- package/src/__actions__/Button/v1/Button/_docs/Button.mdx +1 -1
- package/src/__actions__/Button/v1/Button/_docs/Button.stickersheet.stories.tsx +6 -6
- package/src/__actions__/Button/v1/Button/_docs/Button.stories.tsx +7 -6
- package/src/__actions__/Button/v1/IconButton/_docs/IconButton.stickersheet.stories.tsx +7 -7
- package/src/__actions__/Button/v1/IconButton/_docs/IconButton.stories.tsx +5 -5
- package/src/__actions__/Button/v2/Button/_docs/Button.mdx +1 -1
- package/src/__actions__/Button/v2/Button/_docs/Button.stories.tsx +7 -6
- package/src/__actions__/Button/v2/IconButton/_docs/IconButton.stories.tsx +5 -5
- package/src/__actions__/Button/v3/_docs/ApiSpecification.mdx +1 -1
- package/src/__actions__/Button/v3/_docs/Button.docs.stories.tsx +1 -1
- package/src/__actions__/Button/v3/_docs/Button.mdx +1 -1
- package/src/__actions__/Button/v3/_docs/Button.spec.stories.tsx +1 -1
- package/src/__actions__/Button/v3/_docs/Button.stickersheet.stories.tsx +3 -3
- package/src/__actions__/Button/v3/_docs/Button.stories.tsx +1 -1
- package/src/__actions__/Menu/v1/_docs/Menu.stickersheet.stories.tsx +3 -3
- package/src/__actions__/Menu/v1/_docs/Menu.stories.tsx +3 -3
- package/src/__actions__/Menu/v1/_docs/MenuContentExample.tsx +6 -6
- package/src/__actions__/Menu/v1/_docs/examples.tsx +5 -5
- package/src/__actions__/Menu/v2/_docs/Menu.stories.tsx +3 -3
- package/src/__actions__/Menu/v3/_docs/ApiSpecification.mdx +1 -3
- package/src/__actions__/Menu/v3/_docs/Menu.docs.stories.tsx +46 -45
- package/src/__actions__/Menu/v3/_docs/Menu.mdx +1 -1
- package/src/__actions__/Menu/v3/_docs/Menu.spec.stories.tsx +21 -23
- package/src/__actions__/Menu/v3/_docs/Menu.stories.tsx +12 -15
- package/src/__future__/Icon/Icon.module.css +35 -0
- package/src/__future__/Icon/Icon.spec.tsx +36 -0
- package/src/__future__/Icon/Icon.tsx +85 -0
- package/src/__future__/Icon/_docs/Icon--api-specification.mdx +98 -0
- package/src/__future__/Icon/_docs/Icon--usage-guidelines.mdx +145 -0
- package/src/__future__/Icon/_docs/Icon.docs.module.css +17 -0
- package/src/__future__/Icon/_docs/Icon.docs.stories.tsx +524 -0
- package/src/__future__/Icon/_docs/Icon.stickersheet.stories.tsx +126 -0
- package/src/__future__/Icon/_docs/assets/interface-dont.png +0 -0
- package/src/__future__/Icon/_docs/assets/tooltip-dont.png +0 -0
- package/src/__future__/Icon/constants.ts +149 -0
- package/src/__future__/Icon/index.ts +1 -0
- package/src/__future__/Icon/material-symbols-metadata.json +3370 -0
- package/src/__future__/Icon/types.ts +11 -0
- package/src/__future__/Select/subcomponents/ListBox/ListBox.tsx +4 -7
- package/src/__future__/Select/subcomponents/Option/Option.tsx +2 -2
- package/src/__future__/Select/subcomponents/SelectToggle/SelectToggle.module.scss +1 -1
- package/src/__future__/Select/subcomponents/SelectToggle/SelectToggle.tsx +6 -9
- package/src/__future__/Tag/RemovableTag/_docs/RemovableTag.stories.tsx +0 -77
- package/src/__future__/Tag/RemovableTag/subcomponents/RemoveButton.module.scss +1 -58
- package/src/__future__/Tag/RemovableTag/subcomponents/RemoveButton.tsx +2 -12
- package/src/__future__/Tag/Tag/Tag.module.scss +1 -1
- package/src/__future__/Tag/Tag/_docs/Tag-migration-guide.stories.tsx +6 -17
- package/src/__future__/Tag/Tag/_docs/Tag.stickersheet.stories.tsx +5 -2
- package/src/__future__/Tag/Tag/_docs/Tag.stories.tsx +13 -6
- package/src/__future__/index.ts +1 -0
- package/src/__overlays__/Tooltip/v1/_docs/Tooltip.stickersheet.stories.tsx +10 -10
- package/src/__overlays__/Tooltip/v1/_docs/Tooltip.stories.tsx +7 -4
- package/src/__overlays__/Tooltip/v1/utils/isSemanticElement.spec.tsx +4 -11
- package/src/__overlays__/Tooltip/v3/_docs/Tooltip.docs.stories.tsx +10 -10
- package/src/__overlays__/Tooltip/v3/_docs/Tooltip.spec.stories.tsx +3 -3
- package/codemods/utils/getTagName.spec.ts +0 -24
- package/codemods/utils/getTagName.ts +0 -32
- package/dist/cjs/Loading/LoadingSpinner/LoadingSpinner.module.scss.cjs +0 -7
- package/dist/cjs/TextArea/TextArea.module.scss.cjs +0 -13
- package/dist/cjs/__future__/Tag/RemovableTag/subcomponents/RemoveTagIcon.cjs +0 -23
- package/dist/esm/Loading/LoadingSpinner/LoadingSpinner.module.scss.mjs +0 -5
- package/dist/esm/TextArea/TextArea.module.scss.mjs +0 -11
- package/dist/esm/__future__/Tag/RemovableTag/subcomponents/RemoveTagIcon.mjs +0 -15
- package/dist/types/__future__/Tag/RemovableTag/subcomponents/RemoveTagIcon.d.ts +0 -2
- package/src/Loading/LoadingSpinner/LoadingSpinner.module.scss +0 -16
- package/src/TextArea/TextArea.module.scss +0 -137
- package/src/__future__/Tag/RemovableTag/subcomponents/RemoveTagIcon.tsx +0 -21
|
@@ -14,6 +14,7 @@ export type MenuTriggerProviderProps = {
|
|
|
14
14
|
defaultOpen?: boolean
|
|
15
15
|
onOpenChange?: (isOpen: boolean) => void
|
|
16
16
|
children: React.ReactNode
|
|
17
|
+
triggerRef?: React.RefObject<HTMLButtonElement>
|
|
17
18
|
}
|
|
18
19
|
|
|
19
20
|
export type MenuTriggerProviderContextType = {
|
|
@@ -32,12 +33,14 @@ export function MenuTriggerProvider({
|
|
|
32
33
|
defaultOpen,
|
|
33
34
|
onOpenChange,
|
|
34
35
|
children,
|
|
36
|
+
triggerRef,
|
|
35
37
|
}: MenuTriggerProviderProps): JSX.Element {
|
|
36
38
|
// Create state based on the incoming props to manage the open/close
|
|
37
39
|
const state = useMenuTriggerState({ isOpen, defaultOpen, onOpenChange })
|
|
38
40
|
|
|
39
41
|
// Get A11y attributes and events for the menu trigger and menu elements
|
|
40
|
-
const
|
|
42
|
+
const fallbackRef = useRef<HTMLButtonElement>(null)
|
|
43
|
+
const ref = triggerRef || fallbackRef
|
|
41
44
|
const { menuTriggerProps, menuProps } = useMenuTrigger<ItemType>(
|
|
42
45
|
{},
|
|
43
46
|
state,
|
|
@@ -4,8 +4,8 @@ import { useOption } from "@react-aria/listbox"
|
|
|
4
4
|
import { mergeProps } from "@react-aria/utils"
|
|
5
5
|
import classnames from "classnames"
|
|
6
6
|
import { Badge } from "~components/Badge"
|
|
7
|
-
import { CheckIcon } from "~components/Icon"
|
|
8
7
|
import { VisuallyHidden } from "~components/VisuallyHidden"
|
|
8
|
+
import { Icon } from "~components/__future__/Icon"
|
|
9
9
|
import { useSelectionContext } from "../../context"
|
|
10
10
|
import { MultiSelectItem } from "../../types"
|
|
11
11
|
import styles from "./MultiSelectOption.module.scss"
|
|
@@ -50,7 +50,7 @@ export const MultiSelectOption = ({
|
|
|
50
50
|
<span
|
|
51
51
|
className={classnames(styles.icon, isSelected && styles.isSelected)}
|
|
52
52
|
>
|
|
53
|
-
{isSelected && <
|
|
53
|
+
{isSelected && <Icon name="check" isPresentational />}
|
|
54
54
|
</span>
|
|
55
55
|
{/* can also be item.value since 'rendered' is defined as item.value in SelectionProvider*/}
|
|
56
56
|
{item.rendered}
|
|
@@ -11,17 +11,20 @@ $focus-ring-offset: 1px;
|
|
|
11
11
|
|
|
12
12
|
-webkit-font-smoothing: antialiased;
|
|
13
13
|
-moz-osx-font-smoothing: grayscale;
|
|
14
|
-
font-family: $typography-button-secondary-font-family;
|
|
15
|
-
font-weight: $typography-button-secondary-font-weight;
|
|
16
|
-
font-size: $typography-button-secondary-font-size;
|
|
17
|
-
line-height: $typography-button-secondary-line-height;
|
|
18
|
-
letter-spacing: $typography-button-secondary-letter-spacing;
|
|
19
14
|
position: relative;
|
|
20
|
-
|
|
15
|
+
display: inline-flex;
|
|
16
|
+
align-items: center;
|
|
17
|
+
gap: $spacing-xs;
|
|
21
18
|
border: $border-solid-border-width $border-solid-border-style;
|
|
22
19
|
border-color: $border-borderless-border-color;
|
|
23
20
|
border-radius: $border-solid-border-radius;
|
|
24
21
|
padding: $spacing-4 $spacing-8;
|
|
22
|
+
font-weight: $typography-button-secondary-font-weight;
|
|
23
|
+
font-family: $typography-button-secondary-font-family;
|
|
24
|
+
font-size: $typography-button-secondary-font-size;
|
|
25
|
+
line-height: $typography-button-secondary-line-height;
|
|
26
|
+
letter-spacing: $typography-button-secondary-letter-spacing;
|
|
27
|
+
color: $color-blue-500;
|
|
25
28
|
|
|
26
29
|
&:focus {
|
|
27
30
|
outline: none;
|
|
@@ -48,10 +51,6 @@ $focus-ring-offset: 1px;
|
|
|
48
51
|
inset: calc(-1 * #{$focus-ring-offset});
|
|
49
52
|
}
|
|
50
53
|
|
|
51
|
-
display: inline-flex;
|
|
52
|
-
gap: $spacing-xs;
|
|
53
|
-
align-items: center;
|
|
54
|
-
|
|
55
54
|
// TODO: copied from Calendar button since the design is not settled
|
|
56
55
|
&.isDisabled {
|
|
57
56
|
pointer-events: none;
|
|
@@ -198,16 +198,15 @@ describe("<FilterSelect>", () => {
|
|
|
198
198
|
it("changes the value within the button when an option is selected", async () => {
|
|
199
199
|
render(
|
|
200
200
|
<FilterSelectWrapper
|
|
201
|
-
isOpen
|
|
202
201
|
renderTrigger={(triggerButtonProps): JSX.Element => (
|
|
203
|
-
<FilterButton
|
|
202
|
+
<FilterButton {...triggerButtonProps} />
|
|
204
203
|
)}
|
|
205
204
|
/>
|
|
206
205
|
)
|
|
207
|
-
// Use testid because when the filter is open, the button is inaccessible
|
|
208
|
-
expect(screen.getByTestId("test__trigger").textContent).toBe("Coffee")
|
|
209
206
|
|
|
210
|
-
|
|
207
|
+
const button = screen.getByRole("button", { name: "Coffee" })
|
|
208
|
+
|
|
209
|
+
await user.click(button)
|
|
211
210
|
await waitFor(() => {
|
|
212
211
|
expect(screen.queryByRole("listbox")).toBeVisible()
|
|
213
212
|
})
|
|
@@ -178,6 +178,10 @@ $scene-illustration-size: 300px;
|
|
|
178
178
|
@include button-reset;
|
|
179
179
|
|
|
180
180
|
cursor: pointer;
|
|
181
|
+
position: absolute;
|
|
182
|
+
top: $spacing-sm;
|
|
183
|
+
right: $spacing-sm;
|
|
184
|
+
color: $color-purple-800;
|
|
181
185
|
|
|
182
186
|
.icon {
|
|
183
187
|
opacity: 70%;
|
|
@@ -207,11 +211,6 @@ $scene-illustration-size: 300px;
|
|
|
207
211
|
}
|
|
208
212
|
}
|
|
209
213
|
}
|
|
210
|
-
|
|
211
|
-
position: absolute;
|
|
212
|
-
top: $spacing-sm;
|
|
213
|
-
right: $spacing-sm;
|
|
214
|
-
color: $color-purple-800;
|
|
215
214
|
}
|
|
216
215
|
|
|
217
216
|
.default {
|
|
@@ -2,10 +2,10 @@ import React, { useEffect, useState } from "react"
|
|
|
2
2
|
import classNames from "classnames"
|
|
3
3
|
import Media from "react-media"
|
|
4
4
|
import { Heading, HeadingProps } from "~components/Heading"
|
|
5
|
-
import { ArrowForwardIcon } from "~components/Icon"
|
|
6
5
|
import { SceneProps, SpotProps } from "~components/Illustration"
|
|
7
6
|
import { Text } from "~components/Text"
|
|
8
7
|
import { Button, ButtonProps } from "~components/__actions__/v2"
|
|
8
|
+
import { Icon } from "~components/__future__/Icon"
|
|
9
9
|
import { Tooltip, TooltipProps } from "~components/__overlays__/Tooltip/v1"
|
|
10
10
|
import { VariantType } from "./types"
|
|
11
11
|
import styles from "./GuidanceBlock.module.scss"
|
|
@@ -223,7 +223,11 @@ export const GuidanceBlock = ({
|
|
|
223
223
|
<Button
|
|
224
224
|
icon={
|
|
225
225
|
withActionButtonArrow ? (
|
|
226
|
-
<
|
|
226
|
+
<Icon
|
|
227
|
+
name="arrow_forward"
|
|
228
|
+
isPresentational
|
|
229
|
+
shouldMirrorInRTL
|
|
230
|
+
/>
|
|
227
231
|
) : undefined
|
|
228
232
|
}
|
|
229
233
|
iconPosition="end"
|
package/src/Icon/_docs/Icon.mdx
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Canvas, Controls, Meta, Story } from "@storybook/blocks"
|
|
2
2
|
import { ResourceLinks } from "~storybook/components"
|
|
3
|
-
import * as IconStories from "./Icon.stories"
|
|
3
|
+
import * as IconStories from "./Icon.docs.stories"
|
|
4
4
|
|
|
5
5
|
<Meta of={IconStories} />
|
|
6
6
|
|
|
@@ -8,7 +8,6 @@ import * as IconStories from "./Icon.stories"
|
|
|
8
8
|
|
|
9
9
|
<ResourceLinks
|
|
10
10
|
sourceCode="https://github.com/cultureamp/kaizen-design-system/tree/main/packages/components/src/Icons"
|
|
11
|
-
|
|
12
11
|
/>
|
|
13
12
|
|
|
14
13
|
## Installation
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
pnpm svgo -f ./assets/svgs/icons -o ./src/Icon/bin/built-svgs/
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
pnpm tsx ./src/Icon/bin/wrapSVGs.ts --source-dir ./src/Icon/bin/built-svgs --output-dir ./src/Icon --delete-source-dir
|
|
6
6
|
|
|
7
7
|
pnpm prettier -w ./src/Icon
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { useState, RefObject } from "react"
|
|
2
|
-
import {
|
|
2
|
+
import { Icon } from "~components/__future__/Icon"
|
|
3
3
|
|
|
4
4
|
export type usePausePlayHook = {
|
|
5
5
|
toggle: () => void
|
|
@@ -24,10 +24,12 @@ export const usePausePlay = (
|
|
|
24
24
|
videoRef.current.pause()
|
|
25
25
|
}
|
|
26
26
|
},
|
|
27
|
-
icon:
|
|
28
|
-
<
|
|
29
|
-
|
|
30
|
-
|
|
27
|
+
icon: (
|
|
28
|
+
<Icon
|
|
29
|
+
name={isPaused ? "play_circle" : "pause"}
|
|
30
|
+
isPresentational
|
|
31
|
+
isFilled
|
|
32
|
+
/>
|
|
31
33
|
),
|
|
32
34
|
label: isPaused ? "Play animation" : "Pause animation",
|
|
33
35
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from "react"
|
|
2
2
|
import { Meta } from "@storybook/react"
|
|
3
|
-
import {
|
|
3
|
+
import { Icon } from "~components/__future__/Icon"
|
|
4
4
|
import {
|
|
5
5
|
StickerSheet,
|
|
6
6
|
StickerSheetStory,
|
|
@@ -35,16 +35,18 @@ const InputExampleGroup = (props: InputProps): JSX.Element => (
|
|
|
35
35
|
value={type}
|
|
36
36
|
type={type}
|
|
37
37
|
startIconAdornment={
|
|
38
|
-
<
|
|
39
|
-
|
|
38
|
+
<Icon
|
|
39
|
+
name="edit"
|
|
40
|
+
isPresentational
|
|
40
41
|
data-sb-a11y-color-contrast-disable={
|
|
41
42
|
props.disabled ? "true" : "false"
|
|
42
43
|
}
|
|
43
44
|
/>
|
|
44
45
|
}
|
|
45
46
|
endIconAdornment={
|
|
46
|
-
<
|
|
47
|
-
|
|
47
|
+
<Icon
|
|
48
|
+
name="close"
|
|
49
|
+
isPresentational
|
|
48
50
|
data-sb-a11y-color-contrast-disable={
|
|
49
51
|
props.disabled ? "true" : "false"
|
|
50
52
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from "react"
|
|
2
2
|
import { Meta, StoryObj } from "@storybook/react"
|
|
3
|
-
import {
|
|
3
|
+
import { Icon } from "~components/__future__/Icon"
|
|
4
4
|
import { Input } from "../index"
|
|
5
5
|
|
|
6
6
|
const meta = {
|
|
@@ -87,14 +87,16 @@ export const Icons: Story = {
|
|
|
87
87
|
<Input
|
|
88
88
|
type="text"
|
|
89
89
|
value="Start Icon"
|
|
90
|
-
startIconAdornment={
|
|
90
|
+
startIconAdornment={
|
|
91
|
+
<Icon name="person_add" isPresentational isFilled />
|
|
92
|
+
}
|
|
91
93
|
/>
|
|
92
94
|
</li>
|
|
93
95
|
<li>
|
|
94
96
|
<Input
|
|
95
97
|
type="text"
|
|
96
98
|
value="End Icon"
|
|
97
|
-
endIconAdornment={<
|
|
99
|
+
endIconAdornment={<Icon name="edit" isPresentational isFilled />}
|
|
98
100
|
/>
|
|
99
101
|
</li>
|
|
100
102
|
</ul>
|
|
@@ -74,9 +74,9 @@ input[type="range"].ratingScaleRange {
|
|
|
74
74
|
}
|
|
75
75
|
|
|
76
76
|
&::-webkit-slider-runnable-track {
|
|
77
|
-
@include track;
|
|
78
|
-
|
|
79
77
|
margin: $spacing-sm 0;
|
|
78
|
+
|
|
79
|
+
@include track;
|
|
80
80
|
}
|
|
81
81
|
|
|
82
82
|
&::-moz-range-track {
|
|
@@ -84,10 +84,10 @@ input[type="range"].ratingScaleRange {
|
|
|
84
84
|
}
|
|
85
85
|
|
|
86
86
|
&::-webkit-slider-thumb {
|
|
87
|
-
@include thumb;
|
|
88
|
-
|
|
89
87
|
-webkit-appearance: none;
|
|
90
88
|
margin-top: calc((#{$thumb-height-with-border}/ 2) * -1);
|
|
89
|
+
|
|
90
|
+
@include thumb;
|
|
91
91
|
}
|
|
92
92
|
|
|
93
93
|
&::-moz-range-thumb {
|
|
@@ -29,10 +29,6 @@ $classname--input: '.input[type="search"]';
|
|
|
29
29
|
#{$classname--input} {
|
|
30
30
|
@include form-input-reset;
|
|
31
31
|
|
|
32
|
-
@include form-input-placeholder {
|
|
33
|
-
opacity: 100%;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
32
|
display: flex;
|
|
37
33
|
align-items: center;
|
|
38
34
|
height: $input-height;
|
|
@@ -44,6 +40,10 @@ $classname--input: '.input[type="search"]';
|
|
|
44
40
|
font-size: 1rem;
|
|
45
41
|
line-height: 1.5;
|
|
46
42
|
|
|
43
|
+
@include form-input-placeholder {
|
|
44
|
+
opacity: 100%;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
47
|
&::-webkit-search-cancel-button {
|
|
48
48
|
-webkit-appearance: none;
|
|
49
49
|
}
|
|
@@ -113,14 +113,14 @@ $classname--input: '.input[type="search"]';
|
|
|
113
113
|
// Default
|
|
114
114
|
.default {
|
|
115
115
|
#{$classname--input} {
|
|
116
|
+
border-color: $color-gray-500;
|
|
117
|
+
background-color: $color-white;
|
|
118
|
+
color: $color-purple-800;
|
|
119
|
+
|
|
116
120
|
@include form-input-placeholder {
|
|
117
121
|
color: $color-purple-800;
|
|
118
122
|
opacity: $input-placeholder-opacity--default;
|
|
119
123
|
}
|
|
120
|
-
|
|
121
|
-
border-color: $color-gray-500;
|
|
122
|
-
background-color: $color-white;
|
|
123
|
-
color: $color-purple-800;
|
|
124
124
|
}
|
|
125
125
|
|
|
126
126
|
.focusRing {
|
|
@@ -135,12 +135,12 @@ $classname--input: '.input[type="search"]';
|
|
|
135
135
|
&:hover,
|
|
136
136
|
&:focus-within {
|
|
137
137
|
#{$classname--input} {
|
|
138
|
+
border-color: $color-gray-600;
|
|
139
|
+
background-color: $color-gray-200;
|
|
140
|
+
|
|
138
141
|
@include form-input-placeholder {
|
|
139
142
|
opacity: 100%;
|
|
140
143
|
}
|
|
141
|
-
|
|
142
|
-
border-color: $color-gray-600;
|
|
143
|
-
background-color: $color-gray-200;
|
|
144
144
|
}
|
|
145
145
|
|
|
146
146
|
.startIconAdornment {
|
|
@@ -152,14 +152,14 @@ $classname--input: '.input[type="search"]';
|
|
|
152
152
|
// Secondary
|
|
153
153
|
.secondary {
|
|
154
154
|
#{$classname--input} {
|
|
155
|
+
border-color: transparent;
|
|
156
|
+
background-color: $color-gray-200;
|
|
157
|
+
color: $color-purple-800;
|
|
158
|
+
|
|
155
159
|
@include form-input-placeholder {
|
|
156
160
|
color: $color-purple-800;
|
|
157
161
|
opacity: $input-placeholder-opacity--default;
|
|
158
162
|
}
|
|
159
|
-
|
|
160
|
-
border-color: transparent;
|
|
161
|
-
background-color: $color-gray-200;
|
|
162
|
-
color: $color-purple-800;
|
|
163
163
|
}
|
|
164
164
|
|
|
165
165
|
.focusRing {
|
|
@@ -174,12 +174,12 @@ $classname--input: '.input[type="search"]';
|
|
|
174
174
|
&:hover,
|
|
175
175
|
&:focus-within {
|
|
176
176
|
#{$classname--input} {
|
|
177
|
+
border-color: transparent;
|
|
178
|
+
background-color: $color-gray-300;
|
|
179
|
+
|
|
177
180
|
@include form-input-placeholder {
|
|
178
181
|
opacity: 100%;
|
|
179
182
|
}
|
|
180
|
-
|
|
181
|
-
border-color: transparent;
|
|
182
|
-
background-color: $color-gray-300;
|
|
183
183
|
}
|
|
184
184
|
|
|
185
185
|
.startIconAdornment {
|
|
@@ -191,13 +191,13 @@ $classname--input: '.input[type="search"]';
|
|
|
191
191
|
// Reversed
|
|
192
192
|
.reversed {
|
|
193
193
|
#{$classname--input} {
|
|
194
|
+
background: rgba($color-white-rgb, 0.1);
|
|
195
|
+
color: $color-white;
|
|
196
|
+
|
|
194
197
|
@include form-input-placeholder {
|
|
195
198
|
color: $color-white;
|
|
196
199
|
opacity: $input-placeholder-opacity--reversed;
|
|
197
200
|
}
|
|
198
|
-
|
|
199
|
-
background: rgba($color-white-rgb, 0.1);
|
|
200
|
-
color: $color-white;
|
|
201
201
|
}
|
|
202
202
|
|
|
203
203
|
.focusRing {
|
|
@@ -2,8 +2,8 @@ import React, { InputHTMLAttributes, useRef } from "react"
|
|
|
2
2
|
import { useIntl } from "@cultureamp/i18n-react-intl"
|
|
3
3
|
import classnames from "classnames"
|
|
4
4
|
import { ClearButton } from "~components/ClearButton"
|
|
5
|
-
import { SearchIcon } from "~components/Icon/SearchIcon"
|
|
6
5
|
import { LoadingSpinner } from "~components/Loading"
|
|
6
|
+
import { Icon } from "~components/__future__/Icon"
|
|
7
7
|
import { OverrideClassName } from "~components/types/OverrideClassName"
|
|
8
8
|
import styles from "./InputSearch.module.scss"
|
|
9
9
|
|
|
@@ -63,7 +63,7 @@ export const InputSearch = (props: InputSearchProps): JSX.Element => {
|
|
|
63
63
|
classNameOverride={styles.loadingSpinner}
|
|
64
64
|
/>
|
|
65
65
|
) : (
|
|
66
|
-
<
|
|
66
|
+
<Icon name="search" isPresentational />
|
|
67
67
|
)}
|
|
68
68
|
</div>
|
|
69
69
|
|
|
@@ -170,6 +170,13 @@ $blue-fifth: $color-blue-500;
|
|
|
170
170
|
.likertItem {
|
|
171
171
|
margin-right: 2px;
|
|
172
172
|
margin-left: 2px;
|
|
173
|
+
font-size: 1px;
|
|
174
|
+
line-height: 1;
|
|
175
|
+
padding: 0;
|
|
176
|
+
overflow-x: visible;
|
|
177
|
+
display: inline-block;
|
|
178
|
+
width: 18.5%; // 5 columns
|
|
179
|
+
position: relative;
|
|
173
180
|
|
|
174
181
|
&[dir="rtl"],
|
|
175
182
|
[dir="rtl"] & {
|
|
@@ -184,14 +191,6 @@ $blue-fifth: $color-blue-500;
|
|
|
184
191
|
|
|
185
192
|
@include fill($block-height);
|
|
186
193
|
|
|
187
|
-
font-size: 1px;
|
|
188
|
-
line-height: 1;
|
|
189
|
-
padding: 0;
|
|
190
|
-
overflow-x: visible;
|
|
191
|
-
display: inline-block;
|
|
192
|
-
width: 18.5%; // 5 columns
|
|
193
|
-
position: relative;
|
|
194
|
-
|
|
195
194
|
&:first-child {
|
|
196
195
|
margin-right: 2px;
|
|
197
196
|
margin-left: 0;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React, { createRef, useState } from "react"
|
|
2
2
|
import classnames from "classnames"
|
|
3
3
|
import { FieldMessage } from "~components/FieldMessage"
|
|
4
|
-
import { CheckIcon } from "~components/Icon"
|
|
5
4
|
import { Text } from "~components/Text"
|
|
5
|
+
import { Icon } from "~components/__future__/Icon"
|
|
6
6
|
import { ScaleValue, Scale, ScaleItem, ColorSchema } from "./types"
|
|
7
7
|
import determineSelectionFromKeyPress from "./utils/determineSelectionFromKeyPress"
|
|
8
8
|
import styles from "./LikertScaleLegacy.module.scss"
|
|
@@ -29,7 +29,7 @@ export type LikertScaleProps = {
|
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
const SelectedItemIcon = (): JSX.Element => (
|
|
32
|
-
<
|
|
32
|
+
<Icon name="check" isPresentational className={styles.check} />
|
|
33
33
|
)
|
|
34
34
|
|
|
35
35
|
/**
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React from "react"
|
|
2
2
|
import { Meta, StoryObj } from "@storybook/react"
|
|
3
3
|
import { Avatar } from "~components/Avatar"
|
|
4
|
-
import { ConfigureIcon } from "~components/Icon"
|
|
5
4
|
import { BrandMomentPositiveOutro, Informative } from "~components/Illustration"
|
|
5
|
+
import { Icon } from "~components/__future__/Icon"
|
|
6
6
|
import { StickerSheet } from "~storybook/components/StickerSheet"
|
|
7
7
|
import { LoadingGraphic } from "../index"
|
|
8
8
|
|
|
@@ -49,7 +49,7 @@ export const Size: Story = {
|
|
|
49
49
|
<StickerSheet.Body>
|
|
50
50
|
<StickerSheet.Row rowTitle="Icon (small)">
|
|
51
51
|
<LoadingGraphic size="small" />
|
|
52
|
-
<
|
|
52
|
+
<Icon name="build" alt="Aliens approaching!" isFilled />
|
|
53
53
|
</StickerSheet.Row>
|
|
54
54
|
<StickerSheet.Row rowTitle="Avatar (medium)">
|
|
55
55
|
<LoadingGraphic size="medium" />
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
.loadingSpinner {
|
|
2
|
+
--loading-spinner-size: 48px;
|
|
3
|
+
|
|
4
|
+
display: flex;
|
|
5
|
+
width: var(--loading-spinner-size);
|
|
6
|
+
height: var(--loading-spinner-size);
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.xs {
|
|
10
|
+
--loading-spinner-size: 16px;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.sm {
|
|
14
|
+
--loading-spinner-size: 24px;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.md {
|
|
18
|
+
--loading-spinner-size: 48px;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.spinner {
|
|
22
|
+
animation: spinner var(--animation-duration-deliberate)
|
|
23
|
+
var(--animation-easing-function-ease-in-out) infinite;
|
|
24
|
+
width: 100%;
|
|
25
|
+
height: 100%;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
@keyframes spinner {
|
|
29
|
+
100% {
|
|
30
|
+
transform: rotate(360deg);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -2,14 +2,15 @@ import React, { HTMLAttributes } from "react"
|
|
|
2
2
|
import classnames from "classnames"
|
|
3
3
|
import { VisuallyHidden } from "~components/VisuallyHidden"
|
|
4
4
|
import { OverrideClassName } from "~components/types/OverrideClassName"
|
|
5
|
-
import
|
|
5
|
+
import { SpinnerIcon } from "./subcomponents"
|
|
6
|
+
import styles from "./LoadingSpinner.module.css"
|
|
6
7
|
|
|
7
8
|
export type LoadingSpinnerProps = {
|
|
8
9
|
accessibilityLabel: string
|
|
9
10
|
/**
|
|
10
|
-
* Generally use "md" unless spinner is inside a form field
|
|
11
|
+
* Generally use "md" unless spinner is inside a form field. @default "md"
|
|
11
12
|
*/
|
|
12
|
-
size?: "sm" | "md"
|
|
13
|
+
size?: "xs" | "sm" | "md"
|
|
13
14
|
} & OverrideClassName<Omit<HTMLAttributes<HTMLDivElement>, "children">>
|
|
14
15
|
|
|
15
16
|
/**
|
|
@@ -23,61 +24,16 @@ export const LoadingSpinner = ({
|
|
|
23
24
|
...props
|
|
24
25
|
}: LoadingSpinnerProps): JSX.Element => (
|
|
25
26
|
<div
|
|
26
|
-
|
|
27
|
-
|
|
27
|
+
className={classnames(
|
|
28
|
+
styles.loadingSpinner,
|
|
29
|
+
styles[size],
|
|
30
|
+
classNameOverride
|
|
31
|
+
)}
|
|
28
32
|
role="status"
|
|
29
33
|
{...props}
|
|
30
34
|
>
|
|
31
35
|
<VisuallyHidden>{accessibilityLabel}</VisuallyHidden>
|
|
32
|
-
{size
|
|
33
|
-
<svg
|
|
34
|
-
className={styles.spinner}
|
|
35
|
-
aria-hidden="true"
|
|
36
|
-
viewBox="0 0 48 48"
|
|
37
|
-
width={48} // Ideally we'd use spacing tokens converted to unitless values
|
|
38
|
-
fill="none"
|
|
39
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
40
|
-
>
|
|
41
|
-
<circle
|
|
42
|
-
cx="24"
|
|
43
|
-
cy="24"
|
|
44
|
-
r="22.5"
|
|
45
|
-
stroke="currentColor"
|
|
46
|
-
strokeWidth="3"
|
|
47
|
-
strokeOpacity="0.3"
|
|
48
|
-
/>
|
|
49
|
-
<path
|
|
50
|
-
fillRule="evenodd"
|
|
51
|
-
clipRule="evenodd"
|
|
52
|
-
fill="currentColor"
|
|
53
|
-
d="M46.5 24c.8284 0 1.5049-.6734 1.4539-1.5002C47.21 10.44 37.5601.789989 25.5003.0461639 24.6734-.004835 24 .671607 24 1.50003c0 .82843.6738 1.49444 1.5002 1.55277 10.4023.73424 18.7128 9.0447 19.447 19.447C45.0056 23.3262 45.6716 24 46.5 24z"
|
|
54
|
-
/>
|
|
55
|
-
</svg>
|
|
56
|
-
) : (
|
|
57
|
-
<svg
|
|
58
|
-
className={styles.spinner}
|
|
59
|
-
aria-hidden="true"
|
|
60
|
-
viewBox="0 0 24 24"
|
|
61
|
-
width={24} // Ideally we'd use spacing tokens converted to unitless values
|
|
62
|
-
fill="none"
|
|
63
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
64
|
-
>
|
|
65
|
-
<circle
|
|
66
|
-
cx="12"
|
|
67
|
-
cy="12"
|
|
68
|
-
r="9"
|
|
69
|
-
stroke="currentColor"
|
|
70
|
-
strokeWidth="2"
|
|
71
|
-
strokeOpacity="0.3"
|
|
72
|
-
/>
|
|
73
|
-
<path
|
|
74
|
-
fillRule="evenodd"
|
|
75
|
-
clipRule="evenodd"
|
|
76
|
-
fill="currentColor"
|
|
77
|
-
d="M21.0564 13c.5076 0 .9377-.3851.9431-.8926.0004-.0358.0005-.0716.0005-.1074 0-5.52285-4.4771-10-10-10-.0359 0-.0718.00019-.1076.00057-.5076.00535-.8926.43552-.8926.94308v.11543C10.9998 3.59163 11.4675 4 12 4c4.4183 0 8 3.58172 8 8 0 .5324.4083 1 .9407 1h.1157z"
|
|
78
|
-
/>
|
|
79
|
-
</svg>
|
|
80
|
-
)}
|
|
36
|
+
<SpinnerIcon size={size} />
|
|
81
37
|
</div>
|
|
82
38
|
)
|
|
83
39
|
|
|
@@ -31,12 +31,17 @@ When inside a button, it is intended to have the same color as the label text.
|
|
|
31
31
|
|
|
32
32
|
### ClassNameOverride
|
|
33
33
|
|
|
34
|
-
Override styles such as the colour of the spinner using `classNameOverride`.
|
|
34
|
+
Override styles, such as the colour of the spinner using `classNameOverride`.
|
|
35
35
|
|
|
36
36
|
<Canvas of={LoadingSpinnerStories.ClassNameOverride} />
|
|
37
37
|
|
|
38
|
+
Below is an example of how to apply the current color tokens used in designs.
|
|
39
|
+
|
|
40
|
+
<Canvas of={LoadingSpinnerStories.Colors} />
|
|
41
|
+
|
|
38
42
|
### Size
|
|
39
43
|
|
|
40
|
-
Generally use `"md"` (default value) unless spinner is inside a form field.
|
|
44
|
+
Generally use `"md"` (default value) unless spinner is inside a form field, in which case use `sm`. The `xs` size is for buttons or content dense layouts.
|
|
41
45
|
|
|
42
46
|
<Canvas of={LoadingSpinnerStories.Size} />
|
|
47
|
+
|
|
@@ -18,10 +18,11 @@ const StickerSheetTemplate: StickerSheetStory = {
|
|
|
18
18
|
render: ({ isReversed }) => (
|
|
19
19
|
<StickerSheet isReversed={isReversed}>
|
|
20
20
|
<StickerSheet.Header
|
|
21
|
-
headings={['Size "sm"', 'Size "md"', "Custom
|
|
21
|
+
headings={['Size "xs"', 'Size "sm"', 'Size "md"', "Custom color"]}
|
|
22
22
|
/>
|
|
23
23
|
<StickerSheet.Body>
|
|
24
24
|
<StickerSheet.Row>
|
|
25
|
+
<LoadingSpinner accessibilityLabel="Loading" size="xs" />
|
|
25
26
|
<LoadingSpinner accessibilityLabel="Loading" size="sm" />
|
|
26
27
|
<LoadingSpinner accessibilityLabel="Loading" size="md" />
|
|
27
28
|
<LoadingSpinner
|