@postenbring/hedwig-react 0.0.64 → 0.0.65

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.
Files changed (156) hide show
  1. package/dist/_tsup-dts-rollup.d.mts +171 -19
  2. package/dist/_tsup-dts-rollup.d.ts +171 -19
  3. package/dist/accordion/accordion-content.js +5 -9
  4. package/dist/accordion/accordion-content.js.map +1 -1
  5. package/dist/accordion/accordion-content.mjs +1 -1
  6. package/dist/accordion/accordion-header.js +6 -9
  7. package/dist/accordion/accordion-header.js.map +1 -1
  8. package/dist/accordion/accordion-header.mjs +1 -1
  9. package/dist/accordion/accordion-item.js +2 -7
  10. package/dist/accordion/accordion-item.js.map +1 -1
  11. package/dist/accordion/accordion-item.mjs +1 -1
  12. package/dist/accordion/index.js +13 -25
  13. package/dist/accordion/index.js.map +1 -1
  14. package/dist/accordion/index.mjs +4 -4
  15. package/dist/{chunk-SAGJ5W7M.mjs → chunk-62F4I3MQ.mjs} +3 -8
  16. package/dist/{chunk-SAGJ5W7M.mjs.map → chunk-62F4I3MQ.mjs.map} +1 -1
  17. package/dist/{chunk-BYDSISQZ.mjs → chunk-A47QULAK.mjs} +2 -2
  18. package/dist/{chunk-BYDSISQZ.mjs.map → chunk-A47QULAK.mjs.map} +1 -1
  19. package/dist/{chunk-2E6XPNPX.mjs → chunk-DEVTAZKG.mjs} +8 -6
  20. package/dist/chunk-DEVTAZKG.mjs.map +1 -0
  21. package/dist/chunk-EHUVLDIZ.mjs +121 -0
  22. package/dist/chunk-EHUVLDIZ.mjs.map +1 -0
  23. package/dist/{chunk-KRGKVH5J.mjs → chunk-GUB3UCXO.mjs} +6 -10
  24. package/dist/chunk-GUB3UCXO.mjs.map +1 -0
  25. package/dist/{chunk-37WVYY6X.mjs → chunk-HXV2UMEV.mjs} +6 -3
  26. package/dist/chunk-HXV2UMEV.mjs.map +1 -0
  27. package/dist/chunk-KQITCS3U.mjs +18 -0
  28. package/dist/chunk-KQITCS3U.mjs.map +1 -0
  29. package/dist/{chunk-DJRMXOCP.mjs → chunk-LIQ3FB56.mjs} +8 -8
  30. package/dist/chunk-MUVJAMFN.mjs +104 -0
  31. package/dist/chunk-MUVJAMFN.mjs.map +1 -0
  32. package/dist/{chunk-WGVZWX5L.mjs → chunk-RLUXDZ6X.mjs} +14 -4
  33. package/dist/chunk-RLUXDZ6X.mjs.map +1 -0
  34. package/dist/{chunk-H3VGHTDC.mjs → chunk-TE5M6GJB.mjs} +2 -2
  35. package/dist/chunk-TE5M6GJB.mjs.map +1 -0
  36. package/dist/chunk-U2MRMUB2.mjs +19 -0
  37. package/dist/chunk-U2MRMUB2.mjs.map +1 -0
  38. package/dist/{chunk-EJADADIY.mjs → chunk-UWTGHSWT.mjs} +6 -9
  39. package/dist/chunk-UWTGHSWT.mjs.map +1 -0
  40. package/dist/{chunk-5MDJP43L.mjs → chunk-VFFIUNR6.mjs} +7 -7
  41. package/dist/chunk-X7EKQZNU.mjs +76 -0
  42. package/dist/chunk-X7EKQZNU.mjs.map +1 -0
  43. package/dist/{chunk-V4NGUB4I.mjs → chunk-XFSZBILE.mjs} +2 -2
  44. package/dist/chunk-XFSZBILE.mjs.map +1 -0
  45. package/dist/{chunk-MBBFU4IR.mjs → chunk-XVFQWVHO.mjs} +3 -9
  46. package/dist/{chunk-MBBFU4IR.mjs.map → chunk-XVFQWVHO.mjs.map} +1 -1
  47. package/dist/chunk-YWNVB7TY.mjs +1 -0
  48. package/dist/{chunk-FT5CX2W5.mjs → chunk-YXHXRUFX.mjs} +7 -10
  49. package/dist/chunk-YXHXRUFX.mjs.map +1 -0
  50. package/dist/footer/footer.d.mts +7 -0
  51. package/dist/footer/footer.d.ts +7 -0
  52. package/dist/footer/footer.js +404 -0
  53. package/dist/footer/footer.js.map +1 -0
  54. package/dist/footer/footer.mjs +26 -0
  55. package/dist/footer/footer.mjs.map +1 -0
  56. package/dist/footer/index.d.mts +7 -0
  57. package/dist/footer/index.d.ts +7 -0
  58. package/dist/footer/index.js +405 -0
  59. package/dist/footer/index.js.map +1 -0
  60. package/dist/footer/index.mjs +19 -0
  61. package/dist/footer/index.mjs.map +1 -0
  62. package/dist/form/checkbox/checkbox.js +122 -24
  63. package/dist/form/checkbox/checkbox.js.map +1 -1
  64. package/dist/form/checkbox/checkbox.mjs +5 -1
  65. package/dist/form/checkbox/index.js +122 -24
  66. package/dist/form/checkbox/index.js.map +1 -1
  67. package/dist/form/checkbox/index.mjs +5 -1
  68. package/dist/form/fieldset/fieldset.d.mts +1 -0
  69. package/dist/form/fieldset/fieldset.d.ts +1 -0
  70. package/dist/form/fieldset/fieldset.js +7 -3
  71. package/dist/form/fieldset/fieldset.js.map +1 -1
  72. package/dist/form/fieldset/fieldset.mjs +5 -3
  73. package/dist/form/fieldset/index.d.mts +1 -0
  74. package/dist/form/fieldset/index.d.ts +1 -0
  75. package/dist/form/fieldset/index.js +7 -3
  76. package/dist/form/fieldset/index.js.map +1 -1
  77. package/dist/form/fieldset/index.mjs +5 -3
  78. package/dist/form/index.d.mts +2 -1
  79. package/dist/form/index.d.ts +2 -1
  80. package/dist/form/index.js +68 -27
  81. package/dist/form/index.js.map +1 -1
  82. package/dist/form/index.mjs +17 -13
  83. package/dist/form/radiobutton/index.d.mts +1 -1
  84. package/dist/form/radiobutton/index.d.ts +1 -1
  85. package/dist/form/radiobutton/index.js +17 -8
  86. package/dist/form/radiobutton/index.js.map +1 -1
  87. package/dist/form/radiobutton/index.mjs +7 -5
  88. package/dist/form/radiobutton/radiobutton.js +13 -6
  89. package/dist/form/radiobutton/radiobutton.js.map +1 -1
  90. package/dist/form/radiobutton/radiobutton.mjs +3 -3
  91. package/dist/form/radiobutton/radiogroup.js +2 -1
  92. package/dist/form/radiobutton/radiogroup.js.map +1 -1
  93. package/dist/form/radiobutton/radiogroup.mjs +2 -2
  94. package/dist/index-no-css.d.mts +10 -1
  95. package/dist/index-no-css.d.ts +10 -1
  96. package/dist/index-no-css.js +468 -307
  97. package/dist/index-no-css.js.map +1 -1
  98. package/dist/index-no-css.mjs +58 -46
  99. package/dist/index.d.mts +10 -1
  100. package/dist/index.d.ts +10 -1
  101. package/dist/index.js +468 -307
  102. package/dist/index.js.map +1 -1
  103. package/dist/index.mjs +58 -46
  104. package/dist/index.mjs.map +1 -1
  105. package/dist/navbar/index.d.mts +1 -0
  106. package/dist/navbar/index.d.ts +1 -0
  107. package/dist/navbar/index.js +10 -7
  108. package/dist/navbar/index.js.map +1 -1
  109. package/dist/navbar/index.mjs +7 -4
  110. package/dist/navbar/navbar-expandable-menu.d.mts +1 -0
  111. package/dist/navbar/navbar-expandable-menu.d.ts +1 -0
  112. package/dist/navbar/navbar-expandable-menu.js +10 -7
  113. package/dist/navbar/navbar-expandable-menu.js.map +1 -1
  114. package/dist/navbar/navbar-expandable-menu.mjs +5 -3
  115. package/dist/skeleton/index.js +1 -1
  116. package/dist/skeleton/index.js.map +1 -1
  117. package/dist/skeleton/index.mjs +1 -1
  118. package/dist/skeleton/skeleton.js +1 -1
  119. package/dist/skeleton/skeleton.js.map +1 -1
  120. package/dist/skeleton/skeleton.mjs +1 -1
  121. package/dist/tabs/context.d.mts +1 -0
  122. package/dist/tabs/context.d.ts +1 -0
  123. package/dist/tabs/context.js +13 -8
  124. package/dist/tabs/context.js.map +1 -1
  125. package/dist/tabs/context.mjs +5 -3
  126. package/dist/tabs/index.js +46 -28
  127. package/dist/tabs/index.js.map +1 -1
  128. package/dist/tabs/index.mjs +5 -5
  129. package/dist/tabs/tabs-content.js +11 -11
  130. package/dist/tabs/tabs-content.js.map +1 -1
  131. package/dist/tabs/tabs-content.mjs +2 -2
  132. package/dist/tabs/tabs-list.js +43 -16
  133. package/dist/tabs/tabs-list.js.map +1 -1
  134. package/dist/tabs/tabs-list.mjs +2 -2
  135. package/dist/tabs/tabs.js +2 -14
  136. package/dist/tabs/tabs.js.map +1 -1
  137. package/dist/tabs/tabs.mjs +2 -2
  138. package/package.json +3 -3
  139. package/dist/chunk-2E6XPNPX.mjs.map +0 -1
  140. package/dist/chunk-33JD5XDW.mjs +0 -14
  141. package/dist/chunk-33JD5XDW.mjs.map +0 -1
  142. package/dist/chunk-37WVYY6X.mjs.map +0 -1
  143. package/dist/chunk-EJADADIY.mjs.map +0 -1
  144. package/dist/chunk-FT5CX2W5.mjs.map +0 -1
  145. package/dist/chunk-H3VGHTDC.mjs.map +0 -1
  146. package/dist/chunk-H4GIHEB2.mjs +0 -1
  147. package/dist/chunk-KRGKVH5J.mjs.map +0 -1
  148. package/dist/chunk-PXHYOQPB.mjs +0 -42
  149. package/dist/chunk-PXHYOQPB.mjs.map +0 -1
  150. package/dist/chunk-V4NGUB4I.mjs.map +0 -1
  151. package/dist/chunk-WGVZWX5L.mjs.map +0 -1
  152. package/dist/chunk-XVZ44NGD.mjs +0 -80
  153. package/dist/chunk-XVZ44NGD.mjs.map +0 -1
  154. /package/dist/{chunk-DJRMXOCP.mjs.map → chunk-LIQ3FB56.mjs.map} +0 -0
  155. /package/dist/{chunk-5MDJP43L.mjs.map → chunk-VFFIUNR6.mjs.map} +0 -0
  156. /package/dist/{chunk-H4GIHEB2.mjs.map → chunk-YWNVB7TY.mjs.map} +0 -0
