@postenbring/hedwig-react 0.0.80 → 0.0.82
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-content.js +1 -1
- package/dist/accordion/accordion-content.js.map +1 -1
- package/dist/accordion/accordion-content.mjs +1 -1
- 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 +53 -54
- package/dist/accordion/index.js.map +1 -1
- package/dist/accordion/index.mjs +8 -8
- 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-XC3UHH2U.mjs → chunk-3WVRY6CC.mjs} +4 -4
- package/dist/{chunk-XC3UHH2U.mjs.map → chunk-3WVRY6CC.mjs.map} +1 -1
- package/dist/{chunk-GSJPTZT3.mjs → chunk-6AGDK5V3.mjs} +34 -19
- package/dist/chunk-6AGDK5V3.mjs.map +1 -0
- package/dist/{chunk-3MQKXNZ6.mjs → chunk-7UD72WOC.mjs} +13 -1
- package/dist/chunk-7UD72WOC.mjs.map +1 -0
- package/dist/chunk-7YWW46R3.mjs +1 -0
- package/dist/chunk-7YWW46R3.mjs.map +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-ARHJZUZG.mjs.map +1 -0
- package/dist/chunk-BCFV6VOE.mjs +1 -0
- package/dist/chunk-BCFV6VOE.mjs.map +1 -0
- package/dist/{chunk-GXYUJ5MA.mjs → chunk-C34HEQXO.mjs} +33 -29
- package/dist/chunk-C34HEQXO.mjs.map +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-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-2UWPZNXC.mjs → chunk-GLAEI3SD.mjs} +2 -2
- package/dist/{chunk-2UWPZNXC.mjs.map → chunk-GLAEI3SD.mjs.map} +1 -1
- 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-XUWZ4HGD.mjs → chunk-LCJSUBCZ.mjs} +48 -45
- package/dist/chunk-LCJSUBCZ.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-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-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 +80 -77
- package/dist/footer/footer.js.map +1 -1
- package/dist/footer/footer.mjs +5 -5
- package/dist/footer/index.d.ts +3 -7
- package/dist/footer/index.d.ts.map +1 -0
- package/dist/footer/index.js +81 -85
- package/dist/footer/index.js.map +1 -1
- package/dist/footer/index.mjs +8 -9
- 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/index.d.ts +3 -2
- package/dist/form/date-picker/index.d.ts.map +1 -0
- 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/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 +373 -394
- package/dist/index-no-css.js.map +1 -1
- package/dist/index-no-css.mjs +50 -57
- package/dist/index.d.ts +11 -128
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +373 -394
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +50 -57
- 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 +60 -62
- package/dist/modal/index.js.map +1 -1
- package/dist/modal/index.mjs +5 -6
- package/dist/modal/modal.d.ts +81 -5
- package/dist/modal/modal.d.ts.map +1 -0
- package/dist/modal/modal.js +59 -55
- package/dist/modal/modal.js.map +1 -1
- package/dist/modal/modal.mjs +2 -2
- 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 +144 -145
- package/dist/navbar/index.js.map +1 -1
- package/dist/navbar/index.mjs +4 -5
- 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.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/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 +34 -37
- package/dist/tabs/index.js.map +1 -1
- package/dist/tabs/index.mjs +4 -4
- 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.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/utilities/auto-animate-height.d.ts +33 -2
- package/dist/utilities/auto-animate-height.d.ts.map +1 -0
- package/dist/utilities/index.d.ts +3 -2
- package/dist/utilities/index.d.ts.map +1 -0
- package/dist/utils.d.ts +28 -5
- package/dist/utils.d.ts.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 +11 -7
- 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/utilities/auto-animate-height.tsx +139 -0
- package/src/utilities/index.ts +2 -0
- package/src/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-3NL3TOZF.mjs +0 -13
- package/dist/chunk-3NL3TOZF.mjs.map +0 -1
- package/dist/chunk-722MZPXO.mjs +0 -13
- package/dist/chunk-722MZPXO.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-ENKVTAJB.mjs.map +0 -1
- package/dist/chunk-GSJPTZT3.mjs.map +0 -1
- package/dist/chunk-GXYUJ5MA.mjs.map +0 -1
- package/dist/chunk-HBSDJAFF.mjs +0 -23
- package/dist/chunk-HBSDJAFF.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-MKVI42QR.mjs +0 -19
- package/dist/chunk-MKVI42QR.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/index.d.mts +0 -2
- package/dist/utils.d.mts +0 -5
- package/dist/warning-banner/index.d.mts +0 -2
- package/dist/warning-banner/warning-banner.d.mts +0 -2
package/dist/navbar/index.js
CHANGED
|
@@ -59,7 +59,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
59
59
|
// src/navbar/index.tsx
|
|
60
60
|
var navbar_exports = {};
|
|
61
61
|
__export(navbar_exports, {
|
|
62
|
-
Navbar: () =>
|
|
62
|
+
Navbar: () => Navbar,
|
|
63
63
|
NavbarButtonItem: () => NavbarButtonItem,
|
|
64
64
|
NavbarExpandableMenu: () => NavbarExpandableMenu,
|
|
65
65
|
NavbarExpandableMenuContent: () => NavbarExpandableMenuContent,
|
|
@@ -75,116 +75,17 @@ __export(navbar_exports, {
|
|
|
75
75
|
module.exports = __toCommonJS(navbar_exports);
|
|
76
76
|
|
|
77
77
|
// src/navbar/navbar.tsx
|
|
78
|
-
var
|
|
79
|
-
var
|
|
78
|
+
var import_react3 = require("react");
|
|
79
|
+
var import_typed_classname2 = require("@postenbring/hedwig-css/typed-classname");
|
|
80
80
|
var import_react_slot = require("@radix-ui/react-slot");
|
|
81
|
-
var import_jsx_runtime = require("react/jsx-runtime");
|
|
82
|
-
var Navbar = (0, import_react.forwardRef)(
|
|
83
|
-
(_a, ref) => {
|
|
84
|
-
var _b = _a, { asChild, children, className, variant } = _b, rest = __objRest(_b, ["asChild", "children", "className", "variant"]);
|
|
85
|
-
const Component = asChild ? import_react_slot.Slot : "header";
|
|
86
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
87
|
-
Component,
|
|
88
|
-
__spreadProps(__spreadValues({
|
|
89
|
-
className: (0, import_typed_classname.clsx)("hds-navbar", variant && `hds-navbar--${variant}`, className),
|
|
90
|
-
ref
|
|
91
|
-
}, rest), {
|
|
92
|
-
children
|
|
93
|
-
})
|
|
94
|
-
);
|
|
95
|
-
}
|
|
96
|
-
);
|
|
97
|
-
Navbar.displayName = "Navbar";
|
|
98
|
-
var NavbarLogo = (0, import_react.forwardRef)(
|
|
99
|
-
(_a, ref) => {
|
|
100
|
-
var _b = _a, { children, className, asChild } = _b, rest = __objRest(_b, ["children", "className", "asChild"]);
|
|
101
|
-
const Component = asChild ? import_react_slot.Slot : "div";
|
|
102
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Component, __spreadProps(__spreadValues({ className: (0, import_typed_classname.clsx)(`hds-navbar__logo`, className), ref }, rest), { children }));
|
|
103
|
-
}
|
|
104
|
-
);
|
|
105
|
-
NavbarLogo.displayName = "Navbar.Logo";
|
|
106
|
-
var NavbarLogoAndServiceText = (0, import_react.forwardRef)(
|
|
107
|
-
(_a, ref) => {
|
|
108
|
-
var _b = _a, { children, asChild, variant, className } = _b, rest = __objRest(_b, ["children", "asChild", "variant", "className"]);
|
|
109
|
-
const Component = asChild ? import_react_slot.Slot : "div";
|
|
110
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
111
|
-
Component,
|
|
112
|
-
__spreadProps(__spreadValues({
|
|
113
|
-
ref,
|
|
114
|
-
className: (0, import_typed_classname.clsx)(
|
|
115
|
-
"hds-navbar__logo-and-service-text",
|
|
116
|
-
`hds-navbar__logo-and-service-text--${variant}`,
|
|
117
|
-
className
|
|
118
|
-
)
|
|
119
|
-
}, rest), {
|
|
120
|
-
children
|
|
121
|
-
})
|
|
122
|
-
);
|
|
123
|
-
}
|
|
124
|
-
);
|
|
125
|
-
NavbarLogoAndServiceText.displayName = "Navbar.NavbarLogoAndText";
|
|
126
|
-
var NavbarItemIcon = (0, import_react.forwardRef)(
|
|
127
|
-
(_a, ref) => {
|
|
128
|
-
var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
|
|
129
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_slot.Slot, __spreadProps(__spreadValues({ className: (0, import_typed_classname.clsx)("hds-navbar__item-icon", className), ref }, rest), { children }));
|
|
130
|
-
}
|
|
131
|
-
);
|
|
132
|
-
NavbarItemIcon.displayName = "Navbar.ItemIcon";
|
|
133
|
-
var NavbarItem = (0, import_react.forwardRef)(
|
|
134
|
-
(_a, ref) => {
|
|
135
|
-
var _b = _a, { asChild, children, className } = _b, rest = __objRest(_b, ["asChild", "children", "className"]);
|
|
136
|
-
const Component = asChild ? import_react_slot.Slot : "div";
|
|
137
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Component, __spreadProps(__spreadValues({ className: (0, import_typed_classname.clsx)("hds-navbar__item", className), ref }, rest), { children }));
|
|
138
|
-
}
|
|
139
|
-
);
|
|
140
|
-
NavbarItem.displayName = "Navbar.Item";
|
|
141
|
-
var NavbarButtonItem = (0, import_react.forwardRef)(
|
|
142
|
-
(_a, ref) => {
|
|
143
|
-
var _b = _a, { asChild, children, className } = _b, rest = __objRest(_b, ["asChild", "children", "className"]);
|
|
144
|
-
const Component = asChild ? import_react_slot.Slot : "button";
|
|
145
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
146
|
-
Component,
|
|
147
|
-
__spreadProps(__spreadValues({
|
|
148
|
-
className: (0, import_typed_classname.clsx)("hds-navbar__item", className),
|
|
149
|
-
ref,
|
|
150
|
-
type: "button"
|
|
151
|
-
}, rest), {
|
|
152
|
-
children
|
|
153
|
-
})
|
|
154
|
-
);
|
|
155
|
-
}
|
|
156
|
-
);
|
|
157
|
-
NavbarButtonItem.displayName = "Navbar.ButtonItem";
|
|
158
|
-
var NavbarLinkItem = (0, import_react.forwardRef)(
|
|
159
|
-
(_a, ref) => {
|
|
160
|
-
var _b = _a, { asChild, children, className } = _b, rest = __objRest(_b, ["asChild", "children", "className"]);
|
|
161
|
-
const Component = asChild ? import_react_slot.Slot : "a";
|
|
162
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Component, __spreadProps(__spreadValues({ className: (0, import_typed_classname.clsx)("hds-navbar__item", className), ref }, rest), { children }));
|
|
163
|
-
}
|
|
164
|
-
);
|
|
165
|
-
NavbarLinkItem.displayName = "Navbar.LinkItem";
|
|
166
|
-
var NavbarNavigation = (0, import_react.forwardRef)(
|
|
167
|
-
(_a, ref) => {
|
|
168
|
-
var _b = _a, { asChild, className } = _b, rest = __objRest(_b, ["asChild", "className"]);
|
|
169
|
-
const Component = asChild ? import_react_slot.Slot : "div";
|
|
170
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
171
|
-
Component,
|
|
172
|
-
__spreadValues({
|
|
173
|
-
className: (0, import_typed_classname.clsx)("hds-navbar__navigation", className),
|
|
174
|
-
ref
|
|
175
|
-
}, rest)
|
|
176
|
-
);
|
|
177
|
-
}
|
|
178
|
-
);
|
|
179
|
-
NavbarNavigation.displayName = "Navbar.Navigation";
|
|
180
81
|
|
|
181
82
|
// src/navbar/navbar-expandable-menu.tsx
|
|
182
|
-
var
|
|
183
|
-
var
|
|
83
|
+
var import_react2 = require("react");
|
|
84
|
+
var import_typed_classname = require("@postenbring/hedwig-css/typed-classname");
|
|
184
85
|
|
|
185
86
|
// src/utils.ts
|
|
186
87
|
var React = __toESM(require("react"));
|
|
187
|
-
var
|
|
88
|
+
var import_react = require("react");
|
|
188
89
|
function focusTrap(element) {
|
|
189
90
|
var _a, _b;
|
|
190
91
|
if (element === document.body)
|
|
@@ -217,9 +118,9 @@ function releaseFocusTrap(inertElements) {
|
|
|
217
118
|
}
|
|
218
119
|
|
|
219
120
|
// src/navbar/icons.tsx
|
|
220
|
-
var
|
|
121
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
221
122
|
function CloseIcon() {
|
|
222
|
-
return /* @__PURE__ */ (0,
|
|
123
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", { "aria-hidden": true, xmlns: "http://www.w3.org/2000/svg", width: 24, height: 24, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
223
124
|
"path",
|
|
224
125
|
{
|
|
225
126
|
fill: "currentColor",
|
|
@@ -228,7 +129,7 @@ function CloseIcon() {
|
|
|
228
129
|
) });
|
|
229
130
|
}
|
|
230
131
|
function MenuIcon() {
|
|
231
|
-
return /* @__PURE__ */ (0,
|
|
132
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", { "aria-hidden": true, xmlns: "http://www.w3.org/2000/svg", width: 32, height: 32, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
232
133
|
"path",
|
|
233
134
|
{
|
|
234
135
|
fill: "currentColor",
|
|
@@ -238,35 +139,35 @@ function MenuIcon() {
|
|
|
238
139
|
}
|
|
239
140
|
|
|
240
141
|
// src/navbar/navbar-expandable-menu.tsx
|
|
241
|
-
var
|
|
242
|
-
var expandableMenuContext = (0,
|
|
142
|
+
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
143
|
+
var expandableMenuContext = (0, import_react2.createContext)([
|
|
243
144
|
false,
|
|
244
145
|
() => {
|
|
245
146
|
}
|
|
246
147
|
]);
|
|
247
|
-
var useNavbarExpendableMenuContext = () => (0,
|
|
148
|
+
var useNavbarExpendableMenuContext = () => (0, import_react2.useContext)(expandableMenuContext);
|
|
248
149
|
function NavbarExpandableMenu({ children }) {
|
|
249
|
-
const [open, setOpen] = (0,
|
|
150
|
+
const [open, setOpen] = (0, import_react2.useState)(false);
|
|
250
151
|
function toggleOpen() {
|
|
251
152
|
setOpen((prev) => !prev);
|
|
252
153
|
}
|
|
253
|
-
(0,
|
|
154
|
+
(0, import_react2.useEffect)(() => {
|
|
254
155
|
if (open) {
|
|
255
156
|
window.scrollTo(0, 0);
|
|
256
|
-
document.body.classList.add((0,
|
|
157
|
+
document.body.classList.add((0, import_typed_classname.clsx)("hds-navbar-scroll-lock"));
|
|
257
158
|
const releaseFocusTrap2 = focusTrap(
|
|
258
|
-
document.getElementsByClassName((0,
|
|
159
|
+
document.getElementsByClassName((0, import_typed_classname.clsx)("hds-navbar"))[0]
|
|
259
160
|
);
|
|
260
161
|
return () => {
|
|
261
|
-
document.body.classList.remove((0,
|
|
162
|
+
document.body.classList.remove((0, import_typed_classname.clsx)("hds-navbar-scroll-lock"));
|
|
262
163
|
releaseFocusTrap2();
|
|
263
164
|
};
|
|
264
165
|
}
|
|
265
166
|
}, [open]);
|
|
266
|
-
return /* @__PURE__ */ (0,
|
|
167
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(expandableMenuContext.Provider, { value: [open, toggleOpen], children });
|
|
267
168
|
}
|
|
268
169
|
NavbarExpandableMenu.displayName = "NavbarExpandableMenu";
|
|
269
|
-
var NavbarExpandableMenuTrigger = (0,
|
|
170
|
+
var NavbarExpandableMenuTrigger = (0, import_react2.forwardRef)(
|
|
270
171
|
(_a, ref) => {
|
|
271
172
|
var _b = _a, {
|
|
272
173
|
whenClosedText,
|
|
@@ -284,9 +185,9 @@ var NavbarExpandableMenuTrigger = (0, import_react3.forwardRef)(
|
|
|
284
185
|
"className"
|
|
285
186
|
]);
|
|
286
187
|
const [open, toggleOpen] = useNavbarExpendableMenuContext();
|
|
287
|
-
const [textWidth, setTextWidth] = (0,
|
|
288
|
-
const measurementId = (0,
|
|
289
|
-
(0,
|
|
188
|
+
const [textWidth, setTextWidth] = (0, import_react2.useState)(void 0);
|
|
189
|
+
const measurementId = (0, import_react2.useId)();
|
|
190
|
+
(0, import_react2.useEffect)(() => {
|
|
290
191
|
var _a2, _b2, _c, _d;
|
|
291
192
|
const widthWhenOpen = (_b2 = (_a2 = document.getElementById(`${measurementId}-when-open`)) == null ? void 0 : _a2.getBoundingClientRect().width) != null ? _b2 : 0;
|
|
292
193
|
const widthWhenClosed = (_d = (_c = document.getElementById(`${measurementId}-when-closed`)) == null ? void 0 : _c.getBoundingClientRect().width) != null ? _d : 0;
|
|
@@ -294,11 +195,11 @@ var NavbarExpandableMenuTrigger = (0, import_react3.forwardRef)(
|
|
|
294
195
|
}, [measurementId]);
|
|
295
196
|
const text = open ? whenOpenText : whenClosedText;
|
|
296
197
|
const title = open ? whenOpenHelperTitle : whenClosedHelperTitle;
|
|
297
|
-
const icon = open ? /* @__PURE__ */ (0,
|
|
298
|
-
return /* @__PURE__ */ (0,
|
|
198
|
+
const icon = open ? /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(CloseIcon, {}) : /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(MenuIcon, {});
|
|
199
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(
|
|
299
200
|
"button",
|
|
300
201
|
__spreadProps(__spreadValues({
|
|
301
|
-
className: (0,
|
|
202
|
+
className: (0, import_typed_classname.clsx)("hds-navbar__item", className),
|
|
302
203
|
onClick: toggleOpen,
|
|
303
204
|
ref,
|
|
304
205
|
title,
|
|
@@ -306,7 +207,7 @@ var NavbarExpandableMenuTrigger = (0, import_react3.forwardRef)(
|
|
|
306
207
|
style: __spreadValues({ position: "relative" }, style)
|
|
307
208
|
}, rest), {
|
|
308
209
|
children: [
|
|
309
|
-
/* @__PURE__ */ (0,
|
|
210
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
310
211
|
"span",
|
|
311
212
|
{
|
|
312
213
|
id: `${measurementId}-when-closed`,
|
|
@@ -320,7 +221,7 @@ var NavbarExpandableMenuTrigger = (0, import_react3.forwardRef)(
|
|
|
320
221
|
children: whenOpenText
|
|
321
222
|
}
|
|
322
223
|
),
|
|
323
|
-
/* @__PURE__ */ (0,
|
|
224
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
324
225
|
"span",
|
|
325
226
|
{
|
|
326
227
|
id: `${measurementId}-when-open`,
|
|
@@ -334,49 +235,147 @@ var NavbarExpandableMenuTrigger = (0, import_react3.forwardRef)(
|
|
|
334
235
|
children: whenClosedText
|
|
335
236
|
}
|
|
336
237
|
),
|
|
337
|
-
/* @__PURE__ */ (0,
|
|
238
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
338
239
|
"span",
|
|
339
240
|
{
|
|
340
241
|
style: { width: textWidth, whiteSpace: "nowrap" },
|
|
341
|
-
className: (0,
|
|
242
|
+
className: (0, import_typed_classname.clsx)("hds-navbar__item-responsive-text"),
|
|
342
243
|
children: text
|
|
343
244
|
}
|
|
344
245
|
),
|
|
345
|
-
/* @__PURE__ */ (0,
|
|
246
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("span", { style: { width: 32, height: 32 }, children: icon })
|
|
346
247
|
]
|
|
347
248
|
})
|
|
348
249
|
);
|
|
349
250
|
}
|
|
350
251
|
);
|
|
351
252
|
NavbarExpandableMenuTrigger.displayName = "Navbar.ExpandableMenuTrigger";
|
|
352
|
-
var NavbarExpandableMenuContent = (0,
|
|
253
|
+
var NavbarExpandableMenuContent = (0, import_react2.forwardRef)((_a, ref) => {
|
|
353
254
|
var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
|
|
354
255
|
const [open] = useNavbarExpendableMenuContext();
|
|
355
|
-
return /* @__PURE__ */ (0,
|
|
256
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
356
257
|
"section",
|
|
357
258
|
__spreadProps(__spreadValues(__spreadProps(__spreadValues({}, rest), {
|
|
358
|
-
className: (0,
|
|
259
|
+
className: (0, import_typed_classname.clsx)("hds-navbar__expandable-menu-content", className),
|
|
359
260
|
"data-state": open ? "open" : "closed"
|
|
360
261
|
}), { inert: open ? void 0 : "true" }), {
|
|
361
262
|
ref,
|
|
362
|
-
children: /* @__PURE__ */ (0,
|
|
263
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { className: (0, import_typed_classname.clsx)("hds-navbar__expandable-menu-content-inner"), children })
|
|
363
264
|
})
|
|
364
265
|
);
|
|
365
266
|
});
|
|
366
267
|
NavbarExpandableMenuContent.displayName = "Navbar.ExpandableMenuContent";
|
|
367
268
|
|
|
368
|
-
// src/navbar/
|
|
369
|
-
var
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
269
|
+
// src/navbar/navbar.tsx
|
|
270
|
+
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
271
|
+
var NavbarLogo = (0, import_react3.forwardRef)(
|
|
272
|
+
(_a, ref) => {
|
|
273
|
+
var _b = _a, { children, className, asChild } = _b, rest = __objRest(_b, ["children", "className", "asChild"]);
|
|
274
|
+
const Component = asChild ? import_react_slot.Slot : "div";
|
|
275
|
+
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Component, __spreadProps(__spreadValues({ className: (0, import_typed_classname2.clsx)(`hds-navbar__logo`, className), ref }, rest), { children }));
|
|
276
|
+
}
|
|
277
|
+
);
|
|
278
|
+
NavbarLogo.displayName = "Navbar.Logo";
|
|
279
|
+
var NavbarLogoAndServiceText = (0, import_react3.forwardRef)(
|
|
280
|
+
(_a, ref) => {
|
|
281
|
+
var _b = _a, { children, asChild, variant, className } = _b, rest = __objRest(_b, ["children", "asChild", "variant", "className"]);
|
|
282
|
+
const Component = asChild ? import_react_slot.Slot : "div";
|
|
283
|
+
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
284
|
+
Component,
|
|
285
|
+
__spreadProps(__spreadValues({
|
|
286
|
+
ref,
|
|
287
|
+
className: (0, import_typed_classname2.clsx)(
|
|
288
|
+
"hds-navbar__logo-and-service-text",
|
|
289
|
+
`hds-navbar__logo-and-service-text--${variant}`,
|
|
290
|
+
className
|
|
291
|
+
)
|
|
292
|
+
}, rest), {
|
|
293
|
+
children
|
|
294
|
+
})
|
|
295
|
+
);
|
|
296
|
+
}
|
|
297
|
+
);
|
|
298
|
+
NavbarLogoAndServiceText.displayName = "Navbar.NavbarLogoAndText";
|
|
299
|
+
var NavbarItemIcon = (0, import_react3.forwardRef)(
|
|
300
|
+
(_a, ref) => {
|
|
301
|
+
var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
|
|
302
|
+
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_react_slot.Slot, __spreadProps(__spreadValues({ className: (0, import_typed_classname2.clsx)("hds-navbar__item-icon", className), ref }, rest), { children }));
|
|
303
|
+
}
|
|
304
|
+
);
|
|
305
|
+
NavbarItemIcon.displayName = "Navbar.ItemIcon";
|
|
306
|
+
var NavbarItem = (0, import_react3.forwardRef)(
|
|
307
|
+
(_a, ref) => {
|
|
308
|
+
var _b = _a, { asChild, children, className } = _b, rest = __objRest(_b, ["asChild", "children", "className"]);
|
|
309
|
+
const Component = asChild ? import_react_slot.Slot : "div";
|
|
310
|
+
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Component, __spreadProps(__spreadValues({ className: (0, import_typed_classname2.clsx)("hds-navbar__item", className), ref }, rest), { children }));
|
|
311
|
+
}
|
|
312
|
+
);
|
|
313
|
+
NavbarItem.displayName = "Navbar.Item";
|
|
314
|
+
var NavbarButtonItem = (0, import_react3.forwardRef)(
|
|
315
|
+
(_a, ref) => {
|
|
316
|
+
var _b = _a, { asChild, children, className } = _b, rest = __objRest(_b, ["asChild", "children", "className"]);
|
|
317
|
+
const Component = asChild ? import_react_slot.Slot : "button";
|
|
318
|
+
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
319
|
+
Component,
|
|
320
|
+
__spreadProps(__spreadValues({
|
|
321
|
+
className: (0, import_typed_classname2.clsx)("hds-navbar__item", className),
|
|
322
|
+
ref,
|
|
323
|
+
type: "button"
|
|
324
|
+
}, rest), {
|
|
325
|
+
children
|
|
326
|
+
})
|
|
327
|
+
);
|
|
328
|
+
}
|
|
329
|
+
);
|
|
330
|
+
NavbarButtonItem.displayName = "Navbar.ButtonItem";
|
|
331
|
+
var NavbarLinkItem = (0, import_react3.forwardRef)(
|
|
332
|
+
(_a, ref) => {
|
|
333
|
+
var _b = _a, { asChild, children, className } = _b, rest = __objRest(_b, ["asChild", "children", "className"]);
|
|
334
|
+
const Component = asChild ? import_react_slot.Slot : "a";
|
|
335
|
+
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Component, __spreadProps(__spreadValues({ className: (0, import_typed_classname2.clsx)("hds-navbar__item", className), ref }, rest), { children }));
|
|
336
|
+
}
|
|
337
|
+
);
|
|
338
|
+
NavbarLinkItem.displayName = "Navbar.LinkItem";
|
|
339
|
+
var NavbarNavigation = (0, import_react3.forwardRef)(
|
|
340
|
+
(_a, ref) => {
|
|
341
|
+
var _b = _a, { asChild, className } = _b, rest = __objRest(_b, ["asChild", "className"]);
|
|
342
|
+
const Component = asChild ? import_react_slot.Slot : "div";
|
|
343
|
+
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
344
|
+
Component,
|
|
345
|
+
__spreadValues({
|
|
346
|
+
className: (0, import_typed_classname2.clsx)("hds-navbar__navigation", className),
|
|
347
|
+
ref
|
|
348
|
+
}, rest)
|
|
349
|
+
);
|
|
350
|
+
}
|
|
351
|
+
);
|
|
352
|
+
NavbarNavigation.displayName = "Navbar.Navigation";
|
|
353
|
+
var Navbar = (0, import_react3.forwardRef)(
|
|
354
|
+
(_a, ref) => {
|
|
355
|
+
var _b = _a, { asChild, children, className, variant } = _b, rest = __objRest(_b, ["asChild", "children", "className", "variant"]);
|
|
356
|
+
const Component = asChild ? import_react_slot.Slot : "header";
|
|
357
|
+
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
358
|
+
Component,
|
|
359
|
+
__spreadProps(__spreadValues({
|
|
360
|
+
className: (0, import_typed_classname2.clsx)("hds-navbar", variant && `hds-navbar--${variant}`, className),
|
|
361
|
+
ref
|
|
362
|
+
}, rest), {
|
|
363
|
+
children
|
|
364
|
+
})
|
|
365
|
+
);
|
|
366
|
+
}
|
|
367
|
+
);
|
|
368
|
+
Navbar.displayName = "Navbar";
|
|
369
|
+
Navbar.Logo = NavbarLogo;
|
|
370
|
+
Navbar.LogoAndServiceText = NavbarLogoAndServiceText;
|
|
371
|
+
Navbar.ExpandableMenu = NavbarExpandableMenu;
|
|
372
|
+
Navbar.ExpandableMenuTrigger = NavbarExpandableMenuTrigger;
|
|
373
|
+
Navbar.ExpandableMenuContent = NavbarExpandableMenuContent;
|
|
374
|
+
Navbar.Item = NavbarItem;
|
|
375
|
+
Navbar.ButtonItem = NavbarButtonItem;
|
|
376
|
+
Navbar.LinkItem = NavbarLinkItem;
|
|
377
|
+
Navbar.ItemIcon = NavbarItemIcon;
|
|
378
|
+
Navbar.Navigation = NavbarNavigation;
|
|
380
379
|
// Annotate the CommonJS export names for ESM import in node:
|
|
381
380
|
0 && (module.exports = {
|
|
382
381
|
Navbar,
|
package/dist/navbar/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/navbar/index.tsx","../../src/navbar/navbar.tsx","../../src/navbar/navbar-expandable-menu.tsx","../../src/utils.ts","../../src/navbar/icons.tsx"],"sourcesContent":["import {\n Navbar,\n NavbarLogo,\n NavbarItem,\n NavbarButtonItem,\n NavbarLinkItem,\n NavbarItemIcon,\n NavbarNavigation,\n NavbarLogoAndServiceText,\n} from \"./navbar\";\nimport {\n useNavbarExpendableMenuContext,\n NavbarExpandableMenu,\n NavbarExpandableMenuTrigger,\n NavbarExpandableMenuContent,\n} from \"./navbar-expandable-menu\";\n\nconst NavbarComponent = Navbar as typeof Navbar & {\n Logo: typeof NavbarLogo;\n LogoAndServiceText: typeof NavbarLogoAndServiceText;\n ExpandableMenu: typeof NavbarExpandableMenu;\n ExpandableMenuTrigger: typeof NavbarExpandableMenuTrigger;\n ExpandableMenuContent: typeof NavbarExpandableMenuContent;\n Item: typeof NavbarItem;\n ButtonItem: typeof NavbarButtonItem;\n LinkItem: typeof NavbarLinkItem;\n ItemIcon: typeof NavbarItemIcon;\n Navigation: typeof NavbarNavigation;\n};\nNavbarComponent.Logo = NavbarLogo;\nNavbarComponent.LogoAndServiceText = NavbarLogoAndServiceText;\nNavbarComponent.ExpandableMenu = NavbarExpandableMenu;\nNavbarComponent.ExpandableMenuTrigger = NavbarExpandableMenuTrigger;\nNavbarComponent.ExpandableMenuContent = NavbarExpandableMenuContent;\nNavbarComponent.Item = NavbarItem;\nNavbarComponent.ButtonItem = NavbarButtonItem;\nNavbarComponent.LinkItem = NavbarLinkItem;\nNavbarComponent.ItemIcon = NavbarItemIcon;\nNavbarComponent.Navigation = NavbarNavigation;\n\nexport {\n NavbarComponent as Navbar,\n NavbarLogo,\n NavbarItem,\n NavbarButtonItem,\n NavbarLinkItem,\n NavbarItemIcon,\n NavbarNavigation,\n NavbarLogoAndServiceText,\n useNavbarExpendableMenuContext,\n NavbarExpandableMenu,\n NavbarExpandableMenuTrigger,\n NavbarExpandableMenuContent,\n};\nexport type * from \"./navbar\";\n","import { forwardRef, type HTMLAttributes } from \"react\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport { Slot } from \"@radix-ui/react-slot\";\n\nexport interface NavbarProps extends HTMLAttributes<HTMLElement> {\n /**\n * Navbar variant\n *\n * By default the `posten.no` variant is used which has a fixed logo and a fixed height of 112px\n *\n * For internal services or flagship services use the `service` should be used\n *\n * @default \"default\"\n */\n variant?: \"default\" | \"service\";\n\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n *\n * @default false\n */\n asChild?: boolean;\n}\n\n/**\n * 🚨 WORK IN PROGRESS 🚨\n */\nexport const Navbar = forwardRef<HTMLElement, NavbarProps>(\n ({ asChild, children, className, variant, ...rest }, ref) => {\n const Component = asChild ? Slot : \"header\";\n return (\n <Component\n className={clsx(\"hds-navbar\", variant && `hds-navbar--${variant}`, className as undefined)}\n ref={ref}\n {...rest}\n >\n {children}\n </Component>\n );\n },\n);\nNavbar.displayName = \"Navbar\";\n\ninterface NavbarLogoProps extends React.HTMLAttributes<HTMLDivElement> {\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n *\n * @default false\n */\n asChild?: boolean;\n}\n\n/**\n * A fixed Posten or Bring logo.\n *\n * The logo follows the brand theme, so if the class `hds-theme-bring` is set the Bring logo will be shown instead of the Posten logo\n */\nexport const NavbarLogo = forwardRef<HTMLDivElement, NavbarLogoProps>(\n ({ children, className, asChild, ...rest }, ref) => {\n const Component = asChild ? Slot : \"div\";\n return (\n <Component className={clsx(`hds-navbar__logo`, className as undefined)} ref={ref} {...rest}>\n {children}\n </Component>\n );\n },\n);\nNavbarLogo.displayName = \"Navbar.Logo\";\n\ninterface NavbarLogoAndServiceText extends HTMLAttributes<HTMLDivElement> {\n /**\n * The text display next to the logo\n */\n children: React.ReactNode;\n\n /**\n * The text variant\n *\n * Use `service` for internal applications\n *\n * Use `flagship` for public facing applications\n */\n variant: \"service\" | \"flagship\";\n\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n *\n * @default false\n */\n asChild?: boolean;\n}\n\n/**\n * Internal service or flagship text next to either the Posten or Bring logo\n *\n * The logo follows the brand theme, so if the class `hds-theme-bring` is set the Bring logo will be shown instead of the Posten logo\n */\nexport const NavbarLogoAndServiceText = forwardRef<HTMLDivElement, NavbarLogoAndServiceText>(\n ({ children, asChild, variant, className, ...rest }, ref) => {\n const Component = asChild ? Slot : \"div\";\n return (\n <Component\n ref={ref}\n className={clsx(\n \"hds-navbar__logo-and-service-text\",\n `hds-navbar__logo-and-service-text--${variant}`,\n className as undefined,\n )}\n {...rest}\n >\n {children}\n </Component>\n );\n },\n);\nNavbarLogoAndServiceText.displayName = \"Navbar.NavbarLogoAndText\";\n\ninterface NavbarItemIconProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode;\n}\n/**\n * Icon to be used inside a `Navbar.Item`, `Navbar.ButtonItem`, or `Navbar.LinkItem`\n */\nexport const NavbarItemIcon = forwardRef<HTMLDivElement, NavbarItemIconProps>(\n ({ children, className, ...rest }, ref) => {\n return (\n <Slot className={clsx(\"hds-navbar__item-icon\", className as undefined)} ref={ref} {...rest}>\n {children}\n </Slot>\n );\n },\n);\nNavbarItemIcon.displayName = \"Navbar.ItemIcon\";\n\ninterface NavbarItemProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode;\n\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n *\n * @default false\n */\n asChild?: boolean;\n}\n\n/**\n * Generic Navbar item\n *\n * Use `Navbar.ButtonItem` or `Navbar.LinkItem` for links and buttons\n */\nexport const NavbarItem = forwardRef<HTMLDivElement, NavbarItemProps>(\n ({ asChild, children, className, ...rest }, ref) => {\n const Component = asChild ? Slot : \"div\";\n return (\n <Component className={clsx(\"hds-navbar__item\", className as undefined)} ref={ref} {...rest}>\n {children}\n </Component>\n );\n },\n);\nNavbarItem.displayName = \"Navbar.Item\";\n\ninterface NavbarButtonItemProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n children: React.ReactNode;\n\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n *\n * @default false\n */\n asChild?: boolean;\n}\nexport const NavbarButtonItem = forwardRef<HTMLButtonElement, NavbarButtonItemProps>(\n ({ asChild, children, className, ...rest }, ref) => {\n const Component = asChild ? Slot : \"button\";\n return (\n <Component\n className={clsx(\"hds-navbar__item\", className as undefined)}\n ref={ref}\n type=\"button\"\n {...rest}\n >\n {children}\n </Component>\n );\n },\n);\nNavbarButtonItem.displayName = \"Navbar.ButtonItem\";\n\ninterface NavbarLinkItemProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {\n children: React.ReactNode;\n\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n *\n * @default false\n */\n asChild?: boolean;\n}\n\nexport const NavbarLinkItem = forwardRef<HTMLAnchorElement, NavbarLinkItemProps>(\n ({ asChild, children, className, ...rest }, ref) => {\n const Component = asChild ? Slot : \"a\";\n return (\n <Component className={clsx(\"hds-navbar__item\", className as undefined)} ref={ref} {...rest}>\n {children}\n </Component>\n );\n },\n);\nNavbarLinkItem.displayName = \"Navbar.LinkItem\";\n\ninterface NavbarNavigationProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode;\n\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n *\n * @default false\n */\n asChild?: boolean;\n}\nexport const NavbarNavigation = forwardRef<HTMLDivElement, NavbarNavigationProps>(\n ({ asChild, className, ...rest }, ref) => {\n const Component = asChild ? Slot : \"div\";\n return (\n <Component\n className={clsx(\"hds-navbar__navigation\", className as undefined)}\n ref={ref}\n {...rest}\n />\n );\n },\n);\nNavbarNavigation.displayName = \"Navbar.Navigation\";\n","import { createContext, useContext, forwardRef, useState, useEffect, useId } from \"react\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport { focusTrap } from \"../utils\";\nimport { CloseIcon, MenuIcon } from \"./icons\";\n\nconst expandableMenuContext = createContext([\n false as boolean,\n () => {\n // Empty\n },\n] as const);\nexport const useNavbarExpendableMenuContext = () => useContext(expandableMenuContext);\n\nexport interface NavbarExpandableMenuProps {\n children: React.ReactNode;\n}\n\n/**\n * Expandable Menu Provider\n * Handles scroll and focus locking,\n * as well as scrolling the user to the top of the page.\n *\n * If we want a sticky header in the future the scrolling should be configurable\n */\nexport function NavbarExpandableMenu({ children }: NavbarExpandableMenuProps) {\n const [open, setOpen] = useState(false);\n function toggleOpen() {\n setOpen((prev) => !prev);\n }\n\n useEffect(() => {\n if (open) {\n window.scrollTo(0, 0);\n document.body.classList.add(clsx(\"hds-navbar-scroll-lock\"));\n const releaseFocusTrap = focusTrap(\n document.getElementsByClassName(clsx(\"hds-navbar\"))[0] as HTMLElement,\n );\n\n return () => {\n document.body.classList.remove(clsx(\"hds-navbar-scroll-lock\"));\n releaseFocusTrap();\n };\n }\n }, [open]);\n\n return (\n <expandableMenuContext.Provider value={[open, toggleOpen]}>\n {children}\n </expandableMenuContext.Provider>\n );\n}\nNavbarExpandableMenu.displayName = \"NavbarExpandableMenu\";\n\n/**\n * Trigger\n */\nexport interface NavbarExpandableMenuTriggerProps\n extends Omit<React.HTMLAttributes<HTMLButtonElement>, \"children\"> {\n whenClosedText: React.ReactNode;\n whenClosedHelperTitle?: string;\n\n whenOpenText: React.ReactNode;\n whenOpenHelperTitle?: string;\n}\nexport const NavbarExpandableMenuTrigger = forwardRef<\n HTMLButtonElement,\n NavbarExpandableMenuTriggerProps\n>(\n (\n {\n whenClosedText,\n whenClosedHelperTitle,\n\n whenOpenText,\n whenOpenHelperTitle,\n\n style,\n className,\n ...rest\n },\n ref,\n ) => {\n const [open, toggleOpen] = useNavbarExpendableMenuContext();\n\n // Measure the width of the text when open and closed and choose the widest one\n // This is to ensure that the button doesn't change size when the text changes\n const [textWidth, setTextWidth] = useState<number | undefined>(undefined);\n const measurementId = useId();\n useEffect(() => {\n const widthWhenOpen =\n document.getElementById(`${measurementId}-when-open`)?.getBoundingClientRect().width ?? 0;\n const widthWhenClosed =\n document.getElementById(`${measurementId}-when-closed`)?.getBoundingClientRect().width ?? 0;\n\n setTextWidth(widthWhenOpen < widthWhenClosed ? widthWhenClosed : widthWhenOpen);\n }, [measurementId]);\n\n const text = open ? whenOpenText : whenClosedText;\n const title = open ? whenOpenHelperTitle : whenClosedHelperTitle;\n const icon = open ? <CloseIcon /> : <MenuIcon />;\n\n return (\n <button\n className={clsx(\"hds-navbar__item\", className as undefined)}\n onClick={toggleOpen}\n ref={ref}\n title={title}\n type=\"button\"\n style={{ position: \"relative\", ...style }}\n {...rest}\n >\n {/* Measurement elements, not shown to the user */}\n <span\n id={`${measurementId}-when-closed`}\n aria-hidden\n style={{\n position: \"absolute\",\n visibility: \"hidden\",\n pointerEvents: \"none\",\n whiteSpace: \"nowrap\",\n }}\n >\n {whenOpenText}\n </span>\n <span\n id={`${measurementId}-when-open`}\n aria-hidden\n style={{\n position: \"absolute\",\n visibility: \"hidden\",\n pointerEvents: \"none\",\n whiteSpace: \"nowrap\",\n }}\n >\n {whenClosedText}\n </span>\n\n {/* Actual content */}\n <span\n style={{ width: textWidth, whiteSpace: \"nowrap\" }}\n className={clsx(\"hds-navbar__item-responsive-text\")}\n >\n {text}\n </span>\n <span style={{ width: 32, height: 32 }}>{icon}</span>\n </button>\n );\n },\n);\nNavbarExpandableMenuTrigger.displayName = \"Navbar.ExpandableMenuTrigger\";\n\n/**\n * Content\n */\nexport interface NavbarExpandableMenuContentProps {\n children: React.ReactNode;\n className?: string;\n}\nexport const NavbarExpandableMenuContent = forwardRef<\n HTMLDivElement,\n NavbarExpandableMenuContentProps\n>(({ children, className, ...rest }, ref) => {\n const [open] = useNavbarExpendableMenuContext();\n return (\n <section\n {...rest}\n className={clsx(\"hds-navbar__expandable-menu-content\", className as undefined)}\n data-state={open ? \"open\" : \"closed\"}\n {...{ inert: open ? undefined : \"true\" }}\n ref={ref}\n >\n <div className={clsx(\"hds-navbar__expandable-menu-content-inner\")}>{children}</div>\n </section>\n );\n});\nNavbarExpandableMenuContent.displayName = \"Navbar.ExpandableMenuContent\";\n","import * as React from \"react\";\nimport { useCallback, useEffect, useState } from \"react\";\n\n/**\n * Merges an array of refs into a single memoized callback ref or `null`.\n * @see https://floating-ui.com/docs/useMergeRefs\n */\nexport function useMergeRefs<Instance>(\n refs: (React.Ref<Instance> | undefined)[],\n): React.RefCallback<Instance> | null {\n return React.useMemo(() => {\n if (refs.every((ref) => ref === null)) {\n return null;\n }\n\n return (value) => {\n refs.forEach((ref) => {\n if (typeof ref === \"function\") {\n ref(value);\n } else if (ref !== null) {\n (ref as React.MutableRefObject<Instance | null>).current = value;\n }\n });\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps -- It's ok\n }, refs);\n}\n\nexport function useResize<Instance extends HTMLElement>(\n ref: React.RefObject<Instance> | undefined | null,\n): { width: number; height: number } {\n const [width, setWidth] = useState<number>(0);\n const [height, setHeight] = useState<number>(0);\n const handleResize = useCallback(() => {\n if (ref?.current !== null) {\n setWidth(ref?.current?.offsetWidth ?? 0);\n setHeight(ref?.current?.offsetHeight ?? 0);\n }\n }, [ref]);\n useEffect(() => {\n window.addEventListener(\"load\", handleResize);\n window.addEventListener(\"resize\", handleResize);\n return () => {\n window.removeEventListener(\"load\", handleResize);\n window.removeEventListener(\"resize\", handleResize);\n };\n }, [ref, handleResize]);\n useEffect(() => {\n handleResize();\n // eslint-disable-next-line react-hooks/exhaustive-deps -- It's ok\n }, []);\n return { width, height };\n}\n\nfunction subscribe() {\n // eslint-disable-next-line @typescript-eslint/no-empty-function -- It's ok\n return () => {};\n}\n\nexport function useHydrated() {\n return React.useSyncExternalStore(\n subscribe,\n () => true,\n () => false,\n );\n}\n\n/**\n * Trap focus inside an element using the `inert` attribute.\n *\n * Adds `inert` to all siblings of the given element, and all their ancestors up to the body.\n * Returns a cleanup function which removes the `inert` property from the elements, effectively giving focus back to rest of the document.\n *\n * NOTE: Does not support portals, i.e. elements outside the DOM hierarchy of the given element.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/inert\n * @see https://web.dev/articles/inert\n */\nexport function focusTrap(element: HTMLElement) {\n // eslint-disable-next-line @typescript-eslint/no-empty-function -- NOP on focus trapping the body element\n if (element === document.body) return () => {};\n\n let inertElements: HTMLElement[] = [];\n for (let el: HTMLElement | null = element; el; el = el.parentElement) {\n if (el === document.body) break;\n\n for (const sibling of el.parentElement?.children ?? []) {\n if (sibling === el) continue;\n if (!(sibling instanceof HTMLElement)) continue;\n if (sibling.hasAttribute(\"inert\")) continue;\n\n sibling.setAttribute(\"inert\", \"true\");\n inertElements.push(sibling);\n }\n }\n\n return () => {\n releaseFocusTrap(inertElements);\n inertElements = [];\n };\n}\n\n/**\n * Unset the `inert` attribute on all elements given\n */\nexport function releaseFocusTrap(inertElements: Iterable<HTMLElement>) {\n for (const el of inertElements) {\n el.removeAttribute(\"inert\");\n }\n}\n","export function CloseIcon() {\n return (\n <svg aria-hidden xmlns=\"http://www.w3.org/2000/svg\" width={24} height={24}>\n <path\n fill=\"currentColor\"\n d=\"m13.16 12.25 3.621-3.586.739-.738c.105-.106.105-.281 0-.422l-.774-.774c-.14-.105-.316-.105-.422 0L12 11.09 7.64 6.73c-.105-.105-.28-.105-.421 0l-.774.774c-.105.14-.105.316 0 .422l4.36 4.324-4.36 4.36c-.105.105-.105.28 0 .421l.774.774c.14.105.316.105.422 0L12 13.445l3.586 3.621.738.739c.106.105.281.105.422 0l.774-.774c.105-.14.105-.316 0-.422l-4.36-4.359Z\"\n />\n </svg>\n );\n}\n\nexport function MenuIcon() {\n return (\n <svg aria-hidden xmlns=\"http://www.w3.org/2000/svg\" width={32} height={32}>\n <path\n fill=\"currentColor\"\n d=\"M25.938 10.146a.57.57 0 0 0 .562-.563v-1.5c0-.281-.281-.562-.563-.562H6.063a.57.57 0 0 0-.562.562v1.5c0 .328.234.563.563.563h19.875Zm0 7.5a.57.57 0 0 0 .562-.563v-1.5c0-.281-.281-.563-.563-.563H6.063a.57.57 0 0 0-.562.563v1.5c0 .328.234.563.563.563h19.875Zm0 7.5a.57.57 0 0 0 .562-.563v-1.5c0-.281-.281-.563-.563-.563H6.063a.57.57 0 0 0-.562.563v1.5c0 .328.234.563.563.563h19.875Z\"\n />\n </svg>\n );\n}\n"],"mappings":"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","names":["import_react","import_typed_classname","import_react","import_jsx_runtime","import_jsx_runtime","releaseFocusTrap","_a","_b"]}
|
|
1
|
+
{"version":3,"sources":["../../src/navbar/index.tsx","../../src/navbar/navbar.tsx","../../src/navbar/navbar-expandable-menu.tsx","../../src/utils.ts","../../src/navbar/icons.tsx"],"sourcesContent":["export {\n Navbar,\n NavbarLogo,\n NavbarItem,\n NavbarButtonItem,\n NavbarLinkItem,\n NavbarItemIcon,\n NavbarNavigation,\n NavbarLogoAndServiceText,\n} from \"./navbar\";\nexport {\n useNavbarExpendableMenuContext,\n NavbarExpandableMenu,\n NavbarExpandableMenuTrigger,\n NavbarExpandableMenuContent,\n} from \"./navbar-expandable-menu\";\n\nexport type * from \"./navbar\";\n","import { forwardRef, type HTMLAttributes } from \"react\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport {\n NavbarExpandableMenu,\n NavbarExpandableMenuContent,\n NavbarExpandableMenuTrigger,\n} from \"./navbar-expandable-menu\";\n\ninterface NavbarLogoProps extends React.HTMLAttributes<HTMLDivElement> {\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n *\n * @default false\n */\n asChild?: boolean;\n}\n\n/**\n * A fixed Posten or Bring logo.\n *\n * The logo follows the brand theme, so if the class `hds-theme-bring` is set the Bring logo will be shown instead of the Posten logo\n */\nexport const NavbarLogo = forwardRef<HTMLDivElement, NavbarLogoProps>(\n ({ children, className, asChild, ...rest }, ref) => {\n const Component = asChild ? Slot : \"div\";\n return (\n <Component className={clsx(`hds-navbar__logo`, className as undefined)} ref={ref} {...rest}>\n {children}\n </Component>\n );\n },\n);\nNavbarLogo.displayName = \"Navbar.Logo\";\n\ninterface NavbarLogoAndServiceText extends HTMLAttributes<HTMLDivElement> {\n /**\n * The text display next to the logo\n */\n children: React.ReactNode;\n\n /**\n * The text variant\n *\n * Use `service` for internal applications\n *\n * Use `flagship` for public facing applications\n */\n variant: \"service\" | \"flagship\";\n\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n *\n * @default false\n */\n asChild?: boolean;\n}\n\n/**\n * Internal service or flagship text next to either the Posten or Bring logo\n *\n * The logo follows the brand theme, so if the class `hds-theme-bring` is set the Bring logo will be shown instead of the Posten logo\n */\nexport const NavbarLogoAndServiceText = forwardRef<HTMLDivElement, NavbarLogoAndServiceText>(\n ({ children, asChild, variant, className, ...rest }, ref) => {\n const Component = asChild ? Slot : \"div\";\n return (\n <Component\n ref={ref}\n className={clsx(\n \"hds-navbar__logo-and-service-text\",\n `hds-navbar__logo-and-service-text--${variant}`,\n className as undefined,\n )}\n {...rest}\n >\n {children}\n </Component>\n );\n },\n);\nNavbarLogoAndServiceText.displayName = \"Navbar.NavbarLogoAndText\";\n\ninterface NavbarItemIconProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode;\n}\n/**\n * Icon to be used inside a `Navbar.Item`, `Navbar.ButtonItem`, or `Navbar.LinkItem`\n */\nexport const NavbarItemIcon = forwardRef<HTMLDivElement, NavbarItemIconProps>(\n ({ children, className, ...rest }, ref) => {\n return (\n <Slot className={clsx(\"hds-navbar__item-icon\", className as undefined)} ref={ref} {...rest}>\n {children}\n </Slot>\n );\n },\n);\nNavbarItemIcon.displayName = \"Navbar.ItemIcon\";\n\ninterface NavbarItemProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode;\n\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n *\n * @default false\n */\n asChild?: boolean;\n}\n\n/**\n * Generic Navbar item\n *\n * Use `Navbar.ButtonItem` or `Navbar.LinkItem` for links and buttons\n */\nexport const NavbarItem = forwardRef<HTMLDivElement, NavbarItemProps>(\n ({ asChild, children, className, ...rest }, ref) => {\n const Component = asChild ? Slot : \"div\";\n return (\n <Component className={clsx(\"hds-navbar__item\", className as undefined)} ref={ref} {...rest}>\n {children}\n </Component>\n );\n },\n);\nNavbarItem.displayName = \"Navbar.Item\";\n\ninterface NavbarButtonItemProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n children: React.ReactNode;\n\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n *\n * @default false\n */\n asChild?: boolean;\n}\nexport const NavbarButtonItem = forwardRef<HTMLButtonElement, NavbarButtonItemProps>(\n ({ asChild, children, className, ...rest }, ref) => {\n const Component = asChild ? Slot : \"button\";\n return (\n <Component\n className={clsx(\"hds-navbar__item\", className as undefined)}\n ref={ref}\n type=\"button\"\n {...rest}\n >\n {children}\n </Component>\n );\n },\n);\nNavbarButtonItem.displayName = \"Navbar.ButtonItem\";\n\ninterface NavbarLinkItemProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {\n children: React.ReactNode;\n\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n *\n * @default false\n */\n asChild?: boolean;\n}\n\nexport const NavbarLinkItem = forwardRef<HTMLAnchorElement, NavbarLinkItemProps>(\n ({ asChild, children, className, ...rest }, ref) => {\n const Component = asChild ? Slot : \"a\";\n return (\n <Component className={clsx(\"hds-navbar__item\", className as undefined)} ref={ref} {...rest}>\n {children}\n </Component>\n );\n },\n);\nNavbarLinkItem.displayName = \"Navbar.LinkItem\";\n\ninterface NavbarNavigationProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode;\n\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n *\n * @default false\n */\n asChild?: boolean;\n}\nexport const NavbarNavigation = forwardRef<HTMLDivElement, NavbarNavigationProps>(\n ({ asChild, className, ...rest }, ref) => {\n const Component = asChild ? Slot : \"div\";\n return (\n <Component\n className={clsx(\"hds-navbar__navigation\", className as undefined)}\n ref={ref}\n {...rest}\n />\n );\n },\n);\nNavbarNavigation.displayName = \"Navbar.Navigation\";\n\nexport interface NavbarProps extends HTMLAttributes<HTMLElement> {\n /**\n * Navbar variant\n *\n * By default the `posten.no` variant is used which has a fixed logo and a fixed height of 112px\n *\n * For internal services or flagship services use the `service` should be used\n *\n * @default \"default\"\n */\n variant?: \"default\" | \"service\";\n\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n *\n * @default false\n */\n asChild?: boolean;\n}\n\n/**\n * 🚨 WORK IN PROGRESS 🚨\n */\nexport const Navbar = forwardRef<HTMLDivElement, NavbarProps>(\n ({ asChild, children, className, variant, ...rest }, ref) => {\n const Component = asChild ? Slot : \"header\";\n return (\n <Component\n className={clsx(\"hds-navbar\", variant && `hds-navbar--${variant}`, className as undefined)}\n ref={ref}\n {...rest}\n >\n {children}\n </Component>\n );\n },\n) as NavbarType;\nNavbar.displayName = \"Navbar\";\n\ntype NavbarType = ReturnType<typeof forwardRef<HTMLDivElement, NavbarProps>> & {\n Logo: typeof NavbarLogo;\n LogoAndServiceText: typeof NavbarLogoAndServiceText;\n ExpandableMenu: typeof NavbarExpandableMenu;\n ExpandableMenuTrigger: typeof NavbarExpandableMenuTrigger;\n ExpandableMenuContent: typeof NavbarExpandableMenuContent;\n Item: typeof NavbarItem;\n ButtonItem: typeof NavbarButtonItem;\n LinkItem: typeof NavbarLinkItem;\n ItemIcon: typeof NavbarItemIcon;\n Navigation: typeof NavbarNavigation;\n};\n\nNavbar.Logo = NavbarLogo;\nNavbar.LogoAndServiceText = NavbarLogoAndServiceText;\nNavbar.ExpandableMenu = NavbarExpandableMenu;\nNavbar.ExpandableMenuTrigger = NavbarExpandableMenuTrigger;\nNavbar.ExpandableMenuContent = NavbarExpandableMenuContent;\nNavbar.Item = NavbarItem;\nNavbar.ButtonItem = NavbarButtonItem;\nNavbar.LinkItem = NavbarLinkItem;\nNavbar.ItemIcon = NavbarItemIcon;\nNavbar.Navigation = NavbarNavigation;\n","import { createContext, useContext, forwardRef, useState, useEffect, useId } from \"react\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport { focusTrap } from \"../utils\";\nimport { CloseIcon, MenuIcon } from \"./icons\";\n\nconst expandableMenuContext = createContext([\n false as boolean,\n () => {\n // Empty\n },\n] as const);\nexport const useNavbarExpendableMenuContext = () => useContext(expandableMenuContext);\n\nexport interface NavbarExpandableMenuProps {\n children: React.ReactNode;\n}\n\n/**\n * Expandable Menu Provider\n * Handles scroll and focus locking,\n * as well as scrolling the user to the top of the page.\n *\n * If we want a sticky header in the future the scrolling should be configurable\n */\nexport function NavbarExpandableMenu({ children }: NavbarExpandableMenuProps) {\n const [open, setOpen] = useState(false);\n function toggleOpen() {\n setOpen((prev) => !prev);\n }\n\n useEffect(() => {\n if (open) {\n window.scrollTo(0, 0);\n document.body.classList.add(clsx(\"hds-navbar-scroll-lock\"));\n const releaseFocusTrap = focusTrap(\n document.getElementsByClassName(clsx(\"hds-navbar\"))[0] as HTMLElement,\n );\n\n return () => {\n document.body.classList.remove(clsx(\"hds-navbar-scroll-lock\"));\n releaseFocusTrap();\n };\n }\n }, [open]);\n\n return (\n <expandableMenuContext.Provider value={[open, toggleOpen]}>\n {children}\n </expandableMenuContext.Provider>\n );\n}\nNavbarExpandableMenu.displayName = \"NavbarExpandableMenu\";\n\n/**\n * Trigger\n */\nexport interface NavbarExpandableMenuTriggerProps\n extends Omit<React.HTMLAttributes<HTMLButtonElement>, \"children\"> {\n whenClosedText: React.ReactNode;\n whenClosedHelperTitle?: string;\n\n whenOpenText: React.ReactNode;\n whenOpenHelperTitle?: string;\n}\nexport const NavbarExpandableMenuTrigger = forwardRef<\n HTMLButtonElement,\n NavbarExpandableMenuTriggerProps\n>(\n (\n {\n whenClosedText,\n whenClosedHelperTitle,\n\n whenOpenText,\n whenOpenHelperTitle,\n\n style,\n className,\n ...rest\n },\n ref,\n ) => {\n const [open, toggleOpen] = useNavbarExpendableMenuContext();\n\n // Measure the width of the text when open and closed and choose the widest one\n // This is to ensure that the button doesn't change size when the text changes\n const [textWidth, setTextWidth] = useState<number | undefined>(undefined);\n const measurementId = useId();\n useEffect(() => {\n const widthWhenOpen =\n document.getElementById(`${measurementId}-when-open`)?.getBoundingClientRect().width ?? 0;\n const widthWhenClosed =\n document.getElementById(`${measurementId}-when-closed`)?.getBoundingClientRect().width ?? 0;\n\n setTextWidth(widthWhenOpen < widthWhenClosed ? widthWhenClosed : widthWhenOpen);\n }, [measurementId]);\n\n const text = open ? whenOpenText : whenClosedText;\n const title = open ? whenOpenHelperTitle : whenClosedHelperTitle;\n const icon = open ? <CloseIcon /> : <MenuIcon />;\n\n return (\n <button\n className={clsx(\"hds-navbar__item\", className as undefined)}\n onClick={toggleOpen}\n ref={ref}\n title={title}\n type=\"button\"\n style={{ position: \"relative\", ...style }}\n {...rest}\n >\n {/* Measurement elements, not shown to the user */}\n <span\n id={`${measurementId}-when-closed`}\n aria-hidden\n style={{\n position: \"absolute\",\n visibility: \"hidden\",\n pointerEvents: \"none\",\n whiteSpace: \"nowrap\",\n }}\n >\n {whenOpenText}\n </span>\n <span\n id={`${measurementId}-when-open`}\n aria-hidden\n style={{\n position: \"absolute\",\n visibility: \"hidden\",\n pointerEvents: \"none\",\n whiteSpace: \"nowrap\",\n }}\n >\n {whenClosedText}\n </span>\n\n {/* Actual content */}\n <span\n style={{ width: textWidth, whiteSpace: \"nowrap\" }}\n className={clsx(\"hds-navbar__item-responsive-text\")}\n >\n {text}\n </span>\n <span style={{ width: 32, height: 32 }}>{icon}</span>\n </button>\n );\n },\n);\nNavbarExpandableMenuTrigger.displayName = \"Navbar.ExpandableMenuTrigger\";\n\n/**\n * Content\n */\nexport interface NavbarExpandableMenuContentProps {\n children: React.ReactNode;\n className?: string;\n}\nexport const NavbarExpandableMenuContent = forwardRef<\n HTMLDivElement,\n NavbarExpandableMenuContentProps\n>(({ children, className, ...rest }, ref) => {\n const [open] = useNavbarExpendableMenuContext();\n return (\n <section\n {...rest}\n className={clsx(\"hds-navbar__expandable-menu-content\", className as undefined)}\n data-state={open ? \"open\" : \"closed\"}\n {...{ inert: open ? undefined : \"true\" }}\n ref={ref}\n >\n <div className={clsx(\"hds-navbar__expandable-menu-content-inner\")}>{children}</div>\n </section>\n );\n});\nNavbarExpandableMenuContent.displayName = \"Navbar.ExpandableMenuContent\";\n","import * as React from \"react\";\nimport { useCallback, useEffect, useState } from \"react\";\n\n/**\n * Merges an array of refs into a single memoized callback ref or `null`.\n * @see https://floating-ui.com/docs/useMergeRefs\n */\nexport function useMergeRefs<Instance>(\n refs: (React.Ref<Instance> | undefined)[],\n): React.RefCallback<Instance> | null {\n return React.useMemo(() => {\n if (refs.every((ref) => ref === null)) {\n return null;\n }\n\n return (value) => {\n refs.forEach((ref) => {\n if (typeof ref === \"function\") {\n ref(value);\n } else if (ref !== null) {\n (ref as React.MutableRefObject<Instance | null>).current = value;\n }\n });\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps -- It's ok\n }, refs);\n}\n\nexport function useResize<Instance extends HTMLElement>(\n ref: React.RefObject<Instance> | undefined | null,\n): { width: number; height: number } {\n const [width, setWidth] = useState<number>(0);\n const [height, setHeight] = useState<number>(0);\n const handleResize = useCallback(() => {\n if (ref?.current !== null) {\n setWidth(ref?.current?.offsetWidth ?? 0);\n setHeight(ref?.current?.offsetHeight ?? 0);\n }\n }, [ref]);\n useEffect(() => {\n window.addEventListener(\"load\", handleResize);\n window.addEventListener(\"resize\", handleResize);\n return () => {\n window.removeEventListener(\"load\", handleResize);\n window.removeEventListener(\"resize\", handleResize);\n };\n }, [ref, handleResize]);\n useEffect(() => {\n handleResize();\n // eslint-disable-next-line react-hooks/exhaustive-deps -- It's ok\n }, []);\n return { width, height };\n}\n\nfunction subscribe() {\n // eslint-disable-next-line @typescript-eslint/no-empty-function -- It's ok\n return () => {};\n}\n\nexport function useHydrated() {\n return React.useSyncExternalStore(\n subscribe,\n () => true,\n () => false,\n );\n}\n\n/**\n * Trap focus inside an element using the `inert` attribute.\n *\n * Adds `inert` to all siblings of the given element, and all their ancestors up to the body.\n * Returns a cleanup function which removes the `inert` property from the elements, effectively giving focus back to rest of the document.\n *\n * NOTE: Does not support portals, i.e. elements outside the DOM hierarchy of the given element.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/inert\n * @see https://web.dev/articles/inert\n */\nexport function focusTrap(element: HTMLElement) {\n // eslint-disable-next-line @typescript-eslint/no-empty-function -- NOP on focus trapping the body element\n if (element === document.body) return () => {};\n\n let inertElements: HTMLElement[] = [];\n for (let el: HTMLElement | null = element; el; el = el.parentElement) {\n if (el === document.body) break;\n\n for (const sibling of el.parentElement?.children ?? []) {\n if (sibling === el) continue;\n if (!(sibling instanceof HTMLElement)) continue;\n if (sibling.hasAttribute(\"inert\")) continue;\n\n sibling.setAttribute(\"inert\", \"true\");\n inertElements.push(sibling);\n }\n }\n\n return () => {\n releaseFocusTrap(inertElements);\n inertElements = [];\n };\n}\n\n/**\n * Unset the `inert` attribute on all elements given\n */\nexport function releaseFocusTrap(inertElements: Iterable<HTMLElement>) {\n for (const el of inertElements) {\n el.removeAttribute(\"inert\");\n }\n}\n","export function CloseIcon() {\n return (\n <svg aria-hidden xmlns=\"http://www.w3.org/2000/svg\" width={24} height={24}>\n <path\n fill=\"currentColor\"\n d=\"m13.16 12.25 3.621-3.586.739-.738c.105-.106.105-.281 0-.422l-.774-.774c-.14-.105-.316-.105-.422 0L12 11.09 7.64 6.73c-.105-.105-.28-.105-.421 0l-.774.774c-.105.14-.105.316 0 .422l4.36 4.324-4.36 4.36c-.105.105-.105.28 0 .421l.774.774c.14.105.316.105.422 0L12 13.445l3.586 3.621.738.739c.106.105.281.105.422 0l.774-.774c.105-.14.105-.316 0-.422l-4.36-4.359Z\"\n />\n </svg>\n );\n}\n\nexport function MenuIcon() {\n return (\n <svg aria-hidden xmlns=\"http://www.w3.org/2000/svg\" width={32} height={32}>\n <path\n fill=\"currentColor\"\n d=\"M25.938 10.146a.57.57 0 0 0 .562-.563v-1.5c0-.281-.281-.562-.563-.562H6.063a.57.57 0 0 0-.562.562v1.5c0 .328.234.563.563.563h19.875Zm0 7.5a.57.57 0 0 0 .562-.563v-1.5c0-.281-.281-.563-.563-.563H6.063a.57.57 0 0 0-.562.563v1.5c0 .328.234.563.563.563h19.875Zm0 7.5a.57.57 0 0 0 .562-.563v-1.5c0-.281-.281-.563-.563-.563H6.063a.57.57 0 0 0-.562.563v1.5c0 .328.234.563.563.563h19.875Z\"\n />\n </svg>\n );\n}\n"],"mappings":"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","names":["import_react","import_typed_classname","import_react","import_jsx_runtime","releaseFocusTrap","_a","_b","import_jsx_runtime"]}
|
package/dist/navbar/index.mjs
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
+
import "../chunk-H3E546OT.mjs";
|
|
1
2
|
import {
|
|
2
|
-
|
|
3
|
-
} from "../chunk-V6UKKHKD.mjs";
|
|
4
|
-
import {
|
|
3
|
+
Navbar,
|
|
5
4
|
NavbarButtonItem,
|
|
6
5
|
NavbarItem,
|
|
7
6
|
NavbarItemIcon,
|
|
@@ -9,7 +8,7 @@ import {
|
|
|
9
8
|
NavbarLogo,
|
|
10
9
|
NavbarLogoAndServiceText,
|
|
11
10
|
NavbarNavigation
|
|
12
|
-
} from "../chunk-
|
|
11
|
+
} from "../chunk-6AGDK5V3.mjs";
|
|
13
12
|
import {
|
|
14
13
|
NavbarExpandableMenu,
|
|
15
14
|
NavbarExpandableMenuContent,
|
|
@@ -20,7 +19,7 @@ import "../chunk-MOU6WBT2.mjs";
|
|
|
20
19
|
import "../chunk-DEX36MFK.mjs";
|
|
21
20
|
import "../chunk-R4SQKVDQ.mjs";
|
|
22
21
|
export {
|
|
23
|
-
|
|
22
|
+
Navbar,
|
|
24
23
|
NavbarButtonItem,
|
|
25
24
|
NavbarExpandableMenu,
|
|
26
25
|
NavbarExpandableMenuContent,
|
|
@@ -1,7 +1,35 @@
|
|
|
1
|
-
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
export declare const useNavbarExpendableMenuContext: () => readonly [boolean, () => void];
|
|
3
|
+
export interface NavbarExpandableMenuProps {
|
|
4
|
+
children: React.ReactNode;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Expandable Menu Provider
|
|
8
|
+
* Handles scroll and focus locking,
|
|
9
|
+
* as well as scrolling the user to the top of the page.
|
|
10
|
+
*
|
|
11
|
+
* If we want a sticky header in the future the scrolling should be configurable
|
|
12
|
+
*/
|
|
13
|
+
export declare function NavbarExpandableMenu({ children }: NavbarExpandableMenuProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export declare namespace NavbarExpandableMenu {
|
|
15
|
+
var displayName: string;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Trigger
|
|
19
|
+
*/
|
|
20
|
+
export interface NavbarExpandableMenuTriggerProps extends Omit<React.HTMLAttributes<HTMLButtonElement>, "children"> {
|
|
21
|
+
whenClosedText: React.ReactNode;
|
|
22
|
+
whenClosedHelperTitle?: string;
|
|
23
|
+
whenOpenText: React.ReactNode;
|
|
24
|
+
whenOpenHelperTitle?: string;
|
|
25
|
+
}
|
|
26
|
+
export declare const NavbarExpandableMenuTrigger: import("react").ForwardRefExoticComponent<NavbarExpandableMenuTriggerProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
27
|
+
/**
|
|
28
|
+
* Content
|
|
29
|
+
*/
|
|
30
|
+
export interface NavbarExpandableMenuContentProps {
|
|
31
|
+
children: React.ReactNode;
|
|
32
|
+
className?: string;
|
|
33
|
+
}
|
|
34
|
+
export declare const NavbarExpandableMenuContent: import("react").ForwardRefExoticComponent<NavbarExpandableMenuContentProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
35
|
+
//# sourceMappingURL=navbar-expandable-menu.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navbar-expandable-menu.d.ts","sourceRoot":"","sources":["../../src/navbar/navbar-expandable-menu.tsx"],"names":[],"mappings":";AAWA,eAAO,MAAM,8BAA8B,sCAA0C,CAAC;AAEtF,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,QAAQ,EAAE,EAAE,yBAAyB,2CA0B3E;yBA1Be,oBAAoB;;;AA6BpC;;GAEG;AACH,MAAM,WAAW,gCACf,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE,UAAU,CAAC;IACjE,cAAc,EAAE,KAAK,CAAC,SAAS,CAAC;IAChC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AACD,eAAO,MAAM,2BAA2B,gIAoFvC,CAAC;AAGF;;GAEG;AACH,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AACD,eAAO,MAAM,2BAA2B,6HAgBtC,CAAC"}
|