@doist/reactist 31.0.0 → 31.2.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 (149) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/reactist.cjs.development.js +312 -406
  3. package/dist/reactist.cjs.development.js.map +1 -1
  4. package/dist/reactist.cjs.production.min.js +1 -1
  5. package/dist/reactist.cjs.production.min.js.map +1 -1
  6. package/es/avatar/avatar.js +3 -6
  7. package/es/avatar/avatar.js.map +1 -1
  8. package/es/badge/badge.js +3 -6
  9. package/es/badge/badge.js.map +1 -1
  10. package/es/banner/banner.js +15 -22
  11. package/es/banner/banner.js.map +1 -1
  12. package/es/banner/banner.module.css.js +1 -1
  13. package/es/base-field/base-field.js +6 -7
  14. package/es/base-field/base-field.js.map +1 -1
  15. package/es/box/box.js +43 -46
  16. package/es/box/box.js.map +1 -1
  17. package/es/button/button.js +18 -22
  18. package/es/button/button.js.map +1 -1
  19. package/es/checkbox-field/checkbox-field.js +9 -12
  20. package/es/checkbox-field/checkbox-field.js.map +1 -1
  21. package/es/checkbox-field/checkbox-icon.js +3 -6
  22. package/es/checkbox-field/checkbox-icon.js.map +1 -1
  23. package/es/columns/columns.js +15 -20
  24. package/es/columns/columns.js.map +1 -1
  25. package/es/components/deprecated-button/deprecated-button.js +10 -13
  26. package/es/components/deprecated-button/deprecated-button.js.map +1 -1
  27. package/es/components/deprecated-dropdown/dropdown.js +6 -8
  28. package/es/components/deprecated-dropdown/dropdown.js.map +1 -1
  29. package/es/components/deprecated-select/select.js +3 -6
  30. package/es/components/deprecated-select/select.js.map +1 -1
  31. package/es/components/keyboard-shortcut/keyboard-shortcut.js +7 -11
  32. package/es/components/keyboard-shortcut/keyboard-shortcut.js.map +1 -1
  33. package/es/divider/divider.js +3 -6
  34. package/es/divider/divider.js.map +1 -1
  35. package/es/heading/heading.js +3 -6
  36. package/es/heading/heading.js.map +1 -1
  37. package/es/hidden/hidden.js +6 -9
  38. package/es/hidden/hidden.js.map +1 -1
  39. package/es/icons/alert-icon.js +3 -6
  40. package/es/icons/alert-icon.js.map +1 -1
  41. package/es/icons/banner-icon.js +3 -6
  42. package/es/icons/banner-icon.js.map +1 -1
  43. package/es/inline/inline.js +9 -12
  44. package/es/inline/inline.js.map +1 -1
  45. package/es/loading/loading.js +3 -6
  46. package/es/loading/loading.js.map +1 -1
  47. package/es/menu/menu.js +26 -39
  48. package/es/menu/menu.js.map +1 -1
  49. package/es/modal/modal.js +28 -39
  50. package/es/modal/modal.js.map +1 -1
  51. package/es/password-field/password-field.js +3 -6
  52. package/es/password-field/password-field.js.map +1 -1
  53. package/es/prose/prose.js +3 -6
  54. package/es/prose/prose.js.map +1 -1
  55. package/es/select-field/select-field.js +7 -8
  56. package/es/select-field/select-field.js.map +1 -1
  57. package/es/stack/stack.js +10 -13
  58. package/es/stack/stack.js.map +1 -1
  59. package/es/switch-field/switch-field.js +3 -6
  60. package/es/switch-field/switch-field.js.map +1 -1
  61. package/es/tabs/tabs.js +14 -19
  62. package/es/tabs/tabs.js.map +1 -1
  63. package/es/text/text.js +11 -14
  64. package/es/text/text.js.map +1 -1
  65. package/es/text-area/text-area.js +7 -11
  66. package/es/text-area/text-area.js.map +1 -1
  67. package/es/text-field/text-field.js +7 -11
  68. package/es/text-field/text-field.js.map +1 -1
  69. package/es/text-link/text-link.js +8 -11
  70. package/es/text-link/text-link.js.map +1 -1
  71. package/es/toast/static-toast.js +3 -6
  72. package/es/toast/static-toast.js.map +1 -1
  73. package/es/toast/use-toasts.js +10 -13
  74. package/es/toast/use-toasts.js.map +1 -1
  75. package/lib/avatar/avatar.js +3 -7
  76. package/lib/avatar/avatar.js.map +1 -1
  77. package/lib/badge/badge.js +3 -7
  78. package/lib/badge/badge.js.map +1 -1
  79. package/lib/banner/banner.js +15 -23
  80. package/lib/banner/banner.js.map +1 -1
  81. package/lib/banner/banner.module.css.js +1 -1
  82. package/lib/base-field/base-field.js +6 -10
  83. package/lib/base-field/base-field.js.map +1 -1
  84. package/lib/box/box.js +43 -48
  85. package/lib/box/box.js.map +1 -1
  86. package/lib/button/button.js +18 -23
  87. package/lib/button/button.js.map +1 -1
  88. package/lib/checkbox-field/checkbox-field.js +9 -13
  89. package/lib/checkbox-field/checkbox-field.js.map +1 -1
  90. package/lib/checkbox-field/checkbox-icon.js +3 -7
  91. package/lib/checkbox-field/checkbox-icon.js.map +1 -1
  92. package/lib/columns/columns.js +15 -21
  93. package/lib/columns/columns.js.map +1 -1
  94. package/lib/components/deprecated-button/deprecated-button.js +10 -14
  95. package/lib/components/deprecated-button/deprecated-button.js.map +1 -1
  96. package/lib/components/deprecated-dropdown/dropdown.js +6 -9
  97. package/lib/components/deprecated-dropdown/dropdown.js.map +1 -1
  98. package/lib/components/deprecated-select/select.js +3 -7
  99. package/lib/components/deprecated-select/select.js.map +1 -1
  100. package/lib/components/keyboard-shortcut/keyboard-shortcut.js +7 -12
  101. package/lib/components/keyboard-shortcut/keyboard-shortcut.js.map +1 -1
  102. package/lib/divider/divider.js +3 -7
  103. package/lib/divider/divider.js.map +1 -1
  104. package/lib/heading/heading.js +3 -7
  105. package/lib/heading/heading.js.map +1 -1
  106. package/lib/hidden/hidden.js +6 -10
  107. package/lib/hidden/hidden.js.map +1 -1
  108. package/lib/icons/alert-icon.js +3 -7
  109. package/lib/icons/alert-icon.js.map +1 -1
  110. package/lib/icons/banner-icon.js +3 -7
  111. package/lib/icons/banner-icon.js.map +1 -1
  112. package/lib/inline/inline.js +9 -13
  113. package/lib/inline/inline.js.map +1 -1
  114. package/lib/loading/loading.js +3 -7
  115. package/lib/loading/loading.js.map +1 -1
  116. package/lib/menu/menu.js +26 -41
  117. package/lib/menu/menu.js.map +1 -1
  118. package/lib/modal/modal.js +28 -40
  119. package/lib/modal/modal.js.map +1 -1
  120. package/lib/password-field/password-field.js +3 -7
  121. package/lib/password-field/password-field.js.map +1 -1
  122. package/lib/prose/prose.js +3 -7
  123. package/lib/prose/prose.js.map +1 -1
  124. package/lib/select-field/select-field.js +7 -9
  125. package/lib/select-field/select-field.js.map +1 -1
  126. package/lib/stack/stack.js +10 -14
  127. package/lib/stack/stack.js.map +1 -1
  128. package/lib/switch-field/switch-field.js +3 -7
  129. package/lib/switch-field/switch-field.js.map +1 -1
  130. package/lib/tabs/tabs.js +14 -20
  131. package/lib/tabs/tabs.js.map +1 -1
  132. package/lib/text/text.js +11 -15
  133. package/lib/text/text.js.map +1 -1
  134. package/lib/text-area/text-area.js +7 -12
  135. package/lib/text-area/text-area.js.map +1 -1
  136. package/lib/text-field/text-field.js +7 -12
  137. package/lib/text-field/text-field.js.map +1 -1
  138. package/lib/text-link/text-link.js +8 -12
  139. package/lib/text-link/text-link.js.map +1 -1
  140. package/lib/toast/static-toast.js +3 -7
  141. package/lib/toast/static-toast.js.map +1 -1
  142. package/lib/toast/use-toasts.js +10 -15
  143. package/lib/toast/use-toasts.js.map +1 -1
  144. package/package.json +22 -54
  145. package/styles/banner.css +1 -1
  146. package/styles/banner.module.css.css +1 -1
  147. package/styles/prose.css +1 -1
  148. package/styles/prose.module.css.css +1 -1
  149. package/styles/reactist.css +3 -3
@@ -1,5 +1,4 @@
1
1
  import _extends from '@babel/runtime/helpers/extends';
2
- import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
3
2
  import { c } from 'react-compiler-runtime';
4
3
  import * as React from 'react';
5
4
  import { getClassNames } from '../utils/responsive-props.js';
@@ -7,7 +6,6 @@ import { getInitials, emailToIndex } from './utils.js';
7
6
  import modules_08f3eeac from './avatar.module.css.js';
