@stihl-design-system/components 1.0.0-RC.4 → 1.0.0-RC.40
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/Klarna.svg +1 -0
- package/Mastercard.svg +2 -0
- package/Notification-additional-information.jpeg +0 -0
- package/Notification-confirm-error.jpg +0 -0
- package/Notification-confirm-warn.jpeg +0 -0
- package/Notification-overview.jpeg +0 -0
- package/Notification-success.jpeg +0 -0
- package/PayPal.svg +2 -0
- package/Placeholder.svg +1 -0
- package/README.md +2 -11
- package/Visa.svg +2 -0
- package/accordion.d.ts +2 -0
- package/accordion.nt0Foequ.js +12 -0
- package/actionbutton.Ctea6drN.js +12 -0
- package/actionbutton.d.ts +2 -0
- package/actionlink.VX1OMtm-.js +12 -0
- package/actionlink.d.ts +2 -0
- package/arialiveregions.B0AV2JcV.js +18 -0
- package/arialiveregions.d.ts +1 -0
- package/assets/Accordion.Cr1dbVTH.css +1 -0
- package/assets/ActionButton.BLOWs6IZ.css +1 -0
- package/assets/ActionLink.BJDUVdT7.css +1 -0
- package/assets/Breadcrumb.BavNNzAA.css +1 -0
- package/assets/Button.C-UYIggc.css +1 -0
- package/assets/Checkbox.ZAPIO2N8.css +1 -0
- package/assets/CheckboxGroup.Dd-Huo7x.css +1 -0
- package/assets/Chip.D3vV0wyV.css +1 -0
- package/assets/CustomReactSelect.Ctze4SRN.css +1 -0
- package/assets/Dialog.DyiHUgTp.css +1 -0
- package/assets/Drawer.UugEajR2.css +1 -0
- package/assets/Fieldset.DmxbjOm1.css +1 -0
- package/assets/Header.BNYL2Y78.css +1 -0
- package/assets/Icon.i2P_Jf3Q.css +1 -0
- package/assets/InputFile.BUMCNCrj.css +1 -0
- package/assets/InputNumber.Bmz8cNKg.css +1 -0
- package/assets/InputPassword.CutbykTm.css +1 -0
- package/assets/InputSearch.Sr9jVpKt.css +1 -0
- package/assets/LinkButton.BEbmxP7h.css +1 -0
- package/assets/LinkCard.C6HtgbjH.css +1 -0
- package/assets/MegaMenu.Dw-oLSCX.css +1 -0
- package/assets/NavigationTabList.CzAiHz7G.css +1 -0
- package/assets/Notification.DBGpHzov.css +1 -0
- package/assets/Popover.mL5g23EK.css +1 -0
- package/assets/RadioGroup.q1lQ-HIZ.css +1 -0
- package/assets/Select.BZYb_HAG.css +1 -0
- package/assets/Slider.vnSU0ya0.css +1 -0
- package/assets/Stepper.tXJl15yL.css +1 -0
- package/assets/SystemFeedback.PKzqnXUe.css +1 -0
- package/assets/TextUtility.CEBJaKBG.css +1 -0
- package/assets/Textarea.BIgA9_fl.css +1 -0
- package/assets/Toast.DgRXxA0s.css +1 -0
- package/assets/arialiveregions.e0Q16ZWi.css +1 -0
- package/assets/asterisk.B41DaZDe.css +1 -0
- package/assets/banner.DFvdtgMp.css +1 -0
- package/assets/buttonround.BTC-HthI.css +1 -0
- package/assets/chipgroup.BGxjdSDX.css +1 -0
- package/assets/filelist.H_wKcSPX.css +1 -0
- package/assets/flag.CyCIPu_J.css +1 -0
- package/assets/floatingactionbutton.CTbMRM9Q.css +1 -0
- package/assets/heading.mGwg9pVU.css +1 -0
- package/assets/input.BEOus9jX.css +1 -0
- package/assets/link.BemYqm4d.css +1 -0
- package/assets/logo.SVrBe1T8.css +1 -0
- package/assets/logo100years.CQrEg-Vo.css +1 -0
- package/assets/numberindicator.BYIPwkAK.css +1 -0
- package/assets/optioncheckbox.6zYgifUk.css +1 -0
- package/assets/radio.l9OTraQU.css +1 -0
- package/assets/scroller.BGlPnnPD.css +1 -0
- package/assets/skiptocontent.CTSDC_kG.css +1 -0
- package/assets/spinner.C7QSv7jc.css +1 -0
- package/assets/step.Ch508u7I.css +1 -0
- package/assets/switch.DYamtd9O.css +1 -0
- package/assets/tabpane.o34hshTz.css +1 -0
- package/assets/text.BA1eUihR.css +1 -0
- package/assets/title.N-QcA7Re.css +1 -0
- package/assets/tooltip.BPcysHGE.css +1 -0
- package/asterisk.Dwtdwpkq.js +13 -0
- package/asterisk.d.ts +1 -0
- package/banner.S_c1UQJe.js +55 -0
- package/banner.d.ts +2 -0
- package/breadcrumb.DiuuVblR.js +11 -0
- package/breadcrumb.d.ts +2 -0
- package/button.Z7Mmvwhv.js +12 -0
- package/button.d.ts +1 -0
- package/buttonround.Bqi8Ej-y.js +96 -0
- package/buttonround.d.ts +1 -0
- package/card-example-image-1.webp +0 -0
- package/card-example-image-2.webp +0 -0
- package/card-example-image-3.webp +0 -0
- package/card-example-image-4.webp +0 -0
- package/card-example-image-5.webp +0 -0
- package/card-example-image-6.webp +0 -0
- package/card-example-image-7.webp +0 -0
- package/card-example-image-8.webp +0 -0
- package/card-example-image-square.webp +0 -0
- package/card-example-image.webp +0 -0
- package/checkbox.DtSSduSH.js +12 -0
- package/checkbox.d.ts +1 -0
- package/checkboxgroup.CSP1DOCW.js +9 -0
- package/checkboxgroup.d.ts +1 -0
- package/chip.CyypeY5M.js +12 -0
- package/chip.d.ts +2 -0
- package/chipgroup.d.ts +2 -0
- package/chipgroup.i5SOv6LA.js +199 -0
- package/chunks/Accordion.B-0pf8Fq.js +168 -0
- package/chunks/ActionButton.wdWh7E2b.js +182 -0
- package/chunks/ActionLink.DwUP-Kgm.js +155 -0
- package/chunks/AriaLiveRegions.utils.CLpOaVD9.js +27 -0
- package/chunks/Breadcrumb.nflDJoKs.js +103 -0
- package/chunks/Button.DpGeheky.js +139 -0
- package/chunks/Checkbox.B3NeB54s.js +88 -0
- package/chunks/CheckboxGroup.BYZSvqF7.js +74 -0
- package/chunks/Chip.SiGIIHR-.js +133 -0
- package/chunks/CustomReactSelect.DBsnmMPl.js +3379 -0
- package/chunks/Dialog.C-rcs_Up.js +102 -0
- package/chunks/Drawer.D0d557c5.js +107 -0
- package/chunks/Fieldset.7WM7w62l.js +81 -0
- package/chunks/Header.DyqOlV8L.js +402 -0
- package/chunks/Icon.m6sMB6vl.js +232 -0
- package/chunks/Input.utils.D78E4MGO.js +59 -0
- package/chunks/InputFile.DRGNdtY0.js +236 -0
- package/chunks/InputNumber.a44HnJ9B.js +240 -0
- package/chunks/InputPassword.B1E0Maub.js +121 -0
- package/chunks/InputSearch.C7AvD7Eu.js +149 -0
- package/chunks/LinkButton.CMjq2FKc.js +140 -0
- package/chunks/LinkCard.CJ5P0ews.js +199 -0
- package/chunks/MegaMenu.CiSiMlE3.js +188 -0
- package/chunks/NavigationTabList.C2f-lWex.js +67 -0
- package/chunks/NavigationTabs.D2QrnlL2.js +62 -0
- package/chunks/Notification.COwLndR0.js +91 -0
- package/chunks/Popover.C5wtha5l.js +214 -0
- package/chunks/RadioGroup.B-qTH31u.js +125 -0
- package/chunks/Select.DrDVi9lg.js +147 -0
- package/chunks/Slider.DGMrDfWv.js +306 -0
- package/chunks/Stepper.DptsFh5n.js +152 -0
- package/chunks/SystemFeedback.DFN6Y2cw.js +38 -0
- package/chunks/TabPane.utils.DG16Y2uD.js +10 -0
- package/chunks/Tabs.2JTenRcr.js +83 -0
- package/chunks/Text.utils.D_iOyOSH.js +11 -0
- package/chunks/TextUtility.Wbd4oQXI.js +82 -0
- package/chunks/Textarea.ymNCbcvH.js +181 -0
- package/chunks/Toast.RUzRjojQ.js +76 -0
- package/chunks/accessibility.B57oX4yV.js +10 -0
- package/chunks/{arrow-clockwise.BefOjGPg.js → arrow-clockwise.C4iOgjOc.js} +1 -1
- package/chunks/{arrow-counterclockwise.C7Ov32BZ.js → arrow-counterclockwise.CgQAuBUe.js} +1 -1
- package/chunks/battery-charge-0.DxlgEAto.js +10 -0
- package/chunks/battery-charge-100.D0Cax7dU.js +10 -0
- package/chunks/{battery.YCg9lYqC.js → battery.6Idoickg.js} +3 -3
- package/chunks/bluetooth-off.BzZCh4Q8.js +10 -0
- package/chunks/caret-down.CupuwAF6.js +10 -0
- package/chunks/caret-right.DKtu4PQe.js +10 -0
- package/chunks/{circle-check-colored.Bye_GwLy.js → circle-check-colored.qP2s3vjI.js} +1 -1
- package/chunks/collapse.Dvv3mgkv.js +10 -0
- package/chunks/connected-icon.BEijTRDG.js +10 -0
- package/chunks/default-icon.D_-oBHyT.js +10 -0
- package/chunks/{diamond-exclamationmark-colored.WNKYwZ8q.js → diamond-exclamationmark-colored.CzYiaTZ0.js} +1 -1
- package/chunks/document-magnifying-glass.DkvpNz-D.js +10 -0
- package/chunks/document-s.CoOp0kBK.js +10 -0
- package/chunks/feather.l1E4nFBx.js +10 -0
- package/chunks/file-type-doc.B_RSSYbu.js +10 -0
- package/chunks/file-type-image.Cg2NRd7y.js +10 -0
- package/chunks/file-type-pdf.Dm94xL2i.js +10 -0
- package/chunks/{map.CXgG1iGz.js → file-type-video.CFwfiP-D.js} +1 -1
- package/chunks/file-type-zip.SNixmKhQ.js +10 -0
- package/chunks/file.DLgRXiem.js +10 -0
- package/chunks/floating-ui.react.CP5A99-c.js +2980 -0
- package/chunks/has-window.ut_-aShB.js +5 -0
- package/chunks/helpers.CexwVao7.js +38 -0
- package/chunks/imow-icon.CyH72ySI.js +10 -0
- package/chunks/index.DQOqod3i.js +43 -0
- package/chunks/index.cKLI89Eg.js +281 -0
- package/chunks/is-animation-disabled.B-V_68K-.js +20 -0
- package/chunks/map.DNl7PF61.js +10 -0
- package/chunks/moon.5yILPYXs.js +10 -0
- package/chunks/muscle.DbNjWasV.js +10 -0
- package/chunks/mystihl-icon.xHpCyYJf.js +10 -0
- package/chunks/petrol.BGWwCsTw.js +10 -0
- package/chunks/sun.CY6ttzTL.js +10 -0
- package/chunks/tiktok.BWJTDGYm.js +10 -0
- package/chunks/translate.nuU7uChI.js +8 -0
- package/chunks/{triangle-exclamationmark-colored.CbVC3Gzi.js → triangle-exclamationmark-colored.e93zvQ6Q.js} +1 -1
- package/chunks/twitch.C893cAK8.js +10 -0
- package/chunks/upload.BogDfonx.js +10 -0
- package/chunks/useBreakpoint.1txsny17.js +45 -0
- package/chunks/useIsomorphicLayoutEffect.CnJ9AMFS.js +7 -0
- package/chunks/variants.-R3_RCW8.js +10 -0
- package/chunks/weight.DUPu2UT0.js +10 -0
- package/combobox.DzSEFo_5.js +69 -0
- package/combobox.d.ts +1 -0
- package/components/Accordion/Accordion.d.ts +43 -0
- package/components/Accordion/Accordion.utils.d.ts +16 -0
- package/components/ActionButton/ActionButton.d.ts +63 -0
- package/components/ActionButton/ActionButton.utils.d.ts +22 -0
- package/components/ActionLink/ActionLink.d.ts +38 -0
- package/components/ActionLink/ActionLink.test.d.ts +1 -0
- package/components/ActionLink/ActionLink.utils.d.ts +19 -0
- package/components/ActionLink/ActionLink.utils.test.d.ts +1 -0
- package/components/AriaLiveRegions/AriaLiveRegions.d.ts +1 -0
- package/components/AriaLiveRegions/AriaLiveRegions.utils.d.ts +2 -2
- package/components/Asterisk/Asterisk.d.ts +1 -0
- package/components/Banner/Banner.d.ts +32 -0
- package/components/Banner/Banner.test.d.ts +1 -0
- package/components/Banner/Banner.utils.d.ts +2 -0
- package/components/Breadcrumb/Breadcrumb.d.ts +45 -0
- package/components/Breadcrumb/Breadcrumb.test.d.ts +1 -0
- package/components/Breadcrumb/Breadcrumb.utils.d.ts +4 -0
- package/components/Button/Button.d.ts +41 -16
- package/components/Button/Button.utils.d.ts +17 -1
- package/components/Button/Button.utils.test.d.ts +1 -0
- package/components/ButtonRound/ButtonRound.d.ts +12 -3
- package/components/Checkbox/Checkbox.d.ts +25 -9
- package/components/Checkbox/Checkbox.utils.d.ts +11 -0
- package/components/Checkbox/Checkbox.utils.test.d.ts +1 -0
- package/components/CheckboxGroup/CheckboxGroup.d.ts +34 -14
- package/components/CheckboxGroup/CheckboxGroup.utils.d.ts +0 -1
- package/components/ChipGroup/Chip.d.ts +13 -0
- package/components/ChipGroup/ChipGroup.d.ts +48 -0
- package/components/ChipGroup/ChipGroup.test.d.ts +1 -0
- package/components/ChipGroup/ChipGroup.utils.d.ts +58 -0
- package/components/ChipGroup/ChipGroup.utils.test.d.ts +1 -0
- package/components/Combobox/Combobox.d.ts +27 -6
- package/components/Combobox/Combobox.utils.d.ts +14 -7
- package/components/Combobox/CustomReactSelect/CustomReactSelect.d.ts +88 -0
- package/components/Combobox/CustomReactSelect/CustomReactSelect.utils.d.ts +3 -0
- package/components/Combobox/CustomReactSelect/CustomReactSelect.utils.test.d.ts +1 -0
- package/components/{CustomReactSelect → Combobox/CustomReactSelect}/OptionCheckbox.d.ts +1 -2
- package/components/Dialog/Dialog.d.ts +40 -6
- package/components/Dialog/Dialog.test.d.ts +1 -0
- package/components/Dialog/Dialog.utils.d.ts +11 -0
- package/components/Dialog/Dialog.utils.test.d.ts +1 -0
- package/components/Drawer/Drawer.d.ts +49 -0
- package/components/Drawer/Drawer.test.d.ts +1 -0
- package/components/Drawer/Drawer.utils.d.ts +13 -0
- package/components/Drawer/Drawer.utils.test.d.ts +1 -0
- package/components/Fieldset/Fieldset.d.ts +29 -10
- package/components/Fieldset/Fieldset.utils.d.ts +7 -1
- package/components/FileList/FileList.d.ts +13 -0
- package/components/FileList/FileList.test.d.ts +1 -0
- package/components/FileList/FileList.utils.d.ts +18 -0
- package/components/FileList/FileList.utils.test.d.ts +1 -0
- package/components/Flag/Flag.d.ts +26 -0
- package/components/Flag/Flag.test.d.ts +1 -0
- package/components/Flag/Flag.utils.d.ts +2 -0
- package/components/FloatingActionButton/FloatingActionButton.d.ts +8 -2
- package/components/Header/Header.d.ts +67 -0
- package/components/Header/Header.utils.d.ts +17 -0
- package/components/Header/Header.utils.test.d.ts +1 -0
- package/components/Heading/Heading.d.ts +13 -6
- package/components/Icon/Icon.d.ts +14 -7
- package/components/Icon/Icon.utils.d.ts +1 -2
- package/components/Input/Input.d.ts +69 -25
- package/components/Input/Input.utils.d.ts +5 -6
- package/components/InputFile/InputFile.d.ts +104 -0
- package/components/InputFile/InputFile.test.d.ts +1 -0
- package/components/InputFile/InputFile.utils.d.ts +48 -0
- package/components/InputFile/InputFile.utils.test.d.ts +1 -0
- package/components/InputNumber/InputNumber.d.ts +110 -0
- package/components/InputNumber/InputNumber.test.d.ts +1 -0
- package/components/InputNumber/InputNumber.utils.d.ts +13 -0
- package/components/InputNumber/InputNumber.utils.test.d.ts +1 -0
- package/components/InputPassword/InputPassword.d.ts +56 -18
- package/components/InputPassword/InputPassword.utils.d.ts +2 -3
- package/components/InputSearch/InputSearch.d.ts +55 -18
- package/components/InputSearch/InputSearch.utils.d.ts +2 -3
- package/components/Link/Link.d.ts +11 -43
- package/components/Link/Link.utils.d.ts +2 -8
- package/components/LinkButton/LinkButton.d.ts +71 -0
- package/components/LinkButton/LinkButton.test.d.ts +1 -0
- package/components/LinkButton/LinkButton.utils.d.ts +24 -0
- package/components/LinkButton/LinkButton.utils.test.d.ts +1 -0
- package/components/LinkCard/LinkCard.d.ts +96 -0
- package/components/LinkCard/LinkCard.test.d.ts +1 -0
- package/components/LinkCard/LinkCard.utils.d.ts +10 -0
- package/components/LinkCard/LinkCard.utils.test.d.ts +1 -0
- package/components/Logo/Logo.d.ts +18 -10
- package/components/Logo/Logo.test.d.ts +1 -0
- package/components/Logo/Logo.utils.d.ts +2 -2
- package/components/Logo100Years/Logo100Years.d.ts +1 -0
- package/components/MegaMenu/MegaMenu.d.ts +32 -0
- package/components/MegaMenu/MegaMenu.test.d.ts +1 -0
- package/components/MegaMenu/MegaMenu.utils.d.ts +52 -0
- package/components/MegaMenu/MegaMenu.utils.test.d.ts +1 -0
- package/components/NavigationTabs/NavigationTabs.d.ts +43 -0
- package/components/NavigationTabs/NavigationTabs.test.d.ts +1 -0
- package/components/NavigationTabs/NavigationTabs.utils.d.ts +6 -0
- package/components/Notification/Notification.d.ts +25 -11
- package/components/Notification/Notification.utils.d.ts +0 -1
- package/components/NumberIndicator/NumberIndicator.d.ts +13 -0
- package/components/NumberIndicator/NumberIndicator.test.d.ts +1 -0
- package/components/NumberIndicator/NumberIndicator.utils.d.ts +2 -0
- package/components/Popover/Popover.d.ts +62 -0
- package/components/Popover/Popover.test.d.ts +1 -0
- package/components/Popover/Popover.utils.d.ts +84 -0
- package/components/Popover/Popover.utils.test.d.ts +1 -0
- package/components/Radio/Radio.d.ts +32 -14
- package/components/RadioGroup/RadioGroup.d.ts +43 -20
- package/components/RadioGroup/RadioGroup.utils.d.ts +6 -4
- package/components/RadioGroup/RadioGroup.utils.test.d.ts +1 -0
- package/components/Scroller/Scroller.d.ts +24 -0
- package/components/Scroller/Scroller.test.d.ts +1 -0
- package/components/Scroller/Scroller.utils.d.ts +3 -0
- package/components/Select/Select.d.ts +37 -13
- package/components/Select/Select.utils.d.ts +2 -3
- package/components/SkipToContent/SkipToContent.d.ts +19 -0
- package/components/SkipToContent/SkipToContent.test.d.ts +1 -0
- package/components/Slider/Slider.d.ts +76 -0
- package/components/Slider/Slider.test.d.ts +1 -0
- package/components/Slider/Slider.utils.d.ts +65 -0
- package/components/Slider/Slider.utils.test.d.ts +1 -0
- package/components/Spinner/Spinner.d.ts +14 -5
- package/components/Stepper/Step.d.ts +33 -0
- package/components/Stepper/Step.utils.d.ts +5 -0
- package/components/Stepper/Stepper.d.ts +56 -0
- package/components/Stepper/Stepper.test.d.ts +1 -0
- package/components/Stepper/Stepper.utils.d.ts +30 -0
- package/components/Stepper/Stepper.utils.test.d.ts +1 -0
- package/components/Switch/Switch.d.ts +23 -12
- package/components/SystemFeedback/SystemFeedback.d.ts +16 -7
- package/components/SystemFeedback/SystemFeedback.utils.d.ts +4 -7
- package/components/Tabs/TabList/NavigationTabList/NavigationTabList.d.ts +22 -0
- package/components/Tabs/TabList/TabList.d.ts +38 -0
- package/components/Tabs/TabList/TabList.utils.d.ts +2 -0
- package/components/Tabs/TabPane/TabPane.d.ts +10 -0
- package/components/Tabs/TabPane/TabPane.utils.d.ts +3 -0
- package/components/Tabs/TabPane/TabPane.utils.test.d.ts +1 -0
- package/components/Tabs/Tabs.d.ts +51 -0
- package/components/Tabs/Tabs.test.d.ts +1 -0
- package/components/Tabs/Tabs.utils.d.ts +6 -0
- package/components/Text/Text.d.ts +19 -10
- package/components/Text/Text.utils.d.ts +14 -1
- package/components/TextUtility/TextUtility.d.ts +30 -0
- package/components/TextUtility/TextUtility.test.d.ts +1 -0
- package/components/TextUtility/TextUtility.utils.d.ts +10 -0
- package/components/TextUtility/TextUtility.utils.test.d.ts +1 -0
- package/components/Textarea/Textarea.d.ts +47 -16
- package/components/Textarea/Textarea.utils.d.ts +2 -3
- package/components/Title/Title.d.ts +13 -6
- package/components/Toast/Toast.d.ts +28 -7
- package/components/Toast/Toast.utils.d.ts +19 -1
- package/components/Toast/ToastManager.d.ts +7 -4
- package/components/Tooltip/Tooltip.d.ts +40 -0
- package/components/Tooltip/Tooltip.test.d.ts +1 -0
- package/components/Tooltip/Tooltip.utils.d.ts +70 -0
- package/components/Tooltip/Tooltip.utils.test.d.ts +1 -0
- package/components/TopBar/TopBar.d.ts +54 -0
- package/components/TopBar/TopBar.utils.d.ts +14 -0
- package/components/TopBar/TopBar.utils.test.d.ts +1 -0
- package/connected-icon.svg +1 -0
- package/customreactselect.D7YraWJ7.js +15 -0
- package/customreactselect.d.ts +2 -1
- package/dialog.CBovd8em.js +9 -0
- package/dialog.d.ts +1 -0
- package/drawer.D5F0KXI2.js +9 -0
- package/drawer.d.ts +2 -0
- package/fieldset.DgbZ_K_l.js +12 -0
- package/fieldset.d.ts +1 -0
- package/filelist.CDEBo3Pi.js +160 -0
- package/filelist.d.ts +2 -0
- package/flag.D-wrUioF.js +50 -0
- package/flag.d.ts +2 -0
- package/floatingactionbutton.CE-Rz0dx.js +87 -0
- package/floatingactionbutton.d.ts +1 -0
- package/github-mark-white.svg +1 -0
- package/github-mark.svg +1 -0
- package/header.BtGgmM59.js +12 -0
- package/header.d.ts +2 -0
- package/heading.BHSklXho.js +46 -0
- package/heading.d.ts +1 -0
- package/icon.ByLYRkPZ.js +9 -0
- package/icon.d.ts +1 -0
- package/icon.svg +1 -1
- package/imow-icon.svg +1 -0
- package/index.d.ts +51 -4
- package/index.es.js +235 -138
- package/input.MZXe6rlg.js +188 -0
- package/input.d.ts +1 -0
- package/inputfile.BO4wDnzQ.js +18 -0
- package/inputfile.d.ts +2 -0
- package/inputnumber.DevQudIX.js +17 -0
- package/inputnumber.d.ts +2 -0
- package/inputpassword.C-XYK-JP.js +13 -0
- package/inputpassword.d.ts +1 -0
- package/inputsearch.CmJdxnzX.js +15 -0
- package/inputsearch.d.ts +1 -0
- package/intro-design-spacings01.webp +0 -0
- package/intro-design-spacings02.webp +0 -0
- package/intro-design-spacings03.webp +0 -0
- package/link.R1lfD5aN.js +81 -0
- package/link.d.ts +1 -0
- package/linkbutton.Y-ET1tc9.js +12 -0
- package/linkbutton.d.ts +2 -0
- package/linkcard.CayqoQNo.js +12 -0
- package/linkcard.d.ts +2 -0
- package/logo.D7LnRA1E.js +80 -0
- package/logo.d.ts +1 -0
- package/logo100years.C0IojOp9.js +24 -0
- package/logo100years.d.ts +2 -0
- package/megamenu.CUjk3_h2.js +12 -0
- package/megamenu.d.ts +2 -0
- package/mystihl-icon.svg +1 -0
- package/navigationtablist.CKPpQrme.js +10 -0
- package/navigationtablist.d.ts +2 -0
- package/navigationtabs.VUAOwesQ.js +9 -0
- package/navigationtabs.d.ts +2 -0
- package/notification.d.ts +1 -0
- package/notification.u_LLz-O0.js +10 -0
- package/numberindicator.ZGVRSmqf.js +36 -0
- package/numberindicator.d.ts +2 -0
- package/optioncheckbox.d.ts +2 -1
- package/optioncheckbox.v8Plcgeg.js +48 -0
- package/package.json +77 -59
- package/partials/assets.const.js +2 -0
- package/partials/connected-apple-icon.png +0 -0
- package/partials/connected-favicon.ico +0 -0
- package/partials/connected-icon-192.png +0 -0
- package/partials/connected-icon-512.png +0 -0
- package/partials/connected-icon.svg +1 -0
- package/partials/copyAssets.js +27 -13
- package/partials/default-icon.svg +1 -0
- package/partials/imow-apple-icon.png +0 -0
- package/partials/imow-favicon.ico +0 -0
- package/partials/imow-icon-192.png +0 -0
- package/partials/imow-icon-512.png +0 -0
- package/partials/imow-icon.svg +1 -0
- package/partials/index.js +342 -2159
- package/partials/lib/partials.d.ts +77 -5
- package/partials/mystihl-apple-icon.png +0 -0
- package/partials/mystihl-favicon.ico +0 -0
- package/partials/mystihl-icon-192.png +0 -0
- package/partials/mystihl-icon-512.png +0 -0
- package/partials/mystihl-icon.svg +1 -0
- package/popover.T7-imfkx.js +12 -0
- package/popover.d.ts +2 -0
- package/radio.DxdVKoxe.js +137 -0
- package/radio.d.ts +1 -0
- package/radiogroup.CAh4wto1.js +11 -0
- package/radiogroup.d.ts +1 -0
- package/scroller.DfhhZelk.js +98 -0
- package/scroller.d.ts +2 -0
- package/select-decision-tree-small.webp +0 -0
- package/select-decision-tree.webp +0 -0
- package/select.CSCc_-6d.js +14 -0
- package/select.d.ts +1 -0
- package/skiptocontent.C2HpZt5q.js +35 -0
- package/skiptocontent.d.ts +2 -0
- package/slider.B2aQwfc2.js +12 -0
- package/slider.d.ts +2 -0
- package/spinner.CRVyui04.js +46 -0
- package/spinner.d.ts +1 -0
- package/step.C-LC5sKQ.js +82 -0
- package/step.d.ts +6 -0
- package/stepper.CRljfUF8.js +16 -0
- package/stepper.d.ts +2 -0
- package/styles/fonts/STIHLContrafaceDigitalTextDemi.woff +0 -0
- package/styles/fonts/STIHLContrafaceDigitalTextDemi.woff2 +0 -0
- package/styles/fonts/font-face.min.css +1 -1
- package/styles/js/index.d.ts +4 -0
- package/styles/js/index.es.js +249 -0
- package/styles/js/lib/animation.d.ts +13 -0
- package/styles/js/lib/breakpoint.d.ts +9 -0
- package/styles/js/lib/spacing.d.ts +22 -0
- package/styles/js/lib/theme.d.ts +202 -0
- package/styles/scss/ds/index.scss +20 -0
- package/styles/scss/ds/lib/animation.scss +21 -0
- package/styles/scss/ds/lib/breakpoints.scss +17 -0
- package/styles/scss/ds/lib/container-query.scss +54 -0
- package/styles/scss/ds/lib/ds-internal/_a11y.scss +15 -0
- package/styles/scss/ds/lib/ds-internal/_focus.scss +60 -0
- package/styles/scss/ds/lib/ds-internal/_heading.scss +37 -0
- package/styles/scss/ds/lib/ds-internal/_helpers.scss +32 -0
- package/styles/scss/ds/lib/ds-internal/_high-contrast.scss +6 -0
- package/styles/scss/ds/lib/ds-internal/_hover.scss +6 -0
- package/styles/scss/ds/lib/ds-internal/_index.scss +11 -0
- package/styles/scss/ds/lib/ds-internal/_input.scss +196 -0
- package/styles/scss/ds/lib/ds-internal/_link-button.scss +226 -0
- package/styles/scss/ds/lib/ds-internal/_link.scss +62 -0
- package/styles/scss/ds/lib/ds-internal/_spacing-dynamic.scss +53 -0
- package/styles/scss/ds/lib/ds-internal/_text.scss +30 -0
- package/styles/scss/ds/lib/grid-extended.scss +14 -0
- package/styles/scss/ds/lib/grid-full.scss +6 -0
- package/styles/scss/ds/lib/grid-main.scss +122 -0
- package/styles/scss/ds/lib/grid-narrow.scss +14 -0
- package/styles/scss/ds/lib/grid-sidebar.scss +57 -0
- package/styles/scss/ds/lib/grid.scss +92 -0
- package/styles/scss/ds/lib/heading.scss +75 -0
- package/styles/scss/ds/lib/input.scss +26 -0
- package/styles/scss/ds/lib/link-button.scss +29 -0
- package/styles/scss/ds/lib/link.scss +74 -0
- package/styles/scss/ds/lib/media-query.scss +32 -0
- package/styles/scss/{lib/_shadow.scss → ds/lib/shadow.scss} +7 -2
- package/styles/scss/ds/lib/spacing-dynamic.scss +7 -0
- package/styles/scss/ds/lib/spacing.scss +20 -0
- package/styles/scss/ds/lib/text.scss +107 -0
- package/styles/scss/ds/lib/theme.scss +171 -0
- package/styles/scss/ds/lib/transition.scss +36 -0
- package/switch.DgKgzm-j.js +66 -0
- package/switch.d.ts +1 -0
- package/systemfeedback.BKLsE5sY.js +10 -0
- package/systemfeedback.d.ts +1 -0
- package/tablist.d.ts +2 -0
- package/tablist.hMHdX1V8.js +210 -0
- package/tabpane.7vMXUKFX.js +37 -0
- package/tabpane.d.ts +2 -0
- package/tabs.d.ts +2 -0
- package/tabs.t-gR7dGc.js +11 -0
- package/text.D_e3JBvf.js +72 -0
- package/text.d.ts +1 -0
- package/textarea.CDXY-OVz.js +14 -0
- package/textarea.d.ts +1 -0
- package/textutility.CNWCGYOy.js +11 -0
- package/textutility.d.ts +2 -0
- package/title.d.ts +1 -0
- package/title.kJ48FkPU.js +40 -0
- package/toast.Bev-Rfuw.js +11 -0
- package/toast.d.ts +1 -0
- package/toastmanager.DII20_9k.js +89 -0
- package/toastmanager.d.ts +1 -0
- package/tooltip._lP4aMV2.js +177 -0
- package/tooltip.d.ts +2 -0
- package/topbar.Z9NNkxKU.js +12 -0
- package/topbar.d.ts +2 -0
- package/types/icon-types.d.ts +1 -1
- package/types/prettier-plugin-organize-imports.d.ts +1 -0
- package/utils/get-rect.d.ts +4 -0
- package/utils/get-rect.test.d.ts +1 -0
- package/utils/helpers.d.ts +17 -0
- package/utils/index.d.ts +8 -0
- package/utils/is-animation-disabled.d.ts +14 -0
- package/utils/is-animation-disabled.test.d.ts +1 -0
- package/utils/mergeRefs.d.ts +5 -0
- package/utils/mergeRefs.test.d.ts +1 -0
- package/utils/remove-spaces.d.ts +6 -0
- package/utils/remove-spaces.test.d.ts +1 -0
- package/utils/render-documentation.d.ts +1 -0
- package/utils/translate.d.ts +11 -0
- package/utils/translate.test.d.ts +1 -0
- package/utils/useBreakpoint.d.ts +0 -1
- package/utils/useElementSize.d.ts +14 -0
- package/utils/useElementSize.test.d.ts +1 -0
- package/utils/useIsomorphicLayoutEffect.d.ts +25 -0
- package/utils/useScrollDirection.d.ts +9 -0
- package/utils/useScrollDirection.test.d.ts +1 -0
- package/utils/vitest.setup.d.ts +2 -1
- package/arialiveregions.49Zyf6mj.js +0 -27
- package/assets/CustomReactSelect.B0rJLjN0.css +0 -1
- package/assets/Fieldset.xazpUXJX.css +0 -1
- package/assets/Icon.CB-KQmw4.css +0 -1
- package/assets/InputPassword.C3Uyj7oA.css +0 -1
- package/assets/InputSearch.tL3e9-Ob.css +0 -1
- package/assets/InputStepper.paPJix5A.css +0 -1
- package/assets/Notification.CCCbfXEz.css +0 -1
- package/assets/RadioGroup.Ur8Ro-XL.css +0 -1
- package/assets/Select.D2qBxaHP.css +0 -1
- package/assets/Textarea.BKbocznb.css +0 -1
- package/assets/Toast.CAP_EwDX.css +0 -1
- package/assets/arialiveregions.VnhjP8Gr.css +0 -1
- package/assets/asterisk.C-o6rbGQ.css +0 -1
- package/assets/button.BuIpnG-S.css +0 -1
- package/assets/buttonround.C3ph5Yyu.css +0 -1
- package/assets/checkbox.BsFEWfQe.css +0 -1
- package/assets/dialog.BGK3mgk7.css +0 -1
- package/assets/floatingactionbutton.D7ywURL3.css +0 -1
- package/assets/heading.CGFucb-C.css +0 -1
- package/assets/input.BcP5kkZ2.css +0 -1
- package/assets/link.DQy_OhwC.css +0 -1
- package/assets/linkstandalone.Dh6bE5Fb.css +0 -1
- package/assets/logo.BbHYgnWo.css +0 -1
- package/assets/optioncheckbox.C-K1FLhc.css +0 -1
- package/assets/radio.CSHQGdpr.css +0 -1
- package/assets/spinner.C5rBmKiF.css +0 -1
- package/assets/switch.sqve8ApJ.css +0 -1
- package/assets/systemfeedback.WE3wClZ3.css +0 -1
- package/assets/text.DDAveG7E.css +0 -1
- package/assets/title.CE0Dm7PI.css +0 -1
- package/asterisk.DU8THnoC.js +0 -8
- package/button.DX_nxoJC.js +0 -135
- package/buttonround.CXsBk9nL.js +0 -118
- package/checkbox.B43oeMeC.js +0 -112
- package/checkboxgroup.C7aCjYds.js +0 -9
- package/chunks/AriaLiveRegions.utils.DzWI5KCU.js +0 -31
- package/chunks/CheckboxGroup.CS6Q_TeZ.js +0 -87
- package/chunks/CustomReactSelect.DtmbYZUf.js +0 -5033
- package/chunks/Fieldset.BokeZzG5.js +0 -99
- package/chunks/Icon.9gDIp6p4.js +0 -217
- package/chunks/Input.utils.AKWCNkpA.js +0 -110
- package/chunks/InputPassword.jpUCijp7.js +0 -140
- package/chunks/InputSearch.BmOtAZcR.js +0 -190
- package/chunks/InputStepper.DTKjUL4U.js +0 -291
- package/chunks/Notification.CUPOlHAX.js +0 -93
- package/chunks/RadioGroup.DpwnVv7u.js +0 -110
- package/chunks/RadioGroup.module.bi3leRes.js +0 -11
- package/chunks/Select.DkDZo0ky.js +0 -193
- package/chunks/Textarea.C938p79X.js +0 -195
- package/chunks/Toast.CLYrwQVO.js +0 -89
- package/chunks/helpers.B1JT5ShS.js +0 -7
- package/chunks/index.CvOaL64Y.js +0 -45
- package/chunks/jsx-runtime.C-kxDJ4g.js +0 -639
- package/chunks/pdf.9kZbElrZ.js +0 -10
- package/chunks/petrol.Du6qAgp0.js +0 -10
- package/chunks/upload.ZImTAIgx.js +0 -10
- package/chunks/useBreakpoint.5xBNDiCf.js +0 -48
- package/combobox.BaSkiD6f.js +0 -47
- package/components/CustomReactSelect/CustomReactSelect.d.ts +0 -60
- package/components/CustomReactSelect/CustomReactSelect.utils.d.ts +0 -16
- package/components/InputStepper/InputStepper.d.ts +0 -53
- package/components/InputStepper/InputStepper.utils.d.ts +0 -13
- package/components/LinkStandalone/LinkStandalone.d.ts +0 -15
- package/components/LinkStandalone/LinkStandalone.utils.d.ts +0 -2
- package/customreactselect.LTbjaBN2.js +0 -13
- package/dialog.BkXwcbUh.js +0 -45
- package/fieldset.BXOWK-B-.js +0 -11
- package/floatingactionbutton.-nDRRiXY.js +0 -87
- package/heading.DqGbFfj2.js +0 -50
- package/icon.Cpp_9L1I.js +0 -8
- package/input.BM6tyRUm.js +0 -236
- package/inputpassword.DUxH1K_k.js +0 -12
- package/inputsearch.B-vePHle.js +0 -13
- package/inputstepper.C2ypADPI.js +0 -13
- package/inputstepper.d.ts +0 -1
- package/link.B4XZoLDj.js +0 -115
- package/linkstandalone.BSfd95Pd.js +0 -79
- package/linkstandalone.d.ts +0 -1
- package/logo.C_oJ8isW.js +0 -69
- package/notification.CxxAOdNV.js +0 -9
- package/optioncheckbox.CUV1MQhh.js +0 -43
- package/partials/icon.svg +0 -1
- package/radio.Bhu9OUY-.js +0 -79
- package/radiogroup.CMJ1b38q.js +0 -11
- package/select.DFJK2mHF.js +0 -12
- package/spinner.BskX4ovu.js +0 -58
- package/styles/scss/_index.scss +0 -23
- package/styles/scss/lib/_a11y.scss +0 -15
- package/styles/scss/lib/_animation.scss +0 -20
- package/styles/scss/lib/_breakpoints.scss +0 -16
- package/styles/scss/lib/_container-query.scss +0 -58
- package/styles/scss/lib/_focus.scss +0 -62
- package/styles/scss/lib/_grid-extended.scss +0 -11
- package/styles/scss/lib/_grid-full.scss +0 -6
- package/styles/scss/lib/_grid-main.scss +0 -117
- package/styles/scss/lib/_grid-narrow.scss +0 -14
- package/styles/scss/lib/_grid-sidebar-sidebar.scss +0 -50
- package/styles/scss/lib/_grid-sidebar.scss +0 -157
- package/styles/scss/lib/_grid.scss +0 -88
- package/styles/scss/lib/_heading.scss +0 -66
- package/styles/scss/lib/_helpers.scss +0 -3
- package/styles/scss/lib/_high-contrast.scss +0 -24
- package/styles/scss/lib/_hover.scss +0 -10
- package/styles/scss/lib/_link.scss +0 -156
- package/styles/scss/lib/_media-query.scss +0 -32
- package/styles/scss/lib/_spacing.scss +0 -30
- package/styles/scss/lib/_text.scss +0 -67
- package/styles/scss/lib/_theme.scss +0 -162
- package/styles/scss/lib/_transition.scss +0 -26
- package/switch.Bx2tDKx0.js +0 -65
- package/systemfeedback.4Hkfigi-.js +0 -25
- package/text.CPU8IUqY.js +0 -57
- package/textarea.DPy3TJJf.js +0 -12
- package/title.icX0VDiO.js +0 -36
- package/toast.C-Yg5EoE.js +0 -10
- package/toastmanager.DQ_-eTrx.js +0 -96
- package/utils/has-document.d.ts +0 -1
- /package/components/{CustomReactSelect/CustomReactSelect.utils.test.d.ts → Accordion/Accordion.test.d.ts} +0 -0
- /package/components/{InputStepper/InputStepper.test.d.ts → Accordion/Acordion.utils.test.d.ts} +0 -0
- /package/components/{InputStepper/InputStepper.utils.test.d.ts → ActionButton/ActionButton.test.d.ts} +0 -0
- /package/components/{LinkStandalone/LinkStandalone.test.d.ts → ActionButton/ActionButton.utils.test.d.ts} +0 -0
- /package/partials/{apple-icon.png → default-apple-icon.png} +0 -0
- /package/partials/{favicon.ico → default-favicon.ico} +0 -0
- /package/partials/{icon-192.png → default-icon-192.png} +0 -0
- /package/partials/{icon-512.png → default-icon-512.png} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,44 +1,68 @@
|
|
|
1
1
|
import { SelectHTMLAttributes } from 'react';
|
|
2
2
|
import { BreakpointCustomizable } from '../../types';
|
|
3
3
|
import { SelectOptionsOrOptGroups, SelectSize } from './Select.utils';
|
|
4
|
-
|
|
5
4
|
export interface SelectProps extends Omit<SelectHTMLAttributes<HTMLSelectElement>, 'size'> {
|
|
6
|
-
/** Unique id for the select */
|
|
5
|
+
/** Unique id for the select. */
|
|
7
6
|
id: string;
|
|
8
|
-
/** Label text displayed above the select */
|
|
7
|
+
/** Label text displayed above the select. */
|
|
9
8
|
label: string;
|
|
10
9
|
/**
|
|
11
|
-
* Defines the options, can be a mixed array of options and option groups
|
|
10
|
+
* Defines the options, can be a mixed array of options and option groups.
|
|
12
11
|
* `type SelectOption = {label: string; value: string | number; isDisabled?: boolean;}`
|
|
13
12
|
* `type SelectOptionsGroup = {label: string; options: SelectOption[];}`
|
|
14
13
|
* `type SelectOptionsOrOptGroups = (SelectOption | SelectOptionsGroup)[];`
|
|
15
14
|
* */
|
|
16
15
|
options: SelectOptionsOrOptGroups;
|
|
17
|
-
/** Disables the select, preventing user interaction
|
|
16
|
+
/** Disables the select, preventing user interaction.
|
|
17
|
+
* @default false
|
|
18
|
+
*/
|
|
18
19
|
disabled?: boolean;
|
|
19
|
-
/** Hides the select label, can be responsive
|
|
20
|
+
/** Hides the select label, can be responsive.
|
|
20
21
|
* `boolean | { base: boolean; s?: boolean; m?: boolean; l?: boolean; xl?: boolean; }`
|
|
22
|
+
* @default false
|
|
21
23
|
*/
|
|
22
24
|
hideLabel?: BreakpointCustomizable<boolean>;
|
|
23
|
-
/** Short descriptive text displayed beneath the label */
|
|
25
|
+
/** Short descriptive text displayed beneath the label. */
|
|
24
26
|
hint?: string;
|
|
25
|
-
/** Marks the select as invalid, typically used for form validation
|
|
27
|
+
/** Marks the select as invalid, typically used for form validation.
|
|
28
|
+
* @default false
|
|
29
|
+
*/
|
|
26
30
|
invalid?: boolean;
|
|
27
|
-
/**
|
|
31
|
+
/** Shows an info button next to the label that triggers a popover with the passed content. */
|
|
32
|
+
popoverContent?: React.ReactNode;
|
|
33
|
+
/** Popover info button props:
|
|
34
|
+
*
|
|
35
|
+
* `data-*`: Custom data attributes.
|
|
36
|
+
*
|
|
37
|
+
* `label`: Accessibility label for the default anchor button.
|
|
38
|
+
* (default) 'Toggle popover'
|
|
39
|
+
*/
|
|
40
|
+
popoverInfoButtonProps?: {
|
|
41
|
+
[key: `data-${string}`]: string | undefined;
|
|
42
|
+
label?: string;
|
|
43
|
+
};
|
|
44
|
+
/** Modifies the empty option label to ensure a conscious choice.
|
|
45
|
+
* @default 'Select'
|
|
46
|
+
*/
|
|
28
47
|
placeholder?: string;
|
|
29
|
-
/** Indicates that the select is required
|
|
48
|
+
/** Indicates that the select is required.
|
|
49
|
+
* @default false
|
|
50
|
+
*/
|
|
30
51
|
required?: boolean;
|
|
31
|
-
/** Size of the select
|
|
52
|
+
/** Size of the select.
|
|
53
|
+
* @default 'medium'
|
|
54
|
+
*/
|
|
32
55
|
size?: SelectSize;
|
|
33
|
-
/** Defines a system feedback message, shown when `invalid={true}
|
|
56
|
+
/** Defines a system feedback message, shown when `invalid={true}`. */
|
|
34
57
|
systemFeedback?: string;
|
|
35
58
|
}
|
|
36
59
|
/**
|
|
37
60
|
* Use the DSSelect component to efficiently navigate through and select from a range of options,
|
|
38
61
|
* enhancing user interaction and decision-making in your application.
|
|
39
62
|
*
|
|
63
|
+
* Design in Figma: [Select](https://www.figma.com/design/qXldpLO6gxHJNLdcXIPxYt/Core-Components-%F0%9F%92%A0?node-id=8139-4888)
|
|
40
64
|
*
|
|
41
65
|
* <div className="ds-alert">If you are looking for a component with a **custom dropdown** or the ability to **filter** and **select multiple options**, please take a look at
|
|
42
66
|
* [DSCombobox](/docs/components-combobox--documentation)</div>
|
|
43
67
|
* */
|
|
44
|
-
export declare const DSSelect: (
|
|
68
|
+
export declare const DSSelect: import('react').ForwardRefExoticComponent<SelectProps & import('react').RefAttributes<HTMLSelectElement>>;
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { HTMLAttributes } from 'react';
|
|
2
2
|
import { GroupBase, OptionsOrGroups } from 'react-select';
|
|
3
3
|
import { SelectProps } from './Select';
|
|
4
|
-
|
|
5
|
-
type ValidationProps = Pick<SelectProps, 'id' | 'label' | 'options'>;
|
|
4
|
+
type ValidationProps = Pick<SelectProps, 'id' | 'label' | 'options' | 'hideLabel' | 'popoverContent'>;
|
|
6
5
|
export interface SelectOption extends HTMLAttributes<HTMLOptionElement> {
|
|
7
6
|
label: string;
|
|
8
7
|
value: string | number;
|
|
@@ -20,7 +19,7 @@ export type SelectSize = (typeof SELECT_SIZE)[number];
|
|
|
20
19
|
* @param validationProps - The subset of DSSelect properties to validate. This includes
|
|
21
20
|
* id and label.
|
|
22
21
|
*/
|
|
23
|
-
export declare const validateSelectProps: ({ id, label, options, }: ValidationProps) => void;
|
|
22
|
+
export declare const validateSelectProps: ({ id, label, options, hideLabel, popoverContent, }: ValidationProps) => void;
|
|
24
23
|
/**
|
|
25
24
|
* Determines the initial visibility of the placeholder based on the `placeholder` string and
|
|
26
25
|
* the values of `defaultValue` and `value` from the props.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { LinkButtonProps } from '../LinkButton/LinkButton';
|
|
2
|
+
export interface SkipToContentProps extends Pick<LinkButtonProps, 'className' | 'theme'> {
|
|
3
|
+
/** Content within the SkipToContent Link.
|
|
4
|
+
* @default 'Skip to main content'
|
|
5
|
+
*/
|
|
6
|
+
children?: string;
|
|
7
|
+
/** id of the element to be focused by the SkipToContent Link.
|
|
8
|
+
* @default 'main'
|
|
9
|
+
*/
|
|
10
|
+
targetElementId?: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* The `<DSSkipToContent />` component is an accessibility feature that allows users, especially those using screen readers or keyboard navigation, to quickly jump to the targeted content of a webpage without having to focus all the navigation items first. This improves the user experience by making it easier and faster to access important information.
|
|
14
|
+
*
|
|
15
|
+
* Focus the section below by using the tab key to see the "Skip To Content" component in action.
|
|
16
|
+
*
|
|
17
|
+
* Design in Figma: [Skip To Content](https://www.figma.com/design/qXldpLO6gxHJNLdcXIPxYt/Core-Components-%F0%9F%92%A0?node-id=16333-2371)
|
|
18
|
+
*/
|
|
19
|
+
export declare const DSSkipToContent: import('react').ForwardRefExoticComponent<SkipToContentProps & import('react').RefAttributes<HTMLAnchorElement>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { InputHTMLAttributes } from 'react';
|
|
2
|
+
import { BreakpointCustomizable } from '../../types';
|
|
3
|
+
import { InputSize } from '../Input/Input.utils';
|
|
4
|
+
export interface SliderProps extends InputHTMLAttributes<HTMLInputElement> {
|
|
5
|
+
/** Unique id for the Slider. */
|
|
6
|
+
id: string;
|
|
7
|
+
/** Label text displayed above the Slider. */
|
|
8
|
+
label: string;
|
|
9
|
+
/** Disables the Slider, preventing user interaction.
|
|
10
|
+
* @default false
|
|
11
|
+
*/
|
|
12
|
+
disabled?: boolean;
|
|
13
|
+
/** Hides the Slider label, can be responsive.
|
|
14
|
+
* `boolean | { base: boolean; s?: boolean; m?: boolean; l?: boolean; xl?: boolean; }`
|
|
15
|
+
* @default false
|
|
16
|
+
*/
|
|
17
|
+
hideLabel?: BreakpointCustomizable<boolean>;
|
|
18
|
+
/** Controls the visibility of an additional number input for granular value control.
|
|
19
|
+
* Cannot be used if step > 1 is set.
|
|
20
|
+
* @default false
|
|
21
|
+
*/
|
|
22
|
+
hideNumberInput?: boolean;
|
|
23
|
+
/** Short descriptive text displayed beneath the label. */
|
|
24
|
+
hint?: string;
|
|
25
|
+
/** Controls if the tooltip is visible outside of interactions. Only usable when `hideNumberInput={true}`.
|
|
26
|
+
* @default false
|
|
27
|
+
*/
|
|
28
|
+
isTooltipAlwaysVisible?: boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Sets the maximum value
|
|
31
|
+
* @default 100
|
|
32
|
+
*/
|
|
33
|
+
max?: number | string;
|
|
34
|
+
/**
|
|
35
|
+
* Sets greatest value in the range of permitted values.
|
|
36
|
+
* @default 0
|
|
37
|
+
*/
|
|
38
|
+
min?: number | string;
|
|
39
|
+
/**
|
|
40
|
+
* Specifies the granularity that the value must adhere to.
|
|
41
|
+
* @default 1
|
|
42
|
+
*/
|
|
43
|
+
step?: number | string;
|
|
44
|
+
/** Number input props:
|
|
45
|
+
* `suffix`: Text displayed as a suffix inside the input, maximum 5 characters.
|
|
46
|
+
*
|
|
47
|
+
* `size`: Size of the input.
|
|
48
|
+
* (default): `'medium'`
|
|
49
|
+
*/
|
|
50
|
+
numberInputProps?: {
|
|
51
|
+
suffix?: string;
|
|
52
|
+
size?: InputSize;
|
|
53
|
+
};
|
|
54
|
+
/** Shows an info button next to the label that triggers a popover with the passed content. */
|
|
55
|
+
popoverContent?: React.ReactNode;
|
|
56
|
+
/** Popover info button props:
|
|
57
|
+
*
|
|
58
|
+
* `data-*`: Custom data attributes.
|
|
59
|
+
*
|
|
60
|
+
* `label`: Accessibility label for the default anchor button.
|
|
61
|
+
* (default) 'Toggle popover'
|
|
62
|
+
*/
|
|
63
|
+
popoverInfoButtonProps?: {
|
|
64
|
+
[key: `data-${string}`]: string | undefined;
|
|
65
|
+
label?: string;
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* The `<DSSlider />` component is a flexible range input that allows users to select a value within a defined range.
|
|
70
|
+
* It supports various customizations, including a label, hint, tooltip and an optional number input for precise value selection.
|
|
71
|
+
*
|
|
72
|
+
* The component also features configurable step values and min/max limits for better user guidance.
|
|
73
|
+
*
|
|
74
|
+
* Design in Figma: [Input Slider](https://www.figma.com/design/qXldpLO6gxHJNLdcXIPxYt/Core-Components-%F0%9F%92%A0?node-id=29536-27468&t=31EIQag1wrGVM75J-4)
|
|
75
|
+
*/
|
|
76
|
+
export declare const DSSlider: import('react').ForwardRefExoticComponent<SliderProps & import('react').RefAttributes<HTMLInputElement>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { SliderProps } from './Slider';
|
|
2
|
+
export declare const MAXIMUM_TICK_AMOUNT = 11;
|
|
3
|
+
export declare const LABEL_LENGTH_BREAKPOINT = 4;
|
|
4
|
+
/**
|
|
5
|
+
* Returns the number of characters in a number, including the minus sign if present.
|
|
6
|
+
*
|
|
7
|
+
* @param {number} num - The number to check.
|
|
8
|
+
* @returns {number} The total length of the number including all characters.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* getNumberLength(12345); // 5
|
|
12
|
+
* getNumberLength(-9876); // 5 (includes the minus sign)
|
|
13
|
+
* getNumberLength(0); // 1
|
|
14
|
+
*/
|
|
15
|
+
export declare const getNumberLength: (num: number) => number;
|
|
16
|
+
/**
|
|
17
|
+
* Checks if a given value is aligned to a specific step interval,
|
|
18
|
+
* starting from a defined minimum value. The check allows for minor
|
|
19
|
+
* floating-point inaccuracies using an epsilon tolerance.
|
|
20
|
+
*
|
|
21
|
+
* @param {number} value - The numeric value to check for alignment.
|
|
22
|
+
* @param {number} step - The step size that defines valid intervals.
|
|
23
|
+
* @param {number} parsedMin - The minimum value from which steps start.
|
|
24
|
+
* @returns {boolean} `true` if the value is aligned to the step; otherwise, `false`.
|
|
25
|
+
*/
|
|
26
|
+
export declare const isStepAligned: (value: number, step: number, parsedMin: number) => boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Snaps a numeric value to the nearest valid step within a defined range,
|
|
29
|
+
* clamping it between the provided min and max values.
|
|
30
|
+
*
|
|
31
|
+
* @param value - The input number to be snapped.
|
|
32
|
+
* @param step - The step size as a number or string (e.g., '0.5', 1).
|
|
33
|
+
* @param min - The minimum allowed value.
|
|
34
|
+
* @param max - The maximum allowed value.
|
|
35
|
+
* @returns The value snapped to the nearest step, clamped and precision-adjusted.
|
|
36
|
+
*/
|
|
37
|
+
export declare const snapValueToStep: (value: number, step: string | number, min: number, max: number) => number;
|
|
38
|
+
/**
|
|
39
|
+
* Calculates the CSS `left` offset for a tick mark on a slider component,
|
|
40
|
+
* adjusting its position so that it aligns visually with the slider thumb.
|
|
41
|
+
*
|
|
42
|
+
* The function computes the percentage position of the tick based on the
|
|
43
|
+
* provided `tickValue` in relation to the `parsedMin` and `parsedMax` range,
|
|
44
|
+
* then applies a correction (`shift`) to ensure proper alignment with the thumb.
|
|
45
|
+
*
|
|
46
|
+
* The shift is calculated with a linear formula derived to meet specific
|
|
47
|
+
* alignment criteria at 0%, 50%, and 100%.
|
|
48
|
+
*
|
|
49
|
+
* @param tickValue - The numeric value of the current tick mark.
|
|
50
|
+
* @param parsedMin - The minimum value of the slider range.
|
|
51
|
+
* @param parsedMax - The maximum value of the slider range.
|
|
52
|
+
* @returns A CSS `left` value string using `calc()` to properly position the tick.
|
|
53
|
+
*/
|
|
54
|
+
export declare const getTickLeftOffset: (tickValue: number, parsedMin: number, parsedMax: number) => string;
|
|
55
|
+
type ValidationProps = Pick<SliderProps, 'id' | 'label'>;
|
|
56
|
+
/**
|
|
57
|
+
* Validates the given properties of the DSSlider component for common configuration errors.
|
|
58
|
+
* This function is intended to be used in development mode to provide developers with
|
|
59
|
+
* warnings about potential misuse of the component.
|
|
60
|
+
*
|
|
61
|
+
* @param validationProps - The subset of DSSlider properties to validate. This includes
|
|
62
|
+
* properties related to the prefix, suffix, icons and action button of the input.
|
|
63
|
+
*/
|
|
64
|
+
export declare const validateSliderProps: ({ id, label }: ValidationProps) => void;
|
|
65
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,15 +1,24 @@
|
|
|
1
|
-
import { HTMLAttributes } from 'react';
|
|
1
|
+
import { HTMLAttributes, JSX } from 'react';
|
|
2
2
|
import { SelectedAriaAttributes, Theme } from '../../types';
|
|
3
3
|
import { SpinnerAriaAttribute, SpinnerSize } from './Spinner.utils';
|
|
4
|
-
|
|
5
4
|
export interface SpinnerProps extends HTMLAttributes<HTMLSpanElement> {
|
|
6
|
-
/** ARIA attributes to enhance accessibility
|
|
5
|
+
/** ARIA attributes to enhance accessibility.
|
|
7
6
|
* `{'aria-label'? string;}`
|
|
8
7
|
*/
|
|
9
8
|
aria?: SelectedAriaAttributes<SpinnerAriaAttribute>;
|
|
10
|
-
/** Size of the spinner
|
|
9
|
+
/** Size of the spinner.
|
|
10
|
+
* @default 'small'
|
|
11
|
+
*/
|
|
11
12
|
size?: SpinnerSize;
|
|
12
|
-
/** Defines the theme
|
|
13
|
+
/** Defines the theme.
|
|
14
|
+
* @default 'light'
|
|
15
|
+
*/
|
|
13
16
|
theme?: Theme;
|
|
14
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
*
|
|
20
|
+
* Shows the loading state and that the user request is being processed.
|
|
21
|
+
*
|
|
22
|
+
* Design in Figma: [Spinner](https://www.figma.com/design/qXldpLO6gxHJNLdcXIPxYt/Core-Components-%F0%9F%92%A0?node-id=26-3)
|
|
23
|
+
*/
|
|
15
24
|
export declare const DSSpinner: ({ aria, className, size, theme, ...rest }: SpinnerProps) => JSX.Element;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { default as React, JSX } from 'react';
|
|
2
|
+
import { StepState } from './Step.utils';
|
|
3
|
+
import { StepperTranslations } from './Stepper.utils';
|
|
4
|
+
/** Local copy of the Step data contract to avoid circular dependency with `Stepper.tsx`. */
|
|
5
|
+
export interface Step {
|
|
6
|
+
label: string;
|
|
7
|
+
hint?: string;
|
|
8
|
+
disabled?: boolean;
|
|
9
|
+
state?: StepState;
|
|
10
|
+
onClick?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;
|
|
11
|
+
}
|
|
12
|
+
export interface StepperStepProps {
|
|
13
|
+
/** Step object */
|
|
14
|
+
step: Step;
|
|
15
|
+
/** Index of this step in the list */
|
|
16
|
+
index: number;
|
|
17
|
+
/** Orientation of the Stepper */
|
|
18
|
+
orientation: 'horizontal' | 'vertical';
|
|
19
|
+
/** Total number of steps */
|
|
20
|
+
stepsCount: number;
|
|
21
|
+
/** Translation function */
|
|
22
|
+
t: (key: keyof StepperTranslations, replacements?: string[]) => string;
|
|
23
|
+
/** Called when the button is clicked (index is already bound in parent) */
|
|
24
|
+
onStepClick: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;
|
|
25
|
+
/** Collect the ref for scroll / focus management */
|
|
26
|
+
buttonRef?: (el: HTMLButtonElement | null) => void;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Presentational single Step inside the DSStepper.
|
|
30
|
+
* Keeps the markup & ARIA logic isolated from the Stepper container.
|
|
31
|
+
*/
|
|
32
|
+
export declare const StepperStep: ({ step, index, stepsCount, t, onStepClick, buttonRef, orientation, }: StepperStepProps) => JSX.Element;
|
|
33
|
+
export default StepperStep;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Step } from './Step';
|
|
2
|
+
import { StepperTranslations } from './Stepper.utils';
|
|
3
|
+
export declare const STEP_STATE: readonly ["current", "completed", undefined];
|
|
4
|
+
export type StepState = (typeof STEP_STATE)[number];
|
|
5
|
+
export declare const getStepAriaLabel: (t: (key: keyof StepperTranslations, replacements?: string[]) => string, index: number, total: number, step: Step, isCurrent: boolean) => string;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { default as React, JSX } from 'react';
|
|
2
|
+
import { SelectedAriaAttributes } from '../../types';
|
|
3
|
+
import { StepState } from './Step.utils';
|
|
4
|
+
import { StepperAlignment, StepperAriaAttributes, StepperLanguage, StepperOrientation, StepperTranslations } from './Stepper.utils';
|
|
5
|
+
export interface Step {
|
|
6
|
+
/** Label text displayed for the Step. */
|
|
7
|
+
label: string;
|
|
8
|
+
/** Short descriptive text displayed beneath the label. */
|
|
9
|
+
hint?: string;
|
|
10
|
+
/** Disables the Step, preventing user interaction.
|
|
11
|
+
* @default false
|
|
12
|
+
*/
|
|
13
|
+
disabled?: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* State of the Step. If set to 'current', the step is highlighted as the current step.
|
|
16
|
+
* @default undefined
|
|
17
|
+
*/
|
|
18
|
+
state?: StepState;
|
|
19
|
+
/** Callback function called when the Step is clicked. */
|
|
20
|
+
onClick?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;
|
|
21
|
+
}
|
|
22
|
+
export interface StepperProps extends React.HTMLAttributes<HTMLElement> {
|
|
23
|
+
/** ARIA attributes to enhance accessibility
|
|
24
|
+
* `{'aria-label'? string;`
|
|
25
|
+
* `'aria-labelledby'?: string;}`
|
|
26
|
+
* */
|
|
27
|
+
aria: SelectedAriaAttributes<StepperAriaAttributes>;
|
|
28
|
+
/** An array of Step Objects containing the label and other optional parameters.
|
|
29
|
+
* `{label: string; hint: string; disabled?: boolean; state?: 'current' | 'completed' | undefined; onClick?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;}[]`*/
|
|
30
|
+
steps: Step[];
|
|
31
|
+
/** Callback function called when the selection of the Stepper changes. */
|
|
32
|
+
onStepChange: (selectedStepIndex: number) => void;
|
|
33
|
+
/** Alignment of the DSStepper.
|
|
34
|
+
* @default 'left'
|
|
35
|
+
*/
|
|
36
|
+
alignment?: StepperAlignment;
|
|
37
|
+
/** Sets language to use for the screen reader messages, if no translations object is provided.
|
|
38
|
+
* @default 'en'
|
|
39
|
+
*/
|
|
40
|
+
lang?: StepperLanguage;
|
|
41
|
+
/** Orientation of the DSStepper.
|
|
42
|
+
* @default 'horizontal'
|
|
43
|
+
*/
|
|
44
|
+
orientation?: StepperOrientation;
|
|
45
|
+
/** Translations for the DSStepper. Use our [customization page](/?path=/story/components-stepper-translations--documentation) for creating custom translations. */
|
|
46
|
+
translations?: StepperTranslations;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* The `<DSStepper />` component provides an accessible step-based navigation pattern following the `aria-current="step"` specification.
|
|
50
|
+
* It is a **controlled component** and does not manage its own state.
|
|
51
|
+
* It renders steps as buttons inside an ordered list (`<ol>`) wrapped in a semantic `<nav>` landmark.
|
|
52
|
+
* Horizontal overflow is handled via `<DSScroller>` preventing line wrapping while enabling keyboard and pointer based scrolling.
|
|
53
|
+
*
|
|
54
|
+
* Design in Figma: [Stepper](https://www.figma.com/design/qXldpLO6gxHJNLdcXIPxYt/Core-Components-%F0%9F%92%A0?node-id=26075-10497)
|
|
55
|
+
*/
|
|
56
|
+
export declare const DSStepper: ({ aria, className, steps, orientation, alignment, lang, translations, onStepChange, ...rest }: StepperProps) => JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Step } from './Step';
|
|
2
|
+
import { StepperProps } from './Stepper';
|
|
3
|
+
export type StepperAriaAttributes = 'aria-label' | 'aria-labelledby';
|
|
4
|
+
export declare const STEPPER_ALIGNMENT: readonly ["left", "center"];
|
|
5
|
+
export type StepperAlignment = (typeof STEPPER_ALIGNMENT)[number];
|
|
6
|
+
export declare const STEPPER_ORIENTATION: readonly ["horizontal", "vertical"];
|
|
7
|
+
export type StepperOrientation = (typeof STEPPER_ORIENTATION)[number];
|
|
8
|
+
export type ValidateStepperPropsParams = Pick<StepperProps, 'aria' | 'steps'>;
|
|
9
|
+
export declare const validateStepperProps: ({ aria, steps, }: ValidateStepperPropsParams) => void;
|
|
10
|
+
export declare const validateIsLiveRegionPresentForStepper: () => void;
|
|
11
|
+
export type StepperLanguage = 'en' | 'de';
|
|
12
|
+
export type StepperTranslations = typeof DS_STEPPER_TRANSLATIONS_EN;
|
|
13
|
+
export declare const DS_STEPPER_TRANSLATIONS_EN: {
|
|
14
|
+
current: string;
|
|
15
|
+
completed: string;
|
|
16
|
+
step: string;
|
|
17
|
+
of: string;
|
|
18
|
+
};
|
|
19
|
+
export declare const DS_STEPPER_TRANSLATIONS_DE: StepperTranslations;
|
|
20
|
+
export declare const DS_STEPPER_TRANSLATIONS: Record<StepperLanguage, StepperTranslations>;
|
|
21
|
+
/**
|
|
22
|
+
* Get the current step in the stepper.
|
|
23
|
+
* If no step is marked as 'current', the last step with a defined state is returned.
|
|
24
|
+
* If no steps have a defined state, the first step is returned.
|
|
25
|
+
* @param steps The array of steps.
|
|
26
|
+
* @returns The current step.
|
|
27
|
+
*/
|
|
28
|
+
export declare const getCurrentStep: (steps: Step[]) => Step;
|
|
29
|
+
export declare const getCurrentStepIndex: (steps: Step[]) => number;
|
|
30
|
+
export declare const isStepClickable: (state: Step["state"], disabled: boolean | undefined) => boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,30 +1,41 @@
|
|
|
1
1
|
import { ButtonHTMLAttributes } from 'react';
|
|
2
2
|
import { SelectedAriaAttributes } from '../../types';
|
|
3
3
|
import { SwitchAriaAttribute, SwitchLabelPosition } from './Switch.utils';
|
|
4
|
-
|
|
5
4
|
export interface SwitchProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
6
|
-
/** Content within the label */
|
|
5
|
+
/** Content within the label. */
|
|
7
6
|
children: React.ReactNode;
|
|
8
|
-
/** ARIA attributes to enhance accessibility
|
|
7
|
+
/** ARIA attributes to enhance accessibility.
|
|
9
8
|
* `{'aria-label'? string;}`
|
|
10
9
|
*/
|
|
11
10
|
aria?: SelectedAriaAttributes<SwitchAriaAttribute>;
|
|
12
|
-
/** Alignment of the label
|
|
11
|
+
/** Alignment of the label.
|
|
12
|
+
* @default 'left'
|
|
13
|
+
*/
|
|
13
14
|
alignLabel?: SwitchLabelPosition;
|
|
14
|
-
/** Controls whether the switch is checked.
|
|
15
|
+
/** Controls whether the switch is checked.
|
|
16
|
+
* @default false
|
|
17
|
+
*/
|
|
15
18
|
checked?: boolean;
|
|
16
|
-
/**
|
|
17
|
-
|
|
18
|
-
/** Disables the switch, preventing user interaction
|
|
19
|
+
/** Custom data attributes. */
|
|
20
|
+
[key: `data-${string}`]: string | undefined;
|
|
21
|
+
/** Disables the switch, preventing user interaction.
|
|
22
|
+
* @default false
|
|
23
|
+
*/
|
|
19
24
|
disabled?: boolean;
|
|
20
|
-
/** Shows loading indicator
|
|
25
|
+
/** Shows loading indicator.
|
|
26
|
+
* @default false
|
|
27
|
+
*/
|
|
21
28
|
loading?: boolean;
|
|
22
|
-
/** Stretches the Switch over the parent's width
|
|
29
|
+
/** Stretches the Switch over the parent's width.
|
|
30
|
+
* @default false
|
|
31
|
+
*/
|
|
23
32
|
stretched?: boolean;
|
|
24
|
-
/** Callback function
|
|
33
|
+
/** Callback function called when the switch is clicked. */
|
|
25
34
|
onClick?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;
|
|
26
35
|
}
|
|
27
36
|
/**
|
|
28
37
|
* Often used in settings, in which users can communicate their choice through binary selection.
|
|
38
|
+
*
|
|
39
|
+
* Design in Figma: [Switch](https://www.figma.com/design/qXldpLO6gxHJNLdcXIPxYt/Core-Components-%F0%9F%92%A0?node-id=513-2)
|
|
29
40
|
* */
|
|
30
|
-
export declare const DSSwitch: (
|
|
41
|
+
export declare const DSSwitch: import('react').ForwardRefExoticComponent<SwitchProps & import('react').RefAttributes<HTMLButtonElement>>;
|
|
@@ -1,10 +1,19 @@
|
|
|
1
|
-
import { HTMLAttributes } from 'react';
|
|
2
|
-
import {
|
|
3
|
-
|
|
1
|
+
import { HTMLAttributes, JSX } from 'react';
|
|
2
|
+
import { SystemFeedbackVariant } from './SystemFeedback.utils';
|
|
4
3
|
export interface SystemFeedbackProps extends HTMLAttributes<HTMLDivElement> {
|
|
5
|
-
/**
|
|
4
|
+
/** Unique id for connecting the system feedback with aria attributes like aria-describedby. */
|
|
5
|
+
id: string;
|
|
6
|
+
/** Defines the message. */
|
|
6
7
|
message: string;
|
|
7
|
-
/** Defines the
|
|
8
|
-
|
|
8
|
+
/** Defines the variant (e.g. "error", "success" or "warning"). */
|
|
9
|
+
variant: SystemFeedbackVariant;
|
|
9
10
|
}
|
|
10
|
-
|
|
11
|
+
/**
|
|
12
|
+
* Use the SystemFeedback component to provide clear and immediate feedback to the user
|
|
13
|
+
* about the status of a system process or validation state.
|
|
14
|
+
*
|
|
15
|
+
* Design in Figma: [SystemFeedback](https://www.figma.com/design/qXldpLO6gxHJNLdcXIPxYt/Core-Components-%F0%9F%92%A0?node-id=14690-32&t=qoxy54r8T2z3eW8T-4)
|
|
16
|
+
*
|
|
17
|
+
* <div className="ds-info">For more information on the different types of notifications and to determine which is best suited for your needs, please refer to our [Notification Guidelines](/docs/templates-notification-guidelines--documentation) and explore the decision trees provided.</div>
|
|
18
|
+
*/
|
|
19
|
+
export declare const DSSystemFeedback: ({ id, message, variant, className, ...rest }: SystemFeedbackProps) => JSX.Element;
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
}
|
|
6
|
-
export declare const systemFeedbackIcons: SystemFeedbackIcons;
|
|
7
|
-
export type SystemFeedbackType = 'valid' | 'invalid' | 'warning';
|
|
1
|
+
type SystemFeedbackIcon = 'circle-check-colored' | 'diamond-exclamationmark-colored' | 'triangle-exclamationmark-colored';
|
|
2
|
+
export declare const SYSTEM_FEEDBACK_VARIANT: readonly ["success", "error", "warning"];
|
|
3
|
+
export type SystemFeedbackVariant = (typeof SYSTEM_FEEDBACK_VARIANT)[number];
|
|
4
|
+
export declare const SYSTEM_FEEDBACK_ICON_MAP: Record<SystemFeedbackVariant, SystemFeedbackIcon>;
|
|
8
5
|
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { JSX } from 'react';
|
|
2
|
+
import { NavigationTab } from '../../../NavigationTabs/NavigationTabs';
|
|
3
|
+
interface NavigationTabListProps {
|
|
4
|
+
tabs: NavigationTab[];
|
|
5
|
+
tabRefs: React.RefObject<HTMLAnchorElement[]>;
|
|
6
|
+
scrollerClass: string;
|
|
7
|
+
scrollerRef: React.RefObject<HTMLUListElement>;
|
|
8
|
+
selectedTabIndex: number;
|
|
9
|
+
handleNavigationKeydown: (event: React.KeyboardEvent<HTMLAnchorElement>, index: number) => void;
|
|
10
|
+
setSelectedTab: (index: number) => void;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* The NavigationTabList component is an internal component used inside the TabList component.
|
|
14
|
+
* It renders an unordered list with list items that contain anchor elements.
|
|
15
|
+
*
|
|
16
|
+
* Consumers can pass in a link component which is cloned and modified. This allows us to add
|
|
17
|
+
* DSIcon and NumberIndicator and other props.
|
|
18
|
+
* Additionally the link component can be a regular anchor element or a Link component from
|
|
19
|
+
* React Router/Next or any other routing framework.
|
|
20
|
+
*/
|
|
21
|
+
export declare const NavigationTabList: ({ tabs, tabRefs, scrollerClass, scrollerRef, selectedTabIndex, handleNavigationKeydown, setSelectedTab, }: NavigationTabListProps) => JSX.Element;
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Dispatch, HTMLAttributes, JSX, SetStateAction } from 'react';
|
|
2
|
+
import { SelectedAriaAttributes } from '../../../types';
|
|
3
|
+
import { NavigationTab } from '../../NavigationTabs/NavigationTabs';
|
|
4
|
+
import { Tab } from '../Tabs';
|
|
5
|
+
import { TabsAlignment } from '../Tabs.utils';
|
|
6
|
+
import { TabListAriaAttributes } from './TabList.utils';
|
|
7
|
+
export type TabListProps<IsNavigation extends boolean> = {
|
|
8
|
+
/** ARIA attributes to enhance accessibility
|
|
9
|
+
* `{'aria-label'? string;`
|
|
10
|
+
* `'aria-labelledby'?: string;}`
|
|
11
|
+
* */
|
|
12
|
+
aria: SelectedAriaAttributes<TabListAriaAttributes>;
|
|
13
|
+
selectedTabIndex: number;
|
|
14
|
+
setSelectedTabIndex: Dispatch<SetStateAction<number>>;
|
|
15
|
+
/** An array of Tab Objects containing the id, content, label, and other optional parameters.
|
|
16
|
+
* `{id: string; content: React.ReactNode; label: string; iconName?: IconName; numberIndicatorValue?: string;}[]`*/
|
|
17
|
+
tabs: IsNavigation extends true ? NavigationTab[] : Tab[];
|
|
18
|
+
/** Alignment of the Tabs.
|
|
19
|
+
* @default 'left'
|
|
20
|
+
*/
|
|
21
|
+
alignment?: TabsAlignment;
|
|
22
|
+
/** Index of the tab to be selected when Tabs are rendered the first time.
|
|
23
|
+
* @default 0
|
|
24
|
+
* */
|
|
25
|
+
defaultSelectedTabIndex?: number;
|
|
26
|
+
/** Sets the TabList to navigation mode, using links instead of buttons */
|
|
27
|
+
isNavigation?: boolean;
|
|
28
|
+
/** Callback function called when the selected tab changes. */
|
|
29
|
+
onTabChange?: (selectedTabIndex: number) => void;
|
|
30
|
+
} & HTMLAttributes<HTMLDivElement> & (IsNavigation extends false ? {
|
|
31
|
+
id: string;
|
|
32
|
+
} : unknown);
|
|
33
|
+
/**
|
|
34
|
+
*
|
|
35
|
+
* The TabList component is an internal component used in DSTabs and DSNavigationTabs.
|
|
36
|
+
* It dynamically renders either a div with role="tablist" or a nav element based on the isNavigation prop.
|
|
37
|
+
*/
|
|
38
|
+
export declare const TabList: <IsNavigation extends boolean>({ aria, id: tabListId, selectedTabIndex, setSelectedTabIndex, tabs, alignment, className, defaultSelectedTabIndex, isNavigation, onTabChange, ...rest }: TabListProps<IsNavigation>) => JSX.Element;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ReactNode, JSX } from 'react';
|
|
2
|
+
export interface TabPaneProps {
|
|
3
|
+
id: string;
|
|
4
|
+
content: ReactNode;
|
|
5
|
+
index: number;
|
|
6
|
+
selectedTabIndex: number;
|
|
7
|
+
tabListId: string;
|
|
8
|
+
className?: string;
|
|
9
|
+
}
|
|
10
|
+
export declare const TabPane: ({ id, content, index, selectedTabIndex, tabListId, className, }: TabPaneProps) => JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|