@stihl-design-system/components 1.0.0-RC.46 → 1.0.0-RC.48
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/{accordion.Dvt4S5qg.js → accordion.D4XR2R7e.js} +3 -3
- package/actionbutton.C8hePX-D.js +12 -0
- package/{actioncard.BwquHtM_.js → actioncard.kDxu01xm.js} +1 -1
- package/actionlink.dccc5JQV.js +12 -0
- package/{arialiveregions.BF6mUlPU.js → arialiveregions.BniSDuPM.js} +9 -10
- package/assets/Accordion.RlqWqpGo.css +1 -0
- package/assets/ActionButton.Dw2FeIaW.css +1 -0
- package/assets/ActionCard.viEoC26n.css +1 -0
- package/assets/ActionLink.B1Jjaf7k.css +1 -0
- package/assets/Breadcrumb.BJ6sa2am.css +1 -0
- package/assets/Button.Bi1KUKMv.css +1 -0
- package/assets/Checkbox.C6RWhy0V.css +1 -0
- package/assets/Chip.DfamkUPw.css +1 -0
- package/assets/CustomReactSelect.CvWMmrAU.css +1 -0
- package/assets/Dialog.6AkQo8ew.css +1 -0
- package/assets/Drawer.CDOlX809.css +1 -0
- package/assets/Fieldset.BbLGXCWa.css +1 -0
- package/assets/Flag.qP1xbolI.css +1 -0
- package/assets/Header.CSPbSqR5.css +1 -0
- package/assets/InputFile.CDtghZtl.css +1 -0
- package/assets/InputNumber.BNpO9p7n.css +1 -0
- package/assets/InputPassword.BgZo-RUc.css +1 -0
- package/assets/InputSearch.BROFFTK9.css +1 -0
- package/assets/LinkButton.IKIlFnpH.css +1 -0
- package/assets/LinkCard.pJtgJRIh.css +1 -0
- package/assets/NavigationTabList.D5VV0C7Y.css +1 -0
- package/assets/Notification.2B81JHOp.css +1 -0
- package/assets/Pagination.DH71DZ0j.css +1 -0
- package/assets/Popover.58Tb0dOt.css +1 -0
- package/assets/Select.CfTN3CJo.css +1 -0
- package/assets/Slider.B4kzL60S.css +1 -0
- package/assets/Stepper.BCpjMiOX.css +1 -0
- package/assets/SystemFeedback.DVMml_h9.css +1 -0
- package/assets/TextUtility.BThulfyl.css +1 -0
- package/assets/Textarea.BO4AcRJD.css +1 -0
- package/assets/Toast.ChXfv24m.css +1 -0
- package/assets/buttonround.syTU1QSI.css +1 -0
- package/assets/chipgroup.DtCnsmS7.css +1 -0
- package/assets/filelist.B-Ru0GP_.css +1 -0
- package/assets/input.Dy8VS73e.css +1 -0
- package/assets/link.EZrauC8s.css +1 -0
- package/assets/numberindicator.CtbitPQ8.css +1 -0
- package/assets/optioncheckbox.BwkbIDOt.css +1 -0
- package/assets/progressindicator.tyY_RVQ9.css +1 -0
- package/assets/radio.9hUUyg8R.css +1 -0
- package/assets/step.DOAmuuEQ.css +1 -0
- package/assets/switch.8v7Wp1Fj.css +1 -0
- package/assets/tabpane.DDaeSDQb.css +1 -0
- package/assets/text.BwGsYzGM.css +1 -0
- package/assets/tooltip.C_BL2kou.css +1 -0
- package/{banner.CwZXWMc_.js → banner.DO7GsDL_.js} +1 -1
- package/{breadcrumb.DMqAgUyk.js → breadcrumb.DYov6vtt.js} +3 -3
- package/{button.BDCfI_fj.js → button.qxcuzbnv.js} +4 -4
- package/buttonround.BO7_ewzA.js +101 -0
- package/checkbox.C9kyIY9P.js +11 -0
- package/{checkboxgroup.DDWYxYzk.js → checkboxgroup.kEUxnKLf.js} +2 -2
- package/chip.5ktNLRYf.js +12 -0
- package/chipgroup.kRU3Z98U.js +226 -0
- package/chunks/Accordion.gih2ni1d.js +179 -0
- package/chunks/ActionButton.B-wm5sUy.js +194 -0
- package/chunks/{ActionCard.DJSGkwVG.js → ActionCard.Bm-2ewfS.js} +38 -38
- package/chunks/ActionLink.D0KzqbH4.js +166 -0
- package/chunks/{AriaLiveRegions.utils.8ofDlHnN.js → AriaLiveRegions.utils.xoETe2Ps.js} +16 -18
- package/chunks/{Breadcrumb.BkP2B-Vm.js → Breadcrumb.I2G-T0zc.js} +14 -14
- package/chunks/Button.CCol--xy.js +165 -0
- package/chunks/Checkbox.BxOGR1bR.js +96 -0
- package/chunks/CheckboxGroup.TneO0tuE.js +85 -0
- package/chunks/Chip.DffaXMkV.js +148 -0
- package/chunks/{CustomReactSelect.yVERtd4R.js → CustomReactSelect.DTAavYaz.js} +250 -245
- package/chunks/Dialog.guuxflWL.js +101 -0
- package/chunks/Drawer.CjUZu6GW.js +106 -0
- package/chunks/Fieldset.BBMuLKps.js +94 -0
- package/chunks/Flag.CbQYBzVC.js +74 -0
- package/chunks/{Header.DyqOlV8L.js → Header.CvcGSuhX.js} +140 -140
- package/chunks/{Icon.B0WqYErA.js → Icon.DYtaQgbw.js} +1 -1
- package/chunks/{Input.utils.D78E4MGO.js → Input.utils.Wycy2SzG.js} +23 -25
- package/chunks/InputFile.y71Cd5J9.js +260 -0
- package/chunks/InputNumber.Fn2YbF_s.js +250 -0
- package/chunks/InputPassword.DtT9yrlx.js +129 -0
- package/chunks/InputSearch.BoAfGqoH.js +157 -0
- package/chunks/LinkButton.BxG7fx1O.js +150 -0
- package/chunks/LinkCard.DM-5WrSt.js +200 -0
- package/chunks/{MegaMenu.CiSiMlE3.js → MegaMenu.udXR1H3W.js} +2 -2
- package/chunks/NavigationTabList.thzA1pU8.js +68 -0
- package/chunks/{NavigationTabs.BqaUbfFC.js → NavigationTabs.BWewgBch.js} +1 -1
- package/chunks/Notification.C_o7Ge6Q.js +91 -0
- package/chunks/Pagination.BrOMUJMi.js +272 -0
- package/chunks/Popover.CxZZ_y1Z.js +230 -0
- package/chunks/RadioGroup.CO91_5hA.js +136 -0
- package/chunks/Select.EzoMdk1u.js +157 -0
- package/chunks/Slider.CX38t4Sk.js +330 -0
- package/chunks/{Stepper.Bqnak38-.js → Stepper.Ds_aIEF8.js} +72 -73
- package/chunks/SystemFeedback.DhWcYjnu.js +43 -0
- package/chunks/{Tabs.cMCZMPCy.js → Tabs.BHVlgp7L.js} +2 -2
- package/chunks/Text.utils.DzlY9pJS.js +9 -0
- package/chunks/TextUtility.BZLwqyic.js +82 -0
- package/chunks/Textarea.vuJgvW6_.js +192 -0
- package/chunks/Toast.V_ZUAsf2.js +76 -0
- package/chunks/floating-ui.react.Chmq0RmI.js +3014 -0
- package/chunks/translate.DSb-TdWR.js +2460 -0
- package/{combobox.CpX-Vlyd.js → combobox.C6cPz4AJ.js} +1 -1
- package/components/Accordion/Accordion.d.ts +5 -0
- package/components/ActionButton/ActionButton.d.ts +5 -1
- package/components/ActionLink/ActionLink.d.ts +1 -1
- package/components/Button/Button.utils.d.ts +1 -1
- package/components/Checkbox/Checkbox.d.ts +8 -1
- package/components/CheckboxGroup/CheckboxGroup.d.ts +9 -1
- package/components/ChipGroup/Chip.d.ts +2 -0
- package/components/ChipGroup/ChipGroup.d.ts +12 -2
- package/components/ChipGroup/ChipGroup.utils.d.ts +39 -15
- package/components/Combobox/Combobox.utils.d.ts +66 -9
- package/components/Combobox/CustomReactSelect/CustomReactSelect.d.ts +5 -1
- package/components/Combobox/CustomReactSelect/CustomReactSelect.utils.d.ts +1 -1
- package/components/Fieldset/Fieldset.d.ts +9 -2
- package/components/Flag/Flag.d.ts +3 -3
- package/components/Flag/Flag.utils.d.ts +7 -2
- package/components/Input/Input.d.ts +8 -1
- package/components/InputFile/FileList/FileList.d.ts +4 -2
- package/components/InputFile/FileList/FilePreview/FilePreview.d.ts +8 -2
- package/components/InputFile/FileList/ProgressIndicator/ProgressIndicator.d.ts +8 -2
- package/components/InputFile/InputFile.d.ts +12 -2
- package/components/InputFile/InputFile.utils.d.ts +41 -23
- package/components/InputNumber/InputNumber.d.ts +8 -1
- package/components/InputPassword/InputPassword.d.ts +8 -1
- package/components/InputSearch/InputSearch.d.ts +8 -1
- package/components/LinkCard/LinkCard.d.ts +10 -4
- package/components/LinkCard/LinkCard.utils.d.ts +2 -2
- package/components/NumberIndicator/NumberIndicator.d.ts +6 -1
- package/components/Pagination/Pagination.d.ts +10 -3
- package/components/Pagination/Pagination.utils.d.ts +22 -9
- package/components/Popover/Popover.d.ts +9 -1
- package/components/Popover/Popover.utils.d.ts +3 -2
- package/components/Radio/Radio.d.ts +5 -0
- package/components/RadioGroup/RadioGroup.d.ts +8 -0
- package/components/Select/Select.d.ts +8 -1
- package/components/Slider/Slider.d.ts +8 -1
- package/components/Stepper/Step.d.ts +1 -1
- package/components/Stepper/Step.utils.d.ts +1 -1
- package/components/Stepper/Stepper.d.ts +4 -1
- package/components/Stepper/Stepper.utils.d.ts +9 -4
- package/components/SystemFeedback/SystemFeedback.d.ts +9 -1
- package/components/Textarea/Textarea.d.ts +8 -1
- package/{customreactselect.B1FFXsJ8.js → customreactselect.L0zSh3Tg.js} +6 -6
- package/{dialog.ZQ-HnvZs.js → dialog.Ddq8o8Od.js} +2 -2
- package/{drawer.D0-RM0WZ.js → drawer.rbbjQvqL.js} +2 -2
- package/{fieldset.BzOeuWjO.js → fieldset.BHf3XK2q.js} +3 -3
- package/filelist.GrEwoM1u.js +143 -0
- package/filepreview.B2Ot9SZ7.js +97 -0
- package/flag.fX6LAgty.js +10 -0
- package/{floatingactionbutton.AVc4qY0u.js → floatingactionbutton.BwCiybnc.js} +3 -3
- package/{header.BtGgmM59.js → header.BCeCjYfG.js} +1 -1
- package/{icon.DrTLVrpN.js → icon.CRr1FGOu.js} +1 -1
- package/index.es.js +231 -230
- package/input.Dh0ws-9j.js +187 -0
- package/inputfile.DiZh3GcT.js +17 -0
- package/{inputnumber.r0iVYkjd.js → inputnumber.D2cmptaH.js} +8 -9
- package/{inputpassword.PXBZo3f0.js → inputpassword.C53Kg4EA.js} +4 -4
- package/inputsearch.BrsIDUSW.js +14 -0
- package/link.DEZDbUgq.js +81 -0
- package/{linkbutton.DVFXzn-A.js → linkbutton._X50W2Md.js} +3 -3
- package/{linkcard.BwSMt03V.js → linkcard.BtM3KnjT.js} +4 -4
- package/{logo.D7LnRA1E.js → logo.D6BTxbxv.js} +0 -1
- package/{megamenu.CUjk3_h2.js → megamenu.odVCUm4c.js} +3 -3
- package/navigationtablist.n9DrtYe5.js +10 -0
- package/{navigationtabs.DmcYShPs.js → navigationtabs.D0mSyAtK.js} +2 -2
- package/{notification.BVoapVVg.js → notification._X8-8vOa.js} +3 -3
- package/numberindicator.DsK65Bj3.js +39 -0
- package/optioncheckbox.tlMEoyT0.js +48 -0
- package/package.json +38 -33
- package/pagination.B7Hrx_sk.js +14 -0
- package/partials/index.js +91 -91
- package/{popover.OcE_5SfG.js → popover.BBaqL7y9.js} +4 -4
- package/progressindicator.D9CfVD95.js +74 -0
- package/radio.DjToa2aV.js +148 -0
- package/{radiogroup.N06_e0b8.js → radiogroup.mc-8lw65.js} +3 -3
- package/{scroller.CwTXbzb8.js → scroller.CgWp2WXG.js} +10 -11
- package/select.DTZ6a6Ag.js +13 -0
- package/{skeleton.DUkBgXxO.js → skeleton.CNJdNVav.js} +10 -10
- package/{skiptocontent.Bujq9t3i.js → skiptocontent.BsRpWvyu.js} +4 -4
- package/{slider.JAKEAwOB.js → slider.BMGAihY0.js} +3 -3
- package/{spinner.D1W-X96t.js → spinner.DtLnsqVV.js} +1 -1
- package/step.DCQ6CawJ.js +82 -0
- package/stepper.D7-7BdSv.js +15 -0
- package/styles/js/index.d.ts +1 -0
- package/styles/js/index.es.js +24 -4
- package/styles/js/lib/spacing-rem.d.ts +21 -0
- package/styles/js/lib/spacing.d.ts +0 -1
- package/styles/scss/ds/index.scss +4 -1
- package/styles/scss/ds/lib/border-width.scss +3 -0
- package/styles/scss/ds/lib/ds-internal/_input.scss +71 -26
- package/styles/scss/ds/lib/ds-internal/_link-button.scss +7 -4
- package/styles/scss/ds/lib/ds-internal/_link.scss +23 -3
- package/styles/scss/ds/lib/ds-internal/_text.scss +3 -1
- package/styles/scss/ds/lib/grid-narrow.scss +1 -0
- package/styles/scss/ds/lib/input.scss +12 -7
- package/styles/scss/ds/lib/link.scss +2 -2
- package/styles/scss/ds/lib/radius.scss +5 -0
- package/styles/scss/ds/lib/spacing-rem.scss +19 -0
- package/styles/scss/ds/lib/spacing.scss +0 -1
- package/switch.tM2XBag8.js +66 -0
- package/{systemfeedback.B8FBckG4.js → systemfeedback.BPPOht_9.js} +2 -2
- package/{tablist.D3n9E4KM.js → tablist.BAm0_UIG.js} +22 -23
- package/{tabpane.7vMXUKFX.js → tabpane.B9rZghU6.js} +1 -1
- package/{tabs.IVNsM5Gn.js → tabs.BgTdWbTe.js} +3 -3
- package/text.BEO_ZfJq.js +72 -0
- package/{textarea.gjb8VGgh.js → textarea.Cki-uMkZ.js} +5 -6
- package/{textutility.CNWCGYOy.js → textutility.BypzssPt.js} +2 -2
- package/{toast.DU8Sd_4c.js → toast.s0Hfuh5i.js} +3 -3
- package/{toastmanager.UlkvsO5p.js → toastmanager.CPIPn4Io.js} +22 -23
- package/{tooltip.C6HKano9.js → tooltip.BFQG-7VR.js} +22 -22
- package/{topbar.Z9NNkxKU.js → topbar.Bbct-XkB.js} +3 -3
- package/utils/translate.d.ts +22 -6
- package/actionbutton.D6qmbuAA.js +0 -12
- package/actionlink.fWwe7J0H.js +0 -12
- package/assets/Accordion.Cr1dbVTH.css +0 -1
- package/assets/ActionButton.BLOWs6IZ.css +0 -1
- package/assets/ActionCard.BG8w8xUC.css +0 -1
- package/assets/ActionLink.BJDUVdT7.css +0 -1
- package/assets/Breadcrumb.BavNNzAA.css +0 -1
- package/assets/Button.C-UYIggc.css +0 -1
- package/assets/Checkbox.ZAPIO2N8.css +0 -1
- package/assets/Chip.D3vV0wyV.css +0 -1
- package/assets/CustomReactSelect.Ctze4SRN.css +0 -1
- package/assets/Dialog.BKwWy1g2.css +0 -1
- package/assets/Drawer.BU-fi5Hk.css +0 -1
- package/assets/Fieldset.DCmr1Yir.css +0 -1
- package/assets/Header.BNYL2Y78.css +0 -1
- package/assets/InputFile.BUMCNCrj.css +0 -1
- package/assets/InputNumber.Bmz8cNKg.css +0 -1
- package/assets/InputPassword.CutbykTm.css +0 -1
- package/assets/InputSearch.Sr9jVpKt.css +0 -1
- package/assets/LinkButton.CxJvjEY5.css +0 -1
- package/assets/LinkCard.DkQoQJxx.css +0 -1
- package/assets/NavigationTabList.DYjNT2Di.css +0 -1
- package/assets/Notification.DBGpHzov.css +0 -1
- package/assets/Pagination.DZ1yCAMR.css +0 -1
- package/assets/Popover.mL5g23EK.css +0 -1
- package/assets/Select.BZYb_HAG.css +0 -1
- package/assets/Slider.vnSU0ya0.css +0 -1
- package/assets/Stepper.tXJl15yL.css +0 -1
- package/assets/SystemFeedback.PKzqnXUe.css +0 -1
- package/assets/TextUtility.CEBJaKBG.css +0 -1
- package/assets/Textarea.BIgA9_fl.css +0 -1
- package/assets/Toast.CGl8z6mX.css +0 -1
- package/assets/buttonround.CMrJRIeW.css +0 -1
- package/assets/chipgroup.BGxjdSDX.css +0 -1
- package/assets/filelist.CHVupL8T.css +0 -1
- package/assets/flag.CyCIPu_J.css +0 -1
- package/assets/input.BEOus9jX.css +0 -1
- package/assets/link.Dcsio57m.css +0 -1
- package/assets/numberindicator.BYIPwkAK.css +0 -1
- package/assets/optioncheckbox.6zYgifUk.css +0 -1
- package/assets/progressindicator.Cbbzo5-b.css +0 -1
- package/assets/radio.l9OTraQU.css +0 -1
- package/assets/step.Ch508u7I.css +0 -1
- package/assets/switch.DYamtd9O.css +0 -1
- package/assets/tabpane.o34hshTz.css +0 -1
- package/assets/text.BA1eUihR.css +0 -1
- package/assets/tooltip.BPcysHGE.css +0 -1
- package/buttonround.DZCu35Zw.js +0 -101
- package/checkbox.RYvu23i4.js +0 -12
- package/chip.CtZK5gH7.js +0 -12
- package/chipgroup.C-UJt9Nb.js +0 -213
- package/chunks/Accordion.Tz7cWkk5.js +0 -173
- package/chunks/ActionButton.Dqay6Dxt.js +0 -188
- package/chunks/ActionLink.BgWqWSKi.js +0 -161
- package/chunks/Button.Dauhc5op.js +0 -160
- package/chunks/Checkbox.C5Jgtwho.js +0 -88
- package/chunks/CheckboxGroup.Df_nLGBa.js +0 -79
- package/chunks/Chip.DXS_ZMGD.js +0 -157
- package/chunks/Dialog.mP1tZEbW.js +0 -102
- package/chunks/Drawer.D6IG0DRe.js +0 -107
- package/chunks/Fieldset.DxhNhprT.js +0 -91
- package/chunks/InputFile.BSGunqyW.js +0 -260
- package/chunks/InputNumber.BsBAdxWr.js +0 -240
- package/chunks/InputPassword.hZYiAKYC.js +0 -121
- package/chunks/InputSearch.Dp3x5RE4.js +0 -149
- package/chunks/LinkButton.DHcfHamd.js +0 -150
- package/chunks/LinkCard.DV-V9qHd.js +0 -197
- package/chunks/NavigationTabList.BIApwNzg.js +0 -68
- package/chunks/Notification.DeedcinQ.js +0 -91
- package/chunks/Pagination.DhD8i5AV.js +0 -247
- package/chunks/Popover.Cyf3CbLl.js +0 -221
- package/chunks/RadioGroup.D3omhLuC.js +0 -130
- package/chunks/Select.DOeJaqzM.js +0 -147
- package/chunks/Slider.d3gCkWL_.js +0 -309
- package/chunks/SystemFeedback.Dq3ZphgG.js +0 -38
- package/chunks/Text.utils.D_iOyOSH.js +0 -11
- package/chunks/TextUtility.Wbd4oQXI.js +0 -82
- package/chunks/Textarea.DhRMfiWu.js +0 -181
- package/chunks/Toast.KMEq0p-E.js +0 -76
- package/chunks/floating-ui.react.CP5A99-c.js +0 -2980
- package/chunks/translate.nuU7uChI.js +0 -8
- package/filelist.BaYCDtxD.js +0 -128
- package/filepreview.BCslhbM5.js +0 -94
- package/flag.DyZLEgAw.js +0 -50
- package/input.DNdSFW5k.js +0 -175
- package/inputfile.CTXJ_ZSi.js +0 -18
- package/inputsearch.JLM0fNPt.js +0 -15
- package/link.CArLlIsR.js +0 -81
- package/navigationtablist.BerRIzu-.js +0 -10
- package/numberindicator.ZGVRSmqf.js +0 -36
- package/optioncheckbox.BQo8riVL.js +0 -48
- package/pagination.Dm1WnFhY.js +0 -14
- package/progressindicator.1JRFwf-H.js +0 -53
- package/radio.DxdVKoxe.js +0 -137
- package/select.DVuQMz7l.js +0 -14
- package/step.CDNmsF4m.js +0 -82
- package/stepper.D0kSuiYh.js +0 -16
- package/switch.pN105F5-.js +0 -66
- package/text.D_e3JBvf.js +0 -72
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as z } from "react/jsx-runtime";
|
|
3
3
|
import { d as G } from "./chunks/index.cKLI89Eg.js";
|
|
4
|
-
import { v as H, c as J } from "./chunks/CustomReactSelect.
|
|
4
|
+
import { v as H, c as J } from "./chunks/CustomReactSelect.DTAavYaz.js";
|
|
5
5
|
import { forwardRef as K } from "react";
|
|
6
6
|
const Q = K((N, S) => {
|
|
7
7
|
const t = G.c(38);
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { DetailsHTMLAttributes, ToggleEventHandler } from 'react';
|
|
2
|
+
import { Theme } from '../../types';
|
|
2
3
|
import { AccordionSize, ChevronPosition, Summary } from './Accordion.utils';
|
|
3
4
|
export interface AccordionProps extends DetailsHTMLAttributes<HTMLDetailsElement> {
|
|
4
5
|
/** Content to be displayed within the accordion. */
|
|
@@ -36,6 +37,10 @@ export interface AccordionProps extends DetailsHTMLAttributes<HTMLDetailsElement
|
|
|
36
37
|
* @default 'medium'
|
|
37
38
|
*/
|
|
38
39
|
size?: AccordionSize;
|
|
40
|
+
/** Defines the theme.
|
|
41
|
+
* @default 'light'
|
|
42
|
+
*/
|
|
43
|
+
theme?: Theme;
|
|
39
44
|
/**
|
|
40
45
|
* Event handler for the `toggle` event, which is fired when the open state of the accordion changes.
|
|
41
46
|
* This can be used to synchronize the internal state of the `DSAccordion` with external state management or to perform side effects when the accordion is toggled.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ButtonHTMLAttributes } from 'react';
|
|
2
|
-
import { IconName, SelectedAriaAttributes } from '../../types';
|
|
2
|
+
import { IconName, SelectedAriaAttributes, Theme } from '../../types';
|
|
3
3
|
import { IconProps } from '../Icon/Icon';
|
|
4
4
|
import { ActionButtonAriaAttribute, ActionButtonChevronDirection, ActionButtonIconPosition, ActionButtonIconSize, ActionButtonIndentLevel, ActionButtonWeight } from './ActionButton.utils';
|
|
5
5
|
export interface ActionButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
@@ -48,6 +48,10 @@ export interface ActionButtonProps extends ButtonHTMLAttributes<HTMLButtonElemen
|
|
|
48
48
|
* @default false
|
|
49
49
|
*/
|
|
50
50
|
stretched?: boolean;
|
|
51
|
+
/** Defines the theme.
|
|
52
|
+
* @default 'light'
|
|
53
|
+
*/
|
|
54
|
+
theme?: Theme;
|
|
51
55
|
/** Defines the weight. **Only available with `iconPosition='left'`**.
|
|
52
56
|
* @default 'normal'
|
|
53
57
|
*/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { CommonLinkProps } from '../LinkButton/LinkButton';
|
|
2
2
|
import { ActionLinkIconPosition, ActionLinkIconSize, ActionLinkIndentLevel, ActionLinkWeight } from './ActionLink.utils';
|
|
3
|
-
export interface ActionLinkProps extends Omit<CommonLinkProps, 'iconPosition'
|
|
3
|
+
export interface ActionLinkProps extends Omit<CommonLinkProps, 'iconPosition'> {
|
|
4
4
|
/** Content within the link. */
|
|
5
5
|
children: React.ReactNode;
|
|
6
6
|
/** The position of the icon. `iconPosition='top'` requires either an `iconName` or `iconSource` to be set.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ButtonProps } from './Button';
|
|
2
2
|
export declare const BUTTON_SIZE: readonly ["medium", "small"];
|
|
3
3
|
export type ButtonSize = (typeof BUTTON_SIZE)[number];
|
|
4
|
-
export declare const BUTTON_VARIANT: readonly ["highlight", "filled", "outline", "ghost", "navigation"];
|
|
4
|
+
export declare const BUTTON_VARIANT: readonly ["highlight", "filled", "outline", "ghost", "utility", "navigation"];
|
|
5
5
|
export type ButtonVariant = (typeof BUTTON_VARIANT)[number];
|
|
6
6
|
export type ButtonIconPosition = 'left' | 'right';
|
|
7
7
|
export type ButtonAriaAttribute = 'aria-label' | 'aria-expanded' | 'aria-pressed' | 'aria-haspopup';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { InputHTMLAttributes } from 'react';
|
|
2
|
-
import { BreakpointCustomizable } from '../../types';
|
|
2
|
+
import { BreakpointCustomizable, Theme } from '../../types';
|
|
3
3
|
export interface CheckboxProps extends InputHTMLAttributes<HTMLInputElement> {
|
|
4
4
|
/** Content displayed next to the checkbox. */
|
|
5
5
|
label: string;
|
|
@@ -35,6 +35,13 @@ export interface CheckboxProps extends InputHTMLAttributes<HTMLInputElement> {
|
|
|
35
35
|
/** Callback function called when the state of the checkbox changes. */
|
|
36
36
|
onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;
|
|
37
37
|
}
|
|
38
|
+
/** @internal Props including theme — not exported to consumers. */
|
|
39
|
+
export interface CheckboxPropsWithTheme extends CheckboxProps {
|
|
40
|
+
/** Defines the theme.
|
|
41
|
+
* @default 'light'
|
|
42
|
+
*/
|
|
43
|
+
theme?: Theme;
|
|
44
|
+
}
|
|
38
45
|
/**
|
|
39
46
|
* A control element that allows users to make a binary choice. It can either be checked or unchecked.
|
|
40
47
|
*
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { FieldsetHTMLAttributes, JSX } from 'react';
|
|
2
|
+
import { Theme } from '../../types/common-types';
|
|
2
3
|
import { FieldsetProps } from '../Fieldset/Fieldset';
|
|
3
4
|
export interface CheckboxGroupProps extends FieldsetHTMLAttributes<HTMLFieldSetElement> {
|
|
4
5
|
/** DSCheckbox elements within the checkbox group. */
|
|
@@ -57,6 +58,13 @@ export interface CheckboxGroupProps extends FieldsetHTMLAttributes<HTMLFieldSetE
|
|
|
57
58
|
/** Defines a system feedback message, shown when `invalid={true}`. */
|
|
58
59
|
systemFeedback?: string;
|
|
59
60
|
}
|
|
61
|
+
/** @internal Props including theme — not exported to consumers. */
|
|
62
|
+
export interface CheckboxGroupPropsWithTheme extends CheckboxGroupProps {
|
|
63
|
+
/** Defines the theme. When using `theme="dark"`, the `theme` prop must also be set on each `DSCheckbox` child.
|
|
64
|
+
* @default 'light'
|
|
65
|
+
*/
|
|
66
|
+
theme?: Theme;
|
|
67
|
+
}
|
|
60
68
|
/**
|
|
61
69
|
* The `DSCheckboxGroup` component offers a cohesive and accessible solution for grouping `DSCheckbox` elements,
|
|
62
70
|
* complete with customizable legends, direction options, and integrated validation feedback,
|
|
@@ -64,4 +72,4 @@ export interface CheckboxGroupProps extends FieldsetHTMLAttributes<HTMLFieldSetE
|
|
|
64
72
|
*
|
|
65
73
|
* Design in Figma: [Checkbox Group](https://www.figma.com/design/qXldpLO6gxHJNLdcXIPxYt/Core-Components-%F0%9F%92%A0?node-id=5626-11362&t=UBsmFURFENnuYSW1-4)
|
|
66
74
|
* */
|
|
67
|
-
export declare const DSCheckboxGroup: (
|
|
75
|
+
export declare const DSCheckboxGroup: (props: CheckboxGroupProps) => JSX.Element;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { HTMLAttributes } from 'react';
|
|
2
|
+
import { Theme } from '../../types';
|
|
2
3
|
import { Chip, ChipGroupAriaTranslations, ChipGroupLanguage, ChipGroupSelectionMode, ChipGroupSize } from './ChipGroup.utils';
|
|
3
4
|
interface ChipProps extends Omit<Chip, 'onClick'>, Omit<HTMLAttributes<HTMLDivElement>, 'id'> {
|
|
4
5
|
disableTooltips?: boolean;
|
|
@@ -7,6 +8,7 @@ interface ChipProps extends Omit<Chip, 'onClick'>, Omit<HTMLAttributes<HTMLDivEl
|
|
|
7
8
|
lang?: ChipGroupLanguage;
|
|
8
9
|
selectionMode: ChipGroupSelectionMode;
|
|
9
10
|
size?: ChipGroupSize;
|
|
11
|
+
theme?: Theme;
|
|
10
12
|
translations?: ChipGroupAriaTranslations;
|
|
11
13
|
}
|
|
12
14
|
export declare const DSChip: import('react').ForwardRefExoticComponent<ChipProps & import('react').RefAttributes<HTMLDivElement>>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { HTMLAttributes } from 'react';
|
|
2
|
-
import { BreakpointCustomizable } from '../../types';
|
|
2
|
+
import { BreakpointCustomizable, Theme } from '../../types';
|
|
3
3
|
import { Chip, ChipGroupAriaTranslations, ChipGroupLanguage, ChipGroupSelectionMode, ChipGroupSize } from './ChipGroup.utils';
|
|
4
4
|
export interface ChipGroupProps extends HTMLAttributes<HTMLDivElement> {
|
|
5
5
|
/** An array of Chip Objects containing the id and label and other optional parameters.
|
|
@@ -28,7 +28,10 @@ export interface ChipGroupProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
28
28
|
* @default false
|
|
29
29
|
*/
|
|
30
30
|
isRemovable?: boolean;
|
|
31
|
-
/** Sets language
|
|
31
|
+
/** Sets language for screen reader messages and ICU plural rule resolution.
|
|
32
|
+
* Use `'de'` or `'en'` for preconfigured translations, or any
|
|
33
|
+
* [BCP 47 language tag](https://www.rfc-editor.org/info/bcp47) (e.g. `'fr'`, `'pl'`, `'en-GB'`)
|
|
34
|
+
* when providing a custom `translations` object.
|
|
32
35
|
* @default 'en'
|
|
33
36
|
*/
|
|
34
37
|
lang?: ChipGroupLanguage;
|
|
@@ -45,6 +48,13 @@ export interface ChipGroupProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
45
48
|
/** Callback function called when the selection of the DSChipGroup changes. */
|
|
46
49
|
onChipsChange?: (chips: Chip[]) => void;
|
|
47
50
|
}
|
|
51
|
+
/** @internal Props including theme — not exported to consumers. */
|
|
52
|
+
export interface ChipGroupPropsWithTheme extends ChipGroupProps {
|
|
53
|
+
/** Defines the theme.
|
|
54
|
+
* @default 'light'
|
|
55
|
+
*/
|
|
56
|
+
theme?: Theme;
|
|
57
|
+
}
|
|
48
58
|
/**
|
|
49
59
|
* A component for selecting single or multiple chips, with options for selection (like radio buttons) or removal.
|
|
50
60
|
* Supports different sizes. Use icons sparingly to reduce cognitive load.
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { IconName } from '../../types';
|
|
2
|
+
import { DSLanguage } from '../../utils';
|
|
2
3
|
import { ChipGroupProps } from './ChipGroup';
|
|
3
4
|
type ValidationProps = Pick<ChipGroupProps, 'chips' | 'id' | 'label'>;
|
|
4
5
|
export declare const validateChipGroupProps: ({ chips, id, label, }: ValidationProps) => void;
|
|
@@ -21,37 +22,60 @@ export interface Chip {
|
|
|
21
22
|
export declare const CHIP_GROUP_SIZE: readonly ["medium", "small"];
|
|
22
23
|
export type ChipGroupSize = (typeof CHIP_GROUP_SIZE)[number];
|
|
23
24
|
export type ChipGroupSelectionMode = 'single' | 'multiple';
|
|
24
|
-
export type ChipGroupLanguage =
|
|
25
|
-
export type ChipGroupAriaTranslations =
|
|
26
|
-
|
|
25
|
+
export type ChipGroupLanguage = DSLanguage;
|
|
26
|
+
export type ChipGroupAriaTranslations = {
|
|
27
|
+
/** Word "disabled" used in state announcements. */
|
|
27
28
|
disabled: string;
|
|
29
|
+
/** Word "selected" used in state announcements. */
|
|
28
30
|
selected: string;
|
|
31
|
+
/** Word "not selected" used in state announcements. */
|
|
29
32
|
notSelected: string;
|
|
33
|
+
/** Word "removed" used in state announcements. */
|
|
30
34
|
removed: string;
|
|
31
|
-
|
|
35
|
+
/**
|
|
36
|
+
* Guidance for selecting/unselecting a chip via keyboard.
|
|
37
|
+
*
|
|
38
|
+
* Placeholder: `{action}` = the action label (e.g. selectAction/unselectAction).
|
|
39
|
+
*/
|
|
32
40
|
selectChip: string;
|
|
41
|
+
/** Action label for unselecting a chip. */
|
|
33
42
|
unselectAction: string;
|
|
43
|
+
/** Action label for selecting a chip. */
|
|
34
44
|
selectAction: string;
|
|
45
|
+
/** Guidance for adding an option to the selection. */
|
|
35
46
|
addToSelection: string;
|
|
47
|
+
/** Guidance for removing an option from the selection. */
|
|
36
48
|
removeFromSelection: string;
|
|
49
|
+
/** Guidance for removing the currently focused value. */
|
|
37
50
|
removeChip: string;
|
|
51
|
+
/** Tooltip text for a disabled chip. */
|
|
38
52
|
tooltipDisabled: string;
|
|
53
|
+
/** Tooltip text for a removable chip. */
|
|
39
54
|
tooltipRemovable: string;
|
|
55
|
+
/** Tooltip text for deactivating a property. */
|
|
40
56
|
tooltipDeactivate: string;
|
|
57
|
+
/** Tooltip text for activating a property. */
|
|
41
58
|
tooltipActivate: string;
|
|
42
|
-
|
|
43
|
-
|
|
59
|
+
/**
|
|
60
|
+
* Announced when items are selected.
|
|
61
|
+
* ICU plural: resolves correct plural form based on CLDR rules for the locale.
|
|
62
|
+
* Results in messages like "3 items selected" or "1 item selected".
|
|
63
|
+
*
|
|
64
|
+
* Placeholder: `{count}` = number of selected items.
|
|
65
|
+
*/
|
|
44
66
|
countSelected: string;
|
|
67
|
+
/**
|
|
68
|
+
* Announced when items remain.
|
|
69
|
+
* ICU plural: resolves correct plural form based on CLDR rules for the locale.
|
|
70
|
+
* Results in messages like "3 items remaining" or "1 item remaining".
|
|
71
|
+
*
|
|
72
|
+
* Placeholder: `{count}` = number of remaining items.
|
|
73
|
+
*/
|
|
45
74
|
countRemaining: string;
|
|
46
75
|
};
|
|
76
|
+
export declare const DS_CHIP_GROUP_TRANSLATIONS_EN: ChipGroupAriaTranslations;
|
|
47
77
|
export declare const DS_CHIP_GROUP_TRANSLATIONS_DE: ChipGroupAriaTranslations;
|
|
48
|
-
export declare const DS_CHIP_GROUP_TRANSLATIONS: Record<
|
|
49
|
-
export declare const getChipAriaLabel: (t: (key: keyof ChipGroupAriaTranslations,
|
|
50
|
-
export declare const getChipTooltip: (t: (key: keyof ChipGroupAriaTranslations,
|
|
51
|
-
/**
|
|
52
|
-
* Helper to get the correct plural form for item count.
|
|
53
|
-
* @param count - The number of items
|
|
54
|
-
* @returns The appropriate plural form (item_one or item_other)
|
|
55
|
-
*/
|
|
56
|
-
export declare const getItemPlural: (t: (key: keyof ChipGroupAriaTranslations, replacements?: string[]) => string, count: number) => string;
|
|
78
|
+
export declare const DS_CHIP_GROUP_TRANSLATIONS: Record<string, ChipGroupAriaTranslations>;
|
|
79
|
+
export declare const getChipAriaLabel: (t: (key: keyof ChipGroupAriaTranslations, values?: Record<string, string | number>) => string, label: string, disabled: boolean | undefined, isSelected: boolean | undefined, selectionMode: ChipGroupSelectionMode, isRemovable: boolean | undefined) => string;
|
|
80
|
+
export declare const getChipTooltip: (t: (key: keyof ChipGroupAriaTranslations, values?: Record<string, string | number>) => string, disabled: boolean | undefined, isSelected: boolean | undefined, isRemovable: boolean | undefined) => string;
|
|
57
81
|
export {};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { IconName } from '../../types';
|
|
2
|
+
import { DSLanguage } from '../../utils';
|
|
2
3
|
import { ComboboxProps } from './Combobox';
|
|
3
4
|
import { FilterOptionOption, GroupBase, OptionsOrGroups } from 'react-select';
|
|
4
5
|
export type ComboboxVariant = 'single' | 'multi';
|
|
@@ -31,35 +32,91 @@ export interface ComboboxOption {
|
|
|
31
32
|
}
|
|
32
33
|
export type ComboboxOptionsGroup = GroupBase<ComboboxOption>;
|
|
33
34
|
export type ComboboxOptionsOrOptGroups = OptionsOrGroups<ComboboxOption, ComboboxOptionsGroup>;
|
|
34
|
-
export type ComboboxLanguage =
|
|
35
|
-
export type ComboboxAriaTranslations =
|
|
36
|
-
|
|
35
|
+
export type ComboboxLanguage = DSLanguage;
|
|
36
|
+
export type ComboboxAriaTranslations = {
|
|
37
|
+
/** Placeholder text shown when no option is selected. */
|
|
37
38
|
placeholder: string;
|
|
39
|
+
/** Guidance for keyboard navigation through options. */
|
|
38
40
|
navigationGuidance: string;
|
|
41
|
+
/** Guidance for selecting the currently focused option. */
|
|
39
42
|
selectGuidance: string;
|
|
43
|
+
/** Guidance for exiting the menu. */
|
|
40
44
|
exitGuidance: string;
|
|
45
|
+
/** Guidance for using Tab to select and exit. */
|
|
41
46
|
tabGuidance: string;
|
|
42
|
-
|
|
47
|
+
/**
|
|
48
|
+
* Guidance announced when the input is focused.
|
|
49
|
+
* Uses ICU select to conditionally include search guidance.
|
|
50
|
+
*
|
|
51
|
+
* Placeholders: `{label}` = combobox label, `{isSearchable}` = ICU select (true/false).
|
|
52
|
+
*/
|
|
43
53
|
inputGuidance: string;
|
|
54
|
+
/**
|
|
55
|
+
* Announced when a disabled option is focused.
|
|
56
|
+
*
|
|
57
|
+
* Placeholder: `{label}` = the label of the disabled option.
|
|
58
|
+
*/
|
|
44
59
|
selectOptionDisabled: string;
|
|
60
|
+
/**
|
|
61
|
+
* Announced when a value is focused.
|
|
62
|
+
*
|
|
63
|
+
* Placeholder: `{label}` = the label of the focused option.
|
|
64
|
+
*/
|
|
45
65
|
focusValue: string;
|
|
66
|
+
/** Word "of" used in position announcements (e.g. "1 of 2 options"). */
|
|
46
67
|
of: string;
|
|
68
|
+
/** Word "disabled" used in state announcements. */
|
|
47
69
|
disabled: string;
|
|
70
|
+
/** Word "selected" used in state announcements. */
|
|
48
71
|
selected: string;
|
|
72
|
+
/** Word "deselected" used in state announcements. */
|
|
49
73
|
deselected: string;
|
|
74
|
+
/** Guidance for focusing selected values in multi-select mode. */
|
|
50
75
|
focusSelectedMultiGuidance: string;
|
|
76
|
+
/** Guidance for navigating between focused values. */
|
|
51
77
|
valueGuidance: string;
|
|
78
|
+
/** Guidance for removing the currently focused value. */
|
|
52
79
|
deleteGuidance: string;
|
|
80
|
+
/** Announced when all selected options have been cleared. */
|
|
53
81
|
clearAllOptions: string;
|
|
82
|
+
/**
|
|
83
|
+
* Hint appended to filter results.
|
|
84
|
+
*
|
|
85
|
+
* Placeholder: `{inputValue}` = the current search term.
|
|
86
|
+
*/
|
|
54
87
|
filterTermHint: string;
|
|
88
|
+
/** Announced when no options match the filter. */
|
|
55
89
|
filterNoOptions: string;
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
90
|
+
/**
|
|
91
|
+
* Announced when filter results are available.
|
|
92
|
+
* ICU plural: resolves correct plural form based on CLDR rules for the locale.
|
|
93
|
+
*
|
|
94
|
+
* Placeholder: `{count}` = number of results.
|
|
95
|
+
*/
|
|
60
96
|
resultsAvailable: string;
|
|
97
|
+
/**
|
|
98
|
+
* Announced when a single option is selected (used in onChange/onFocus messages).
|
|
99
|
+
*
|
|
100
|
+
* Placeholder: `{label}` = the selected option's label.
|
|
101
|
+
*/
|
|
102
|
+
optionSelected: string;
|
|
103
|
+
/**
|
|
104
|
+
* Announced when multiple options are selected (used in onChange/onFocus messages).
|
|
105
|
+
* ICU plural.
|
|
106
|
+
*
|
|
107
|
+
* Placeholders: `{count}` = number of options, `{labels}` = comma-separated labels.
|
|
108
|
+
*/
|
|
109
|
+
optionsSelected: string;
|
|
110
|
+
/**
|
|
111
|
+
* Announced to indicate the position of the focused option.
|
|
112
|
+
*
|
|
113
|
+
* Placeholders: `{index}` = current position, `{total}` = total options.
|
|
114
|
+
*/
|
|
115
|
+
optionPosition: string;
|
|
116
|
+
/** Label for the popover toggle button. */
|
|
61
117
|
togglePopover: string;
|
|
62
118
|
};
|
|
119
|
+
export declare const DS_COMBOBOX_TRANSLATIONS_EN: ComboboxAriaTranslations;
|
|
63
120
|
export declare const DS_COMBOBOX_TRANSLATIONS_DE: ComboboxAriaTranslations;
|
|
64
|
-
export declare const DS_COMBOBOX_TRANSLATIONS: Record<
|
|
121
|
+
export declare const DS_COMBOBOX_TRANSLATIONS: Record<string, ComboboxAriaTranslations>;
|
|
65
122
|
export {};
|
|
@@ -40,7 +40,11 @@ export interface CustomReactSelectProps<IsMulti extends boolean> extends PickedR
|
|
|
40
40
|
* @default false
|
|
41
41
|
*/
|
|
42
42
|
isMulti: boolean;
|
|
43
|
-
/** Sets language
|
|
43
|
+
/** Sets language for screen reader messages, the "No options found" message,
|
|
44
|
+
* and ICU plural rule resolution.
|
|
45
|
+
* Use `'de'` or `'en'` for preconfigured translations, or any
|
|
46
|
+
* [BCP 47 language tag](https://www.rfc-editor.org/info/bcp47) (e.g. `'fr'`, `'pl'`, `'en-GB'`)
|
|
47
|
+
* when providing a custom `translations` object.
|
|
44
48
|
* @default 'en'
|
|
45
49
|
*/
|
|
46
50
|
lang?: ComboboxLanguage;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { AriaLiveMessages, GroupBase } from 'react-select';
|
|
2
2
|
import { ComboboxAriaTranslations } from '../Combobox.utils';
|
|
3
|
-
export declare const defaultAriaLiveMessages: (translations: ComboboxAriaTranslations) => AriaLiveMessages<unknown, boolean, GroupBase<unknown>>;
|
|
3
|
+
export declare const defaultAriaLiveMessages: (translations: ComboboxAriaTranslations, locale: string) => AriaLiveMessages<unknown, boolean, GroupBase<unknown>>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FieldsetHTMLAttributes, JSX } from 'react';
|
|
2
|
-
import { BreakpointCustomizable } from '../../types';
|
|
2
|
+
import { BreakpointCustomizable, Theme } from '../../types';
|
|
3
3
|
import { Legend } from './Fieldset.utils';
|
|
4
4
|
export interface FieldsetProps extends FieldsetHTMLAttributes<HTMLFieldSetElement> {
|
|
5
5
|
/** Child elements within the fieldset. */
|
|
@@ -53,9 +53,16 @@ export interface FieldsetProps extends FieldsetHTMLAttributes<HTMLFieldSetElemen
|
|
|
53
53
|
/** Defines a system feedback message, shown when `invalid={true}`. */
|
|
54
54
|
systemFeedback?: string;
|
|
55
55
|
}
|
|
56
|
+
/** @internal Props including theme — not exported to consumers. */
|
|
57
|
+
export interface FieldsetPropsWithTheme extends FieldsetProps {
|
|
58
|
+
/** Defines the theme. When using `theme="dark"`, the `theme` prop must also be set on each child component that supports it.
|
|
59
|
+
* @default 'light'
|
|
60
|
+
*/
|
|
61
|
+
theme?: Theme;
|
|
62
|
+
}
|
|
56
63
|
/**
|
|
57
64
|
* The `DSFieldset` component is a versatile and accessible way to group related elements and labels in your forms.
|
|
58
65
|
*
|
|
59
66
|
* Design in Figma: [Fieldset](https://www.figma.com/design/Ie2r0R9QwjEc7O3nrFbXhV/Web-Pattern-Library?node-id=8-154)
|
|
60
67
|
* */
|
|
61
|
-
export declare const DSFieldset: (
|
|
68
|
+
export declare const DSFieldset: (props: FieldsetProps) => JSX.Element;
|
|
@@ -8,11 +8,11 @@ export interface FlagProps extends React.HTMLAttributes<HTMLSpanElement> {
|
|
|
8
8
|
/**
|
|
9
9
|
* Background color of the Flag. It can either be a predefined color token (recommended) or a custom color value (e.g. #F37A1F).
|
|
10
10
|
*
|
|
11
|
-
* Possible predefined values: `
|
|
11
|
+
* Possible predefined values: `status-info` `status-warning` `status-negative` `status-positive` `promo-highlight` `promo-neutral`
|
|
12
12
|
*
|
|
13
|
-
* @default '
|
|
13
|
+
* @default 'status-info'
|
|
14
14
|
*/
|
|
15
|
-
color
|
|
15
|
+
color?: FlagColor;
|
|
16
16
|
/** Name of the icon to display. */
|
|
17
17
|
iconName?: IconName;
|
|
18
18
|
/** URL or path for a custom icon. */
|
|
@@ -1,2 +1,7 @@
|
|
|
1
|
-
export declare const FLAG_COLOR: readonly ["
|
|
2
|
-
|
|
1
|
+
export declare const FLAG_COLOR: readonly ["status-info", "status-warning", "status-negative", "status-positive", "promo-highlight", "promo-neutral"];
|
|
2
|
+
/** @deprecated Use the new color names instead. These will be removed in the next stable release. */
|
|
3
|
+
export declare const DEPRECATED_FLAG_COLOR: readonly ["grey-light", "yellow-light", "red-light", "green-light", "orange-base"];
|
|
4
|
+
/** Maps deprecated color names to their new equivalents. */
|
|
5
|
+
export declare const DEPRECATED_FLAG_COLOR_MAP: Record<(typeof DEPRECATED_FLAG_COLOR)[number], (typeof FLAG_COLOR)[number]>;
|
|
6
|
+
export type DeprecatedFlagColor = (typeof DEPRECATED_FLAG_COLOR)[number];
|
|
7
|
+
export type FlagColor = (typeof FLAG_COLOR)[number] | DeprecatedFlagColor | (string & Record<never, never>);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { InputHTMLAttributes } from 'react';
|
|
2
|
-
import { BreakpointCustomizable, IconName, SelectedAriaAttributes } from '../../types';
|
|
2
|
+
import { BreakpointCustomizable, IconName, SelectedAriaAttributes, Theme } from '../../types';
|
|
3
3
|
import { IconProps } from '../Icon/Icon';
|
|
4
4
|
import { InputAriaAttribute, InputSize, SupportedInputTypes } from './Input.utils';
|
|
5
5
|
export interface InputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size'> {
|
|
@@ -91,6 +91,13 @@ export interface InputProps extends Omit<InputHTMLAttributes<HTMLInputElement>,
|
|
|
91
91
|
*/
|
|
92
92
|
type?: SupportedInputTypes;
|
|
93
93
|
}
|
|
94
|
+
/** @internal Props including theme — not exported to consumers. */
|
|
95
|
+
export interface InputPropsWithTheme extends InputProps {
|
|
96
|
+
/** Defines the theme.
|
|
97
|
+
* @default 'light'
|
|
98
|
+
*/
|
|
99
|
+
theme?: Theme;
|
|
100
|
+
}
|
|
94
101
|
/**
|
|
95
102
|
* The `<DSInput />` component is a versatile input field that allows users to enter and edit text.
|
|
96
103
|
* It comes in two sizes (medium & small) and supports various customizations including an action button,
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { JSX } from 'react';
|
|
2
|
+
import { Theme } from '../../../utils/theme';
|
|
2
3
|
import { FileWithUploadMeta } from '../InputFile';
|
|
3
4
|
import { InputFileTranslations } from '../InputFile.utils';
|
|
4
5
|
import { ProgressIndicatorVariant } from './ProgressIndicator/ProgressIndicator';
|
|
@@ -8,7 +9,8 @@ export interface FileListProps {
|
|
|
8
9
|
*/
|
|
9
10
|
files: FileWithUploadMeta[];
|
|
10
11
|
onRemoveFile: (index: number) => void;
|
|
11
|
-
t: (key: keyof InputFileTranslations,
|
|
12
|
+
t: (key: keyof InputFileTranslations, values?: Record<string, string | number>) => string;
|
|
12
13
|
showProgress?: ProgressIndicatorVariant;
|
|
14
|
+
theme?: Theme;
|
|
13
15
|
}
|
|
14
|
-
export declare const FileList: ({ files, onRemoveFile, t, showProgress, }: FileListProps) => JSX.Element;
|
|
16
|
+
export declare const FileList: ({ files, onRemoveFile, t, showProgress, theme, }: FileListProps) => JSX.Element;
|
|
@@ -1,15 +1,21 @@
|
|
|
1
1
|
import { JSX } from 'react';
|
|
2
|
+
import { Theme } from '../../../../utils/theme';
|
|
2
3
|
import { InputFileTranslations } from '../../InputFile.utils';
|
|
3
4
|
export interface FilePreviewProps {
|
|
4
5
|
/**
|
|
5
6
|
* The file object to preview. Used to determine file type and generate preview.
|
|
6
7
|
*/
|
|
7
8
|
file: File;
|
|
8
|
-
|
|
9
|
+
/**
|
|
10
|
+
* Defines the theme.
|
|
11
|
+
* @default 'light'
|
|
12
|
+
*/
|
|
13
|
+
theme?: Theme;
|
|
14
|
+
t: (key: keyof InputFileTranslations, values?: Record<string, string | number>) => string;
|
|
9
15
|
}
|
|
10
16
|
/**
|
|
11
17
|
* Renders a preview for a file based on its type and extension.
|
|
12
18
|
* For displayable images, shows an actual image preview with error fallback.
|
|
13
19
|
* For other file types, shows an appropriate icon.
|
|
14
20
|
*/
|
|
15
|
-
export declare const FilePreview: ({ file, t }: FilePreviewProps) => JSX.Element;
|
|
21
|
+
export declare const FilePreview: ({ file, theme, t, }: FilePreviewProps) => JSX.Element;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { JSX } from 'react';
|
|
2
|
+
import { Theme } from '../../../../utils/theme';
|
|
2
3
|
import { InputFileTranslations } from '../../InputFile.utils';
|
|
3
4
|
export type ProgressIndicatorStatus = 'uploading' | 'error';
|
|
4
5
|
export type ProgressIndicatorVariant = 'bar' | 'text';
|
|
@@ -19,7 +20,12 @@ export interface ProgressIndicatorProps extends React.HTMLAttributes<HTMLDivElem
|
|
|
19
20
|
* Variant of the progress indicator to display: 'bar' or 'text'
|
|
20
21
|
*/
|
|
21
22
|
variant: ProgressIndicatorVariant;
|
|
22
|
-
|
|
23
|
+
/**
|
|
24
|
+
* Defines the theme.
|
|
25
|
+
* @default 'light'
|
|
26
|
+
*/
|
|
27
|
+
theme?: Theme;
|
|
28
|
+
t: (key: keyof InputFileTranslations, values?: Record<string, string | number>) => string;
|
|
23
29
|
}
|
|
24
30
|
/**
|
|
25
31
|
* Accessible progress indicator for file uploads.
|
|
@@ -31,4 +37,4 @@ export interface ProgressIndicatorProps extends React.HTMLAttributes<HTMLDivElem
|
|
|
31
37
|
* - `aria-valuenow` reflects the provided percent value.
|
|
32
38
|
* - Visual percentage text remains for sighted users; screen readers rely on `aria-label` and `aria-valuenow`.
|
|
33
39
|
*/
|
|
34
|
-
export declare const ProgressIndicator: ({ className, fileName, id, percent, progressStatus, variant, t, }: ProgressIndicatorProps) => JSX.Element | null;
|
|
40
|
+
export declare const ProgressIndicator: ({ className, fileName, id, percent, progressStatus, variant, theme, t, }: ProgressIndicatorProps) => JSX.Element | null;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { InputHTMLAttributes } from 'react';
|
|
2
|
-
import { BreakpointCustomizable } from '../../types';
|
|
2
|
+
import { BreakpointCustomizable, Theme } from '../../types';
|
|
3
3
|
import { ButtonVariant } from '../Button/Button.utils';
|
|
4
4
|
import { ProgressIndicatorVariant } from './FileList/ProgressIndicator/ProgressIndicator';
|
|
5
5
|
import { InputFileLanguage, InputFileTranslations } from './InputFile.utils';
|
|
@@ -55,7 +55,10 @@ export interface InputFileProps extends InputHTMLAttributes<HTMLInputElement> {
|
|
|
55
55
|
* @default {base: true, m: false}
|
|
56
56
|
*/
|
|
57
57
|
isHintOutsideDropzone?: BreakpointCustomizable<boolean>;
|
|
58
|
-
/** Sets language
|
|
58
|
+
/** Sets language for messages and ICU plural rule resolution.
|
|
59
|
+
* Use `'de'` or `'en'` for preconfigured translations, or any
|
|
60
|
+
* [BCP 47 language tag](https://www.rfc-editor.org/info/bcp47) (e.g. `'fr'`, `'pl'`, `'en-GB'`)
|
|
61
|
+
* when providing a custom `translations` object.
|
|
59
62
|
* @default 'en'
|
|
60
63
|
*/
|
|
61
64
|
lang?: InputFileLanguage;
|
|
@@ -99,6 +102,13 @@ export interface InputFileProps extends InputHTMLAttributes<HTMLInputElement> {
|
|
|
99
102
|
/** Callback function invoked when files are selected. */
|
|
100
103
|
onFilesSelect?: (files: FileWithUploadMeta[]) => void;
|
|
101
104
|
}
|
|
105
|
+
/** @internal Props including theme — not exported to consumers. */
|
|
106
|
+
export interface InputFilePropsWithTheme extends InputFileProps {
|
|
107
|
+
/** Defines the theme.
|
|
108
|
+
* @default 'light'
|
|
109
|
+
*/
|
|
110
|
+
theme?: Theme;
|
|
111
|
+
}
|
|
102
112
|
export type FileUploadStatus = 'uploading' | 'error' | 'success';
|
|
103
113
|
export interface FileWithUploadMeta extends File {
|
|
104
114
|
/** System feedback shown to the user. */
|
|
@@ -1,43 +1,61 @@
|
|
|
1
|
+
import { DSLanguage } from '../../utils';
|
|
1
2
|
import { InputFileProps } from './InputFile';
|
|
2
|
-
export type InputFileLanguage =
|
|
3
|
-
export type InputFileTranslations =
|
|
4
|
-
|
|
3
|
+
export type InputFileLanguage = DSLanguage;
|
|
4
|
+
export type InputFileTranslations = {
|
|
5
|
+
/** Instructions for the drag-and-drop area. */
|
|
5
6
|
dragAndDropInstructions: string;
|
|
7
|
+
/** Feedback message when file exceeds maximum size. */
|
|
6
8
|
feedbackFileSize: string;
|
|
9
|
+
/** Feedback message when file type is not allowed. */
|
|
7
10
|
feedbackFileType: string;
|
|
11
|
+
/**
|
|
12
|
+
* Label for the button to remove a file from selected files.
|
|
13
|
+
*
|
|
14
|
+
* Placeholder: `{fileName}` = the name of the file.
|
|
15
|
+
*/
|
|
8
16
|
fileListRemoveSelectionButtonLabel: string;
|
|
17
|
+
/**
|
|
18
|
+
* Label for the button to cancel an ongoing upload.
|
|
19
|
+
*
|
|
20
|
+
* Placeholder: `{fileName}` = the name of the file.
|
|
21
|
+
*/
|
|
9
22
|
fileListCancelUploadButtonLabel: string;
|
|
23
|
+
/**
|
|
24
|
+
* Label for the button to delete a file.
|
|
25
|
+
*
|
|
26
|
+
* Placeholder: `{fileName}` = the name of the file.
|
|
27
|
+
*/
|
|
10
28
|
fileListDeleteFileButtonLabel: string;
|
|
29
|
+
/**
|
|
30
|
+
* Announced when a file upload is in an indeterminate state.
|
|
31
|
+
*
|
|
32
|
+
* Placeholder: `{fileName}` = the name of the file.
|
|
33
|
+
*/
|
|
11
34
|
fileListIndeterminate: string;
|
|
35
|
+
/**
|
|
36
|
+
* Alt text for a file preview image.
|
|
37
|
+
*
|
|
38
|
+
* Placeholder: `{fileName}` = the name of the file.
|
|
39
|
+
*/
|
|
12
40
|
fileListPreviewAltText: string;
|
|
41
|
+
/** Hint text announced when files are selected. */
|
|
13
42
|
filesSelectedHint: string;
|
|
43
|
+
/** Word "required" used in form field announcements. */
|
|
14
44
|
required: string;
|
|
45
|
+
/** Label for the upload status section. */
|
|
15
46
|
uploadStatus: string;
|
|
47
|
+
/** Text shown while a file is uploading. */
|
|
16
48
|
uploading: string;
|
|
49
|
+
/** Text shown when upload is complete. */
|
|
17
50
|
success: string;
|
|
51
|
+
/** Text for the retry upload action. */
|
|
18
52
|
retry: string;
|
|
53
|
+
/** Label for the popover toggle button. */
|
|
19
54
|
togglePopover: string;
|
|
20
55
|
};
|
|
21
|
-
export declare const
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
feedbackFileType: string;
|
|
25
|
-
fileListRemoveSelectionButtonLabel: string;
|
|
26
|
-
fileListCancelUploadButtonLabel: string;
|
|
27
|
-
fileListDeleteFileButtonLabel: string;
|
|
28
|
-
fileListIndeterminate: string;
|
|
29
|
-
fileListPreviewAltText: string;
|
|
30
|
-
filesSelectedHint: string;
|
|
31
|
-
required: string;
|
|
32
|
-
uploadStatus: string;
|
|
33
|
-
uploading: string;
|
|
34
|
-
success: string;
|
|
35
|
-
retry: string;
|
|
36
|
-
togglePopover: string;
|
|
37
|
-
};
|
|
38
|
-
export declare const DS_INPUT_FILE_TRANSLATIONS: {
|
|
39
|
-
[key in InputFileLanguage]: InputFileTranslations;
|
|
40
|
-
};
|
|
56
|
+
export declare const DS_INPUT_FILE_TRANSLATIONS_EN: InputFileTranslations;
|
|
57
|
+
export declare const DS_INPUT_FILE_TRANSLATIONS_DE: InputFileTranslations;
|
|
58
|
+
export declare const DS_INPUT_FILE_TRANSLATIONS: Record<string, InputFileTranslations>;
|
|
41
59
|
/**
|
|
42
60
|
* @param file the File you just got from input.files[0]
|
|
43
61
|
* @param acceptAttr the literal string from your <input accept="…">
|