@iress-oss/ids-components 6.0.0 → 6.1.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 (87) hide show
  1. package/dist/Autocomplete-BRGD9dSh.js +321 -0
  2. package/dist/Shadow-D2KoVwxD.js +57 -0
  3. package/dist/components/Autocomplete/Autocomplete.js +1 -1
  4. package/dist/components/Autocomplete/hooks/useAutocompleteSearch.js +1 -1
  5. package/dist/components/Autocomplete/index.js +2 -2
  6. package/dist/components/Expander/Expander.styles.d.ts +4 -0
  7. package/dist/components/Expander/Expander.styles.js +5 -1
  8. package/dist/components/Field/Field.js +47 -47
  9. package/dist/components/Field/Field.styles.d.ts +2 -2
  10. package/dist/components/Field/Field.styles.js +8 -2
  11. package/dist/components/Field/components/FieldHint.js +27 -19
  12. package/dist/components/Field/index.d.ts +0 -2
  13. package/dist/components/Field/index.js +1 -3
  14. package/dist/components/{Field/FieldGroup → FieldGroup}/FieldGroup.js +10 -9
  15. package/dist/components/{Field/FieldGroup → FieldGroup}/FieldGroup.styles.d.ts +8 -1
  16. package/dist/components/{Field/FieldGroup → FieldGroup}/FieldGroup.styles.js +6 -4
  17. package/dist/components/FieldGroup/index.d.ts +2 -0
  18. package/dist/components/FieldGroup/index.js +3 -0
  19. package/dist/components/Input/Input.styles.d.ts +4 -4
  20. package/dist/components/Input/Input.styles.js +4 -4
  21. package/dist/components/Link/Link.styles.d.ts +1 -0
  22. package/dist/components/Link/Link.styles.js +4 -1
  23. package/dist/components/Menu/Menu.js +81 -77
  24. package/dist/components/Menu/Menu.styles.js +7 -0
  25. package/dist/components/Menu/MenuGroup/MenuGroup.d.ts +18 -3
  26. package/dist/components/Menu/MenuGroup/MenuGroup.js +38 -34
  27. package/dist/components/Menu/MenuHeading/MenuHeading.d.ts +20 -0
  28. package/dist/components/Menu/MenuHeading/MenuHeading.js +14 -0
  29. package/dist/components/Menu/MenuItem/MenuItem.styles.js +9 -0
  30. package/dist/components/Menu/MenuText/MenuText.d.ts +1 -5
  31. package/dist/components/Menu/MenuText/MenuText.js +11 -17
  32. package/dist/components/Menu/index.d.ts +1 -0
  33. package/dist/components/Menu/index.js +4 -3
  34. package/dist/components/Select/Select.js +1 -1
  35. package/dist/components/Select/SelectHeading/SelectHeading.js +5 -5
  36. package/dist/components/Select/SelectTags/SelectTags.js +15 -15
  37. package/dist/components/Select/components/SelectOptions.js +108 -95
  38. package/dist/components/Select/index.js +1 -1
  39. package/dist/components/Slideout/Slideout.styles.js +1 -0
  40. package/dist/components/TabSet/TabSet.d.ts +6 -1
  41. package/dist/components/TabSet/TabSet.js +34 -30
  42. package/dist/components/TabSet/TabSet.styles.d.ts +1 -1
  43. package/dist/components/TabSet/TabSet.styles.js +13 -1
  44. package/dist/components/Tag/Tag.styles.d.ts +14 -14
  45. package/dist/components/Tag/Tag.styles.js +16 -16
  46. package/dist/components/Tag/index.d.ts +0 -1
  47. package/dist/components/Tag/index.js +1 -2
  48. package/dist/components/{Tag/TagInput → TagInput}/TagInput.d.ts +1 -1
  49. package/dist/components/{Tag/TagInput → TagInput}/TagInput.js +7 -7
  50. package/dist/components/TagInput/TagInput.styles.d.ts +1 -0
  51. package/dist/components/{Tag/TagInput → TagInput}/TagInput.styles.js +2 -2
  52. package/dist/components/TagInput/index.d.ts +2 -0
  53. package/dist/components/TagInput/index.js +3 -0
  54. package/dist/components/Tooltip/Tooltip.d.ts +7 -2
  55. package/dist/components/Tooltip/Tooltip.js +48 -42
  56. package/dist/components/Tooltip/TooltipProvider.d.ts +27 -0
  57. package/dist/components/Tooltip/TooltipProvider.js +14 -0
  58. package/dist/components/Tooltip/hooks/useTooltipContainer.d.ts +17 -0
  59. package/dist/components/Tooltip/hooks/useTooltipContainer.js +5 -0
  60. package/dist/components/Tooltip/index.d.ts +4 -0
  61. package/dist/components/Tooltip/index.js +4 -2
  62. package/dist/components/ValidationMessage/ValidationMessage.js +2 -2
  63. package/dist/main.d.ts +2 -0
  64. package/dist/main.js +125 -121
  65. package/dist/patterns/DropdownMenu/DropdownMenu.js +113 -102
  66. package/dist/patterns/DropdownMenu/hooks/useDropdownMenuFlags.d.ts +1 -0
  67. package/dist/patterns/DropdownMenu/hooks/useDropdownMenuFlags.js +1 -0
  68. package/dist/patterns/Form/FormField/FormFieldset.d.ts +1 -1
  69. package/dist/patterns/Form/FormField/FormFieldset.js +1 -1
  70. package/dist/patterns/Form/FormValidationSummary/FormValidationSummary.js +1 -0
  71. package/dist/patterns/Form/components/LongForm.js +3 -1
  72. package/dist/patterns/Form/components/ShortForm.js +1 -0
  73. package/dist/patterns/Loading/Loading.styles.d.ts +3 -0
  74. package/dist/patterns/Loading/Loading.styles.js +4 -1
  75. package/dist/patterns/Loading/components/PageLoading.js +4 -4
  76. package/dist/patterns/Shadow/Shadow.js +1 -1
  77. package/dist/patterns/Shadow/index.js +1 -1
  78. package/dist/patterns/SideNav/SideNav.d.ts +6 -0
  79. package/dist/patterns/SideNav/SideNav.js +74 -68
  80. package/dist/patterns/SideNav/SideNav.styles.js +6 -2
  81. package/dist/style.css +1 -1
  82. package/dist/{useAutocompleteSearch-BJ_hhoKp.js → useAutocompleteSearch-DxKxs6HH.js} +29 -24
  83. package/package.json +1 -1
  84. package/dist/Autocomplete-CuUjmIAw.js +0 -308
  85. package/dist/Shadow-BL3YAhE_.js +0 -57
  86. package/dist/components/Tag/TagInput/TagInput.styles.d.ts +0 -1
  87. /package/dist/components/{Field/FieldGroup → FieldGroup}/FieldGroup.d.ts +0 -0
