@ogcio/design-system-react 1.29.0 → 1.31.0

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 (109) hide show
  1. package/README.md +11 -33
  2. package/dist/alert/variants.d.ts +78 -2
  3. package/dist/atoms/DsButton.d.ts +194 -0
  4. package/dist/atoms/DsButton.js +330 -0
  5. package/dist/atoms/InsetText.d.ts +14 -0
  6. package/dist/atoms/InsetText.js +17 -0
  7. package/dist/atoms/icons/Close.d.ts +3 -0
  8. package/dist/atoms/icons/Close.js +23 -0
  9. package/dist/atoms/icons/KeyboardArrowDown.d.ts +3 -0
  10. package/dist/atoms/icons/KeyboardArrowDown.js +23 -0
  11. package/dist/atoms/icons/KeyboardArrowUp.d.ts +3 -0
  12. package/dist/atoms/icons/KeyboardArrowUp.js +23 -0
  13. package/dist/atoms/icons/Visibility.d.ts +3 -0
  14. package/dist/atoms/icons/Visibility.js +23 -0
  15. package/dist/atoms/icons/VisibilityOff.d.ts +3 -0
  16. package/dist/atoms/icons/VisibilityOff.js +23 -0
  17. package/dist/atoms/icons/index.d.ts +6 -0
  18. package/dist/atoms/icons/index.js +12 -0
  19. package/dist/atoms/icons/logos/LogoBlack.d.ts +3 -0
  20. package/dist/atoms/icons/logos/LogoBlack.js +327 -0
  21. package/dist/atoms/icons/logos/LogoGoldGreen.d.ts +3 -0
  22. package/dist/atoms/icons/logos/LogoGoldGreen.js +327 -0
  23. package/dist/atoms/icons/logos/LogoGoldWhite.d.ts +3 -0
  24. package/dist/atoms/icons/logos/LogoGoldWhite.js +87 -0
  25. package/dist/atoms/icons/logos/LogoHarpBlack.d.ts +3 -0
  26. package/dist/atoms/icons/logos/LogoHarpBlack.js +68 -0
  27. package/dist/atoms/icons/logos/LogoHarpWhite.d.ts +3 -0
  28. package/dist/{assets/logos/LogoHarpBlack.js → atoms/icons/logos/LogoHarpWhite.js} +33 -31
  29. package/dist/atoms/icons/logos/LogoWhite.d.ts +3 -0
  30. package/dist/atoms/icons/logos/LogoWhite.js +327 -0
  31. package/dist/atoms/icons/logos/index.d.ts +6 -0
  32. package/dist/atoms/icons/logos/index.js +14 -0
  33. package/dist/atoms/icons/types.d.ts +10 -0
  34. package/dist/atoms/icons/types.js +1 -0
  35. package/dist/atoms/index.d.ts +3 -0
  36. package/dist/atoms/index.js +16 -0
  37. package/dist/autocomplete/autocomplete.js +131 -115
  38. package/dist/blockquote/blockquote.d.ts +4 -1
  39. package/dist/blockquote/blockquote.js +18 -4
  40. package/dist/breadcrumbs/breadcrumbs.js +54 -33
  41. package/dist/button-group/button-group.js +31 -28
  42. package/dist/character-count/character-count.js +5 -5
  43. package/dist/chip/chip.js +41 -19
  44. package/dist/combo-box/combo-box.js +6 -13
  45. package/dist/combo-box/dropdown-item.js +39 -40
  46. package/dist/cookie-banner/cookie-banner.js +28 -20
  47. package/dist/data-table/data-table-footer.js +57 -51
  48. package/dist/data-table/data-table-header.d.ts +7 -7
  49. package/dist/data-table/data-table-header.js +97 -110
  50. package/dist/data-table/data-table-selected-rows.d.ts +1 -0
  51. package/dist/data-table/data-table-selected-rows.js +15 -19
  52. package/dist/details/details.js +43 -23
  53. package/dist/drawer/drawer.js +35 -32
  54. package/dist/footer/footer.js +54 -46
  55. package/dist/forms/form-field/form-field.d.ts +2 -2
  56. package/dist/forms/form-field/form-field.js +40 -30
  57. package/dist/forms/form-field/types.d.ts +10 -3
  58. package/dist/header/components/header-slot.js +33 -32
  59. package/dist/header/header-legacy.js +8 -8
  60. package/dist/header/variants.d.ts +220 -20
  61. package/dist/heading/heading.d.ts +70 -2
  62. package/dist/hooks/use-aria-hider.d.ts +1 -1
  63. package/dist/hooks/use-aria-hider.js +14 -13
  64. package/dist/hooks/use-breakpoint.js +15 -12
  65. package/dist/hooks/use-focus-trap.d.ts +1 -1
  66. package/dist/hooks/use-focus-trap.js +179 -179
  67. package/dist/icon/icon.d.ts +10 -0
  68. package/dist/icon/icon.js +64 -52
  69. package/dist/icon/icons.d.ts +1 -1
  70. package/dist/icons/index.d.ts +1 -0
  71. package/dist/icons/index.js +12 -0
  72. package/dist/index.d.ts +1 -0
  73. package/dist/index.js +144 -142
  74. package/dist/input-file/input-file.js +15 -12
  75. package/dist/input-password/input-password.js +13 -12
  76. package/dist/input-text/input-text.js +18 -16
  77. package/dist/label/label.d.ts +43 -0
  78. package/dist/label/label.js +7 -6
  79. package/dist/logos/index.d.ts +1 -0
  80. package/dist/logos/index.js +14 -0
  81. package/dist/modal/modal.js +125 -127
  82. package/dist/popover/popover.js +67 -64
  83. package/dist/score-select/score-select.js +20 -20
  84. package/dist/select/select-next.js +45 -45
  85. package/dist/spinner/spinner.d.ts +30 -2
  86. package/dist/styles.css +12 -2
  87. package/dist/table/table-row.js +14 -7
  88. package/dist/table/table.d.ts +22 -2
  89. package/dist/tabs/tab-item.d.ts +2 -2
  90. package/dist/tabs/tab-panel.js +6 -6
  91. package/dist/tabs/tabs.js +19 -19
  92. package/dist/text-input/text-input.d.ts +1 -1
  93. package/dist/textarea/textarea.js +27 -28
  94. package/dist/toast/ds-toast.d.ts +78 -2
  95. package/fonts.css +10 -0
  96. package/package.json +17 -12
  97. package/dist/assets/logos/LogoBlack.d.ts +0 -3
  98. package/dist/assets/logos/LogoBlack.js +0 -322
  99. package/dist/assets/logos/LogoGoldGreen.d.ts +0 -3
  100. package/dist/assets/logos/LogoGoldGreen.js +0 -322
  101. package/dist/assets/logos/LogoGoldWhite.d.ts +0 -3
  102. package/dist/assets/logos/LogoGoldWhite.js +0 -82
  103. package/dist/assets/logos/LogoHarpBlack.d.ts +0 -3
  104. package/dist/assets/logos/LogoHarpWhite.d.ts +0 -3
  105. package/dist/assets/logos/LogoHarpWhite.js +0 -60
  106. package/dist/assets/logos/LogoWhite.d.ts +0 -3
  107. package/dist/assets/logos/LogoWhite.js +0 -322
  108. package/dist/assets/logos/index.d.ts +0 -6
  109. package/dist/assets/logos/index.js +0 -14
