@postenbring/hedwig-react 0.0.86 → 0.0.88
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.mjs +2 -2
- package/dist/accordion/accordion-header.mjs +2 -2
- package/dist/accordion/accordion-item.mjs +2 -2
- package/dist/accordion/accordion.mjs +5 -5
- package/dist/accordion/context.mjs +1 -1
- package/dist/accordion/index.mjs +5 -5
- package/dist/badge/badge.d.ts +7 -3
- package/dist/badge/badge.d.ts.map +1 -1
- package/dist/badge/badge.js.map +1 -1
- package/dist/badge/badge.mjs +2 -2
- package/dist/badge/index.js.map +1 -1
- package/dist/badge/index.mjs +2 -2
- package/dist/blockquote/blockquote.d.ts +29 -0
- package/dist/blockquote/blockquote.d.ts.map +1 -0
- package/dist/blockquote/blockquote.js +83 -0
- package/dist/blockquote/blockquote.js.map +1 -0
- package/dist/blockquote/blockquote.mjs +8 -0
- package/dist/blockquote/index.d.ts +3 -0
- package/dist/blockquote/index.d.ts.map +1 -0
- package/dist/blockquote/index.js +85 -0
- package/dist/blockquote/index.js.map +1 -0
- package/dist/blockquote/index.mjs +9 -0
- package/dist/box/box.mjs +2 -2
- package/dist/box/index.mjs +2 -2
- package/dist/breadcrumbs/breadcrumbs.mjs +2 -2
- package/dist/breadcrumbs/index.mjs +2 -2
- package/dist/button/button.mjs +2 -2
- package/dist/button/index.mjs +2 -2
- package/dist/card/card.mjs +2 -2
- package/dist/card/index.mjs +2 -2
- package/dist/{chunk-CCVZAHYA.mjs → chunk-35QRZSEV.mjs} +2 -2
- package/dist/chunk-3H7S7C3S.mjs +37 -0
- package/dist/chunk-3H7S7C3S.mjs.map +1 -0
- package/dist/{chunk-AJWSQEDP.mjs → chunk-3OGHJOJF.mjs} +2 -2
- package/dist/{chunk-USXU6ULZ.mjs → chunk-4QZR2H72.mjs} +2 -2
- package/dist/{chunk-FB5GEZNH.mjs → chunk-5UGT7L7R.mjs} +3 -3
- package/dist/{chunk-XFODQH3I.mjs → chunk-6BXKRPR3.mjs} +3 -3
- package/dist/{chunk-IHZ2MRF6.mjs → chunk-6VKQ6IRG.mjs} +8 -12
- package/dist/{chunk-IHZ2MRF6.mjs.map → chunk-6VKQ6IRG.mjs.map} +1 -1
- package/dist/{chunk-EVUKWONG.mjs → chunk-6ZO2TMOX.mjs} +3 -3
- package/dist/{chunk-F4STR6SD.mjs → chunk-7ROE6ADK.mjs} +2 -3
- package/dist/{chunk-F4STR6SD.mjs.map → chunk-7ROE6ADK.mjs.map} +1 -1
- package/dist/{chunk-YSFZCRWS.mjs → chunk-A42PXOVR.mjs} +2 -2
- package/dist/{chunk-6MR5XZOX.mjs → chunk-AYCHNAU7.mjs} +2 -2
- package/dist/{chunk-NU6OSFAU.mjs → chunk-AZ6X4L5C.mjs} +2 -2
- package/dist/{chunk-SQ63E7KM.mjs → chunk-BHQ46L2O.mjs} +3 -3
- package/dist/{chunk-HMATZX4A.mjs → chunk-C7ZTOZP3.mjs} +2 -2
- package/dist/{chunk-RZZDMBB7.mjs → chunk-CC5QWW52.mjs} +2 -2
- package/dist/{chunk-B6L7IFDX.mjs → chunk-CXX4SXJG.mjs} +5 -5
- package/dist/{chunk-GGQB2WWD.mjs → chunk-DMOMTRIY.mjs} +2 -2
- package/dist/{chunk-KI6WRKZY.mjs → chunk-EAFQ3XQU.mjs} +4 -4
- package/dist/{chunk-I3ZIMS72.mjs → chunk-EGW3RCXD.mjs} +3 -3
- package/dist/chunk-EGW3RCXD.mjs.map +1 -0
- package/dist/{chunk-L4YBHIS3.mjs → chunk-EMQB6JIS.mjs} +2 -2
- package/dist/{chunk-SKVM7G76.mjs → chunk-EZVEYJOX.mjs} +2 -2
- package/dist/{chunk-AXKJB47E.mjs → chunk-FUIKSOJF.mjs} +3 -3
- package/dist/{chunk-TDXU2IC6.mjs → chunk-ILFK3VKS.mjs} +7 -12
- package/dist/{chunk-TDXU2IC6.mjs.map → chunk-ILFK3VKS.mjs.map} +1 -1
- package/dist/{chunk-AXQCREUJ.mjs → chunk-J5SCUELT.mjs} +4 -5
- package/dist/{chunk-AXQCREUJ.mjs.map → chunk-J5SCUELT.mjs.map} +1 -1
- package/dist/{chunk-LG7QWKFP.mjs → chunk-JQGB77SS.mjs} +3 -3
- package/dist/chunk-JQGB77SS.mjs.map +1 -0
- package/dist/{chunk-UB2R7TCG.mjs → chunk-JUHJZLH2.mjs} +2 -2
- package/dist/chunk-JYN2QSN2.mjs +36 -0
- package/dist/chunk-JYN2QSN2.mjs.map +1 -0
- package/dist/{chunk-VCQIR53Y.mjs → chunk-JZXZYEPG.mjs} +2 -2
- package/dist/{chunk-6FBPKLWB.mjs → chunk-KCEWKQ4W.mjs} +8 -13
- package/dist/{chunk-6FBPKLWB.mjs.map → chunk-KCEWKQ4W.mjs.map} +1 -1
- package/dist/chunk-KFDS3IPB.mjs +1 -0
- package/dist/{chunk-DEZVONZD.mjs → chunk-KNGG6M2I.mjs} +4 -4
- package/dist/{chunk-WHMIHTPC.mjs → chunk-LGEGXOPU.mjs} +2 -2
- package/dist/{chunk-OIC2CPID.mjs → chunk-M7MG7ZQT.mjs} +4 -4
- package/dist/{chunk-HJYS664B.mjs → chunk-MYVC3HMO.mjs} +2 -2
- package/dist/{chunk-WPCWXROV.mjs → chunk-NIYDN3Y3.mjs} +3 -3
- package/dist/{chunk-GQUFERB2.mjs → chunk-OXZOGFNV.mjs} +2 -2
- package/dist/chunk-OXZOGFNV.mjs.map +1 -0
- package/dist/{chunk-GRWLX5BC.mjs → chunk-ROQH67YP.mjs} +5 -5
- package/dist/{chunk-GGNMBB3K.mjs → chunk-S3QSGJX2.mjs} +3 -3
- package/dist/{chunk-UP3M3NEZ.mjs → chunk-TC5PD4TA.mjs} +3 -3
- package/dist/{chunk-O4HIHUMD.mjs → chunk-UL2V2Z5B.mjs} +15 -17
- package/dist/chunk-UL2V2Z5B.mjs.map +1 -0
- package/dist/{chunk-MJ2DZH3N.mjs → chunk-VYS2QNTL.mjs} +2 -2
- package/dist/{chunk-JF3HBGAA.mjs → chunk-WLESNP6Z.mjs} +2 -2
- package/dist/{chunk-BVPSZ3JI.mjs → chunk-WUPLEZEY.mjs} +4 -4
- package/dist/chunk-XAFNJELJ.mjs +1 -0
- package/dist/{chunk-5UJ3LEKK.mjs → chunk-XQBJ75VD.mjs} +2 -2
- package/dist/{chunk-R4SQKVDQ.mjs → chunk-YOSPWY5K.mjs} +1 -1
- package/dist/{chunk-GJO7Z2YL.mjs → chunk-YS7HBWOI.mjs} +5 -4
- package/dist/chunk-YS7HBWOI.mjs.map +1 -0
- package/dist/{chunk-D7QPJIUZ.mjs → chunk-YZDURLEY.mjs} +3 -3
- package/dist/{chunk-COEZA7WA.mjs → chunk-Z2ZCM4BE.mjs} +3 -3
- package/dist/{chunk-EMI7NAO2.mjs → chunk-ZOZPWP3N.mjs} +2 -2
- package/dist/description-list/description-list.mjs +2 -2
- package/dist/description-list/index.mjs +2 -2
- package/dist/footer/footer.mjs +9 -9
- package/dist/footer/index.mjs +9 -9
- package/dist/form/checkbox/checkbox.js.map +1 -1
- package/dist/form/checkbox/checkbox.mjs +4 -4
- package/dist/form/checkbox/index.js.map +1 -1
- package/dist/form/checkbox/index.mjs +4 -4
- package/dist/form/date-picker/date-picker.mjs +5 -5
- package/dist/form/date-picker/index.mjs +5 -5
- package/dist/form/error-message/error-message.mjs +2 -2
- package/dist/form/error-message/index.mjs +2 -2
- package/dist/form/fieldset/fieldset.d.ts +2 -2
- package/dist/form/fieldset/fieldset.js.map +1 -1
- package/dist/form/fieldset/fieldset.mjs +3 -3
- package/dist/form/fieldset/index.js.map +1 -1
- package/dist/form/fieldset/index.mjs +3 -3
- package/dist/form/index.d.ts +1 -1
- package/dist/form/index.d.ts.map +1 -1
- package/dist/form/index.js +15 -16
- package/dist/form/index.js.map +1 -1
- package/dist/form/index.mjs +23 -23
- package/dist/form/input/index.mjs +4 -4
- package/dist/form/input/input.mjs +4 -4
- package/dist/form/input-group/index.mjs +3 -3
- package/dist/form/input-group/input-group.mjs +3 -3
- package/dist/form/radio-button/index.d.ts +5 -0
- package/dist/form/radio-button/index.d.ts.map +1 -0
- package/dist/form/{radiobutton → radio-button}/index.js +19 -20
- package/dist/form/radio-button/index.js.map +1 -0
- package/dist/form/radio-button/index.mjs +19 -0
- package/dist/form/radio-button/index.mjs.map +1 -0
- package/dist/form/{radiobutton/radiobutton.d.ts → radio-button/radio-button.d.ts} +6 -6
- package/dist/form/radio-button/radio-button.d.ts.map +1 -0
- package/dist/form/{radiobutton/radiobutton.js → radio-button/radio-button.js} +19 -20
- package/dist/form/radio-button/radio-button.js.map +1 -0
- package/dist/form/radio-button/radio-button.mjs +13 -0
- package/dist/form/radio-button/radio-button.mjs.map +1 -0
- package/dist/form/{radiobutton/radiogroup.d.ts → radio-button/radio-group.d.ts} +7 -7
- package/dist/form/radio-button/radio-group.d.ts.map +1 -0
- package/dist/form/{radiobutton/radiogroup.js → radio-button/radio-group.js} +7 -6
- package/dist/form/radio-button/radio-group.js.map +1 -0
- package/dist/form/radio-button/radio-group.mjs +14 -0
- package/dist/form/radio-button/radio-group.mjs.map +1 -0
- package/dist/form/select/index.mjs +4 -4
- package/dist/form/select/select.mjs +4 -4
- package/dist/form/textarea/index.mjs +4 -4
- package/dist/form/textarea/textarea.mjs +4 -4
- package/dist/help-text/help-text.mjs +3 -3
- package/dist/help-text/index.mjs +3 -3
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +557 -535
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +86 -81
- package/dist/layout/container/container.mjs +2 -2
- package/dist/layout/grid/grid.js +1 -2
- package/dist/layout/grid/grid.js.map +1 -1
- package/dist/layout/grid/grid.mjs +3 -3
- package/dist/layout/grid/index.js +1 -2
- package/dist/layout/grid/index.js.map +1 -1
- package/dist/layout/grid/index.mjs +3 -3
- package/dist/layout/index.js +1 -2
- package/dist/layout/index.js.map +1 -1
- package/dist/layout/index.mjs +5 -5
- package/dist/layout/responsive.js +1 -2
- package/dist/layout/responsive.js.map +1 -1
- package/dist/layout/responsive.mjs +2 -2
- package/dist/layout/spacing.mjs +1 -1
- package/dist/layout/stack/index.js +1 -2
- package/dist/layout/stack/index.js.map +1 -1
- package/dist/layout/stack/index.mjs +3 -3
- package/dist/layout/stack/stack.js +1 -2
- package/dist/layout/stack/stack.js.map +1 -1
- package/dist/layout/stack/stack.mjs +3 -3
- package/dist/link/index.mjs +2 -2
- package/dist/link/link.mjs +2 -2
- package/dist/list/index.mjs +3 -3
- package/dist/list/link-list.mjs +3 -3
- package/dist/list/list.mjs +2 -2
- package/dist/message/index.mjs +3 -3
- package/dist/message/message.mjs +3 -3
- package/dist/modal/index.js +4 -8
- package/dist/modal/index.js.map +1 -1
- package/dist/modal/index.mjs +4 -4
- package/dist/modal/modal.js +4 -8
- package/dist/modal/modal.js.map +1 -1
- package/dist/modal/modal.mjs +4 -4
- package/dist/navbar/icons.d.ts.map +1 -1
- package/dist/navbar/icons.js +16 -5
- package/dist/navbar/icons.js.map +1 -1
- package/dist/navbar/icons.mjs +2 -2
- package/dist/navbar/index.js +22 -16
- package/dist/navbar/index.js.map +1 -1
- package/dist/navbar/index.mjs +5 -5
- package/dist/navbar/navbar-expandable-menu.js +22 -16
- package/dist/navbar/navbar-expandable-menu.js.map +1 -1
- package/dist/navbar/navbar-expandable-menu.mjs +4 -4
- package/dist/navbar/navbar.js +22 -16
- package/dist/navbar/navbar.js.map +1 -1
- package/dist/navbar/navbar.mjs +5 -5
- package/dist/show-more/index.mjs +2 -2
- package/dist/show-more/show-more.mjs +2 -2
- package/dist/skeleton/index.mjs +2 -2
- package/dist/skeleton/skeleton.mjs +2 -2
- package/dist/step-indicator/index.mjs +2 -2
- package/dist/step-indicator/step-indicator.mjs +2 -2
- package/dist/styled-html/index.js +1 -1
- package/dist/styled-html/index.js.map +1 -1
- package/dist/styled-html/index.mjs +2 -2
- package/dist/styled-html/styled-html.d.ts +9 -1
- package/dist/styled-html/styled-html.d.ts.map +1 -1
- package/dist/styled-html/styled-html.js +1 -1
- package/dist/styled-html/styled-html.js.map +1 -1
- package/dist/styled-html/styled-html.mjs +2 -2
- package/dist/table/index.mjs +2 -2
- package/dist/table/table.mjs +2 -2
- package/dist/tabs/context.mjs +1 -1
- package/dist/tabs/index.js +1 -2
- package/dist/tabs/index.js.map +1 -1
- package/dist/tabs/index.mjs +5 -5
- package/dist/tabs/tabs-content.mjs +2 -2
- package/dist/tabs/tabs-list.js +1 -2
- package/dist/tabs/tabs-list.js.map +1 -1
- package/dist/tabs/tabs-list.mjs +3 -3
- package/dist/tabs/tabs.js +1 -2
- package/dist/tabs/tabs.js.map +1 -1
- package/dist/tabs/tabs.mjs +5 -5
- package/dist/text/index.mjs +2 -2
- package/dist/text/text.mjs +2 -2
- package/dist/utils/auto-animate-height.js +5 -10
- package/dist/utils/auto-animate-height.js.map +1 -1
- package/dist/utils/auto-animate-height.mjs +3 -3
- package/dist/utils/index.js +11 -21
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/index.mjs +3 -3
- package/dist/utils/utils.js +6 -11
- package/dist/utils/utils.js.map +1 -1
- package/dist/utils/utils.mjs +2 -2
- package/dist/warning-banner/index.mjs +2 -2
- package/dist/warning-banner/warning-banner.mjs +2 -2
- package/package.json +3 -3
- package/src/accordion/accordion.stories.tsx +7 -113
- package/src/badge/badge.stories.tsx +1 -30
- package/src/badge/badge.tsx +7 -3
- package/src/blockquote/blockquote.stories.tsx +21 -0
- package/src/blockquote/blockquote.tsx +52 -0
- package/src/blockquote/index.tsx +3 -0
- package/src/box/box.stories.tsx +13 -84
- package/src/breadcrumbs/breadcrumbs.stories.tsx +7 -22
- package/src/button/button.stories.tsx +1 -85
- package/src/card/card.stories.tsx +1 -42
- package/src/description-list/description-list.stories.tsx +5 -71
- package/src/form/checkbox/checkbox.stories.tsx +4 -80
- package/src/form/date-picker/date-picker.stories.tsx +7 -7
- package/src/form/error-message/error-message.stories.tsx +2 -2
- package/src/form/fieldset/fieldset.stories.tsx +1 -58
- package/src/form/fieldset/fieldset.tsx +2 -2
- package/src/form/index.tsx +1 -1
- package/src/form/input/input.stories.tsx +1 -142
- package/src/form/radio-button/index.tsx +4 -0
- package/src/form/radio-button/radio-button.stories.tsx +25 -0
- package/src/form/{radiobutton/radiobutton.tsx → radio-button/radio-button.tsx} +13 -13
- package/src/form/{radiobutton/radiogroup.stories.tsx → radio-button/radio-group.stories.tsx} +8 -9
- package/src/form/{radiobutton/radiogroup.tsx → radio-button/radio-group.tsx} +7 -6
- package/src/form/select/select.stories.tsx +1 -61
- package/src/form/textarea/textarea.stories.tsx +4 -85
- package/src/help-text/help-text.stories.tsx +19 -0
- package/src/index.ts +1 -0
- package/src/layout/container/container.stories.tsx +17 -14
- package/src/layout/grid/grid.stories.tsx +27 -0
- package/src/layout/stack/stack.stories.tsx +27 -0
- package/src/link/link.stories.tsx +7 -38
- package/src/list/link-list.stories.tsx +24 -27
- package/src/list/list.stories.tsx +10 -48
- package/src/message/message.stories.tsx +7 -65
- package/src/modal/modal.stories.tsx +1 -103
- package/src/navbar/icons.tsx +10 -3
- package/src/navbar/navbar.stories.tsx +22 -62
- package/src/show-more/show-more.stories.tsx +2 -98
- package/src/skeleton/skeleton.stories.tsx +2 -126
- package/src/step-indicator/step-indicator.stories.tsx +1 -31
- package/src/styled-html/styled-html.stories.tsx +21 -155
- package/src/styled-html/styled-html.tsx +12 -2
- package/src/table/table.stories.tsx +42 -0
- package/src/tabs/tabs.stories.tsx +7 -114
- package/src/text/text.stories.tsx +17 -83
- package/src/warning-banner/warning-banner.stories.tsx +1 -23
- package/dist/chunk-2KX7VFN2.mjs +0 -1
- package/dist/chunk-GJO7Z2YL.mjs.map +0 -1
- package/dist/chunk-GQUFERB2.mjs.map +0 -1
- package/dist/chunk-I3ZIMS72.mjs.map +0 -1
- package/dist/chunk-LG7QWKFP.mjs.map +0 -1
- package/dist/chunk-MOU6WBT2.mjs +0 -26
- package/dist/chunk-MOU6WBT2.mjs.map +0 -1
- package/dist/chunk-O4HIHUMD.mjs.map +0 -1
- package/dist/form/radiobutton/index.d.ts +0 -5
- package/dist/form/radiobutton/index.d.ts.map +0 -1
- package/dist/form/radiobutton/index.js.map +0 -1
- package/dist/form/radiobutton/index.mjs +0 -19
- package/dist/form/radiobutton/radiobutton.d.ts.map +0 -1
- package/dist/form/radiobutton/radiobutton.js.map +0 -1
- package/dist/form/radiobutton/radiobutton.mjs +0 -13
- package/dist/form/radiobutton/radiogroup.d.ts.map +0 -1
- package/dist/form/radiobutton/radiogroup.js.map +0 -1
- package/dist/form/radiobutton/radiogroup.mjs +0 -14
- package/src/form/radiobutton/index.tsx +0 -4
- package/src/form/radiobutton/radiobutton.stories.tsx +0 -93
- /package/dist/{chunk-2KX7VFN2.mjs.map → blockquote/blockquote.mjs.map} +0 -0
- /package/dist/{form/radiobutton → blockquote}/index.mjs.map +0 -0
- /package/dist/{chunk-CCVZAHYA.mjs.map → chunk-35QRZSEV.mjs.map} +0 -0
- /package/dist/{chunk-AJWSQEDP.mjs.map → chunk-3OGHJOJF.mjs.map} +0 -0
- /package/dist/{chunk-USXU6ULZ.mjs.map → chunk-4QZR2H72.mjs.map} +0 -0
- /package/dist/{chunk-FB5GEZNH.mjs.map → chunk-5UGT7L7R.mjs.map} +0 -0
- /package/dist/{chunk-XFODQH3I.mjs.map → chunk-6BXKRPR3.mjs.map} +0 -0
- /package/dist/{chunk-EVUKWONG.mjs.map → chunk-6ZO2TMOX.mjs.map} +0 -0
- /package/dist/{chunk-YSFZCRWS.mjs.map → chunk-A42PXOVR.mjs.map} +0 -0
- /package/dist/{chunk-6MR5XZOX.mjs.map → chunk-AYCHNAU7.mjs.map} +0 -0
- /package/dist/{chunk-NU6OSFAU.mjs.map → chunk-AZ6X4L5C.mjs.map} +0 -0
- /package/dist/{chunk-SQ63E7KM.mjs.map → chunk-BHQ46L2O.mjs.map} +0 -0
- /package/dist/{chunk-HMATZX4A.mjs.map → chunk-C7ZTOZP3.mjs.map} +0 -0
- /package/dist/{chunk-RZZDMBB7.mjs.map → chunk-CC5QWW52.mjs.map} +0 -0
- /package/dist/{chunk-B6L7IFDX.mjs.map → chunk-CXX4SXJG.mjs.map} +0 -0
- /package/dist/{chunk-GGQB2WWD.mjs.map → chunk-DMOMTRIY.mjs.map} +0 -0
- /package/dist/{chunk-KI6WRKZY.mjs.map → chunk-EAFQ3XQU.mjs.map} +0 -0
- /package/dist/{chunk-L4YBHIS3.mjs.map → chunk-EMQB6JIS.mjs.map} +0 -0
- /package/dist/{chunk-SKVM7G76.mjs.map → chunk-EZVEYJOX.mjs.map} +0 -0
- /package/dist/{chunk-AXKJB47E.mjs.map → chunk-FUIKSOJF.mjs.map} +0 -0
- /package/dist/{chunk-UB2R7TCG.mjs.map → chunk-JUHJZLH2.mjs.map} +0 -0
- /package/dist/{chunk-VCQIR53Y.mjs.map → chunk-JZXZYEPG.mjs.map} +0 -0
- /package/dist/{chunk-R4SQKVDQ.mjs.map → chunk-KFDS3IPB.mjs.map} +0 -0
- /package/dist/{chunk-DEZVONZD.mjs.map → chunk-KNGG6M2I.mjs.map} +0 -0
- /package/dist/{chunk-WHMIHTPC.mjs.map → chunk-LGEGXOPU.mjs.map} +0 -0
- /package/dist/{chunk-OIC2CPID.mjs.map → chunk-M7MG7ZQT.mjs.map} +0 -0
- /package/dist/{chunk-HJYS664B.mjs.map → chunk-MYVC3HMO.mjs.map} +0 -0
- /package/dist/{chunk-WPCWXROV.mjs.map → chunk-NIYDN3Y3.mjs.map} +0 -0
- /package/dist/{chunk-GRWLX5BC.mjs.map → chunk-ROQH67YP.mjs.map} +0 -0
- /package/dist/{chunk-GGNMBB3K.mjs.map → chunk-S3QSGJX2.mjs.map} +0 -0
- /package/dist/{chunk-UP3M3NEZ.mjs.map → chunk-TC5PD4TA.mjs.map} +0 -0
- /package/dist/{chunk-MJ2DZH3N.mjs.map → chunk-VYS2QNTL.mjs.map} +0 -0
- /package/dist/{chunk-JF3HBGAA.mjs.map → chunk-WLESNP6Z.mjs.map} +0 -0
- /package/dist/{chunk-BVPSZ3JI.mjs.map → chunk-WUPLEZEY.mjs.map} +0 -0
- /package/dist/{form/radiobutton/radiobutton.mjs.map → chunk-XAFNJELJ.mjs.map} +0 -0
- /package/dist/{chunk-5UJ3LEKK.mjs.map → chunk-XQBJ75VD.mjs.map} +0 -0
- /package/dist/{form/radiobutton/radiogroup.mjs.map → chunk-YOSPWY5K.mjs.map} +0 -0
- /package/dist/{chunk-D7QPJIUZ.mjs.map → chunk-YZDURLEY.mjs.map} +0 -0
- /package/dist/{chunk-COEZA7WA.mjs.map → chunk-Z2ZCM4BE.mjs.map} +0 -0
- /package/dist/{chunk-EMI7NAO2.mjs.map → chunk-ZOZPWP3N.mjs.map} +0 -0
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
InputGroup
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-5UGT7L7R.mjs";
|
|
4
4
|
import {
|
|
5
5
|
__objRest,
|
|
6
6
|
__spreadProps,
|
|
7
7
|
__spreadValues
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-YOSPWY5K.mjs";
|
|
9
9
|
|
|
10
10
|
// src/form/select/select.tsx
|
|
11
11
|
import { forwardRef } from "react";
|
|
@@ -33,4 +33,4 @@ Select.displayName = "Select";
|
|
|
33
33
|
export {
|
|
34
34
|
Select
|
|
35
35
|
};
|
|
36
|
-
//# sourceMappingURL=chunk-
|
|
36
|
+
//# sourceMappingURL=chunk-6BXKRPR3.mjs.map
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import {
|
|
2
2
|
useMergeRefs
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-ILFK3VKS.mjs";
|
|
4
4
|
import {
|
|
5
5
|
Box
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-3OGHJOJF.mjs";
|
|
7
7
|
import {
|
|
8
8
|
__objRest,
|
|
9
9
|
__spreadProps,
|
|
10
10
|
__spreadValues
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-YOSPWY5K.mjs";
|
|
12
12
|
|
|
13
13
|
// src/modal/modal.tsx
|
|
14
14
|
import { forwardRef, useEffect, useRef } from "react";
|
|
@@ -103,16 +103,12 @@ Modal.Content = ModalContent;
|
|
|
103
103
|
Modal.Footer = ModalFooter;
|
|
104
104
|
function useScrollLock(modalRef, bodyClass) {
|
|
105
105
|
useEffect(() => {
|
|
106
|
-
if (!modalRef.current)
|
|
107
|
-
|
|
108
|
-
if (modalRef.current.open)
|
|
109
|
-
document.body.classList.add(bodyClass);
|
|
106
|
+
if (!modalRef.current) return;
|
|
107
|
+
if (modalRef.current.open) document.body.classList.add(bodyClass);
|
|
110
108
|
const observer = new MutationObserver(() => {
|
|
111
109
|
var _a;
|
|
112
|
-
if ((_a = modalRef.current) == null ? void 0 : _a.open)
|
|
113
|
-
|
|
114
|
-
else
|
|
115
|
-
document.body.classList.remove(bodyClass);
|
|
110
|
+
if ((_a = modalRef.current) == null ? void 0 : _a.open) document.body.classList.add(bodyClass);
|
|
111
|
+
else document.body.classList.remove(bodyClass);
|
|
116
112
|
});
|
|
117
113
|
observer.observe(modalRef.current, {
|
|
118
114
|
attributes: true,
|
|
@@ -131,4 +127,4 @@ export {
|
|
|
131
127
|
ModalFooter,
|
|
132
128
|
Modal
|
|
133
129
|
};
|
|
134
|
-
//# sourceMappingURL=chunk-
|
|
130
|
+
//# sourceMappingURL=chunk-6VKQ6IRG.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/modal/modal.tsx"],"sourcesContent":["import { forwardRef, useEffect, useRef } from \"react\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { Box } from \"../box/box\";\nimport { useMergeRefs } from \"../utils/utils\";\n\ninterface ModalHeaderProps extends React.HTMLAttributes<HTMLHeadingElement> {\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 ModalHeader = forwardRef<HTMLHeadingElement, ModalHeaderProps>(\n ({ asChild, className, ...rest }, ref) => {\n const Component = asChild ? Slot : \"h1\";\n return (\n <Component\n className={clsx(\"hds-modal__header\", className as undefined)}\n ref={ref}\n {...rest}\n />\n );\n },\n);\nModalHeader.displayName = \"Modal.Header\";\n\ninterface ModalContentProps 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}\nexport const ModalContent = forwardRef<HTMLDivElement, ModalContentProps>(\n ({ asChild, className, ...rest }, ref) => {\n const Component = asChild ? Slot : \"div\";\n return (\n <Component\n className={clsx(\"hds-modal__content\", className as undefined)}\n ref={ref}\n {...rest}\n />\n );\n },\n);\nModalContent.displayName = \"Modal.Content\";\n\ninterface ModalFooterProps 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}\nexport const ModalFooter = forwardRef<HTMLDivElement, ModalFooterProps>(\n ({ asChild, className, ...rest }, ref) => {\n const Component = asChild ? Slot : \"footer\";\n return (\n <Component\n className={clsx(\"hds-modal__footer\", className as undefined)}\n ref={ref}\n {...rest}\n />\n );\n },\n);\nModalFooter.displayName = \"Modal.Footer\";\n\nexport interface ModalProps extends React.HTMLAttributes<HTMLDialogElement> {\n children: React.ReactNode;\n\n /**\n * Controls the open state of the modal\n */\n open?: boolean;\n\n /**\n * Whether to close when clicking on the backdrop.\n */\n closeOnBackdropClick?: boolean;\n}\n\n/**\n * A modal dialog is a window that forces the user to interact with it before they can return to other parts of the application.\n *\n * Uses the native [`dialog`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dialog) element.\n *\n * @example\n * ```tsx\n * const modalRef = useRef<HTMLDialogElement>(null);\n * const onClose = () => modalRef.current?.close();\n *\n * return (\n * <>\n * <Button onClick={() => modalRef.current?.showModal()}>Open Modal</Button>\n * <Modal ref={modalRef}>\n * <Modal.Header>Dialog header</Modal.Header>\n * <Modal.Content>\n * <p>\n * Dialog header Dialog description - a description of what is about to happen and maybe\n * something about the consequences.\n * </p>\n * </Modal.Content>\n * <Modal.Footer>\n * <HStack gap=\"16\" wrap>\n * <Button onClick={onMainAction}>Main action</Button>\n * <Button variant=\"primary-outline\" onClick={onClose}>\n * Cancel\n * </Button>\n * </HStack>\n * </Modal.Footer>\n * </Modal>\n * </>\n * );\n * ```\n */\nexport const Modal = forwardRef<HTMLDialogElement, ModalProps>(\n ({ children, className, open, closeOnBackdropClick, onClick, ...rest }, ref) => {\n const modalRef = useRef<HTMLDialogElement>(null);\n const mergedRef = useMergeRefs([modalRef, ref]);\n\n // The X close button that comes from the `Box` component\n function onCloseButtonClick() {\n modalRef.current?.close();\n return false;\n }\n\n // No scroll when modal is open\n useScrollLock(modalRef, \"hds-modal-scroll-lock\");\n\n // `open` prop\n useEffect(() => {\n if (modalRef.current && open !== undefined) {\n if (open && !modalRef.current.open) {\n modalRef.current.showModal();\n } else if (!open && modalRef.current.open) {\n modalRef.current.close();\n }\n }\n }, [modalRef, open]);\n\n function onDialogClick(e: React.MouseEvent<HTMLElement>) {\n if (closeOnBackdropClick && e.target === modalRef.current) {\n modalRef.current.close();\n }\n onClick?.(e as React.MouseEvent<HTMLDialogElement>);\n }\n\n return (\n <Box\n asChild\n className={clsx(\"hds-modal\", className as undefined)}\n closeable\n onClick={onDialogClick}\n onClose={onCloseButtonClick}\n variant=\"white\"\n >\n <dialog ref={mergedRef} {...rest}>\n {children}\n </dialog>\n </Box>\n );\n },\n) as ModalType;\nModal.displayName = \"Modal\";\n\ntype ModalType = ReturnType<typeof forwardRef<HTMLDialogElement, ModalProps>> & {\n Header: typeof ModalHeader;\n Content: typeof ModalContent;\n Footer: typeof ModalFooter;\n};\n\nModal.Header = ModalHeader;\nModal.Content = ModalContent;\nModal.Footer = ModalFooter;\n\nfunction useScrollLock(modalRef: React.RefObject<HTMLDialogElement>, bodyClass: string) {\n useEffect(() => {\n if (!modalRef.current) return;\n if (modalRef.current.open) document.body.classList.add(bodyClass);\n\n const observer = new MutationObserver(() => {\n if (modalRef.current?.open) document.body.classList.add(bodyClass);\n else document.body.classList.remove(bodyClass);\n });\n observer.observe(modalRef.current, {\n attributes: true,\n attributeFilter: [\"open\"],\n });\n return () => {\n observer.disconnect();\n document.body.classList.remove(bodyClass);\n };\n }, [bodyClass, modalRef]);\n}\n"],"mappings":";;;;;;;;;;;;;AAAA,SAAS,YAAY,WAAW,cAAc;AAC9C,SAAS,YAAY;AACrB,SAAS,YAAY;AAgBf;AAJC,IAAM,cAAc;AAAA,EACzB,CAAC,IAAiC,QAAQ;AAAzC,iBAAE,WAAS,UAfd,IAeG,IAAyB,iBAAzB,IAAyB,CAAvB,WAAS;AACV,UAAM,YAAY,UAAU,OAAO;AACnC,WACE;AAAA,MAAC;AAAA;AAAA,QACC,WAAW,KAAK,qBAAqB,SAAsB;AAAA,QAC3D;AAAA,SACI;AAAA,IACN;AAAA,EAEJ;AACF;AACA,YAAY,cAAc;AAUnB,IAAM,eAAe;AAAA,EAC1B,CAAC,IAAiC,QAAQ;AAAzC,iBAAE,WAAS,UArCd,IAqCG,IAAyB,iBAAzB,IAAyB,CAAvB,WAAS;AACV,UAAM,YAAY,UAAU,OAAO;AACnC,WACE;AAAA,MAAC;AAAA;AAAA,QACC,WAAW,KAAK,sBAAsB,SAAsB;AAAA,QAC5D;AAAA,SACI;AAAA,IACN;AAAA,EAEJ;AACF;AACA,aAAa,cAAc;AAUpB,IAAM,cAAc;AAAA,EACzB,CAAC,IAAiC,QAAQ;AAAzC,iBAAE,WAAS,UA3Dd,IA2DG,IAAyB,iBAAzB,IAAyB,CAAvB,WAAS;AACV,UAAM,YAAY,UAAU,OAAO;AACnC,WACE;AAAA,MAAC;AAAA;AAAA,QACC,WAAW,KAAK,qBAAqB,SAAsB;AAAA,QAC3D;AAAA,SACI;AAAA,IACN;AAAA,EAEJ;AACF;AACA,YAAY,cAAc;AAkDnB,IAAM,QAAQ;AAAA,EACnB,CAAC,IAAuE,QAAQ;AAA/E,iBAAE,YAAU,WAAW,MAAM,sBAAsB,QAzHtD,IAyHG,IAA+D,iBAA/D,IAA+D,CAA7D,YAAU,aAAW,QAAM,wBAAsB;AAClD,UAAM,WAAW,OAA0B,IAAI;AAC/C,UAAM,YAAY,aAAa,CAAC,UAAU,GAAG,CAAC;AAG9C,aAAS,qBAAqB;AA9HlC,UAAAA;AA+HM,OAAAA,MAAA,SAAS,YAAT,gBAAAA,IAAkB;AAClB,aAAO;AAAA,IACT;AAGA,kBAAc,UAAU,uBAAuB;AAG/C,cAAU,MAAM;AACd,UAAI,SAAS,WAAW,SAAS,QAAW;AAC1C,YAAI,QAAQ,CAAC,SAAS,QAAQ,MAAM;AAClC,mBAAS,QAAQ,UAAU;AAAA,QAC7B,WAAW,CAAC,QAAQ,SAAS,QAAQ,MAAM;AACzC,mBAAS,QAAQ,MAAM;AAAA,QACzB;AAAA,MACF;AAAA,IACF,GAAG,CAAC,UAAU,IAAI,CAAC;AAEnB,aAAS,cAAc,GAAkC;AACvD,UAAI,wBAAwB,EAAE,WAAW,SAAS,SAAS;AACzD,iBAAS,QAAQ,MAAM;AAAA,MACzB;AACA,yCAAU;AAAA,IACZ;AAEA,WACE;AAAA,MAAC;AAAA;AAAA,QACC,SAAO;AAAA,QACP,WAAW,KAAK,aAAa,SAAsB;AAAA,QACnD,WAAS;AAAA,QACT,SAAS;AAAA,QACT,SAAS;AAAA,QACT,SAAQ;AAAA,QAER,8BAAC,yCAAO,KAAK,aAAe,OAA3B,EACE,WACH;AAAA;AAAA,IACF;AAAA,EAEJ;AACF;AACA,MAAM,cAAc;AAQpB,MAAM,SAAS;AACf,MAAM,UAAU;AAChB,MAAM,SAAS;AAEf,SAAS,cAAc,UAA8C,WAAmB;AACtF,YAAU,MAAM;AACd,QAAI,CAAC,SAAS;
|
|
1
|
+
{"version":3,"sources":["../src/modal/modal.tsx"],"sourcesContent":["import { forwardRef, useEffect, useRef } from \"react\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { Box } from \"../box/box\";\nimport { useMergeRefs } from \"../utils/utils\";\n\ninterface ModalHeaderProps extends React.HTMLAttributes<HTMLHeadingElement> {\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 ModalHeader = forwardRef<HTMLHeadingElement, ModalHeaderProps>(\n ({ asChild, className, ...rest }, ref) => {\n const Component = asChild ? Slot : \"h1\";\n return (\n <Component\n className={clsx(\"hds-modal__header\", className as undefined)}\n ref={ref}\n {...rest}\n />\n );\n },\n);\nModalHeader.displayName = \"Modal.Header\";\n\ninterface ModalContentProps 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}\nexport const ModalContent = forwardRef<HTMLDivElement, ModalContentProps>(\n ({ asChild, className, ...rest }, ref) => {\n const Component = asChild ? Slot : \"div\";\n return (\n <Component\n className={clsx(\"hds-modal__content\", className as undefined)}\n ref={ref}\n {...rest}\n />\n );\n },\n);\nModalContent.displayName = \"Modal.Content\";\n\ninterface ModalFooterProps 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}\nexport const ModalFooter = forwardRef<HTMLDivElement, ModalFooterProps>(\n ({ asChild, className, ...rest }, ref) => {\n const Component = asChild ? Slot : \"footer\";\n return (\n <Component\n className={clsx(\"hds-modal__footer\", className as undefined)}\n ref={ref}\n {...rest}\n />\n );\n },\n);\nModalFooter.displayName = \"Modal.Footer\";\n\nexport interface ModalProps extends React.HTMLAttributes<HTMLDialogElement> {\n children: React.ReactNode;\n\n /**\n * Controls the open state of the modal\n */\n open?: boolean;\n\n /**\n * Whether to close when clicking on the backdrop.\n */\n closeOnBackdropClick?: boolean;\n}\n\n/**\n * A modal dialog is a window that forces the user to interact with it before they can return to other parts of the application.\n *\n * Uses the native [`dialog`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dialog) element.\n *\n * @example\n * ```tsx\n * const modalRef = useRef<HTMLDialogElement>(null);\n * const onClose = () => modalRef.current?.close();\n *\n * return (\n * <>\n * <Button onClick={() => modalRef.current?.showModal()}>Open Modal</Button>\n * <Modal ref={modalRef}>\n * <Modal.Header>Dialog header</Modal.Header>\n * <Modal.Content>\n * <p>\n * Dialog header Dialog description - a description of what is about to happen and maybe\n * something about the consequences.\n * </p>\n * </Modal.Content>\n * <Modal.Footer>\n * <HStack gap=\"16\" wrap>\n * <Button onClick={onMainAction}>Main action</Button>\n * <Button variant=\"primary-outline\" onClick={onClose}>\n * Cancel\n * </Button>\n * </HStack>\n * </Modal.Footer>\n * </Modal>\n * </>\n * );\n * ```\n */\nexport const Modal = forwardRef<HTMLDialogElement, ModalProps>(\n ({ children, className, open, closeOnBackdropClick, onClick, ...rest }, ref) => {\n const modalRef = useRef<HTMLDialogElement>(null);\n const mergedRef = useMergeRefs([modalRef, ref]);\n\n // The X close button that comes from the `Box` component\n function onCloseButtonClick() {\n modalRef.current?.close();\n return false;\n }\n\n // No scroll when modal is open\n useScrollLock(modalRef, \"hds-modal-scroll-lock\");\n\n // `open` prop\n useEffect(() => {\n if (modalRef.current && open !== undefined) {\n if (open && !modalRef.current.open) {\n modalRef.current.showModal();\n } else if (!open && modalRef.current.open) {\n modalRef.current.close();\n }\n }\n }, [modalRef, open]);\n\n function onDialogClick(e: React.MouseEvent<HTMLElement>) {\n if (closeOnBackdropClick && e.target === modalRef.current) {\n modalRef.current.close();\n }\n onClick?.(e as React.MouseEvent<HTMLDialogElement>);\n }\n\n return (\n <Box\n asChild\n className={clsx(\"hds-modal\", className as undefined)}\n closeable\n onClick={onDialogClick}\n onClose={onCloseButtonClick}\n variant=\"white\"\n >\n <dialog ref={mergedRef} {...rest}>\n {children}\n </dialog>\n </Box>\n );\n },\n) as ModalType;\nModal.displayName = \"Modal\";\n\ntype ModalType = ReturnType<typeof forwardRef<HTMLDialogElement, ModalProps>> & {\n Header: typeof ModalHeader;\n Content: typeof ModalContent;\n Footer: typeof ModalFooter;\n};\n\nModal.Header = ModalHeader;\nModal.Content = ModalContent;\nModal.Footer = ModalFooter;\n\nfunction useScrollLock(modalRef: React.RefObject<HTMLDialogElement>, bodyClass: string) {\n useEffect(() => {\n if (!modalRef.current) return;\n if (modalRef.current.open) document.body.classList.add(bodyClass);\n\n const observer = new MutationObserver(() => {\n if (modalRef.current?.open) document.body.classList.add(bodyClass);\n else document.body.classList.remove(bodyClass);\n });\n observer.observe(modalRef.current, {\n attributes: true,\n attributeFilter: [\"open\"],\n });\n return () => {\n observer.disconnect();\n document.body.classList.remove(bodyClass);\n };\n }, [bodyClass, modalRef]);\n}\n"],"mappings":";;;;;;;;;;;;;AAAA,SAAS,YAAY,WAAW,cAAc;AAC9C,SAAS,YAAY;AACrB,SAAS,YAAY;AAgBf;AAJC,IAAM,cAAc;AAAA,EACzB,CAAC,IAAiC,QAAQ;AAAzC,iBAAE,WAAS,UAfd,IAeG,IAAyB,iBAAzB,IAAyB,CAAvB,WAAS;AACV,UAAM,YAAY,UAAU,OAAO;AACnC,WACE;AAAA,MAAC;AAAA;AAAA,QACC,WAAW,KAAK,qBAAqB,SAAsB;AAAA,QAC3D;AAAA,SACI;AAAA,IACN;AAAA,EAEJ;AACF;AACA,YAAY,cAAc;AAUnB,IAAM,eAAe;AAAA,EAC1B,CAAC,IAAiC,QAAQ;AAAzC,iBAAE,WAAS,UArCd,IAqCG,IAAyB,iBAAzB,IAAyB,CAAvB,WAAS;AACV,UAAM,YAAY,UAAU,OAAO;AACnC,WACE;AAAA,MAAC;AAAA;AAAA,QACC,WAAW,KAAK,sBAAsB,SAAsB;AAAA,QAC5D;AAAA,SACI;AAAA,IACN;AAAA,EAEJ;AACF;AACA,aAAa,cAAc;AAUpB,IAAM,cAAc;AAAA,EACzB,CAAC,IAAiC,QAAQ;AAAzC,iBAAE,WAAS,UA3Dd,IA2DG,IAAyB,iBAAzB,IAAyB,CAAvB,WAAS;AACV,UAAM,YAAY,UAAU,OAAO;AACnC,WACE;AAAA,MAAC;AAAA;AAAA,QACC,WAAW,KAAK,qBAAqB,SAAsB;AAAA,QAC3D;AAAA,SACI;AAAA,IACN;AAAA,EAEJ;AACF;AACA,YAAY,cAAc;AAkDnB,IAAM,QAAQ;AAAA,EACnB,CAAC,IAAuE,QAAQ;AAA/E,iBAAE,YAAU,WAAW,MAAM,sBAAsB,QAzHtD,IAyHG,IAA+D,iBAA/D,IAA+D,CAA7D,YAAU,aAAW,QAAM,wBAAsB;AAClD,UAAM,WAAW,OAA0B,IAAI;AAC/C,UAAM,YAAY,aAAa,CAAC,UAAU,GAAG,CAAC;AAG9C,aAAS,qBAAqB;AA9HlC,UAAAA;AA+HM,OAAAA,MAAA,SAAS,YAAT,gBAAAA,IAAkB;AAClB,aAAO;AAAA,IACT;AAGA,kBAAc,UAAU,uBAAuB;AAG/C,cAAU,MAAM;AACd,UAAI,SAAS,WAAW,SAAS,QAAW;AAC1C,YAAI,QAAQ,CAAC,SAAS,QAAQ,MAAM;AAClC,mBAAS,QAAQ,UAAU;AAAA,QAC7B,WAAW,CAAC,QAAQ,SAAS,QAAQ,MAAM;AACzC,mBAAS,QAAQ,MAAM;AAAA,QACzB;AAAA,MACF;AAAA,IACF,GAAG,CAAC,UAAU,IAAI,CAAC;AAEnB,aAAS,cAAc,GAAkC;AACvD,UAAI,wBAAwB,EAAE,WAAW,SAAS,SAAS;AACzD,iBAAS,QAAQ,MAAM;AAAA,MACzB;AACA,yCAAU;AAAA,IACZ;AAEA,WACE;AAAA,MAAC;AAAA;AAAA,QACC,SAAO;AAAA,QACP,WAAW,KAAK,aAAa,SAAsB;AAAA,QACnD,WAAS;AAAA,QACT,SAAS;AAAA,QACT,SAAS;AAAA,QACT,SAAQ;AAAA,QAER,8BAAC,yCAAO,KAAK,aAAe,OAA3B,EACE,WACH;AAAA;AAAA,IACF;AAAA,EAEJ;AACF;AACA,MAAM,cAAc;AAQpB,MAAM,SAAS;AACf,MAAM,UAAU;AAChB,MAAM,SAAS;AAEf,SAAS,cAAc,UAA8C,WAAmB;AACtF,YAAU,MAAM;AACd,QAAI,CAAC,SAAS,QAAS;AACvB,QAAI,SAAS,QAAQ,KAAM,UAAS,KAAK,UAAU,IAAI,SAAS;AAEhE,UAAM,WAAW,IAAI,iBAAiB,MAAM;AAzLhD;AA0LM,WAAI,cAAS,YAAT,mBAAkB,KAAM,UAAS,KAAK,UAAU,IAAI,SAAS;AAAA,UAC5D,UAAS,KAAK,UAAU,OAAO,SAAS;AAAA,IAC/C,CAAC;AACD,aAAS,QAAQ,SAAS,SAAS;AAAA,MACjC,YAAY;AAAA,MACZ,iBAAiB,CAAC,MAAM;AAAA,IAC1B,CAAC;AACD,WAAO,MAAM;AACX,eAAS,WAAW;AACpB,eAAS,KAAK,UAAU,OAAO,SAAS;AAAA,IAC1C;AAAA,EACF,GAAG,CAAC,WAAW,QAAQ,CAAC;AAC1B;","names":["_a"]}
|
|
@@ -2,12 +2,12 @@ import {
|
|
|
2
2
|
NavbarExpandableMenu,
|
|
3
3
|
NavbarExpandableMenuContent,
|
|
4
4
|
NavbarExpandableMenuTrigger
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-M7MG7ZQT.mjs";
|
|
6
6
|
import {
|
|
7
7
|
__objRest,
|
|
8
8
|
__spreadProps,
|
|
9
9
|
__spreadValues
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-YOSPWY5K.mjs";
|
|
11
11
|
|
|
12
12
|
// src/navbar/navbar.tsx
|
|
13
13
|
import { forwardRef } from "react";
|
|
@@ -133,4 +133,4 @@ export {
|
|
|
133
133
|
NavbarNavigation,
|
|
134
134
|
Navbar
|
|
135
135
|
};
|
|
136
|
-
//# sourceMappingURL=chunk-
|
|
136
|
+
//# sourceMappingURL=chunk-6ZO2TMOX.mjs.map
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
// src/layout/responsive.ts
|
|
2
2
|
function getResponsiveProps(variable, inputValues, valueTransformer = (value) => String(value)) {
|
|
3
|
-
if (!inputValues)
|
|
4
|
-
return {};
|
|
3
|
+
if (!inputValues) return {};
|
|
5
4
|
if (typeof inputValues !== "object") {
|
|
6
5
|
return { [`${variable}-initial`]: valueTransformer(inputValues) };
|
|
7
6
|
}
|
|
@@ -15,4 +14,4 @@ function getResponsiveProps(variable, inputValues, valueTransformer = (value) =>
|
|
|
15
14
|
export {
|
|
16
15
|
getResponsiveProps
|
|
17
16
|
};
|
|
18
|
-
//# sourceMappingURL=chunk-
|
|
17
|
+
//# sourceMappingURL=chunk-7ROE6ADK.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/layout/responsive.ts"],"sourcesContent":["type Breakpoints = \"initial\" | \"small\" | \"medium\" | \"large\" | \"xlarge\";\n\ntype ResponsiveValues<T> = {\n [Breakpoint in Breakpoints]?: T;\n};\n\nexport type ResponsiveProp<T> = T | ResponsiveValues<T>;\n\nexport function getResponsiveProps<T>(\n variable: `--hds-${string}`,\n inputValues?: ResponsiveProp<T>,\n valueTransformer: (value: T) => string = (value) => String(value),\n) {\n if (!inputValues) return {};\n\n if (typeof inputValues !== \"object\") {\n return { [`${variable}-initial`]: valueTransformer(inputValues) };\n }\n\n const result: Record<string, string> = {};\n for (const [key, value] of Object.entries(inputValues as ResponsiveValues<T>)) {\n result[`${variable}-${key}`] = valueTransformer(value);\n }\n\n return result;\n}\n"],"mappings":";AAQO,SAAS,mBACd,UACA,aACA,mBAAyC,CAAC,UAAU,OAAO,KAAK,GAChE;AACA,MAAI,CAAC
|
|
1
|
+
{"version":3,"sources":["../src/layout/responsive.ts"],"sourcesContent":["type Breakpoints = \"initial\" | \"small\" | \"medium\" | \"large\" | \"xlarge\";\n\ntype ResponsiveValues<T> = {\n [Breakpoint in Breakpoints]?: T;\n};\n\nexport type ResponsiveProp<T> = T | ResponsiveValues<T>;\n\nexport function getResponsiveProps<T>(\n variable: `--hds-${string}`,\n inputValues?: ResponsiveProp<T>,\n valueTransformer: (value: T) => string = (value) => String(value),\n) {\n if (!inputValues) return {};\n\n if (typeof inputValues !== \"object\") {\n return { [`${variable}-initial`]: valueTransformer(inputValues) };\n }\n\n const result: Record<string, string> = {};\n for (const [key, value] of Object.entries(inputValues as ResponsiveValues<T>)) {\n result[`${variable}-${key}`] = valueTransformer(value);\n }\n\n return result;\n}\n"],"mappings":";AAQO,SAAS,mBACd,UACA,aACA,mBAAyC,CAAC,UAAU,OAAO,KAAK,GAChE;AACA,MAAI,CAAC,YAAa,QAAO,CAAC;AAE1B,MAAI,OAAO,gBAAgB,UAAU;AACnC,WAAO,EAAE,CAAC,GAAG,QAAQ,UAAU,GAAG,iBAAiB,WAAW,EAAE;AAAA,EAClE;AAEA,QAAM,SAAiC,CAAC;AACxC,aAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,WAAkC,GAAG;AAC7E,WAAO,GAAG,QAAQ,IAAI,GAAG,EAAE,IAAI,iBAAiB,KAAK;AAAA,EACvD;AAEA,SAAO;AACT;","names":[]}
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
__objRest,
|
|
3
3
|
__spreadProps,
|
|
4
4
|
__spreadValues
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-YOSPWY5K.mjs";
|
|
6
6
|
|
|
7
7
|
// src/breadcrumbs/breadcrumbs.tsx
|
|
8
8
|
import { forwardRef } from "react";
|
|
@@ -19,4 +19,4 @@ Breadcrumbs.displayName = "Breadcrumbs";
|
|
|
19
19
|
export {
|
|
20
20
|
Breadcrumbs
|
|
21
21
|
};
|
|
22
|
-
//# sourceMappingURL=chunk-
|
|
22
|
+
//# sourceMappingURL=chunk-A42PXOVR.mjs.map
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
__objRest,
|
|
3
3
|
__spreadProps,
|
|
4
4
|
__spreadValues
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-YOSPWY5K.mjs";
|
|
6
6
|
|
|
7
7
|
// src/button/button.tsx
|
|
8
8
|
import { forwardRef } from "react";
|
|
@@ -55,4 +55,4 @@ Button.displayName = "Button";
|
|
|
55
55
|
export {
|
|
56
56
|
Button
|
|
57
57
|
};
|
|
58
|
-
//# sourceMappingURL=chunk-
|
|
58
|
+
//# sourceMappingURL=chunk-AYCHNAU7.mjs.map
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
__objRest,
|
|
3
3
|
__spreadProps,
|
|
4
4
|
__spreadValues
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-YOSPWY5K.mjs";
|
|
6
6
|
|
|
7
7
|
// src/card/card.tsx
|
|
8
8
|
import { forwardRef } from "react";
|
|
@@ -156,4 +156,4 @@ export {
|
|
|
156
156
|
CardBodyActionArrow,
|
|
157
157
|
Card
|
|
158
158
|
};
|
|
159
|
-
//# sourceMappingURL=chunk-
|
|
159
|
+
//# sourceMappingURL=chunk-AZ6X4L5C.mjs.map
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Box
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-3OGHJOJF.mjs";
|
|
4
4
|
import {
|
|
5
5
|
__objRest,
|
|
6
6
|
__spreadProps,
|
|
7
7
|
__spreadValues
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-YOSPWY5K.mjs";
|
|
9
9
|
|
|
10
10
|
// src/message/message.tsx
|
|
11
11
|
import { forwardRef } from "react";
|
|
@@ -66,4 +66,4 @@ export {
|
|
|
66
66
|
MessageDescription,
|
|
67
67
|
Message
|
|
68
68
|
};
|
|
69
|
-
//# sourceMappingURL=chunk-
|
|
69
|
+
//# sourceMappingURL=chunk-BHQ46L2O.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
__objRest,
|
|
3
3
|
__spreadValues
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-YOSPWY5K.mjs";
|
|
5
5
|
|
|
6
6
|
// src/description-list/description-list.tsx
|
|
7
7
|
import { forwardRef } from "react";
|
|
@@ -30,4 +30,4 @@ DescriptionList.displayName = "DescriptionList";
|
|
|
30
30
|
export {
|
|
31
31
|
DescriptionList
|
|
32
32
|
};
|
|
33
|
-
//# sourceMappingURL=chunk-
|
|
33
|
+
//# sourceMappingURL=chunk-C7ZTOZP3.mjs.map
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
__objRest,
|
|
3
3
|
__spreadProps,
|
|
4
4
|
__spreadValues
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-YOSPWY5K.mjs";
|
|
6
6
|
|
|
7
7
|
// src/form/error-message/error-message.tsx
|
|
8
8
|
import { clsx } from "@postenbring/hedwig-css/typed-classname";
|
|
@@ -29,4 +29,4 @@ ErrorMessage.displayName = "ErrorMessage";
|
|
|
29
29
|
export {
|
|
30
30
|
ErrorMessage
|
|
31
31
|
};
|
|
32
|
-
//# sourceMappingURL=chunk-
|
|
32
|
+
//# sourceMappingURL=chunk-CC5QWW52.mjs.map
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import {
|
|
2
2
|
AccordionContent
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-JZXZYEPG.mjs";
|
|
4
4
|
import {
|
|
5
5
|
AccordionHeader
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-MYVC3HMO.mjs";
|
|
7
7
|
import {
|
|
8
8
|
AccordionItem
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-EZVEYJOX.mjs";
|
|
10
10
|
import {
|
|
11
11
|
__objRest,
|
|
12
12
|
__spreadProps,
|
|
13
13
|
__spreadValues
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-YOSPWY5K.mjs";
|
|
15
15
|
|
|
16
16
|
// src/accordion/accordion.tsx
|
|
17
17
|
import { forwardRef } from "react";
|
|
@@ -42,4 +42,4 @@ Accordion.Content = AccordionContent;
|
|
|
42
42
|
export {
|
|
43
43
|
Accordion
|
|
44
44
|
};
|
|
45
|
-
//# sourceMappingURL=chunk-
|
|
45
|
+
//# sourceMappingURL=chunk-CXX4SXJG.mjs.map
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
__objRest,
|
|
3
3
|
__spreadProps,
|
|
4
4
|
__spreadValues
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-YOSPWY5K.mjs";
|
|
6
6
|
|
|
7
7
|
// src/text/text.tsx
|
|
8
8
|
import { forwardRef } from "react";
|
|
@@ -66,4 +66,4 @@ Text.displayName = "Text";
|
|
|
66
66
|
export {
|
|
67
67
|
Text
|
|
68
68
|
};
|
|
69
|
-
//# sourceMappingURL=chunk-
|
|
69
|
+
//# sourceMappingURL=chunk-DMOMTRIY.mjs.map
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import {
|
|
2
2
|
useFieldsetContext
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-JQGB77SS.mjs";
|
|
4
4
|
import {
|
|
5
5
|
ErrorMessage
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-CC5QWW52.mjs";
|
|
7
7
|
import {
|
|
8
8
|
__objRest,
|
|
9
9
|
__spreadProps,
|
|
10
10
|
__spreadValues
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-YOSPWY5K.mjs";
|
|
12
12
|
|
|
13
13
|
// src/form/checkbox/checkbox.tsx
|
|
14
14
|
import { forwardRef, useId } from "react";
|
|
@@ -73,4 +73,4 @@ Checkbox.displayName = "Checkbox";
|
|
|
73
73
|
export {
|
|
74
74
|
Checkbox
|
|
75
75
|
};
|
|
76
|
-
//# sourceMappingURL=chunk-
|
|
76
|
+
//# sourceMappingURL=chunk-EAFQ3XQU.mjs.map
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
__objRest,
|
|
3
3
|
__spreadProps,
|
|
4
4
|
__spreadValues
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-YOSPWY5K.mjs";
|
|
6
6
|
|
|
7
7
|
// src/styled-html/styled-html.tsx
|
|
8
8
|
import { forwardRef } from "react";
|
|
@@ -11,7 +11,7 @@ import { Slot } from "@radix-ui/react-slot";
|
|
|
11
11
|
import { jsx } from "react/jsx-runtime";
|
|
12
12
|
var StyledHtml = forwardRef(
|
|
13
13
|
(_a, ref) => {
|
|
14
|
-
var _b = _a, { asChild, children, size, darkmode = false, className } = _b, rest = __objRest(_b, ["asChild", "children", "size", "
|
|
14
|
+
var _b = _a, { asChild, children, size, unstable_darkmode: darkmode = false, className } = _b, rest = __objRest(_b, ["asChild", "children", "size", "unstable_darkmode", "className"]);
|
|
15
15
|
const Component = asChild ? Slot : "div";
|
|
16
16
|
return /* @__PURE__ */ jsx(
|
|
17
17
|
Component,
|
|
@@ -34,4 +34,4 @@ StyledHtml.displayName = "StyledHtml";
|
|
|
34
34
|
export {
|
|
35
35
|
StyledHtml
|
|
36
36
|
};
|
|
37
|
-
//# sourceMappingURL=chunk-
|
|
37
|
+
//# sourceMappingURL=chunk-EGW3RCXD.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/styled-html/styled-html.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport { Slot } from \"@radix-ui/react-slot\";\n\nexport interface StyledHtmlProps extends React.HTMLAttributes<HTMLDivElement> {\n children?: React.ReactNode;\n\n /**\n * Size of content inside. Setting this to `small` makes the font size be `body-small`.\n *\n * @default \"default\"\n */\n size?: \"default\" | \"small\";\n\n /**\n * 🚧 Work in progress darkmode support\n */\n unstable_darkmode?: boolean;\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 * A component for displaying dynamic content that you want to apply hedwig styling to.\n * the styling depends on the semantic html elements you use inside the component.\n *\n * Useful when you have dynamic content that you want styled with hedwig, like content from a CMS.\n *\n * Previously known as `hw-wysiwyg` in hedwig legacy. In tailwind this kind of component it is known as `prose`.\n *\n * @example\n * ```tsx\n * <StyledHtml>\n * <h1>Heading 1</h1>\n * <h2>Heading 2</h2>\n * <a href=\"https://www.postenbring.no\">Postenbring</a>\n * <ul>\n * <li>Hei</li>\n * <li>Hallo</li>\n * <li>Hello</li>\n * </ul>\n * </StyledHtml>\n * ```\n */\nexport const StyledHtml = forwardRef<HTMLDivElement, StyledHtmlProps>(\n ({ asChild, children, size, unstable_darkmode: darkmode = false, className, ...rest }, ref) => {\n const Component = asChild ? Slot : \"div\";\n return (\n <Component\n className={clsx(\n `hds-styled-html`,\n size === \"small\" && \"hds-styled-html--small\",\n darkmode && \"hds-styled-html--darkmode\",\n className as undefined,\n )}\n ref={ref}\n {...rest}\n >\n {children}\n </Component>\n );\n },\n);\nStyledHtml.displayName = \"StyledHtml\";\n"],"mappings":";;;;;;;AAAA,SAAS,kBAAkB;AAC3B,SAAS,YAAY;AACrB,SAAS,YAAY;AAmDf;AAJC,IAAM,aAAa;AAAA,EACxB,CAAC,IAAsF,QAAQ;AAA9F,iBAAE,WAAS,UAAU,MAAM,mBAAmB,WAAW,OAAO,UAlDnE,IAkDG,IAA8E,iBAA9E,IAA8E,CAA5E,WAAS,YAAU,QAAM,qBAAqC;AAC/D,UAAM,YAAY,UAAU,OAAO;AACnC,WACE;AAAA,MAAC;AAAA;AAAA,QACC,WAAW;AAAA,UACT;AAAA,UACA,SAAS,WAAW;AAAA,UACpB,YAAY;AAAA,UACZ;AAAA,QACF;AAAA,QACA;AAAA,SACI,OARL;AAAA,QAUE;AAAA;AAAA,IACH;AAAA,EAEJ;AACF;AACA,WAAW,cAAc;","names":[]}
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
__objRest,
|
|
3
3
|
__spreadProps,
|
|
4
4
|
__spreadValues
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-YOSPWY5K.mjs";
|
|
6
6
|
|
|
7
7
|
// src/warning-banner/warning-banner.tsx
|
|
8
8
|
import { forwardRef, useId, useState } from "react";
|
|
@@ -79,4 +79,4 @@ WarningBannerDescription.displayName = "WarningBannerDescription";
|
|
|
79
79
|
export {
|
|
80
80
|
WarningBanner
|
|
81
81
|
};
|
|
82
|
-
//# sourceMappingURL=chunk-
|
|
82
|
+
//# sourceMappingURL=chunk-EMQB6JIS.mjs.map
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
__objRest,
|
|
6
6
|
__spreadProps,
|
|
7
7
|
__spreadValues
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-YOSPWY5K.mjs";
|
|
9
9
|
|
|
10
10
|
// src/accordion/accordion-item.tsx
|
|
11
11
|
import { forwardRef, useId, useState } from "react";
|
|
@@ -40,4 +40,4 @@ AccordionItem.displayName = "Accordion.Item";
|
|
|
40
40
|
export {
|
|
41
41
|
AccordionItem
|
|
42
42
|
};
|
|
43
|
-
//# sourceMappingURL=chunk-
|
|
43
|
+
//# sourceMappingURL=chunk-EZVEYJOX.mjs.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getResponsiveProps
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-7ROE6ADK.mjs";
|
|
4
4
|
import {
|
|
5
5
|
getSpacingVariable
|
|
6
6
|
} from "./chunk-NE6W2PCD.mjs";
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
__objRest,
|
|
9
9
|
__spreadProps,
|
|
10
10
|
__spreadValues
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-YOSPWY5K.mjs";
|
|
12
12
|
|
|
13
13
|
// src/layout/stack/stack.tsx
|
|
14
14
|
import "react";
|
|
@@ -72,4 +72,4 @@ export {
|
|
|
72
72
|
HStack,
|
|
73
73
|
VStack
|
|
74
74
|
};
|
|
75
|
-
//# sourceMappingURL=chunk-
|
|
75
|
+
//# sourceMappingURL=chunk-FUIKSOJF.mjs.map
|
|
@@ -53,20 +53,15 @@ function useHydrated() {
|
|
|
53
53
|
}
|
|
54
54
|
function focusTrap(element) {
|
|
55
55
|
var _a, _b;
|
|
56
|
-
if (element === document.body)
|
|
57
|
-
|
|
58
|
-
};
|
|
56
|
+
if (element === document.body) return () => {
|
|
57
|
+
};
|
|
59
58
|
let inertElements = [];
|
|
60
59
|
for (let el = element; el; el = el.parentElement) {
|
|
61
|
-
if (el === document.body)
|
|
62
|
-
break;
|
|
60
|
+
if (el === document.body) break;
|
|
63
61
|
for (const sibling of (_b = (_a = el.parentElement) == null ? void 0 : _a.children) != null ? _b : []) {
|
|
64
|
-
if (sibling === el)
|
|
65
|
-
|
|
66
|
-
if (
|
|
67
|
-
continue;
|
|
68
|
-
if (sibling.hasAttribute("inert"))
|
|
69
|
-
continue;
|
|
62
|
+
if (sibling === el) continue;
|
|
63
|
+
if (!(sibling instanceof HTMLElement)) continue;
|
|
64
|
+
if (sibling.hasAttribute("inert")) continue;
|
|
70
65
|
sibling.setAttribute("inert", "true");
|
|
71
66
|
inertElements.push(sibling);
|
|
72
67
|
}
|
|
@@ -88,4 +83,4 @@ export {
|
|
|
88
83
|
useHydrated,
|
|
89
84
|
focusTrap
|
|
90
85
|
};
|
|
91
|
-
//# sourceMappingURL=chunk-
|
|
86
|
+
//# sourceMappingURL=chunk-ILFK3VKS.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/utils/utils.ts"],"sourcesContent":["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 */\nfunction releaseFocusTrap(inertElements: Iterable<HTMLElement>) {\n for (const el of inertElements) {\n el.removeAttribute(\"inert\");\n }\n}\n"],"mappings":";AAAA,YAAY,WAAW;AACvB,SAAS,aAAa,WAAW,gBAAgB;AAM1C,SAAS,aACd,MACoC;AACpC,SAAa,cAAQ,MAAM;AACzB,QAAI,KAAK,MAAM,CAAC,QAAQ,QAAQ,IAAI,GAAG;AACrC,aAAO;AAAA,IACT;AAEA,WAAO,CAAC,UAAU;AAChB,WAAK,QAAQ,CAAC,QAAQ;AACpB,YAAI,OAAO,QAAQ,YAAY;AAC7B,cAAI,KAAK;AAAA,QACX,WAAW,QAAQ,MAAM;AACvB,UAAC,IAAgD,UAAU;AAAA,QAC7D;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EAEF,GAAG,IAAI;AACT;AAEO,SAAS,UACd,KACmC;AACnC,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAiB,CAAC;AAC5C,QAAM,CAAC,QAAQ,SAAS,IAAI,SAAiB,CAAC;AAC9C,QAAM,eAAe,YAAY,MAAM;AAjCzC;AAkCI,SAAI,2BAAK,aAAY,MAAM;AACzB,gBAAS,sCAAK,YAAL,mBAAc,gBAAd,YAA6B,CAAC;AACvC,iBAAU,sCAAK,YAAL,mBAAc,iBAAd,YAA8B,CAAC;AAAA,IAC3C;AAAA,EACF,GAAG,CAAC,GAAG,CAAC;AACR,YAAU,MAAM;AACd,WAAO,iBAAiB,QAAQ,YAAY;AAC5C,WAAO,iBAAiB,UAAU,YAAY;AAC9C,WAAO,MAAM;AACX,aAAO,oBAAoB,QAAQ,YAAY;AAC/C,aAAO,oBAAoB,UAAU,YAAY;AAAA,IACnD;AAAA,EACF,GAAG,CAAC,KAAK,YAAY,CAAC;AACtB,YAAU,MAAM;AACd,iBAAa;AAAA,EAEf,GAAG,CAAC,CAAC;AACL,SAAO,EAAE,OAAO,OAAO;AACzB;AAEA,SAAS,YAAY;AAEnB,SAAO,MAAM;AAAA,EAAC;AAChB;AAEO,SAAS,cAAc;AAC5B,SAAa;AAAA,IACX;AAAA,IACA,MAAM;AAAA,IACN,MAAM;AAAA,EACR;AACF;AAaO,SAAS,UAAU,SAAsB;AA9EhD;AAgFE,MAAI,YAAY,SAAS
|
|
1
|
+
{"version":3,"sources":["../src/utils/utils.ts"],"sourcesContent":["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 */\nfunction releaseFocusTrap(inertElements: Iterable<HTMLElement>) {\n for (const el of inertElements) {\n el.removeAttribute(\"inert\");\n }\n}\n"],"mappings":";AAAA,YAAY,WAAW;AACvB,SAAS,aAAa,WAAW,gBAAgB;AAM1C,SAAS,aACd,MACoC;AACpC,SAAa,cAAQ,MAAM;AACzB,QAAI,KAAK,MAAM,CAAC,QAAQ,QAAQ,IAAI,GAAG;AACrC,aAAO;AAAA,IACT;AAEA,WAAO,CAAC,UAAU;AAChB,WAAK,QAAQ,CAAC,QAAQ;AACpB,YAAI,OAAO,QAAQ,YAAY;AAC7B,cAAI,KAAK;AAAA,QACX,WAAW,QAAQ,MAAM;AACvB,UAAC,IAAgD,UAAU;AAAA,QAC7D;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EAEF,GAAG,IAAI;AACT;AAEO,SAAS,UACd,KACmC;AACnC,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAiB,CAAC;AAC5C,QAAM,CAAC,QAAQ,SAAS,IAAI,SAAiB,CAAC;AAC9C,QAAM,eAAe,YAAY,MAAM;AAjCzC;AAkCI,SAAI,2BAAK,aAAY,MAAM;AACzB,gBAAS,sCAAK,YAAL,mBAAc,gBAAd,YAA6B,CAAC;AACvC,iBAAU,sCAAK,YAAL,mBAAc,iBAAd,YAA8B,CAAC;AAAA,IAC3C;AAAA,EACF,GAAG,CAAC,GAAG,CAAC;AACR,YAAU,MAAM;AACd,WAAO,iBAAiB,QAAQ,YAAY;AAC5C,WAAO,iBAAiB,UAAU,YAAY;AAC9C,WAAO,MAAM;AACX,aAAO,oBAAoB,QAAQ,YAAY;AAC/C,aAAO,oBAAoB,UAAU,YAAY;AAAA,IACnD;AAAA,EACF,GAAG,CAAC,KAAK,YAAY,CAAC;AACtB,YAAU,MAAM;AACd,iBAAa;AAAA,EAEf,GAAG,CAAC,CAAC;AACL,SAAO,EAAE,OAAO,OAAO;AACzB;AAEA,SAAS,YAAY;AAEnB,SAAO,MAAM;AAAA,EAAC;AAChB;AAEO,SAAS,cAAc;AAC5B,SAAa;AAAA,IACX;AAAA,IACA,MAAM;AAAA,IACN,MAAM;AAAA,EACR;AACF;AAaO,SAAS,UAAU,SAAsB;AA9EhD;AAgFE,MAAI,YAAY,SAAS,KAAM,QAAO,MAAM;AAAA,EAAC;AAE7C,MAAI,gBAA+B,CAAC;AACpC,WAAS,KAAyB,SAAS,IAAI,KAAK,GAAG,eAAe;AACpE,QAAI,OAAO,SAAS,KAAM;AAE1B,eAAW,YAAW,cAAG,kBAAH,mBAAkB,aAAlB,YAA8B,CAAC,GAAG;AACtD,UAAI,YAAY,GAAI;AACpB,UAAI,EAAE,mBAAmB,aAAc;AACvC,UAAI,QAAQ,aAAa,OAAO,EAAG;AAEnC,cAAQ,aAAa,SAAS,MAAM;AACpC,oBAAc,KAAK,OAAO;AAAA,IAC5B;AAAA,EACF;AAEA,SAAO,MAAM;AACX,qBAAiB,aAAa;AAC9B,oBAAgB,CAAC;AAAA,EACnB;AACF;AAKA,SAAS,iBAAiB,eAAsC;AAC9D,aAAW,MAAM,eAAe;AAC9B,OAAG,gBAAgB,OAAO;AAAA,EAC5B;AACF;","names":[]}
|
|
@@ -5,12 +5,12 @@ import {
|
|
|
5
5
|
useHydrated,
|
|
6
6
|
useMergeRefs,
|
|
7
7
|
useResize
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-ILFK3VKS.mjs";
|
|
9
9
|
import {
|
|
10
10
|
__objRest,
|
|
11
11
|
__spreadProps,
|
|
12
12
|
__spreadValues
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-YOSPWY5K.mjs";
|
|
14
14
|
|
|
15
15
|
// src/tabs/tabs-list.tsx
|
|
16
16
|
import { forwardRef, useEffect, useRef } from "react";
|
|
@@ -30,8 +30,7 @@ var TabsList = forwardRef(
|
|
|
30
30
|
useEffect(() => {
|
|
31
31
|
const tabList = tabsListRef.current;
|
|
32
32
|
const activeTab = tabList == null ? void 0 : tabList.querySelector(`[data-tabid="${activeTabId}"]`);
|
|
33
|
-
if (!activeTab || !tabList)
|
|
34
|
-
return;
|
|
33
|
+
if (!activeTab || !tabList) return;
|
|
35
34
|
const { offsetHeight: containerHeight, offsetWidth: containerWidth } = tabList;
|
|
36
35
|
const { offsetHeight, offsetWidth, offsetTop, offsetLeft } = activeTab;
|
|
37
36
|
const height = offsetHeight / containerHeight;
|
|
@@ -108,4 +107,4 @@ export {
|
|
|
108
107
|
TabsList,
|
|
109
108
|
TabsTab
|
|
110
109
|
};
|
|
111
|
-
//# sourceMappingURL=chunk-
|
|
110
|
+
//# sourceMappingURL=chunk-J5SCUELT.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/tabs/tabs-list.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactElement, MouseEvent } from \"react\";\nimport { forwardRef, useEffect, useRef } from \"react\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport { useResize, useHydrated, useMergeRefs } from \"../utils/utils\";\nimport { useTabsContext } from \"./context\";\n\nexport interface TabsListProps extends HTMLAttributes<HTMLDivElement> {\n children: ReactElement<TabsTabProps> | ReactElement<TabsTabProps>[];\n\n /**\n * Direction of the tabs. Can either be vertical or horizontal.\n * Horizontal breaks on window width with fallback back to vertical\n *\n * @default \"horizontal\"\n */\n direction?: \"vertical\" | \"horizontal\";\n}\n\nexport const TabsList = forwardRef<HTMLDivElement, TabsListProps>(\n ({ children, direction = \"horizontal\", className, ...rest }, ref) => {\n const { activeTabId } = useTabsContext();\n const tabsListRef = useRef<HTMLDivElement>(null);\n const mergedRef = useMergeRefs([tabsListRef, ref]);\n const { width: tabsWidth } = useResize(tabsListRef);\n\n const isClientSide = useHydrated();\n const { innerWidth } = isClientSide ? window : { innerWidth: 1000 };\n const wideEnough = innerWidth >= tabsWidth;\n\n const previousTabId = useRef(activeTabId);\n\n // Marker animation\n useEffect(() => {\n const tabList = tabsListRef.current;\n const activeTab = tabList?.querySelector(`[data-tabid=\"${activeTabId}\"]`);\n if (!activeTab || !tabList) return;\n\n const { offsetHeight: containerHeight, offsetWidth: containerWidth } = tabList;\n const { offsetHeight, offsetWidth, offsetTop, offsetLeft } = activeTab as HTMLElement;\n\n // Calculate the height and width of the marker relative to the container\n const height = offsetHeight / containerHeight;\n const width = offsetWidth / containerWidth;\n\n // NOTE: Doing a DOM manipulation here to set the CSS variables for the marker\n // Not really the react idomatic way, but as long as it works we are able to skip some intermidiate `useState`\n tabsListRef.current.style.setProperty(\"--_hds-tabs-marker-height\", String(height));\n tabsListRef.current.style.setProperty(\"--_hds-tabs-marker-width\", String(width));\n tabsListRef.current.style.setProperty(\"--_hds-tabs-marker-top\", `${offsetTop}px`);\n tabsListRef.current.style.setProperty(\"--_hds-tabs-marker-left\", `${offsetLeft}px`);\n\n // Start with border fallback, then switch to the animated marker when the user changes tabs\n // This way the marker is placed immediately to the default tab, then animates smoothly to the next when selected\n if (previousTabId.current !== activeTabId) {\n tabsListRef.current.style.setProperty(\n \"--_hds-tabs-marker-animated-color\",\n \"var(--_hds-tabs-marker-color)\",\n );\n tabsListRef.current.style.setProperty(\n \"--_hds-tabs-marker-border-fallback-color\",\n \"transparent\",\n );\n }\n previousTabId.current = activeTabId;\n }, [activeTabId, innerWidth]);\n\n return (\n <div\n className={clsx(\n \"hds-tabs__list\",\n direction === \"horizontal\"\n ? {\n \"hds-tabs__list--horizontal\": wideEnough,\n \"hds-tabs__list--vertical\": !wideEnough,\n }\n : {\n \"hds-tabs__list--vertical\": true,\n },\n className as undefined,\n )}\n ref={mergedRef}\n role=\"tablist\"\n {...rest}\n >\n {children}\n </div>\n );\n },\n);\nTabsList.displayName = \"Tabs.List\";\n\nexport interface TabsTabProps extends HTMLAttributes<HTMLButtonElement> {\n children: ReactElement<HTMLElement> | string;\n\n /**\n * Identifier for the tab\n */\n tabId: string;\n}\n\nexport const TabsTab = forwardRef<HTMLButtonElement, TabsTabProps>(\n ({ children, tabId, className, onClick, ...rest }, ref) => {\n const context = useTabsContext();\n\n const toggleTab = (e: MouseEvent<HTMLButtonElement>) => {\n e.preventDefault();\n context.toggleActiveTabId(tabId);\n onClick?.(e);\n };\n return (\n <button\n className={clsx(\n \"hds-tabs__tab\",\n { \"hds-tabs__tab--active\": context.activeTabId === tabId },\n className as undefined,\n )}\n data-tabid={tabId}\n onClick={toggleTab}\n ref={ref}\n type=\"button\"\n role=\"tab\"\n {...rest}\n >\n {children}\n </button>\n );\n },\n);\nTabsTab.displayName = \"Tabs.Tab\";\n"],"mappings":";;;;;;;;;;;;;;;AACA,SAAS,YAAY,WAAW,cAAc;AAC9C,SAAS,YAAY;AAiEf;AAjDC,IAAM,WAAW;AAAA,EACtB,CAAC,IAA4D,QAAQ;AAApE,iBAAE,YAAU,YAAY,cAAc,UAnBzC,IAmBG,IAAoD,iBAApD,IAAoD,CAAlD,YAAU,aAA0B;AACrC,UAAM,EAAE,YAAY,IAAI,eAAe;AACvC,UAAM,cAAc,OAAuB,IAAI;AAC/C,UAAM,YAAY,aAAa,CAAC,aAAa,GAAG,CAAC;AACjD,UAAM,EAAE,OAAO,UAAU,IAAI,UAAU,WAAW;AAElD,UAAM,eAAe,YAAY;AACjC,UAAM,EAAE,WAAW,IAAI,eAAe,SAAS,EAAE,YAAY,IAAK;AAClE,UAAM,aAAa,cAAc;AAEjC,UAAM,gBAAgB,OAAO,WAAW;AAGxC,cAAU,MAAM;AACd,YAAM,UAAU,YAAY;AAC5B,YAAM,YAAY,mCAAS,cAAc,gBAAgB,WAAW;AACpE,UAAI,CAAC,aAAa,CAAC;
|
|
1
|
+
{"version":3,"sources":["../src/tabs/tabs-list.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactElement, MouseEvent } from \"react\";\nimport { forwardRef, useEffect, useRef } from \"react\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport { useResize, useHydrated, useMergeRefs } from \"../utils/utils\";\nimport { useTabsContext } from \"./context\";\n\nexport interface TabsListProps extends HTMLAttributes<HTMLDivElement> {\n children: ReactElement<TabsTabProps> | ReactElement<TabsTabProps>[];\n\n /**\n * Direction of the tabs. Can either be vertical or horizontal.\n * Horizontal breaks on window width with fallback back to vertical\n *\n * @default \"horizontal\"\n */\n direction?: \"vertical\" | \"horizontal\";\n}\n\nexport const TabsList = forwardRef<HTMLDivElement, TabsListProps>(\n ({ children, direction = \"horizontal\", className, ...rest }, ref) => {\n const { activeTabId } = useTabsContext();\n const tabsListRef = useRef<HTMLDivElement>(null);\n const mergedRef = useMergeRefs([tabsListRef, ref]);\n const { width: tabsWidth } = useResize(tabsListRef);\n\n const isClientSide = useHydrated();\n const { innerWidth } = isClientSide ? window : { innerWidth: 1000 };\n const wideEnough = innerWidth >= tabsWidth;\n\n const previousTabId = useRef(activeTabId);\n\n // Marker animation\n useEffect(() => {\n const tabList = tabsListRef.current;\n const activeTab = tabList?.querySelector(`[data-tabid=\"${activeTabId}\"]`);\n if (!activeTab || !tabList) return;\n\n const { offsetHeight: containerHeight, offsetWidth: containerWidth } = tabList;\n const { offsetHeight, offsetWidth, offsetTop, offsetLeft } = activeTab as HTMLElement;\n\n // Calculate the height and width of the marker relative to the container\n const height = offsetHeight / containerHeight;\n const width = offsetWidth / containerWidth;\n\n // NOTE: Doing a DOM manipulation here to set the CSS variables for the marker\n // Not really the react idomatic way, but as long as it works we are able to skip some intermidiate `useState`\n tabsListRef.current.style.setProperty(\"--_hds-tabs-marker-height\", String(height));\n tabsListRef.current.style.setProperty(\"--_hds-tabs-marker-width\", String(width));\n tabsListRef.current.style.setProperty(\"--_hds-tabs-marker-top\", `${offsetTop}px`);\n tabsListRef.current.style.setProperty(\"--_hds-tabs-marker-left\", `${offsetLeft}px`);\n\n // Start with border fallback, then switch to the animated marker when the user changes tabs\n // This way the marker is placed immediately to the default tab, then animates smoothly to the next when selected\n if (previousTabId.current !== activeTabId) {\n tabsListRef.current.style.setProperty(\n \"--_hds-tabs-marker-animated-color\",\n \"var(--_hds-tabs-marker-color)\",\n );\n tabsListRef.current.style.setProperty(\n \"--_hds-tabs-marker-border-fallback-color\",\n \"transparent\",\n );\n }\n previousTabId.current = activeTabId;\n }, [activeTabId, innerWidth]);\n\n return (\n <div\n className={clsx(\n \"hds-tabs__list\",\n direction === \"horizontal\"\n ? {\n \"hds-tabs__list--horizontal\": wideEnough,\n \"hds-tabs__list--vertical\": !wideEnough,\n }\n : {\n \"hds-tabs__list--vertical\": true,\n },\n className as undefined,\n )}\n ref={mergedRef}\n role=\"tablist\"\n {...rest}\n >\n {children}\n </div>\n );\n },\n);\nTabsList.displayName = \"Tabs.List\";\n\nexport interface TabsTabProps extends HTMLAttributes<HTMLButtonElement> {\n children: ReactElement<HTMLElement> | string;\n\n /**\n * Identifier for the tab\n */\n tabId: string;\n}\n\nexport const TabsTab = forwardRef<HTMLButtonElement, TabsTabProps>(\n ({ children, tabId, className, onClick, ...rest }, ref) => {\n const context = useTabsContext();\n\n const toggleTab = (e: MouseEvent<HTMLButtonElement>) => {\n e.preventDefault();\n context.toggleActiveTabId(tabId);\n onClick?.(e);\n };\n return (\n <button\n className={clsx(\n \"hds-tabs__tab\",\n { \"hds-tabs__tab--active\": context.activeTabId === tabId },\n className as undefined,\n )}\n data-tabid={tabId}\n onClick={toggleTab}\n ref={ref}\n type=\"button\"\n role=\"tab\"\n {...rest}\n >\n {children}\n </button>\n );\n },\n);\nTabsTab.displayName = \"Tabs.Tab\";\n"],"mappings":";;;;;;;;;;;;;;;AACA,SAAS,YAAY,WAAW,cAAc;AAC9C,SAAS,YAAY;AAiEf;AAjDC,IAAM,WAAW;AAAA,EACtB,CAAC,IAA4D,QAAQ;AAApE,iBAAE,YAAU,YAAY,cAAc,UAnBzC,IAmBG,IAAoD,iBAApD,IAAoD,CAAlD,YAAU,aAA0B;AACrC,UAAM,EAAE,YAAY,IAAI,eAAe;AACvC,UAAM,cAAc,OAAuB,IAAI;AAC/C,UAAM,YAAY,aAAa,CAAC,aAAa,GAAG,CAAC;AACjD,UAAM,EAAE,OAAO,UAAU,IAAI,UAAU,WAAW;AAElD,UAAM,eAAe,YAAY;AACjC,UAAM,EAAE,WAAW,IAAI,eAAe,SAAS,EAAE,YAAY,IAAK;AAClE,UAAM,aAAa,cAAc;AAEjC,UAAM,gBAAgB,OAAO,WAAW;AAGxC,cAAU,MAAM;AACd,YAAM,UAAU,YAAY;AAC5B,YAAM,YAAY,mCAAS,cAAc,gBAAgB,WAAW;AACpE,UAAI,CAAC,aAAa,CAAC,QAAS;AAE5B,YAAM,EAAE,cAAc,iBAAiB,aAAa,eAAe,IAAI;AACvE,YAAM,EAAE,cAAc,aAAa,WAAW,WAAW,IAAI;AAG7D,YAAM,SAAS,eAAe;AAC9B,YAAM,QAAQ,cAAc;AAI5B,kBAAY,QAAQ,MAAM,YAAY,6BAA6B,OAAO,MAAM,CAAC;AACjF,kBAAY,QAAQ,MAAM,YAAY,4BAA4B,OAAO,KAAK,CAAC;AAC/E,kBAAY,QAAQ,MAAM,YAAY,0BAA0B,GAAG,SAAS,IAAI;AAChF,kBAAY,QAAQ,MAAM,YAAY,2BAA2B,GAAG,UAAU,IAAI;AAIlF,UAAI,cAAc,YAAY,aAAa;AACzC,oBAAY,QAAQ,MAAM;AAAA,UACxB;AAAA,UACA;AAAA,QACF;AACA,oBAAY,QAAQ,MAAM;AAAA,UACxB;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,oBAAc,UAAU;AAAA,IAC1B,GAAG,CAAC,aAAa,UAAU,CAAC;AAE5B,WACE;AAAA,MAAC;AAAA;AAAA,QACC,WAAW;AAAA,UACT;AAAA,UACA,cAAc,eACV;AAAA,YACE,8BAA8B;AAAA,YAC9B,4BAA4B,CAAC;AAAA,UAC/B,IACA;AAAA,YACE,4BAA4B;AAAA,UAC9B;AAAA,UACJ;AAAA,QACF;AAAA,QACA,KAAK;AAAA,QACL,MAAK;AAAA,SACD,OAfL;AAAA,QAiBE;AAAA;AAAA,IACH;AAAA,EAEJ;AACF;AACA,SAAS,cAAc;AAWhB,IAAM,UAAU;AAAA,EACrB,CAAC,IAAkD,QAAQ;AAA1D,iBAAE,YAAU,OAAO,WAAW,QArGjC,IAqGG,IAA0C,iBAA1C,IAA0C,CAAxC,YAAU,SAAO,aAAW;AAC7B,UAAM,UAAU,eAAe;AAE/B,UAAM,YAAY,CAAC,MAAqC;AACtD,QAAE,eAAe;AACjB,cAAQ,kBAAkB,KAAK;AAC/B,yCAAU;AAAA,IACZ;AACA,WACE;AAAA,MAAC;AAAA;AAAA,QACC,WAAW;AAAA,UACT;AAAA,UACA,EAAE,yBAAyB,QAAQ,gBAAgB,MAAM;AAAA,UACzD;AAAA,QACF;AAAA,QACA,cAAY;AAAA,QACZ,SAAS;AAAA,QACT;AAAA,QACA,MAAK;AAAA,QACL,MAAK;AAAA,SACD,OAXL;AAAA,QAaE;AAAA;AAAA,IACH;AAAA,EAEJ;AACF;AACA,QAAQ,cAAc;","names":[]}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ErrorMessage
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-CC5QWW52.mjs";
|
|
4
4
|
import {
|
|
5
5
|
__objRest,
|
|
6
6
|
__spreadProps,
|
|
7
7
|
__spreadValues
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-YOSPWY5K.mjs";
|
|
9
9
|
|
|
10
10
|
// src/form/fieldset/fieldset.tsx
|
|
11
11
|
import { useId, forwardRef, createContext, useContext } from "react";
|
|
@@ -64,4 +64,4 @@ export {
|
|
|
64
64
|
useFieldsetContext,
|
|
65
65
|
Fieldset
|
|
66
66
|
};
|
|
67
|
-
//# sourceMappingURL=chunk-
|
|
67
|
+
//# sourceMappingURL=chunk-JQGB77SS.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/form/fieldset/fieldset.tsx"],"sourcesContent":["import { useId, forwardRef, createContext, useContext } from \"react\";\nimport type { FieldsetHTMLAttributes, HTMLAttributes, ReactNode, CSSProperties } from \"react\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport { ErrorMessage } from \"../error-message\";\n\nexport interface FieldsetProps extends FieldsetHTMLAttributes<HTMLFieldSetElement> {\n className?: string;\n style?: CSSProperties;\n /**\n * Providing an errorMessage will also give contained Checkboxes or Radio buttons\n * error styling and aria to indicate invalid state.\n *\n * For Radio buttons you are even better off using RadioGroup.\n */\n errorMessage?: ReactNode;\n legendProps?: HTMLAttributes<HTMLElement> & { size: \"default\" | \"large\" };\n legend: ReactNode;\n children: ReactNode;\n}\n\nconst FieldsetContext = createContext<{ hasError: boolean }>({ hasError: false });\n\nexport const useFieldsetContext = () => useContext(FieldsetContext);\n\nexport const Fieldset = forwardRef<HTMLFieldSetElement, FieldsetProps>(function Fieldset(\n {\n className,\n style,\n errorMessage,\n legendProps: { size: legendSize = \"default\", className: legendClassName, ...legendProps } = {},\n legend,\n children,\n ...rest\n },\n ref,\n) {\n const errorMessageId = useId();\n\n return (\n <fieldset\n aria-describedby={errorMessage ? errorMessageId : undefined}\n aria-invalid={errorMessage ? true : undefined}\n className={clsx(\"hds-fieldset\", className as undefined)}\n ref={ref}\n style={style}\n {...rest}\n >\n <legend\n className={clsx(\n \"hds-fieldset__legend\",\n { [`hds-fieldset__legend--${legendSize}`]: legendSize },\n legendClassName as undefined,\n )}\n {...legendProps}\n >\n {legend}\n </legend>\n <FieldsetContext.Provider value={{ hasError: Boolean(errorMessage) }}>\n {children}\n </FieldsetContext.Provider>\n <ErrorMessage id={errorMessageId}>{errorMessage}</ErrorMessage>\n </fieldset>\n );\n});\n"],"mappings":";;;;;;;;;;AAAA,SAAS,OAAO,YAAY,eAAe,kBAAkB;AAE7D,SAAS,YAAY;AAqCjB,SAQE,KARF;AAnBJ,IAAM,kBAAkB,cAAqC,EAAE,UAAU,MAAM,CAAC;AAEzE,IAAM,qBAAqB,MAAM,WAAW,eAAe;AAE3D,IAAM,WAAW,WAA+C,SAASA,UAC9E,IASA,KACA;AAVA,eAIe;AAAA,IAHb;AAAA,IACA;AAAA,IACA;AAAA,IACA,aAAa,KAA+E,CAAC;AAAA,EA7BjG,IAyBE,IAIe,SAAE,QAAM,aAAa,WAAW,WAAW,gBA7B5D,IA6BiB,IAA+D,wBAA/D,IAA+D,CAA7D,QAA8B,eAJ/C,SAKE;AAAA;AAAA,IACA;AAAA,EA/BJ,IAyBE,IAOK,iBAPL,IAOK;AAAA,IANH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAKF,QAAM,iBAAiB,MAAM;AAE7B,SACE;AAAA,IAAC;AAAA;AAAA,MACC,oBAAkB,eAAe,iBAAiB;AAAA,MAClD,gBAAc,eAAe,OAAO;AAAA,MACpC,WAAW,KAAK,gBAAgB,SAAsB;AAAA,MACtD;AAAA,MACA;AAAA,OACI,OANL;AAAA,MAQC;AAAA;AAAA,UAAC;AAAA;AAAA,YACC,WAAW;AAAA,cACT;AAAA,cACA,EAAE,CAAC,yBAAyB,UAAU,EAAE,GAAG,WAAW;AAAA,cACtD;AAAA,YACF;AAAA,aACI,cANL;AAAA,YAQE;AAAA;AAAA,QACH;AAAA,QACA,oBAAC,gBAAgB,UAAhB,EAAyB,OAAO,EAAE,UAAU,QAAQ,YAAY,EAAE,GAChE,UACH;AAAA,QACA,oBAAC,gBAAa,IAAI,gBAAiB,wBAAa;AAAA;AAAA;AAAA,EAClD;AAEJ,CAAC;","names":["Fieldset"]}
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
__objRest,
|
|
3
3
|
__spreadProps,
|
|
4
4
|
__spreadValues
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-YOSPWY5K.mjs";
|
|
6
6
|
|
|
7
7
|
// src/show-more/show-more.tsx
|
|
8
8
|
import { clsx } from "@postenbring/hedwig-css/typed-classname";
|
|
@@ -36,4 +36,4 @@ ShowMoreButton.displayName = "ShowMoreButton";
|
|
|
36
36
|
export {
|
|
37
37
|
ShowMoreButton
|
|
38
38
|
};
|
|
39
|
-
//# sourceMappingURL=chunk-
|
|
39
|
+
//# sourceMappingURL=chunk-JUHJZLH2.mjs.map
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import {
|
|
2
|
+
__objRest,
|
|
3
|
+
__spreadProps,
|
|
4
|
+
__spreadValues
|
|
5
|
+
} from "./chunk-YOSPWY5K.mjs";
|
|
6
|
+
|
|
7
|
+
// src/blockquote/blockquote.tsx
|
|
8
|
+
import { clsx } from "@postenbring/hedwig-css/typed-classname";
|
|
9
|
+
import { Slot } from "@radix-ui/react-slot";
|
|
10
|
+
import { forwardRef } from "react";
|
|
11
|
+
import { jsx } from "react/jsx-runtime";
|
|
12
|
+
var Blockquote = forwardRef(
|
|
13
|
+
(_a, ref) => {
|
|
14
|
+
var _b = _a, { children, asChild, className, variant } = _b, rest = __objRest(_b, ["children", "asChild", "className", "variant"]);
|
|
15
|
+
const Component = asChild ? Slot : "blockquote";
|
|
16
|
+
return /* @__PURE__ */ jsx(
|
|
17
|
+
Component,
|
|
18
|
+
__spreadProps(__spreadValues({
|
|
19
|
+
ref,
|
|
20
|
+
className: clsx(
|
|
21
|
+
"hds-blockquote",
|
|
22
|
+
variant === "norwegian" && `hds-blockquote--norwegian`,
|
|
23
|
+
className
|
|
24
|
+
)
|
|
25
|
+
}, rest), {
|
|
26
|
+
children
|
|
27
|
+
})
|
|
28
|
+
);
|
|
29
|
+
}
|
|
30
|
+
);
|
|
31
|
+
Blockquote.displayName = "Blockquote";
|
|
32
|
+
|
|
33
|
+
export {
|
|
34
|
+
Blockquote
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=chunk-JYN2QSN2.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/blockquote/blockquote.tsx"],"sourcesContent":["import { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { forwardRef } from \"react\";\n\nexport interface BlockquoteProps extends React.HTMLAttributes<HTMLQuoteElement> {\n children?: React.ReactNode;\n\n /**\n * The quote style\n *\n * @default \"default\"\n */\n variant?: \"default\" | \"norwegian\";\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 * @example\n *\n * ```tsx\n * <Blockquote>\n * <p>... but they’ll never take our freedom!</p>\n * <footer>William Wallace</footer>\n * </Blockquote>\n * ```\n *\n */\nexport const Blockquote = forwardRef<HTMLQuoteElement, BlockquoteProps>(\n ({ children, asChild, className, variant, ...rest }, ref) => {\n const Component = asChild ? Slot : \"blockquote\";\n return (\n <Component\n ref={ref}\n className={clsx(\n \"hds-blockquote\",\n variant === \"norwegian\" && `hds-blockquote--norwegian`,\n className as undefined,\n )}\n {...rest}\n >\n {children}\n </Component>\n );\n },\n);\nBlockquote.displayName = \"Blockquote\";\n"],"mappings":";;;;;;;AAAA,SAAS,YAAY;AACrB,SAAS,YAAY;AACrB,SAAS,kBAAkB;AAmCrB;AAJC,IAAM,aAAa;AAAA,EACxB,CAAC,IAAoD,QAAQ;AAA5D,iBAAE,YAAU,SAAS,WAAW,QAlCnC,IAkCG,IAA4C,iBAA5C,IAA4C,CAA1C,YAAU,WAAS,aAAW;AAC/B,UAAM,YAAY,UAAU,OAAO;AACnC,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,WAAW;AAAA,UACT;AAAA,UACA,YAAY,eAAe;AAAA,UAC3B;AAAA,QACF;AAAA,SACI,OAPL;AAAA,QASE;AAAA;AAAA,IACH;AAAA,EAEJ;AACF;AACA,WAAW,cAAc;","names":[]}
|