@postenbring/hedwig-react 0.0.83 → 0.0.84

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 (140) hide show
  1. package/dist/accordion/accordion-content.d.ts.map +1 -1
  2. package/dist/accordion/accordion-content.js +1 -0
  3. package/dist/accordion/accordion-content.js.map +1 -1
  4. package/dist/accordion/accordion-content.mjs +2 -2
  5. package/dist/accordion/accordion-header.d.ts.map +1 -1
  6. package/dist/accordion/accordion-header.js +1 -0
  7. package/dist/accordion/accordion-header.js.map +1 -1
  8. package/dist/accordion/accordion-header.mjs +2 -2
  9. package/dist/accordion/accordion-item.d.ts.map +1 -1
  10. package/dist/accordion/accordion-item.js +2 -1
  11. package/dist/accordion/accordion-item.js.map +1 -1
  12. package/dist/accordion/accordion-item.mjs +2 -2
  13. package/dist/accordion/accordion.js +4 -1
  14. package/dist/accordion/accordion.js.map +1 -1
  15. package/dist/accordion/accordion.mjs +5 -5
  16. package/dist/accordion/context.d.ts +1 -0
  17. package/dist/accordion/context.d.ts.map +1 -1
  18. package/dist/accordion/context.js.map +1 -1
  19. package/dist/accordion/context.mjs +1 -1
  20. package/dist/accordion/index.js +4 -1
  21. package/dist/accordion/index.js.map +1 -1
  22. package/dist/accordion/index.mjs +7 -7
  23. package/dist/badge/badge.d.ts +13 -4
  24. package/dist/badge/badge.d.ts.map +1 -1
  25. package/dist/badge/badge.js +22 -42
  26. package/dist/badge/badge.js.map +1 -1
  27. package/dist/badge/badge.mjs +3 -9
  28. package/dist/badge/index.d.ts +1 -1
  29. package/dist/badge/index.d.ts.map +1 -1
  30. package/dist/badge/index.js +22 -42
  31. package/dist/badge/index.js.map +1 -1
  32. package/dist/badge/index.mjs +3 -9
  33. package/dist/button/button.d.ts +17 -5
  34. package/dist/button/button.d.ts.map +1 -1
  35. package/dist/button/button.js +4 -17
  36. package/dist/button/button.js.map +1 -1
  37. package/dist/button/button.mjs +3 -5
  38. package/dist/button/index.d.ts +1 -1
  39. package/dist/button/index.d.ts.map +1 -1
  40. package/dist/button/index.js +4 -17
  41. package/dist/button/index.js.map +1 -1
  42. package/dist/button/index.mjs +3 -5
  43. package/dist/{chunk-KEKPEN2C.mjs → chunk-6MR5XZOX.mjs} +4 -16
  44. package/dist/chunk-6MR5XZOX.mjs.map +1 -0
  45. package/dist/{chunk-M3Y3XOGC.mjs → chunk-B6L7IFDX.mjs} +6 -6
  46. package/dist/{chunk-FC4CEI2V.mjs → chunk-EVUKWONG.mjs} +2 -2
  47. package/dist/chunk-GQUFERB2.mjs +37 -0
  48. package/dist/chunk-GQUFERB2.mjs.map +1 -0
  49. package/dist/{chunk-C34HEQXO.mjs → chunk-GRWLX5BC.mjs} +5 -5
  50. package/dist/chunk-GRWLX5BC.mjs.map +1 -0
  51. package/dist/{chunk-3EFAPJ3H.mjs → chunk-HJYS664B.mjs} +3 -2
  52. package/dist/chunk-HJYS664B.mjs.map +1 -0
  53. package/dist/{chunk-OGZ2NBMH.mjs → chunk-IHZ2MRF6.mjs} +4 -4
  54. package/dist/chunk-IHZ2MRF6.mjs.map +1 -0
  55. package/dist/{chunk-3WVRY6CC.mjs → chunk-L4YBHIS3.mjs} +20 -12
  56. package/dist/chunk-L4YBHIS3.mjs.map +1 -0
  57. package/dist/{chunk-35TXKAUH.mjs → chunk-OIC2CPID.mjs} +18 -12
  58. package/dist/chunk-OIC2CPID.mjs.map +1 -0
  59. package/dist/{chunk-A2H2LAII.mjs → chunk-SKVM7G76.mjs} +5 -4
  60. package/dist/chunk-SKVM7G76.mjs.map +1 -0
  61. package/dist/chunk-SRLM3K2X.mjs +1 -0
  62. package/dist/{chunk-GLAEI3SD.mjs → chunk-VCQIR53Y.mjs} +3 -2
  63. package/dist/chunk-VCQIR53Y.mjs.map +1 -0
  64. package/dist/{chunk-V3PAFMK5.mjs → chunk-YQFL5UN4.mjs} +1 -1
  65. package/dist/chunk-YQFL5UN4.mjs.map +1 -0
  66. package/dist/footer/footer.js +7 -15
  67. package/dist/footer/footer.js.map +1 -1
  68. package/dist/footer/footer.mjs +7 -7
  69. package/dist/footer/index.js +7 -15
  70. package/dist/footer/index.js.map +1 -1
  71. package/dist/footer/index.mjs +7 -7
  72. package/dist/index-no-css.js +226 -239
  73. package/dist/index-no-css.js.map +1 -1
  74. package/dist/index-no-css.mjs +30 -38
  75. package/dist/index.js +226 -239
  76. package/dist/index.js.map +1 -1
  77. package/dist/index.mjs +30 -38
  78. package/dist/index.mjs.map +1 -1
  79. package/dist/modal/index.js.map +1 -1
  80. package/dist/modal/index.mjs +2 -2
  81. package/dist/modal/modal.d.ts +4 -4
  82. package/dist/modal/modal.js.map +1 -1
  83. package/dist/modal/modal.mjs +2 -2
  84. package/dist/navbar/index.js +17 -11
  85. package/dist/navbar/index.js.map +1 -1
  86. package/dist/navbar/index.mjs +2 -2
  87. package/dist/navbar/navbar-expandable-menu.d.ts +7 -1
  88. package/dist/navbar/navbar-expandable-menu.d.ts.map +1 -1
  89. package/dist/navbar/navbar-expandable-menu.js +17 -11
  90. package/dist/navbar/navbar-expandable-menu.js.map +1 -1
  91. package/dist/navbar/navbar-expandable-menu.mjs +1 -1
  92. package/dist/navbar/navbar.js +17 -11
  93. package/dist/navbar/navbar.js.map +1 -1
  94. package/dist/navbar/navbar.mjs +2 -2
  95. package/dist/show-more/index.d.ts +0 -2
  96. package/dist/show-more/index.d.ts.map +1 -1
  97. package/dist/show-more/index.js +5 -143
  98. package/dist/show-more/index.js.map +1 -1
  99. package/dist/show-more/index.mjs +1 -6
  100. package/dist/warning-banner/index.js +28 -94
  101. package/dist/warning-banner/index.js.map +1 -1
  102. package/dist/warning-banner/index.mjs +1 -3
  103. package/dist/warning-banner/warning-banner.d.ts.map +1 -1
  104. package/dist/warning-banner/warning-banner.js +28 -94
  105. package/dist/warning-banner/warning-banner.js.map +1 -1
  106. package/dist/warning-banner/warning-banner.mjs +1 -3
  107. package/package.json +2 -2
  108. package/src/accordion/accordion-content.tsx +1 -0
  109. package/src/accordion/accordion-header.tsx +1 -0
  110. package/src/accordion/accordion-item.tsx +3 -2
  111. package/src/accordion/context.ts +1 -0
  112. package/src/badge/badge.stories.tsx +6 -4
  113. package/src/badge/badge.tsx +32 -40
  114. package/src/badge/index.tsx +1 -1
  115. package/src/button/button.stories.tsx +19 -17
  116. package/src/button/button.tsx +19 -18
  117. package/src/button/index.tsx +1 -1
  118. package/src/footer/footer.tsx +3 -3
  119. package/src/form/input/input.stories.tsx +6 -6
  120. package/src/modal/modal.stories.tsx +9 -9
  121. package/src/modal/modal.tsx +4 -4
  122. package/src/navbar/navbar-expandable-menu.tsx +25 -14
  123. package/src/show-more/index.ts +0 -3
  124. package/src/skeleton/skeleton.stories.tsx +3 -3
  125. package/src/warning-banner/warning-banner.tsx +24 -13
  126. package/dist/chunk-35TXKAUH.mjs.map +0 -1
  127. package/dist/chunk-3EFAPJ3H.mjs.map +0 -1
  128. package/dist/chunk-3WVRY6CC.mjs.map +0 -1
  129. package/dist/chunk-A2H2LAII.mjs.map +0 -1
  130. package/dist/chunk-C34HEQXO.mjs.map +0 -1
  131. package/dist/chunk-GLAEI3SD.mjs.map +0 -1
  132. package/dist/chunk-KEKPEN2C.mjs.map +0 -1
  133. package/dist/chunk-MSFHJVHD.mjs +0 -1
  134. package/dist/chunk-OGZ2NBMH.mjs.map +0 -1
  135. package/dist/chunk-P6KBFRF4.mjs +0 -54
  136. package/dist/chunk-P6KBFRF4.mjs.map +0 -1
  137. package/dist/chunk-V3PAFMK5.mjs.map +0 -1
  138. /package/dist/{chunk-M3Y3XOGC.mjs.map → chunk-B6L7IFDX.mjs.map} +0 -0
  139. /package/dist/{chunk-FC4CEI2V.mjs.map → chunk-EVUKWONG.mjs.map} +0 -0
  140. /package/dist/{chunk-MSFHJVHD.mjs.map → chunk-SRLM3K2X.mjs.map} +0 -0