@@ -1,83 +1,67 @@
1
1
  "use client";
2
- import { jsxs as z, jsx as h } from "react/jsx-runtime";
3
- import { forwardRef as J, useRef as N, useImperativeHandle as Q, useEffect as W, useCallback as D, createElement as Y, Children as Z, isValidElement as ee } from "react";
4
- import { cn as P } from "../cn.js";
5
- import { useDomId as te } from "../hooks/use-dom-id.js";
2
+ import { jsxs as z, jsx as y } from "react/jsx-runtime";
3
+ import { forwardRef as J, useRef as D, useImperativeHandle as Q, useEffect as W, useCallback as P, createElement as Y, Children as Z, isValidElement as ee } from "react";
4
+ import { c as te } from "../index-CB-zPpNk.js";
5
+ import { cn as oe } from "../cn.js";
6
+ import { useDomId as ne } from "../hooks/use-dom-id.js";
6
7
  import { translate as G } from "../i18n/utility.js";
7
- import { InputText as oe } from "../input-text/input-text.js";
8
- import { Popover as ne } from "../popover/popover.js";
9
- import { SelectMenu as ae, SelectMenuOption as L, SelectMenuGroupItem as re } from "../select/select-menu.js";
10
- import { cycleEnabledIndex as le } from "../utilities.js";
11
- import { AUTOCOMPLETE_ACTIONS as pe } from "./types.js";
12
- import { useAutocompleteController as ie } from "./use-autocomplete-controller.js";
8
+ import { InputText as re } from "../input-text/input-text.js";
9
+ import { Popover as ae } from "../popover/popover.js";
10
+ import { SelectMenu as le, SelectMenuOption as L, SelectMenuGroupItem as pe } from "../select/select-menu.js";
11
+ import { cycleEnabledIndex as ie } from "../utilities.js";
12
+ import { AUTOCOMPLETE_ACTIONS as se } from "./types.js";
13
+ import { useAutocompleteController as ce } from "./use-autocomplete-controller.js";
13
14
  const {
14
- ON_RESET: se,
15
- ON_SELECT_ITEM: ce,
15
+ ON_RESET: ue,
16
+ ON_SELECT_ITEM: de,
16
17
  SET_INPUT_VALUE: R,
17
18
  SET_IS_OPEN: i,
18
- TOGGLE_CLEAR_BUTTON: C,
19
- SET_HIGHLIGHTED_INDEX: ue,
20
- SET_VALUE: de
21
- } = pe, me = (a) => a ? "keyboard_arrow_up" : "keyboard_arrow_down", T = (a, r) => (p) => {
22
- a && a({
23
- target: { name: r, value: p },
24
- currentTarget: { name: r, value: p },
25
- type: "change",
26
- bubbles: !0,
27
- isTrusted: !0
28
- });
29
- }, fe = (a, r) => (p) => {
30
- a && a({
31
- target: { name: r, value: p },
32
- currentTarget: { name: r, value: p },
33
- type: "blur",
34
- bubbles: !0,
35
- isTrusted: !0
36
- });
37
- }, ke = J(
38
- (a, r) => {
39
- var x;
40
- const p = N(null), {
41
- disabled: l,
42
- children: c,
43
- placeholder: y,
19
+ TOGGLE_CLEAR_BUTTON: S,
20
+ SET_HIGHLIGHTED_INDEX: me,
21
+ SET_VALUE: fe
22
+ } = se, Pe = J(
23
+ (r, a) => {
24
+ var k;
25
+ const l = D(null), {
26
+ disabled: p = !1,
27
+ children: s,
28
+ placeholder: h,
44
29
  onSelectItem: m,
45
30
  isLoading: g,
46
- freeSolo: s = !1,
31
+ freeSolo: c = !1,
47
32
  onChange: b,
48
33
  onBlur: B,
49
34
  name: u,
50
35
  value: E,
51
36
  id: M
52
- } = a, v = N(!1), {
37
+ } = r, v = D(!1), C = be({ freeSolo: c, disabled: p }), {
53
38
  state: t,
54
39
  dispatch: o,
55
40
  inputRef: f,
56
- getOptionLabelByValue: S,
57
- listRef: A,
58
- debouncedFilter: U,
59
- validChildren: be
60
- } = ie({
61
- ...a,
41
+ getOptionLabelByValue: A,
42
+ listRef: _,
43
+ debouncedFilter: U
44
+ } = ce({
45
+ ...r,
62
46
  onChange: T(b, u)
63
- }), _ = te();
64
- Q(r, () => f.current), W(() => {
65
- E !== void 0 && (o({ type: de, payload: E }), o({
47
+ }), w = ne();
48
+ Q(a, () => f.current), W(() => {
49
+ E !== void 0 && (o({ type: fe, payload: E }), o({
66
50
  type: R,
67
- payload: S(c, E)
68
- }), o({ type: C }));
51
+ payload: A(s, E)
52
+ }), o({ type: S }));
69
53
  }, [E]);
70
- const w = a["aria-label"] ?? G("autocomplete.placeholder", { defaultValue: "Type to Search" }), V = (e) => {
71
- o({ type: i, payload: e }), e || o({ type: C, payload: !1 });
54
+ const x = r["aria-label"] ?? G("autocomplete.placeholder", { defaultValue: "Type to Search" }), V = (e) => {
55
+ o({ type: i, payload: e }), e || o({ type: S, payload: !1 });
72
56
  }, H = () => {
73
- o({ type: se }), o({ type: i, payload: !1 }), T(b, u)("");
57
+ o({ type: ue }), o({ type: i, payload: !1 }), T(b, u)("");
74
58
  }, j = (e) => {
75
- o({ type: R, payload: e }), s && T(b, u)(e), e && o({ type: i, payload: !0 }), U(e);
59
+ o({ type: R, payload: e }), c && T(b, u)(e), e && o({ type: i, payload: !0 }), U(e);
76
60
  }, $ = (e) => {
77
61
  const {
78
62
  target: { value: n }
79
63
  } = e;
80
- e.__origin === "clear_button" && H(), !/^\s/.test(n) && (j(n), o({ type: C }), setTimeout(() => {
64
+ e.__origin === "clear_button" && H(), !/^\s/.test(n) && (j(n), o({ type: S }), setTimeout(() => {
81
65
  var d;
82
66
  return (d = f.current) == null ? void 0 : d.focus();
83
67
  }));
@@ -89,12 +73,12 @@ const {
89
73
  type: i,
90
74
  payload: !0
91
75
  });
92
- }, I = D(
76
+ }, I = P(
93
77
  (e) => {
94
78
  o({
95
- type: ce,
79
+ type: de,
96
80
  payload: {
97
- inputValue: S(c, e),
81
+ inputValue: A(s, e),
98
82
  value: e
99
83
  }
100
84
  }), T(b, u)(e), setTimeout(() => {
@@ -102,28 +86,28 @@ const {
102
86
  (n = f.current) == null || n.focus();
103
87
  }, 0), m == null || m(e);
104
88
  },
105
- [c, o, u, b, m]
89
+ [s, o, u, b, m]
106
90
  ), X = (e) => {
107
- var O, k;
91
+ var O, N;
108
92
  const { relatedTarget: n } = e;
109
- if (n && ((O = A.current) != null && O.contains(n) || (k = p.current) != null && k.contains(n)) || v.current) {
93
+ if (n && ((O = _.current) != null && O.contains(n) || (N = l.current) != null && N.contains(n)) || v.current) {
110
94
  setTimeout(() => v.current = !1, 0);
111
95
  return;
112
96
  }
113
97
  const d = t.value ?? t.inputValue ?? "";
114
- fe(B, u)(d);
115
- }, q = D(
98
+ Ie(B, u)(d);
99
+ }, q = P(
116
100
  (e) => {
117
101
  switch (e.key) {
118
102
  case "ArrowDown":
119
103
  case "ArrowUp": {
120
104
  e.preventDefault();
121
- const n = () => t.highlightedIndex === -1 ? d === -1 ? 0 : -1 : t.highlightedIndex, d = e.key === "ArrowDown" ? 1 : -1, O = le(
105
+ const n = () => t.highlightedIndex === -1 ? d === -1 ? 0 : -1 : t.highlightedIndex, d = e.key === "ArrowDown" ? 1 : -1, O = ie(
122
106
  t.autocompleteOptions,
123
107
  n(),
124
108
  d
125
109
  );
126
- o({ type: ue, payload: O }), o({ type: i, payload: !0 });
110
+ o({ type: me, payload: O }), o({ type: i, payload: !0 });
127
111
  break;
128
112
  }
129
113
  case "Enter":
@@ -149,12 +133,12 @@ const {
149
133
  return /* @__PURE__ */ z(
150
134
  "div",
151
135
  {
152
- "aria-disabled": l,
153
- className: P("gi-autocomplete gi-not-prose", a.className),
136
+ "aria-disabled": p,
137
+ className: oe(C.root(), r.className),
154
138
  children: [
155
- /* @__PURE__ */ h("span", { id: _, className: "gi-sr-only", children: w }),
156
- /* @__PURE__ */ h(
157
- oe,
139
+ /* @__PURE__ */ y("span", { id: w, className: "gi-sr-only", children: x }),
140
+ /* @__PURE__ */ y(
141
+ re,
158
142
  {
159
143
  autoComplete: "off",
160
144
  id: M,
@@ -166,28 +150,25 @@ const {
166
150
  onBlur: X,
167
151
  clearButtonEnabled: t.isClearButtonEnabled,
168
152
  inputActionPosition: "beforeSuffix",
169
- "aria-label": w,
170
- "aria-labelledby": _,
171
- "aria-disabled": l,
172
- disabled: l,
173
- placeholder: y ?? G("autocomplete.placeholder", { defaultValue: "Type to Search" }),
174
- iconEndClassName: P({
175
- "gi-cursor-pointer": !l && !s,
176
- "gi-cursor-not-allowed gi-pointer-events-none": l && !s
177
- }),
178
- iconEnd: s ? void 0 : me(t.isOpen),
153
+ "aria-label": x,
154
+ "aria-labelledby": w,
155
+ "aria-disabled": p,
156
+ disabled: p,
157
+ placeholder: h ?? G("autocomplete.placeholder", { defaultValue: "Type to Search" }),
158
+ iconEndClassName: C.iconEnd(),
159
+ iconEnd: c ? void 0 : Ee(t.isOpen),
179
160
  ref: f,
180
- iconEndRef: p,
161
+ iconEndRef: l,
181
162
  value: t.inputValue,
182
163
  "data-highlighted-index": t.highlightedIndex
183
164
  }
184
165
  ),
185
- /* @__PURE__ */ h(
186
- ne,
166
+ /* @__PURE__ */ y(
167
+ ae,
187
168
  {
188
169
  onOpenChange: V,
189
170
  triggerRef: f,
190
- extraRefs: [p],
171
+ extraRefs: [l],
191
172
  open: t.isOpen,
192
173
  maxHeight: 304,
193
174
  options: {
@@ -201,14 +182,14 @@ const {
201
182
  }
202
183
  ]
203
184
  },
204
- children: /* @__PURE__ */ h(
205
- ae,
185
+ children: /* @__PURE__ */ y(
186
+ le,
206
187
  {
207
188
  onChange: I,
208
189
  isLoading: g,
209
- showNoData: !((x = t.autocompleteOptions) != null && x.length),
210
- ref: A,
211
- children: he(
190
+ showNoData: !((k = t.autocompleteOptions) != null && k.length),
191
+ ref: _,
192
+ children: ye(
212
193
  t.autocompleteOptions,
213
194
  t,
214
195
  I
@@ -221,44 +202,44 @@ const {
221
202
  }
222
203
  );
223
204
  }
224
- ), he = (a, r, p) => a.map((l, c) => {
225
- if (r.optionType === "AutocompleteItem")
205
+ ), ye = (r, a, l) => r.map((p, s) => {
206
+ if (a.optionType === "AutocompleteItem")
226
207
  return /* @__PURE__ */ Y(
227
208
  L,
228
209
  {
229
- ...l.props,
230
- key: `AutocompleteItem-${l.props.value}`,
231
- selected: r.value === l.props.value,
232
- isHighlighted: c === r.highlightedIndex,
233
- index: c
210
+ ...p.props,
211
+ key: `AutocompleteItem-${p.props.value}`,
212
+ selected: a.value === p.props.value,
213
+ isHighlighted: s === a.highlightedIndex,
214
+ index: s
234
215
  }
235
216
  );
236
- if (r.optionType === "AutocompleteGroupItem") {
237
- const y = l, m = Z.toArray(y.props.children).filter((g) => ee(g)).map((g) => {
238
- const s = g.props;
239
- return /* @__PURE__ */ h(
217
+ if (a.optionType === "AutocompleteGroupItem") {
218
+ const h = p, m = Z.toArray(h.props.children).filter((g) => ee(g)).map((g) => {
219
+ const c = g.props;
220
+ return /* @__PURE__ */ y(
240
221
  L,
241
222
  {
242
- ...s,
243
- selected: r.value.toString() === s.value.toString(),
244
- onChange: p,
245
- index: c
223
+ ...c,
224
+ selected: a.value.toString() === c.value.toString(),
225
+ onChange: l,
226
+ index: s
246
227
  },
247
- `SelectGroupItemNext-SelectItemNext-${s.value.toString()}`
228
+ `SelectGroupItemNext-SelectItemNext-${c.value.toString()}`
248
229
  );
249
230
  });
250
- return /* @__PURE__ */ h(
251
- re,
231
+ return /* @__PURE__ */ y(
232
+ pe,
252
233
  {
253
- label: y.props.label,
234
+ label: h.props.label,
254
235
  children: m
255
236
  },
256
- `Group-${y.props.label}`
237
+ `Group-${h.props.label}`
257
238
  );
258
239
  }
259
240
  return null;
260
- }), ye = () => null;
261
- Object.defineProperty(ye, "componentType", {
241
+ }), he = () => null;
242
+ Object.defineProperty(he, "componentType", {
262
243
  value: "AutocompleteItem",
263
244
  writable: !1,
264
245
  enumerable: !1
@@ -269,9 +250,44 @@ Object.defineProperty(ge, "componentType", {
269
250
  writable: !1,
270
251
  enumerable: !1
271
252
  });
253
+ const be = te({
254
+ slots: {
255
+ root: "gi-relative gi-w-full gi-not-prose",
256
+ iconEnd: ""
257
+ },
258
+ variants: {
259
+ freeSolo: {
260
+ true: {},
261
+ false: {
262
+ iconEnd: "gi-cursor-pointer"
263
+ }
264
+ },
265
+ disabled: {
266
+ true: {
267
+ iconEnd: "gi-cursor-not-allowed gi-pointer-events-none"
268
+ }
269
+ }
270
+ }
271
+ }), Ee = (r) => r ? "keyboard_arrow_up" : "keyboard_arrow_down", T = (r, a) => (l) => {
272
+ r == null || r({
273
+ target: { name: a, value: l },
274
+ currentTarget: { name: a, value: l },
275
+ type: "change",
276
+ bubbles: !0,
277
+ isTrusted: !0
278
+ });
279
+ }, Ie = (r, a) => (l) => {
280
+ r && r({
281
+ target: { name: a, value: l },
282
+ currentTarget: { name: a, value: l },
283
+ type: "blur",
284
+ bubbles: !0,
285
+ isTrusted: !0
286
+ });
287
+ };
272
288
  export {
273
- ke as Autocomplete,
289
+ Pe as Autocomplete,
274
290
  ge as AutocompleteGroupItem,
275
- ye as AutocompleteItem,
276
- he as renderSelectMenuOptions
291
+ he as AutocompleteItem,
292
+ ye as renderSelectMenuOptions
277
293
  };
@@ -1,3 +1,6 @@
1
1
  import { default as React } from 'react';
2
2
  export type BlockquoteProps = React.QuoteHTMLAttributes<HTMLQuoteElement>;
3
- export declare function Blockquote({ children, cite, ...props }: BlockquoteProps): import("react/jsx-runtime").JSX.Element;
3
+ /**
4
+ * @deprecated Use `InsetText` instead. `Blockquote` is kept as an alias for backward compatibility.
5
+ */
6
+ export declare function Blockquote(props: BlockquoteProps): import("react/jsx-runtime").JSX.Element;
@@ -1,7 +1,21 @@
1
- import { jsx as c } from "react/jsx-runtime";
2
- function u({ children: o, cite: t, ...e }) {
3
- return /* @__PURE__ */ c("blockquote", { className: "gi-blockquote", cite: t, ...e, children: o });
1
+ import { jsx as l } from "react/jsx-runtime";
2
+ import s from "../atoms/InsetText.js";
3
+ const a = ({
4
+ id: e,
5
+ cite: r,
6
+ children: t,
7
+ "aria-describedby": o,
8
+ "aria-labelledby": i
9
+ }) => ({
10
+ id: e,
11
+ cite: r,
12
+ children: t,
13
+ describedBy: o,
14
+ labelledBy: i
15
+ });
16
+ function n(e) {
17
+ return /* @__PURE__ */ l(s, { ...a(e) });
4
18
  }
5
19
  export {
6
- u as Blockquote
20
+ n as Blockquote
7
21
  };
@@ -1,44 +1,65 @@
1
- import { jsx as r, jsxs as m } from "react/jsx-runtime";
2
- import { translate as c } from "../i18n/utility.js";
3
- import { Icon as t } from "../icon/icon.js";
4
- import { Link as o } from "../link/link.js";
5
- const h = () => /* @__PURE__ */ r("div", { "aria-hidden": "true", children: /* @__PURE__ */ r(t, { className: "gi-text-gray-700", icon: "more_horiz" }) }), n = ({
6
- href: e,
7
- children: a,
8
- asChild: s,
9
- ...i
10
- }) => /* @__PURE__ */ r(
11
- o,
1
+ import { jsx as e, jsxs as t } from "react/jsx-runtime";
2
+ import { translate as m } from "../i18n/utility.js";
3
+ import { Icon as n } from "../icon/icon.js";
4
+ import { Link as c } from "../link/link.js";
5
+ const f = () => /* @__PURE__ */ e("div", { "aria-hidden": "true", children: /* @__PURE__ */ e(n, { className: "gi-text-gray-700", icon: "more_horiz" }) }), o = ({
6
+ href: r,
7
+ children: i,
8
+ asChild: a,
9
+ ...s
10
+ }) => /* @__PURE__ */ e(
11
+ c,
12
12
  {
13
13
  noColor: !0,
14
- asChild: s,
15
- href: e,
16
- "aria-label": `${a} page`,
14
+ asChild: a,
15
+ href: r,
16
+ "aria-label": `${i} page`,
17
17
  size: "sm",
18
- className: "gi-breadcrumbs-link",
19
- ...i,
20
- children: a
18
+ className: "gi-text-ellipsis gi-whitespace-nowrap gi-line-clamp-1",
19
+ ...s,
20
+ children: i
21
21
  }
22
- ), f = (e) => /* @__PURE__ */ r(n, { ...e, "aria-current": "page" }), b = () => /* @__PURE__ */ r("span", { className: "gi-breadcrumbs-separator", children: "/" }), B = ({ children: e, iconStart: a }) => {
23
- const s = Array.isArray(e) ? e : [e];
24
- return /* @__PURE__ */ r(
22
+ ), x = (r) => /* @__PURE__ */ e(o, { ...r, "aria-current": "page" }), g = () => /* @__PURE__ */ e("span", { className: "gi-px-3 gi-text-gray-500", children: "/" }), h = ({ children: r, iconStart: i }) => {
23
+ const a = Array.isArray(r) ? r : [r];
24
+ return /* @__PURE__ */ e(
25
25
  "nav",
26
26
  {
27
- "aria-label": c("breadcrumbs.breadcrumbs", { defaultValue: "Breadcrumbs" }),
28
- className: "gi-breadcrumbs",
29
- children: /* @__PURE__ */ m("ol", { role: "list", children: [
30
- a && /* @__PURE__ */ r("li", { role: "listitem", className: "gi-pr-1", children: /* @__PURE__ */ r(t, { "aria-label": "chevron-left", icon: "chevron_left", size: "sm" }) }),
31
- s.map((i, l) => /* @__PURE__ */ m("li", { role: "listitem", children: [
32
- i,
33
- l < s.length - 1 && /* @__PURE__ */ r(b, {})
34
- ] }, `breadcrumb_item_${l}`))
35
- ] })
27
+ "aria-label": m("breadcrumbs.breadcrumbs", { defaultValue: "Breadcrumbs" }),
28
+ className: "gi-flex gi-items-center gi-gap-1",
29
+ children: /* @__PURE__ */ t(
30
+ "ol",
31
+ {
32
+ role: "list",
33
+ className: `
34
+ gi-flex
35
+ gi-list-none
36
+ gi-flex-wrap
37
+ [&>li]:gi-flex
38
+ [&>li]:gi-items-center
39
+ `,
40
+ children: [
41
+ i && /* @__PURE__ */ e("li", { role: "listitem", className: "gi-pr-1", children: /* @__PURE__ */ e(n, { "aria-label": "chevron-left", icon: "chevron_left", size: "sm" }) }),
42
+ a.map((s, l) => /* @__PURE__ */ t(
43
+ "li",
44
+ {
45
+ className: "gi-mx-0",
46
+ role: "listitem",
47
+ children: [
48
+ s,
49
+ l < a.length - 1 && /* @__PURE__ */ e(g, {})
50
+ ]
51
+ },
52
+ `breadcrumb_item_${l}`
53
+ ))
54
+ ]
55
+ }
56
+ )
36
57
  }
37
58
  );
38
59
  };
39
60
  export {
40
- f as BreadcrumbCurrentLink,
41
- h as BreadcrumbEllipsis,
42
- n as BreadcrumbLink,
43
- B as Breadcrumbs
61
+ x as BreadcrumbCurrentLink,
62
+ f as BreadcrumbEllipsis,
63
+ o as BreadcrumbLink,
64
+ h as Breadcrumbs
44
65
  };
@@ -1,20 +1,20 @@
1
1
  "use client";
2
- import { jsx as y } from "react/jsx-runtime";
3
- import { createContext as G, useState as V, useEffect as k, useContext as S } from "react";
4
- import { Button as w } from "../button/button.js";
5
- import { cn as E } from "../cn.js";
6
- import { useDomId as $ } from "../hooks/use-dom-id.js";
7
- const x = G(
2
+ import { jsx as x } from "react/jsx-runtime";
3
+ import { createContext as G, useState as V, useEffect as k, useContext as w } from "react";
4
+ import { Button as S } from "../button/button.js";
5
+ import { cn as g } from "../cn.js";
6
+ import { useDomId as j } from "../hooks/use-dom-id.js";
7
+ const I = G(
8
8
  void 0
9
- ), P = ({
9
+ ), D = ({
10
10
  value: r,
11
- children: d,
12
- role: s,
11
+ children: s,
12
+ role: d,
13
13
  "aria-checked": e,
14
14
  "aria-label": a,
15
15
  ...t
16
16
  }) => {
17
- const c = S(x);
17
+ const c = w(I);
18
18
  if (!c)
19
19
  throw new Error("ButtonGroupItem must be used within a ButtonGroup");
20
20
  const {
@@ -27,26 +27,26 @@ const x = G(
27
27
  } = c, i = n === r, b = () => {
28
28
  l(r), o == null || o(r);
29
29
  }, f = `${m}-${r}`;
30
- return /* @__PURE__ */ y(
31
- w,
30
+ return /* @__PURE__ */ x(
31
+ S,
32
32
  {
33
33
  variant: i ? "primary" : "secondary",
34
34
  size: u,
35
35
  appearance: p,
36
36
  onClick: b,
37
37
  id: f,
38
- role: s || "radio",
38
+ role: d || "radio",
39
39
  "aria-checked": e === void 0 ? i : e,
40
40
  "aria-label": a,
41
41
  type: "button",
42
42
  ...t,
43
- children: d
43
+ children: s
44
44
  }
45
45
  );
46
- }, q = ({
46
+ }, N = ({
47
47
  name: r,
48
- size: d = "medium",
49
- appearance: s = "dark",
48
+ size: s = "medium",
49
+ appearance: d = "dark",
50
50
  onChange: e,
51
51
  defaultValue: a,
52
52
  value: t,
@@ -63,26 +63,29 @@ const x = G(
63
63
  k(() => {
64
64
  t !== void 0 && i(t);
65
65
  }, [t]);
66
- const f = (I) => {
67
- t === void 0 && i(I), e == null || e(I);
68
- }, B = $();
69
- return /* @__PURE__ */ y(
70
- x.Provider,
66
+ const f = (y) => {
67
+ t === void 0 && i(y), e == null || e(y);
68
+ }, B = j();
69
+ return /* @__PURE__ */ x(
70
+ I.Provider,
71
71
  {
72
72
  value: {
73
73
  selectedValue: b,
74
74
  setSelectedValue: f,
75
75
  name: r,
76
- size: d,
76
+ size: s,
77
77
  onChange: e,
78
78
  groupId: B,
79
- appearance: s,
79
+ appearance: d,
80
80
  ...m
81
81
  },
82
- children: /* @__PURE__ */ y(
82
+ children: /* @__PURE__ */ x(
83
83
  "div",
84
84
  {
85
- className: E("gi-btn-group", o),
85
+ className: g(
86
+ "gi-flex gi-flex-wrap gi-gap-3 [&_button]:gi-min-w-12 [&_button]:gi-justify-center",
87
+ o
88
+ ),
86
89
  role: n || "radiogroup",
87
90
  "aria-labelledby": l,
88
91
  "aria-describedby": u,
@@ -93,6 +96,6 @@ const x = G(
93
96
  );
94
97
  };
95
98
  export {
96
- q as ButtonGroup,
97
- P as ButtonGroupItem
99
+ N as ButtonGroup,
100
+ D as ButtonGroupItem
98
101
  };
@@ -4,15 +4,15 @@ import { HintText as n } from "../hint-text/hint-text.js";
4
4
  import { translate as i } from "../i18n/utility.js";
5
5
  const m = ({
6
6
  maxChars: e,
7
- value: r
7
+ value: t
8
8
  }) => {
9
- const t = Math.max(0, e - ((r == null ? void 0 : r.length) ?? 0));
10
- return /* @__PURE__ */ a("div", { className: "gi-textarea-remaining-chars", children: /* @__PURE__ */ a(
9
+ const r = Math.max(0, e - ((t == null ? void 0 : t.length) ?? 0));
10
+ return /* @__PURE__ */ a("div", { className: "gi-mt-2", children: /* @__PURE__ */ a(
11
11
  n,
12
12
  {
13
13
  text: i("textarea.remainingChars", {
14
- remainingChars: t,
15
- defaultValue: `You have ${t} characters remaining`
14
+ remainingChars: r,
15
+ defaultValue: `You have ${r} characters remaining`
16
16
  })
17
17
  }
18
18
  ) });