@@ -12,14 +12,14 @@ import type { FieldsetHTMLAttributes } from 'react';
12
12
  import { ForwardRefExoticComponent } from 'react';
13
13
  import { FunctionComponent } from 'react';
14
14
  import { HTMLAttributes } from 'react';
15
- import type { InputHTMLAttributes } from 'react';
15
+ import { InputHTMLAttributes } from 'react';
16
16
  import { JSX as JSX_2 } from 'react/jsx-runtime';
17
17
  import type { LabelHTMLAttributes } from 'react';
18
18
  import type { Meta } from '@storybook/react';
19
19
  import { Options } from 'tsup';
20
20
  import * as React_2 from 'react';
21
21
  import { default as React_3 } from 'react';
22
- import type { ReactElement } from 'react';
22
+ import { ReactElement } from 'react';
23
23
  import { ReactNode } from 'react';
24
24
  import { RefAttributes } from 'react';
25
25
  import type { SelectHTMLAttributes } from 'react';
@@ -504,26 +504,44 @@ export { CardMediaImg as CardMediaImg_alias_1 }
504
504
  export { CardMediaImg as CardMediaImg_alias_2 }
505
505
  export { CardMediaImg as CardMediaImg_alias_3 }
506
506
 
507
- declare const Checkbox: React_3.ForwardRefExoticComponent<CheckboxProps & React_3.RefAttributes<HTMLInputElement>>;
507
+ declare const Checkbox: ForwardRefExoticComponent<CheckboxProps & RefAttributes<HTMLInputElement>>;
508
508
  export { Checkbox }
509
509
  export { Checkbox as Checkbox_alias_1 }
510
510
  export { Checkbox as Checkbox_alias_2 }
511
511
  export { Checkbox as Checkbox_alias_3 }
512
512
  export { Checkbox as Checkbox_alias_4 }
513
513
 
514
- declare interface CheckboxProps extends Omit<InputHTMLAttributes<HTMLInputElement>, "defaultValue"> {
514
+ declare type CheckboxProps = Omit<InputHTMLAttributes<HTMLInputElement>, "defaultValue"> & {
515
+ children: ReactNode;
515
516
  variant?: "plain" | "bounding-box";
516
- hasError?: boolean;
517
517
  title?: string;
518
- }
518
+ } & ({
519
+ /**
520
+ * Set to `true` to add error styling. The component will take care of aria to indicate invalid state.
521
+ *
522
+ * Normally you don't need this, as you should wrap your Checkboxes in the Fieldset component.
523
+ * When providing an errorMessage to Fieldset, all contained Checkboxes will get correct hasError state.
524
+ *
525
+ * You can use this when your checkbox is part of a non-HDS fieldset which shows an error message.
526
+ */
527
+ hasError?: boolean;
528
+ errorMessage?: never;
529
+ } | {
530
+ hasError?: never;
531
+ /**
532
+ * Set an error message to add error styling, and display the error message.
533
+ * The component will take care of aria to connect the error message to the checkbox.
534
+ *
535
+ * Use this when your checkbox is standalone (not part of a fieldset).
536
+ */
537
+ errorMessage?: ReactNode;
538
+ });
519
539
  export { CheckboxProps }
520
540
  export { CheckboxProps as CheckboxProps_alias_1 }
521
541
  export { CheckboxProps as CheckboxProps_alias_2 }
522
542
  export { CheckboxProps as CheckboxProps_alias_3 }
523
543
  export { CheckboxProps as CheckboxProps_alias_4 }
524
544
 
525
- export declare const CheckboxWithErrorMessage: Story_9;
526
-
527
545
  export declare function CloseIcon(): JSX_2.Element;
528
546
 
529
547
  export declare const CompleteShowMoreShowLess: Story_23;
@@ -757,11 +775,19 @@ export { Fieldset as Fieldset_alias_2 }
757
775
  export { Fieldset as Fieldset_alias_3 }
758
776
  export { Fieldset as Fieldset_alias_4 }
759
777
 
760
- export declare const FieldsetError: Story_10;
778
+ export declare const FieldsetErrorCheckboxes: Story_10;
779
+
780
+ export declare const FieldsetErrorRadiobuttons: Story_10;
761
781
 
