@mattermost/compass-ui 0.1.0-alpha.15 → 0.1.0-alpha.17

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 (198) hide show
  1. package/dist/components/admin-console-footer/AdminConsoleFooter.cjs +2 -0
  2. package/dist/components/admin-console-footer/AdminConsoleFooter.cjs.map +1 -0
  3. package/dist/components/admin-console-footer/AdminConsoleFooter.css +1 -0
  4. package/dist/components/admin-console-footer/AdminConsoleFooter.d.ts +27 -0
  5. package/dist/components/admin-console-footer/AdminConsoleFooter.d.ts.map +1 -0
  6. package/dist/components/admin-console-footer/AdminConsoleFooter.js +84 -0
  7. package/dist/components/admin-console-footer/AdminConsoleFooter.js.map +1 -0
  8. package/dist/components/admin-console-footer/AdminConsoleFooter.module.scss.cjs +2 -0
  9. package/dist/components/admin-console-footer/AdminConsoleFooter.module.scss.cjs.map +1 -0
  10. package/dist/components/admin-console-footer/AdminConsoleFooter.module.scss.js +13 -0
  11. package/dist/components/admin-console-footer/AdminConsoleFooter.module.scss.js.map +1 -0
  12. package/dist/components/admin-console-footer/index.cjs +2 -0
  13. package/dist/components/admin-console-footer/index.cjs.map +1 -0
  14. package/dist/components/admin-console-footer/index.d.ts +3 -0
  15. package/dist/components/admin-console-footer/index.d.ts.map +1 -0
  16. package/dist/components/admin-console-footer/index.js +5 -0
  17. package/dist/components/admin-console-footer/index.js.map +1 -0
  18. package/dist/components/admin-panel/AdminPanel.cjs +1 -1
  19. package/dist/components/admin-panel/AdminPanel.cjs.map +1 -1
  20. package/dist/components/admin-panel/AdminPanel.d.ts +41 -9
  21. package/dist/components/admin-panel/AdminPanel.d.ts.map +1 -1
  22. package/dist/components/admin-panel/AdminPanel.js +91 -81
  23. package/dist/components/admin-panel/AdminPanel.js.map +1 -1
  24. package/dist/components/admin-panel-footer/AdminPanelFooter.cjs +1 -1
  25. package/dist/components/admin-panel-footer/AdminPanelFooter.cjs.map +1 -1
  26. package/dist/components/admin-panel-footer/AdminPanelFooter.css +1 -1
  27. package/dist/components/admin-panel-footer/AdminPanelFooter.d.ts +18 -21
  28. package/dist/components/admin-panel-footer/AdminPanelFooter.d.ts.map +1 -1
  29. package/dist/components/admin-panel-footer/AdminPanelFooter.js +24 -61
  30. package/dist/components/admin-panel-footer/AdminPanelFooter.js.map +1 -1
  31. package/dist/components/admin-panel-footer/AdminPanelFooter.module.scss.cjs +1 -1
  32. package/dist/components/admin-panel-footer/AdminPanelFooter.module.scss.js +7 -9
  33. package/dist/components/admin-panel-footer/AdminPanelFooter.module.scss.js.map +1 -1
  34. package/dist/components/admin-panel-footer/index.d.ts +1 -1
  35. package/dist/components/admin-panel-footer/index.d.ts.map +1 -1
  36. package/dist/components/admin-panel-header/AdminPanelHeader.cjs.map +1 -1
  37. package/dist/components/admin-panel-header/AdminPanelHeader.d.ts +3 -2
  38. package/dist/components/admin-panel-header/AdminPanelHeader.d.ts.map +1 -1
  39. package/dist/components/admin-panel-header/AdminPanelHeader.js.map +1 -1
  40. package/dist/components/channel-sidebar-item/ChannelSidebarItem.css +1 -1
  41. package/dist/components/channel-sidebar-item/ChannelSidebarItem.module.scss.cjs +1 -1
  42. package/dist/components/channel-sidebar-item/ChannelSidebarItem.module.scss.js +22 -22
  43. package/dist/components/checkbox/Checkbox.css +1 -1
  44. package/dist/components/checkbox/Checkbox.module.scss.cjs +1 -1
  45. package/dist/components/checkbox/Checkbox.module.scss.js +10 -10
  46. package/dist/components/chip/Chip.css +1 -1
  47. package/dist/components/chip/Chip.module.scss.cjs +1 -1
  48. package/dist/components/chip/Chip.module.scss.js +12 -12
  49. package/dist/components/combobox/Combobox.cjs +1 -1
  50. package/dist/components/combobox/Combobox.cjs.map +1 -1
  51. package/dist/components/combobox/Combobox.css +1 -1
  52. package/dist/components/combobox/Combobox.d.ts +14 -0
  53. package/dist/components/combobox/Combobox.d.ts.map +1 -1
  54. package/dist/components/combobox/Combobox.js +240 -224
  55. package/dist/components/combobox/Combobox.js.map +1 -1
  56. package/dist/components/combobox/Combobox.module.scss.cjs +1 -1
  57. package/dist/components/combobox/Combobox.module.scss.js +21 -21
  58. package/dist/components/error-message/ErrorMessage.cjs +1 -1
  59. package/dist/components/error-message/ErrorMessage.cjs.map +1 -1
  60. package/dist/components/error-message/ErrorMessage.d.ts +2 -3
  61. package/dist/components/error-message/ErrorMessage.d.ts.map +1 -1
  62. package/dist/components/error-message/ErrorMessage.js +16 -14
  63. package/dist/components/error-message/ErrorMessage.js.map +1 -1
  64. package/dist/components/field/FieldClearButton.cjs +2 -0
  65. package/dist/components/field/FieldClearButton.cjs.map +1 -0
  66. package/dist/components/field/FieldClearButton.css +1 -0
  67. package/dist/components/field/FieldClearButton.d.ts +17 -0
  68. package/dist/components/field/FieldClearButton.d.ts.map +1 -0
  69. package/dist/components/field/FieldClearButton.js +40 -0
  70. package/dist/components/field/FieldClearButton.js.map +1 -0
  71. package/dist/components/field/FieldClearButton.module.scss.cjs +2 -0
  72. package/dist/components/field/FieldClearButton.module.scss.cjs.map +1 -0
  73. package/dist/components/field/FieldClearButton.module.scss.js +7 -0
  74. package/dist/components/field/FieldClearButton.module.scss.js.map +1 -0
  75. package/dist/components/field/fieldDescribedBy.cjs +2 -0
  76. package/dist/components/field/fieldDescribedBy.cjs.map +1 -0
  77. package/dist/components/field/fieldDescribedBy.d.ts +11 -0
  78. package/dist/components/field/fieldDescribedBy.d.ts.map +1 -0
  79. package/dist/components/field/fieldDescribedBy.js +15 -0
  80. package/dist/components/field/fieldDescribedBy.js.map +1 -0
  81. package/dist/components/field/useFieldClear.cjs +2 -0
  82. package/dist/components/field/useFieldClear.cjs.map +1 -0
  83. package/dist/components/field/useFieldClear.d.ts +21 -0
  84. package/dist/components/field/useFieldClear.d.ts.map +1 -0
  85. package/dist/components/field/useFieldClear.js +73 -0
  86. package/dist/components/field/useFieldClear.js.map +1 -0
  87. package/dist/components/field-message/FieldMessage.cjs +2 -0
  88. package/dist/components/field-message/FieldMessage.cjs.map +1 -0
  89. package/dist/components/field-message/FieldMessage.css +1 -0
  90. package/dist/components/field-message/FieldMessage.d.ts +17 -0
  91. package/dist/components/field-message/FieldMessage.d.ts.map +1 -0
  92. package/dist/components/field-message/FieldMessage.js +28 -0
  93. package/dist/components/field-message/FieldMessage.js.map +1 -0
  94. package/dist/components/field-message/FieldMessage.module.scss.cjs +2 -0
  95. package/dist/components/field-message/FieldMessage.module.scss.cjs.map +1 -0
  96. package/dist/components/field-message/FieldMessage.module.scss.js +13 -0
  97. package/dist/components/field-message/FieldMessage.module.scss.js.map +1 -0
  98. package/dist/components/field-message/index.cjs +2 -0
  99. package/dist/components/field-message/index.cjs.map +1 -0
  100. package/dist/components/field-message/index.d.ts +3 -0
  101. package/dist/components/field-message/index.d.ts.map +1 -0
  102. package/dist/components/field-message/index.js +5 -0
  103. package/dist/components/field-message/index.js.map +1 -0
  104. package/dist/components/menu-item/MenuItem.cjs.map +1 -1
  105. package/dist/components/menu-item/MenuItem.css +1 -1
  106. package/dist/components/menu-item/MenuItem.d.ts +20 -0
  107. package/dist/components/menu-item/MenuItem.d.ts.map +1 -1
  108. package/dist/components/menu-item/MenuItem.js.map +1 -1
  109. package/dist/components/menu-item/MenuItem.module.scss.cjs +1 -1
  110. package/dist/components/menu-item/MenuItem.module.scss.js +16 -16
  111. package/dist/components/menu-item/index.d.ts +1 -1
  112. package/dist/components/menu-item/index.d.ts.map +1 -1
  113. package/dist/components/password-input/PasswordInput.cjs +2 -0
  114. package/dist/components/password-input/PasswordInput.cjs.map +1 -0
  115. package/dist/components/password-input/PasswordInput.css +1 -0
  116. package/dist/components/password-input/PasswordInput.d.ts +49 -0
  117. package/dist/components/password-input/PasswordInput.d.ts.map +1 -0
  118. package/dist/components/password-input/PasswordInput.js +140 -0
  119. package/dist/components/password-input/PasswordInput.js.map +1 -0
  120. package/dist/components/password-input/PasswordInput.module.scss.cjs +2 -0
  121. package/dist/components/password-input/PasswordInput.module.scss.cjs.map +1 -0
  122. package/dist/components/password-input/PasswordInput.module.scss.js +18 -0
  123. package/dist/components/password-input/PasswordInput.module.scss.js.map +1 -0
  124. package/dist/components/password-input/index.cjs +2 -0
  125. package/dist/components/password-input/index.cjs.map +1 -0
  126. package/dist/components/password-input/index.d.ts +3 -0
  127. package/dist/components/password-input/index.d.ts.map +1 -0
  128. package/dist/components/password-input/index.js +5 -0
  129. package/dist/components/password-input/index.js.map +1 -0
  130. package/dist/components/radio/Radio.css +1 -1
  131. package/dist/components/radio/Radio.module.scss.cjs +1 -1
  132. package/dist/components/radio/Radio.module.scss.js +12 -12
  133. package/dist/components/search-input/SearchInput.cjs +1 -1
  134. package/dist/components/search-input/SearchInput.cjs.map +1 -1
  135. package/dist/components/search-input/SearchInput.css +1 -1
  136. package/dist/components/search-input/SearchInput.d.ts +8 -0
  137. package/dist/components/search-input/SearchInput.d.ts.map +1 -1
  138. package/dist/components/search-input/SearchInput.js +114 -115
  139. package/dist/components/search-input/SearchInput.js.map +1 -1
  140. package/dist/components/search-input/SearchInput.module.scss.cjs +1 -1
  141. package/dist/components/search-input/SearchInput.module.scss.js +15 -16
  142. package/dist/components/search-input/SearchInput.module.scss.js.map +1 -1
  143. package/dist/components/section-notice/SectionNotice.cjs +1 -1
  144. package/dist/components/section-notice/SectionNotice.cjs.map +1 -1
  145. package/dist/components/section-notice/SectionNotice.css +1 -1
  146. package/dist/components/section-notice/SectionNotice.js +17 -17
  147. package/dist/components/section-notice/SectionNotice.js.map +1 -1
  148. package/dist/components/section-notice/SectionNotice.module.scss.cjs +1 -1
  149. package/dist/components/section-notice/SectionNotice.module.scss.js +12 -12
  150. package/dist/components/select/Select.cjs +1 -1
  151. package/dist/components/select/Select.cjs.map +1 -1
  152. package/dist/components/select/Select.css +1 -1
  153. package/dist/components/select/Select.d.ts +16 -0
  154. package/dist/components/select/Select.d.ts.map +1 -1
  155. package/dist/components/select/Select.js +177 -157
  156. package/dist/components/select/Select.js.map +1 -1
  157. package/dist/components/select/Select.module.scss.cjs +1 -1
  158. package/dist/components/select/Select.module.scss.js +20 -20
  159. package/dist/components/switch/Switch.css +1 -1
  160. package/dist/components/switch/Switch.module.scss.cjs +1 -1
  161. package/dist/components/switch/Switch.module.scss.js +9 -9
  162. package/dist/components/text-area/TextArea.cjs +1 -1
  163. package/dist/components/text-area/TextArea.cjs.map +1 -1
  164. package/dist/components/text-area/TextArea.css +1 -1
  165. package/dist/components/text-area/TextArea.d.ts +8 -0
  166. package/dist/components/text-area/TextArea.d.ts.map +1 -1
  167. package/dist/components/text-area/TextArea.js +86 -67
  168. package/dist/components/text-area/TextArea.js.map +1 -1
  169. package/dist/components/text-area/TextArea.module.scss.cjs +1 -1
  170. package/dist/components/text-area/TextArea.module.scss.js +12 -10
  171. package/dist/components/text-area/TextArea.module.scss.js.map +1 -1
  172. package/dist/components/text-input/TextInput.cjs +1 -1
  173. package/dist/components/text-input/TextInput.cjs.map +1 -1
  174. package/dist/components/text-input/TextInput.css +1 -1
  175. package/dist/components/text-input/TextInput.d.ts +38 -1
  176. package/dist/components/text-input/TextInput.d.ts.map +1 -1
  177. package/dist/components/text-input/TextInput.js +149 -93
  178. package/dist/components/text-input/TextInput.js.map +1 -1
  179. package/dist/components/text-input/TextInput.module.scss.cjs +1 -1
  180. package/dist/components/text-input/TextInput.module.scss.js +19 -14
  181. package/dist/components/text-input/TextInput.module.scss.js.map +1 -1
  182. package/dist/index.cjs +1 -1
  183. package/dist/index.d.ts +3 -0
  184. package/dist/index.d.ts.map +1 -1
  185. package/dist/index.js +172 -166
  186. package/dist/index.js.map +1 -1
  187. package/dist/utils/menuItemProps.cjs +2 -0
  188. package/dist/utils/menuItemProps.cjs.map +1 -0
  189. package/dist/utils/menuItemProps.d.ts +5 -0
  190. package/dist/utils/menuItemProps.d.ts.map +1 -0
  191. package/dist/utils/menuItemProps.js +12 -0
  192. package/dist/utils/menuItemProps.js.map +1 -0
  193. package/package.json +10 -1
  194. package/dist/components/error-message/ErrorMessage.css +0 -1
  195. package/dist/components/error-message/ErrorMessage.module.scss.cjs +0 -2
  196. package/dist/components/error-message/ErrorMessage.module.scss.cjs.map +0 -1
  197. package/dist/components/error-message/ErrorMessage.module.scss.js +0 -9
  198. package/dist/components/error-message/ErrorMessage.module.scss.js.map +0 -1