@@ -1,149 +1,162 @@
1
- import { toArray as e } from "../../../helpers/formatting/toArray.js";
2
- import { IressAlert as t } from "../../Alert/Alert.js";
3
- import { getValueAsEvent as n } from "../../../helpers/form/getValueAsEvent.js";
4
- import { IressMenuDivider as r } from "../../Menu/MenuDivider/MenuDivider.js";
5
- import { toPrimitiveValue as i } from "../helpers/toPrimitiveValue.js";
6
- import { IressSelectSearch as a } from "../SelectSearch/SelectSearch.js";
7
- import { IressSelectHeading as o } from "../SelectHeading/SelectHeading.js";
8
- import { IressSelectMenu as s } from "../SelectMenu/SelectMenu.js";
9
- import { IressSelectSearchInput as c } from "../SelectSearchInput/SelectSearchInput.js";
10
- import { useCallback as l, useEffect as u, useId as d, useRef as f } from "react";
11
- import { Fragment as p, jsx as m, jsxs as h } from "react/jsx-runtime";
1
+ import { IressText as e } from "../../Text/Text.js";
2
+ import { IressSpinner as t } from "../../Spinner/Spinner.js";
3
+ import { toArray as n } from "../../../helpers/formatting/toArray.js";
4
+ import { IressAlert as r } from "../../Alert/Alert.js";
5
+ import { getValueAsEvent as i } from "../../../helpers/form/getValueAsEvent.js";
6
+ import { IressMenuDivider as a } from "../../Menu/MenuDivider/MenuDivider.js";
7
+ import { IressInline as o } from "../../Inline/Inline.js";
8
+ import { toPrimitiveValue as s } from "../helpers/toPrimitiveValue.js";
9
+ import { IressSelectSearch as c } from "../SelectSearch/SelectSearch.js";
10
+ import { IressSelectHeading as l } from "../SelectHeading/SelectHeading.js";
11
+ import { IressSelectMenu as u } from "../SelectMenu/SelectMenu.js";
12
+ import { IressSelectSearchInput as d } from "../SelectSearchInput/SelectSearchInput.js";
13
+ import { useCallback as f, useEffect as p, useId as m, useRef as h } from "react";
14
+ import { Fragment as g, jsx as _, jsxs as v } from "react/jsx-runtime";
12
15
  //#region src/components/Select/components/SelectOptions.tsx