@@ -49,10 +49,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
49
49
  // src/badge/index.tsx
50
50
  var badge_exports = {};
51
51
  __export(badge_exports, {
52
- Badge: () => LighterBadge,
53
- DarkBadge: () => DarkBadge,
54
- WarningBadge: () => WarningBadge,
55
- WhiteBadge: () => WhiteBadge
52
+ Badge: () => Badge
56
53
  });
57
54
  module.exports = __toCommonJS(badge_exports);
58
55
 
@@ -61,46 +58,29 @@ var import_typed_classname = require("@postenbring/hedwig-css/typed-classname");
61
58
  var import_react_slot = require("@radix-ui/react-slot");
62
59
  var import_react = require("react");
63
60
  var import_jsx_runtime = require("react/jsx-runtime");
64
- var Badge = (0, import_react.forwardRef)((_a, ref) => {
65
- var _b = _a, { children, asChild, variant, size = "small", className } = _b, rest = __objRest(_b, ["children", "asChild", "variant", "size", "className"]);
66
- const Component = asChild ? import_react_slot.Slot : "span";
67
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
68
- Component,
69
- __spreadProps(__spreadValues({
70
- ref,
71
- className: (0, import_typed_classname.clsx)(
72
- "hds-badge",
73
- `hds-badge--${size}`,
74
- `hds-badge--${variant}`,
75
- className
76
- )
77
- }, rest), {
78
- children
79
- })
80
- );
81
- });
61
+ var Badge = (0, import_react.forwardRef)(
62
+ (_a, ref) => {
63
+ var _b = _a, { children, asChild, variant = "lighter", size = "small", className } = _b, rest = __objRest(_b, ["children", "asChild", "variant", "size", "className"]);
64
+ const Component = asChild ? import_react_slot.Slot : "span";
65
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
66
+ Component,
67
+ __spreadProps(__spreadValues({
68
+ ref,
69
+ className: (0, import_typed_classname.clsx)(
70
+ "hds-badge",
71
+ `hds-badge--${size}`,
72
+ `hds-badge--${variant}`,
73
+ className
74
+ )
75
+ }, rest), {
76
+ children
77
+ })
78
+ );
79
+ }
80
+ );
82
81
  Badge.displayName = "Badge";
83
- var LighterBadge = (0, import_react.forwardRef)((props, ref) => {
84
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Badge, __spreadProps(__spreadValues({}, props), { ref, variant: "lighter" }));
85
- });
86
- LighterBadge.displayName = "LighterBadge";
87
- var DarkBadge = (0, import_react.forwardRef)((props, ref) => {
88
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Badge, __spreadProps(__spreadValues({}, props), { ref, variant: "dark" }));
89
- });
90
- DarkBadge.displayName = "DarkBadge";
91
- var WhiteBadge = (0, import_react.forwardRef)((props, ref) => {
92
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Badge, __spreadProps(__spreadValues({}, props), { ref, variant: "white" }));
93
- });
94
- WhiteBadge.displayName = "WhiteBadge";
95
- var WarningBadge = (0, import_react.forwardRef)((props, ref) => {
96
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Badge, __spreadProps(__spreadValues({}, props), { ref, variant: "warning" }));
97
- });
98
- WarningBadge.displayName = "WarningBadge";
99
82
  // Annotate the CommonJS export names for ESM import in node:
100
83
  0 && (module.exports = {
101
- Badge,
102
- DarkBadge,
103
- WarningBadge,
104
- WhiteBadge
84
+ Badge
105
85
  });
106
86
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/badge/index.tsx","../../src/badge/badge.tsx"],"sourcesContent":["export { LighterBadge as Badge, DarkBadge, WarningBadge, WhiteBadge } from \"./badge\";\n\nexport type * from \"./badge\";\n","import { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { forwardRef } from \"react\";\n\nexport interface BadgeProps extends React.AnchorHTMLAttributes<HTMLSpanElement> {\n children: React.ReactNode;\n\n /**\n * Font size of the badge\n *\n * @default \"small\"\n */\n size?: \"small\" | \"smaller\";\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\nconst Badge = forwardRef<\n HTMLSpanElement,\n BadgeProps & { variant: \"lighter\" | \"dark\" | \"white\" | \"warning\" }\n>(({ children, asChild, variant, size = \"small\", className, ...rest }, ref) => {\n const Component = asChild ? Slot : \"span\";\n return (\n <Component\n ref={ref}\n className={clsx(\n \"hds-badge\",\n `hds-badge--${size}`,\n `hds-badge--${variant}`,\n className as undefined,\n )}\n {...rest}\n >\n {children}\n </Component>\n );\n});\nBadge.displayName = \"Badge\";\n\nexport const LighterBadge = forwardRef<HTMLSpanElement, BadgeProps>((props, ref) => {\n return <Badge {...props} ref={ref} variant=\"lighter\" />;\n});\nLighterBadge.displayName = \"LighterBadge\";\n\nexport const DarkBadge = forwardRef<HTMLSpanElement, BadgeProps>((props, ref) => {\n return <Badge {...props} ref={ref} variant=\"dark\" />;\n});\nDarkBadge.displayName = \"DarkBadge\";\n\nexport const WhiteBadge = forwardRef<HTMLSpanElement, BadgeProps>((props, ref) => {\n return <Badge {...props} ref={ref} variant=\"white\" />;\n});\nWhiteBadge.displayName = \"WhiteBadge\";\n\nexport const WarningBadge = forwardRef<HTMLSpanElement, BadgeProps>((props, ref) => {\n return <Badge {...props} ref={ref} variant=\"warning\" />;\n});\nWarningBadge.displayName = \"WarningBadge\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,6BAAqB;AACrB,wBAAqB;AACrB,mBAA2B;AA0BvB;AANJ,IAAM,YAAQ,yBAGZ,CAAC,IAAoE,QAAQ;AAA5E,eAAE,YAAU,SAAS,SAAS,OAAO,SAAS,UAzBjD,IAyBG,IAA4D,iBAA5D,IAA4D,CAA1D,YAAU,WAAS,WAAS,QAAgB;AAC/C,QAAM,YAAY,UAAU,yBAAO;AACnC,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,eAAW;AAAA,QACT;AAAA,QACA,cAAc,IAAI;AAAA,QAClB,cAAc,OAAO;AAAA,QACrB;AAAA,MACF;AAAA,OACI,OARL;AAAA,MAUE;AAAA;AAAA,EACH;AAEJ,CAAC;AACD,MAAM,cAAc;AAEb,IAAM,mBAAe,yBAAwC,CAAC,OAAO,QAAQ;AAClF,SAAO,4CAAC,wCAAU,QAAV,EAAiB,KAAU,SAAQ,YAAU;AACvD,CAAC;AACD,aAAa,cAAc;AAEpB,IAAM,gBAAY,yBAAwC,CAAC,OAAO,QAAQ;AAC/E,SAAO,4CAAC,wCAAU,QAAV,EAAiB,KAAU,SAAQ,SAAO;AACpD,CAAC;AACD,UAAU,cAAc;AAEjB,IAAM,iBAAa,yBAAwC,CAAC,OAAO,QAAQ;AAChF,SAAO,4CAAC,wCAAU,QAAV,EAAiB,KAAU,SAAQ,UAAQ;AACrD,CAAC;AACD,WAAW,cAAc;AAElB,IAAM,mBAAe,yBAAwC,CAAC,OAAO,QAAQ;AAClF,SAAO,4CAAC,wCAAU,QAAV,EAAiB,KAAU,SAAQ,YAAU;AACvD,CAAC;AACD,aAAa,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../src/badge/index.tsx","../../src/badge/badge.tsx"],"sourcesContent":["export { Badge } from \"./badge\";\n\nexport type * from \"./badge\";\n","import { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { forwardRef } from \"react\";\n\nexport interface BadgeProps extends React.AnchorHTMLAttributes<HTMLSpanElement> {\n children: React.ReactNode;\n\n /**\n * Color of the badge\n *\n * @default \"lighter\"\n */\n variant?: \"lighter\" | \"dark\" | \"white\" | \"warning\";\n\n /**\n * Font size of the badge\n *\n * @default \"small\"\n */\n size?: \"small\" | \"smaller\";\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 * Badges are used to label, categorize or organize items using keywords to describe them.\n *\n * @example\n * <Badge variant=\"dark\">Dark</Badge>\n */\nexport const Badge = forwardRef<HTMLSpanElement, BadgeProps>(\n ({ children, asChild, variant = \"lighter\", size = \"small\", className, ...rest }, ref) => {\n const Component = asChild ? Slot : \"span\";\n return (\n <Component\n ref={ref}\n className={clsx(\n \"hds-badge\",\n `hds-badge--${size}`,\n `hds-badge--${variant}`,\n className as undefined,\n )}\n {...rest}\n >\n {children}\n </Component>\n );\n },\n);\nBadge.displayName = \"Badge\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,6BAAqB;AACrB,wBAAqB;AACrB,mBAA2B;AAqCrB;AAJC,IAAM,YAAQ;AAAA,EACnB,CAAC,IAAgF,QAAQ;AAAxF,iBAAE,YAAU,SAAS,UAAU,WAAW,OAAO,SAAS,UApC7D,IAoCG,IAAwE,iBAAxE,IAAwE,CAAtE,YAAU,WAAS,WAAqB,QAAgB;AACzD,UAAM,YAAY,UAAU,yBAAO;AACnC,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,eAAW;AAAA,UACT;AAAA,UACA,cAAc,IAAI;AAAA,UAClB,cAAc,OAAO;AAAA,UACrB;AAAA,QACF;AAAA,SACI,OARL;AAAA,QAUE;AAAA;AAAA,IACH;AAAA,EAEJ;AACF;AACA,MAAM,cAAc;","names":[]}
@@ -1,15 +1,9 @@
1
1
  import "../chunk-K6PP3ACJ.mjs";