@@ -1,130 +1,129 @@
1
- import { jsx as t, jsxs as z } from "react/jsx-runtime";
2
- import { forwardRef as P, useId as B, useRef as ee, useState as E, useCallback as n } from "react";
3
- import { toKebab as se } from "../../utils/string.js";
4
- import j from "../icon/Icon.js";
5
- import __te from "@mattermost/compass-icons/components/magnify.js";const te=__te&&__te.default?__te.default:__te;
6
- import __ae from "@mattermost/compass-icons/components/close-circle.js";const ae=__ae&&__ae.default?__ae.default:__ae;
7
- import { mergeClassNames as ie } from "../../utils/props.js";
8
- import s from "./SearchInput.module.scss.js";
9
- const le = {
1
+ import { jsxs as f, jsx as a } from "react/jsx-runtime";
2
+ import { forwardRef as ie, useId as ne, useRef as te, useState as j, useCallback as r } from "react";
3
+ import { toKebab as le } from "../../utils/string.js";
4
+ import ce from "../icon/Icon.js";
5
+ import __oe from "@mattermost/compass-icons/components/magnify.js";const oe=__oe&&__oe.default?__oe.default:__oe;
6
+ import re from "../field/FieldClearButton.js";
7
+ import { mergeFieldDescribedBy as de, hasFieldMessage as ue, isFieldInvalid as he } from "../field/fieldDescribedBy.js";
8
+ import { useFieldClear as me } from "../field/useFieldClear.js";
9
+ import pe from "../field-message/FieldMessage.js";
10
+ import e from "./SearchInput.module.scss.js";
11
+ const fe = {
10
12
  small: "12",
11
13
  medium: "16",
12
14
  large: "20"
13
- }, ce = {
14
- small: "12",
15
- medium: "16",
16
- large: "16"
17
- }, _e = P(
15
+ }, Me = ie(
18
16
  function({
19
- className: k = "",
20
- size: f = "medium",
21
- label: h,
22
- invalid: N = !1,
23
- onClear: p,
24
- clearLabel: A = "Clear search",
25
- clearButtonProps: i,
26
- id: M,
27
- value: _,
28
- defaultValue: b,
29
- placeholder: V,
30
- onFocus: u,
31
- onBlur: d,
32
- onChange: a,
33
- disabled: c,
34
- onKeyDown: m,
35
- ...F
36
- }, r) {
37
- const L = B(), g = M ?? L, I = ee(null), l = _ !== void 0, [O, C] = E(
38
- b ?? ""
39
- ), S = l ? _ : O, o = S != null && S !== "", [T, x] = E(!1), Z = T || o, U = n(
40
- (e) => {
41
- x(!0), u == null || u(e);
42
- },
43
- [u]
44
- ), $ = n(
45
- (e) => {
46
- x(!1), d == null || d(e);
17
+ className: D = "",
18
+ size: d = "medium",
19
+ label: u,
20
+ invalid: K = !1,
21
+ message: h,
22
+ messageTone: v,
23
+ onClear: V,
24
+ clearLabel: k = "Clear search",
25
+ clearButtonProps: t,
26
+ id: z,
27
+ value: m,
28
+ defaultValue: I,
29
+ placeholder: E,
30
+ onFocus: l,
31
+ onBlur: c,
32
+ onChange: o,
33
+ disabled: b,
34
+ readOnly: _,
35
+ onKeyDown: $,
36
+ "aria-describedby": A,
37
+ ...L
38
+ }, n) {
39
+ const T = ne(), p = z ?? T, C = te(null), i = m !== void 0, [U, g] = j(
40
+ I ?? ""
41
+ ), y = i ? m : U, F = y != null && y !== "", [Z, N] = j(!1), q = Z || F, G = r(
42
+ (s) => {
43
+ N(!0), l == null || l(s);
47
44
  },
48
- [d]
49
- ), q = n(
50
- (e) => {
51
- l || C(e.target.value), a == null || a(e);
45
+ [l]
46
+ ), H = r(
47
+ (s) => {
48
+ N(!1), c == null || c(s);
52
49
  },
53
- [l, a]
54
- ), w = n(
55
- (e) => {
56
- I.current = e, typeof r == "function" ? r(e) : r && (r.current = e);
50
+ [c]
51
+ ), w = r(
52
+ (s) => {
53
+ i || g(s.target.value), o == null || o(s);
57
54
  },
58
- [r]
59
- ), v = n(() => {
60
- var R;
61
- if (c) return;
62
- if (p) {
63
- p(), (R = I.current) == null || R.focus();
64
- return;
65
- }
66
- const e = I.current;
67
- e != null && (e.value = "", l || C(""), a == null || a({
68
- target: e,
69
- currentTarget: e
70
- }), e.focus());
71
- }, [c, l, a, p]), G = n(
72
- (e) => {
73
- m == null || m(e), !(e.defaultPrevented || c) && e.key === "Escape" && o && (e.preventDefault(), v());
55
+ [i, o]
56
+ ), J = r(
57
+ (s) => {
58
+ C.current = s, typeof n == "function" ? n(s) : n && (n.current = s);
74
59
  },
75
- [c, v, o, m]
76
- ), y = o && !c, H = s[`search-input--size-${se(f)}`], J = N ? s["search-input--invalid"] : "", Q = h != null && Z ? s["search-input--label-floated"] : "", W = s["search-input--has-leading-icon"], X = y ? s["search-input--has-trailing-icon"] : "", Y = le[f], D = ce[f], K = [
77
- s["search-input"],
78
- H,
79
- J,
80
- Q,
60
+ [n]
61
+ ), { showClearButton: x, handleClear: O, handleKeyDown: Q } = me({
62
+ disabled: !!(b || _),
63
+ hasValue: F,
64
+ clearEnabled: !0,
65
+ isControlled: i,
66
+ onClear: V,
67
+ onChange: w,
68
+ onKeyDown: $,
69
+ inputRef: C,
70
+ setUncontrolledValue: g
71
+ }), M = he(K, h, v), S = ue(h), W = e[`search-input--size-${le(d)}`], X = M ? e["search-input--invalid"] : "", Y = u != null && q ? e["search-input--label-floated"] : "", B = e["search-input--has-leading-icon"], P = x ? e["search-input--has-trailing-icon"] : "", ee = fe[d], se = [
72
+ e["search-input"],
81
73
  W,
82
74
  X,
83
- k
84
- ].filter(Boolean).join(" ");
85
- return /* @__PURE__ */ t("div", { className: K, children: /* @__PURE__ */ z("div", { className: s["search-input__wrapper"], children: [
86
- h != null && /* @__PURE__ */ t("label", { className: s["search-input__label"], htmlFor: g, children: h }),
87
- /* @__PURE__ */ z("div", { className: s["search-input__inner"], children: [
88
- /* @__PURE__ */ t("span", { className: s["search-input__leading-icon"], "aria-hidden": !0, children: /* @__PURE__ */ t(j, { size: Y, glyph: /* @__PURE__ */ t(te, {}) }) }),
89
- /* @__PURE__ */ t(
90
- "input",
91
- {
92
- ref: w,
93
- id: g,
94
- type: "search",
95
- className: s["search-input__input"],
96
- value: l ? _ : void 0,
97
- defaultValue: l ? void 0 : b,
98
- placeholder: V,
99
- disabled: c,
100
- onFocus: U,
101
- onBlur: $,
102
- onChange: q,
103
- onKeyDown: G,
104
- "aria-invalid": N ? !0 : void 0,
105
- ...F
106
- }
107
- ),
108
- y && /* @__PURE__ */ t("span", { className: s["search-input__trailing-icon"], children: /* @__PURE__ */ t(
109
- "button",
110
- {
111
- ...i,
112
- type: "button",
113
- className: ie(
114
- s["search-input__clear-button"],
115
- i == null ? void 0 : i.className
116
- ),
117
- onClick: v,
118
- "aria-label": A,
119
- tabIndex: (i == null ? void 0 : i.tabIndex) ?? -1,
120
- children: /* @__PURE__ */ t(j, { size: D, glyph: /* @__PURE__ */ t(ae, {}) })
121
- }
122
- ) })
123
- ] })
124
- ] }) });
75
+ Y,
76
+ B,
77
+ P,
78
+ D
79
+ ].filter(Boolean).join(" "), R = S ? `${p}-message` : void 0, ae = v ?? "error";
80
+ return /* @__PURE__ */ f("div", { className: se, children: [
81
+ /* @__PURE__ */ f("div", { className: e["search-input__wrapper"], children: [
82
+ u != null && /* @__PURE__ */ a("label", { className: e["search-input__label"], htmlFor: p, children: u }),
83
+ /* @__PURE__ */ f("div", { className: e["search-input__inner"], children: [
84
+ /* @__PURE__ */ a("span", { className: e["search-input__leading-icon"], "aria-hidden": !0, children: /* @__PURE__ */ a(ce, { size: ee, glyph: /* @__PURE__ */ a(oe, {}) }) }),
85
+ /* @__PURE__ */ a(
86
+ "input",
87
+ {
88
+ ref: J,
89
+ id: p,
90
+ type: "search",
91
+ className: e["search-input__input"],
92
+ value: i ? m : void 0,
93
+ defaultValue: i ? void 0 : I,
94
+ placeholder: E,
95
+ disabled: b,
96
+ readOnly: _,
97
+ onFocus: G,
98
+ onBlur: H,
99
+ onChange: w,
100
+ onKeyDown: Q,
101
+ "aria-invalid": M ? !0 : void 0,
102
+ "aria-describedby": de(
103
+ A,
104
+ R,
105
+ void 0
106
+ ),
107
+ ...L
108
+ }
109
+ ),
110
+ x && /* @__PURE__ */ a("span", { className: e["search-input__trailing-icon"], children: /* @__PURE__ */ a(
111
+ re,
112
+ {
113
+ size: d,
114
+ clearLabel: k,
115
+ clearButtonProps: t,
116
+ onClick: O,
117
+ tabIndex: (t == null ? void 0 : t.tabIndex) ?? -1
118
+ }
119
+ ) })
120
+ ] })
121
+ ] }),
122
+ S && /* @__PURE__ */ a(pe, { id: R, message: h, tone: ae })
123
+ ] });
125
124
  }
126
125
  );
127
126
  export {
128
- _e as default
127
+ Me as default
129
128
  };
130
129
  //# sourceMappingURL=SearchInput.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SearchInput.js","sources":["../../../src/components/search-input/SearchInput.tsx"],"sourcesContent":["import type {\n ChangeEvent,\n InputHTMLAttributes,\n KeyboardEvent,\n ReactNode,\n} from 'react';\nimport { forwardRef, useId, useState, useCallback, useRef } from 'react';\nimport { toKebab } from '@/utils/string';\nimport type { IconSize } from '@/components/icon/Icon';\nimport Icon from '@/components/icon/Icon';\nimport MagnifyIcon from '@mattermost/compass-icons/components/magnify';\nimport CloseCircleIcon from '@mattermost/compass-icons/components/close-circle';\nimport type { BuiltInButtonProps } from '@/utils/props';\nimport { mergeClassNames } from '@/utils/props';\nimport styles from './SearchInput.module.scss';\n\nexport type SearchInputSize = 'small' | 'medium' | 'large';\n\nconst ICON_SIZE_MAP: Record<SearchInputSize, IconSize> = {\n small: '12',\n medium: '16',\n large: '20',\n};\n\nconst CLEAR_ICON_SIZE_MAP: Record<SearchInputSize, IconSize> = {\n small: '12',\n medium: '16',\n large: '16',\n};\n\nexport interface SearchInputProps extends Omit<\n InputHTMLAttributes<HTMLInputElement>,\n 'size' | 'type'\n> {\n /** Optional CSS class name. */\n className?: string;\n /** When true, shows invalid/error styling. */\n invalid?: boolean;\n /** Floating label (placeholder-style). Floats above border when filled. */\n label?: ReactNode;\n /** Size variant. Default: Medium. */\n size?: SearchInputSize;\n /** Called when the clear button is pressed. Omit to use built-in clearing. */\n onClear?: () => void;\n /** Accessible name for the clear button. Default: \"Clear search\". */\n clearLabel?: string;\n /** Extra attributes for the clear button (e.g. `data-testid`). */\n clearButtonProps?: BuiltInButtonProps;\n}\n\n/**\n * Search Inputs are the entry point to filtering or finding content — global search, channel\n * switcher, member picker, file finder. They look like a text input with a leading magnifier\n * so the affordance is obvious before the user reads a single word.\n */\nconst SearchInput = forwardRef<HTMLInputElement, SearchInputProps>(\n function SearchInput(\n {\n className = '',\n size = 'medium',\n label,\n invalid = false,\n onClear,\n clearLabel = 'Clear search',\n clearButtonProps,\n id: idProp,\n value: valueProp,\n defaultValue,\n placeholder,\n onFocus,\n onBlur,\n onChange,\n disabled,\n onKeyDown,\n ...rest\n },\n ref,\n ) {\n const generatedId = useId();\n const id = idProp ?? generatedId;\n const inputRef = useRef<HTMLInputElement>(null);\n\n const isControlled = valueProp !== undefined;\n const [uncontrolledValue, setUncontrolledValue] = useState(\n defaultValue ?? '',\n );\n const value = isControlled ? (valueProp as string) : uncontrolledValue;\n const hasValue = value != null && value !== '';\n\n const [isFocused, setIsFocused] = useState(false);\n const labelFloated = isFocused || hasValue;\n\n const handleFocus = useCallback(\n (e: React.FocusEvent<HTMLInputElement>) => {\n setIsFocused(true);\n onFocus?.(e);\n },\n [onFocus],\n );\n const handleBlur = useCallback(\n (e: React.FocusEvent<HTMLInputElement>) => {\n setIsFocused(false);\n onBlur?.(e);\n },\n [onBlur],\n );\n const handleChange = useCallback(\n (e: ChangeEvent<HTMLInputElement>) => {\n if (!isControlled) setUncontrolledValue(e.target.value);\n onChange?.(e);\n },\n [isControlled, onChange],\n );\n\n const setInputRef = useCallback(\n (node: HTMLInputElement | null) => {\n inputRef.current = node;\n if (typeof ref === 'function') {\n ref(node);\n } else if (ref) {\n ref.current = node;\n }\n },\n [ref],\n );\n\n const handleClear = useCallback(() => {\n if (disabled) return;\n\n if (onClear) {\n onClear();\n inputRef.current?.focus();\n return;\n }\n\n const input = inputRef.current;\n if (input == null) return;\n\n input.value = '';\n if (!isControlled) setUncontrolledValue('');\n\n onChange?.({\n target: input,\n currentTarget: input,\n } as ChangeEvent<HTMLInputElement>);\n\n input.focus();\n }, [disabled, isControlled, onChange, onClear]);\n\n const handleKeyDown = useCallback(\n (e: KeyboardEvent<HTMLInputElement>) => {\n onKeyDown?.(e);\n if (e.defaultPrevented || disabled) return;\n if (e.key === 'Escape' && hasValue) {\n e.preventDefault();\n handleClear();\n }\n },\n [disabled, handleClear, hasValue, onKeyDown],\n );\n\n const showClearButton = hasValue && !disabled;\n\n const sizeClass = styles[`search-input--size-${toKebab(size)}`];\n const invalidClass = invalid ? styles['search-input--invalid'] : '';\n const labelFloatedClass =\n label != null && labelFloated\n ? styles['search-input--label-floated']\n : '';\n const hasLeadingClass = styles['search-input--has-leading-icon'];\n const hasTrailingClass = showClearButton\n ? styles['search-input--has-trailing-icon']\n : '';\n const iconSize = ICON_SIZE_MAP[size];\n const clearIconSize = CLEAR_ICON_SIZE_MAP[size];\n\n const rootClass = [\n styles['search-input'],\n sizeClass,\n invalidClass,\n labelFloatedClass,\n hasLeadingClass,\n hasTrailingClass,\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n return (\n <div className={rootClass}>\n <div className={styles['search-input__wrapper']}>\n {label != null && (\n <label className={styles['search-input__label']} htmlFor={id}>\n {label}\n </label>\n )}\n <div className={styles['search-input__inner']}>\n <span className={styles['search-input__leading-icon']} aria-hidden>\n <Icon size={iconSize} glyph={<MagnifyIcon />} />\n </span>\n <input\n ref={setInputRef}\n id={id}\n type=\"search\"\n className={styles['search-input__input']}\n value={isControlled ? valueProp : undefined}\n defaultValue={isControlled ? undefined : defaultValue}\n placeholder={placeholder}\n disabled={disabled}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n aria-invalid={invalid ? true : undefined}\n {...rest}\n />\n {showClearButton && (\n <span className={styles['search-input__trailing-icon']}>\n <button\n {...clearButtonProps}\n type=\"button\"\n className={mergeClassNames(\n styles['search-input__clear-button'],\n clearButtonProps?.className,\n )}\n onClick={handleClear}\n aria-label={clearLabel}\n tabIndex={clearButtonProps?.tabIndex ?? -1}\n >\n <Icon size={clearIconSize} glyph={<CloseCircleIcon />} />\n </button>\n </span>\n )}\n </div>\n </div>\n </div>\n );\n },\n);\n\nexport default SearchInput;\n"],"names":["ICON_SIZE_MAP","CLEAR_ICON_SIZE_MAP","SearchInput","forwardRef","className","size","label","invalid","onClear","clearLabel","clearButtonProps","idProp","valueProp","defaultValue","placeholder","onFocus","onBlur","onChange","disabled","onKeyDown","rest","ref","generatedId","useId","id","inputRef","useRef","isControlled","uncontrolledValue","setUncontrolledValue","useState","value","hasValue","isFocused","setIsFocused","labelFloated","handleFocus","useCallback","handleBlur","handleChange","setInputRef","node","handleClear","_a","input","handleKeyDown","showClearButton","sizeClass","styles","toKebab","invalidClass","labelFloatedClass","hasLeadingClass","hasTrailingClass","iconSize","clearIconSize","rootClass","jsx","jsxs","Icon","MagnifyIcon","mergeClassNames","CloseCircleIcon"],"mappings":"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"}
1
+ {"version":3,"file":"SearchInput.js","sources":["../../../src/components/search-input/SearchInput.tsx"],"sourcesContent":["import type {\n ChangeEvent,\n InputHTMLAttributes,\n KeyboardEvent,\n ReactNode,\n} from 'react';\nimport { forwardRef, useId, useState, useCallback, useRef } from 'react';\nimport { toKebab } from '@/utils/string';\nimport type { IconSize } from '@/components/icon/Icon';\nimport Icon from '@/components/icon/Icon';\nimport MagnifyIcon from '@mattermost/compass-icons/components/magnify';\nimport FieldClearButton from '@/components/field/FieldClearButton';\nimport {\n hasFieldMessage,\n isFieldInvalid,\n mergeFieldDescribedBy,\n} from '@/components/field/fieldDescribedBy';\nimport { useFieldClear } from '@/components/field/useFieldClear';\nimport FieldMessage from '@/components/field-message/FieldMessage';\nimport type { FieldMessageTone } from '@/components/field-message/FieldMessage';\nimport type { BuiltInButtonProps } from '@/utils/props';\nimport styles from './SearchInput.module.scss';\n\nexport type SearchInputSize = 'small' | 'medium' | 'large';\n\nconst ICON_SIZE_MAP: Record<SearchInputSize, IconSize> = {\n small: '12',\n medium: '16',\n large: '20',\n};\n\nexport interface SearchInputProps extends Omit<\n InputHTMLAttributes<HTMLInputElement>,\n 'size' | 'type'\n> {\n /** Optional CSS class name. */\n className?: string;\n /** When true, shows invalid/error styling. */\n invalid?: boolean;\n /** Floating label (placeholder-style). Floats above border when filled. */\n label?: ReactNode;\n /** Size variant. Default: Medium. */\n size?: SearchInputSize;\n /**\n * Field message under the field. Accepts translated nodes (e.g. `<FormattedMessage/>`).\n * Defaults to error tone (invalid chrome) when set without `messageTone`.\n */\n message?: ReactNode;\n /** Visual tone for `message`. Default: `error` when `message` is set. */\n messageTone?: FieldMessageTone;\n /** Called when the clear button is pressed. Omit to use built-in clearing. */\n onClear?: () => void;\n /** Accessible name for the clear button. Default: \"Clear search\". */\n clearLabel?: string;\n /** Extra attributes for the clear button (e.g. `data-testid`). */\n clearButtonProps?: BuiltInButtonProps;\n}\n\n/**\n * Search Inputs are the entry point to filtering or finding content — global search, channel\n * switcher, member picker, file finder. They look like a text input with a leading magnifier\n * so the affordance is obvious before the user reads a single word.\n */\nconst SearchInput = forwardRef<HTMLInputElement, SearchInputProps>(\n function SearchInput(\n {\n className = '',\n size = 'medium',\n label,\n invalid = false,\n message,\n messageTone,\n onClear,\n clearLabel = 'Clear search',\n clearButtonProps,\n id: idProp,\n value: valueProp,\n defaultValue,\n placeholder,\n onFocus,\n onBlur,\n onChange,\n disabled,\n readOnly,\n onKeyDown,\n 'aria-describedby': describedBy,\n ...rest\n },\n ref,\n ) {\n const generatedId = useId();\n const id = idProp ?? generatedId;\n const inputRef = useRef<HTMLInputElement | null>(null);\n\n const isControlled = valueProp !== undefined;\n const [uncontrolledValue, setUncontrolledValue] = useState(\n defaultValue ?? '',\n );\n const value = isControlled ? (valueProp as string) : uncontrolledValue;\n const hasValue = value != null && value !== '';\n\n const [isFocused, setIsFocused] = useState(false);\n const labelFloated = isFocused || hasValue;\n\n const handleFocus = useCallback(\n (e: React.FocusEvent<HTMLInputElement>) => {\n setIsFocused(true);\n onFocus?.(e);\n },\n [onFocus],\n );\n const handleBlur = useCallback(\n (e: React.FocusEvent<HTMLInputElement>) => {\n setIsFocused(false);\n onBlur?.(e);\n },\n [onBlur],\n );\n const handleChange = useCallback(\n (e: ChangeEvent<HTMLInputElement>) => {\n if (!isControlled) setUncontrolledValue(e.target.value);\n onChange?.(e);\n },\n [isControlled, onChange],\n );\n\n const setInputRef = useCallback(\n (node: HTMLInputElement | null) => {\n inputRef.current = node;\n if (typeof ref === 'function') {\n ref(node);\n } else if (ref) {\n ref.current = node;\n }\n },\n [ref],\n );\n\n const { showClearButton, handleClear, handleKeyDown } = useFieldClear({\n disabled: Boolean(disabled || readOnly),\n hasValue,\n clearEnabled: true,\n isControlled,\n onClear,\n onChange: handleChange,\n onKeyDown: onKeyDown as\n | ((e: KeyboardEvent<HTMLInputElement>) => void)\n | undefined,\n inputRef,\n setUncontrolledValue,\n });\n\n const showInvalid = isFieldInvalid(invalid, message, messageTone);\n const showMessage = hasFieldMessage(message);\n const sizeClass = styles[`search-input--size-${toKebab(size)}`];\n const invalidClass = showInvalid ? styles['search-input--invalid'] : '';\n const labelFloatedClass =\n label != null && labelFloated\n ? styles['search-input--label-floated']\n : '';\n const hasLeadingClass = styles['search-input--has-leading-icon'];\n const hasTrailingClass = showClearButton\n ? styles['search-input--has-trailing-icon']\n : '';\n const iconSize = ICON_SIZE_MAP[size];\n\n const rootClass = [\n styles['search-input'],\n sizeClass,\n invalidClass,\n labelFloatedClass,\n hasLeadingClass,\n hasTrailingClass,\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n const messageId = showMessage ? `${id}-message` : undefined;\n const resolvedTone = messageTone ?? 'error';\n\n return (\n <div className={rootClass}>\n <div className={styles['search-input__wrapper']}>\n {label != null && (\n <label className={styles['search-input__label']} htmlFor={id}>\n {label}\n </label>\n )}\n <div className={styles['search-input__inner']}>\n <span className={styles['search-input__leading-icon']} aria-hidden>\n <Icon size={iconSize} glyph={<MagnifyIcon />} />\n </span>\n <input\n ref={setInputRef}\n id={id}\n type=\"search\"\n className={styles['search-input__input']}\n value={isControlled ? valueProp : undefined}\n defaultValue={isControlled ? undefined : defaultValue}\n placeholder={placeholder}\n disabled={disabled}\n readOnly={readOnly}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n aria-invalid={showInvalid ? true : undefined}\n aria-describedby={mergeFieldDescribedBy(\n describedBy,\n messageId,\n undefined,\n )}\n {...rest}\n />\n {showClearButton && (\n <span className={styles['search-input__trailing-icon']}>\n <FieldClearButton\n size={size}\n clearLabel={clearLabel}\n clearButtonProps={clearButtonProps}\n onClick={handleClear}\n tabIndex={clearButtonProps?.tabIndex ?? -1}\n />\n </span>\n )}\n </div>\n </div>\n {showMessage && (\n <FieldMessage id={messageId} message={message} tone={resolvedTone} />\n )}\n </div>\n );\n },\n);\n\nexport default SearchInput;\n"],"names":["ICON_SIZE_MAP","SearchInput","forwardRef","className","size","label","invalid","message","messageTone","onClear","clearLabel","clearButtonProps","idProp","valueProp","defaultValue","placeholder","onFocus","onBlur","onChange","disabled","readOnly","onKeyDown","describedBy","rest","ref","generatedId","useId","id","inputRef","useRef","isControlled","uncontrolledValue","setUncontrolledValue","useState","value","hasValue","isFocused","setIsFocused","labelFloated","handleFocus","useCallback","e","handleBlur","handleChange","setInputRef","node","showClearButton","handleClear","handleKeyDown","useFieldClear","showInvalid","isFieldInvalid","showMessage","hasFieldMessage","sizeClass","styles","toKebab","invalidClass","labelFloatedClass","hasLeadingClass","hasTrailingClass","iconSize","rootClass","messageId","resolvedTone","jsxs","jsx","Icon","MagnifyIcon","mergeFieldDescribedBy","FieldClearButton","FieldMessage"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('./SearchInput.css');const i={"search-input":"_search-input_1iq6i_2","search-input__wrapper":"_search-input__wrapper_1iq6i_7","search-input__input":"_search-input__input_1iq6i_17","search-input__label":"_search-input__label_1iq6i_27","search-input--label-floated":"_search-input--label-floated_1iq6i_47","search-input__inner":"_search-input__inner_1iq6i_54","search-input__leading-icon":"_search-input__leading-icon_1iq6i_85","search-input__trailing-icon":"_search-input__trailing-icon_1iq6i_85","search-input__clear-button":"_search-input__clear-button_1iq6i_99","search-input--size-small":"_search-input--size-small_1iq6i_114","search-input--size-medium":"_search-input--size-medium_1iq6i_130","search-input--size-large":"_search-input--size-large_1iq6i_150","search-input--has-leading-icon":"_search-input--has-leading-icon_1iq6i_171","search-input--invalid":"_search-input--invalid_1iq6i_189"};exports.default=i;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('./SearchInput.css');const _={"search-input":"_search-input_1h7hr_2","search-input__wrapper":"_search-input__wrapper_1h7hr_8","search-input__input":"_search-input__input_1h7hr_18","search-input__label":"_search-input__label_1h7hr_28","search-input--label-floated":"_search-input--label-floated_1h7hr_48","search-input__inner":"_search-input__inner_1h7hr_55","search-input__leading-icon":"_search-input__leading-icon_1h7hr_86","search-input__trailing-icon":"_search-input__trailing-icon_1h7hr_86","search-input--size-small":"_search-input--size-small_1h7hr_100","search-input--size-medium":"_search-input--size-medium_1h7hr_116","search-input--size-large":"_search-input--size-large_1h7hr_136","search-input--has-leading-icon":"_search-input--has-leading-icon_1h7hr_157","search-input--invalid":"_search-input--invalid_1h7hr_181"};exports.default=_;
2
2
  //# sourceMappingURL=SearchInput.module.scss.cjs.map
@@ -1,20 +1,19 @@
1
- import './SearchInput.css';const i = {
2
- "search-input": "_search-input_1iq6i_2",
3
- "search-input__wrapper": "_search-input__wrapper_1iq6i_7",
4
- "search-input__input": "_search-input__input_1iq6i_17",
5
- "search-input__label": "_search-input__label_1iq6i_27",
6
- "search-input--label-floated": "_search-input--label-floated_1iq6i_47",
7
- "search-input__inner": "_search-input__inner_1iq6i_54",
8
- "search-input__leading-icon": "_search-input__leading-icon_1iq6i_85",
9
- "search-input__trailing-icon": "_search-input__trailing-icon_1iq6i_85",
10
- "search-input__clear-button": "_search-input__clear-button_1iq6i_99",
11
- "search-input--size-small": "_search-input--size-small_1iq6i_114",
12
- "search-input--size-medium": "_search-input--size-medium_1iq6i_130",
13
- "search-input--size-large": "_search-input--size-large_1iq6i_150",
14
- "search-input--has-leading-icon": "_search-input--has-leading-icon_1iq6i_171",
15
- "search-input--invalid": "_search-input--invalid_1iq6i_189"
1
+ import './SearchInput.css';const _ = {
2
+ "search-input": "_search-input_1h7hr_2",
3
+ "search-input__wrapper": "_search-input__wrapper_1h7hr_8",
4
+ "search-input__input": "_search-input__input_1h7hr_18",
5
+ "search-input__label": "_search-input__label_1h7hr_28",
6
+ "search-input--label-floated": "_search-input--label-floated_1h7hr_48",
7
+ "search-input__inner": "_search-input__inner_1h7hr_55",
8
+ "search-input__leading-icon": "_search-input__leading-icon_1h7hr_86",
9
+ "search-input__trailing-icon": "_search-input__trailing-icon_1h7hr_86",
10
+ "search-input--size-small": "_search-input--size-small_1h7hr_100",
11
+ "search-input--size-medium": "_search-input--size-medium_1h7hr_116",
12
+ "search-input--size-large": "_search-input--size-large_1h7hr_136",
13
+ "search-input--has-leading-icon": "_search-input--has-leading-icon_1h7hr_157",
14
+ "search-input--invalid": "_search-input--invalid_1h7hr_181"
16
15
  };
17
16
  export {
18
- i as default
17
+ _ as default
19
18
  };
20
19
  //# sourceMappingURL=SearchInput.module.scss.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SearchInput.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"SearchInput.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),d=require("../button/Button.cjs"),y=require("../icon-button/IconButton.cjs"),l=require("../icon/Icon.cjs"),__j=require("@mattermost/compass-icons/components/information-outline.js"),j=__j?.default??__j,__O=require("@mattermost/compass-icons/components/alert-outline.js"),O=__O?.default??__O,__S=require("@mattermost/compass-icons/components/alert-circle-outline.js"),S=__S?.default??__S,__k=require("@mattermost/compass-icons/components/check-circle-outline.js"),k=__k?.default??__k,__A=require("@mattermost/compass-icons/components/close.js"),A=__A?.default??__A,b=require("../../utils/props.cjs"),s=require("./SectionNotice.module.scss.cjs"),w={info:e.jsx(l.default,{size:"20",glyph:e.jsx(j,{})}),warning:e.jsx(l.default,{size:"20",glyph:e.jsx(S,{})}),danger:e.jsx(l.default,{size:"20",glyph:e.jsx(O,{})}),success:e.jsx(l.default,{size:"20",glyph:e.jsx(k,{})}),hint:e.jsx(l.default,{size:"20",glyph:e.jsx(j,{})})};function M({className:f="",type:t="info",icon:o,title:x,description:a,primaryButtonLabel:n,onPrimaryAction:h,secondaryButtonLabel:c,onSecondaryAction:_,primaryActionDisabled:m,primaryActionLoading:g,secondaryActionDisabled:C,secondaryActionLoading:N,onDismiss:r,dismissLabel:q="Dismiss",dismissButtonProps:i,...v}){const I=s.default[`section-notice--type-${t.toLowerCase()}`],z=[s.default["section-notice"],I,f].filter(Boolean).join(" "),u=o!==void 0?o:w[t],p=n!=null||c!=null;return e.jsxs("div",{...v,className:z,children:[e.jsxs("div",{className:s.default["section-notice__content"],children:[u!=null&&e.jsx("span",{className:s.default["section-notice__icon"],"aria-hidden":!0,children:e.jsx(l.IconSlotContext.Provider,{value:{size:"20"},children:u})}),e.jsxs("div",{className:s.default["section-notice__body"],children:[e.jsx("p",{className:s.default["section-notice__title"],children:x}),a!=null&&e.jsx("div",{className:s.default["section-notice__description"],children:a}),p&&e.jsxs("div",{className:s.default["section-notice__actions"],children:[n!=null&&e.jsx(d.default,{emphasis:"primary",size:"small",disabled:m,loading:g,onClick:h,children:n}),c!=null&&e.jsx(d.default,{emphasis:"secondary",size:"small",disabled:C,loading:N,onClick:_,children:c})]})]})]}),r!=null&&e.jsx(y.default,{...i,className:b.mergeClassNames(s.default["section-notice__dismiss"],i==null?void 0:i.className),"aria-label":q,size:"small",icon:e.jsx(l.default,{size:"16",glyph:e.jsx(A,{})}),onClick:r})]})}exports.default=M;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),d=require("../button/Button.cjs"),y=require("../icon-button/IconButton.cjs"),s=require("../icon/Icon.cjs"),__j=require("@mattermost/compass-icons/components/information-outline.js"),j=__j?.default??__j,__O=require("@mattermost/compass-icons/components/alert-outline.js"),O=__O?.default??__O,__S=require("@mattermost/compass-icons/components/alert-circle-outline.js"),S=__S?.default??__S,__k=require("@mattermost/compass-icons/components/check-circle-outline.js"),k=__k?.default??__k,__A=require("@mattermost/compass-icons/components/close.js"),A=__A?.default??__A,b=require("../../utils/props.cjs"),l=require("./SectionNotice.module.scss.cjs"),w={info:e.jsx(s.default,{size:"20",glyph:e.jsx(j,{})}),warning:e.jsx(s.default,{size:"20",glyph:e.jsx(S,{})}),danger:e.jsx(s.default,{size:"20",glyph:e.jsx(O,{})}),success:e.jsx(s.default,{size:"20",glyph:e.jsx(k,{})}),hint:e.jsx(s.default,{size:"20",glyph:e.jsx(j,{})})};function M({className:f="",type:t="info",icon:o,title:x,description:a,primaryButtonLabel:n,onPrimaryAction:h,secondaryButtonLabel:c,onSecondaryAction:_,primaryActionDisabled:m,primaryActionLoading:g,secondaryActionDisabled:C,secondaryActionLoading:N,onDismiss:r,dismissLabel:q="Dismiss",dismissButtonProps:i,...v}){const I=l.default[`section-notice--type-${t.toLowerCase()}`],z=[l.default["section-notice"],I,f].filter(Boolean).join(" "),u=o!==void 0?o:w[t],p=n!=null||c!=null;return e.jsxs("div",{...v,className:z,children:[e.jsxs("div",{className:l.default["section-notice__content"],children:[u!=null&&e.jsx("span",{className:l.default["section-notice__icon"],"aria-hidden":!0,children:e.jsx(s.IconSlotContext.Provider,{value:{size:"20"},children:u})}),e.jsxs("div",{className:l.default["section-notice__body"],children:[e.jsx("h4",{className:l.default["section-notice__title"],children:x}),a!=null&&e.jsx("div",{className:l.default["section-notice__description"],children:a}),p&&e.jsxs("div",{className:l.default["section-notice__actions"],children:[n!=null&&e.jsx(d.default,{emphasis:"primary",size:"small",disabled:m,loading:g,onClick:h,children:n}),c!=null&&e.jsx(d.default,{emphasis:"tertiary",size:"small",disabled:C,loading:N,onClick:_,children:c})]})]})]}),r!=null&&e.jsx(y.default,{...i,className:b.mergeClassNames(l.default["section-notice__dismiss"],i==null?void 0:i.className),"aria-label":q,size:"small",icon:e.jsx(s.default,{size:"16",glyph:e.jsx(A,{})}),onClick:r})]})}exports.default=M;
2
2
  //# sourceMappingURL=SectionNotice.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"SectionNotice.cjs","sources":["../../../src/components/section-notice/SectionNotice.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from 'react';\nimport Button from '@/components/button/Button';\nimport IconButton from '@/components/icon-button/IconButton';\nimport Icon from '@/components/icon/Icon';\nimport { IconSlotContext } from '@/components/icon/Icon';\nimport InformationOutlineIcon from '@mattermost/compass-icons/components/information-outline';\nimport AlertOutlineIcon from '@mattermost/compass-icons/components/alert-outline';\nimport AlertCircleOutlineIcon from '@mattermost/compass-icons/components/alert-circle-outline';\nimport CheckCircleOutlineIcon from '@mattermost/compass-icons/components/check-circle-outline';\nimport CloseIcon from '@mattermost/compass-icons/components/close';\nimport type { BuiltInButtonProps } from '@/utils/props';\nimport { mergeClassNames } from '@/utils/props';\nimport styles from './SectionNotice.module.scss';\n\nexport type SectionNoticeType =\n | 'info'\n | 'warning'\n | 'danger'\n | 'success'\n | 'hint';\n\nexport interface SectionNoticeProps extends Omit<\n HTMLAttributes<HTMLDivElement>,\n 'title'\n> {\n /** Optional CSS class name. */\n className?: string;\n /** Type controls color-coding. Default: Info. */\n type?: SectionNoticeType;\n /** Optional leading icon. When omitted a default type icon is shown. Pass `<Icon glyph={<SomeIcon />} />` — SectionNotice provides the correct size via context. */\n icon?: ReactNode;\n /** Title / headline. Accepts translated nodes (e.g. `<FormattedMessage/>`). */\n title: ReactNode;\n /** Optional body description. */\n description?: ReactNode;\n /** Primary action button label. */\n primaryButtonLabel?: ReactNode;\n /** Primary action callback. */\n onPrimaryAction?: () => void;\n /** Disables the primary action button. */\n primaryActionDisabled?: boolean;\n /** Shows a spinner in the primary action button and disables it. */\n primaryActionLoading?: boolean;\n /** Secondary action button label. */\n secondaryButtonLabel?: ReactNode;\n /** Secondary action callback. */\n onSecondaryAction?: () => void;\n /** Disables the secondary action button. */\n secondaryActionDisabled?: boolean;\n /** Shows a spinner in the secondary action button and disables it. */\n secondaryActionLoading?: boolean;\n /** Called when dismiss (×) button is clicked. When omitted, dismiss button is hidden. */\n onDismiss?: () => void;\n /** Accessible name for the dismiss button. Default: \"Dismiss\". */\n dismissLabel?: string;\n /** Extra attributes for the dismiss button (e.g. `data-testid`). */\n dismissButtonProps?: BuiltInButtonProps;\n}\n\nconst DEFAULT_ICONS: Record<SectionNoticeType, ReactNode> = {\n info: <Icon size=\"20\" glyph={<InformationOutlineIcon />} />,\n warning: <Icon size=\"20\" glyph={<AlertCircleOutlineIcon />} />,\n danger: <Icon size=\"20\" glyph={<AlertOutlineIcon />} />,\n success: <Icon size=\"20\" glyph={<CheckCircleOutlineIcon />} />,\n hint: <Icon size=\"20\" glyph={<InformationOutlineIcon />} />,\n};\n\n/**\n * A Section Notice is an in-context alert that lives inside a settings page, admin panel, or\n * other content region. Use it to flag important information, report a state change, or\n * surface a problem the user needs to act on — without yanking them out of the flow.\n */\nexport default function SectionNotice({\n className = '',\n type = 'info',\n icon,\n title,\n description,\n primaryButtonLabel,\n onPrimaryAction,\n secondaryButtonLabel,\n onSecondaryAction,\n primaryActionDisabled,\n primaryActionLoading,\n secondaryActionDisabled,\n secondaryActionLoading,\n onDismiss,\n dismissLabel = 'Dismiss',\n dismissButtonProps,\n ...rest\n}: SectionNoticeProps) {\n const typeClass = styles[`section-notice--type-${type.toLowerCase()}`];\n\n const rootClass = [styles['section-notice'], typeClass, className]\n .filter(Boolean)\n .join(' ');\n\n const resolvedIcon = icon !== undefined ? icon : DEFAULT_ICONS[type];\n\n const hasActions = primaryButtonLabel != null || secondaryButtonLabel != null;\n\n return (\n <div {...rest} className={rootClass}>\n <div className={styles['section-notice__content']}>\n {resolvedIcon != null && (\n <span className={styles['section-notice__icon']} aria-hidden>\n <IconSlotContext.Provider value={{ size: '20' }}>\n {resolvedIcon}\n </IconSlotContext.Provider>\n </span>\n )}\n <div className={styles['section-notice__body']}>\n <p className={styles['section-notice__title']}>{title}</p>\n {description != null && (\n <div className={styles['section-notice__description']}>\n {description}\n </div>\n )}\n {hasActions && (\n <div className={styles['section-notice__actions']}>\n {primaryButtonLabel != null && (\n <Button\n emphasis=\"primary\"\n size=\"small\"\n disabled={primaryActionDisabled}\n loading={primaryActionLoading}\n onClick={onPrimaryAction}\n >\n {primaryButtonLabel}\n </Button>\n )}\n {secondaryButtonLabel != null && (\n <Button\n emphasis=\"secondary\"\n size=\"small\"\n disabled={secondaryActionDisabled}\n loading={secondaryActionLoading}\n onClick={onSecondaryAction}\n >\n {secondaryButtonLabel}\n </Button>\n )}\n </div>\n )}\n </div>\n </div>\n {onDismiss != null && (\n <IconButton\n {...dismissButtonProps}\n className={mergeClassNames(\n styles['section-notice__dismiss'],\n dismissButtonProps?.className,\n )}\n aria-label={dismissLabel}\n size=\"small\"\n icon={<Icon size=\"16\" glyph={<CloseIcon />} />}\n onClick={onDismiss}\n />\n )}\n </div>\n );\n}\n"],"names":["DEFAULT_ICONS","Icon","jsx","InformationOutlineIcon","AlertCircleOutlineIcon","AlertOutlineIcon","CheckCircleOutlineIcon","SectionNotice","className","type","icon","title","description","primaryButtonLabel","onPrimaryAction","secondaryButtonLabel","onSecondaryAction","primaryActionDisabled","primaryActionLoading","secondaryActionDisabled","secondaryActionLoading","onDismiss","dismissLabel","dismissButtonProps","rest","typeClass","styles","rootClass","resolvedIcon","hasActions","jsxs","IconSlotContext","Button","IconButton","mergeClassNames","CloseIcon"],"mappings":"upBA2DMA,EAAsD,CAC1D,WAAOC,UAAA,CAAK,KAAK,KAAK,MAAOC,MAACC,IAAuB,EAAI,EACzD,cAAUF,UAAA,CAAK,KAAK,KAAK,MAAOC,MAACE,IAAuB,EAAI,EAC5D,aAASH,UAAA,CAAK,KAAK,KAAK,MAAOC,MAACG,IAAiB,EAAI,EACrD,cAAUJ,UAAA,CAAK,KAAK,KAAK,MAAOC,MAACI,IAAuB,EAAI,EAC5D,WAAOL,EAAAA,QAAA,CAAK,KAAK,KAAK,MAAOC,EAAAA,IAACC,IAAuB,CAAA,CAAI,CAC3D,EAOA,SAAwBI,EAAc,CACpC,UAAAC,EAAY,GACZ,KAAAC,EAAO,OACP,KAAAC,EACA,MAAAC,EACA,YAAAC,EACA,mBAAAC,EACA,gBAAAC,EACA,qBAAAC,EACA,kBAAAC,EACA,sBAAAC,EACA,qBAAAC,EACA,wBAAAC,EACA,uBAAAC,EACA,UAAAC,EACA,aAAAC,EAAe,UACf,mBAAAC,EACA,GAAGC,CACL,EAAuB,CACrB,MAAMC,EAAYC,EAAAA,QAAO,wBAAwBjB,EAAK,YAAA,CAAa,EAAE,EAE/DkB,EAAY,CAACD,UAAO,gBAAgB,EAAGD,EAAWjB,CAAS,EAC9D,OAAO,OAAO,EACd,KAAK,GAAG,EAELoB,EAAelB,IAAS,OAAYA,EAAOV,EAAcS,CAAI,EAE7DoB,EAAahB,GAAsB,MAAQE,GAAwB,KAEzE,OACEe,EAAAA,KAAC,MAAA,CAAK,GAAGN,EAAM,UAAWG,EACxB,SAAA,CAAAG,EAAAA,KAAC,MAAA,CAAI,UAAWJ,EAAAA,QAAO,yBAAyB,EAC7C,SAAA,CAAAE,GAAgB,MACf1B,EAAAA,IAAC,OAAA,CAAK,UAAWwB,EAAAA,QAAO,sBAAsB,EAAG,cAAW,GAC1D,eAACK,kBAAgB,SAAhB,CAAyB,MAAO,CAAE,KAAM,IAAA,EACtC,WACH,EACF,EAEFD,EAAAA,KAAC,MAAA,CAAI,UAAWJ,EAAAA,QAAO,sBAAsB,EAC3C,SAAA,CAAAxB,MAAC,IAAA,CAAE,UAAWwB,EAAAA,QAAO,uBAAuB,EAAI,SAAAf,EAAM,EACrDC,GAAe,MACdV,MAAC,MAAA,CAAI,UAAWwB,EAAAA,QAAO,6BAA6B,EACjD,SAAAd,EACH,EAEDiB,GACCC,EAAAA,KAAC,MAAA,CAAI,UAAWJ,UAAO,yBAAyB,EAC7C,SAAA,CAAAb,GAAsB,MACrBX,EAAAA,IAAC8B,EAAAA,QAAA,CACC,SAAS,UACT,KAAK,QACL,SAAUf,EACV,QAASC,EACT,QAASJ,EAER,SAAAD,CAAA,CAAA,EAGJE,GAAwB,MACvBb,EAAAA,IAAC8B,EAAAA,QAAA,CACC,SAAS,YACT,KAAK,QACL,SAAUb,EACV,QAASC,EACT,QAASJ,EAER,SAAAD,CAAA,CAAA,CACH,CAAA,CAEJ,CAAA,CAAA,CAEJ,CAAA,EACF,EACCM,GAAa,MACZnB,EAAAA,IAAC+B,EAAAA,QAAA,CACE,GAAGV,EACJ,UAAWW,EAAAA,gBACTR,EAAAA,QAAO,yBAAyB,EAChCH,GAAA,YAAAA,EAAoB,SAAA,EAEtB,aAAYD,EACZ,KAAK,QACL,WAAOrB,UAAA,CAAK,KAAK,KAAK,MAAOC,MAACiC,IAAU,EAAI,EAC5C,QAASd,CAAA,CAAA,CACX,EAEJ,CAEJ"}
1
+ {"version":3,"file":"SectionNotice.cjs","sources":["../../../src/components/section-notice/SectionNotice.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from 'react';\nimport Button from '@/components/button/Button';\nimport IconButton from '@/components/icon-button/IconButton';\nimport Icon from '@/components/icon/Icon';\nimport { IconSlotContext } from '@/components/icon/Icon';\nimport InformationOutlineIcon from '@mattermost/compass-icons/components/information-outline';\nimport AlertOutlineIcon from '@mattermost/compass-icons/components/alert-outline';\nimport AlertCircleOutlineIcon from '@mattermost/compass-icons/components/alert-circle-outline';\nimport CheckCircleOutlineIcon from '@mattermost/compass-icons/components/check-circle-outline';\nimport CloseIcon from '@mattermost/compass-icons/components/close';\nimport type { BuiltInButtonProps } from '@/utils/props';\nimport { mergeClassNames } from '@/utils/props';\nimport styles from './SectionNotice.module.scss';\n\nexport type SectionNoticeType =\n | 'info'\n | 'warning'\n | 'danger'\n | 'success'\n | 'hint';\n\nexport interface SectionNoticeProps extends Omit<\n HTMLAttributes<HTMLDivElement>,\n 'title'\n> {\n /** Optional CSS class name. */\n className?: string;\n /** Type controls color-coding. Default: Info. */\n type?: SectionNoticeType;\n /** Optional leading icon. When omitted a default type icon is shown. Pass `<Icon glyph={<SomeIcon />} />` — SectionNotice provides the correct size via context. */\n icon?: ReactNode;\n /** Title / headline. Accepts translated nodes (e.g. `<FormattedMessage/>`). */\n title: ReactNode;\n /** Optional body description. */\n description?: ReactNode;\n /** Primary action button label. */\n primaryButtonLabel?: ReactNode;\n /** Primary action callback. */\n onPrimaryAction?: () => void;\n /** Disables the primary action button. */\n primaryActionDisabled?: boolean;\n /** Shows a spinner in the primary action button and disables it. */\n primaryActionLoading?: boolean;\n /** Secondary action button label. */\n secondaryButtonLabel?: ReactNode;\n /** Secondary action callback. */\n onSecondaryAction?: () => void;\n /** Disables the secondary action button. */\n secondaryActionDisabled?: boolean;\n /** Shows a spinner in the secondary action button and disables it. */\n secondaryActionLoading?: boolean;\n /** Called when dismiss (×) button is clicked. When omitted, dismiss button is hidden. */\n onDismiss?: () => void;\n /** Accessible name for the dismiss button. Default: \"Dismiss\". */\n dismissLabel?: string;\n /** Extra attributes for the dismiss button (e.g. `data-testid`). */\n dismissButtonProps?: BuiltInButtonProps;\n}\n\nconst DEFAULT_ICONS: Record<SectionNoticeType, ReactNode> = {\n info: <Icon size=\"20\" glyph={<InformationOutlineIcon />} />,\n warning: <Icon size=\"20\" glyph={<AlertCircleOutlineIcon />} />,\n danger: <Icon size=\"20\" glyph={<AlertOutlineIcon />} />,\n success: <Icon size=\"20\" glyph={<CheckCircleOutlineIcon />} />,\n hint: <Icon size=\"20\" glyph={<InformationOutlineIcon />} />,\n};\n\n/**\n * A Section Notice is an in-context alert that lives inside a settings page, admin panel, or\n * other content region. Use it to flag important information, report a state change, or\n * surface a problem the user needs to act on — without yanking them out of the flow.\n */\nexport default function SectionNotice({\n className = '',\n type = 'info',\n icon,\n title,\n description,\n primaryButtonLabel,\n onPrimaryAction,\n secondaryButtonLabel,\n onSecondaryAction,\n primaryActionDisabled,\n primaryActionLoading,\n secondaryActionDisabled,\n secondaryActionLoading,\n onDismiss,\n dismissLabel = 'Dismiss',\n dismissButtonProps,\n ...rest\n}: SectionNoticeProps) {\n const typeClass = styles[`section-notice--type-${type.toLowerCase()}`];\n\n const rootClass = [styles['section-notice'], typeClass, className]\n .filter(Boolean)\n .join(' ');\n\n const resolvedIcon = icon !== undefined ? icon : DEFAULT_ICONS[type];\n\n const hasActions = primaryButtonLabel != null || secondaryButtonLabel != null;\n\n return (\n <div {...rest} className={rootClass}>\n <div className={styles['section-notice__content']}>\n {resolvedIcon != null && (\n <span className={styles['section-notice__icon']} aria-hidden>\n <IconSlotContext.Provider value={{ size: '20' }}>\n {resolvedIcon}\n </IconSlotContext.Provider>\n </span>\n )}\n <div className={styles['section-notice__body']}>\n <h4 className={styles['section-notice__title']}>{title}</h4>\n {description != null && (\n <div className={styles['section-notice__description']}>\n {description}\n </div>\n )}\n {hasActions && (\n <div className={styles['section-notice__actions']}>\n {primaryButtonLabel != null && (\n <Button\n emphasis=\"primary\"\n size=\"small\"\n disabled={primaryActionDisabled}\n loading={primaryActionLoading}\n onClick={onPrimaryAction}\n >\n {primaryButtonLabel}\n </Button>\n )}\n {secondaryButtonLabel != null && (\n <Button\n emphasis=\"tertiary\"\n size=\"small\"\n disabled={secondaryActionDisabled}\n loading={secondaryActionLoading}\n onClick={onSecondaryAction}\n >\n {secondaryButtonLabel}\n </Button>\n )}\n </div>\n )}\n </div>\n </div>\n {onDismiss != null && (\n <IconButton\n {...dismissButtonProps}\n className={mergeClassNames(\n styles['section-notice__dismiss'],\n dismissButtonProps?.className,\n )}\n aria-label={dismissLabel}\n size=\"small\"\n icon={<Icon size=\"16\" glyph={<CloseIcon />} />}\n onClick={onDismiss}\n />\n )}\n </div>\n );\n}\n"],"names":["DEFAULT_ICONS","Icon","jsx","InformationOutlineIcon","AlertCircleOutlineIcon","AlertOutlineIcon","CheckCircleOutlineIcon","SectionNotice","className","type","icon","title","description","primaryButtonLabel","onPrimaryAction","secondaryButtonLabel","onSecondaryAction","primaryActionDisabled","primaryActionLoading","secondaryActionDisabled","secondaryActionLoading","onDismiss","dismissLabel","dismissButtonProps","rest","typeClass","styles","rootClass","resolvedIcon","hasActions","jsxs","IconSlotContext","Button","IconButton","mergeClassNames","CloseIcon"],"mappings":"upBA2DMA,EAAsD,CAC1D,WAAOC,UAAA,CAAK,KAAK,KAAK,MAAOC,MAACC,IAAuB,EAAI,EACzD,cAAUF,UAAA,CAAK,KAAK,KAAK,MAAOC,MAACE,IAAuB,EAAI,EAC5D,aAASH,UAAA,CAAK,KAAK,KAAK,MAAOC,MAACG,IAAiB,EAAI,EACrD,cAAUJ,UAAA,CAAK,KAAK,KAAK,MAAOC,MAACI,IAAuB,EAAI,EAC5D,WAAOL,EAAAA,QAAA,CAAK,KAAK,KAAK,MAAOC,EAAAA,IAACC,IAAuB,CAAA,CAAI,CAC3D,EAOA,SAAwBI,EAAc,CACpC,UAAAC,EAAY,GACZ,KAAAC,EAAO,OACP,KAAAC,EACA,MAAAC,EACA,YAAAC,EACA,mBAAAC,EACA,gBAAAC,EACA,qBAAAC,EACA,kBAAAC,EACA,sBAAAC,EACA,qBAAAC,EACA,wBAAAC,EACA,uBAAAC,EACA,UAAAC,EACA,aAAAC,EAAe,UACf,mBAAAC,EACA,GAAGC,CACL,EAAuB,CACrB,MAAMC,EAAYC,EAAAA,QAAO,wBAAwBjB,EAAK,YAAA,CAAa,EAAE,EAE/DkB,EAAY,CAACD,UAAO,gBAAgB,EAAGD,EAAWjB,CAAS,EAC9D,OAAO,OAAO,EACd,KAAK,GAAG,EAELoB,EAAelB,IAAS,OAAYA,EAAOV,EAAcS,CAAI,EAE7DoB,EAAahB,GAAsB,MAAQE,GAAwB,KAEzE,OACEe,EAAAA,KAAC,MAAA,CAAK,GAAGN,EAAM,UAAWG,EACxB,SAAA,CAAAG,EAAAA,KAAC,MAAA,CAAI,UAAWJ,EAAAA,QAAO,yBAAyB,EAC7C,SAAA,CAAAE,GAAgB,MACf1B,EAAAA,IAAC,OAAA,CAAK,UAAWwB,EAAAA,QAAO,sBAAsB,EAAG,cAAW,GAC1D,eAACK,kBAAgB,SAAhB,CAAyB,MAAO,CAAE,KAAM,IAAA,EACtC,WACH,EACF,EAEFD,EAAAA,KAAC,MAAA,CAAI,UAAWJ,EAAAA,QAAO,sBAAsB,EAC3C,SAAA,CAAAxB,MAAC,KAAA,CAAG,UAAWwB,EAAAA,QAAO,uBAAuB,EAAI,SAAAf,EAAM,EACtDC,GAAe,MACdV,MAAC,MAAA,CAAI,UAAWwB,EAAAA,QAAO,6BAA6B,EACjD,SAAAd,EACH,EAEDiB,GACCC,EAAAA,KAAC,MAAA,CAAI,UAAWJ,UAAO,yBAAyB,EAC7C,SAAA,CAAAb,GAAsB,MACrBX,EAAAA,IAAC8B,EAAAA,QAAA,CACC,SAAS,UACT,KAAK,QACL,SAAUf,EACV,QAASC,EACT,QAASJ,EAER,SAAAD,CAAA,CAAA,EAGJE,GAAwB,MACvBb,EAAAA,IAAC8B,EAAAA,QAAA,CACC,SAAS,WACT,KAAK,QACL,SAAUb,EACV,QAASC,EACT,QAASJ,EAER,SAAAD,CAAA,CAAA,CACH,CAAA,CAEJ,CAAA,CAAA,CAEJ,CAAA,EACF,EACCM,GAAa,MACZnB,EAAAA,IAAC+B,EAAAA,QAAA,CACE,GAAGV,EACJ,UAAWW,EAAAA,gBACTR,EAAAA,QAAO,yBAAyB,EAChCH,GAAA,YAAAA,EAAoB,SAAA,EAEtB,aAAYD,EACZ,KAAK,QACL,WAAOrB,UAAA,CAAK,KAAK,KAAK,MAAOC,MAACiC,IAAU,EAAI,EAC5C,QAASd,CAAA,CAAA,CACX,EAEJ,CAEJ"}
@@ -1 +1 @@
1
- ._section-notice_853w8_2{display:flex;flex-direction:column;align-items:flex-end;position:relative;border-radius:var(--radius-s);border:1px solid rgba(var(--color-info-rgb),.16);background-color:rgba(var(--color-info-rgb),.04)}._section-notice__content_853w8_11{display:flex;align-items:flex-start;gap:var(--spacing-m);padding:var(--spacing-m);width:100%}._section-notice__icon_853w8_18{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--color-info)}._section-notice__body_853w8_25{display:flex;flex:1 0 0;flex-direction:column;gap:var(--spacing-xs);min-width:0;overflow:hidden;padding-right:var(--spacing-xl)}._section-notice__title_853w8_34{font-size:var(--font-size-100);font-weight:var(--font-weight-semibold);line-height:var(--line-height-100);color:var(--center-channel-color);margin:0}._section-notice__description_853w8_41{font-size:var(--font-size-100);font-weight:var(--font-weight-regular);line-height:var(--line-height-100);color:var(--center-channel-color)}._section-notice__actions_853w8_47{display:flex;align-items:center;gap:var(--spacing-s);padding:var(--spacing-xxs) 0}._section-notice__dismiss_853w8_53{position:absolute;top:var(--spacing-xxs);right:var(--spacing-xxs)}._section-notice--type-warning_853w8_58{background-color:rgba(var(--color-warning-rgb),.04);border-color:rgba(var(--color-warning-rgb),.16)}._section-notice--type-warning_853w8_58 ._section-notice__icon_853w8_18{color:var(--color-warning)}._section-notice--type-danger_853w8_65{background-color:rgba(var(--error-text-color-rgb, var(--color-danger-rgb)),.04);border-color:rgba(var(--error-text-color-rgb, var(--color-danger-rgb)),.16)}._section-notice--type-danger_853w8_65 ._section-notice__icon_853w8_18{color:var(--error-text, var(--color-danger))}._section-notice--type-success_853w8_72{background-color:rgba(var(--color-success-rgb),.04);border-color:rgba(var(--color-success-rgb),.16)}._section-notice--type-success_853w8_72 ._section-notice__icon_853w8_18{color:var(--color-success)}._section-notice--type-hint_853w8_79{background-color:rgba(var(--center-channel-color-rgb),.04);border-color:rgba(var(--center-channel-color-rgb),.16)}._section-notice--type-hint_853w8_79 ._section-notice__icon_853w8_18{color:rgba(var(--center-channel-color-rgb),.64)}
1
+ ._section-notice_1fkh6_2{display:flex;flex-direction:column;align-items:flex-end;position:relative;border-radius:var(--radius-s);border:1px solid rgba(var(--color-info-rgb),.16);background-color:rgba(var(--color-info-rgb),.04)}._section-notice__content_1fkh6_11{display:flex;align-items:flex-start;gap:var(--spacing-m);padding:var(--spacing-m);width:100%}._section-notice__icon_1fkh6_18{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--color-info)}._section-notice__body_1fkh6_25{display:flex;flex:1 0 0;flex-direction:column;gap:var(--spacing-xs);min-width:0;overflow:hidden;padding-right:var(--spacing-xl)}._section-notice__title_1fkh6_34{margin:0;padding:0;font-family:var(--font-family-body);font-size:var(--font-size-100);font-weight:var(--font-weight-semibold);line-height:var(--line-height-100);letter-spacing:var(--letter-spacing-normal);text-transform:none;color:var(--center-channel-color)}._section-notice__description_1fkh6_45{font-size:var(--font-size-100);font-weight:var(--font-weight-regular);line-height:var(--line-height-100);color:var(--center-channel-color)}._section-notice__actions_1fkh6_51{display:flex;align-items:center;gap:var(--spacing-s);padding:var(--spacing-xxs) 0}._section-notice__dismiss_1fkh6_57{position:absolute;top:var(--spacing-xxs);right:var(--spacing-xxs)}._section-notice--type-warning_1fkh6_62{background-color:rgba(var(--color-warning-rgb),.04);border-color:rgba(var(--color-warning-rgb),.16)}._section-notice--type-warning_1fkh6_62 ._section-notice__icon_1fkh6_18{color:var(--color-warning)}._section-notice--type-danger_1fkh6_69{background-color:rgba(var(--error-text-color-rgb, var(--color-danger-rgb)),.04);border-color:rgba(var(--error-text-color-rgb, var(--color-danger-rgb)),.16)}._section-notice--type-danger_1fkh6_69 ._section-notice__icon_1fkh6_18{color:var(--error-text, var(--color-danger))}._section-notice--type-success_1fkh6_76{background-color:rgba(var(--color-success-rgb),.04);border-color:rgba(var(--color-success-rgb),.16)}._section-notice--type-success_1fkh6_76 ._section-notice__icon_1fkh6_18{color:var(--color-success)}._section-notice--type-hint_1fkh6_83{background-color:rgba(var(--center-channel-color-rgb),.04);border-color:rgba(var(--center-channel-color-rgb),.16)}._section-notice--type-hint_1fkh6_83 ._section-notice__icon_1fkh6_18{color:rgba(var(--center-channel-color-rgb),.64)}
@@ -1,7 +1,7 @@
1
- import { jsxs as l, jsx as e } from "react/jsx-runtime";
1
+ import { jsxs as o, jsx as e } from "react/jsx-runtime";
2
2
  import h from "../button/Button.js";
3
3
  import A from "../icon-button/IconButton.js";
4
- import n, { IconSlotContext as j } from "../icon/Icon.js";
4
+ import l, { IconSlotContext as j } from "../icon/Icon.js";
5
5
  import __f from "@mattermost/compass-icons/components/information-outline.js";const f=__f&&__f.default?__f.default:__f;
6
6
  import __S from "@mattermost/compass-icons/components/alert-outline.js";const S=__S&&__S.default?__S.default:__S;
7
7
  import __w from "@mattermost/compass-icons/components/alert-circle-outline.js";const w=__w&&__w.default?__w.default:__w;
@@ -10,11 +10,11 @@ import __E from "@mattermost/compass-icons/components/close.js";const E=__E&&__E
10
10
  import { mergeClassNames as F } from "../../utils/props.js";
11
11
  import i from "./SectionNotice.module.scss.js";
12
12
  const T = {
13
- info: /* @__PURE__ */ e(n, { size: "20", glyph: /* @__PURE__ */ e(f, {}) }),
14
- warning: /* @__PURE__ */ e(n, { size: "20", glyph: /* @__PURE__ */ e(w, {}) }),
15
- danger: /* @__PURE__ */ e(n, { size: "20", glyph: /* @__PURE__ */ e(S, {}) }),
16
- success: /* @__PURE__ */ e(n, { size: "20", glyph: /* @__PURE__ */ e(D, {}) }),
17
- hint: /* @__PURE__ */ e(n, { size: "20", glyph: /* @__PURE__ */ e(f, {}) })
13
+ info: /* @__PURE__ */ e(l, { size: "20", glyph: /* @__PURE__ */ e(f, {}) }),
14
+ warning: /* @__PURE__ */ e(l, { size: "20", glyph: /* @__PURE__ */ e(w, {}) }),
15
+ danger: /* @__PURE__ */ e(l, { size: "20", glyph: /* @__PURE__ */ e(S, {}) }),
16
+ success: /* @__PURE__ */ e(l, { size: "20", glyph: /* @__PURE__ */ e(D, {}) }),
17
+ hint: /* @__PURE__ */ e(l, { size: "20", glyph: /* @__PURE__ */ e(f, {}) })
18
18
  };
19
19
  function V({
20
20
  className: p = "",
@@ -32,17 +32,17 @@ function V({
32
32
  secondaryActionLoading: z,
33
33
  onDismiss: m,
34
34
  dismissLabel: v = "Dismiss",
35
- dismissButtonProps: o,
35
+ dismissButtonProps: n,
36
36
  ...y
37
37
  }) {
38
38
  const O = i[`section-notice--type-${t.toLowerCase()}`], k = [i["section-notice"], O, p].filter(Boolean).join(" "), d = r !== void 0 ? r : T[t], x = c != null || s != null;
39
- return /* @__PURE__ */ l("div", { ...y, className: k, children: [
40
- /* @__PURE__ */ l("div", { className: i["section-notice__content"], children: [
39
+ return /* @__PURE__ */ o("div", { ...y, className: k, children: [
40
+ /* @__PURE__ */ o("div", { className: i["section-notice__content"], children: [
41
41
  d != null && /* @__PURE__ */ e("span", { className: i["section-notice__icon"], "aria-hidden": !0, children: /* @__PURE__ */ e(j.Provider, { value: { size: "20" }, children: d }) }),
42
- /* @__PURE__ */ l("div", { className: i["section-notice__body"], children: [
43
- /* @__PURE__ */ e("p", { className: i["section-notice__title"], children: _ }),
42
+ /* @__PURE__ */ o("div", { className: i["section-notice__body"], children: [
43
+ /* @__PURE__ */ e("h4", { className: i["section-notice__title"], children: _ }),
44
44
  a != null && /* @__PURE__ */ e("div", { className: i["section-notice__description"], children: a }),
45
- x && /* @__PURE__ */ l("div", { className: i["section-notice__actions"], children: [
45
+ x && /* @__PURE__ */ o("div", { className: i["section-notice__actions"], children: [
46
46
  c != null && /* @__PURE__ */ e(
47
47
  h,
48
48
  {
@@ -57,7 +57,7 @@ function V({
57
57
  s != null && /* @__PURE__ */ e(
58
58
  h,
59
59
  {
60
- emphasis: "secondary",
60
+ emphasis: "tertiary",
61
61
  size: "small",
62
62
  disabled: u,
63
63
  loading: z,
@@ -71,14 +71,14 @@ function V({
71
71
  m != null && /* @__PURE__ */ e(
72
72
  A,
73
73
  {
74
- ...o,
74
+ ...n,
75
75
  className: F(
76
76
  i["section-notice__dismiss"],
77
- o == null ? void 0 : o.className
77
+ n == null ? void 0 : n.className
78
78
  ),
79
79
  "aria-label": v,
80
80
  size: "small",
81
- icon: /* @__PURE__ */ e(n, { size: "16", glyph: /* @__PURE__ */ e(E, {}) }),
81
+ icon: /* @__PURE__ */ e(l, { size: "16", glyph: /* @__PURE__ */ e(E, {}) }),
82
82
  onClick: m
83
83
  }
84
84
  )
@@ -1 +1 @@
1
- {"version":3,"file":"SectionNotice.js","sources":["../../../src/components/section-notice/SectionNotice.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from 'react';\nimport Button from '@/components/button/Button';\nimport IconButton from '@/components/icon-button/IconButton';\nimport Icon from '@/components/icon/Icon';\nimport { IconSlotContext } from '@/components/icon/Icon';\nimport InformationOutlineIcon from '@mattermost/compass-icons/components/information-outline';\nimport AlertOutlineIcon from '@mattermost/compass-icons/components/alert-outline';\nimport AlertCircleOutlineIcon from '@mattermost/compass-icons/components/alert-circle-outline';\nimport CheckCircleOutlineIcon from '@mattermost/compass-icons/components/check-circle-outline';\nimport CloseIcon from '@mattermost/compass-icons/components/close';\nimport type { BuiltInButtonProps } from '@/utils/props';\nimport { mergeClassNames } from '@/utils/props';\nimport styles from './SectionNotice.module.scss';\n\nexport type SectionNoticeType =\n | 'info'\n | 'warning'\n | 'danger'\n | 'success'\n | 'hint';\n\nexport interface SectionNoticeProps extends Omit<\n HTMLAttributes<HTMLDivElement>,\n 'title'\n> {\n /** Optional CSS class name. */\n className?: string;\n /** Type controls color-coding. Default: Info. */\n type?: SectionNoticeType;\n /** Optional leading icon. When omitted a default type icon is shown. Pass `<Icon glyph={<SomeIcon />} />` — SectionNotice provides the correct size via context. */\n icon?: ReactNode;\n /** Title / headline. Accepts translated nodes (e.g. `<FormattedMessage/>`). */\n title: ReactNode;\n /** Optional body description. */\n description?: ReactNode;\n /** Primary action button label. */\n primaryButtonLabel?: ReactNode;\n /** Primary action callback. */\n onPrimaryAction?: () => void;\n /** Disables the primary action button. */\n primaryActionDisabled?: boolean;\n /** Shows a spinner in the primary action button and disables it. */\n primaryActionLoading?: boolean;\n /** Secondary action button label. */\n secondaryButtonLabel?: ReactNode;\n /** Secondary action callback. */\n onSecondaryAction?: () => void;\n /** Disables the secondary action button. */\n secondaryActionDisabled?: boolean;\n /** Shows a spinner in the secondary action button and disables it. */\n secondaryActionLoading?: boolean;\n /** Called when dismiss (×) button is clicked. When omitted, dismiss button is hidden. */\n onDismiss?: () => void;\n /** Accessible name for the dismiss button. Default: \"Dismiss\". */\n dismissLabel?: string;\n /** Extra attributes for the dismiss button (e.g. `data-testid`). */\n dismissButtonProps?: BuiltInButtonProps;\n}\n\nconst DEFAULT_ICONS: Record<SectionNoticeType, ReactNode> = {\n info: <Icon size=\"20\" glyph={<InformationOutlineIcon />} />,\n warning: <Icon size=\"20\" glyph={<AlertCircleOutlineIcon />} />,\n danger: <Icon size=\"20\" glyph={<AlertOutlineIcon />} />,\n success: <Icon size=\"20\" glyph={<CheckCircleOutlineIcon />} />,\n hint: <Icon size=\"20\" glyph={<InformationOutlineIcon />} />,\n};\n\n/**\n * A Section Notice is an in-context alert that lives inside a settings page, admin panel, or\n * other content region. Use it to flag important information, report a state change, or\n * surface a problem the user needs to act on — without yanking them out of the flow.\n */\nexport default function SectionNotice({\n className = '',\n type = 'info',\n icon,\n title,\n description,\n primaryButtonLabel,\n onPrimaryAction,\n secondaryButtonLabel,\n onSecondaryAction,\n primaryActionDisabled,\n primaryActionLoading,\n secondaryActionDisabled,\n secondaryActionLoading,\n onDismiss,\n dismissLabel = 'Dismiss',\n dismissButtonProps,\n ...rest\n}: SectionNoticeProps) {\n const typeClass = styles[`section-notice--type-${type.toLowerCase()}`];\n\n const rootClass = [styles['section-notice'], typeClass, className]\n .filter(Boolean)\n .join(' ');\n\n const resolvedIcon = icon !== undefined ? icon : DEFAULT_ICONS[type];\n\n const hasActions = primaryButtonLabel != null || secondaryButtonLabel != null;\n\n return (\n <div {...rest} className={rootClass}>\n <div className={styles['section-notice__content']}>\n {resolvedIcon != null && (\n <span className={styles['section-notice__icon']} aria-hidden>\n <IconSlotContext.Provider value={{ size: '20' }}>\n {resolvedIcon}\n </IconSlotContext.Provider>\n </span>\n )}\n <div className={styles['section-notice__body']}>\n <p className={styles['section-notice__title']}>{title}</p>\n {description != null && (\n <div className={styles['section-notice__description']}>\n {description}\n </div>\n )}\n {hasActions && (\n <div className={styles['section-notice__actions']}>\n {primaryButtonLabel != null && (\n <Button\n emphasis=\"primary\"\n size=\"small\"\n disabled={primaryActionDisabled}\n loading={primaryActionLoading}\n onClick={onPrimaryAction}\n >\n {primaryButtonLabel}\n </Button>\n )}\n {secondaryButtonLabel != null && (\n <Button\n emphasis=\"secondary\"\n size=\"small\"\n disabled={secondaryActionDisabled}\n loading={secondaryActionLoading}\n onClick={onSecondaryAction}\n >\n {secondaryButtonLabel}\n </Button>\n )}\n </div>\n )}\n </div>\n </div>\n {onDismiss != null && (\n <IconButton\n {...dismissButtonProps}\n className={mergeClassNames(\n styles['section-notice__dismiss'],\n dismissButtonProps?.className,\n )}\n aria-label={dismissLabel}\n size=\"small\"\n icon={<Icon size=\"16\" glyph={<CloseIcon />} />}\n onClick={onDismiss}\n />\n )}\n </div>\n );\n}\n"],"names":["DEFAULT_ICONS","Icon","jsx","InformationOutlineIcon","AlertCircleOutlineIcon","AlertOutlineIcon","CheckCircleOutlineIcon","SectionNotice","className","type","icon","title","description","primaryButtonLabel","onPrimaryAction","secondaryButtonLabel","onSecondaryAction","primaryActionDisabled","primaryActionLoading","secondaryActionDisabled","secondaryActionLoading","onDismiss","dismissLabel","dismissButtonProps","rest","typeClass","styles","rootClass","resolvedIcon","hasActions","jsxs","IconSlotContext","Button","IconButton","mergeClassNames","CloseIcon"],"mappings":";;;;;;;;;;;AA2DA,MAAMA,IAAsD;AAAA,EAC1D,wBAAOC,GAAA,EAAK,MAAK,MAAK,OAAO,gBAAAC,EAACC,KAAuB,GAAI;AAAA,EACzD,2BAAUF,GAAA,EAAK,MAAK,MAAK,OAAO,gBAAAC,EAACE,KAAuB,GAAI;AAAA,EAC5D,0BAASH,GAAA,EAAK,MAAK,MAAK,OAAO,gBAAAC,EAACG,KAAiB,GAAI;AAAA,EACrD,2BAAUJ,GAAA,EAAK,MAAK,MAAK,OAAO,gBAAAC,EAACI,KAAuB,GAAI;AAAA,EAC5D,wBAAOL,GAAA,EAAK,MAAK,MAAK,OAAO,gBAAAC,EAACC,KAAuB,EAAA,CAAI;AAC3D;AAOA,SAAwBI,EAAc;AAAA,EACpC,WAAAC,IAAY;AAAA,EACZ,MAAAC,IAAO;AAAA,EACP,MAAAC;AAAA,EACA,OAAAC;AAAA,EACA,aAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,sBAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,uBAAAC;AAAA,EACA,sBAAAC;AAAA,EACA,yBAAAC;AAAA,EACA,wBAAAC;AAAA,EACA,WAAAC;AAAA,EACA,cAAAC,IAAe;AAAA,EACf,oBAAAC;AAAA,EACA,GAAGC;AACL,GAAuB;AACrB,QAAMC,IAAYC,EAAO,wBAAwBjB,EAAK,YAAA,CAAa,EAAE,GAE/DkB,IAAY,CAACD,EAAO,gBAAgB,GAAGD,GAAWjB,CAAS,EAC9D,OAAO,OAAO,EACd,KAAK,GAAG,GAELoB,IAAelB,MAAS,SAAYA,IAAOV,EAAcS,CAAI,GAE7DoB,IAAahB,KAAsB,QAAQE,KAAwB;AAEzE,SACE,gBAAAe,EAAC,OAAA,EAAK,GAAGN,GAAM,WAAWG,GACxB,UAAA;AAAA,IAAA,gBAAAG,EAAC,OAAA,EAAI,WAAWJ,EAAO,yBAAyB,GAC7C,UAAA;AAAA,MAAAE,KAAgB,QACf,gBAAA1B,EAAC,QAAA,EAAK,WAAWwB,EAAO,sBAAsB,GAAG,eAAW,IAC1D,4BAACK,EAAgB,UAAhB,EAAyB,OAAO,EAAE,MAAM,KAAA,GACtC,aACH,GACF;AAAA,MAEF,gBAAAD,EAAC,OAAA,EAAI,WAAWJ,EAAO,sBAAsB,GAC3C,UAAA;AAAA,QAAA,gBAAAxB,EAAC,KAAA,EAAE,WAAWwB,EAAO,uBAAuB,GAAI,UAAAf,GAAM;AAAA,QACrDC,KAAe,QACd,gBAAAV,EAAC,OAAA,EAAI,WAAWwB,EAAO,6BAA6B,GACjD,UAAAd,GACH;AAAA,QAEDiB,KACC,gBAAAC,EAAC,OAAA,EAAI,WAAWJ,EAAO,yBAAyB,GAC7C,UAAA;AAAA,UAAAb,KAAsB,QACrB,gBAAAX;AAAA,YAAC8B;AAAA,YAAA;AAAA,cACC,UAAS;AAAA,cACT,MAAK;AAAA,cACL,UAAUf;AAAA,cACV,SAASC;AAAA,cACT,SAASJ;AAAA,cAER,UAAAD;AAAA,YAAA;AAAA,UAAA;AAAA,UAGJE,KAAwB,QACvB,gBAAAb;AAAA,YAAC8B;AAAA,YAAA;AAAA,cACC,UAAS;AAAA,cACT,MAAK;AAAA,cACL,UAAUb;AAAA,cACV,SAASC;AAAA,cACT,SAASJ;AAAA,cAER,UAAAD;AAAA,YAAA;AAAA,UAAA;AAAA,QACH,EAAA,CAEJ;AAAA,MAAA,EAAA,CAEJ;AAAA,IAAA,GACF;AAAA,IACCM,KAAa,QACZ,gBAAAnB;AAAA,MAAC+B;AAAA,MAAA;AAAA,QACE,GAAGV;AAAA,QACJ,WAAWW;AAAA,UACTR,EAAO,yBAAyB;AAAA,UAChCH,KAAA,gBAAAA,EAAoB;AAAA,QAAA;AAAA,QAEtB,cAAYD;AAAA,QACZ,MAAK;AAAA,QACL,wBAAOrB,GAAA,EAAK,MAAK,MAAK,OAAO,gBAAAC,EAACiC,KAAU,GAAI;AAAA,QAC5C,SAASd;AAAA,MAAA;AAAA,IAAA;AAAA,EACX,GAEJ;AAEJ;"}
1
+ {"version":3,"file":"SectionNotice.js","sources":["../../../src/components/section-notice/SectionNotice.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from 'react';\nimport Button from '@/components/button/Button';\nimport IconButton from '@/components/icon-button/IconButton';\nimport Icon from '@/components/icon/Icon';\nimport { IconSlotContext } from '@/components/icon/Icon';\nimport InformationOutlineIcon from '@mattermost/compass-icons/components/information-outline';\nimport AlertOutlineIcon from '@mattermost/compass-icons/components/alert-outline';\nimport AlertCircleOutlineIcon from '@mattermost/compass-icons/components/alert-circle-outline';\nimport CheckCircleOutlineIcon from '@mattermost/compass-icons/components/check-circle-outline';\nimport CloseIcon from '@mattermost/compass-icons/components/close';\nimport type { BuiltInButtonProps } from '@/utils/props';\nimport { mergeClassNames } from '@/utils/props';\nimport styles from './SectionNotice.module.scss';\n\nexport type SectionNoticeType =\n | 'info'\n | 'warning'\n | 'danger'\n | 'success'\n | 'hint';\n\nexport interface SectionNoticeProps extends Omit<\n HTMLAttributes<HTMLDivElement>,\n 'title'\n> {\n /** Optional CSS class name. */\n className?: string;\n /** Type controls color-coding. Default: Info. */\n type?: SectionNoticeType;\n /** Optional leading icon. When omitted a default type icon is shown. Pass `<Icon glyph={<SomeIcon />} />` — SectionNotice provides the correct size via context. */\n icon?: ReactNode;\n /** Title / headline. Accepts translated nodes (e.g. `<FormattedMessage/>`). */\n title: ReactNode;\n /** Optional body description. */\n description?: ReactNode;\n /** Primary action button label. */\n primaryButtonLabel?: ReactNode;\n /** Primary action callback. */\n onPrimaryAction?: () => void;\n /** Disables the primary action button. */\n primaryActionDisabled?: boolean;\n /** Shows a spinner in the primary action button and disables it. */\n primaryActionLoading?: boolean;\n /** Secondary action button label. */\n secondaryButtonLabel?: ReactNode;\n /** Secondary action callback. */\n onSecondaryAction?: () => void;\n /** Disables the secondary action button. */\n secondaryActionDisabled?: boolean;\n /** Shows a spinner in the secondary action button and disables it. */\n secondaryActionLoading?: boolean;\n /** Called when dismiss (×) button is clicked. When omitted, dismiss button is hidden. */\n onDismiss?: () => void;\n /** Accessible name for the dismiss button. Default: \"Dismiss\". */\n dismissLabel?: string;\n /** Extra attributes for the dismiss button (e.g. `data-testid`). */\n dismissButtonProps?: BuiltInButtonProps;\n}\n\nconst DEFAULT_ICONS: Record<SectionNoticeType, ReactNode> = {\n info: <Icon size=\"20\" glyph={<InformationOutlineIcon />} />,\n warning: <Icon size=\"20\" glyph={<AlertCircleOutlineIcon />} />,\n danger: <Icon size=\"20\" glyph={<AlertOutlineIcon />} />,\n success: <Icon size=\"20\" glyph={<CheckCircleOutlineIcon />} />,\n hint: <Icon size=\"20\" glyph={<InformationOutlineIcon />} />,\n};\n\n/**\n * A Section Notice is an in-context alert that lives inside a settings page, admin panel, or\n * other content region. Use it to flag important information, report a state change, or\n * surface a problem the user needs to act on — without yanking them out of the flow.\n */\nexport default function SectionNotice({\n className = '',\n type = 'info',\n icon,\n title,\n description,\n primaryButtonLabel,\n onPrimaryAction,\n secondaryButtonLabel,\n onSecondaryAction,\n primaryActionDisabled,\n primaryActionLoading,\n secondaryActionDisabled,\n secondaryActionLoading,\n onDismiss,\n dismissLabel = 'Dismiss',\n dismissButtonProps,\n ...rest\n}: SectionNoticeProps) {\n const typeClass = styles[`section-notice--type-${type.toLowerCase()}`];\n\n const rootClass = [styles['section-notice'], typeClass, className]\n .filter(Boolean)\n .join(' ');\n\n const resolvedIcon = icon !== undefined ? icon : DEFAULT_ICONS[type];\n\n const hasActions = primaryButtonLabel != null || secondaryButtonLabel != null;\n\n return (\n <div {...rest} className={rootClass}>\n <div className={styles['section-notice__content']}>\n {resolvedIcon != null && (\n <span className={styles['section-notice__icon']} aria-hidden>\n <IconSlotContext.Provider value={{ size: '20' }}>\n {resolvedIcon}\n </IconSlotContext.Provider>\n </span>\n )}\n <div className={styles['section-notice__body']}>\n <h4 className={styles['section-notice__title']}>{title}</h4>\n {description != null && (\n <div className={styles['section-notice__description']}>\n {description}\n </div>\n )}\n {hasActions && (\n <div className={styles['section-notice__actions']}>\n {primaryButtonLabel != null && (\n <Button\n emphasis=\"primary\"\n size=\"small\"\n disabled={primaryActionDisabled}\n loading={primaryActionLoading}\n onClick={onPrimaryAction}\n >\n {primaryButtonLabel}\n </Button>\n )}\n {secondaryButtonLabel != null && (\n <Button\n emphasis=\"tertiary\"\n size=\"small\"\n disabled={secondaryActionDisabled}\n loading={secondaryActionLoading}\n onClick={onSecondaryAction}\n >\n {secondaryButtonLabel}\n </Button>\n )}\n </div>\n )}\n </div>\n </div>\n {onDismiss != null && (\n <IconButton\n {...dismissButtonProps}\n className={mergeClassNames(\n styles['section-notice__dismiss'],\n dismissButtonProps?.className,\n )}\n aria-label={dismissLabel}\n size=\"small\"\n icon={<Icon size=\"16\" glyph={<CloseIcon />} />}\n onClick={onDismiss}\n />\n )}\n </div>\n );\n}\n"],"names":["DEFAULT_ICONS","Icon","jsx","InformationOutlineIcon","AlertCircleOutlineIcon","AlertOutlineIcon","CheckCircleOutlineIcon","SectionNotice","className","type","icon","title","description","primaryButtonLabel","onPrimaryAction","secondaryButtonLabel","onSecondaryAction","primaryActionDisabled","primaryActionLoading","secondaryActionDisabled","secondaryActionLoading","onDismiss","dismissLabel","dismissButtonProps","rest","typeClass","styles","rootClass","resolvedIcon","hasActions","jsxs","IconSlotContext","Button","IconButton","mergeClassNames","CloseIcon"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('./SectionNotice.css');const e={"section-notice":"_section-notice_853w8_2","section-notice__content":"_section-notice__content_853w8_11","section-notice__icon":"_section-notice__icon_853w8_18","section-notice__body":"_section-notice__body_853w8_25","section-notice__title":"_section-notice__title_853w8_34","section-notice__description":"_section-notice__description_853w8_41","section-notice__actions":"_section-notice__actions_853w8_47","section-notice__dismiss":"_section-notice__dismiss_853w8_53","section-notice--type-warning":"_section-notice--type-warning_853w8_58","section-notice--type-danger":"_section-notice--type-danger_853w8_65","section-notice--type-success":"_section-notice--type-success_853w8_72","section-notice--type-hint":"_section-notice--type-hint_853w8_79"};exports.default=e;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('./SectionNotice.css');const e={"section-notice":"_section-notice_1fkh6_2","section-notice__content":"_section-notice__content_1fkh6_11","section-notice__icon":"_section-notice__icon_1fkh6_18","section-notice__body":"_section-notice__body_1fkh6_25","section-notice__title":"_section-notice__title_1fkh6_34","section-notice__description":"_section-notice__description_1fkh6_45","section-notice__actions":"_section-notice__actions_1fkh6_51","section-notice__dismiss":"_section-notice__dismiss_1fkh6_57","section-notice--type-warning":"_section-notice--type-warning_1fkh6_62","section-notice--type-danger":"_section-notice--type-danger_1fkh6_69","section-notice--type-success":"_section-notice--type-success_1fkh6_76","section-notice--type-hint":"_section-notice--type-hint_1fkh6_83"};exports.default=e;
2
2
  //# sourceMappingURL=SectionNotice.module.scss.cjs.map