762
782
  declare interface FieldsetProps extends FieldsetHTMLAttributes<HTMLFieldSetElement> {
763
783
  className?: string;
764
784
  style?: CSSProperties;
785
+ /**
786
+ * Providing an errorMessage will also give contained Checkboxes or Radiobuttons
787
+ * error styling and aria to indicate invalid state.
788
+ *
789
+ * For Radiobuttons you are even better off using RadioGroup.
790
+ */
765
791
  errorMessage?: ReactNode;
766
792
  legendProps?: HTMLAttributes<HTMLElement> & {
767
793
  size: "default" | "large";
@@ -775,6 +801,100 @@ export { FieldsetProps as FieldsetProps_alias_2 }
775
801
  export { FieldsetProps as FieldsetProps_alias_3 }
776
802
  export { FieldsetProps as FieldsetProps_alias_4 }
777
803
 
804
+ /**
805
+ * 🚨 WORK IN PROGRESS 🚨
806
+ */
807
+ export declare const Footer_alias_2: ForwardRefExoticComponent<FooterProps & RefAttributes<HTMLDivElement>>;
808
+
809
+ /**
810
+ * 🚨 WORK IN PROGRESS 🚨
811
+ */
812
+ declare const FooterButtonLink: ForwardRefExoticComponent<FooterButtonLinkProps & RefAttributes<HTMLAnchorElement>>;
813
+ export { FooterButtonLink }
814
+ export { FooterButtonLink as FooterButtonLink_alias_1 }
815
+ export { FooterButtonLink as FooterButtonLink_alias_2 }
816
+ export { FooterButtonLink as FooterButtonLink_alias_3 }
817
+
818
+ declare interface FooterButtonLinkProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {
819
+ /**
820
+ * Change the default rendered element for the one passed as a child, merging their props and behavior.
821
+ */
822
+ asChild?: boolean;
823
+ }
824
+ export { FooterButtonLinkProps }
825
+ export { FooterButtonLinkProps as FooterButtonLinkProps_alias_1 }
826
+ export { FooterButtonLinkProps as FooterButtonLinkProps_alias_2 }
827
+ export { FooterButtonLinkProps as FooterButtonLinkProps_alias_3 }
828
+
829
+ declare const FooterComponent: ForwardRefExoticComponent<FooterProps & RefAttributes<HTMLDivElement>> & {
830
+ Logo: typeof FooterLogo;
831
+ ButtonLink: typeof FooterButtonLink;
832
+ LinkSections: typeof FooterLinkSections;
833
+ LinkSection: typeof FooterLinkSection;
834
+ };
835
+ export { FooterComponent as Footer }
836
+ export { FooterComponent as Footer_alias_1 }
837
+ export { FooterComponent as Footer_alias_3 }
838
+
839
+ declare const FooterLinkSection: ForwardRefExoticComponent<FooterLinkSectionProps & RefAttributes<HTMLDivElement>>;
840
+ export { FooterLinkSection }
841
+ export { FooterLinkSection as FooterLinkSection_alias_1 }
842
+ export { FooterLinkSection as FooterLinkSection_alias_2 }
843
+ export { FooterLinkSection as FooterLinkSection_alias_3 }
844
+
845
+ declare interface FooterLinkSectionProps extends HTMLAttributes<HTMLDivElement> {
846
+ heading: React.ReactNode;
847
+ children: React.ReactNode;
848
+ }
849
+
850
+ /**
851
+ * Responsive sections of links. Will become an accordion on mobile.
852
+ *
853
+ * Use with `Footer.LinkSection` for each section.
854
+ *
855
+ * TODO:
856
+ * - [ ] Decrease number of DOM elements rendered. We should not rely on conditional rendering as that will make server-side rendering harder.
857
+ */
858
+ declare const FooterLinkSections: ForwardRefExoticComponent<FooterLinkSectionsProps & RefAttributes<HTMLDivElement>>;
859
+ export { FooterLinkSections }
860
+ export { FooterLinkSections as FooterLinkSections_alias_1 }
861
+ export { FooterLinkSections as FooterLinkSections_alias_2 }
862
+ export { FooterLinkSections as FooterLinkSections_alias_3 }
863
+
864
+ declare interface FooterLinkSectionsProps extends HTMLAttributes<HTMLDivElement> {
865
+ children: ReactElement<FooterLinkSectionProps> | ReactElement<FooterLinkSectionProps>[];
866
+ }
867
+
868
+ /**
869
+ * A fixed Posten or Bring logo.
870
+ *
871
+ * 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
872
+ */
873
+ declare const FooterLogo: ForwardRefExoticComponent<FooterLogoProps & RefAttributes<HTMLDivElement>>;
874
+ export { FooterLogo }
875
+ export { FooterLogo as FooterLogo_alias_1 }
876
+ export { FooterLogo as FooterLogo_alias_2 }
877
+ export { FooterLogo as FooterLogo_alias_3 }
878
+
879
+ declare interface FooterLogoProps extends HTMLAttributes<HTMLDivElement> {
880
+ /**
881
+ * Change the default rendered element for the one passed as a child, merging their props and behavior.
882
+ */
883
+ asChild?: boolean;
884
+ }
885
+
886
+ declare interface FooterProps extends HTMLAttributes<HTMLDivElement> {
887
+ variant?: "default" | "slim";
888
+ /**
889
+ * Change the default rendered element for the one passed as a child, merging their props and behavior.
890
+ */
891
+ asChild?: boolean;
892
+ }
893
+ export { FooterProps }
894
+ export { FooterProps as FooterProps_alias_1 }
895
+ export { FooterProps as FooterProps_alias_2 }
896
+ export { FooterProps as FooterProps_alias_3 }
897
+
778
898
  export declare const FormWithErrorsOnSubmit: Story_11;
779
899
 
780
900
  declare interface HeadingProps {
@@ -928,7 +1048,7 @@ declare const MessageComponent: {
928
1048
  (props: MessageProps & RefAttributes<HTMLDivElement>): ReactNode;
929
1049
  <As extends ElementType>(props: {
930
1050
  as?: As | undefined;
931
- } & MessageProps & Omit<ComponentPropsWithRef<As>, "slot" | "style" | "title" | "children" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "autoFocus" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "nonce" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "content" | "datatype" | "inlist" | "prefix" | "property" | "rel" | "resource" | "rev" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-braillelabel" | "aria-brailleroledescription" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colindextext" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-description" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowindextext" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onResize" | "onResizeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "onClose" | "variant" | "closeable" | "closed" | "closeButtonProps" | "icon" | "iconClassName">): ReactNode;
1051
+ } & MessageProps & Omit<ComponentPropsWithRef<As>, "slot" | "style" | "title" | "children" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "autoFocus" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "nonce" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "content" | "datatype" | "inlist" | "prefix" | "property" | "rel" | "resource" | "rev" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-braillelabel" | "aria-brailleroledescription" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colindextext" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-description" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowindextext" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onResize" | "onResizeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "onClose" | "closed" | "variant" | "closeable" | "closeButtonProps" | "icon" | "iconClassName">): ReactNode;
932
1052
  } & Pick<FC, "displayName"> & {
933
1053
  Title: typeof MessageTitle;
934
1054
  Description: typeof MessageDescription;
@@ -1094,7 +1214,7 @@ export declare const NavbarExpandableMenuTrigger: React_3.ForwardRefExoticCompon
1094
1214
  * Trigger
1095
1215
  *
1096
1216
  * ## TODO
1097
- * - [ ] Hide text when on mobile
1217
+ * - [x] Hide text when on mobile
1098
1218
  * - [X] Open / Close icon
1099
1219
  * - [X] Make button have consistant width
1100
1220
  */
@@ -1227,13 +1347,19 @@ declare interface ParagraphProps {
1227
1347
  variant?: "body" | "body-title" | "body-small" | "body-small-title" | "technical" | "technical-title" | "caption" | "caption-title";
1228
1348
  }
1229
1349
 
1230
- export declare const PlainCheckbox: Story_8;
1350
+ export declare const PlainCheckboxes: Story_8;
1351
+
1352
+ export declare const PlainCheckboxesWithError: Story_8;
1353
+
1354
+ export declare const PlainCheckboxeWithError: Story_8;
1231
1355
 
1232
1356
  export declare const PlainInput: Story_11;
1233
1357
 
1234
1358
  export declare const PlainInputWithError: Story_11;
1235
1359
 
1236
- export declare const PlainRadiobutton: Story_12;
1360
+ export declare const PlainRadiobuttons: Story_12;
1361
+
1362
+ export declare const PlainRadiobuttonsWithError: Story_12;
1237
1363
 
1238
1364
  export declare const PlainRadioGroup: Story_13;
1239
1365
 
@@ -1260,7 +1386,7 @@ export { PrimaryButton as PrimaryButton_alias_3 }
1260
1386
 
1261
1387
  export declare const PrimaryOutline: Story_5;
1262
1388
 
1263
- declare const Radiobutton: React_3.ForwardRefExoticComponent<RadiobuttonProps & React_3.RefAttributes<HTMLInputElement>>;
1389
+ declare const Radiobutton: ForwardRefExoticComponent<RadiobuttonProps & RefAttributes<HTMLInputElement>>;
1264
1390
  export { Radiobutton }
1265
1391
  export { Radiobutton as Radiobutton_alias_1 }
1266
1392
  export { Radiobutton as Radiobutton_alias_2 }
@@ -1268,7 +1394,16 @@ export { Radiobutton as Radiobutton_alias_3 }
1268
1394
  export { Radiobutton as Radiobutton_alias_4 }
1269
1395
 
1270
1396
  declare interface RadiobuttonProps extends Omit<InputHTMLAttributes<HTMLInputElement>, "defaultValue"> {
1397
+ children: ReactNode;
1271
1398
  variant?: "plain" | "bounding-box";
1399
+ /**
1400
+ * Set to `true` to add error styling. The component will take care of aria to indicate invalid state.
1401
+ *
1402
+ * Normally you don't need this, as you should wrap your Radiobuttons in the RadioGroup component.
1403
+ * When providing an errorMessage to RadioGroup, all contained Radiobuttons will get correct hasError state.
1404
+ *
1405
+ * You can use this when your Radiobutton is part of a non-HDS fieldset which shows an error message.
1406
+ */
1272
1407
  hasError?: boolean;
1273
1408
  title?: string;
1274
1409
  }
@@ -1290,13 +1425,14 @@ declare type RadioGroupContextProps = {
1290
1425
  } & Pick<RadioGroupProps, "name" | "value" | "onChange">;
1291
1426
 
1292
1427
  declare interface RadioGroupProps extends Omit<FieldsetProps, "onChange"> {
1428
+ children: ReactNode;
1293
1429
  /** Will be passed to all Radiobuttons within the radio group */
1294
1430
  name?: RadiobuttonProps["name"];
1295
1431
  /** If you want the group to be controlled, you can pass the selected value here */
1296
1432
  value?: RadiobuttonProps["value"];
1297
1433
  /**
1298
- * Error message is passed to the internal Fieldset,
1299
- * and also marks all radiobuttons as invalid
1434
+ * Error message is passed to the internal Fieldset, and will also give contained Radiobuttons
1435
+ * error styling and aria to indicate invalid state.
1300
1436
  */
1301
1437
  errorMessage?: ReactNode;
1302
1438
  /** Will be passed to all Radiobuttons within the radio group */
@@ -1670,11 +1806,10 @@ export { TabsContents as TabsContents_alias_1 }
1670
1806
  export { TabsContents as TabsContents_alias_2 }
1671
1807
  export { TabsContents as TabsContents_alias_3 }
1672
1808
 
1673
- export declare const TabsContext: Context<TabsContextProps>;
1809
+ export declare const TabsContext: Context<TabsContextProps | null>;
1674
1810
 
1675
1811
  export declare interface TabsContextProps {
1676
- mounted: boolean;
1677
- activeTabId?: string;
1812
+ activeTabId: string;
1678
1813
  toggleActiveTabId: (tabId: string) => void;
1679
1814
  }
1680
1815
 
@@ -1946,12 +2081,27 @@ export { UnorderedList as UnorderedList_alias_3 }
1946
2081
 
1947
2082
  export declare const UnorderedListStory: Story_19;
1948
2083
 
2084
+ declare const useFieldsetContext: () => {
2085
+ hasError: boolean;
2086
+ };
2087
+ export { useFieldsetContext }
2088
+ export { useFieldsetContext as useFieldsetContext_alias_1 }
2089
+ export { useFieldsetContext as useFieldsetContext_alias_2 }
2090
+ export { useFieldsetContext as useFieldsetContext_alias_3 }
2091
+ export { useFieldsetContext as useFieldsetContext_alias_4 }
2092
+
1949
2093
  /**
1950
2094
  * Merges an array of refs into a single memoized callback ref or `null`.
1951
2095
  * @see https://floating-ui.com/docs/useMergeRefs
1952
2096
  */
1953
2097
  export declare function useMergeRefs<Instance>(refs: (React_2.Ref<Instance> | undefined)[]): React_2.RefCallback<Instance> | null;
1954
2098
 
2099
+ declare const useNavbarExpendableMenuContext: () => readonly [boolean, () => void];
2100
+ export { useNavbarExpendableMenuContext }
2101
+ export { useNavbarExpendableMenuContext as useNavbarExpendableMenuContext_alias_1 }
2102
+ export { useNavbarExpendableMenuContext as useNavbarExpendableMenuContext_alias_2 }
2103
+ export { useNavbarExpendableMenuContext as useNavbarExpendableMenuContext_alias_3 }
2104
+
1955
2105
  declare const useRadioGroupContext: () => RadioGroupContextProps;
1956
2106
  export { useRadioGroupContext }
1957
2107
  export { useRadioGroupContext as useRadioGroupContext_alias_1 }
@@ -1970,6 +2120,8 @@ export { useScrollLock as useScrollLock_alias_1 }
1970
2120
  export { useScrollLock as useScrollLock_alias_2 }
1971
2121
  export { useScrollLock as useScrollLock_alias_3 }
1972
2122
 
2123
+ export declare function useTabsContext(): TabsContextProps;
2124
+
1973
2125
  declare type Variant = {
1974
2126
  variant?: "show-more";
1975
2127
  expanded?: never;
@@ -70,16 +70,12 @@ var AccordionContent = (0, import_react2.forwardRef)((_a, ref) => {
70
70
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
71
71
  Component,
72
72
  __spreadProps(__spreadValues({
73
- "aria-hidden": !context.open
73
+ "aria-hidden": !context.open,
74
+ "data-state": context.open ? "open" : "closed",
75
+ inert: context.open ? void 0 : "true",
76
+ className: (0, import_typed_classname.clsx)("hds-accordion-item-content", className),
77
+ ref
74
78
  }, rest), {
75
- className: (0, import_typed_classname.clsx)(
76
- "hds-accordion-item-content",
77
- {
78
- "hds-accordion-item-content--closed": !context.open
79
- },
80
- className
81
- ),
82
- ref,
83
79
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: (0, import_typed_classname.clsx)("hds-accordion-item-content-inner"), children })
84
80
  })
85
81
  );
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/accordion/accordion-content.tsx","../../src/accordion/context.ts"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from \"react\";\nimport { forwardRef, useContext } from \"react\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport type { OverridableComponent } from \"../utils\";\nimport { AccordionItemContext } from \"./context\";\n\nexport interface AccordionContentProps extends HTMLAttributes<HTMLDivElement> {\n children: ReactNode;\n}\n\nexport const AccordionContent: OverridableComponent<AccordionContentProps, HTMLDivElement> =\n forwardRef(({ as: Component = \"div\", children, className, ...rest }, ref) => {\n const context = useContext(AccordionItemContext);\n if (context === null) {\n return null;\n }\n return (\n <Component\n aria-hidden={!context.open}\n {...rest}\n className={clsx(\n \"hds-accordion-item-content\",\n {\n \"hds-accordion-item-content--closed\": !context.open,\n },\n className as undefined,\n )}\n ref={ref}\n >\n <div className={clsx(\"hds-accordion-item-content-inner\")}>{children}</div>\n </Component>\n );\n });\n\nAccordionContent.displayName = \"Accordion.Content\";\n","import { createContext } from \"react\";\n\nexport interface AccordionItemContextProps {\n open: boolean;\n setOpen: (open: boolean) => void;\n}\n\nexport const AccordionItemContext = createContext<AccordionItemContextProps | null>(null);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,IAAAA,gBAAuC;AACvC,6BAAqB;;;ACFrB,mBAA8B;AAOvB,IAAM,2BAAuB,4BAAgD,IAAI;;;ADsBhF;AAnBD,IAAM,uBACX,0BAAW,CAAC,IAAyD,QAAQ;AAAjE,eAAE,MAAI,YAAY,OAAO,UAAU,UAXjD,IAWc,IAAiD,iBAAjD,IAAiD,CAA/C,MAAuB,YAAU;AAC7C,QAAM,cAAU,0BAAW,oBAAoB;AAC/C,MAAI,YAAY,MAAM;AACpB,WAAO;AAAA,EACT;AACA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,eAAa,CAAC,QAAQ;AAAA,OAClB,OAFL;AAAA,MAGC,eAAW;AAAA,QACT;AAAA,QACA;AAAA,UACE,sCAAsC,CAAC,QAAQ;AAAA,QACjD;AAAA,QACA;AAAA,MACF;AAAA,MACA;AAAA,MAEA,sDAAC,SAAI,eAAW,6BAAK,kCAAkC,GAAI,UAAS;AAAA;AAAA,EACtE;AAEJ,CAAC;AAEH,iBAAiB,cAAc;","names":["import_react"]}
1
+ {"version":3,"sources":["../../src/accordion/accordion-content.tsx","../../src/accordion/context.ts"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from \"react\";\nimport { forwardRef, useContext } from \"react\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport type { OverridableComponent } from \"../utils\";\nimport { AccordionItemContext } from \"./context\";\n\nexport interface AccordionContentProps extends HTMLAttributes<HTMLDivElement> {\n children: ReactNode;\n}\n\nexport const AccordionContent: OverridableComponent<AccordionContentProps, HTMLDivElement> =\n forwardRef(({ as: Component = \"div\", children, className, ...rest }, ref) => {\n const context = useContext(AccordionItemContext);\n if (context === null) {\n return null;\n }\n return (\n <Component\n aria-hidden={!context.open}\n data-state={context.open ? \"open\" : \"closed\"}\n inert={context.open ? undefined : \"true\"}\n className={clsx(\"hds-accordion-item-content\", className as undefined)}\n ref={ref}\n {...rest}\n >\n <div className={clsx(\"hds-accordion-item-content-inner\")}>{children}</div>\n </Component>\n );\n });\n\nAccordionContent.displayName = \"Accordion.Content\";\n","import { createContext } from \"react\";\n\nexport interface AccordionItemContextProps {\n open: boolean;\n setOpen: (open: boolean) => void;\n}\n\nexport const AccordionItemContext = createContext<AccordionItemContextProps | null>(null);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,IAAAA,gBAAuC;AACvC,6BAAqB;;;ACFrB,mBAA8B;AAOvB,IAAM,2BAAuB,4BAAgD,IAAI;;;ADkBhF;AAfD,IAAM,uBACX,0BAAW,CAAC,IAAyD,QAAQ;AAAjE,eAAE,MAAI,YAAY,OAAO,UAAU,UAXjD,IAWc,IAAiD,iBAAjD,IAAiD,CAA/C,MAAuB,YAAU;AAC7C,QAAM,cAAU,0BAAW,oBAAoB;AAC/C,MAAI,YAAY,MAAM;AACpB,WAAO;AAAA,EACT;AACA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,eAAa,CAAC,QAAQ;AAAA,MACtB,cAAY,QAAQ,OAAO,SAAS;AAAA,MACpC,OAAO,QAAQ,OAAO,SAAY;AAAA,MAClC,eAAW,6BAAK,8BAA8B,SAAsB;AAAA,MACpE;AAAA,OACI,OANL;AAAA,MAQC,sDAAC,SAAI,eAAW,6BAAK,kCAAkC,GAAI,UAAS;AAAA;AAAA,EACtE;AAEJ,CAAC;AAEH,iBAAiB,cAAc;","names":["import_react"]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  AccordionContent
3
- } from "../chunk-KRGKVH5J.mjs";
3
+ } from "../chunk-GUB3UCXO.mjs";
4
4
  import "../chunk-V3PAFMK5.mjs";
5
5
  import "../chunk-R4SQKVDQ.mjs";
6
6
  export {
@@ -63,23 +63,20 @@ var AccordionItemContext = (0, import_react.createContext)(null);
63
63
  var import_jsx_runtime = require("react/jsx-runtime");
64
64
  var AccordionHeader = (0, import_react2.forwardRef)((_a, ref) => {
65
65
  var _b = _a, { as: Component = "button", children, className, onClick } = _b, rest = __objRest(_b, ["as", "children", "className", "onClick"]);
66
- const itemContext = (0, import_react2.useContext)(AccordionItemContext);
67
- if (itemContext === null) {
66
+ const context = (0, import_react2.useContext)(AccordionItemContext);
67
+ if (context === null) {
68
68
  return null;
69
69
  }
70
70
  const expandOrCollapse = (e) => {
71
- itemContext.setOpen(!itemContext.open);
71
+ context.setOpen(!context.open);
72
72
  onClick && onClick(e);
73
73
  };
74
74
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
75
75
  Component,
76
76
  __spreadProps(__spreadValues({}, rest), {
77
- "aria-expanded": itemContext.open,
78
- className: (0, import_typed_classname.clsx)(
79
- "hds-accordion-item-header",
80
- { "hds-accordion-item-header--open": itemContext.open },
81
- className
82
- ),
77
+ "aria-expanded": context.open,
78
+ "data-state": context.open ? "open" : "closed",
79
+ className: (0, import_typed_classname.clsx)("hds-accordion-item-header", className),
83
80
  onClick: expandOrCollapse,
84
81
  ref,
85
82
  type: "button",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/accordion/accordion-header.tsx","../../src/accordion/context.ts"],"sourcesContent":["import type { ButtonHTMLAttributes, MouseEvent, ReactNode } from \"react\";\nimport { forwardRef, useContext } from \"react\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport type { OverridableComponent } from \"../utils\";\nimport { AccordionItemContext } from \"./context\";\n\nexport interface AccordionHeaderProps extends ButtonHTMLAttributes<HTMLButtonElement> {\n children: ReactNode;\n}\n\nexport const AccordionHeader: OverridableComponent<AccordionHeaderProps, HTMLButtonElement> =\n forwardRef(({ as: Component = \"button\", children, className, onClick, ...rest }, ref) => {\n const itemContext = useContext(AccordionItemContext);\n if (itemContext === null) {\n return null;\n }\n const expandOrCollapse = (e: MouseEvent<HTMLButtonElement>) => {\n itemContext.setOpen(!itemContext.open);\n onClick && onClick(e);\n };\n return (\n <Component\n {...rest}\n aria-expanded={itemContext.open}\n className={clsx(\n \"hds-accordion-item-header\",\n { \"hds-accordion-item-header--open\": itemContext.open },\n className as undefined,\n )}\n onClick={expandOrCollapse}\n ref={ref}\n type=\"button\"\n >\n <span>{children}</span>\n </Component>\n );\n });\n\nAccordionHeader.displayName = \"Accordion.Header\";\n","import { createContext } from \"react\";\n\nexport interface AccordionItemContextProps {\n open: boolean;\n setOpen: (open: boolean) => void;\n}\n\nexport const AccordionItemContext = createContext<AccordionItemContextProps | null>(null);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,IAAAA,gBAAuC;AACvC,6BAAqB;;;ACFrB,mBAA8B;AAOvB,IAAM,2BAAuB,4BAAgD,IAAI;;;AD0BhF;AAvBD,IAAM,sBACX,0BAAW,CAAC,IAAqE,QAAQ;AAA7E,eAAE,MAAI,YAAY,UAAU,UAAU,WAAW,QAX/D,IAWc,IAA6D,iBAA7D,IAA6D,CAA3D,MAA0B,YAAU,aAAW;AAC3D,QAAM,kBAAc,0BAAW,oBAAoB;AACnD,MAAI,gBAAgB,MAAM;AACxB,WAAO;AAAA,EACT;AACA,QAAM,mBAAmB,CAAC,MAAqC;AAC7D,gBAAY,QAAQ,CAAC,YAAY,IAAI;AACrC,eAAW,QAAQ,CAAC;AAAA,EACtB;AACA,SACE;AAAA,IAAC;AAAA,qCACK,OADL;AAAA,MAEC,iBAAe,YAAY;AAAA,MAC3B,eAAW;AAAA,QACT;AAAA,QACA,EAAE,mCAAmC,YAAY,KAAK;AAAA,QACtD;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT;AAAA,MACA,MAAK;AAAA,MAEL,sDAAC,UAAM,UAAS;AAAA;AAAA,EAClB;AAEJ,CAAC;AAEH,gBAAgB,cAAc;","names":["import_react"]}
1
+ {"version":3,"sources":["../../src/accordion/accordion-header.tsx","../../src/accordion/context.ts"],"sourcesContent":["import type { ButtonHTMLAttributes, MouseEvent, ReactNode } from \"react\";\nimport { forwardRef, useContext } from \"react\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport type { OverridableComponent } from \"../utils\";\nimport { AccordionItemContext } from \"./context\";\n\nexport interface AccordionHeaderProps extends ButtonHTMLAttributes<HTMLButtonElement> {\n children: ReactNode;\n}\n\nexport const AccordionHeader: OverridableComponent<AccordionHeaderProps, HTMLButtonElement> =\n forwardRef(({ as: Component = \"button\", children, className, onClick, ...rest }, ref) => {\n const context = useContext(AccordionItemContext);\n if (context === null) {\n return null;\n }\n const expandOrCollapse = (e: MouseEvent<HTMLButtonElement>) => {\n context.setOpen(!context.open);\n onClick && onClick(e);\n };\n return (\n <Component\n {...rest}\n aria-expanded={context.open}\n data-state={context.open ? \"open\" : \"closed\"}\n className={clsx(\"hds-accordion-item-header\", className as undefined)}\n onClick={expandOrCollapse}\n ref={ref}\n type=\"button\"\n >\n <span>{children}</span>\n </Component>\n );\n });\n\nAccordionHeader.displayName = \"Accordion.Header\";\n","import { createContext } from \"react\";\n\nexport interface AccordionItemContextProps {\n open: boolean;\n setOpen: (open: boolean) => void;\n}\n\nexport const AccordionItemContext = createContext<AccordionItemContextProps | null>(null);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,IAAAA,gBAAuC;AACvC,6BAAqB;;;ACFrB,mBAA8B;AAOvB,IAAM,2BAAuB,4BAAgD,IAAI;;;ADuBhF;AApBD,IAAM,sBACX,0BAAW,CAAC,IAAqE,QAAQ;AAA7E,eAAE,MAAI,YAAY,UAAU,UAAU,WAAW,QAX/D,IAWc,IAA6D,iBAA7D,IAA6D,CAA3D,MAA0B,YAAU,aAAW;AAC3D,QAAM,cAAU,0BAAW,oBAAoB;AAC/C,MAAI,YAAY,MAAM;AACpB,WAAO;AAAA,EACT;AACA,QAAM,mBAAmB,CAAC,MAAqC;AAC7D,YAAQ,QAAQ,CAAC,QAAQ,IAAI;AAC7B,eAAW,QAAQ,CAAC;AAAA,EACtB;AACA,SACE;AAAA,IAAC;AAAA,qCACK,OADL;AAAA,MAEC,iBAAe,QAAQ;AAAA,MACvB,cAAY,QAAQ,OAAO,SAAS;AAAA,MACpC,eAAW,6BAAK,6BAA6B,SAAsB;AAAA,MACnE,SAAS;AAAA,MACT;AAAA,MACA,MAAK;AAAA,MAEL,sDAAC,UAAM,UAAS;AAAA;AAAA,EAClB;AAEJ,CAAC;AAEH,gBAAgB,cAAc;","names":["import_react"]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  AccordionHeader
3
- } from "../chunk-FT5CX2W5.mjs";
3
+ } from "../chunk-YXHXRUFX.mjs";
4
4
  import "../chunk-V3PAFMK5.mjs";
5
5
  import "../chunk-R4SQKVDQ.mjs";
6
6
  export {
@@ -90,13 +90,8 @@ var AccordionItem = (0, import_react2.forwardRef)(
90
90
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
91
91
  Component,
92
92
  __spreadProps(__spreadValues({}, rest), {
93
- className: (0, import_typed_classname.clsx)(
94
- "hds-accordion-item",
95
- {
96
- "hds-accordion-item__expanded": open
97
- },
98
- className
99
- ),
93
+ "data-state": open ? "open" : "closed",
94
+ className: (0, import_typed_classname.clsx)("hds-accordion-item", className),
100
95
  ref,
101
96
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(AccordionItemContext.Provider, { value: { open, setOpen: handleOpen }, children })
102
97
  })
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/accordion/accordion-item.tsx","../../src/accordion/context.ts"],"sourcesContent":["import type { HTMLAttributes, ReactElement } from \"react\";\nimport { forwardRef, useState } from \"react\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport type { OverridableComponent } from \"../utils\";\nimport { AccordionItemContext } from \"./context\";\nimport type { AccordionHeaderProps } from \"./accordion-header\";\nimport type { AccordionContentProps } from \"./accordion-content\";\n\nexport type AccordionItemChildrenType =\n | ReactElement<AccordionHeaderProps>\n | ReactElement<AccordionContentProps>;\n\nexport interface AccordionItemProps extends HTMLAttributes<HTMLDivElement> {\n /**\n * Control the open state of the accordion manually\n */\n open?: boolean;\n\n /**\n * Use with open to control the open state of the accordion manually\n */\n onOpenChange?: (open: boolean) => void;\n\n /**\n * If the accordion should be open by default\n */\n defaultOpen?: boolean;\n\n /**\n * Accepts type of Accordion.Content and Accordion.Header\n */\n children: AccordionItemChildrenType[];\n}\n\nexport const AccordionItem: OverridableComponent<AccordionItemProps, HTMLDivElement> = forwardRef(\n (\n {\n as: Component = \"div\",\n children,\n defaultOpen,\n open: outerOpen,\n onOpenChange,\n className,\n ...rest\n },\n ref,\n ) => {\n const [innerOpen, setInnerOpen] = useState(defaultOpen ?? false);\n const open = outerOpen ?? innerOpen;\n\n const handleOpen = () => {\n if (outerOpen !== undefined) {\n onOpenChange && onOpenChange(!open);\n } else {\n setInnerOpen(!open);\n }\n };\n\n return (\n <Component\n {...rest}\n className={clsx(\n \"hds-accordion-item\",\n {\n \"hds-accordion-item__expanded\": open,\n },\n className as undefined,\n )}\n ref={ref}\n >\n <AccordionItemContext.Provider value={{ open, setOpen: handleOpen }}>\n {children}\n </AccordionItemContext.Provider>\n </Component>\n );\n },\n);\n\nAccordionItem.displayName = \"Accordion.Item\";\n","import { createContext } from \"react\";\n\nexport interface AccordionItemContextProps {\n open: boolean;\n setOpen: (open: boolean) => void;\n}\n\nexport const AccordionItemContext = createContext<AccordionItemContextProps | null>(null);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,IAAAA,gBAAqC;AACrC,6BAAqB;;;ACFrB,mBAA8B;AAOvB,IAAM,2BAAuB,4BAAgD,IAAI;;;AD+DhF;AApCD,IAAM,oBAA0E;AAAA,EACrF,CACE,IASA,QACG;AAVH,iBACE;AAAA,UAAI,YAAY;AAAA,MAChB;AAAA,MACA;AAAA,MACA,MAAM;AAAA,MACN;AAAA,MACA;AAAA,IA1CN,IAoCI,IAOK,iBAPL,IAOK;AAAA,MANH;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAKF,UAAM,CAAC,WAAW,YAAY,QAAI,wBAAS,oCAAe,KAAK;AAC/D,UAAM,OAAO,gCAAa;AAE1B,UAAM,aAAa,MAAM;AACvB,UAAI,cAAc,QAAW;AAC3B,wBAAgB,aAAa,CAAC,IAAI;AAAA,MACpC,OAAO;AACL,qBAAa,CAAC,IAAI;AAAA,MACpB;AAAA,IACF;AAEA,WACE;AAAA,MAAC;AAAA,uCACK,OADL;AAAA,QAEC,eAAW;AAAA,UACT;AAAA,UACA;AAAA,YACE,gCAAgC;AAAA,UAClC;AAAA,UACA;AAAA,QACF;AAAA,QACA;AAAA,QAEA,sDAAC,qBAAqB,UAArB,EAA8B,OAAO,EAAE,MAAM,SAAS,WAAW,GAC/D,UACH;AAAA;AAAA,IACF;AAAA,EAEJ;AACF;AAEA,cAAc,cAAc;","names":["import_react"]}
1
+ {"version":3,"sources":["../../src/accordion/accordion-item.tsx","../../src/accordion/context.ts"],"sourcesContent":["import type { HTMLAttributes, ReactElement } from \"react\";\nimport { forwardRef, useState } from \"react\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport type { OverridableComponent } from \"../utils\";\nimport { AccordionItemContext } from \"./context\";\nimport type { AccordionHeaderProps } from \"./accordion-header\";\nimport type { AccordionContentProps } from \"./accordion-content\";\n\nexport type AccordionItemChildrenType =\n | ReactElement<AccordionHeaderProps>\n | ReactElement<AccordionContentProps>;\n\nexport interface AccordionItemProps extends HTMLAttributes<HTMLDivElement> {\n /**\n * Control the open state of the accordion manually\n */\n open?: boolean;\n\n /**\n * Use with open to control the open state of the accordion manually\n */\n onOpenChange?: (open: boolean) => void;\n\n /**\n * If the accordion should be open by default\n */\n defaultOpen?: boolean;\n\n /**\n * Accepts type of Accordion.Content and Accordion.Header\n */\n children: AccordionItemChildrenType[];\n}\n\nexport const AccordionItem: OverridableComponent<AccordionItemProps, HTMLDivElement> = forwardRef(\n (\n {\n as: Component = \"div\",\n children,\n defaultOpen,\n open: outerOpen,\n onOpenChange,\n className,\n ...rest\n },\n ref,\n ) => {\n const [innerOpen, setInnerOpen] = useState(defaultOpen ?? false);\n const open = outerOpen ?? innerOpen;\n\n const handleOpen = () => {\n if (outerOpen !== undefined) {\n onOpenChange && onOpenChange(!open);\n } else {\n setInnerOpen(!open);\n }\n };\n\n return (\n <Component\n {...rest}\n data-state={open ? \"open\" : \"closed\"}\n className={clsx(\"hds-accordion-item\", className as undefined)}\n ref={ref}\n >\n <AccordionItemContext.Provider value={{ open, setOpen: handleOpen }}>\n {children}\n </AccordionItemContext.Provider>\n </Component>\n );\n },\n);\n\nAccordionItem.displayName = \"Accordion.Item\";\n","import { createContext } from \"react\";\n\nexport interface AccordionItemContextProps {\n open: boolean;\n setOpen: (open: boolean) => void;\n}\n\nexport const AccordionItemContext = createContext<AccordionItemContextProps | null>(null);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,IAAAA,gBAAqC;AACrC,6BAAqB;;;ACFrB,mBAA8B;AAOvB,IAAM,2BAAuB,4BAAgD,IAAI;;;AD0DhF;AA/BD,IAAM,oBAA0E;AAAA,EACrF,CACE,IASA,QACG;AAVH,iBACE;AAAA,UAAI,YAAY;AAAA,MAChB;AAAA,MACA;AAAA,MACA,MAAM;AAAA,MACN;AAAA,MACA;AAAA,IA1CN,IAoCI,IAOK,iBAPL,IAOK;AAAA,MANH;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAKF,UAAM,CAAC,WAAW,YAAY,QAAI,wBAAS,oCAAe,KAAK;AAC/D,UAAM,OAAO,gCAAa;AAE1B,UAAM,aAAa,MAAM;AACvB,UAAI,cAAc,QAAW;AAC3B,wBAAgB,aAAa,CAAC,IAAI;AAAA,MACpC,OAAO;AACL,qBAAa,CAAC,IAAI;AAAA,MACpB;AAAA,IACF;AAEA,WACE;AAAA,MAAC;AAAA,uCACK,OADL;AAAA,QAEC,cAAY,OAAO,SAAS;AAAA,QAC5B,eAAW,6BAAK,sBAAsB,SAAsB;AAAA,QAC5D;AAAA,QAEA,sDAAC,qBAAqB,UAArB,EAA8B,OAAO,EAAE,MAAM,SAAS,WAAW,GAC/D,UACH;AAAA;AAAA,IACF;AAAA,EAEJ;AACF;AAEA,cAAc,cAAc;","names":["import_react"]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  AccordionItem
3
- } from "../chunk-SAGJ5W7M.mjs";
3
+ } from "../chunk-62F4I3MQ.mjs";
4
4
  import "../chunk-V3PAFMK5.mjs";
5
5
  import "../chunk-R4SQKVDQ.mjs";
6
6
  export {
@@ -115,13 +115,8 @@ var AccordionItem = (0, import_react3.forwardRef)(
115
115
  return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
116
116
  Component,
117
117
  __spreadProps(__spreadValues({}, rest), {
118
- className: (0, import_typed_classname2.clsx)(
119
- "hds-accordion-item",
120
- {
121
- "hds-accordion-item__expanded": open
122
- },
123
- className
124
- ),
118
+ "data-state": open ? "open" : "closed",
119
+ className: (0, import_typed_classname2.clsx)("hds-accordion-item", className),
125
120
  ref,
126
121
  children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(AccordionItemContext.Provider, { value: { open, setOpen: handleOpen }, children })
127
122
  })
@@ -136,23 +131,20 @@ var import_typed_classname3 = require("@postenbring/hedwig-css/typed-classname")
136
131
  var import_jsx_runtime3 = require("react/jsx-runtime");
137
132
  var AccordionHeader = (0, import_react4.forwardRef)((_a, ref) => {
138
133
  var _b = _a, { as: Component = "button", children, className, onClick } = _b, rest = __objRest(_b, ["as", "children", "className", "onClick"]);
139
- const itemContext = (0, import_react4.useContext)(AccordionItemContext);
140
- if (itemContext === null) {
134
+ const context = (0, import_react4.useContext)(AccordionItemContext);
135
+ if (context === null) {
141
136
  return null;
142
137
  }
143
138
  const expandOrCollapse = (e) => {
144
- itemContext.setOpen(!itemContext.open);
139
+ context.setOpen(!context.open);
145
140
  onClick && onClick(e);
146
141
  };
147
142
  return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
148
143
  Component,
149
144
  __spreadProps(__spreadValues({}, rest), {
150
- "aria-expanded": itemContext.open,
151
- className: (0, import_typed_classname3.clsx)(
152
- "hds-accordion-item-header",
153
- { "hds-accordion-item-header--open": itemContext.open },
154
- className
155
- ),
145
+ "aria-expanded": context.open,
146
+ "data-state": context.open ? "open" : "closed",
147
+ className: (0, import_typed_classname3.clsx)("hds-accordion-item-header", className),
156
148
  onClick: expandOrCollapse,
157
149
  ref,
158
150
  type: "button",
@@ -175,16 +167,12 @@ var AccordionContent = (0, import_react5.forwardRef)((_a, ref) => {
175
167
  return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
176
168
  Component,
177
169
  __spreadProps(__spreadValues({
178
- "aria-hidden": !context.open
170
+ "aria-hidden": !context.open,
171
+ "data-state": context.open ? "open" : "closed",
172
+ inert: context.open ? void 0 : "true",
173
+ className: (0, import_typed_classname4.clsx)("hds-accordion-item-content", className),
174
+ ref
179
175
  }, rest), {
180
- className: (0, import_typed_classname4.clsx)(
181
- "hds-accordion-item-content",
182
- {
183
- "hds-accordion-item-content--closed": !context.open
184
- },
185
- className
186
- ),
187
- ref,
188
176
  children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: (0, import_typed_classname4.clsx)("hds-accordion-item-content-inner"), children })
189
177
  })
190
178
  );
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/accordion/index.tsx","../../src/accordion/accordion.tsx","../../src/accordion/accordion-item.tsx","../../src/accordion/context.ts","../../src/accordion/accordion-header.tsx","../../src/accordion/accordion-content.tsx"],"sourcesContent":["import { Accordion } from \"./accordion\";\nimport { AccordionItem } from \"./accordion-item\";\nimport { AccordionHeader } from \"./accordion-header\";\nimport { AccordionContent } from \"./accordion-content\";\n\nconst AccordionComponent = Accordion as typeof Accordion & {\n Item: typeof AccordionItem;\n Header: typeof AccordionHeader;\n Content: typeof AccordionContent;\n};\n\nAccordionComponent.Item = AccordionItem;\nAccordionComponent.Header = AccordionHeader;\nAccordionComponent.Content = AccordionContent;\n\nexport { AccordionComponent as Accordion };\n\nexport type * from \"./accordion\";\nexport type * from \"./accordion-item\";\nexport type * from \"./accordion-header\";\nexport type * from \"./accordion-content\";\n","import type { HTMLAttributes, ReactElement } from \"react\";\nimport { forwardRef } from \"react\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport type { OverridableComponent } from \"../utils\";\nimport type { AccordionItemProps } from \"./accordion-item\";\n\nexport interface AccordionProps extends HTMLAttributes<HTMLDivElement> {\n /**\n * Accepts type of <AccordionItem/>\n */\n children: ReactElement<AccordionItemProps> | ReactElement<AccordionItemProps>[];\n\n /**\n * Adds padding to the left of the accordion\n */\n indent?: boolean;\n\n className?: string;\n}\n\nexport const Accordion: OverridableComponent<AccordionProps, HTMLDivElement> = forwardRef(\n ({ as: Component = \"div\", children, className, indent = true, ...rest }, ref) => {\n return (\n <Component\n {...rest}\n className={clsx(\n \"hds-accordion\",\n !indent && \"hds-accordion--no-indent\",\n className as undefined,\n )}\n ref={ref}\n >\n {children}\n </Component>\n );\n },\n);\n\nAccordion.displayName = \"Accordion\";\n","import type { HTMLAttributes, ReactElement } from \"react\";\nimport { forwardRef, useState } from \"react\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport type { OverridableComponent } from \"../utils\";\nimport { AccordionItemContext } from \"./context\";\nimport type { AccordionHeaderProps } from \"./accordion-header\";\nimport type { AccordionContentProps } from \"./accordion-content\";\n\nexport type AccordionItemChildrenType =\n | ReactElement<AccordionHeaderProps>\n | ReactElement<AccordionContentProps>;\n\nexport interface AccordionItemProps extends HTMLAttributes<HTMLDivElement> {\n /**\n * Control the open state of the accordion manually\n */\n open?: boolean;\n\n /**\n * Use with open to control the open state of the accordion manually\n */\n onOpenChange?: (open: boolean) => void;\n\n /**\n * If the accordion should be open by default\n */\n defaultOpen?: boolean;\n\n /**\n * Accepts type of Accordion.Content and Accordion.Header\n */\n children: AccordionItemChildrenType[];\n}\n\nexport const AccordionItem: OverridableComponent<AccordionItemProps, HTMLDivElement> = forwardRef(\n (\n {\n as: Component = \"div\",\n children,\n defaultOpen,\n open: outerOpen,\n onOpenChange,\n className,\n ...rest\n },\n ref,\n ) => {\n const [innerOpen, setInnerOpen] = useState(defaultOpen ?? false);\n const open = outerOpen ?? innerOpen;\n\n const handleOpen = () => {\n if (outerOpen !== undefined) {\n onOpenChange && onOpenChange(!open);\n } else {\n setInnerOpen(!open);\n }\n };\n\n return (\n <Component\n {...rest}\n className={clsx(\n \"hds-accordion-item\",\n {\n \"hds-accordion-item__expanded\": open,\n },\n className as undefined,\n )}\n ref={ref}\n >\n <AccordionItemContext.Provider value={{ open, setOpen: handleOpen }}>\n {children}\n </AccordionItemContext.Provider>\n </Component>\n );\n },\n);\n\nAccordionItem.displayName = \"Accordion.Item\";\n","import { createContext } from \"react\";\n\nexport interface AccordionItemContextProps {\n open: boolean;\n setOpen: (open: boolean) => void;\n}\n\nexport const AccordionItemContext = createContext<AccordionItemContextProps | null>(null);\n","import type { ButtonHTMLAttributes, MouseEvent, ReactNode } from \"react\";\nimport { forwardRef, useContext } from \"react\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport type { OverridableComponent } from \"../utils\";\nimport { AccordionItemContext } from \"./context\";\n\nexport interface AccordionHeaderProps extends ButtonHTMLAttributes<HTMLButtonElement> {\n children: ReactNode;\n}\n\nexport const AccordionHeader: OverridableComponent<AccordionHeaderProps, HTMLButtonElement> =\n forwardRef(({ as: Component = \"button\", children, className, onClick, ...rest }, ref) => {\n const itemContext = useContext(AccordionItemContext);\n if (itemContext === null) {\n return null;\n }\n const expandOrCollapse = (e: MouseEvent<HTMLButtonElement>) => {\n itemContext.setOpen(!itemContext.open);\n onClick && onClick(e);\n };\n return (\n <Component\n {...rest}\n aria-expanded={itemContext.open}\n className={clsx(\n \"hds-accordion-item-header\",\n { \"hds-accordion-item-header--open\": itemContext.open },\n className as undefined,\n )}\n onClick={expandOrCollapse}\n ref={ref}\n type=\"button\"\n >\n <span>{children}</span>\n </Component>\n );\n });\n\nAccordionHeader.displayName = \"Accordion.Header\";\n","import type { HTMLAttributes, ReactNode } from \"react\";\nimport { forwardRef, useContext } from \"react\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport type { OverridableComponent } from \"../utils\";\nimport { AccordionItemContext } from \"./context\";\n\nexport interface AccordionContentProps extends HTMLAttributes<HTMLDivElement> {\n children: ReactNode;\n}\n\nexport const AccordionContent: OverridableComponent<AccordionContentProps, HTMLDivElement> =\n forwardRef(({ as: Component = \"div\", children, className, ...rest }, ref) => {\n const context = useContext(AccordionItemContext);\n if (context === null) {\n return null;\n }\n return (\n <Component\n aria-hidden={!context.open}\n {...rest}\n className={clsx(\n \"hds-accordion-item-content\",\n {\n \"hds-accordion-item-content--closed\": !context.open,\n },\n className as undefined,\n )}\n ref={ref}\n >\n <div className={clsx(\"hds-accordion-item-content-inner\")}>{children}</div>\n </Component>\n );\n });\n\nAccordionContent.displayName = \"Accordion.Content\";\n"],"mappings":"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","names":["import_react","import_typed_classname","import_react","import_jsx_runtime","import_react","import_typed_classname","import_jsx_runtime","import_react","import_typed_classname","import_jsx_runtime"]}
1
+ {"version":3,"sources":["../../src/accordion/index.tsx","../../src/accordion/accordion.tsx","../../src/accordion/accordion-item.tsx","../../src/accordion/context.ts","../../src/accordion/accordion-header.tsx","../../src/accordion/accordion-content.tsx"],"sourcesContent":["import { Accordion } from \"./accordion\";\nimport { AccordionItem } from \"./accordion-item\";\nimport { AccordionHeader } from \"./accordion-header\";\nimport { AccordionContent } from \"./accordion-content\";\n\nconst AccordionComponent = Accordion as typeof Accordion & {\n Item: typeof AccordionItem;\n Header: typeof AccordionHeader;\n Content: typeof AccordionContent;\n};\n\nAccordionComponent.Item = AccordionItem;\nAccordionComponent.Header = AccordionHeader;\nAccordionComponent.Content = AccordionContent;\n\nexport { AccordionComponent as Accordion };\n\nexport type * from \"./accordion\";\nexport type * from \"./accordion-item\";\nexport type * from \"./accordion-header\";\nexport type * from \"./accordion-content\";\n","import type { HTMLAttributes, ReactElement } from \"react\";\nimport { forwardRef } from \"react\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport type { OverridableComponent } from \"../utils\";\nimport type { AccordionItemProps } from \"./accordion-item\";\n\nexport interface AccordionProps extends HTMLAttributes<HTMLDivElement> {\n /**\n * Accepts type of <AccordionItem/>\n */\n children: ReactElement<AccordionItemProps> | ReactElement<AccordionItemProps>[];\n\n /**\n * Adds padding to the left of the accordion\n */\n indent?: boolean;\n\n className?: string;\n}\n\nexport const Accordion: OverridableComponent<AccordionProps, HTMLDivElement> = forwardRef(\n ({ as: Component = \"div\", children, className, indent = true, ...rest }, ref) => {\n return (\n <Component\n {...rest}\n className={clsx(\n \"hds-accordion\",\n !indent && \"hds-accordion--no-indent\",\n className as undefined,\n )}\n ref={ref}\n >\n {children}\n </Component>\n );\n },\n);\n\nAccordion.displayName = \"Accordion\";\n","import type { HTMLAttributes, ReactElement } from \"react\";\nimport { forwardRef, useState } from \"react\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport type { OverridableComponent } from \"../utils\";\nimport { AccordionItemContext } from \"./context\";\nimport type { AccordionHeaderProps } from \"./accordion-header\";\nimport type { AccordionContentProps } from \"./accordion-content\";\n\nexport type AccordionItemChildrenType =\n | ReactElement<AccordionHeaderProps>\n | ReactElement<AccordionContentProps>;\n\nexport interface AccordionItemProps extends HTMLAttributes<HTMLDivElement> {\n /**\n * Control the open state of the accordion manually\n */\n open?: boolean;\n\n /**\n * Use with open to control the open state of the accordion manually\n */\n onOpenChange?: (open: boolean) => void;\n\n /**\n * If the accordion should be open by default\n */\n defaultOpen?: boolean;\n\n /**\n * Accepts type of Accordion.Content and Accordion.Header\n */\n children: AccordionItemChildrenType[];\n}\n\nexport const AccordionItem: OverridableComponent<AccordionItemProps, HTMLDivElement> = forwardRef(\n (\n {\n as: Component = \"div\",\n children,\n defaultOpen,\n open: outerOpen,\n onOpenChange,\n className,\n ...rest\n },\n ref,\n ) => {\n const [innerOpen, setInnerOpen] = useState(defaultOpen ?? false);\n const open = outerOpen ?? innerOpen;\n\n const handleOpen = () => {\n if (outerOpen !== undefined) {\n onOpenChange && onOpenChange(!open);\n } else {\n setInnerOpen(!open);\n }\n };\n\n return (\n <Component\n {...rest}\n data-state={open ? \"open\" : \"closed\"}\n className={clsx(\"hds-accordion-item\", className as undefined)}\n ref={ref}\n >\n <AccordionItemContext.Provider value={{ open, setOpen: handleOpen }}>\n {children}\n </AccordionItemContext.Provider>\n </Component>\n );\n },\n);\n\nAccordionItem.displayName = \"Accordion.Item\";\n","import { createContext } from \"react\";\n\nexport interface AccordionItemContextProps {\n open: boolean;\n setOpen: (open: boolean) => void;\n}\n\nexport const AccordionItemContext = createContext<AccordionItemContextProps | null>(null);\n","import type { ButtonHTMLAttributes, MouseEvent, ReactNode } from \"react\";\nimport { forwardRef, useContext } from \"react\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport type { OverridableComponent } from \"../utils\";\nimport { AccordionItemContext } from \"./context\";\n\nexport interface AccordionHeaderProps extends ButtonHTMLAttributes<HTMLButtonElement> {\n children: ReactNode;\n}\n\nexport const AccordionHeader: OverridableComponent<AccordionHeaderProps, HTMLButtonElement> =\n forwardRef(({ as: Component = \"button\", children, className, onClick, ...rest }, ref) => {\n const context = useContext(AccordionItemContext);\n if (context === null) {\n return null;\n }\n const expandOrCollapse = (e: MouseEvent<HTMLButtonElement>) => {\n context.setOpen(!context.open);\n onClick && onClick(e);\n };\n return (\n <Component\n {...rest}\n aria-expanded={context.open}\n data-state={context.open ? \"open\" : \"closed\"}\n className={clsx(\"hds-accordion-item-header\", className as undefined)}\n onClick={expandOrCollapse}\n ref={ref}\n type=\"button\"\n >\n <span>{children}</span>\n </Component>\n );\n });\n\nAccordionHeader.displayName = \"Accordion.Header\";\n","import type { HTMLAttributes, ReactNode } from \"react\";\nimport { forwardRef, useContext } from \"react\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport type { OverridableComponent } from \"../utils\";\nimport { AccordionItemContext } from \"./context\";\n\nexport interface AccordionContentProps extends HTMLAttributes<HTMLDivElement> {\n children: ReactNode;\n}\n\nexport const AccordionContent: OverridableComponent<AccordionContentProps, HTMLDivElement> =\n forwardRef(({ as: Component = \"div\", children, className, ...rest }, ref) => {\n const context = useContext(AccordionItemContext);\n if (context === null) {\n return null;\n }\n return (\n <Component\n aria-hidden={!context.open}\n data-state={context.open ? \"open\" : \"closed\"}\n inert={context.open ? undefined : \"true\"}\n className={clsx(\"hds-accordion-item-content\", className as undefined)}\n ref={ref}\n {...rest}\n >\n <div className={clsx(\"hds-accordion-item-content-inner\")}>{children}</div>\n </Component>\n );\n });\n\nAccordionContent.displayName = \"Accordion.Content\";\n"],"mappings":"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","names":["import_react","import_typed_classname","import_react","import_jsx_runtime","import_react","import_typed_classname","import_jsx_runtime","import_react","import_typed_classname","import_jsx_runtime"]}
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  AccordionComponent
3
- } from "../chunk-DJRMXOCP.mjs";
4
- import "../chunk-KRGKVH5J.mjs";
5
- import "../chunk-FT5CX2W5.mjs";
6
- import "../chunk-SAGJ5W7M.mjs";
3
+ } from "../chunk-LIQ3FB56.mjs";
4
+ import "../chunk-62F4I3MQ.mjs";
7
5
  import "../chunk-VRIY65P5.mjs";
6
+ import "../chunk-GUB3UCXO.mjs";
7
+ import "../chunk-YXHXRUFX.mjs";
8
8
  import "../chunk-V3PAFMK5.mjs";
9
9
  import "../chunk-R4SQKVDQ.mjs";
10
10
  export {