@postenbring/hedwig-react 0.0.81 → 0.0.83
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/accordion/accordion-content.d.ts +6 -2
- package/dist/accordion/accordion-content.d.ts.map +1 -0
- package/dist/accordion/accordion-header.d.ts +6 -2
- package/dist/accordion/accordion-header.d.ts.map +1 -0
- package/dist/accordion/accordion-item.d.ts +24 -3
- package/dist/accordion/accordion-item.d.ts.map +1 -0
- package/dist/accordion/accordion.d.ts +44 -2
- package/dist/accordion/accordion.d.ts.map +1 -0
- package/dist/accordion/accordion.js +102 -4
- package/dist/accordion/accordion.js.map +1 -1
- package/dist/accordion/accordion.mjs +5 -1
- package/dist/accordion/context.d.ts +7 -2
- package/dist/accordion/context.d.ts.map +1 -0
- package/dist/accordion/index.d.ts +9 -9
- package/dist/accordion/index.d.ts.map +1 -0
- package/dist/accordion/index.js +52 -53
- package/dist/accordion/index.js.map +1 -1
- package/dist/accordion/index.mjs +7 -7
- package/dist/badge/badge.d.ts +21 -5
- package/dist/badge/badge.d.ts.map +1 -0
- package/dist/badge/index.d.ts +3 -6
- package/dist/badge/index.d.ts.map +1 -0
- package/dist/box/box.d.ts +50 -4
- package/dist/box/box.d.ts.map +1 -0
- package/dist/box/box.js +15 -14
- package/dist/box/box.js.map +1 -1
- package/dist/box/box.mjs +1 -1
- package/dist/box/index.d.ts +3 -4
- package/dist/box/index.d.ts.map +1 -0
- package/dist/box/index.js +16 -19
- package/dist/box/index.js.map +1 -1
- package/dist/box/index.mjs +4 -5
- package/dist/breadcrumbs/breadcrumbs.d.ts +33 -2
- package/dist/breadcrumbs/breadcrumbs.d.ts.map +1 -0
- package/dist/breadcrumbs/index.d.ts +3 -2
- package/dist/breadcrumbs/index.d.ts.map +1 -0
- package/dist/button/button.d.ts +33 -3
- package/dist/button/button.d.ts.map +1 -0
- package/dist/button/index.d.ts +3 -3
- package/dist/button/index.d.ts.map +1 -0
- package/dist/card/card.d.ts +69 -12
- package/dist/card/card.d.ts.map +1 -0
- package/dist/card/card.js +17 -6
- package/dist/card/card.js.map +1 -1
- package/dist/card/card.mjs +1 -1
- package/dist/card/index.d.ts +3 -12
- package/dist/card/index.d.ts.map +1 -0
- package/dist/card/index.js +18 -19
- package/dist/card/index.js.map +1 -1
- package/dist/card/index.mjs +4 -5
- package/dist/{chunk-6R7AXKBR.mjs → chunk-35TXKAUH.mjs} +2 -2
- package/dist/chunk-35TXKAUH.mjs.map +1 -0
- package/dist/{chunk-XC3UHH2U.mjs → chunk-3WVRY6CC.mjs} +4 -4
- package/dist/{chunk-XC3UHH2U.mjs.map → chunk-3WVRY6CC.mjs.map} +1 -1
- package/dist/{chunk-67TP3E2D.mjs → chunk-6FBPKLWB.mjs} +3 -3
- package/dist/chunk-6FBPKLWB.mjs.map +1 -0
- package/dist/chunk-7YWW46R3.mjs +1 -0
- package/dist/{chunk-ENKVTAJB.mjs → chunk-AJWSQEDP.mjs} +18 -17
- package/dist/chunk-AJWSQEDP.mjs.map +1 -0
- package/dist/chunk-ARHJZUZG.mjs +1 -0
- package/dist/{chunk-4WQWU5TL.mjs → chunk-AXQCREUJ.mjs} +2 -2
- package/dist/chunk-AXQCREUJ.mjs.map +1 -0
- package/dist/chunk-BCFV6VOE.mjs +1 -0
- package/dist/{chunk-F2C3KZFX.mjs → chunk-BVPSZ3JI.mjs} +2 -2
- package/dist/chunk-BVPSZ3JI.mjs.map +1 -0
- package/dist/{chunk-7JRS4WEB.mjs → chunk-C34HEQXO.mjs} +33 -29
- package/dist/chunk-C34HEQXO.mjs.map +1 -0
- package/dist/chunk-CYDWEPFL.mjs +1 -0
- package/dist/{chunk-PLXB3TNA.mjs → chunk-D7QPJIUZ.mjs} +5 -5
- package/dist/{chunk-PLXB3TNA.mjs.map → chunk-D7QPJIUZ.mjs.map} +1 -1
- package/dist/{chunk-GSJPTZT3.mjs → chunk-FC4CEI2V.mjs} +34 -19
- package/dist/chunk-FC4CEI2V.mjs.map +1 -0
- package/dist/chunk-FYFJ75NX.mjs +1 -0
- package/dist/chunk-FYFJ75NX.mjs.map +1 -0
- package/dist/chunk-G65EYZFQ.mjs +1 -0
- package/dist/chunk-G65EYZFQ.mjs.map +1 -0
- package/dist/chunk-H3E546OT.mjs +1 -0
- package/dist/chunk-H3E546OT.mjs.map +1 -0
- package/dist/chunk-HQVL3ZJ2.mjs +1 -0
- package/dist/chunk-HQVL3ZJ2.mjs.map +1 -0
- package/dist/{chunk-KPGSRU4I.mjs → chunk-M3Y3XOGC.mjs} +13 -1
- package/dist/chunk-M3Y3XOGC.mjs.map +1 -0
- package/dist/{chunk-CIHZDFSQ.mjs → chunk-NU6OSFAU.mjs} +20 -9
- package/dist/chunk-NU6OSFAU.mjs.map +1 -0
- package/dist/{chunk-XUWZ4HGD.mjs → chunk-OGZ2NBMH.mjs} +49 -46
- package/dist/chunk-OGZ2NBMH.mjs.map +1 -0
- package/dist/{chunk-3MQKXNZ6.mjs → chunk-QZZIOBF4.mjs} +13 -1
- package/dist/chunk-QZZIOBF4.mjs.map +1 -0
- package/dist/chunk-RC76SXBP.mjs +1 -0
- package/dist/chunk-RC76SXBP.mjs.map +1 -0
- package/dist/{chunk-TQDUBRCZ.mjs → chunk-SQ63E7KM.mjs} +24 -22
- package/dist/chunk-SQ63E7KM.mjs.map +1 -0
- package/dist/{chunk-DEX36MFK.mjs → chunk-TDXU2IC6.mjs} +3 -4
- package/dist/chunk-TDXU2IC6.mjs.map +1 -0
- package/dist/{chunk-ES6ISHOV.mjs → chunk-UP3M3NEZ.mjs} +14 -13
- package/dist/{chunk-ES6ISHOV.mjs.map → chunk-UP3M3NEZ.mjs.map} +1 -1
- package/dist/chunk-ZKMFJZSH.mjs +1 -0
- package/dist/chunk-ZKMFJZSH.mjs.map +1 -0
- package/dist/description-list/description-list.d.ts +42 -2
- package/dist/description-list/description-list.d.ts.map +1 -0
- package/dist/description-list/index.d.ts +3 -2
- package/dist/description-list/index.d.ts.map +1 -0
- package/dist/footer/footer.d.ts +67 -7
- package/dist/footer/footer.d.ts.map +1 -0
- package/dist/footer/footer.js +79 -76
- package/dist/footer/footer.js.map +1 -1
- package/dist/footer/footer.mjs +4 -4
- package/dist/footer/index.d.ts +3 -7
- package/dist/footer/index.d.ts.map +1 -0
- package/dist/footer/index.js +80 -84
- package/dist/footer/index.js.map +1 -1
- package/dist/footer/index.mjs +7 -8
- package/dist/form/checkbox/checkbox.d.ts +28 -2
- package/dist/form/checkbox/checkbox.d.ts.map +1 -0
- package/dist/form/checkbox/index.d.ts +3 -2
- package/dist/form/checkbox/index.d.ts.map +1 -0
- package/dist/form/date-picker/date-picker.d.ts +33 -2
- package/dist/form/date-picker/date-picker.d.ts.map +1 -0
- package/dist/form/date-picker/date-picker.js +1 -1
- package/dist/form/date-picker/date-picker.js.map +1 -1
- package/dist/form/date-picker/date-picker.mjs +2 -2
- package/dist/form/date-picker/index.d.ts +3 -2
- package/dist/form/date-picker/index.d.ts.map +1 -0
- package/dist/form/date-picker/index.js +1 -1
- package/dist/form/date-picker/index.js.map +1 -1
- package/dist/form/date-picker/index.mjs +2 -2
- package/dist/form/error-message/error-message.d.ts +8 -2
- package/dist/form/error-message/error-message.d.ts.map +1 -0
- package/dist/form/error-message/index.d.ts +3 -2
- package/dist/form/error-message/index.d.ts.map +1 -0
- package/dist/form/fieldset/fieldset.d.ts +22 -3
- package/dist/form/fieldset/fieldset.d.ts.map +1 -0
- package/dist/form/fieldset/index.d.ts +3 -3
- package/dist/form/fieldset/index.d.ts.map +1 -0
- package/dist/form/index.d.ts +9 -20
- package/dist/form/index.d.ts.map +1 -0
- package/dist/form/index.js +1 -1
- package/dist/form/index.js.map +1 -1
- package/dist/form/index.mjs +2 -2
- package/dist/form/input/index.d.ts +3 -2
- package/dist/form/input/index.d.ts.map +1 -0
- package/dist/form/input/input.d.ts +5 -2
- package/dist/form/input/input.d.ts.map +1 -0
- package/dist/form/input-group/index.d.ts +3 -2
- package/dist/form/input-group/index.d.ts.map +1 -0
- package/dist/form/input-group/input-group.d.ts +27 -2
- package/dist/form/input-group/input-group.d.ts.map +1 -0
- package/dist/form/radiobutton/index.d.ts +5 -5
- package/dist/form/radiobutton/index.d.ts.map +1 -0
- package/dist/form/radiobutton/radiobutton.d.ts +17 -2
- package/dist/form/radiobutton/radiobutton.d.ts.map +1 -0
- package/dist/form/radiobutton/radiogroup.d.ts +24 -3
- package/dist/form/radiobutton/radiogroup.d.ts.map +1 -0
- package/dist/form/select/index.d.ts +3 -2
- package/dist/form/select/index.d.ts.map +1 -0
- package/dist/form/select/select.d.ts +9 -2
- package/dist/form/select/select.d.ts.map +1 -0
- package/dist/form/textarea/index.d.ts +3 -2
- package/dist/form/textarea/index.d.ts.map +1 -0
- package/dist/form/textarea/textarea.d.ts +5 -2
- package/dist/form/textarea/textarea.d.ts.map +1 -0
- package/dist/help-text/help-text.d.ts +51 -1
- package/dist/help-text/help-text.d.ts.map +1 -0
- package/dist/help-text/help-text.js +17 -20
- package/dist/help-text/help-text.js.map +1 -1
- package/dist/help-text/help-text.mjs +3 -3
- package/dist/help-text/index.d.ts +3 -1
- package/dist/help-text/index.d.ts.map +1 -0
- package/dist/help-text/index.js +17 -20
- package/dist/help-text/index.js.map +1 -1
- package/dist/help-text/index.mjs +3 -3
- package/dist/index-no-css.d.ts +26 -128
- package/dist/index-no-css.d.ts.map +1 -0
- package/dist/index-no-css.js +385 -398
- package/dist/index-no-css.js.map +1 -1
- package/dist/index-no-css.mjs +70 -68
- package/dist/index.d.ts +11 -128
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +385 -398
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +70 -68
- package/dist/index.mjs.map +1 -1
- package/dist/layout/container/container.d.ts +23 -2
- package/dist/layout/container/container.d.ts.map +1 -0
- package/dist/layout/grid/grid.d.ts +101 -4
- package/dist/layout/grid/grid.d.ts.map +1 -0
- package/dist/layout/grid/grid.js +11 -10
- package/dist/layout/grid/grid.js.map +1 -1
- package/dist/layout/grid/grid.mjs +1 -1
- package/dist/layout/grid/index.d.ts +3 -4
- package/dist/layout/grid/index.d.ts.map +1 -0
- package/dist/layout/grid/index.js +12 -15
- package/dist/layout/grid/index.js.map +1 -1
- package/dist/layout/grid/index.mjs +4 -5
- package/dist/layout/index.d.ts +4 -10
- package/dist/layout/index.d.ts.map +1 -0
- package/dist/layout/index.js +12 -15
- package/dist/layout/index.js.map +1 -1
- package/dist/layout/index.mjs +4 -5
- package/dist/layout/responsive.d.ts +10 -2
- package/dist/layout/responsive.d.ts.map +1 -0
- package/dist/layout/spacing.d.ts +33 -3
- package/dist/layout/spacing.d.ts.map +1 -0
- package/dist/layout/stack/index.d.ts +3 -4
- package/dist/layout/stack/index.d.ts.map +1 -0
- package/dist/layout/stack/stack.d.ts +62 -4
- package/dist/layout/stack/stack.d.ts.map +1 -0
- package/dist/link/index.d.ts +3 -2
- package/dist/link/index.d.ts.map +1 -0
- package/dist/link/link.d.ts +20 -2
- package/dist/link/link.d.ts.map +1 -0
- package/dist/list/index.d.ts +5 -5
- package/dist/list/index.d.ts.map +1 -0
- package/dist/list/link-list.d.ts +12 -2
- package/dist/list/link-list.d.ts.map +1 -0
- package/dist/list/list.d.ts +40 -3
- package/dist/list/list.d.ts.map +1 -0
- package/dist/message/index.d.ts +3 -3
- package/dist/message/index.d.ts.map +1 -0
- package/dist/message/index.js +36 -38
- package/dist/message/index.js.map +1 -1
- package/dist/message/index.mjs +5 -6
- package/dist/message/message.d.ts +36 -4
- package/dist/message/message.d.ts.map +1 -0
- package/dist/message/message.js +35 -32
- package/dist/message/message.js.map +1 -1
- package/dist/message/message.mjs +2 -2
- package/dist/modal/index.d.ts +3 -5
- package/dist/modal/index.d.ts.map +1 -0
- package/dist/modal/index.js +61 -63
- package/dist/modal/index.js.map +1 -1
- package/dist/modal/index.mjs +6 -7
- package/dist/modal/modal.d.ts +81 -5
- package/dist/modal/modal.d.ts.map +1 -0
- package/dist/modal/modal.js +60 -56
- package/dist/modal/modal.js.map +1 -1
- package/dist/modal/modal.mjs +3 -3
- package/dist/navbar/icons.d.ts +3 -2
- package/dist/navbar/icons.d.ts.map +1 -0
- package/dist/navbar/index.d.ts +4 -13
- package/dist/navbar/index.d.ts.map +1 -0
- package/dist/navbar/index.js +145 -146
- package/dist/navbar/index.js.map +1 -1
- package/dist/navbar/index.mjs +6 -7
- package/dist/navbar/navbar-expandable-menu.d.ts +35 -7
- package/dist/navbar/navbar-expandable-menu.d.ts.map +1 -0
- package/dist/navbar/navbar-expandable-menu.js +1 -1
- package/dist/navbar/navbar-expandable-menu.js.map +1 -1
- package/dist/navbar/navbar-expandable-menu.mjs +2 -2
- package/dist/navbar/navbar.d.ts +130 -9
- package/dist/navbar/navbar.d.ts.map +1 -0
- package/dist/navbar/navbar.js +237 -28
- package/dist/navbar/navbar.js.map +1 -1
- package/dist/navbar/navbar.mjs +4 -1
- package/dist/show-more/index.d.ts +5 -4
- package/dist/show-more/index.d.ts.map +1 -0
- package/dist/show-more/index.js +3 -3
- package/dist/show-more/index.js.map +1 -1
- package/dist/show-more/index.mjs +2 -2
- package/dist/show-more/show-more.d.ts +42 -2
- package/dist/show-more/show-more.d.ts.map +1 -0
- package/dist/skeleton/index.d.ts +3 -2
- package/dist/skeleton/index.d.ts.map +1 -0
- package/dist/skeleton/skeleton.d.ts +67 -2
- package/dist/skeleton/skeleton.d.ts.map +1 -0
- package/dist/step-indicator/index.d.ts +3 -1
- package/dist/step-indicator/index.d.ts.map +1 -0
- package/dist/step-indicator/step-indicator.d.ts +36 -1
- package/dist/step-indicator/step-indicator.d.ts.map +1 -0
- package/dist/styled-html/index.d.ts +3 -2
- package/dist/styled-html/index.d.ts.map +1 -0
- package/dist/styled-html/styled-html.d.ts +36 -2
- package/dist/styled-html/styled-html.d.ts.map +1 -0
- package/dist/table/index.d.ts +3 -1
- package/dist/table/index.d.ts.map +1 -0
- package/dist/table/table.d.ts +25 -1
- package/dist/table/table.d.ts.map +1 -0
- package/dist/tabs/context.d.ts +8 -3
- package/dist/tabs/context.d.ts.map +1 -0
- package/dist/tabs/index.d.ts +7 -10
- package/dist/tabs/index.d.ts.map +1 -0
- package/dist/tabs/index.js +35 -38
- package/dist/tabs/index.js.map +1 -1
- package/dist/tabs/index.mjs +6 -6
- package/dist/tabs/tabs-content.d.ts +26 -4
- package/dist/tabs/tabs-content.d.ts.map +1 -0
- package/dist/tabs/tabs-list.d.ts +21 -4
- package/dist/tabs/tabs-list.d.ts.map +1 -0
- package/dist/tabs/tabs-list.js +1 -1
- package/dist/tabs/tabs-list.js.map +1 -1
- package/dist/tabs/tabs-list.mjs +2 -2
- package/dist/tabs/tabs.d.ts +26 -2
- package/dist/tabs/tabs.d.ts.map +1 -0
- package/dist/tabs/tabs.js +205 -8
- package/dist/tabs/tabs.js.map +1 -1
- package/dist/tabs/tabs.mjs +4 -1
- package/dist/text/index.d.ts +4 -2
- package/dist/text/index.d.ts.map +1 -0
- package/dist/text/text.d.ts +58 -2
- package/dist/text/text.d.ts.map +1 -0
- package/dist/utils/auto-animate-height.d.ts +33 -0
- package/dist/utils/auto-animate-height.d.ts.map +1 -0
- package/dist/{utilities → utils}/auto-animate-height.js +3 -3
- package/dist/utils/auto-animate-height.js.map +1 -0
- package/dist/utils/auto-animate-height.mjs +9 -0
- package/dist/utils/auto-animate-height.mjs.map +1 -0
- package/dist/utils/index.d.ts +4 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/{utilities → utils}/index.js +81 -11
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/index.mjs +19 -0
- package/dist/utils/index.mjs.map +1 -0
- package/dist/utils/utils.d.ts +24 -0
- package/dist/utils/utils.d.ts.map +1 -0
- package/dist/{utils.js → utils/utils.js} +1 -3
- package/dist/utils/utils.js.map +1 -0
- package/dist/utils/utils.mjs +14 -0
- package/dist/utils/utils.mjs.map +1 -0
- package/dist/warning-banner/index.d.ts +3 -2
- package/dist/warning-banner/index.d.ts.map +1 -0
- package/dist/warning-banner/index.js +16 -19
- package/dist/warning-banner/index.js.map +1 -1
- package/dist/warning-banner/index.mjs +3 -3
- package/dist/warning-banner/warning-banner.d.ts +8 -2
- package/dist/warning-banner/warning-banner.d.ts.map +1 -0
- package/dist/warning-banner/warning-banner.js +16 -19
- package/dist/warning-banner/warning-banner.js.map +1 -1
- package/dist/warning-banner/warning-banner.mjs +3 -3
- package/package.json +12 -8
- package/src/accordion/accordion-content.tsx +31 -0
- package/src/accordion/accordion-header.tsx +36 -0
- package/src/accordion/accordion-item.tsx +62 -0
- package/src/accordion/accordion.stories.tsx +154 -0
- package/src/accordion/accordion.tsx +68 -0
- package/src/accordion/context.ts +8 -0
- package/src/accordion/index.tsx +9 -0
- package/src/badge/badge.stories.tsx +44 -0
- package/src/badge/badge.tsx +63 -0
- package/src/badge/index.tsx +3 -0
- package/src/box/box.stories.tsx +112 -0
- package/src/box/box.tsx +122 -0
- package/src/box/index.tsx +3 -0
- package/src/breadcrumbs/breadcrumbs.stories.tsx +50 -0
- package/src/breadcrumbs/breadcrumbs.tsx +47 -0
- package/src/breadcrumbs/index.tsx +3 -0
- package/src/button/button.stories.tsx +104 -0
- package/src/button/button.tsx +87 -0
- package/src/button/index.tsx +3 -0
- package/src/card/card.stories.tsx +82 -0
- package/src/card/card.tsx +222 -0
- package/src/card/index.tsx +14 -0
- package/src/description-list/description-list.stories.tsx +95 -0
- package/src/description-list/description-list.tsx +61 -0
- package/src/description-list/index.tsx +2 -0
- package/src/footer/footer.tsx +169 -0
- package/src/footer/index.tsx +9 -0
- package/src/form/checkbox/checkbox.stories.tsx +104 -0
- package/src/form/checkbox/checkbox.tsx +82 -0
- package/src/form/checkbox/index.tsx +2 -0
- package/src/form/date-picker/date-picker.stories.tsx +27 -0
- package/src/form/date-picker/date-picker.tsx +85 -0
- package/src/form/date-picker/index.tsx +2 -0
- package/src/form/error-message/error-message.stories.tsx +19 -0
- package/src/form/error-message/error-message.tsx +25 -0
- package/src/form/error-message/index.tsx +2 -0
- package/src/form/fieldset/fieldset.stories.tsx +86 -0
- package/src/form/fieldset/fieldset.tsx +64 -0
- package/src/form/fieldset/index.tsx +2 -0
- package/src/form/index.tsx +8 -0
- package/src/form/input/index.tsx +2 -0
- package/src/form/input/input.stories.tsx +166 -0
- package/src/form/input/input.tsx +30 -0
- package/src/form/input-group/index.tsx +2 -0
- package/src/form/input-group/input-group.tsx +106 -0
- package/src/form/radiobutton/index.tsx +4 -0
- package/src/form/radiobutton/radiobutton.stories.tsx +93 -0
- package/src/form/radiobutton/radiobutton.tsx +85 -0
- package/src/form/radiobutton/radiogroup.stories.tsx +39 -0
- package/src/form/radiobutton/radiogroup.tsx +52 -0
- package/src/form/select/index.tsx +2 -0
- package/src/form/select/select.stories.tsx +93 -0
- package/src/form/select/select.tsx +33 -0
- package/src/form/textarea/index.tsx +2 -0
- package/src/form/textarea/textarea.stories.tsx +106 -0
- package/src/form/textarea/textarea.tsx +33 -0
- package/src/help-text/help-text.tsx +98 -0
- package/src/help-text/index.ts +2 -0
- package/src/index-no-css.tsx +25 -0
- package/src/index.tsx +11 -0
- package/src/layout/container/container.stories.tsx +62 -0
- package/src/layout/container/container.tsx +47 -0
- package/src/layout/grid/grid.tsx +163 -0
- package/src/layout/grid/index.tsx +3 -0
- package/src/layout/index.tsx +3 -0
- package/src/layout/responsive.ts +26 -0
- package/src/layout/spacing.ts +37 -0
- package/src/layout/stack/index.tsx +2 -0
- package/src/layout/stack/stack.tsx +128 -0
- package/src/link/index.tsx +3 -0
- package/src/link/link.stories.tsx +64 -0
- package/src/link/link.tsx +46 -0
- package/src/list/index.tsx +5 -0
- package/src/list/link-list.stories.tsx +38 -0
- package/src/list/link-list.tsx +26 -0
- package/src/list/list.stories.tsx +71 -0
- package/src/list/list.tsx +65 -0
- package/src/message/index.tsx +2 -0
- package/src/message/message.stories.tsx +93 -0
- package/src/message/message.tsx +89 -0
- package/src/modal/index.tsx +3 -0
- package/src/modal/modal.stories.tsx +147 -0
- package/src/modal/modal.tsx +199 -0
- package/src/navbar/icons.tsx +21 -0
- package/src/navbar/index.tsx +18 -0
- package/src/navbar/navbar-expandable-menu.tsx +176 -0
- package/src/navbar/navbar.stories.tsx +99 -0
- package/src/navbar/navbar.tsx +264 -0
- package/src/show-more/index.ts +5 -0
- package/src/show-more/show-more.stories.tsx +119 -0
- package/src/show-more/show-more.tsx +66 -0
- package/src/skeleton/index.ts +2 -0
- package/src/skeleton/skeleton.stories.tsx +152 -0
- package/src/skeleton/skeleton.tsx +114 -0
- package/src/step-indicator/index.ts +2 -0
- package/src/step-indicator/step-indicator.stories.tsx +50 -0
- package/src/step-indicator/step-indicator.tsx +116 -0
- package/src/styled-html/index.ts +2 -0
- package/src/styled-html/styled-html.stories.tsx +189 -0
- package/src/styled-html/styled-html.tsx +59 -0
- package/src/table/index.ts +2 -0
- package/src/table/table.tsx +59 -0
- package/src/tabs/context.ts +18 -0
- package/src/tabs/index.tsx +7 -0
- package/src/tabs/tabs-content.tsx +62 -0
- package/src/tabs/tabs-list.tsx +129 -0
- package/src/tabs/tabs.stories.tsx +138 -0
- package/src/tabs/tabs.tsx +50 -0
- package/src/text/index.tsx +4 -0
- package/src/text/text.stories.tsx +112 -0
- package/src/text/text.tsx +129 -0
- package/src/utils/auto-animate-height.tsx +139 -0
- package/src/utils/index.ts +4 -0
- package/src/utils/utils.ts +110 -0
- package/src/warning-banner/index.tsx +2 -0
- package/src/warning-banner/warning-banner.stories.tsx +43 -0
- package/src/warning-banner/warning-banner.tsx +79 -0
- package/dist/_tsup-dts-rollup.d.mts +0 -2600
- package/dist/_tsup-dts-rollup.d.ts +0 -2600
- package/dist/accordion/accordion-content.d.mts +0 -2
- package/dist/accordion/accordion-header.d.mts +0 -2
- package/dist/accordion/accordion-item.d.mts +0 -3
- package/dist/accordion/accordion.d.mts +0 -2
- package/dist/accordion/context.d.mts +0 -2
- package/dist/accordion/index.d.mts +0 -9
- package/dist/badge/badge.d.mts +0 -5
- package/dist/badge/index.d.mts +0 -6
- package/dist/box/box.d.mts +0 -4
- package/dist/box/index.d.mts +0 -4
- package/dist/breadcrumbs/breadcrumbs.d.mts +0 -2
- package/dist/breadcrumbs/index.d.mts +0 -2
- package/dist/button/button.d.mts +0 -3
- package/dist/button/index.d.mts +0 -3
- package/dist/card/card.d.mts +0 -12
- package/dist/card/index.d.mts +0 -12
- package/dist/chunk-3MQKXNZ6.mjs.map +0 -1
- package/dist/chunk-3NDUE23B.mjs +0 -19
- package/dist/chunk-3NDUE23B.mjs.map +0 -1
- package/dist/chunk-3NL3TOZF.mjs +0 -13
- package/dist/chunk-3NL3TOZF.mjs.map +0 -1
- package/dist/chunk-3ZFEUABU.mjs +0 -23
- package/dist/chunk-3ZFEUABU.mjs.map +0 -1
- package/dist/chunk-4WQWU5TL.mjs.map +0 -1
- package/dist/chunk-67TP3E2D.mjs.map +0 -1
- package/dist/chunk-6R7AXKBR.mjs.map +0 -1
- package/dist/chunk-722MZPXO.mjs +0 -13
- package/dist/chunk-722MZPXO.mjs.map +0 -1
- package/dist/chunk-7JRS4WEB.mjs.map +0 -1
- package/dist/chunk-CIHZDFSQ.mjs.map +0 -1
- package/dist/chunk-CYEYGPRH.mjs +0 -17
- package/dist/chunk-CYEYGPRH.mjs.map +0 -1
- package/dist/chunk-DEX36MFK.mjs.map +0 -1
- package/dist/chunk-DZNH5JHY.mjs +0 -1
- package/dist/chunk-ENKVTAJB.mjs.map +0 -1
- package/dist/chunk-F2C3KZFX.mjs.map +0 -1
- package/dist/chunk-GSJPTZT3.mjs.map +0 -1
- package/dist/chunk-IJAX6APL.mjs +0 -23
- package/dist/chunk-IJAX6APL.mjs.map +0 -1
- package/dist/chunk-IKJJWKXM.mjs +0 -15
- package/dist/chunk-IKJJWKXM.mjs.map +0 -1
- package/dist/chunk-KPGSRU4I.mjs.map +0 -1
- package/dist/chunk-PT5H3QV6.mjs +0 -29
- package/dist/chunk-PT5H3QV6.mjs.map +0 -1
- package/dist/chunk-TQDUBRCZ.mjs.map +0 -1
- package/dist/chunk-V6UKKHKD.mjs +0 -33
- package/dist/chunk-V6UKKHKD.mjs.map +0 -1
- package/dist/chunk-XUWZ4HGD.mjs.map +0 -1
- package/dist/description-list/description-list.d.mts +0 -2
- package/dist/description-list/index.d.mts +0 -2
- package/dist/footer/footer.d.mts +0 -7
- package/dist/footer/index.d.mts +0 -7
- package/dist/form/checkbox/checkbox.d.mts +0 -2
- package/dist/form/checkbox/index.d.mts +0 -2
- package/dist/form/date-picker/date-picker.d.mts +0 -2
- package/dist/form/date-picker/index.d.mts +0 -2
- package/dist/form/error-message/error-message.d.mts +0 -2
- package/dist/form/error-message/index.d.mts +0 -2
- package/dist/form/fieldset/fieldset.d.mts +0 -3
- package/dist/form/fieldset/index.d.mts +0 -3
- package/dist/form/index.d.mts +0 -20
- package/dist/form/input/index.d.mts +0 -2
- package/dist/form/input/input.d.mts +0 -2
- package/dist/form/input-group/index.d.mts +0 -2
- package/dist/form/input-group/input-group.d.mts +0 -2
- package/dist/form/radiobutton/index.d.mts +0 -5
- package/dist/form/radiobutton/radiobutton.d.mts +0 -2
- package/dist/form/radiobutton/radiogroup.d.mts +0 -3
- package/dist/form/select/index.d.mts +0 -2
- package/dist/form/select/select.d.mts +0 -2
- package/dist/form/textarea/index.d.mts +0 -2
- package/dist/form/textarea/textarea.d.mts +0 -2
- package/dist/help-text/help-text.d.mts +0 -1
- package/dist/help-text/index.d.mts +0 -1
- package/dist/index-no-css.d.mts +0 -128
- package/dist/index.d.mts +0 -128
- package/dist/layout/container/container.d.mts +0 -2
- package/dist/layout/grid/grid.d.mts +0 -4
- package/dist/layout/grid/index.d.mts +0 -4
- package/dist/layout/index.d.mts +0 -10
- package/dist/layout/responsive.d.mts +0 -2
- package/dist/layout/spacing.d.mts +0 -3
- package/dist/layout/stack/index.d.mts +0 -4
- package/dist/layout/stack/stack.d.mts +0 -4
- package/dist/link/index.d.mts +0 -2
- package/dist/link/link.d.mts +0 -2
- package/dist/list/index.d.mts +0 -5
- package/dist/list/link-list.d.mts +0 -2
- package/dist/list/list.d.mts +0 -3
- package/dist/message/index.d.mts +0 -3
- package/dist/message/message.d.mts +0 -4
- package/dist/modal/index.d.mts +0 -5
- package/dist/modal/modal.d.mts +0 -5
- package/dist/navbar/icons.d.mts +0 -2
- package/dist/navbar/index.d.mts +0 -13
- package/dist/navbar/navbar-expandable-menu.d.mts +0 -7
- package/dist/navbar/navbar.d.mts +0 -9
- package/dist/show-more/index.d.mts +0 -4
- package/dist/show-more/show-more.d.mts +0 -2
- package/dist/skeleton/index.d.mts +0 -2
- package/dist/skeleton/skeleton.d.mts +0 -2
- package/dist/step-indicator/index.d.mts +0 -1
- package/dist/step-indicator/step-indicator.d.mts +0 -1
- package/dist/styled-html/index.d.mts +0 -2
- package/dist/styled-html/styled-html.d.mts +0 -2
- package/dist/table/index.d.mts +0 -1
- package/dist/table/table.d.mts +0 -1
- package/dist/tabs/context.d.mts +0 -3
- package/dist/tabs/index.d.mts +0 -10
- package/dist/tabs/tabs-content.d.mts +0 -4
- package/dist/tabs/tabs-list.d.mts +0 -4
- package/dist/tabs/tabs.d.mts +0 -2
- package/dist/text/index.d.mts +0 -2
- package/dist/text/text.d.mts +0 -2
- package/dist/utilities/auto-animate-height.d.mts +0 -2
- package/dist/utilities/auto-animate-height.d.ts +0 -2
- package/dist/utilities/auto-animate-height.js.map +0 -1
- package/dist/utilities/auto-animate-height.mjs +0 -9
- package/dist/utilities/index.d.mts +0 -2
- package/dist/utilities/index.d.ts +0 -2
- package/dist/utilities/index.js.map +0 -1
- package/dist/utilities/index.mjs +0 -10
- package/dist/utils.d.mts +0 -5
- package/dist/utils.d.ts +0 -5
- package/dist/utils.js.map +0 -1
- package/dist/utils.mjs +0 -16
- package/dist/warning-banner/index.d.mts +0 -2
- package/dist/warning-banner/warning-banner.d.mts +0 -2
- /package/dist/{chunk-DZNH5JHY.mjs.map → chunk-7YWW46R3.mjs.map} +0 -0
- /package/dist/{utilities/auto-animate-height.mjs.map → chunk-ARHJZUZG.mjs.map} +0 -0
- /package/dist/{utilities/index.mjs.map → chunk-BCFV6VOE.mjs.map} +0 -0
- /package/dist/{utils.mjs.map → chunk-CYDWEPFL.mjs.map} +0 -0
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
/* eslint-disable import/no-extraneous-dependencies -- storybook story */
|
|
2
|
+
import type { Meta, StoryObj } from "@storybook/react";
|
|
3
|
+
import { HStack } from "../layout";
|
|
4
|
+
import type { ButtonProps } from ".";
|
|
5
|
+
import { PrimaryButton, SecondaryButton } from ".";
|
|
6
|
+
|
|
7
|
+
const meta: Meta<typeof PrimaryButton> = {
|
|
8
|
+
title: "Button",
|
|
9
|
+
component: PrimaryButton,
|
|
10
|
+
argTypes: {
|
|
11
|
+
fullWidth: { control: "radio", options: [false, true, "mobile"] },
|
|
12
|
+
},
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
export default meta;
|
|
16
|
+
|
|
17
|
+
type Story = StoryObj<typeof PrimaryButton>;
|
|
18
|
+
|
|
19
|
+
export const Primary: Story = {
|
|
20
|
+
args: {
|
|
21
|
+
children: "Primary button",
|
|
22
|
+
},
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export const PrimaryOutline: Story = {
|
|
26
|
+
args: {
|
|
27
|
+
children: "Primary outline button",
|
|
28
|
+
fill: "outline",
|
|
29
|
+
},
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
export const Secondary: Story = {
|
|
33
|
+
args: {
|
|
34
|
+
children: "Secondary button",
|
|
35
|
+
},
|
|
36
|
+
render: (props) => <SecondaryButton {...props} />,
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
export const SecondaryOutline: Story = {
|
|
40
|
+
render: (props) => <SecondaryButton {...props} />,
|
|
41
|
+
args: {
|
|
42
|
+
children: "Secondary outline button",
|
|
43
|
+
fill: "outline",
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
export const AsALink: Story = {
|
|
48
|
+
name: "As a link",
|
|
49
|
+
render: (args) => (
|
|
50
|
+
<HStack gap="16" wrap>
|
|
51
|
+
<PrimaryButton {...args} />
|
|
52
|
+
<PrimaryButton {...args} fill="outline" />
|
|
53
|
+
<SecondaryButton {...args} />
|
|
54
|
+
<SecondaryButton {...args} fill="outline" />
|
|
55
|
+
</HStack>
|
|
56
|
+
),
|
|
57
|
+
args: {
|
|
58
|
+
children: (
|
|
59
|
+
<a href="https://www.posten.no" target="_blank" rel="noopener">
|
|
60
|
+
Link button
|
|
61
|
+
</a>
|
|
62
|
+
),
|
|
63
|
+
asChild: true,
|
|
64
|
+
},
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
const createIconStory = (
|
|
68
|
+
Component: typeof PrimaryButton,
|
|
69
|
+
extraArgs: Partial<ButtonProps> = {},
|
|
70
|
+
): Story => ({
|
|
71
|
+
render: (args) => (
|
|
72
|
+
<HStack gap="16" wrap align="end">
|
|
73
|
+
<Component {...args} size="small" />
|
|
74
|
+
<Component {...args} size="medium" />
|
|
75
|
+
<Component {...args} size="large" />
|
|
76
|
+
</HStack>
|
|
77
|
+
),
|
|
78
|
+
args: {
|
|
79
|
+
lang: "en",
|
|
80
|
+
"aria-label": "Choose language",
|
|
81
|
+
icon: true,
|
|
82
|
+
children: (
|
|
83
|
+
<svg
|
|
84
|
+
aria-hidden
|
|
85
|
+
fill="none"
|
|
86
|
+
height="24"
|
|
87
|
+
viewBox="0 0 24 24"
|
|
88
|
+
width="24"
|
|
89
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
90
|
+
>
|
|
91
|
+
<path
|
|
92
|
+
d="M12 19.3125C12.2602 19.3125 12.9492 19.0594 13.6734 17.6109C13.9828 16.9887 14.25 16.2328 14.4469 15.375H9.55312C9.75 16.2328 10.0172 16.9887 10.3266 17.6109C11.0508 19.0594 11.7398 19.3125 12 19.3125ZM9.27539 13.6875H14.7246C14.7809 13.1496 14.8125 12.5836 14.8125 12C14.8125 11.4164 14.7809 10.8504 14.7246 10.3125H9.27539C9.21914 10.8504 9.1875 11.4164 9.1875 12C9.1875 12.5836 9.21914 13.1496 9.27539 13.6875ZM9.55312 8.625H14.4469C14.25 7.76719 13.9828 7.01133 13.6734 6.38906C12.9492 4.94063 12.2602 4.6875 12 4.6875C11.7398 4.6875 11.0508 4.94063 10.3266 6.38906C10.0172 7.01133 9.75 7.76719 9.55312 8.625ZM16.4191 10.3125C16.4719 10.8574 16.4965 11.4234 16.4965 12C16.4965 12.5766 16.4684 13.1426 16.4191 13.6875H19.1156C19.2422 13.1461 19.3125 12.5801 19.3125 12C19.3125 11.4199 19.2457 10.8539 19.1156 10.3125H16.4227H16.4191ZM18.4863 8.625C17.734 7.18008 16.5141 6.01992 15.027 5.34141C15.5227 6.24141 15.9164 7.36289 16.173 8.625H18.4898H18.4863ZM7.82344 8.625C8.08008 7.36289 8.47383 6.24492 8.96953 5.34141C7.48242 6.01992 6.2625 7.18008 5.51016 8.625H7.82695H7.82344ZM4.88437 10.3125C4.75781 10.8539 4.6875 11.4199 4.6875 12C4.6875 12.5801 4.7543 13.1461 4.88437 13.6875H7.58086C7.52813 13.1426 7.50352 12.5766 7.50352 12C7.50352 11.4234 7.53164 10.8574 7.58086 10.3125H4.88437ZM15.027 18.6586C16.5141 17.9801 17.734 16.8199 18.4863 15.375H16.173C15.9164 16.6371 15.5227 17.7551 15.027 18.6586ZM8.97305 18.6586C8.47734 17.7586 8.08359 16.6371 7.82695 15.375H5.51016C6.2625 16.8199 7.48242 17.9801 8.96953 18.6586H8.97305ZM12 21C9.61305 21 7.32387 20.0518 5.63604 18.364C3.94821 16.6761 3 14.3869 3 12C3 9.61305 3.94821 7.32387 5.63604 5.63604C7.32387 3.94821 9.61305 3 12 3C14.3869 3 16.6761 3.94821 18.364 5.63604C20.0518 7.32387 21 9.61305 21 12C21 14.3869 20.0518 16.6761 18.364 18.364C16.6761 20.0518 14.3869 21 12 21Z"
|
|
93
|
+
fill="currentColor"
|
|
94
|
+
/>
|
|
95
|
+
</svg>
|
|
96
|
+
),
|
|
97
|
+
...extraArgs,
|
|
98
|
+
},
|
|
99
|
+
});
|
|
100
|
+
|
|
101
|
+
export const IconPrimary: Story = createIconStory(PrimaryButton);
|
|
102
|
+
export const IconPrimaryOutline: Story = createIconStory(PrimaryButton, { fill: "outline" });
|
|
103
|
+
export const IconSecondary: Story = createIconStory(SecondaryButton);
|
|
104
|
+
export const IconSecondaryOutline: Story = createIconStory(SecondaryButton, { fill: "outline" });
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { forwardRef } from "react";
|
|
2
|
+
import { clsx } from "@postenbring/hedwig-css/typed-classname";
|
|
3
|
+
import { Slot } from "@radix-ui/react-slot";
|
|
4
|
+
|
|
5
|
+
export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
6
|
+
/**
|
|
7
|
+
* The height, font size and padding of the button
|
|
8
|
+
*/
|
|
9
|
+
size?: "small" | "medium" | "large";
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* The background fill of the button
|
|
13
|
+
*
|
|
14
|
+
* @default "contained"
|
|
15
|
+
*/
|
|
16
|
+
fill?: "contained" | "outline";
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Make the button use 100% width available.
|
|
20
|
+
* Using the "mobile" it only stretch to full width on smaller screens
|
|
21
|
+
*/
|
|
22
|
+
fullWidth?: boolean | "mobile";
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Use the button as an icon button
|
|
26
|
+
*
|
|
27
|
+
* Render the icon in `children`
|
|
28
|
+
*/
|
|
29
|
+
icon?: boolean;
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Change the default rendered element for the one passed as a child, merging their props and behavior.
|
|
33
|
+
*
|
|
34
|
+
* @default false
|
|
35
|
+
*/
|
|
36
|
+
asChild?: boolean;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
const Button = forwardRef<HTMLButtonElement, ButtonProps & { variant: "primary" | "secondary" }>(
|
|
40
|
+
(
|
|
41
|
+
{
|
|
42
|
+
asChild,
|
|
43
|
+
children,
|
|
44
|
+
variant,
|
|
45
|
+
size = "medium",
|
|
46
|
+
fullWidth = false,
|
|
47
|
+
fill = "contained",
|
|
48
|
+
icon,
|
|
49
|
+
className,
|
|
50
|
+
...rest
|
|
51
|
+
},
|
|
52
|
+
ref,
|
|
53
|
+
) => {
|
|
54
|
+
const Component = asChild ? Slot : "button";
|
|
55
|
+
return (
|
|
56
|
+
<Component
|
|
57
|
+
className={clsx(
|
|
58
|
+
"hds-button",
|
|
59
|
+
`hds-button--${size}`,
|
|
60
|
+
{
|
|
61
|
+
[`hds-button--${variant}`]: fill === "contained",
|
|
62
|
+
[`hds-button--outline-${variant}`]: fill === "outline",
|
|
63
|
+
"hds-button--full": fullWidth === true,
|
|
64
|
+
"hds-button--mobile-full": fullWidth === "mobile",
|
|
65
|
+
"hds-button--icon-only": icon,
|
|
66
|
+
},
|
|
67
|
+
className as undefined,
|
|
68
|
+
)}
|
|
69
|
+
ref={ref}
|
|
70
|
+
{...rest}
|
|
71
|
+
>
|
|
72
|
+
{children}
|
|
73
|
+
</Component>
|
|
74
|
+
);
|
|
75
|
+
},
|
|
76
|
+
);
|
|
77
|
+
Button.displayName = "Button";
|
|
78
|
+
|
|
79
|
+
export const PrimaryButton = forwardRef<HTMLButtonElement, ButtonProps>((props, ref) => {
|
|
80
|
+
return <Button {...props} ref={ref} variant="primary" />;
|
|
81
|
+
});
|
|
82
|
+
PrimaryButton.displayName = "PrimaryButton";
|
|
83
|
+
|
|
84
|
+
export const SecondaryButton = forwardRef<HTMLButtonElement, ButtonProps>((props, ref) => {
|
|
85
|
+
return <Button {...props} ref={ref} variant="secondary" />;
|
|
86
|
+
});
|
|
87
|
+
SecondaryButton.displayName = "SecondaryButton";
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/* eslint-disable import/no-extraneous-dependencies -- storybook story */
|
|
2
|
+
import type { Meta, StoryObj } from "@storybook/react";
|
|
3
|
+
import type { ReactNode } from "react";
|
|
4
|
+
import { Card } from ".";
|
|
5
|
+
|
|
6
|
+
const meta: Meta<typeof Card> = {
|
|
7
|
+
title: "Card",
|
|
8
|
+
component: Card,
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export default meta;
|
|
12
|
+
|
|
13
|
+
type Story = StoryObj<typeof Card>;
|
|
14
|
+
|
|
15
|
+
export const CardStory: Story = {
|
|
16
|
+
name: "Card",
|
|
17
|
+
render: (props) => (
|
|
18
|
+
<Card {...props} as="div" style={{ maxWidth: "500px", ...props.style }}>
|
|
19
|
+
<Card.Media style={{ width: "100%" }}>
|
|
20
|
+
<Card.MediaImg
|
|
21
|
+
style={{ width: "100%", display: "block", aspectRatio: 16 / 9 }}
|
|
22
|
+
alt="posten-bring"
|
|
23
|
+
src="./posten-bring.jpg"
|
|
24
|
+
/>
|
|
25
|
+
</Card.Media>
|
|
26
|
+
<Card.Body>
|
|
27
|
+
<Card.BodyHeader as="h2">
|
|
28
|
+
<Card.BodyHeaderOverline>Theme</Card.BodyHeaderOverline>
|
|
29
|
+
<Card.BodyHeaderTitle asChild>
|
|
30
|
+
<a href="#article">Cool article</a>
|
|
31
|
+
</Card.BodyHeaderTitle>
|
|
32
|
+
</Card.BodyHeader>
|
|
33
|
+
<Card.BodyDescription>
|
|
34
|
+
This is a card which acts as a giant link. You can also use the hedwig provided{" "}
|
|
35
|
+
<code>Link</code> component, or a link component from your routing library. The link
|
|
36
|
+
component of your choice should be set with the <code>as</code> property on the body
|
|
37
|
+
header title. The card component provides a lot of flexibility.
|
|
38
|
+
</Card.BodyDescription>
|
|
39
|
+
<Card.BodyActionArrow />
|
|
40
|
+
</Card.Body>
|
|
41
|
+
</Card>
|
|
42
|
+
),
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
function Link({
|
|
46
|
+
to,
|
|
47
|
+
className,
|
|
48
|
+
children,
|
|
49
|
+
}: {
|
|
50
|
+
to: string;
|
|
51
|
+
className?: string;
|
|
52
|
+
children: ReactNode;
|
|
53
|
+
}) {
|
|
54
|
+
return (
|
|
55
|
+
<a className={className} href={to}>
|
|
56
|
+
{children}
|
|
57
|
+
</a>
|
|
58
|
+
);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export const CardFullWidth: Story = {
|
|
62
|
+
render: (props) => (
|
|
63
|
+
<Card {...props} as="div">
|
|
64
|
+
<Card.Media>
|
|
65
|
+
<Card.MediaImg alt="posten-bring" src="./posten-bring.jpg" />
|
|
66
|
+
</Card.Media>
|
|
67
|
+
<Card.Body>
|
|
68
|
+
<Card.BodyHeader as="h2">
|
|
69
|
+
<Card.BodyHeaderOverline>Theme</Card.BodyHeaderOverline>
|
|
70
|
+
<Card.BodyHeaderTitle asChild>
|
|
71
|
+
<Link to="#article">Cool article</Link>
|
|
72
|
+
</Card.BodyHeaderTitle>
|
|
73
|
+
</Card.BodyHeader>
|
|
74
|
+
<Card.BodyDescription>
|
|
75
|
+
The card will take up all available space by default. It is the consumer's choice and
|
|
76
|
+
responsibility to limit the width if wanted.
|
|
77
|
+
</Card.BodyDescription>
|
|
78
|
+
<Card.BodyActionArrow />
|
|
79
|
+
</Card.Body>
|
|
80
|
+
</Card>
|
|
81
|
+
),
|
|
82
|
+
};
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
import type { ReactNode } from "react";
|
|
2
|
+
import { forwardRef } from "react";
|
|
3
|
+
import { clsx } from "@postenbring/hedwig-css/typed-classname";
|
|
4
|
+
import { Slot } from "@radix-ui/react-slot";
|
|
5
|
+
|
|
6
|
+
export const CardMedia = forwardRef<HTMLDivElement, CardBaseProps>(
|
|
7
|
+
({ asChild, className, children, ...rest }, ref) => {
|
|
8
|
+
const Component = asChild ? Slot : "div";
|
|
9
|
+
return (
|
|
10
|
+
<Component {...rest} className={clsx("hds-card__media", className as undefined)} ref={ref}>
|
|
11
|
+
{children}
|
|
12
|
+
</Component>
|
|
13
|
+
);
|
|
14
|
+
},
|
|
15
|
+
);
|
|
16
|
+
CardMedia.displayName = "Card.Media";
|
|
17
|
+
|
|
18
|
+
export interface CardImageMediaProps extends React.ImgHTMLAttributes<HTMLImageElement> {
|
|
19
|
+
/**
|
|
20
|
+
* Change the default rendered element for the one passed as a child, merging their props and behavior.
|
|
21
|
+
*
|
|
22
|
+
* @default false
|
|
23
|
+
*/
|
|
24
|
+
asChild?: boolean;
|
|
25
|
+
}
|
|
26
|
+
export const CardMediaImg = forwardRef<HTMLImageElement, CardImageMediaProps>(
|
|
27
|
+
({ asChild, className, ...rest }, ref) => {
|
|
28
|
+
const Component = asChild ? Slot : "img";
|
|
29
|
+
return (
|
|
30
|
+
<Component
|
|
31
|
+
{...rest}
|
|
32
|
+
className={clsx("hds-card__media__img", className as undefined)}
|
|
33
|
+
ref={ref}
|
|
34
|
+
/>
|
|
35
|
+
);
|
|
36
|
+
},
|
|
37
|
+
);
|
|
38
|
+
CardMediaImg.displayName = "Card.MediaImg";
|
|
39
|
+
|
|
40
|
+
export const CardBody = forwardRef<HTMLDivElement, CardBaseProps>(
|
|
41
|
+
({ asChild, className, children, ...rest }, ref) => {
|
|
42
|
+
const Component = asChild ? Slot : "div";
|
|
43
|
+
return (
|
|
44
|
+
<Component {...rest} className={clsx("hds-card__body", className as undefined)} ref={ref}>
|
|
45
|
+
{children}
|
|
46
|
+
</Component>
|
|
47
|
+
);
|
|
48
|
+
},
|
|
49
|
+
);
|
|
50
|
+
CardBody.displayName = "Card.Body";
|
|
51
|
+
|
|
52
|
+
export const CardBodyHeader = forwardRef<
|
|
53
|
+
HTMLHeadingElement,
|
|
54
|
+
CardBaseProps &
|
|
55
|
+
(
|
|
56
|
+
| {
|
|
57
|
+
/**
|
|
58
|
+
* Heading level of the card heading
|
|
59
|
+
*/
|
|
60
|
+
as: "h2" | "h3" | "h4" | "h5" | "h6";
|
|
61
|
+
asChild?: never;
|
|
62
|
+
}
|
|
63
|
+
| {
|
|
64
|
+
asChild: true;
|
|
65
|
+
as?: never;
|
|
66
|
+
}
|
|
67
|
+
)
|
|
68
|
+
>(({ as: Tag, asChild, className, children, ...rest }, ref) => {
|
|
69
|
+
const Component = asChild ? Slot : Tag;
|
|
70
|
+
return (
|
|
71
|
+
<Component
|
|
72
|
+
{...rest}
|
|
73
|
+
className={clsx("hds-card__body-header", className as undefined)}
|
|
74
|
+
ref={ref}
|
|
75
|
+
>
|
|
76
|
+
{children}
|
|
77
|
+
</Component>
|
|
78
|
+
);
|
|
79
|
+
});
|
|
80
|
+
CardBodyHeader.displayName = "Card.BodyHeader";
|
|
81
|
+
|
|
82
|
+
export const CardBodyHeaderOverline = forwardRef<HTMLDivElement, CardBaseProps>(
|
|
83
|
+
({ asChild, className, children, ...rest }, ref) => {
|
|
84
|
+
const Component = asChild ? Slot : "span";
|
|
85
|
+
return (
|
|
86
|
+
<Component
|
|
87
|
+
{...rest}
|
|
88
|
+
className={clsx("hds-card__body-header-overline", className as undefined)}
|
|
89
|
+
ref={ref}
|
|
90
|
+
>
|
|
91
|
+
{children}
|
|
92
|
+
</Component>
|
|
93
|
+
);
|
|
94
|
+
},
|
|
95
|
+
);
|
|
96
|
+
CardBodyHeaderOverline.displayName = "Card.BodyHeaderOverline";
|
|
97
|
+
|
|
98
|
+
export const CardBodyHeaderTitle = forwardRef<HTMLDivElement, CardBaseProps>(
|
|
99
|
+
({ asChild, className, children, ...rest }, ref) => {
|
|
100
|
+
const Component = asChild ? Slot : "div";
|
|
101
|
+
return (
|
|
102
|
+
<Component
|
|
103
|
+
{...rest}
|
|
104
|
+
className={clsx("hds-card__body-header-title", className as undefined)}
|
|
105
|
+
ref={ref}
|
|
106
|
+
>
|
|
107
|
+
{children}
|
|
108
|
+
</Component>
|
|
109
|
+
);
|
|
110
|
+
},
|
|
111
|
+
);
|
|
112
|
+
CardBodyHeaderTitle.displayName = "Card.BodyHeaderTitle";
|
|
113
|
+
|
|
114
|
+
export const CardBodyDescription = forwardRef<HTMLParagraphElement, CardBaseProps>(
|
|
115
|
+
({ asChild, className, children, ...rest }, ref) => {
|
|
116
|
+
const Component = asChild ? Slot : "p";
|
|
117
|
+
return (
|
|
118
|
+
<Component
|
|
119
|
+
{...rest}
|
|
120
|
+
className={clsx("hds-card__body-description", className as undefined)}
|
|
121
|
+
ref={ref}
|
|
122
|
+
>
|
|
123
|
+
{children}
|
|
124
|
+
</Component>
|
|
125
|
+
);
|
|
126
|
+
},
|
|
127
|
+
);
|
|
128
|
+
CardBodyDescription.displayName = "Card.BodyDescription";
|
|
129
|
+
|
|
130
|
+
export const CardBodyAction = forwardRef<HTMLDivElement, CardBaseProps>(
|
|
131
|
+
({ asChild, className, children, ...rest }, ref) => {
|
|
132
|
+
const Component = asChild ? Slot : "div";
|
|
133
|
+
return (
|
|
134
|
+
<Component
|
|
135
|
+
{...rest}
|
|
136
|
+
className={clsx("hds-card__body-action", className as undefined)}
|
|
137
|
+
ref={ref}
|
|
138
|
+
>
|
|
139
|
+
{children}
|
|
140
|
+
</Component>
|
|
141
|
+
);
|
|
142
|
+
},
|
|
143
|
+
);
|
|
144
|
+
CardBodyAction.displayName = "Card.BodyAction";
|
|
145
|
+
|
|
146
|
+
interface CardBodyActionArrowProps extends React.HTMLAttributes<HTMLSpanElement> {
|
|
147
|
+
/**
|
|
148
|
+
* Change the default rendered element for the one passed as a child, merging their props and behavior.
|
|
149
|
+
*
|
|
150
|
+
* @default false
|
|
151
|
+
*/
|
|
152
|
+
asChild?: boolean;
|
|
153
|
+
}
|
|
154
|
+
export const CardBodyActionArrow = forwardRef<HTMLSpanElement, CardBodyActionArrowProps>(
|
|
155
|
+
({ asChild, className, ...rest }, ref) => {
|
|
156
|
+
const Component = asChild ? Slot : "span";
|
|
157
|
+
return (
|
|
158
|
+
<Component
|
|
159
|
+
{...rest}
|
|
160
|
+
className={clsx("hds-card__body-action-arrow", className as undefined)}
|
|
161
|
+
ref={ref}
|
|
162
|
+
/>
|
|
163
|
+
);
|
|
164
|
+
},
|
|
165
|
+
);
|
|
166
|
+
CardBodyActionArrow.displayName = "Card.BodyActionArrow";
|
|
167
|
+
|
|
168
|
+
export interface CardBaseProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
169
|
+
children: ReactNode;
|
|
170
|
+
|
|
171
|
+
/**
|
|
172
|
+
* Change the default rendered element for the one passed as a child, merging their props and behavior.
|
|
173
|
+
*
|
|
174
|
+
* @default false
|
|
175
|
+
*/
|
|
176
|
+
asChild?: boolean;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
export interface CardProps extends CardBaseProps {
|
|
180
|
+
/**
|
|
181
|
+
* A Card should in most cases appear as a big link,
|
|
182
|
+
* but the actual link should just be the header title.
|
|
183
|
+
* To make life better for those with screen readers we should not make
|
|
184
|
+
* the entire card a link, as that would cause the entire card to be read
|
|
185
|
+
* as a link to the user. That would be perceived as information overload.
|
|
186
|
+
*/
|
|
187
|
+
as?: "section" | "div" | "article" | "aside";
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
export const Card = forwardRef<HTMLDivElement, CardProps>(
|
|
191
|
+
({ as: Tag = "section", asChild, className, children, ...rest }, ref) => {
|
|
192
|
+
const Component = asChild ? Slot : Tag;
|
|
193
|
+
return (
|
|
194
|
+
<Component {...rest} className={clsx("hds-card", className as undefined)} ref={ref}>
|
|
195
|
+
{children}
|
|
196
|
+
</Component>
|
|
197
|
+
);
|
|
198
|
+
},
|
|
199
|
+
) as CardType;
|
|
200
|
+
Card.displayName = "Card";
|
|
201
|
+
|
|
202
|
+
Card.Media = CardMedia;
|
|
203
|
+
Card.MediaImg = CardMediaImg;
|
|
204
|
+
Card.Body = CardBody;
|
|
205
|
+
Card.BodyHeader = CardBodyHeader;
|
|
206
|
+
Card.BodyHeaderOverline = CardBodyHeaderOverline;
|
|
207
|
+
Card.BodyHeaderTitle = CardBodyHeaderTitle;
|
|
208
|
+
Card.BodyDescription = CardBodyDescription;
|
|
209
|
+
Card.BodyAction = CardBodyAction;
|
|
210
|
+
Card.BodyActionArrow = CardBodyActionArrow;
|
|
211
|
+
|
|
212
|
+
type CardType = ReturnType<typeof forwardRef<HTMLDivElement, CardProps>> & {
|
|
213
|
+
Media: typeof CardMedia;
|
|
214
|
+
MediaImg: typeof CardMediaImg;
|
|
215
|
+
Body: typeof CardBody;
|
|
216
|
+
BodyHeader: typeof CardBodyHeader;
|
|
217
|
+
BodyHeaderOverline: typeof CardBodyHeaderOverline;
|
|
218
|
+
BodyHeaderTitle: typeof CardBodyHeaderTitle;
|
|
219
|
+
BodyDescription: typeof CardBodyDescription;
|
|
220
|
+
BodyAction: typeof CardBodyAction;
|
|
221
|
+
BodyActionArrow: typeof CardBodyActionArrow;
|
|
222
|
+
};
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/* eslint-disable import/no-extraneous-dependencies -- storybook story */
|
|
2
|
+
import type { Meta, StoryObj } from "@storybook/react";
|
|
3
|
+
import { DescriptionList } from ".";
|
|
4
|
+
|
|
5
|
+
type Story = StoryObj<typeof DescriptionList>;
|
|
6
|
+
|
|
7
|
+
const meta: Meta<typeof DescriptionList> = {
|
|
8
|
+
title: "Description List",
|
|
9
|
+
component: DescriptionList,
|
|
10
|
+
args: {
|
|
11
|
+
children: (
|
|
12
|
+
<>
|
|
13
|
+
<dt>Vekt</dt>
|
|
14
|
+
<dd>12 kg</dd>
|
|
15
|
+
<dt>Antall kolli</dt>
|
|
16
|
+
<dd>2</dd>
|
|
17
|
+
<dt>Sendingsnummer</dt>
|
|
18
|
+
<dd>7000001</dd>
|
|
19
|
+
<dt>Avsender</dt>
|
|
20
|
+
<dd>Fjellsport</dd>
|
|
21
|
+
</>
|
|
22
|
+
),
|
|
23
|
+
},
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
export default meta;
|
|
27
|
+
|
|
28
|
+
export const Vertical: Story = { args: { variant: "vertical" } };
|
|
29
|
+
export const Horizontal: Story = { args: { variant: "horizontal" } };
|
|
30
|
+
|
|
31
|
+
export const WrappedInDivs: Story = {
|
|
32
|
+
args: {
|
|
33
|
+
children: (
|
|
34
|
+
<>
|
|
35
|
+
<div>
|
|
36
|
+
<dt>Vekt</dt>
|
|
37
|
+
<dd>12 kg</dd>
|
|
38
|
+
</div>
|
|
39
|
+
<div>
|
|
40
|
+
<dt>Antall kolli</dt>
|
|
41
|
+
<dd>2</dd>
|
|
42
|
+
</div>
|
|
43
|
+
<div>
|
|
44
|
+
<dt>Sendingsnummer</dt>
|
|
45
|
+
<dd>7000001</dd>
|
|
46
|
+
</div>
|
|
47
|
+
<div>
|
|
48
|
+
<dt>Avsender</dt>
|
|
49
|
+
<dd>Fjellsport</dd>
|
|
50
|
+
</div>
|
|
51
|
+
</>
|
|
52
|
+
),
|
|
53
|
+
},
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
export const Paragraph: Story = {
|
|
57
|
+
name: "<p> tag as child",
|
|
58
|
+
args: {
|
|
59
|
+
variant: "horizontal",
|
|
60
|
+
children: (
|
|
61
|
+
<>
|
|
62
|
+
<dt>Vekt</dt>
|
|
63
|
+
<dd>12 kg</dd>
|
|
64
|
+
<dt>
|
|
65
|
+
<p>Title</p>
|
|
66
|
+
</dt>
|
|
67
|
+
<dd>
|
|
68
|
+
<p>Paragraph</p>
|
|
69
|
+
</dd>
|
|
70
|
+
</>
|
|
71
|
+
),
|
|
72
|
+
},
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
export const HorizontalLongContent: Story = {
|
|
76
|
+
args: {
|
|
77
|
+
variant: "horizontal",
|
|
78
|
+
children: (
|
|
79
|
+
<>
|
|
80
|
+
<dt>Vekt</dt>
|
|
81
|
+
<dd>12 kg</dd>
|
|
82
|
+
<dt>
|
|
83
|
+
<p>Title</p>
|
|
84
|
+
</dt>
|
|
85
|
+
<dd>
|
|
86
|
+
<p>
|
|
87
|
+
ParagraphParagraphParagraphParagraphParagraphParagraphParagraphParagraphParagraphParagraphParagraphParagraphParagraphParagraphParagraphParagraph
|
|
88
|
+
</p>
|
|
89
|
+
</dd>
|
|
90
|
+
<dt>Avsender</dt>
|
|
91
|
+
<dd>Fjellsport</dd>
|
|
92
|
+
</>
|
|
93
|
+
),
|
|
94
|
+
},
|
|
95
|
+
};
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { forwardRef, type HTMLAttributes, type ReactNode } from "react";
|
|
2
|
+
import { clsx } from "@postenbring/hedwig-css/typed-classname";
|
|
3
|
+
|
|
4
|
+
export interface DescriptionListProps extends HTMLAttributes<HTMLDListElement> {
|
|
5
|
+
/**
|
|
6
|
+
* Either `dt`, `dl`, or `div` elements
|
|
7
|
+
*/
|
|
8
|
+
children?: ReactNode;
|
|
9
|
+
/**
|
|
10
|
+
* Direction of the description list
|
|
11
|
+
*/
|
|
12
|
+
variant?: "vertical" | "horizontal";
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Uses the HTML5 `<dl>` element
|
|
17
|
+
*
|
|
18
|
+
* Pass in corresponding `<dt>` and `<dd>` elements as children
|
|
19
|
+
*
|
|
20
|
+
* ```tsx
|
|
21
|
+
* <DescriptionList>
|
|
22
|
+
* <dt>Vekt</dt>
|
|
23
|
+
* <dd>12 kg</dd>
|
|
24
|
+
* <dt>Antall kolli</dt>
|
|
25
|
+
* <dd>2</dd>
|
|
26
|
+
* </DescriptionList>
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* Optionally wrap them in `<div>` elements as allowed by the HTML5 spec
|
|
30
|
+
*
|
|
31
|
+
* ```tsx
|
|
32
|
+
* <DescriptionList>
|
|
33
|
+
* <div>
|
|
34
|
+
* <dt>Vekt</dt>
|
|
35
|
+
* <dd>12 kg</dd>
|
|
36
|
+
* </div>
|
|
37
|
+
* <div>
|
|
38
|
+
* <dt>Antall kolli</dt>
|
|
39
|
+
* <dd>2</dd>
|
|
40
|
+
* </div>
|
|
41
|
+
* </DescriptionList>
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
export const DescriptionList = forwardRef<HTMLDListElement, DescriptionListProps>(
|
|
45
|
+
({ variant = "vertical", className, ...rest }, ref) => {
|
|
46
|
+
return (
|
|
47
|
+
<dl
|
|
48
|
+
ref={ref}
|
|
49
|
+
className={clsx(
|
|
50
|
+
"hds-description-list",
|
|
51
|
+
{
|
|
52
|
+
"hds-description-list--horizontal": variant === "horizontal",
|
|
53
|
+
},
|
|
54
|
+
className as undefined,
|
|
55
|
+
)}
|
|
56
|
+
{...rest}
|
|
57
|
+
/>
|
|
58
|
+
);
|
|
59
|
+
},
|
|
60
|
+
);
|
|
61
|
+
DescriptionList.displayName = "DescriptionList";
|