2
2
  import {
3
- DarkBadge,
4
- LighterBadge,
5
- WarningBadge,
6
- WhiteBadge
7
- } from "../chunk-P6KBFRF4.mjs";
3
+ Badge
4
+ } from "../chunk-GQUFERB2.mjs";
8
5
  import "../chunk-R4SQKVDQ.mjs";
9
6
  export {
10
- LighterBadge as Badge,
11
- DarkBadge,
12
- WarningBadge,
13
- WhiteBadge
7
+ Badge
14
8
  };
15
9
  //# sourceMappingURL=index.mjs.map
@@ -5,11 +5,11 @@ export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElemen
5
5
  */
6
6
  size?: "small" | "medium" | "large";
7
7
  /**
8
- * The background fill of the button
8
+ * The background and fill of the button
9
9
  *
10
- * @default "contained"
10
+ * @default "primary"
11
11
  */
12
- fill?: "contained" | "outline";
12
+ variant?: "primary" | "secondary" | "primary-outline" | "secondary-outline";
13
13
  /**
14
14
  * Make the button use 100% width available.
15
15
  * Using the "mobile" it only stretch to full width on smaller screens
@@ -28,6 +28,18 @@ export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElemen
28
28
  */
29
29
  asChild?: boolean;
30
30
  }
31
- export declare const PrimaryButton: import("react").ForwardRefExoticComponent<ButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
32
- export declare const SecondaryButton: import("react").ForwardRefExoticComponent<ButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
31
+ /**
32
+ * Button component
33
+ *
34
+ * @example
35
+ * <Button variant="primary">Primary</Button>
36
+ * <Button variant="secondary" size="large">Secondary</Button>
37
+ * <Button variant="primary-outline">Primary Outline</Button>
38
+ * <Button variant="secondary-outline" fullWidth="mobile">Secondary Outline</Button>
39
+ *
40
+ * @example
41
+ * // If used for navigation use the `asChild` prop with a anchor element as a child.
42
+ * <Button asChild><a href="/home">Home</a></Button>
43
+ */
44
+ export declare const Button: import("react").ForwardRefExoticComponent<ButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
33
45
  //# sourceMappingURL=button.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../src/button/button.tsx"],"names":[],"mappings":";AAIA,MAAM,WAAW,WAAY,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IAChF;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IAEpC;;;;OAIG;IACH,IAAI,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAE/B;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAE/B;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AA0CD,eAAO,MAAM,aAAa,2GAExB,CAAC;AAGH,eAAO,MAAM,eAAe,2GAE1B,CAAC"}
1
+ {"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../src/button/button.tsx"],"names":[],"mappings":";AAIA,MAAM,WAAW,WAAY,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IAChF;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IAEpC;;;;OAIG;IACH,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,iBAAiB,GAAG,mBAAmB,CAAC;IAE5E;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAE/B;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,MAAM,2GAmClB,CAAC"}
@@ -49,8 +49,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
49
49
  // src/button/button.tsx
50
50
  var button_exports = {};
51
51
  __export(button_exports, {
52
- PrimaryButton: () => PrimaryButton,
53
- SecondaryButton: () => SecondaryButton
52
+ Button: () => Button
54
53
  });
55
54
  module.exports = __toCommonJS(button_exports);
56
55
  var import_react = require("react");