13
- var g = ({ minSearchLength: e, multiSelect: t, onChange: n, query: r, results: i, shouldShowInstructions: a, shouldShowNoResults: o, value: c }) => /* @__PURE__ */ m(s, {
14
- heading: t ? "Search results" : void 0,
15
- items: i,
16
- multiSelect: t,
16
+ var y = ({ debouncedQuery: e, minSearchLength: t, multiSelect: n, onChange: r, query: i, results: a, shouldShowInstructions: o, shouldShowNoResults: s, value: c }) => /* @__PURE__ */ _(u, {
17
+ heading: n && a.length && e ? `Search results (${a.length})` : void 0,
18
+ items: a,
19
+ multiSelect: n,
17
20
  noResults: (() => {
18
- if (r) {
19
- if (a) return `Type at least ${e} character${e === 1 ? "" : "s"} to search`;
20
- if (o) return "No results found";
21
+ if (i) {
22
+ if (o) return `Type at least ${t} character${t === 1 ? "" : "s"} to search`;
23
+ if (s) return "No results found";
21
24
  }
22
25
  })(),
23
- onChange: n,
26
+ onChange: r,
24
27
  selected: c,
25
- hideSelectedItems: t
28
+ hideSelectedItems: n
26
29
  });
27
- g.displayName = "SelectAsyncResults";
28
- var _ = ({ error: e }) => e ? /* @__PURE__ */ m(t, {
30
+ y.displayName = "SelectAsyncResults";
31
+ var b = ({ error: e }) => e ? /* @__PURE__ */ _(r, {
29
32
  status: "danger",
30
- children: typeof e == "string" ? e : /* @__PURE__ */ h(p, { children: [
33
+ children: typeof e == "string" ? e : /* @__PURE__ */ v(g, { children: [
31
34
  "An unknown error occurred.",
32
- /* @__PURE__ */ m("br", {}),
35
+ /* @__PURE__ */ _("br", {}),
33
36
  " Please contact support if the error persists."
34
37
  ] })
35
38
  }) : null;
36
- _.displayName = "SelectAsyncError";
37
- var v = ({ autoHighlight: t, error: n, loading: i, minSearchLength: l, multiSelect: p, onChange: v, onClear: y, query: b, results: x, setQuery: S, show: C, value: w, shouldShowInstructions: T, shouldShowNoResults: E }) => {
38
- let D = e(w).map((e) => {
39
+ b.displayName = "SelectAsyncError";
40
+ var x = ({ autoHighlight: r, debouncedQuery: i, error: s, loading: f, minSearchLength: g, multiSelect: x, onChange: S, onClear: C, query: w, results: T, setQuery: E, show: D, value: O, shouldShowInstructions: k, shouldShowNoResults: A }) => {
41
+ let j = n(O).map((e) => {
39
42
  let { formattedLabel: t, ...n } = e;
40
43
  return n;
41
- }), O = !n && (!!x?.length || b && !i), k = !!D.length && p, A = O && k, j = f(null), M = d();
42
- u(() => {
43
- C || S?.("");
44
- }, [C, S]);
45
- let N = k ? D.length + 1 : 0;
46
- return /* @__PURE__ */ h(a, {
47
- activator: /* @__PURE__ */ m(c, {
44
+ }), M = !s && (!!T?.length || w && !f), N = !!j.length && x, P = M && N, F = h(null), I = m();
45
+ p(() => {
46
+ D || E?.("");
47
+ }, [D, E]);
48
+ let L = N ? j.length + 1 : 0;
49
+ return /* @__PURE__ */ v(c, {
50
+ activator: /* @__PURE__ */ _(d, {
48
51
  "aria-label": "Search",
49
- loading: i,
50
- onChange: (e) => S?.(e.target.value),
51
- ref: j,
52
+ onChange: (e) => E?.(e.target.value),
53
+ ref: F,
52
54
  placeholder: "Search and select",
53
- value: b
55
+ value: w
54
56
  }),
55
- autoHighlight: t,
56
- focusStartIndex: t ? b && O ? N : +!!k : void 0,
57
+ autoHighlight: r,
58
+ focusStartIndex: r ? w && M ? L : +!!N : void 0,
57
59
  children: [
58
- k && /* @__PURE__ */ m(s, {
59
- "aria-labelledby": M,
60
- heading: /* @__PURE__ */ m(o, {
60
+ N && /* @__PURE__ */ _(u, {
61
+ "aria-labelledby": I,
62
+ heading: /* @__PURE__ */ _(l, {
61
63
  clearAll: !0,
62
64
  onClearAll: (e) => {
63
- y?.(e), j.current?.focus();
65
+ C?.(e), F.current?.focus();
64
66
  },
65
- children: /* @__PURE__ */ h("h2", {
66
- id: M,
67
+ children: /* @__PURE__ */ v("span", {
68
+ id: I,
67
69
  children: [
68
70
  "Selected (",
69
- D.length,
71
+ j.length,
70
72
  ")"
71
73
  ]
72
74
  })
73
75
  }),
74
- items: D,
75
- multiSelect: p,
76
- onChange: v,
77
- selected: w
76
+ items: j,
77
+ multiSelect: x,
78
+ onChange: S,
79
+ selected: O
78
80
  }),
79
- A && /* @__PURE__ */ m(r, {}),
80
- O && /* @__PURE__ */ m(g, {
81
- minSearchLength: l,
82
- multiSelect: p,
83
- onChange: v,
84
- query: b,
85
- results: x,
86
- value: w,
87
- shouldShowInstructions: T,
88
- shouldShowNoResults: E
81
+ P && /* @__PURE__ */ _(a, {}),
82
+ f && !T.length && /* @__PURE__ */ v(o, {
83
+ gap: "sm",
84
+ verticalAlign: "middle",
85
+ p: "spacing.3",
86
+ children: [/* @__PURE__ */ _(t, { color: "colour.neutral.70" }), /* @__PURE__ */ _(e, {
87
+ color: "colour.neutral.70",
88
+ children: "Loading results..."
89
+ })]
89
90
  }),
90
- /* @__PURE__ */ m(_, { error: n })
91
+ M && /* @__PURE__ */ _(y, {
92
+ debouncedQuery: i,
93
+ minSearchLength: g,
94
+ multiSelect: x,
95
+ onChange: S,
96
+ query: w,
97
+ results: T,
98
+ value: O,
99
+ shouldShowInstructions: k,
100
+ shouldShowNoResults: A
101
+ }),
102
+ /* @__PURE__ */ _(b, { error: s })
91
103
  ]
92
104
  });
93
105
  };
94
- v.displayName = "SelectAsyncOptions";
95
- var y = ({ autoHighlight: e, debouncedQuery: t, error: r, initialOptions: a, loading: o, minSearchLength: c, multiSelect: u, onChange: d, options: f, query: p, renderOptions: h, results: g, setQuery: _, setShow: y, setValue: b, show: x, shouldShowInstructions: S, shouldShowNoResults: C, value: w }) => {
96
- let T = typeof f == "function", E = a ?? (T ? [] : f), D = g.length ? g : E, O = l((e) => {
97
- b(e);
98
- let t = i(e);
99
- d?.(n(t), t, e), u || y(!1);
106
+ x.displayName = "SelectAsyncOptions";
107
+ var S = ({ autoHighlight: e, debouncedQuery: t, error: n, initialOptions: r, loading: a, minSearchLength: o, multiSelect: c, onChange: l, options: d, query: p, renderOptions: m, results: h, setQuery: g, setShow: v, setValue: y, show: b, shouldShowInstructions: S, shouldShowNoResults: C, value: w }) => {
108
+ let T = typeof d == "function", E = r ?? (T ? [] : d), D = h.length ? h : E, O = f((e) => {
109
+ y(e);
110
+ let t = s(e);
111
+ l?.(i(t), t, e), c || v(!1);
100
112
  }, [
113
+ v,
101
114
  y,
102
- b,
103
- d,
104
- u
105
- ]), k = l((e) => {
115
+ l,
116
+ c
117
+ ]), k = f((e) => {
106
118
  e.stopPropagation();
107
119
  let t = [];
108
- b(t);
109
- let r = i(t);
110
- d?.(n(r), r, t);
111
- }, [b, d]);
112
- return h ? h({
113
- close: () => y(!1),
120
+ y(t);
121
+ let n = s(t);
122
+ l?.(i(n), n, t);
123
+ }, [y, l]);
124
+ return m ? m({
125
+ close: () => v(!1),
114
126
  debouncedQuery: t,
115
- error: r,
127
+ error: n,
116
128
  handleClear: k,
117
129
  handleMenuChange: O,
118
- loading: o,
130
+ loading: a,
119
131
  query: p,
120
132
  results: D,
121
- setValue: b,
122
- setQuery: _,
123
- show: x,
133
+ setValue: y,
134
+ setQuery: g,
135
+ show: b,
124
136
  value: w
125
- }) : T ? /* @__PURE__ */ m(v, {
137
+ }) : T ? /* @__PURE__ */ _(x, {
126
138
  autoHighlight: e,
127
- error: r,
128
- loading: o,
129
- minSearchLength: c,
130
- multiSelect: u,
139
+ debouncedQuery: t,
140
+ error: n,
141
+ loading: a,
142
+ minSearchLength: o,
143
+ multiSelect: c,
131
144
  onChange: O,
132
145
  onClear: k,
133
146
  query: p,
134
- results: g,
135
- setQuery: _,
136
- show: x,
147
+ results: h,
148
+ setQuery: g,
149
+ show: b,
137
150
  value: w,
138
151
  shouldShowInstructions: S,
139
152
  shouldShowNoResults: C
140
- }) : /* @__PURE__ */ m(s, {
153
+ }) : /* @__PURE__ */ _(u, {
141
154
  items: D,
142
- multiSelect: u,
155
+ multiSelect: c,
143
156
  onChange: O,
144
157
  selected: w
145
158
  });
146
159
  };
147
- y.displayName = "SelectOptions";
160
+ S.displayName = "SelectOptions";
148
161
  //#endregion
149
- export { y as SelectOptions };
162
+ export { S as SelectOptions };
@@ -6,7 +6,7 @@ import { IressSelectHeading as i } from "./SelectHeading/SelectHeading.js";
6
6
  import { IressSelectMenu as a } from "./SelectMenu/SelectMenu.js";
7
7
  import { IressSelectSearchInput as o } from "./SelectSearchInput/SelectSearchInput.js";
8
8
  import { nativeSelect as s } from "./components/NativeSelect.styles.js";
9
- import { n as c } from "../../Autocomplete-CuUjmIAw.js";
9
+ import { n as c } from "../../Autocomplete-BRGD9dSh.js";
10
10
  import { IressSelectBody as l } from "./SelectBody/SelectBody.js";
11
11
  import { IressSelectCreate as u } from "./SelectCreate/SelectCreate.js";
12
12
  export { c as IressSelect, l as IressSelectBody, u as IressSelectCreate, i as IressSelectHeading, t as IressSelectLabel, a as IressSelectMenu, r as IressSelectSearch, o as IressSelectSearchInput, n as IressSelectTags, s as nativeSelect, e as select };
@@ -33,6 +33,7 @@ var t = e({
33
33
  footer: { borderBlockStart: "divider" },
34
34
  closeButton: {
35
35
  position: "absolute",
36
+ zIndex: "[1]",
36
37
  insetInlineEnd: "spacing.1",
37
38
  insetBlockStart: "spacing.1"
38
39
  }
@@ -3,6 +3,11 @@ import { ReactNode } from 'react';
3
3
  import { FormControlValue, IressStyledProps } from '../../types';
4
4
  import { IressCustomiseSlot } from '../../interfaces';
5
5
  export interface IressTabSetProps extends Omit<IressStyledProps, 'onChange'> {
6
+ /**
7
+ * Content rendered alongside the tablist in the tab bar row, but outside the tablist itself.
8
+ * Useful for placing action buttons (e.g. "Add tab") at the end of the tab bar.
9
+ */
10
+ append?: ReactNode;
6
11
  /**
7
12
  * Content to be displayed inside the IressTabs, usually multiple `IressTab`.
8
13
  */
@@ -43,6 +48,6 @@ export interface IressTabSetProps extends Omit<IressStyledProps, 'onChange'> {
43
48
  type?: 'primary' | 'secondary';
44
49
  }
45
50
  export declare const IressTabSet: {
46
- ({ children, className, defaultSelected, layout, onChange, panelStyle, selected, tabHolderStyle, type, ...restProps }: IressTabSetProps): import("react/jsx-runtime").JSX.Element;
51
+ ({ append, children, className, defaultSelected, layout, onChange, panelStyle, selected, tabHolderStyle, type, ...restProps }: IressTabSetProps): import("react/jsx-runtime").JSX.Element;
47
52
  displayName: string;
48
53
  };
@@ -62,18 +62,18 @@ var g = (e) => {
62
62
  ref: i,
63
63
  style: t
64
64
  });
65
- }, v = ({ children: a, className: c, defaultSelected: u, layout: v = "top-left", onChange: y, panelStyle: b, selected: x, tabHolderStyle: S, type: C, ...w }) => {
66
- let [T, E] = f(null), [D, O] = f(!1), [k, A] = f(!1), j = d(null), M = s({
67
- layout: v,
68
- overflowStart: D,
69
- overflowEnd: k,
70
- type: C
65
+ }, v = ({ append: a, children: c, className: u, defaultSelected: v, layout: y = "top-left", onChange: b, panelStyle: x, selected: S, tabHolderStyle: C, type: w, ...T }) => {
66
+ let [E, D] = f(null), [O, k] = f(!1), [A, j] = f(!1), M = d(null), N = s({
67
+ layout: y,
68
+ overflowStart: O,
69
+ overflowEnd: A,
70
+ type: w
71
71
  });
72
72
  return l(() => {
73
- let e = j.current?.querySelector("[role=\"tablist\"]"), t = () => {
73
+ let e = M.current?.querySelector("[role=\"tablist\"]"), t = () => {
74
74
  if (e) {
75
75
  let { scrollWidth: t, clientWidth: n, scrollLeft: r } = e;
76
- t > n ? (O(r > 1), A(r < t - n - 1)) : (O(!1), A(!1));
76
+ t > n ? (k(r > 1), j(r < t - n - 1)) : (k(!1), j(!1));
77
77
  }
78
78
  };
79
79
  t(), e?.addEventListener("scroll", t);
@@ -81,40 +81,44 @@ var g = (e) => {
81
81
  return e && typeof ResizeObserver < "u" && (n = new ResizeObserver(t), n.observe(e)), () => {
82
82
  e?.removeEventListener("scroll", t), n?.disconnect();
83
83
  };
84
- }, [a]), /* @__PURE__ */ m(o, {
85
- defaultSelected: u,
86
- onChange: y,
87
- panel: T,
88
- selected: x,
89
- type: C,
84
+ }, [c]), /* @__PURE__ */ m(o, {
85
+ defaultSelected: v,
86
+ onChange: b,
87
+ panel: E,
88
+ selected: S,
89
+ type: w,
90
90
  children: /* @__PURE__ */ m(t.div, {
91
- className: e(c, M.root, n.TabSet),
92
- ...w,
93
- children: a && /* @__PURE__ */ h(p, { children: [/* @__PURE__ */ h(t.div, {
94
- ...S,
95
- ref: j,
96
- className: e(M.listHolder, S?.className),
91
+ className: e(u, N.root, n.TabSet),
92
+ ...T,
93
+ children: c && /* @__PURE__ */ h(p, { children: [/* @__PURE__ */ h(t.div, {
94
+ ...C,
95
+ ref: M,
96
+ className: e(N.listHolder, C?.className),
97
97
  children: [
98
- D && /* @__PURE__ */ m("div", { className: M.overflowStartIndicator }),
99
- k && /* @__PURE__ */ m("div", { className: M.overflowEndIndicator }),
98
+ O && /* @__PURE__ */ m("div", { className: N.overflowStartIndicator }),
99
+ A && /* @__PURE__ */ m("div", { className: N.overflowEndIndicator }),
100
100
  /* @__PURE__ */ h(i, {
101
101
  render: /* @__PURE__ */ m("div", {
102
- className: M.list,
102
+ className: N.list,
103
103
  role: "tablist"
104
104
  }),
105
105
  loop: !1,
106
106
  children: [
107
- /* @__PURE__ */ m(_, { className: M.activeIndicator }),
108
- /* @__PURE__ */ m(g, { className: M.hoverIndicator }),
109
- a
107
+ /* @__PURE__ */ m(_, { className: N.activeIndicator }),
108
+ /* @__PURE__ */ m(g, { className: N.hoverIndicator }),
109
+ c
110
110
  ]
111
+ }),
112
+ a && /* @__PURE__ */ m("div", {
113
+ className: N.append,
114
+ children: a
111
115
  })
112
116
  ]
113
117
  }), /* @__PURE__ */ m(t.div, {
114
- ...b,
115
- className: e(M.panel, b?.className),
116
- "data-testid": b?.["data-testid"] ?? r(w["data-testid"], "panel"),
117
- ref: E
118
+ ...x,
119
+ className: e(N.panel, x?.className),
120
+ "data-testid": x?.["data-testid"] ?? r(T["data-testid"], "panel"),
121
+ ref: D
118
122
  })] })
119
123
  })
120
124
  });
@@ -1,4 +1,4 @@
1
- export declare const tabSet: import('../../styled-system/types').SlotRecipeRuntimeFn<"list" | "root" | "hoverIndicator" | "panel" | "listHolder" | "activeIndicator" | "overflowEndIndicator" | "overflowStartIndicator", {
1
+ export declare const tabSet: import('../../styled-system/types').SlotRecipeRuntimeFn<"append" | "list" | "root" | "hoverIndicator" | "panel" | "listHolder" | "activeIndicator" | "overflowEndIndicator" | "overflowStartIndicator", {
2
2
  layout: {
3
3
  'top-left': {
4
4
  list: {
@@ -6,6 +6,7 @@ var t = e({
6
6
  "list",
7
7
  "listHolder",
8
8
  "panel",
9
+ "append",
9
10
  "activeIndicator",
10
11
  "hoverIndicator",
11
12
  "overflowEndIndicator",
@@ -22,6 +23,8 @@ var t = e({
22
23
  overflowX: "clip",
23
24
  overflowY: "visible",
24
25
  pt: "spacing.2",
26
+ display: "flex",
27
+ alignItems: "stretch",
25
28
  _after: {
26
29
  content: "\"\"",
27
30
  position: "absolute",
@@ -32,13 +35,22 @@ var t = e({
32
35
  pointerEvents: "none"
33
36
  }
34
37
  },
38
+ append: {
39
+ display: "flex",
40
+ alignItems: "center",
41
+ marginLeft: "auto",
42
+ flexShrink: "[0]",
43
+ pb: "spacing.1"
44
+ },
35
45
  list: {
36
46
  display: "flex",
37
47
  flexWrap: "nowrap",
38
48
  scrollable: "x",
39
49
  overflowY: "visible",
40
50
  scrollSnapType: "[x proximity]",
41
- position: "relative"
51
+ position: "relative",
52
+ flex: "[1 1 auto]",
53
+ minWidth: "[0]"
42
54
  },
43
55
  panel: {
44
56
  textStyle: "typography.body.md",
@@ -48,91 +48,91 @@ export declare const tag: import('../../styled-system/types').SlotRecipeRuntimeF
48
48
  '10': {
49
49
  root: {
50
50
  '--tag-bg': "{colors.colour.data.subtle.10}";
51
- '--tag-border': "{colors.colour.data.subtle.10}";
51
+ '--tag-border': "{colors.colour.data.bold.10}";
52
52
  '--tag-color': "{colors.colour.data.bold.10}";
53
53
  };
54
54
  };
55
55
  '20': {
56
56
  root: {
57
57
  '--tag-bg': "{colors.colour.data.subtle.20}";
58
- '--tag-border': "{colors.colour.data.subtle.20}";
58
+ '--tag-border': "{colors.colour.data.bold.20}";
59
59
  '--tag-color': "{colors.colour.data.bold.20}";
60
60
  };
61
61
  };
62
62
  '30': {
63
63
  root: {
64
64
  '--tag-bg': "{colors.colour.data.subtle.30}";
65
- '--tag-border': "{colors.colour.data.subtle.30}";
65
+ '--tag-border': "{colors.colour.data.bold.30}";
66
66
  '--tag-color': "{colors.colour.data.bold.30}";
67
67
  };
68
68
  };
69
69
  '40': {
70
70
  root: {
71
71
  '--tag-bg': "{colors.colour.data.subtle.40}";
72
- '--tag-border': "{colors.colour.data.subtle.40}";
72
+ '--tag-border': "{colors.colour.data.bold.40}";
73
73
  '--tag-color': "{colors.colour.data.bold.40}";
74
74
  };
75
75
  };
76
76
  '50': {
77
77
  root: {
78
78
  '--tag-bg': "{colors.colour.data.subtle.50}";
79
- '--tag-border': "{colors.colour.data.subtle.50}";
79
+ '--tag-border': "{colors.colour.data.bold.50}";
80
80
  '--tag-color': "{colors.colour.data.bold.50}";
81
81
  };
82
82
  };
83
83
  '60': {
84
84
  root: {
85
85
  '--tag-bg': "{colors.colour.data.subtle.60}";
86
- '--tag-border': "{colors.colour.data.subtle.60}";
86
+ '--tag-border': "{colors.colour.data.bold.60}";
87
87
  '--tag-color': "{colors.colour.data.bold.60}";
88
88
  };
89
89
  };
90
90
  '70': {
91
91
  root: {
92
92
  '--tag-bg': "{colors.colour.data.subtle.70}";
93
- '--tag-border': "{colors.colour.data.subtle.70}";
93
+ '--tag-border': "{colors.colour.data.bold.70}";
94
94
  '--tag-color': "{colors.colour.data.bold.70}";
95
95
  };
96
96
  };
97
97
  '80': {
98
98
  root: {
99
99
  '--tag-bg': "{colors.colour.data.subtle.80}";
100
- '--tag-border': "{colors.colour.data.subtle.80}";
100
+ '--tag-border': "{colors.colour.data.bold.80}";
101
101
  '--tag-color': "{colors.colour.data.bold.80}";
102
102
  };
103
103
  };
104
104
  '90': {
105
105
  root: {
106
106
  '--tag-bg': "{colors.colour.data.subtle.90}";
107
- '--tag-border': "{colors.colour.data.subtle.90}";
107
+ '--tag-border': "{colors.colour.data.bold.90}";
108
108
  '--tag-color': "{colors.colour.data.bold.90}";
109
109
  };
110
110
  };
111
111
  danger: {
112
112
  root: {
113
113
  '--tag-bg': "{colors.colour.system.danger.surface}";
114
- '--tag-border': "{colors.colour.system.danger.surface}";
114
+ '--tag-border': "{colors.colour.system.danger.text}";
115
115
  '--tag-color': "{colors.colour.system.danger.text}";
116
116
  };
117
117
  };
118
118
  info: {
119
119
  root: {
120
120
  '--tag-bg': "{colors.colour.system.info.surface}";
121
- '--tag-border': "{colors.colour.system.info.surface}";
121
+ '--tag-border': "{colors.colour.system.info.text}";
122
122
  '--tag-color': "{colors.colour.system.info.text}";
123
123
  };
124
124
  };
125
125
  success: {
126
126
  root: {
127
127
  '--tag-bg': "{colors.colour.system.success.surface}";
128
- '--tag-border': "{colors.colour.system.success.surface}";
128
+ '--tag-border': "{colors.colour.system.success.text}";
129
129
  '--tag-color': "{colors.colour.system.success.text}";
130
130
  };
131
131
  };
132
132
  warning: {
133
133
  root: {
134
134
  '--tag-bg': "{colors.colour.system.warning.surface}";
135
- '--tag-border': "{colors.colour.system.warning.surface}";
135
+ '--tag-border': "{colors.colour.system.warning.text}";
136
136
  '--tag-color': "{colors.colour.system.warning.text}";
137
137
  };
138
138
  };
@@ -140,7 +140,7 @@ export declare const tag: import('../../styled-system/types').SlotRecipeRuntimeF
140
140
  bordered: {
141
141
  true: {
142
142
  root: {
143
- borderColor: "[currentColor]";
143
+ borderColor: "[var(--tag-border, {colors.colour.neutral.70})]";
144
144
  };
145
145
  };
146
146
  };