8
7
  import { Box } from '../box/box.js';
9
8
 
10
- const _excluded = ["user", "avatarUrl", "size", "className", "colorList", "exceptionallySetClassName"];
11
9
  const AVATAR_COLORS = ['#fcc652', '#e9952c', '#e16b2d', '#d84b40', '#e8435a', '#e5198a', '#ad3889', '#86389c', '#a8a8a8', '#98be2f', '#5d9d50', '#5f9f85', '#5bbcb6', '#32a3bf', '#2bafeb', '#2d88c3', '#3863cc', '#5e5e5e'];
12
10
  function Avatar(t0) {
13
11
  const $ = c(26);
@@ -19,16 +17,15 @@ function Avatar(t0) {
19
17
  let t2;
20
18
  let user;
21
19
  if ($[0] !== t0) {
22
- var _t = t0;
23
20
  ({
24
21
  user,
25
22
  avatarUrl,
26
23
  size: t1,
27
24
  className,
28
25
  colorList: t2,
29
- exceptionallySetClassName
30
- } = _t);
31
- props = _objectWithoutProperties(_t, _excluded);
26
+ exceptionallySetClassName,
27
+ ...props
28
+ } = t0);
32
29
  $[0] = t0;
33
30
  $[1] = avatarUrl;
34
31
  $[2] = className;
@@ -1 +1 @@
1
- {"version":3,"file":"avatar.js","sources":["../../src/avatar/avatar.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { Box } from '../box'\nimport { getClassNames } from '../utils/responsive-props'\n\nimport { emailToIndex, getInitials } from './utils'\n\nimport styles from './avatar.module.css'\n\nimport type { ObfuscatedClassName } from '../utils/common-types'\nimport type { ResponsiveProp } from '../utils/responsive-props'\n\nconst AVATAR_COLORS = [\n '#fcc652',\n '#e9952c',\n '#e16b2d',\n '#d84b40',\n '#e8435a',\n '#e5198a',\n '#ad3889',\n '#86389c',\n '#a8a8a8',\n '#98be2f',\n '#5d9d50',\n '#5f9f85',\n '#5bbcb6',\n '#32a3bf',\n '#2bafeb',\n '#2d88c3',\n '#3863cc',\n '#5e5e5e',\n]\n\ntype AvatarSize = 'xxs' | 'xs' | 's' | 'm' | 'l' | 'xl' | 'xxl' | 'xxxl'\n\ntype Props = ObfuscatedClassName & {\n /** @deprecated Please use `exceptionallySetClassName` */\n className?: string\n /** @deprecated */\n colorList?: string[]\n size?: ResponsiveProp<AvatarSize>\n avatarUrl?: string\n user: { name?: string; email: string }\n}\n\nfunction Avatar({\n user,\n avatarUrl,\n size = 'l',\n className,\n colorList = AVATAR_COLORS,\n exceptionallySetClassName,\n ...props\n}: Props) {\n const userInitials = getInitials(user.name) || getInitials(user.email)\n const avatarSize = size ? size : 'l'\n\n const style = avatarUrl\n ? {\n backgroundImage: `url(${avatarUrl})`,\n textIndent: '-9999px', // hide the initials\n }\n : {\n backgroundColor: colorList[emailToIndex(user.email, colorList.length)],\n }\n\n const sizeClassName = getClassNames(styles, 'size', avatarSize)\n\n return (\n <Box\n className={[className, styles.avatar, sizeClassName, exceptionallySetClassName]}\n style={style}\n {...props}\n >\n {userInitials}\n </Box>\n )\n}\nAvatar.displayName = 'Avatar'\n\nexport { Avatar }\n"],"names":["AVATAR_COLORS","Avatar","t0","$","_c","avatarUrl","className","exceptionallySetClassName","props","t1","t2","user","_t","size","colorList","_objectWithoutProperties","_excluded","undefined","t3","email","name","getInitials","userInitials","avatarSize","t4","backgroundImage","textIndent","backgroundColor","emailToIndex","length","style","t5","getClassNames","styles","sizeClassName","t6","avatar","t7","React","createElement","Box","_extends","displayName"],"mappings":"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"}
1
+ {"version":3,"file":"avatar.js","sources":["../../src/avatar/avatar.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { Box } from '../box'\nimport { getClassNames } from '../utils/responsive-props'\n\nimport { emailToIndex, getInitials } from './utils'\n\nimport styles from './avatar.module.css'\n\nimport type { ObfuscatedClassName } from '../utils/common-types'\nimport type { ResponsiveProp } from '../utils/responsive-props'\n\nconst AVATAR_COLORS = [\n '#fcc652',\n '#e9952c',\n '#e16b2d',\n '#d84b40',\n '#e8435a',\n '#e5198a',\n '#ad3889',\n '#86389c',\n '#a8a8a8',\n '#98be2f',\n '#5d9d50',\n '#5f9f85',\n '#5bbcb6',\n '#32a3bf',\n '#2bafeb',\n '#2d88c3',\n '#3863cc',\n '#5e5e5e',\n]\n\ntype AvatarSize = 'xxs' | 'xs' | 's' | 'm' | 'l' | 'xl' | 'xxl' | 'xxxl'\n\ntype Props = ObfuscatedClassName & {\n /** @deprecated Please use `exceptionallySetClassName` */\n className?: string\n /** @deprecated */\n colorList?: string[]\n size?: ResponsiveProp<AvatarSize>\n avatarUrl?: string\n user: { name?: string; email: string }\n}\n\nfunction Avatar({\n user,\n avatarUrl,\n size = 'l',\n className,\n colorList = AVATAR_COLORS,\n exceptionallySetClassName,\n ...props\n}: Props) {\n const userInitials = getInitials(user.name) || getInitials(user.email)\n const avatarSize = size ? size : 'l'\n\n const style = avatarUrl\n ? {\n backgroundImage: `url(${avatarUrl})`,\n textIndent: '-9999px', // hide the initials\n }\n : {\n backgroundColor: colorList[emailToIndex(user.email, colorList.length)],\n }\n\n const sizeClassName = getClassNames(styles, 'size', avatarSize)\n\n return (\n <Box\n className={[className, styles.avatar, sizeClassName, exceptionallySetClassName]}\n style={style}\n {...props}\n >\n {userInitials}\n </Box>\n )\n}\nAvatar.displayName = 'Avatar'\n\nexport { Avatar }\n"],"names":["AVATAR_COLORS","Avatar","t0","$","_c","avatarUrl","className","exceptionallySetClassName","props","t1","t2","user","size","colorList","undefined","t3","email","name","getInitials","userInitials","avatarSize","t4","backgroundImage","textIndent","backgroundColor","emailToIndex","length","style","t5","getClassNames","styles","sizeClassName","t6","avatar","t7","React","createElement","Box","_extends","displayName"],"mappings":"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"}
package/es/badge/badge.js CHANGED
@@ -1,23 +1,20 @@
1
1
  import _extends from '@babel/runtime/helpers/extends';
2
- import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
3
2
  import { c } from 'react-compiler-runtime';
4
3
  import * as React from 'react';
5
4
  import modules_33c7c985 from './badge.module.css.js';
6
5
  import { Box } from '../box/box.js';
7
6
 
8
- const _excluded = ["tone", "label"];
9
7
  function Badge(t0) {
10
8
  const $ = c(10);
11
9
  let label;
12
10
  let props;
13
11
  let tone;
14
12
  if ($[0] !== t0) {
15
- var _t = t0;
16
13
  ({
17
14
  tone,
18
- label
19
- } = _t);
20
- props = _objectWithoutProperties(_t, _excluded);
15
+ label,
16
+ ...props
17
+ } = t0);
21
18
  $[0] = t0;
22
19
  $[1] = label;
23
20
  $[2] = props;
@@ -1 +1 @@
1
- {"version":3,"file":"badge.js","sources":["../../src/badge/badge.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { Box } from '../box'\n\nimport styles from './badge.module.css'\n\ntype BadgeTone = 'info' | 'positive' | 'promote' | 'attention' | 'warning'\n\ntype BadgeProps = {\n /**\n * The label to show inside the badge element.\n */\n label: string\n /**\n * The tone of the badge.\n */\n tone: BadgeTone\n}\n\nfunction Badge({ tone, label, ...props }: BadgeProps) {\n return (\n <Box\n {...props}\n as=\"span\" // It enables putting the badge inside a button (https://stackoverflow.com/a/12982334)\n display=\"inline\"\n className={[styles.badge, styles[`badge-${tone}`]]}\n >\n {label}\n </Box>\n )\n}\n\nexport { Badge }\nexport type { BadgeProps }\n"],"names":["Badge","t0","$","_c","label","props","tone","_t","_objectWithoutProperties","_excluded","t1","styles","t2","badge","t3","React","createElement","Box","_extends","as","display","className"],"mappings":";;;;;;;;AAmBA,SAAAA,MAAAC,EAAA,EAAA;EAAA,MAAAC,CAAA,GAAAC,CAAA,CAAA,EAAA,CAAA,CAAA;AAAA,EAAA,IAAAC,KAAA,CAAA;AAAA,EAAA,IAAAC,KAAA,CAAA;AAAA,EAAA,IAAAC,IAAA,CAAA;EAAA,IAAAJ,CAAA,QAAAD,EAAA,EAAA;IAAA,IAAAM,EAAA,GAAeN,EAAqC,CAAA;AAAA,IAAA,CAAA;MAAAK,IAAA;AAAAF,MAAAA,KAAAA;AAAA,KAAA,GAAAG,EAAA,EAAA;AAAAF,IAAAA,KAAA,GAAAG,wBAAA,CAAAD,EAAA,EAAAE,SAAA,CAAA,CAAA;AAAAP,IAAAA,CAAA,MAAAD,EAAA,CAAA;AAAAC,IAAAA,CAAA,MAAAE,KAAA,CAAA;AAAAF,IAAAA,CAAA,MAAAG,KAAA,CAAA;AAAAH,IAAAA,CAAA,MAAAI,IAAA,CAAA;AAAA,GAAA,MAAA;AAAAF,IAAAA,KAAA,GAAAF,CAAA,CAAA,CAAA,CAAA,CAAA;AAAAG,IAAAA,KAAA,GAAAH,CAAA,CAAA,CAAA,CAAA,CAAA;AAAAI,IAAAA,IAAA,GAAAJ,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,GAAA;AAMd,EAAA,MAAAQ,EAAA,GAAAC,gBAAM,CAAC,CAASL,MAAAA,EAAAA,IAAI,EAAE,CAAC,CAAA;AAAA,EAAA,IAAAM,EAAA,CAAA;EAAA,IAAAV,CAAA,QAAAQ,EAAA,EAAA;AAAtCE,IAAAA,EAAA,IAACD,gBAAM,CAAAE,KAAM,EAAEH,EAAuB,CAAC,CAAA;AAAAR,IAAAA,CAAA,MAAAQ,EAAA,CAAA;AAAAR,IAAAA,CAAA,MAAAU,EAAA,CAAA;AAAA,GAAA,MAAA;AAAAA,IAAAA,EAAA,GAAAV,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,GAAA;AAAA,EAAA,IAAAY,EAAA,CAAA;EAAA,IAAAZ,CAAA,CAAAE,CAAAA,CAAAA,KAAAA,KAAA,IAAAF,CAAA,QAAAG,KAAA,IAAAH,CAAA,CAAA,CAAA,CAAA,KAAAU,EAAA,EAAA;IAJtDE,EAAA,gBAAAC,KAAA,CAAAC,aAAA,CAACC,GAAG,EAAAC,QAAA,CAAA,EAAA,EACIb,KAAK,EAAA;AACNc,MAAAA,EAAM,EAAN,MAAM;AACDC,MAAAA,OAAQ,EAAR,QAAQ;AACLC,MAAAA,SAAuC,EAAvCT,EAAAA;AAAuC,KAAA,CAAA,EAEjDR,KACA,CAAC,CAAA;AAAAF,IAAAA,CAAA,MAAAE,KAAA,CAAA;AAAAF,IAAAA,CAAA,MAAAG,KAAA,CAAA;AAAAH,IAAAA,CAAA,MAAAU,EAAA,CAAA;AAAAV,IAAAA,CAAA,MAAAY,EAAA,CAAA;AAAA,GAAA,MAAA;AAAAA,IAAAA,EAAA,GAAAZ,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,GAAA;AAAA,EAAA,OAPNY,EAOM,CAAA;AAAA;;;;"}
1
+ {"version":3,"file":"badge.js","sources":["../../src/badge/badge.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { Box } from '../box'\n\nimport styles from './badge.module.css'\n\ntype BadgeTone = 'info' | 'positive' | 'promote' | 'attention' | 'warning'\n\ntype BadgeProps = {\n /**\n * The label to show inside the badge element.\n */\n label: string\n /**\n * The tone of the badge.\n */\n tone: BadgeTone\n}\n\nfunction Badge({ tone, label, ...props }: BadgeProps) {\n return (\n <Box\n {...props}\n as=\"span\" // It enables putting the badge inside a button (https://stackoverflow.com/a/12982334)\n display=\"inline\"\n className={[styles.badge, styles[`badge-${tone}`]]}\n >\n {label}\n </Box>\n )\n}\n\nexport { Badge }\nexport type { BadgeProps }\n"],"names":["Badge","t0","$","_c","label","props","tone","t1","styles","t2","badge","t3","React","createElement","Box","_extends","as","display","className"],"mappings":";;;;;;AAmBA,SAAAA,MAAAC,EAAA,EAAA;EAAA,MAAAC,CAAA,GAAAC,CAAA,CAAA,EAAA,CAAA,CAAA;AAAA,EAAA,IAAAC,KAAA,CAAA;AAAA,EAAA,IAAAC,KAAA,CAAA;AAAA,EAAA,IAAAC,IAAA,CAAA;EAAA,IAAAJ,CAAA,QAAAD,EAAA,EAAA;AAAe,IAAA,CAAA;MAAAK,IAAA;MAAAF,KAAA;MAAA,GAAAC,KAAAA;AAAA,KAAA,GAAAJ,EAAqC,EAAA;AAAAC,IAAAA,CAAA,MAAAD,EAAA,CAAA;AAAAC,IAAAA,CAAA,MAAAE,KAAA,CAAA;AAAAF,IAAAA,CAAA,MAAAG,KAAA,CAAA;AAAAH,IAAAA,CAAA,MAAAI,IAAA,CAAA;AAAA,GAAA,MAAA;AAAAF,IAAAA,KAAA,GAAAF,CAAA,CAAA,CAAA,CAAA,CAAA;AAAAG,IAAAA,KAAA,GAAAH,CAAA,CAAA,CAAA,CAAA,CAAA;AAAAI,IAAAA,IAAA,GAAAJ,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,GAAA;AAMd,EAAA,MAAAK,EAAA,GAAAC,gBAAM,CAAC,CAASF,MAAAA,EAAAA,IAAI,EAAE,CAAC,CAAA;AAAA,EAAA,IAAAG,EAAA,CAAA;EAAA,IAAAP,CAAA,QAAAK,EAAA,EAAA;AAAtCE,IAAAA,EAAA,IAACD,gBAAM,CAAAE,KAAM,EAAEH,EAAuB,CAAC,CAAA;AAAAL,IAAAA,CAAA,MAAAK,EAAA,CAAA;AAAAL,IAAAA,CAAA,MAAAO,EAAA,CAAA;AAAA,GAAA,MAAA;AAAAA,IAAAA,EAAA,GAAAP,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,GAAA;AAAA,EAAA,IAAAS,EAAA,CAAA;EAAA,IAAAT,CAAA,CAAAE,CAAAA,CAAAA,KAAAA,KAAA,IAAAF,CAAA,QAAAG,KAAA,IAAAH,CAAA,CAAA,CAAA,CAAA,KAAAO,EAAA,EAAA;IAJtDE,EAAA,gBAAAC,KAAA,CAAAC,aAAA,CAACC,GAAG,EAAAC,QAAA,CAAA,EAAA,EACIV,KAAK,EAAA;AACNW,MAAAA,EAAM,EAAN,MAAM;AACDC,MAAAA,OAAQ,EAAR,QAAQ;AACLC,MAAAA,SAAuC,EAAvCT,EAAAA;AAAuC,KAAA,CAAA,EAEjDL,KACA,CAAC,CAAA;AAAAF,IAAAA,CAAA,MAAAE,KAAA,CAAA;AAAAF,IAAAA,CAAA,MAAAG,KAAA,CAAA;AAAAH,IAAAA,CAAA,MAAAO,EAAA,CAAA;AAAAP,IAAAA,CAAA,MAAAS,EAAA,CAAA;AAAA,GAAA,MAAA;AAAAA,IAAAA,EAAA,GAAAT,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,GAAA;AAAA,EAAA,OAPNS,EAOM,CAAA;AAAA;;;;"}
@@ -1,5 +1,4 @@
1
1
  import _extends from '@babel/runtime/helpers/extends';
2
- import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
3
2
  import { c } from 'react-compiler-runtime';
4
3
  import * as React from 'react';
5
4
  import { BannerIcon } from '../icons/banner-icon.js';
@@ -10,11 +9,6 @@ import { TextLink } from '../text-link/text-link.js';
10
9
  import { IconButton, Button } from '../button/button.js';
11
10
  import { Box } from '../box/box.js';
12
11
 
13
- const _excluded = ["id", "type", "title", "description", "children", "action", "icon", "image", "inlineLinks", "closeLabel", "onClose"],
14
- _excluded2 = ["label"],
15
- _excluded3 = ["type", "label"],
16
- _excluded4 = ["type", "label", "variant"];
17
-
18
12
  /**
19
13
  * Represents the type of a banner.
20
14
  * 'neutral' accepts a custom icon, the rest do not.
@@ -72,7 +66,6 @@ const Banner = /*#__PURE__*/React.forwardRef(function Banner(t0, ref) {
72
66
  let title;
73
67
  let type;
74
68
  if ($[0] !== t0) {
75
- var _t = t0;
76
69
  ({
77
70
  id,
78
71
  type,
@@ -84,9 +77,9 @@ const Banner = /*#__PURE__*/React.forwardRef(function Banner(t0, ref) {
84
77
  image,
85
78
  inlineLinks,
86
79
  closeLabel,
87
- onClose
88
- } = _t);
89
- props = _objectWithoutProperties(_t, _excluded);
80
+ onClose,
81
+ ...props
82
+ } = t0);
90
83
  $[0] = t0;
91
84
  $[1] = action;
92
85
  $[2] = children;
@@ -190,9 +183,9 @@ const Banner = /*#__PURE__*/React.forwardRef(function Banner(t0, ref) {
190
183
  if ($[28] !== inlineLinks) {
191
184
  t10 = inlineLinks?.map((t11, index) => {
192
185
  const {
193
- label
194
- } = t11,
195
- props_0 = _objectWithoutProperties(t11, _excluded2);
186
+ label,
187
+ ...props_0
188
+ } = t11;
196
189
  return /*#__PURE__*/React.createElement(React.Fragment, {
197
190
  key: index
198
191
  }, /*#__PURE__*/React.createElement(TextLink, _extends({}, props_0, {
@@ -328,10 +321,10 @@ function ActionButton(t0) {
328
321
  let props;
329
322
  if ($[0] !== t0) {
330
323
  const {
331
- type,
332
- label: t1
333
- } = t0,
334
- t2 = _objectWithoutProperties(t0, _excluded3);
324
+ type,
325
+ label: t1,
326
+ ...t2
327
+ } = t0;
335
328
  label = t1;
336
329
  props = t2;
337
330
  $[0] = t0;
@@ -359,11 +352,11 @@ function ActionLink(t0) {
359
352
  let variant;
360
353
  if ($[0] !== t0) {
361
354
  const {
362
- type,
363
- label: t1,
364
- variant: t2
365
- } = t0,
366
- t3 = _objectWithoutProperties(t0, _excluded4);
355
+ type,
356
+ label: t1,
357
+ variant: t2,
358
+ ...t3
359
+ } = t0;
367
360
  label = t1;
368
361
  variant = t2;
369
362
  props = t3;
@@ -1 +1 @@
1
- {"version":3,"file":"banner.js","sources":["../../src/banner/banner.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { Box } from '../box'\nimport { Button, IconButton } from '../button'\nimport { BannerIcon } from '../icons/banner-icon'\nimport { CloseIcon } from '../icons/close-icon'\nimport { TextLink } from '../text-link'\nimport { useId } from '../utils/common-helpers'\n\nimport styles from './banner.module.css'\n\nimport type { ButtonProps } from '../button'\n\n/**\n * Represents the type of a banner.\n * 'neutral' accepts a custom icon, the rest do not.\n * @default 'neutral'\n */\nexport type BannerType = 'neutral' | SystemBannerType\n\n/**\n * Predefined system types for banners.\n * Each type has its own preset icon.\n */\nexport type SystemBannerType = 'info' | 'upgrade' | 'experiment' | 'warning' | 'error' | 'success'\n\ntype BaseAction = {\n variant: 'primary' | 'tertiary'\n label: string\n} & Pick<ButtonProps, 'loading' | 'disabled'>\ntype ActionButton = BaseAction & { type: 'button' } & Omit<\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n 'className'\n >\ntype ActionLink = BaseAction & { type: 'link' } & Omit<\n React.AnchorHTMLAttributes<HTMLAnchorElement>,\n 'className'\n >\n/**\n * Represents an action that can be taken from the banner.\n * Can be either a button or a link, sharing common properties from BaseAction.\n */\ntype Action = ActionButton | ActionLink\n\n/**\n * Configuration for inline links within the banner description.\n * Extends TextLink component props with a required label.\n */\ntype InlineLink = { label: string } & React.ComponentProps<typeof TextLink>\n\ntype WithCloseButton = {\n closeLabel?: string\n onClose: () => void\n}\ntype WithoutCloseButton = {\n closeLabel?: never\n onClose?: never\n}\n/**\n * Controls the close button behavior.\n * If none is provided, the banner will not have a close button.\n */\ntype CloseButton = WithCloseButton | WithoutCloseButton\n\ntype BaseBanner = {\n id?: string\n title?: React.ReactNode\n description: Exclude<React.ReactNode, null | undefined | boolean>\n children?: React.ReactNode\n action?: Action | React.ReactNode\n inlineLinks?: InlineLink[]\n} & CloseButton\n\n/**\n * Configuration for neutral banners.\n * Can include either an image, an icon, or neither, but never both.\n */\ntype NeutralBanner = BaseBanner & {\n type: Extract<BannerType, 'neutral'>\n} & (\n | { image: React.ReactElement; icon?: never }\n | { icon: React.ReactElement; image?: never }\n | { image?: never; icon?: never }\n )\n\n/**\n * Configuration for system banners.\n * Cannot include custom images or icons as they use preset ones.\n */\ntype SystemBanner = BaseBanner & {\n type: SystemBannerType\n image?: never\n icon?: never\n}\n\ntype BannerProps = NeutralBanner | SystemBanner\n\n/**\n * Type guard to check if the action is an Action object (button or link)\n */\nfunction isActionObject(action: Action | React.ReactNode): action is Action {\n return (\n typeof action === 'object' &&\n action !== null &&\n 'type' in action &&\n (action.type === 'button' || action.type === 'link')\n )\n}\n\nconst Banner = React.forwardRef<HTMLDivElement, BannerProps>(function Banner(\n {\n id,\n type,\n title,\n description,\n children,\n action,\n icon,\n image,\n inlineLinks,\n closeLabel,\n onClose,\n ...props\n }: BannerProps,\n ref,\n) {\n const titleId = useId()\n const descriptionId = useId()\n\n const closeButton = onClose ? (\n <IconButton\n exceptionallySetClassName={styles.closeButton}\n variant=\"quaternary\"\n onClick={onClose}\n icon={<CloseIcon />}\n aria-label={closeLabel ?? 'Close banner'}\n />\n ) : null\n\n return (\n <Box\n {...props}\n ref={ref}\n id={id}\n display=\"flex\"\n flexDirection=\"column\"\n justifyContent=\"center\"\n role=\"status\"\n aria-labelledby={title ? titleId : descriptionId}\n aria-describedby={title ? descriptionId : undefined}\n aria-live=\"polite\"\n tabIndex={0}\n borderRadius=\"full\"\n className={styles.banner}\n >\n {image ? <Box className={styles.image}>{image}</Box> : null}\n\n <Box className={styles.content} display=\"flex\" gap=\"small\">\n <Box display=\"flex\" flexDirection=\"column\" gap=\"small\" flexGrow={1}>\n <Box\n className={styles.topContent}\n display=\"flex\"\n gap=\"small\"\n alignItems=\"center\"\n >\n <Box\n className={styles.iconCopy}\n display=\"flex\"\n gap=\"small\"\n alignItems=\"flexStart\"\n flexGrow={1}\n >\n <Box className={styles.typeIcon}>\n {type === 'neutral' ? icon : <BannerIcon type={type} />}\n </Box>\n <Box\n className={styles.copy}\n display=\"flex\"\n flexDirection=\"column\"\n flexGrow={1}\n >\n {title ? (\n <Box id={titleId} className={styles.title}>\n {title}\n </Box>\n ) : null}\n <Box\n id={descriptionId}\n className={[\n styles.description,\n title ? styles.secondary : null,\n ]}\n >\n {description}\n {inlineLinks?.map(({ label, ...props }, index) => {\n return (\n <React.Fragment key={index}>\n <TextLink\n {...props}\n exceptionallySetClassName={styles.inlineLink}\n >\n {label}\n </TextLink>\n {index < inlineLinks.length - 1 ? (\n <span> · </span>\n ) : (\n ''\n )}\n </React.Fragment>\n )\n })}\n </Box>\n </Box>\n {closeButton}\n </Box>\n\n {action || closeButton ? (\n <Box className={styles.actions} display=\"flex\" gap=\"small\">\n {action ? (\n isActionObject(action) ? (\n action.type === 'button' ? (\n <ActionButton {...action} />\n ) : (\n <ActionLink {...action} />\n )\n ) : (\n action\n )\n ) : null}\n {closeButton}\n </Box>\n ) : null}\n </Box>\n\n {children}\n </Box>\n </Box>\n </Box>\n )\n})\n\nfunction ActionButton({ type, label, ...props }: ActionButton) {\n return <Button {...props}>{label}</Button>\n}\n\nfunction ActionLink({ type, label, variant, ...props }: ActionLink) {\n return (\n <Button\n variant={variant}\n render={<a rel=\"noopener noreferrer\" target=\"_blank\" {...props} />}\n >\n {label}\n </Button>\n )\n}\n\nexport { Banner }\nexport type { BannerProps }\n"],"names":["isActionObject","action","type","Banner","React","forwardRef","t0","ref","$","_c","children","closeLabel","description","icon","id","image","inlineLinks","onClose","props","title","_t","_objectWithoutProperties","_excluded","titleId","useId","descriptionId","t1","createElement","IconButton","exceptionallySetClassName","styles","closeButton","variant","CloseIcon","t2","t3","undefined","t4","Box","className","t5","BannerIcon","t6","typeIcon","t7","t8","secondary","t9","t10","map","t11","index","label","props_0","_excluded2","Fragment","TextLink","_extends","inlineLink","length","t12","copy","display","flexDirection","flexGrow","t13","iconCopy","gap","alignItems","t14","actions","ActionButton","ActionLink","t15","topContent","t16","content","t17","justifyContent","role","tabIndex","borderRadius","banner","_excluded3","Button","_excluded4","rel","target","render"],"mappings":"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"}
1
+ {"version":3,"file":"banner.js","sources":["../../src/banner/banner.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { Box } from '../box'\nimport { Button, IconButton } from '../button'\nimport { BannerIcon } from '../icons/banner-icon'\nimport { CloseIcon } from '../icons/close-icon'\nimport { TextLink } from '../text-link'\nimport { useId } from '../utils/common-helpers'\n\nimport styles from './banner.module.css'\n\nimport type { ButtonProps } from '../button'\n\n/**\n * Represents the type of a banner.\n * 'neutral' accepts a custom icon, the rest do not.\n * @default 'neutral'\n */\nexport type BannerType = 'neutral' | SystemBannerType\n\n/**\n * Predefined system types for banners.\n * Each type has its own preset icon.\n */\nexport type SystemBannerType = 'info' | 'upgrade' | 'experiment' | 'warning' | 'error' | 'success'\n\ntype BaseAction = {\n variant: 'primary' | 'tertiary'\n label: string\n} & Pick<ButtonProps, 'loading' | 'disabled'>\ntype ActionButton = BaseAction & { type: 'button' } & Omit<\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n 'className'\n >\ntype ActionLink = BaseAction & { type: 'link' } & Omit<\n React.AnchorHTMLAttributes<HTMLAnchorElement>,\n 'className'\n >\n/**\n * Represents an action that can be taken from the banner.\n * Can be either a button or a link, sharing common properties from BaseAction.\n */\ntype Action = ActionButton | ActionLink\n\n/**\n * Configuration for inline links within the banner description.\n * Extends TextLink component props with a required label.\n */\ntype InlineLink = { label: string } & React.ComponentProps<typeof TextLink>\n\ntype WithCloseButton = {\n closeLabel?: string\n onClose: () => void\n}\ntype WithoutCloseButton = {\n closeLabel?: never\n onClose?: never\n}\n/**\n * Controls the close button behavior.\n * If none is provided, the banner will not have a close button.\n */\ntype CloseButton = WithCloseButton | WithoutCloseButton\n\ntype BaseBanner = {\n id?: string\n title?: React.ReactNode\n description: Exclude<React.ReactNode, null | undefined | boolean>\n children?: React.ReactNode\n action?: Action | React.ReactNode\n inlineLinks?: InlineLink[]\n} & CloseButton\n\n/**\n * Configuration for neutral banners.\n * Can include either an image, an icon, or neither, but never both.\n */\ntype NeutralBanner = BaseBanner & {\n type: Extract<BannerType, 'neutral'>\n} & (\n | { image: React.ReactElement; icon?: never }\n | { icon: React.ReactElement; image?: never }\n | { image?: never; icon?: never }\n )\n\n/**\n * Configuration for system banners.\n * Cannot include custom images or icons as they use preset ones.\n */\ntype SystemBanner = BaseBanner & {\n type: SystemBannerType\n image?: never\n icon?: never\n}\n\ntype BannerProps = NeutralBanner | SystemBanner\n\n/**\n * Type guard to check if the action is an Action object (button or link)\n */\nfunction isActionObject(action: Action | React.ReactNode): action is Action {\n return (\n typeof action === 'object' &&\n action !== null &&\n 'type' in action &&\n (action.type === 'button' || action.type === 'link')\n )\n}\n\nconst Banner = React.forwardRef<HTMLDivElement, BannerProps>(function Banner(\n {\n id,\n type,\n title,\n description,\n children,\n action,\n icon,\n image,\n inlineLinks,\n closeLabel,\n onClose,\n ...props\n }: BannerProps,\n ref,\n) {\n const titleId = useId()\n const descriptionId = useId()\n\n const closeButton = onClose ? (\n <IconButton\n exceptionallySetClassName={styles.closeButton}\n variant=\"quaternary\"\n onClick={onClose}\n icon={<CloseIcon />}\n aria-label={closeLabel ?? 'Close banner'}\n />\n ) : null\n\n return (\n <Box\n {...props}\n ref={ref}\n id={id}\n display=\"flex\"\n flexDirection=\"column\"\n justifyContent=\"center\"\n role=\"status\"\n aria-labelledby={title ? titleId : descriptionId}\n aria-describedby={title ? descriptionId : undefined}\n aria-live=\"polite\"\n tabIndex={0}\n borderRadius=\"full\"\n className={styles.banner}\n >\n {image ? <Box className={styles.image}>{image}</Box> : null}\n\n <Box className={styles.content} display=\"flex\" gap=\"small\">\n <Box display=\"flex\" flexDirection=\"column\" gap=\"small\" flexGrow={1}>\n <Box\n className={styles.topContent}\n display=\"flex\"\n gap=\"small\"\n alignItems=\"center\"\n >\n <Box\n className={styles.iconCopy}\n display=\"flex\"\n gap=\"small\"\n alignItems=\"flexStart\"\n flexGrow={1}\n >\n <Box className={styles.typeIcon}>\n {type === 'neutral' ? icon : <BannerIcon type={type} />}\n </Box>\n <Box\n className={styles.copy}\n display=\"flex\"\n flexDirection=\"column\"\n flexGrow={1}\n >\n {title ? (\n <Box id={titleId} className={styles.title}>\n {title}\n </Box>\n ) : null}\n <Box\n id={descriptionId}\n className={[\n styles.description,\n title ? styles.secondary : null,\n ]}\n >\n {description}\n {inlineLinks?.map(({ label, ...props }, index) => {\n return (\n <React.Fragment key={index}>\n <TextLink\n {...props}\n exceptionallySetClassName={styles.inlineLink}\n >\n {label}\n </TextLink>\n {index < inlineLinks.length - 1 ? (\n <span> · </span>\n ) : (\n ''\n )}\n </React.Fragment>\n )\n })}\n </Box>\n </Box>\n {closeButton}\n </Box>\n\n {action || closeButton ? (\n <Box className={styles.actions} display=\"flex\" gap=\"small\">\n {action ? (\n isActionObject(action) ? (\n action.type === 'button' ? (\n <ActionButton {...action} />\n ) : (\n <ActionLink {...action} />\n )\n ) : (\n action\n )\n ) : null}\n {closeButton}\n </Box>\n ) : null}\n </Box>\n\n {children}\n </Box>\n </Box>\n </Box>\n )\n})\n\nfunction ActionButton({ type, label, ...props }: ActionButton) {\n return <Button {...props}>{label}</Button>\n}\n\nfunction ActionLink({ type, label, variant, ...props }: ActionLink) {\n return (\n <Button\n variant={variant}\n render={<a rel=\"noopener noreferrer\" target=\"_blank\" {...props} />}\n >\n {label}\n </Button>\n )\n}\n\nexport { Banner }\nexport type { BannerProps }\n"],"names":["isActionObject","action","type","Banner","React","forwardRef","t0","ref","$","_c","children","closeLabel","description","icon","id","image","inlineLinks","onClose","props","title","titleId","useId","descriptionId","t1","createElement","IconButton","exceptionallySetClassName","styles","closeButton","variant","CloseIcon","t2","t3","undefined","t4","Box","className","t5","BannerIcon","t6","typeIcon","t7","t8","secondary","t9","t10","map","t11","index","label","props_0","Fragment","TextLink","_extends","inlineLink","length","t12","copy","display","flexDirection","flexGrow","t13","iconCopy","gap","alignItems","t14","actions","ActionButton","ActionLink","t15","topContent","t16","content","t17","justifyContent","role","tabIndex","borderRadius","banner","Button","rel","target","render"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- var modules_afa80466 = {"banner":"b5b593b1","image":"_5f315350","title":"_6188ea80","description":"_68b258a0","secondary":"eddb9d77","typeIcon":"de88193f","iconCopy":"_701950c0","closeButton":"bb6407f3","copy":"_14c85d09","inlineLink":"_342d3997","actions":"_17b9ed33","topContent":"_6eb862f2","content":"_00ac3ae8"};
1
+ var modules_afa80466 = {"banner":"a9238c10","image":"_74fb1d6c","title":"_7d720b64","description":"e20c1413","secondary":"a4ec529c","typeIcon":"f7f9b63d","iconCopy":"_22bc210c","closeButton":"_97060900","copy":"_32c8bd8c","inlineLink":"_0569f1dd","actions":"_154f8e60","topContent":"f76860a9","content":"cb9aeb0c"};
2
2
 
3
3
  export { modules_afa80466 as default };
4
4
  //# sourceMappingURL=banner.module.css.js.map
@@ -1,4 +1,3 @@
1
- import _objectSpread from '@babel/runtime/helpers/objectSpread2';
2
1
  import { c } from 'react-compiler-runtime';
3
2
  import * as React from 'react';
4
3
  import { useId } from '../utils/common-helpers.js';
@@ -190,12 +189,12 @@ function BaseField(t0) {
190
189
  let t8;
191
190
  let t9;
192
191
  if ($[6] !== ariaDescribedBy || $[7] !== auxiliaryLabel || $[8] !== children || $[9] !== className || $[10] !== hidden || $[11] !== id || $[12] !== inputLength.count || $[13] !== inputLength.tone || $[14] !== label || $[15] !== maxLength || $[16] !== maxWidth || $[17] !== previousMaxLength || $[18] !== previousValue || $[19] !== renderCharacterCount || $[20] !== renderCharacterCountInline || $[21] !== tone || $[22] !== value || $[23] !== variant) {
193
- const childrenProps = _objectSpread(_objectSpread({
192
+ const childrenProps = {
194
193
  id,
195
- value
196
- }, ariaDescribedBy ? {
197
- "aria-describedby": ariaDescribedBy
198
- } : {}), {}, {
194
+ value,
195
+ ...(ariaDescribedBy ? {
196
+ "aria-describedby": ariaDescribedBy
197
+ } : {}),
199
198
  "aria-invalid": tone === "error" ? true : undefined,
200
199
  onChange(event) {
201
200
  if (!maxLength) {
@@ -209,7 +208,7 @@ function BaseField(t0) {
209
208
  setCharacterCountTone(inputLength_0.tone);
210
209
  },
211
210
  characterCountElement: renderCharacterCountInline ? renderCharacterCount() : null
212
- });
211
+ };
213
212
  if (value !== previousValue || maxLength !== previousMaxLength) {
214
213
  setPreviousValue(value);
215
214
  setPreviousMaxLength(maxLength);
@@ -1 +1 @@
1
- {"version":3,"file":"base-field.js","sources":["../../src/base-field/base-field.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { Box } from '../box'\nimport { Column, Columns } from '../columns'\nimport { Spinner } from '../spinner'\nimport { Stack } from '../stack'\nimport { Text } from '../text'\nimport { useId } from '../utils/common-helpers'\n\nimport styles from './base-field.module.css'\n\nimport type { BoxProps } from '../box'\nimport type { WithEnhancedClassName } from '../utils/common-types'\n\n// Define the remaining characters before the character count turns red\n// See: https://twist.com/a/1585/ch/765851/t/6664583/c/93631846 for latest spec\nconst MAX_LENGTH_THRESHOLD = 0\n\ntype FieldTone = 'neutral' | 'success' | 'error' | 'loading'\n\ntype FieldMessageProps = {\n id: string\n children: React.ReactNode\n tone: FieldTone\n}\n\nfunction fieldToneToTextTone(tone: FieldTone) {\n return tone === 'error' ? 'danger' : tone === 'success' ? 'positive' : 'secondary'\n}\n\nfunction FieldMessage({ id, children, tone }: FieldMessageProps) {\n return (\n <Text as=\"p\" tone={fieldToneToTextTone(tone)} size=\"copy\" id={id}>\n {tone === 'loading' ? (\n <Box\n as=\"span\"\n marginRight=\"xsmall\"\n display=\"inlineFlex\"\n className={styles.loadingIcon}\n >\n <Spinner size={16} />\n </Box>\n ) : null}\n {children}\n </Text>\n )\n}\n\ntype FieldCharacterCountProps = {\n children: React.ReactNode\n tone: FieldTone\n}\n\nfunction FieldCharacterCount({ children, tone }: FieldCharacterCountProps) {\n return (\n <Text tone={fieldToneToTextTone(tone)} size=\"copy\">\n {children}\n </Text>\n )\n}\n\ntype ValidateInputLengthProps = {\n value?: React.InputHTMLAttributes<unknown>['value']\n maxLength?: number\n}\n\ntype ValidateInputLengthResult = {\n count: string | null\n tone: FieldTone\n}\n\nfunction validateInputLength({\n value,\n maxLength,\n}: ValidateInputLengthProps): ValidateInputLengthResult {\n if (!maxLength) {\n return {\n count: null,\n tone: 'neutral',\n }\n }\n\n const currentLength = String(value || '').length\n const isNearMaxLength = maxLength - currentLength <= MAX_LENGTH_THRESHOLD\n\n return {\n count: `${currentLength}/${maxLength}`,\n tone: isNearMaxLength ? 'error' : 'neutral',\n }\n}\n\n//\n// BaseField\n//\n\ntype ChildrenRenderProps = {\n id: string\n value?: React.InputHTMLAttributes<unknown>['value']\n 'aria-describedby'?: string\n 'aria-invalid'?: true\n onChange?: React.ChangeEventHandler<HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement>\n characterCountElement?: React.ReactNode | null\n}\n\ntype HtmlInputProps<T extends HTMLElement> = React.DetailedHTMLProps<\n React.InputHTMLAttributes<T>,\n T\n>\n\ntype BaseFieldVariant = 'default' | 'bordered'\ntype BaseFieldVariantProps = {\n /**\n * Provides alternative visual layouts or modes that the field can be rendered in.\n *\n * Namely, there are two variants supported:\n *\n * - the default one\n * - a \"bordered\" variant, where the border of the field surrounds also the labels, instead\n * of just surrounding the actual field element\n *\n * In both cases, the message and description texts for the field lie outside the bordered\n * area.\n */\n variant?: BaseFieldVariant\n}\n\nexport type BaseFieldProps = WithEnhancedClassName &\n Pick<HtmlInputProps<HTMLInputElement>, 'id' | 'hidden' | 'maxLength' | 'aria-describedby'> & {\n /**\n * The main label for this field element.\n *\n * This prop is not optional. Consumers of field components must be explicit about not\n * wanting a label by passing `label=\"\"` or `label={null}`. In those situations, consumers\n * should make sure that fields are properly labelled semantically by other means (e.g using\n * `aria-labelledby`, or rendering a `<label />` element referencing the field by id).\n *\n * Avoid providing interactive elements in the label. Prefer `auxiliaryLabel` for that.\n *\n * @see BaseFieldProps['auxiliaryLabel']\n */\n label: React.ReactNode\n\n /**\n * The initial value for this field element.\n *\n * This prop is used to calculate the character count for the initial value, and is then\n * passed to the underlying child element.\n */\n value?: React.InputHTMLAttributes<unknown>['value']\n\n /**\n * An optional extra element to be placed to the right of the main label.\n *\n * This extra element is not included in the accessible name of the field element. Its only\n * purpose is either visual, or functional (if you include interactive elements in it).\n *\n * @see BaseFieldProps['label']\n *\n * @deprecated The usage of this element is discouraged given that it was removed from the\n * latest form field spec revision.\n */\n auxiliaryLabel?: React.ReactNode\n\n /**\n * A message associated with the field. It is rendered below the field, and with an\n * appearance that conveys the tone of the field (e.g. coloured red for errors, green for\n * success, etc).\n *\n * The message element is associated to the field via the `aria-describedby` attribute.\n *\n * In the future, when `aria-errormessage` gets better user agent support, we should use it\n * to associate the filed with a message when tone is `\"error\"`.\n *\n * @see BaseFieldProps['tone']\n * @see https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-errormessage\n * @see https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-invalid\n */\n message?: React.ReactNode\n\n /**\n * The tone with which the message, if any, is presented.\n *\n * If the tone is `\"error\"`, the field border turns red, and the message, if any, is also\n * red.\n *\n * When the tone is `\"loading\"`, it is recommended that you also disable the field. However,\n * this is not enforced by the component. It is only a recommendation.\n *\n * @see BaseFieldProps['message']\n * @see BaseFieldProps['hint']\n */\n tone?: FieldTone\n\n /**\n * The maximum width that the input field can expand to.\n */\n maxWidth?: BoxProps['maxWidth']\n\n /**\n * The maximum number of characters that the input field can accept.\n * When this limit is reached, the input field will not accept any more characters.\n * The counter element will turn red when the number of characters is within 10 of the maximum limit.\n */\n maxLength?: number\n\n /**\n * Used internally by components composed using `BaseField`. It is not exposed as part of\n * the public props of such components.\n */\n children: (props: ChildrenRenderProps) => React.ReactNode\n\n /**\n * The position of the character count element.\n * It can be shown below the field or inline with the field.\n *\n * @default 'below'\n */\n characterCountPosition?: 'below' | 'inline' | 'hidden'\n } & (\n | {\n supportsStartAndEndSlots?: false\n endSlot?: never\n endSlotPosition?: never\n }\n | {\n supportsStartAndEndSlots: true\n endSlot?: React.ReactElement | string | number\n /**\n * This is solely for `bordered` variants of TextField. When set to `bottom` (the default),\n * the endSlot will be placed inline with the input field. When set to `fullHeight`, the endSlot\n * will be placed to the side of both the input field and the label.\n */\n endSlotPosition?: 'bottom' | 'fullHeight'\n }\n )\n\ntype FieldComponentProps<T extends HTMLElement> = Omit<\n BaseFieldProps,\n 'children' | 'className' | 'fieldRef' | 'variant'\n> &\n Omit<HtmlInputProps<T>, 'className' | 'style'>\n\n/**\n * BaseField is a base component that provides a consistent structure for form fields.\n */\nfunction BaseField({\n variant = 'default',\n label,\n value,\n auxiliaryLabel,\n message,\n tone = 'neutral',\n className,\n children,\n maxWidth,\n maxLength,\n hidden,\n 'aria-describedby': originalAriaDescribedBy,\n id: originalId,\n characterCountPosition = 'below',\n endSlot,\n endSlotPosition = 'bottom',\n}: BaseFieldProps & BaseFieldVariantProps & WithEnhancedClassName) {\n const id = useId(originalId)\n const messageId = useId()\n\n const inputLength = validateInputLength({ value, maxLength })\n\n const [previousValue, setPreviousValue] = React.useState<BaseFieldProps['value']>(value)\n const [previousMaxLength, setPreviousMaxLength] =\n React.useState<BaseFieldProps['maxLength']>(maxLength)\n const [characterCount, setCharacterCount] = React.useState<string | null>(inputLength.count)\n const [characterCountTone, setCharacterCountTone] = React.useState<FieldTone>(inputLength.tone)\n\n const ariaDescribedBy = originalAriaDescribedBy ?? (message ? messageId : null)\n\n const renderCharacterCountBelow = characterCountPosition === 'below' && characterCount !== null\n const renderCharacterCountInline =\n characterCountPosition === 'inline' && characterCount !== null\n\n function renderCharacterCount() {\n return <FieldCharacterCount tone={characterCountTone}>{characterCount}</FieldCharacterCount>\n }\n\n const childrenProps: ChildrenRenderProps = {\n id,\n value,\n ...(ariaDescribedBy ? { 'aria-describedby': ariaDescribedBy } : {}),\n 'aria-invalid': tone === 'error' ? true : undefined,\n onChange(event) {\n if (!maxLength) {\n return\n }\n\n const inputLength = validateInputLength({\n value: event.currentTarget.value,\n maxLength,\n })\n\n setCharacterCount(inputLength.count)\n setCharacterCountTone(inputLength.tone)\n },\n // If the character count is inline, we pass it as a prop to the children element so it can be rendered inline\n characterCountElement: renderCharacterCountInline ? renderCharacterCount() : null,\n }\n\n if (value !== previousValue || maxLength !== previousMaxLength) {\n setPreviousValue(value)\n setPreviousMaxLength(maxLength)\n setCharacterCount(inputLength.count)\n setCharacterCountTone(inputLength.tone)\n }\n\n return (\n <Stack space=\"xsmall\" hidden={hidden}>\n <Box\n display=\"flex\"\n flexDirection=\"row\"\n className={[\n className,\n styles.container,\n tone === 'error' ? styles.error : null,\n variant === 'bordered' ? styles.bordered : null,\n ]}\n maxWidth={maxWidth}\n alignItems=\"center\"\n >\n <Box flexGrow={1}>\n {label || auxiliaryLabel ? (\n <Box\n as=\"span\"\n display=\"flex\"\n justifyContent=\"spaceBetween\"\n alignItems=\"flexEnd\"\n >\n <Text\n size={variant === 'bordered' ? 'caption' : 'body'}\n as=\"label\"\n htmlFor={id}\n >\n {label ? (\n <span className={styles.primaryLabel}>{label}</span>\n ) : null}\n </Text>\n {auxiliaryLabel ? (\n <Box className={styles.auxiliaryLabel} paddingLeft=\"small\">\n {auxiliaryLabel}\n </Box>\n ) : null}\n </Box>\n ) : null}\n {children(childrenProps)}\n </Box>\n {endSlot && endSlotPosition === 'fullHeight' ? endSlot : null}\n </Box>\n\n {message || renderCharacterCountBelow ? (\n <Columns align=\"right\" space=\"small\" maxWidth={maxWidth}>\n {message ? (\n <Column width=\"auto\">\n <FieldMessage id={messageId} tone={tone}>\n {message}\n </FieldMessage>\n </Column>\n ) : null}\n\n {/* If the character count is below the field, we render it, if it's inline,\n we pass it as a prop to the children element so it can be rendered inline */}\n {characterCountPosition === 'below' ? (\n <Column width=\"content\">{renderCharacterCount()}</Column>\n ) : null}\n </Columns>\n ) : null}\n </Stack>\n )\n}\n\nexport { BaseField, FieldMessage }\nexport type { BaseFieldVariant, BaseFieldVariantProps, FieldComponentProps }\n"],"names":["MAX_LENGTH_THRESHOLD","fieldToneToTextTone","tone","FieldMessage","t0","$","_c","id","children","t1","t2","React","createElement","Box","as","marginRight","display","className","styles","loadingIcon","Spinner","size","t3","Text","FieldCharacterCount","validateInputLength","value","maxLength","count","currentLength","String","length","isNearMaxLength","BaseField","variant","label","auxiliaryLabel","message","maxWidth","hidden","originalAriaDescribedBy","originalId","characterCountPosition","endSlot","endSlotPosition","t4","undefined","useId","messageId","t5","inputLength","previousValue","setPreviousValue","useState","previousMaxLength","setPreviousMaxLength","characterCount","setCharacterCount","characterCountTone","setCharacterCountTone","ariaDescribedBy","renderCharacterCountBelow","renderCharacterCountInline","t6","renderCharacterCount","T0","T1","T2","t10","t11","t12","t13","t14","t15","t16","t7","t8","t9","childrenProps","_objectSpread","onChange","event","inputLength_0","currentTarget","characterCountElement","Stack","t17","error","t18","bordered","container","justifyContent","alignItems","primaryLabel","paddingLeft","flexGrow","t19","flexDirection","t20","Columns","align","space","Column","width","t21"],"mappings":"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"}
1
+ {"version":3,"file":"base-field.js","sources":["../../src/base-field/base-field.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { Box } from '../box'\nimport { Column, Columns } from '../columns'\nimport { Spinner } from '../spinner'\nimport { Stack } from '../stack'\nimport { Text } from '../text'\nimport { useId } from '../utils/common-helpers'\n\nimport styles from './base-field.module.css'\n\nimport type { BoxProps } from '../box'\nimport type { WithEnhancedClassName } from '../utils/common-types'\n\n// Define the remaining characters before the character count turns red\n// See: https://twist.com/a/1585/ch/765851/t/6664583/c/93631846 for latest spec\nconst MAX_LENGTH_THRESHOLD = 0\n\ntype FieldTone = 'neutral' | 'success' | 'error' | 'loading'\n\ntype FieldMessageProps = {\n id: string\n children: React.ReactNode\n tone: FieldTone\n}\n\nfunction fieldToneToTextTone(tone: FieldTone) {\n return tone === 'error' ? 'danger' : tone === 'success' ? 'positive' : 'secondary'\n}\n\nfunction FieldMessage({ id, children, tone }: FieldMessageProps) {\n return (\n <Text as=\"p\" tone={fieldToneToTextTone(tone)} size=\"copy\" id={id}>\n {tone === 'loading' ? (\n <Box\n as=\"span\"\n marginRight=\"xsmall\"\n display=\"inlineFlex\"\n className={styles.loadingIcon}\n >\n <Spinner size={16} />\n </Box>\n ) : null}\n {children}\n </Text>\n )\n}\n\ntype FieldCharacterCountProps = {\n children: React.ReactNode\n tone: FieldTone\n}\n\nfunction FieldCharacterCount({ children, tone }: FieldCharacterCountProps) {\n return (\n <Text tone={fieldToneToTextTone(tone)} size=\"copy\">\n {children}\n </Text>\n )\n}\n\ntype ValidateInputLengthProps = {\n value?: React.InputHTMLAttributes<unknown>['value']\n maxLength?: number\n}\n\ntype ValidateInputLengthResult = {\n count: string | null\n tone: FieldTone\n}\n\nfunction validateInputLength({\n value,\n maxLength,\n}: ValidateInputLengthProps): ValidateInputLengthResult {\n if (!maxLength) {\n return {\n count: null,\n tone: 'neutral',\n }\n }\n\n const currentLength = String(value || '').length\n const isNearMaxLength = maxLength - currentLength <= MAX_LENGTH_THRESHOLD\n\n return {\n count: `${currentLength}/${maxLength}`,\n tone: isNearMaxLength ? 'error' : 'neutral',\n }\n}\n\n//\n// BaseField\n//\n\ntype ChildrenRenderProps = {\n id: string\n value?: React.InputHTMLAttributes<unknown>['value']\n 'aria-describedby'?: string\n 'aria-invalid'?: true\n onChange?: React.ChangeEventHandler<HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement>\n characterCountElement?: React.ReactNode | null\n}\n\ntype HtmlInputProps<T extends HTMLElement> = React.DetailedHTMLProps<\n React.InputHTMLAttributes<T>,\n T\n>\n\ntype BaseFieldVariant = 'default' | 'bordered'\ntype BaseFieldVariantProps = {\n /**\n * Provides alternative visual layouts or modes that the field can be rendered in.\n *\n * Namely, there are two variants supported:\n *\n * - the default one\n * - a \"bordered\" variant, where the border of the field surrounds also the labels, instead\n * of just surrounding the actual field element\n *\n * In both cases, the message and description texts for the field lie outside the bordered\n * area.\n */\n variant?: BaseFieldVariant\n}\n\nexport type BaseFieldProps = WithEnhancedClassName &\n Pick<HtmlInputProps<HTMLInputElement>, 'id' | 'hidden' | 'maxLength' | 'aria-describedby'> & {\n /**\n * The main label for this field element.\n *\n * This prop is not optional. Consumers of field components must be explicit about not\n * wanting a label by passing `label=\"\"` or `label={null}`. In those situations, consumers\n * should make sure that fields are properly labelled semantically by other means (e.g using\n * `aria-labelledby`, or rendering a `<label />` element referencing the field by id).\n *\n * Avoid providing interactive elements in the label. Prefer `auxiliaryLabel` for that.\n *\n * @see BaseFieldProps['auxiliaryLabel']\n */\n label: React.ReactNode\n\n /**\n * The initial value for this field element.\n *\n * This prop is used to calculate the character count for the initial value, and is then\n * passed to the underlying child element.\n */\n value?: React.InputHTMLAttributes<unknown>['value']\n\n /**\n * An optional extra element to be placed to the right of the main label.\n *\n * This extra element is not included in the accessible name of the field element. Its only\n * purpose is either visual, or functional (if you include interactive elements in it).\n *\n * @see BaseFieldProps['label']\n *\n * @deprecated The usage of this element is discouraged given that it was removed from the\n * latest form field spec revision.\n */\n auxiliaryLabel?: React.ReactNode\n\n /**\n * A message associated with the field. It is rendered below the field, and with an\n * appearance that conveys the tone of the field (e.g. coloured red for errors, green for\n * success, etc).\n *\n * The message element is associated to the field via the `aria-describedby` attribute.\n *\n * In the future, when `aria-errormessage` gets better user agent support, we should use it\n * to associate the filed with a message when tone is `\"error\"`.\n *\n * @see BaseFieldProps['tone']\n * @see https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-errormessage\n * @see https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-invalid\n */\n message?: React.ReactNode\n\n /**\n * The tone with which the message, if any, is presented.\n *\n * If the tone is `\"error\"`, the field border turns red, and the message, if any, is also\n * red.\n *\n * When the tone is `\"loading\"`, it is recommended that you also disable the field. However,\n * this is not enforced by the component. It is only a recommendation.\n *\n * @see BaseFieldProps['message']\n * @see BaseFieldProps['hint']\n */\n tone?: FieldTone\n\n /**\n * The maximum width that the input field can expand to.\n */\n maxWidth?: BoxProps['maxWidth']\n\n /**\n * The maximum number of characters that the input field can accept.\n * When this limit is reached, the input field will not accept any more characters.\n * The counter element will turn red when the number of characters is within 10 of the maximum limit.\n */\n maxLength?: number\n\n /**\n * Used internally by components composed using `BaseField`. It is not exposed as part of\n * the public props of such components.\n */\n children: (props: ChildrenRenderProps) => React.ReactNode\n\n /**\n * The position of the character count element.\n * It can be shown below the field or inline with the field.\n *\n * @default 'below'\n */\n characterCountPosition?: 'below' | 'inline' | 'hidden'\n } & (\n | {\n supportsStartAndEndSlots?: false\n endSlot?: never\n endSlotPosition?: never\n }\n | {\n supportsStartAndEndSlots: true\n endSlot?: React.ReactElement | string | number\n /**\n * This is solely for `bordered` variants of TextField. When set to `bottom` (the default),\n * the endSlot will be placed inline with the input field. When set to `fullHeight`, the endSlot\n * will be placed to the side of both the input field and the label.\n */\n endSlotPosition?: 'bottom' | 'fullHeight'\n }\n )\n\ntype FieldComponentProps<T extends HTMLElement> = Omit<\n BaseFieldProps,\n 'children' | 'className' | 'fieldRef' | 'variant'\n> &\n Omit<HtmlInputProps<T>, 'className' | 'style'>\n\n/**\n * BaseField is a base component that provides a consistent structure for form fields.\n */\nfunction BaseField({\n variant = 'default',\n label,\n value,\n auxiliaryLabel,\n message,\n tone = 'neutral',\n className,\n children,\n maxWidth,\n maxLength,\n hidden,\n 'aria-describedby': originalAriaDescribedBy,\n id: originalId,\n characterCountPosition = 'below',\n endSlot,\n endSlotPosition = 'bottom',\n}: BaseFieldProps & BaseFieldVariantProps & WithEnhancedClassName) {\n const id = useId(originalId)\n const messageId = useId()\n\n const inputLength = validateInputLength({ value, maxLength })\n\n const [previousValue, setPreviousValue] = React.useState<BaseFieldProps['value']>(value)\n const [previousMaxLength, setPreviousMaxLength] =\n React.useState<BaseFieldProps['maxLength']>(maxLength)\n const [characterCount, setCharacterCount] = React.useState<string | null>(inputLength.count)\n const [characterCountTone, setCharacterCountTone] = React.useState<FieldTone>(inputLength.tone)\n\n const ariaDescribedBy = originalAriaDescribedBy ?? (message ? messageId : null)\n\n const renderCharacterCountBelow = characterCountPosition === 'below' && characterCount !== null\n const renderCharacterCountInline =\n characterCountPosition === 'inline' && characterCount !== null\n\n function renderCharacterCount() {\n return <FieldCharacterCount tone={characterCountTone}>{characterCount}</FieldCharacterCount>\n }\n\n const childrenProps: ChildrenRenderProps = {\n id,\n value,\n ...(ariaDescribedBy ? { 'aria-describedby': ariaDescribedBy } : {}),\n 'aria-invalid': tone === 'error' ? true : undefined,\n onChange(event) {\n if (!maxLength) {\n return\n }\n\n const inputLength = validateInputLength({\n value: event.currentTarget.value,\n maxLength,\n })\n\n setCharacterCount(inputLength.count)\n setCharacterCountTone(inputLength.tone)\n },\n // If the character count is inline, we pass it as a prop to the children element so it can be rendered inline\n characterCountElement: renderCharacterCountInline ? renderCharacterCount() : null,\n }\n\n if (value !== previousValue || maxLength !== previousMaxLength) {\n setPreviousValue(value)\n setPreviousMaxLength(maxLength)\n setCharacterCount(inputLength.count)\n setCharacterCountTone(inputLength.tone)\n }\n\n return (\n <Stack space=\"xsmall\" hidden={hidden}>\n <Box\n display=\"flex\"\n flexDirection=\"row\"\n className={[\n className,\n styles.container,\n tone === 'error' ? styles.error : null,\n variant === 'bordered' ? styles.bordered : null,\n ]}\n maxWidth={maxWidth}\n alignItems=\"center\"\n >\n <Box flexGrow={1}>\n {label || auxiliaryLabel ? (\n <Box\n as=\"span\"\n display=\"flex\"\n justifyContent=\"spaceBetween\"\n alignItems=\"flexEnd\"\n >\n <Text\n size={variant === 'bordered' ? 'caption' : 'body'}\n as=\"label\"\n htmlFor={id}\n >\n {label ? (\n <span className={styles.primaryLabel}>{label}</span>\n ) : null}\n </Text>\n {auxiliaryLabel ? (\n <Box className={styles.auxiliaryLabel} paddingLeft=\"small\">\n {auxiliaryLabel}\n </Box>\n ) : null}\n </Box>\n ) : null}\n {children(childrenProps)}\n </Box>\n {endSlot && endSlotPosition === 'fullHeight' ? endSlot : null}\n </Box>\n\n {message || renderCharacterCountBelow ? (\n <Columns align=\"right\" space=\"small\" maxWidth={maxWidth}>\n {message ? (\n <Column width=\"auto\">\n <FieldMessage id={messageId} tone={tone}>\n {message}\n </FieldMessage>\n </Column>\n ) : null}\n\n {/* If the character count is below the field, we render it, if it's inline,\n we pass it as a prop to the children element so it can be rendered inline */}\n {characterCountPosition === 'below' ? (\n <Column width=\"content\">{renderCharacterCount()}</Column>\n ) : null}\n </Columns>\n ) : null}\n </Stack>\n )\n}\n\nexport { BaseField, FieldMessage }\nexport type { BaseFieldVariant, BaseFieldVariantProps, FieldComponentProps }\n"],"names":["MAX_LENGTH_THRESHOLD","fieldToneToTextTone","tone","FieldMessage","t0","$","_c","id","children","t1","t2","React","createElement","Box","as","marginRight","display","className","styles","loadingIcon","Spinner","size","t3","Text","FieldCharacterCount","validateInputLength","value","maxLength","count","currentLength","String","length","isNearMaxLength","BaseField","variant","label","auxiliaryLabel","message","maxWidth","hidden","originalAriaDescribedBy","originalId","characterCountPosition","endSlot","endSlotPosition","t4","undefined","useId","messageId","t5","inputLength","previousValue","setPreviousValue","useState","previousMaxLength","setPreviousMaxLength","characterCount","setCharacterCount","characterCountTone","setCharacterCountTone","ariaDescribedBy","renderCharacterCountBelow","renderCharacterCountInline","t6","renderCharacterCount","T0","T1","T2","t10","t11","t12","t13","t14","t15","t16","t7","t8","t9","childrenProps","onChange","event","inputLength_0","currentTarget","characterCountElement","Stack","t17","error","t18","bordered","container","justifyContent","alignItems","primaryLabel","paddingLeft","flexGrow","t19","flexDirection","t20","Columns","align","space","Column","width","t21"],"mappings":"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"}