@@ -62,10 +61,9 @@ var Button = (0, import_react.forwardRef)(
62
61
  var _b = _a, {
63
62
  asChild,
64
63
  children,
65
- variant,
64
+ variant = "primary",
66
65
  size = "medium",
67
66
  fullWidth = false,
68
- fill = "contained",
69
67
  icon,
70
68
  className
71
69
  } = _b, rest = __objRest(_b, [
@@ -74,7 +72,6 @@ var Button = (0, import_react.forwardRef)(
74
72
  "variant",
75
73
  "size",
76
74
  "fullWidth",
77
- "fill",
78
75
  "icon",
79
76
  "className"
80
77
  ]);
@@ -85,9 +82,8 @@ var Button = (0, import_react.forwardRef)(
85
82
  className: (0, import_typed_classname.clsx)(
86
83
  "hds-button",
87
84
  `hds-button--${size}`,
85
+ `hds-button--${variant}`,
88
86
  {
89
- [`hds-button--${variant}`]: fill === "contained",
90
- [`hds-button--outline-${variant}`]: fill === "outline",
91
87
  "hds-button--full": fullWidth === true,
92
88
  "hds-button--mobile-full": fullWidth === "mobile",
93
89
  "hds-button--icon-only": icon
@@ -102,17 +98,8 @@ var Button = (0, import_react.forwardRef)(
102
98
  }
103
99
  );
104
100
  Button.displayName = "Button";
105
- var PrimaryButton = (0, import_react.forwardRef)((props, ref) => {
106
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Button, __spreadProps(__spreadValues({}, props), { ref, variant: "primary" }));
107
- });
108
- PrimaryButton.displayName = "PrimaryButton";
109
- var SecondaryButton = (0, import_react.forwardRef)((props, ref) => {
110
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Button, __spreadProps(__spreadValues({}, props), { ref, variant: "secondary" }));
111
- });
112
- SecondaryButton.displayName = "SecondaryButton";
113
101
  // Annotate the CommonJS export names for ESM import in node:
114
102
  0 && (module.exports = {
115
- PrimaryButton,
116
- SecondaryButton
103
+ Button
117
104
  });
118
105
  //# sourceMappingURL=button.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/button/button.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport { Slot } from \"@radix-ui/react-slot\";\n\nexport interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n /**\n * The height, font size and padding of the button\n */\n size?: \"small\" | \"medium\" | \"large\";\n\n /**\n * The background fill of the button\n *\n * @default \"contained\"\n */\n fill?: \"contained\" | \"outline\";\n\n /**\n * Make the button use 100% width available.\n * Using the \"mobile\" it only stretch to full width on smaller screens\n */\n fullWidth?: boolean | \"mobile\";\n\n /**\n * Use the button as an icon button\n *\n * Render the icon in `children`\n */\n icon?: 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\nconst Button = forwardRef<HTMLButtonElement, ButtonProps & { variant: \"primary\" | \"secondary\" }>(\n (\n {\n asChild,\n children,\n variant,\n size = \"medium\",\n fullWidth = false,\n fill = \"contained\",\n icon,\n className,\n ...rest\n },\n ref,\n ) => {\n const Component = asChild ? Slot : \"button\";\n return (\n <Component\n className={clsx(\n \"hds-button\",\n `hds-button--${size}`,\n {\n [`hds-button--${variant}`]: fill === \"contained\",\n [`hds-button--outline-${variant}`]: fill === \"outline\",\n \"hds-button--full\": fullWidth === true,\n \"hds-button--mobile-full\": fullWidth === \"mobile\",\n \"hds-button--icon-only\": icon,\n },\n className as undefined,\n )}\n ref={ref}\n {...rest}\n >\n {children}\n </Component>\n );\n },\n);\nButton.displayName = \"Button\";\n\nexport const PrimaryButton = forwardRef<HTMLButtonElement, ButtonProps>((props, ref) => {\n return <Button {...props} ref={ref} variant=\"primary\" />;\n});\nPrimaryButton.displayName = \"PrimaryButton\";\n\nexport const SecondaryButton = forwardRef<HTMLButtonElement, ButtonProps>((props, ref) => {\n return <Button {...props} ref={ref} variant=\"secondary\" />;\n});\nSecondaryButton.displayName = \"SecondaryButton\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA2B;AAC3B,6BAAqB;AACrB,wBAAqB;AAqDf;AAjBN,IAAM,aAAS;AAAA,EACb,CACE,IAWA,QACG;AAZH,iBACE;AAAA;AAAA,MACA;AAAA,MACA;AAAA,MACA,OAAO;AAAA,MACP,YAAY;AAAA,MACZ,OAAO;AAAA,MACP;AAAA,MACA;AAAA,IAhDN,IAwCI,IASK,iBATL,IASK;AAAA,MARH;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAKF,UAAM,YAAY,UAAU,yBAAO;AACnC,WACE;AAAA,MAAC;AAAA;AAAA,QACC,eAAW;AAAA,UACT;AAAA,UACA,eAAe,IAAI;AAAA,UACnB;AAAA,YACE,CAAC,eAAe,OAAO,EAAE,GAAG,SAAS;AAAA,YACrC,CAAC,uBAAuB,OAAO,EAAE,GAAG,SAAS;AAAA,YAC7C,oBAAoB,cAAc;AAAA,YAClC,2BAA2B,cAAc;AAAA,YACzC,yBAAyB;AAAA,UAC3B;AAAA,UACA;AAAA,QACF;AAAA,QACA;AAAA,SACI,OAdL;AAAA,QAgBE;AAAA;AAAA,IACH;AAAA,EAEJ;AACF;AACA,OAAO,cAAc;AAEd,IAAM,oBAAgB,yBAA2C,CAAC,OAAO,QAAQ;AACtF,SAAO,4CAAC,yCAAW,QAAX,EAAkB,KAAU,SAAQ,YAAU;AACxD,CAAC;AACD,cAAc,cAAc;AAErB,IAAM,sBAAkB,yBAA2C,CAAC,OAAO,QAAQ;AACxF,SAAO,4CAAC,yCAAW,QAAX,EAAkB,KAAU,SAAQ,cAAY;AAC1D,CAAC;AACD,gBAAgB,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../src/button/button.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport { Slot } from \"@radix-ui/react-slot\";\n\nexport interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n /**\n * The height, font size and padding of the button\n */\n size?: \"small\" | \"medium\" | \"large\";\n\n /**\n * The background and fill of the button\n *\n * @default \"primary\"\n */\n variant?: \"primary\" | \"secondary\" | \"primary-outline\" | \"secondary-outline\";\n\n /**\n * Make the button use 100% width available.\n * Using the \"mobile\" it only stretch to full width on smaller screens\n */\n fullWidth?: boolean | \"mobile\";\n\n /**\n * Use the button as an icon button\n *\n * Render the icon in `children`\n */\n icon?: 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 * Button component\n *\n * @example\n * <Button variant=\"primary\">Primary</Button>\n * <Button variant=\"secondary\" size=\"large\">Secondary</Button>\n * <Button variant=\"primary-outline\">Primary Outline</Button>\n * <Button variant=\"secondary-outline\" fullWidth=\"mobile\">Secondary Outline</Button>\n *\n * @example\n * // If used for navigation use the `asChild` prop with a anchor element as a child.\n * <Button asChild><a href=\"/home\">Home</a></Button>\n */\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n asChild,\n children,\n variant = \"primary\",\n size = \"medium\",\n fullWidth = false,\n icon,\n className,\n ...rest\n },\n ref,\n ) => {\n const Component = asChild ? Slot : \"button\";\n return (\n <Component\n className={clsx(\n \"hds-button\",\n `hds-button--${size}`,\n `hds-button--${variant}`,\n {\n \"hds-button--full\": fullWidth === true,\n \"hds-button--mobile-full\": fullWidth === \"mobile\",\n \"hds-button--icon-only\": icon,\n },\n className as undefined,\n )}\n ref={ref}\n {...rest}\n >\n {children}\n </Component>\n );\n },\n);\nButton.displayName = \"Button\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA2B;AAC3B,6BAAqB;AACrB,wBAAqB;AAiEf;AAhBC,IAAM,aAAS;AAAA,EACpB,CACE,IAUA,QACG;AAXH,iBACE;AAAA;AAAA,MACA;AAAA,MACA,UAAU;AAAA,MACV,OAAO;AAAA,MACP,YAAY;AAAA,MACZ;AAAA,MACA;AAAA,IA5DN,IAqDI,IAQK,iBARL,IAQK;AAAA,MAPH;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAKF,UAAM,YAAY,UAAU,yBAAO;AACnC,WACE;AAAA,MAAC;AAAA;AAAA,QACC,eAAW;AAAA,UACT;AAAA,UACA,eAAe,IAAI;AAAA,UACnB,eAAe,OAAO;AAAA,UACtB;AAAA,YACE,oBAAoB,cAAc;AAAA,YAClC,2BAA2B,cAAc;AAAA,YACzC,yBAAyB;AAAA,UAC3B;AAAA,UACA;AAAA,QACF;AAAA,QACA;AAAA,SACI,OAbL;AAAA,QAeE;AAAA;AAAA,IACH;AAAA,EAEJ;AACF;AACA,OAAO,cAAc;","names":[]}
@@ -1,10 +1,8 @@
1
1
  import {
2
- PrimaryButton,
3
- SecondaryButton
4
- } from "../chunk-KEKPEN2C.mjs";
2
+ Button
3
+ } from "../chunk-6MR5XZOX.mjs";
5
4
  import "../chunk-R4SQKVDQ.mjs";
6
5
  export {
7
- PrimaryButton,
8
- SecondaryButton
6
+ Button
9
7
  };
10
8
  //# sourceMappingURL=button.mjs.map
@@ -1,3 +1,3 @@
1
- export { PrimaryButton, SecondaryButton } from "./button";
1
+ export { Button } from "./button";
2
2
  export type * from "./button";
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/button/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE1D,mBAAmB,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/button/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,mBAAmB,UAAU,CAAC"}
@@ -49,8 +49,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
49
49
  // src/button/index.tsx
50
50
  var button_exports = {};
51
51
  __export(button_exports, {
52
- PrimaryButton: () => PrimaryButton,
53
- SecondaryButton: () => SecondaryButton
52
+ Button: () => Button
54
53
  });
55
54
  module.exports = __toCommonJS(button_exports);
56
55
 
@@ -64,10 +63,9 @@ var Button = (0, import_react.forwardRef)(
64
63
  var _b = _a, {
65
64
  asChild,
66
65
  children,
67
- variant,
66
+ variant = "primary",
68
67
  size = "medium",
69
68
  fullWidth = false,
70
- fill = "contained",
71
69
  icon,
72
70
  className
73
71
  } = _b, rest = __objRest(_b, [
@@ -76,7 +74,6 @@ var Button = (0, import_react.forwardRef)(
76
74
  "variant",
77
75
  "size",
78
76
  "fullWidth",
79
- "fill",
80
77
  "icon",
81
78
  "className"
82
79
  ]);
@@ -87,9 +84,8 @@ var Button = (0, import_react.forwardRef)(
87
84
  className: (0, import_typed_classname.clsx)(
88
85
  "hds-button",
89
86
  `hds-button--${size}`,
87
+ `hds-button--${variant}`,
90
88
  {
91
- [`hds-button--${variant}`]: fill === "contained",
92
- [`hds-button--outline-${variant}`]: fill === "outline",
93
89
  "hds-button--full": fullWidth === true,
94
90
  "hds-button--mobile-full": fullWidth === "mobile",
95
91
  "hds-button--icon-only": icon
@@ -104,17 +100,8 @@ var Button = (0, import_react.forwardRef)(
104
100
  }
105
101
  );
106
102
  Button.displayName = "Button";
107
- var PrimaryButton = (0, import_react.forwardRef)((props, ref) => {
108
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Button, __spreadProps(__spreadValues({}, props), { ref, variant: "primary" }));
109
- });
110
- PrimaryButton.displayName = "PrimaryButton";
111
- var SecondaryButton = (0, import_react.forwardRef)((props, ref) => {
112
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Button, __spreadProps(__spreadValues({}, props), { ref, variant: "secondary" }));
113
- });
114
- SecondaryButton.displayName = "SecondaryButton";
115
103
  // Annotate the CommonJS export names for ESM import in node:
116
104
  0 && (module.exports = {
117
- PrimaryButton,
118
- SecondaryButton
105
+ Button
119
106
  });
120
107
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/button/index.tsx","../../src/button/button.tsx"],"sourcesContent":["export { PrimaryButton, SecondaryButton } from \"./button\";\n\nexport type * from \"./button\";\n","import { forwardRef } from \"react\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport { Slot } from \"@radix-ui/react-slot\";\n\nexport interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n /**\n * The height, font size and padding of the button\n */\n size?: \"small\" | \"medium\" | \"large\";\n\n /**\n * The background fill of the button\n *\n * @default \"contained\"\n */\n fill?: \"contained\" | \"outline\";\n\n /**\n * Make the button use 100% width available.\n * Using the \"mobile\" it only stretch to full width on smaller screens\n */\n fullWidth?: boolean | \"mobile\";\n\n /**\n * Use the button as an icon button\n *\n * Render the icon in `children`\n */\n icon?: 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\nconst Button = forwardRef<HTMLButtonElement, ButtonProps & { variant: \"primary\" | \"secondary\" }>(\n (\n {\n asChild,\n children,\n variant,\n size = \"medium\",\n fullWidth = false,\n fill = \"contained\",\n icon,\n className,\n ...rest\n },\n ref,\n ) => {\n const Component = asChild ? Slot : \"button\";\n return (\n <Component\n className={clsx(\n \"hds-button\",\n `hds-button--${size}`,\n {\n [`hds-button--${variant}`]: fill === \"contained\",\n [`hds-button--outline-${variant}`]: fill === \"outline\",\n \"hds-button--full\": fullWidth === true,\n \"hds-button--mobile-full\": fullWidth === \"mobile\",\n \"hds-button--icon-only\": icon,\n },\n className as undefined,\n )}\n ref={ref}\n {...rest}\n >\n {children}\n </Component>\n );\n },\n);\nButton.displayName = \"Button\";\n\nexport const PrimaryButton = forwardRef<HTMLButtonElement, ButtonProps>((props, ref) => {\n return <Button {...props} ref={ref} variant=\"primary\" />;\n});\nPrimaryButton.displayName = \"PrimaryButton\";\n\nexport const SecondaryButton = forwardRef<HTMLButtonElement, ButtonProps>((props, ref) => {\n return <Button {...props} ref={ref} variant=\"secondary\" />;\n});\nSecondaryButton.displayName = \"SecondaryButton\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,mBAA2B;AAC3B,6BAAqB;AACrB,wBAAqB;AAqDf;AAjBN,IAAM,aAAS;AAAA,EACb,CACE,IAWA,QACG;AAZH,iBACE;AAAA;AAAA,MACA;AAAA,MACA;AAAA,MACA,OAAO;AAAA,MACP,YAAY;AAAA,MACZ,OAAO;AAAA,MACP;AAAA,MACA;AAAA,IAhDN,IAwCI,IASK,iBATL,IASK;AAAA,MARH;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAKF,UAAM,YAAY,UAAU,yBAAO;AACnC,WACE;AAAA,MAAC;AAAA;AAAA,QACC,eAAW;AAAA,UACT;AAAA,UACA,eAAe,IAAI;AAAA,UACnB;AAAA,YACE,CAAC,eAAe,OAAO,EAAE,GAAG,SAAS;AAAA,YACrC,CAAC,uBAAuB,OAAO,EAAE,GAAG,SAAS;AAAA,YAC7C,oBAAoB,cAAc;AAAA,YAClC,2BAA2B,cAAc;AAAA,YACzC,yBAAyB;AAAA,UAC3B;AAAA,UACA;AAAA,QACF;AAAA,QACA;AAAA,SACI,OAdL;AAAA,QAgBE;AAAA;AAAA,IACH;AAAA,EAEJ;AACF;AACA,OAAO,cAAc;AAEd,IAAM,oBAAgB,yBAA2C,CAAC,OAAO,QAAQ;AACtF,SAAO,4CAAC,yCAAW,QAAX,EAAkB,KAAU,SAAQ,YAAU;AACxD,CAAC;AACD,cAAc,cAAc;AAErB,IAAM,sBAAkB,yBAA2C,CAAC,OAAO,QAAQ;AACxF,SAAO,4CAAC,yCAAW,QAAX,EAAkB,KAAU,SAAQ,cAAY;AAC1D,CAAC;AACD,gBAAgB,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../src/button/index.tsx","../../src/button/button.tsx"],"sourcesContent":["export { Button } from \"./button\";\n\nexport type * from \"./button\";\n","import { forwardRef } from \"react\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport { Slot } from \"@radix-ui/react-slot\";\n\nexport interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n /**\n * The height, font size and padding of the button\n */\n size?: \"small\" | \"medium\" | \"large\";\n\n /**\n * The background and fill of the button\n *\n * @default \"primary\"\n */\n variant?: \"primary\" | \"secondary\" | \"primary-outline\" | \"secondary-outline\";\n\n /**\n * Make the button use 100% width available.\n * Using the \"mobile\" it only stretch to full width on smaller screens\n */\n fullWidth?: boolean | \"mobile\";\n\n /**\n * Use the button as an icon button\n *\n * Render the icon in `children`\n */\n icon?: 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 * Button component\n *\n * @example\n * <Button variant=\"primary\">Primary</Button>\n * <Button variant=\"secondary\" size=\"large\">Secondary</Button>\n * <Button variant=\"primary-outline\">Primary Outline</Button>\n * <Button variant=\"secondary-outline\" fullWidth=\"mobile\">Secondary Outline</Button>\n *\n * @example\n * // If used for navigation use the `asChild` prop with a anchor element as a child.\n * <Button asChild><a href=\"/home\">Home</a></Button>\n */\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n asChild,\n children,\n variant = \"primary\",\n size = \"medium\",\n fullWidth = false,\n icon,\n className,\n ...rest\n },\n ref,\n ) => {\n const Component = asChild ? Slot : \"button\";\n return (\n <Component\n className={clsx(\n \"hds-button\",\n `hds-button--${size}`,\n `hds-button--${variant}`,\n {\n \"hds-button--full\": fullWidth === true,\n \"hds-button--mobile-full\": fullWidth === \"mobile\",\n \"hds-button--icon-only\": icon,\n },\n className as undefined,\n )}\n ref={ref}\n {...rest}\n >\n {children}\n </Component>\n );\n },\n);\nButton.displayName = \"Button\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,mBAA2B;AAC3B,6BAAqB;AACrB,wBAAqB;AAiEf;AAhBC,IAAM,aAAS;AAAA,EACpB,CACE,IAUA,QACG;AAXH,iBACE;AAAA;AAAA,MACA;AAAA,MACA,UAAU;AAAA,MACV,OAAO;AAAA,MACP,YAAY;AAAA,MACZ;AAAA,MACA;AAAA,IA5DN,IAqDI,IAQK,iBARL,IAQK;AAAA,MAPH;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAKF,UAAM,YAAY,UAAU,yBAAO;AACnC,WACE;AAAA,MAAC;AAAA;AAAA,QACC,eAAW;AAAA,UACT;AAAA,UACA,eAAe,IAAI;AAAA,UACnB,eAAe,OAAO;AAAA,UACtB;AAAA,YACE,oBAAoB,cAAc;AAAA,YAClC,2BAA2B,cAAc;AAAA,YACzC,yBAAyB;AAAA,UAC3B;AAAA,UACA;AAAA,QACF;AAAA,QACA;AAAA,SACI,OAbL;AAAA,QAeE;AAAA;AAAA,IACH;AAAA,EAEJ;AACF;AACA,OAAO,cAAc;","names":[]}
@@ -1,11 +1,9 @@
1
1
  import "../chunk-HT2EIJAD.mjs";
2
2
  import {
3
- PrimaryButton,
4
- SecondaryButton
5
- } from "../chunk-KEKPEN2C.mjs";
3
+ Button
4
+ } from "../chunk-6MR5XZOX.mjs";
6
5
  import "../chunk-R4SQKVDQ.mjs";
7
6
  export {
8
- PrimaryButton,
9
- SecondaryButton
7
+ Button
10
8
  };
11
9
  //# sourceMappingURL=index.mjs.map
@@ -14,10 +14,9 @@ var Button = forwardRef(
14
14
  var _b = _a, {
15
15
  asChild,
16
16
  children,
17
- variant,
17
+ variant = "primary",
18
18
  size = "medium",
19
19
  fullWidth = false,
20
- fill = "contained",
21
20
  icon,
22
21
  className
23
22
  } = _b, rest = __objRest(_b, [
@@ -26,7 +25,6 @@ var Button = forwardRef(
26
25
  "variant",
27
26
  "size",
28
27
  "fullWidth",
29
- "fill",
30
28
  "icon",
31
29
  "className"
32
30
  ]);
@@ -37,9 +35,8 @@ var Button = forwardRef(
37
35
  className: clsx(
38
36
  "hds-button",
39
37
  `hds-button--${size}`,
38
+ `hds-button--${variant}`,
40
39
  {
41
- [`hds-button--${variant}`]: fill === "contained",
42
- [`hds-button--outline-${variant}`]: fill === "outline",
43
40
  "hds-button--full": fullWidth === true,
44
41
  "hds-button--mobile-full": fullWidth === "mobile",
45
42
  "hds-button--icon-only": icon
@@ -54,17 +51,8 @@ var Button = forwardRef(
54
51
  }
55
52
  );
56
53
  Button.displayName = "Button";
57
- var PrimaryButton = forwardRef((props, ref) => {
58
- return /* @__PURE__ */ jsx(Button, __spreadProps(__spreadValues({}, props), { ref, variant: "primary" }));
59
- });
60
- PrimaryButton.displayName = "PrimaryButton";
61
- var SecondaryButton = forwardRef((props, ref) => {
62
- return /* @__PURE__ */ jsx(Button, __spreadProps(__spreadValues({}, props), { ref, variant: "secondary" }));
63
- });
64
- SecondaryButton.displayName = "SecondaryButton";
65
54
 
66
55
  export {
67
- PrimaryButton,
68
- SecondaryButton
56
+ Button
69
57
  };
70
- //# sourceMappingURL=chunk-KEKPEN2C.mjs.map
58
+ //# sourceMappingURL=chunk-6MR5XZOX.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/button/button.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport { Slot } from \"@radix-ui/react-slot\";\n\nexport interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n /**\n * The height, font size and padding of the button\n */\n size?: \"small\" | \"medium\" | \"large\";\n\n /**\n * The background and fill of the button\n *\n * @default \"primary\"\n */\n variant?: \"primary\" | \"secondary\" | \"primary-outline\" | \"secondary-outline\";\n\n /**\n * Make the button use 100% width available.\n * Using the \"mobile\" it only stretch to full width on smaller screens\n */\n fullWidth?: boolean | \"mobile\";\n\n /**\n * Use the button as an icon button\n *\n * Render the icon in `children`\n */\n icon?: 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 * Button component\n *\n * @example\n * <Button variant=\"primary\">Primary</Button>\n * <Button variant=\"secondary\" size=\"large\">Secondary</Button>\n * <Button variant=\"primary-outline\">Primary Outline</Button>\n * <Button variant=\"secondary-outline\" fullWidth=\"mobile\">Secondary Outline</Button>\n *\n * @example\n * // If used for navigation use the `asChild` prop with a anchor element as a child.\n * <Button asChild><a href=\"/home\">Home</a></Button>\n */\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n asChild,\n children,\n variant = \"primary\",\n size = \"medium\",\n fullWidth = false,\n icon,\n className,\n ...rest\n },\n ref,\n ) => {\n const Component = asChild ? Slot : \"button\";\n return (\n <Component\n className={clsx(\n \"hds-button\",\n `hds-button--${size}`,\n `hds-button--${variant}`,\n {\n \"hds-button--full\": fullWidth === true,\n \"hds-button--mobile-full\": fullWidth === \"mobile\",\n \"hds-button--icon-only\": icon,\n },\n className as undefined,\n )}\n ref={ref}\n {...rest}\n >\n {children}\n </Component>\n );\n },\n);\nButton.displayName = \"Button\";\n"],"mappings":";;;;;;;AAAA,SAAS,kBAAkB;AAC3B,SAAS,YAAY;AACrB,SAAS,YAAY;AAiEf;AAhBC,IAAM,SAAS;AAAA,EACpB,CACE,IAUA,QACG;AAXH,iBACE;AAAA;AAAA,MACA;AAAA,MACA,UAAU;AAAA,MACV,OAAO;AAAA,MACP,YAAY;AAAA,MACZ;AAAA,MACA;AAAA,IA5DN,IAqDI,IAQK,iBARL,IAQK;AAAA,MAPH;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAKF,UAAM,YAAY,UAAU,OAAO;AACnC,WACE;AAAA,MAAC;AAAA;AAAA,QACC,WAAW;AAAA,UACT;AAAA,UACA,eAAe,IAAI;AAAA,UACnB,eAAe,OAAO;AAAA,UACtB;AAAA,YACE,oBAAoB,cAAc;AAAA,YAClC,2BAA2B,cAAc;AAAA,YACzC,yBAAyB;AAAA,UAC3B;AAAA,UACA;AAAA,QACF;AAAA,QACA;AAAA,SACI,OAbL;AAAA,QAeE;AAAA;AAAA,IACH;AAAA,EAEJ;AACF;AACA,OAAO,cAAc;","names":[]}
@@ -1,12 +1,12 @@
1
- import {
2
- AccordionItem
3
- } from "./chunk-A2H2LAII.mjs";
4
1
  import {
5
2
  AccordionContent
6
- } from "./chunk-GLAEI3SD.mjs";
3
+ } from "./chunk-VCQIR53Y.mjs";
7
4
  import {
8
5
  AccordionHeader
9
- } from "./chunk-3EFAPJ3H.mjs";
6
+ } from "./chunk-HJYS664B.mjs";
7
+ import {
8
+ AccordionItem
9
+ } from "./chunk-SKVM7G76.mjs";
10
10
  import {
11
11
  __objRest,
12
12
  __spreadProps,
@@ -42,4 +42,4 @@ Accordion.Content = AccordionContent;
42
42
  export {
43
43
  Accordion
44
44
  };
45
- //# sourceMappingURL=chunk-M3Y3XOGC.mjs.map
45
+ //# sourceMappingURL=chunk-B6L7IFDX.mjs.map
@@ -2,7 +2,7 @@ import {
2
2
  NavbarExpandableMenu,
3
3
  NavbarExpandableMenuContent,
4
4
  NavbarExpandableMenuTrigger
5
- } from "./chunk-35TXKAUH.mjs";
5
+ } from "./chunk-OIC2CPID.mjs";
6
6
  import {
7
7
  __objRest,
8
8
  __spreadProps,
@@ -133,4 +133,4 @@ export {
133
133
  NavbarNavigation,
134
134
  Navbar
135
135
  };
136
- //# sourceMappingURL=chunk-FC4CEI2V.mjs.map
136
+ //# sourceMappingURL=chunk-EVUKWONG.mjs.map
@@ -0,0 +1,37 @@
1
+ import {
2
+ __objRest,
3
+ __spreadProps,
4
+ __spreadValues
5
+ } from "./chunk-R4SQKVDQ.mjs";
6
+
7
+ // src/badge/badge.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 Badge = forwardRef(
13
+ (_a, ref) => {
14
+ var _b = _a, { children, asChild, variant = "lighter", size = "small", className } = _b, rest = __objRest(_b, ["children", "asChild", "variant", "size", "className"]);
15
+ const Component = asChild ? Slot : "span";
16
+ return /* @__PURE__ */ jsx(
17
+ Component,
18
+ __spreadProps(__spreadValues({
19
+ ref,
20
+ className: clsx(
21
+ "hds-badge",
22
+ `hds-badge--${size}`,
23
+ `hds-badge--${variant}`,
24
+ className
25
+ )
26
+ }, rest), {
27
+ children
28
+ })
29
+ );
30
+ }
31
+ );
32
+ Badge.displayName = "Badge";
33
+
34
+ export {
35
+ Badge
36
+ };
37
+ //# sourceMappingURL=chunk-GQUFERB2.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/badge/badge.tsx"],"sourcesContent":["import { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { forwardRef } from \"react\";\n\nexport interface BadgeProps extends React.AnchorHTMLAttributes<HTMLSpanElement> {\n children: React.ReactNode;\n\n /**\n * Color of the badge\n *\n * @default \"lighter\"\n */\n variant?: \"lighter\" | \"dark\" | \"white\" | \"warning\";\n\n /**\n * Font size of the badge\n *\n * @default \"small\"\n */\n size?: \"small\" | \"smaller\";\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 * Badges are used to label, categorize or organize items using keywords to describe them.\n *\n * @example\n * <Badge variant=\"dark\">Dark</Badge>\n */\nexport const Badge = forwardRef<HTMLSpanElement, BadgeProps>(\n ({ children, asChild, variant = \"lighter\", size = \"small\", className, ...rest }, ref) => {\n const Component = asChild ? Slot : \"span\";\n return (\n <Component\n ref={ref}\n className={clsx(\n \"hds-badge\",\n `hds-badge--${size}`,\n `hds-badge--${variant}`,\n className as undefined,\n )}\n {...rest}\n >\n {children}\n </Component>\n );\n },\n);\nBadge.displayName = \"Badge\";\n"],"mappings":";;;;;;;AAAA,SAAS,YAAY;AACrB,SAAS,YAAY;AACrB,SAAS,kBAAkB;AAqCrB;AAJC,IAAM,QAAQ;AAAA,EACnB,CAAC,IAAgF,QAAQ;AAAxF,iBAAE,YAAU,SAAS,UAAU,WAAW,OAAO,SAAS,UApC7D,IAoCG,IAAwE,iBAAxE,IAAwE,CAAtE,YAAU,WAAS,WAAqB,QAAgB;AACzD,UAAM,YAAY,UAAU,OAAO;AACnC,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,WAAW;AAAA,UACT;AAAA,UACA,cAAc,IAAI;AAAA,UAClB,cAAc,OAAO;AAAA,UACrB;AAAA,QACF;AAAA,SACI,OARL;AAAA,QAUE;AAAA;AAAA,IACH;AAAA,EAEJ;AACF;AACA,MAAM,cAAc;","names":[]}
@@ -2,11 +2,11 @@ import {
2
2
  LinkList
3
3
  } from "./chunk-COEZA7WA.mjs";
4
4
  import {
5
- PrimaryButton
6
- } from "./chunk-KEKPEN2C.mjs";
5
+ Button
6
+ } from "./chunk-6MR5XZOX.mjs";
7
7
  import {
8
8
  Accordion
9
- } from "./chunk-M3Y3XOGC.mjs";
9
+ } from "./chunk-B6L7IFDX.mjs";
10
10
  import {
11
11
  __objRest,
12
12
  __spreadProps,
@@ -30,7 +30,7 @@ var FooterButtonLink = forwardRef(
30
30
  (_a, ref) => {
31
31
  var _b = _a, { children, className, asChild } = _b, rest = __objRest(_b, ["children", "className", "asChild"]);
32
32
  const Component = asChild ? Slot : "a";
33
- return /* @__PURE__ */ jsx(PrimaryButton, { asChild: true, fill: "outline", className: clsx(className), children: /* @__PURE__ */ jsx(Component, __spreadProps(__spreadValues({ ref }, rest), { children })) });
33
+ return /* @__PURE__ */ jsx(Button, { asChild: true, variant: "primary-outline", className: clsx(className), children: /* @__PURE__ */ jsx(Component, __spreadProps(__spreadValues({ ref }, rest), { children })) });
34
34
  }
35
35
  );
36
36
  FooterButtonLink.displayName = "FooterButton";
@@ -106,4 +106,4 @@ export {
106
106
  FooterLinkSection,
107
107
  Footer
108
108
  };
109
- //# sourceMappingURL=chunk-C34HEQXO.mjs.map
109
+ //# sourceMappingURL=chunk-GRWLX5BC.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/footer/footer.tsx"],"sourcesContent":["import { forwardRef, type HTMLAttributes, type ReactElement } from \"react\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { Accordion } from \"../accordion\";\nimport { LinkList } from \"../list/link-list\";\nimport { Button } from \"../button\";\n\ninterface FooterLogoProps extends HTMLAttributes<HTMLDivElement> {\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n *\n * @default false\n */\n asChild?: boolean;\n}\n\n/**\n * A fixed Posten or Bring logo.\n *\n * The logo follows the brand theme, so if the class `hds-theme-bring` is set the Bring logo will be shown instead of the Posten logo\n */\nexport const FooterLogo = forwardRef<HTMLDivElement, FooterLogoProps>(\n ({ children, className, asChild, ...rest }, ref) => {\n const Component = asChild ? Slot : \"div\";\n return (\n <Component className={clsx(`hds-footer__logo`, className as undefined)} ref={ref} {...rest}>\n {children}\n </Component>\n );\n },\n);\nFooterLogo.displayName = \"Footer.Logo\";\n\nexport interface FooterButtonLinkProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n *\n * @default false\n */\n asChild?: boolean;\n}\n\n/**\n * 🚨 WORK IN PROGRESS 🚨\n */\nexport const FooterButtonLink = forwardRef<HTMLAnchorElement, FooterButtonLinkProps>(\n ({ children, className, asChild, ...rest }, ref) => {\n const Component = asChild ? Slot : \"a\";\n return (\n <Button asChild variant=\"primary-outline\" className={clsx(className as undefined)}>\n <Component ref={ref} {...rest}>\n {children}\n </Component>\n </Button>\n );\n },\n);\nFooterButtonLink.displayName = \"FooterButton\";\n\ninterface FooterLinkSectionsProps extends HTMLAttributes<HTMLDivElement> {\n children: ReactElement<FooterLinkSectionProps> | ReactElement<FooterLinkSectionProps>[];\n}\n\n/**\n * Responsive sections of links. Will become an accordion on mobile.\n *\n * Use with {@link FooterLinkSection} for each section.\n */\nexport const FooterLinkSections = forwardRef<HTMLDivElement, FooterLinkSectionsProps>(\n ({ children, className, ...rest }, ref) => {\n return (\n <>\n {/* Mobile and Desktop. The accordion styling gets removed on desktop */}\n <Accordion\n className={clsx(\"hds-footer__link-sections\", className as undefined)}\n ref={ref}\n {...rest}\n >\n {/* @ts-expect-error -- It's ok */}\n {children}\n </Accordion>\n </>\n );\n },\n);\nFooterLinkSections.displayName = \"Footer.LinkSections\";\n\ninterface FooterLinkSectionProps extends HTMLAttributes<HTMLDivElement> {\n heading: React.ReactNode;\n children: React.ReactNode;\n}\n\nexport const FooterLinkSection = forwardRef<HTMLDivElement, FooterLinkSectionProps>(\n ({ heading, children, className, ...rest }, ref) => {\n // @ts-expect-error -- It's ok\n const linkListChildren = <LinkList>{children}</LinkList>;\n return (\n <>\n {/* Mobile */}\n <Accordion.Item\n className={clsx(`hds-footer__link-section`, className as undefined)}\n ref={ref}\n {...rest}\n >\n <Accordion.Header>{heading}</Accordion.Header>\n <Accordion.Content>{linkListChildren}</Accordion.Content>\n </Accordion.Item>\n\n {/* Desktop */}\n <div className={clsx(`hds-footer__link-section`, className as undefined)}>\n <h2>{heading}</h2>\n {linkListChildren}\n </div>\n </>\n );\n },\n);\nFooterLinkSection.displayName = \"Footer.LinkSection\";\n\nexport interface FooterProps extends HTMLAttributes<HTMLDivElement> {\n /**\n * Footer variant\n *\n * @default \"default\"\n */\n variant?: \"default\" | \"slim\";\n\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n *\n * @default false\n */\n asChild?: boolean;\n}\n\n/**\n * 🚨 WORK IN PROGRESS 🚨\n */\nexport const Footer = forwardRef<HTMLDivElement, FooterProps>(\n ({ children, className, variant, asChild, ...rest }, ref) => {\n const Component = asChild ? Slot : \"footer\";\n return (\n <Component\n className={clsx(\n `hds-footer`,\n variant === \"slim\" && \"hds-footer--slim\",\n className as undefined,\n )}\n ref={ref}\n {...rest}\n >\n {children}\n </Component>\n );\n },\n) as FooterType;\nFooter.displayName = \"Footer\";\n\ntype FooterType = ReturnType<typeof forwardRef<HTMLDivElement, FooterProps>> & {\n Logo: typeof FooterLogo;\n ButtonLink: typeof FooterButtonLink;\n LinkSections: typeof FooterLinkSections;\n LinkSection: typeof FooterLinkSection;\n};\n\nFooter.Logo = FooterLogo;\nFooter.ButtonLink = FooterButtonLink;\nFooter.LinkSections = FooterLinkSections;\nFooter.LinkSection = FooterLinkSection;\n"],"mappings":";;;;;;;;;;;;;;;;AAAA,SAAS,kBAA0D;AACnE,SAAS,YAAY;AACrB,SAAS,YAAY;AAuBf,SA8CA,UA9CA,KA0EE,YA1EF;AAJC,IAAM,aAAa;AAAA,EACxB,CAAC,IAA2C,QAAQ;AAAnD,iBAAE,YAAU,WAAW,QAtB1B,IAsBG,IAAmC,iBAAnC,IAAmC,CAAjC,YAAU,aAAW;AACtB,UAAM,YAAY,UAAU,OAAO;AACnC,WACE,oBAAC,0CAAU,WAAW,KAAK,oBAAoB,SAAsB,GAAG,OAAc,OAArF,EACE,WACH;AAAA,EAEJ;AACF;AACA,WAAW,cAAc;AAclB,IAAM,mBAAmB;AAAA,EAC9B,CAAC,IAA2C,QAAQ;AAAnD,iBAAE,YAAU,WAAW,QA9C1B,IA8CG,IAAmC,iBAAnC,IAAmC,CAAjC,YAAU,aAAW;AACtB,UAAM,YAAY,UAAU,OAAO;AACnC,WACE,oBAAC,UAAO,SAAO,MAAC,SAAQ,mBAAkB,WAAW,KAAK,SAAsB,GAC9E,8BAAC,0CAAU,OAAc,OAAxB,EACE,WACH,GACF;AAAA,EAEJ;AACF;AACA,iBAAiB,cAAc;AAWxB,IAAM,qBAAqB;AAAA,EAChC,CAAC,IAAkC,QAAQ;AAA1C,iBAAE,YAAU,UArEf,IAqEG,IAA0B,iBAA1B,IAA0B,CAAxB,YAAU;AACX,WACE,gCAEE;AAAA,MAAC;AAAA;AAAA,QACC,WAAW,KAAK,6BAA6B,SAAsB;AAAA,QACnE;AAAA,SACI,OAHL;AAAA,QAME;AAAA;AAAA,IACH,GACF;AAAA,EAEJ;AACF;AACA,mBAAmB,cAAc;AAO1B,IAAM,oBAAoB;AAAA,EAC/B,CAAC,IAA2C,QAAQ;AAAnD,iBAAE,WAAS,UAAU,UA7FxB,IA6FG,IAAmC,iBAAnC,IAAmC,CAAjC,WAAS,YAAU;AAEpB,UAAM,mBAAmB,oBAAC,YAAU,UAAS;AAC7C,WACE,iCAEE;AAAA;AAAA,QAAC,UAAU;AAAA,QAAV;AAAA,UACC,WAAW,KAAK,4BAA4B,SAAsB;AAAA,UAClE;AAAA,WACI,OAHL;AAAA,UAKC;AAAA,gCAAC,UAAU,QAAV,EAAkB,mBAAQ;AAAA,YAC3B,oBAAC,UAAU,SAAV,EAAmB,4BAAiB;AAAA;AAAA;AAAA,MACvC;AAAA,MAGA,qBAAC,SAAI,WAAW,KAAK,4BAA4B,SAAsB,GACrE;AAAA,4BAAC,QAAI,mBAAQ;AAAA,QACZ;AAAA,SACH;AAAA,OACF;AAAA,EAEJ;AACF;AACA,kBAAkB,cAAc;AAqBzB,IAAM,SAAS;AAAA,EACpB,CAAC,IAAoD,QAAQ;AAA5D,iBAAE,YAAU,WAAW,SAAS,QA3InC,IA2IG,IAA4C,iBAA5C,IAA4C,CAA1C,YAAU,aAAW,WAAS;AAC/B,UAAM,YAAY,UAAU,OAAO;AACnC,WACE;AAAA,MAAC;AAAA;AAAA,QACC,WAAW;AAAA,UACT;AAAA,UACA,YAAY,UAAU;AAAA,UACtB;AAAA,QACF;AAAA,QACA;AAAA,SACI,OAPL;AAAA,QASE;AAAA;AAAA,IACH;AAAA,EAEJ;AACF;AACA,OAAO,cAAc;AASrB,OAAO,OAAO;AACd,OAAO,aAAa;AACpB,OAAO,eAAe;AACtB,OAAO,cAAc;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  AccordionItemContext
3
- } from "./chunk-V3PAFMK5.mjs";
3
+ } from "./chunk-YQFL5UN4.mjs";
4
4
  import {
5
5
  __objRest,
6
6
  __spreadProps,
@@ -26,6 +26,7 @@ var AccordionHeader = forwardRef(
26
26
  "button",
27
27
  __spreadProps(__spreadValues({}, rest), {
28
28
  "aria-expanded": context.open,
29
+ "aria-controls": context.contentId,
29
30
  "data-state": context.open ? "open" : "closed",
30
31
  className: clsx("hds-accordion-item-header", className),
31
32
  onClick: expandOrCollapse,
@@ -41,4 +42,4 @@ AccordionHeader.displayName = "Accordion.Header";
41
42
  export {
42
43
  AccordionHeader
43
44
  };
44
- //# sourceMappingURL=chunk-3EFAPJ3H.mjs.map
45
+ //# sourceMappingURL=chunk-HJYS664B.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/accordion/accordion-header.tsx"],"sourcesContent":["import type { MouseEvent, ReactNode } from \"react\";\nimport { forwardRef, useContext } from \"react\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport { AccordionItemContext } from \"./context\";\n\nexport interface AccordionHeaderProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n children: ReactNode;\n}\n\nexport const AccordionHeader = forwardRef<HTMLButtonElement, AccordionHeaderProps>(\n ({ 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?.(e);\n };\n return (\n <button\n {...rest}\n aria-expanded={context.open}\n aria-controls={context.contentId}\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 </button>\n );\n },\n);\n\nAccordionHeader.displayName = \"Accordion.Header\";\n"],"mappings":";;;;;;;;;;AACA,SAAS,YAAY,kBAAkB;AACvC,SAAS,YAAY;AA4Bb;AArBD,IAAM,kBAAkB;AAAA,EAC7B,CAAC,IAA2C,QAAQ;AAAnD,iBAAE,YAAU,WAAW,QAV1B,IAUG,IAAmC,iBAAnC,IAAmC,CAAjC,YAAU,aAAW;AACtB,UAAM,UAAU,WAAW,oBAAoB;AAC/C,QAAI,YAAY,MAAM;AACpB,aAAO;AAAA,IACT;AACA,UAAM,mBAAmB,CAAC,MAAqC;AAC7D,cAAQ,QAAQ,CAAC,QAAQ,IAAI;AAC7B,yCAAU;AAAA,IACZ;AACA,WACE;AAAA,MAAC;AAAA,uCACK,OADL;AAAA,QAEC,iBAAe,QAAQ;AAAA,QACvB,iBAAe,QAAQ;AAAA,QACvB,cAAY,QAAQ,OAAO,SAAS;AAAA,QACpC,WAAW,KAAK,6BAA6B,SAAsB;AAAA,QACnE,SAAS;AAAA,QACT;AAAA,QACA,MAAK;AAAA,QAEL,8BAAC,UAAM,UAAS;AAAA;AAAA,IAClB;AAAA,EAEJ;AACF;AAEA,gBAAgB,cAAc;","names":[]}
@@ -1,9 +1,9 @@
1
- import {
2
- Box
3
- } from "./chunk-AJWSQEDP.mjs";
4
1
  import {
5
2
  useMergeRefs
6
3
  } from "./chunk-TDXU2IC6.mjs";
4
+ import {
5
+ Box
6
+ } from "./chunk-AJWSQEDP.mjs";
7
7
  import {
8
8
  __objRest,
9
9
  __spreadProps,
@@ -131,4 +131,4 @@ export {
131
131
  ModalFooter,
132
132
  Modal
133
133
  };
134
- //# sourceMappingURL=chunk-OGZ2NBMH.mjs.map
134
+ //# sourceMappingURL=chunk-IHZ2MRF6.mjs.map
@@ -0,0 +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;AAAS;AACvB,QAAI,SAAS,QAAQ;AAAM,eAAS,KAAK,UAAU,IAAI,SAAS;AAEhE,UAAM,WAAW,IAAI,iBAAiB,MAAM;AAzLhD;AA0LM,WAAI,cAAS,YAAT,mBAAkB;AAAM,iBAAS,KAAK,UAAU,IAAI,SAAS;AAAA;AAC5D,iBAAS,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"]}