@razorpay/blade 12.38.0 → 12.40.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 (167) hide show
  1. package/build/lib/native/components/Accordion/AccordionItem.js +1 -1
  2. package/build/lib/native/components/Accordion/AccordionItem.js.map +1 -1
  3. package/build/lib/native/components/Alert/Alert.js +2 -1
  4. package/build/lib/native/components/Alert/Alert.js.map +1 -1
  5. package/build/lib/native/components/Card/CardFooter.js +2 -1
  6. package/build/lib/native/components/Card/CardFooter.js.map +1 -1
  7. package/build/lib/native/components/Chip/Chip.js +1 -1
  8. package/build/lib/native/components/Chip/Chip.js.map +1 -1
  9. package/build/lib/native/components/Form/FormLabel.js +1 -1
  10. package/build/lib/native/components/Form/FormLabel.js.map +1 -1
  11. package/build/lib/native/components/Icons/CompanyRegistrationIcon/CompanyRegistrationIcon.js +1 -1
  12. package/build/lib/native/components/Icons/CompanyRegistrationIcon/CompanyRegistrationIcon.js.map +1 -1
  13. package/build/lib/native/components/Input/BaseInput/BaseInput.js +1 -1
  14. package/build/lib/native/components/Input/BaseInput/BaseInput.js.map +1 -1
  15. package/build/lib/native/components/Input/OTPInput/OTPInput.js +1 -1
  16. package/build/lib/native/components/Input/OTPInput/OTPInput.js.map +1 -1
  17. package/build/lib/native/components/Input/PasswordInput/PasswordInput.js +1 -1
  18. package/build/lib/native/components/Input/PasswordInput/PasswordInput.js.map +1 -1
  19. package/build/lib/native/components/Input/SearchInput/SearchInput.js +1 -1
  20. package/build/lib/native/components/Input/SearchInput/SearchInput.js.map +1 -1
  21. package/build/lib/native/components/Input/TextArea/TextArea.js +1 -1
  22. package/build/lib/native/components/Input/TextArea/TextArea.js.map +1 -1
  23. package/build/lib/native/components/Input/TextInput/TextInput.js +1 -1
  24. package/build/lib/native/components/Input/TextInput/TextInput.js.map +1 -1
  25. package/build/lib/native/components/QuickFilters/QuickFilter.js +1 -1
  26. package/build/lib/native/components/QuickFilters/QuickFilter.js.map +1 -1
  27. package/build/lib/native/utils/makeAnalyticsAttribute/makeAnalyticsConstants.js +4 -0
  28. package/build/lib/native/utils/makeAnalyticsAttribute/makeAnalyticsConstants.js.map +1 -0
  29. package/build/lib/web/development/components/Accordion/AccordionButton.web.js +5 -7
  30. package/build/lib/web/development/components/Accordion/AccordionButton.web.js.map +1 -1
  31. package/build/lib/web/development/components/Accordion/AccordionItem.js +7 -5
  32. package/build/lib/web/development/components/Accordion/AccordionItem.js.map +1 -1
  33. package/build/lib/web/development/components/Alert/Alert.js +2 -0
  34. package/build/lib/web/development/components/Alert/Alert.js.map +1 -1
  35. package/build/lib/web/development/components/Avatar/AvatarButton.js +3 -0
  36. package/build/lib/web/development/components/Avatar/AvatarButton.js.map +1 -1
  37. package/build/lib/web/development/components/Card/CardFooter.js +3 -0
  38. package/build/lib/web/development/components/Card/CardFooter.js.map +1 -1
  39. package/build/lib/web/development/components/Chip/Chip.js +5 -5
  40. package/build/lib/web/development/components/Chip/Chip.js.map +1 -1
  41. package/build/lib/web/development/components/DatePicker/BaseDatePicker.web.js +6 -2
  42. package/build/lib/web/development/components/DatePicker/BaseDatePicker.web.js.map +1 -1
  43. package/build/lib/web/development/components/DatePicker/Calendar.web.js +4 -2
  44. package/build/lib/web/development/components/DatePicker/Calendar.web.js.map +1 -1
  45. package/build/lib/web/development/components/DatePicker/CalendarFooter.web.js +4 -0
  46. package/build/lib/web/development/components/DatePicker/CalendarFooter.web.js.map +1 -1
  47. package/build/lib/web/development/components/DatePicker/DateInput.web.js +10 -4
  48. package/build/lib/web/development/components/DatePicker/DateInput.web.js.map +1 -1
  49. package/build/lib/web/development/components/DatePicker/QuickSelection/PresetSideBar.web.js +1 -0
  50. package/build/lib/web/development/components/DatePicker/QuickSelection/PresetSideBar.web.js.map +1 -1
  51. package/build/lib/web/development/components/DatePicker/QuickSelection/QuickSelectionItem.web.js +2 -1
  52. package/build/lib/web/development/components/DatePicker/QuickSelection/QuickSelectionItem.web.js.map +1 -1
  53. package/build/lib/web/development/components/FileUpload/FileUploadItem.js +3 -0
  54. package/build/lib/web/development/components/FileUpload/FileUploadItem.js.map +1 -1
  55. package/build/lib/web/development/components/Form/FormLabel.js +24 -4
  56. package/build/lib/web/development/components/Form/FormLabel.js.map +1 -1
  57. package/build/lib/web/development/components/Icons/CompanyRegistrationIcon/CompanyRegistrationIcon.js +1 -3
  58. package/build/lib/web/development/components/Icons/CompanyRegistrationIcon/CompanyRegistrationIcon.js.map +1 -1
  59. package/build/lib/web/development/components/Input/BaseInput/BaseInput.js +6 -2
  60. package/build/lib/web/development/components/Input/BaseInput/BaseInput.js.map +1 -1
  61. package/build/lib/web/development/components/Input/OTPInput/OTPInput.js +5 -1
  62. package/build/lib/web/development/components/Input/OTPInput/OTPInput.js.map +1 -1
  63. package/build/lib/web/development/components/Input/PasswordInput/PasswordInput.js +5 -1
  64. package/build/lib/web/development/components/Input/PasswordInput/PasswordInput.js.map +1 -1
  65. package/build/lib/web/development/components/Input/PhoneNumberInput/PhoneNumberInput.web.js +5 -1
  66. package/build/lib/web/development/components/Input/PhoneNumberInput/PhoneNumberInput.web.js.map +1 -1
  67. package/build/lib/web/development/components/Input/SearchInput/SearchInput.js +5 -1
  68. package/build/lib/web/development/components/Input/SearchInput/SearchInput.js.map +1 -1
  69. package/build/lib/web/development/components/Input/TextArea/TextArea.js +5 -1
  70. package/build/lib/web/development/components/Input/TextArea/TextArea.js.map +1 -1
  71. package/build/lib/web/development/components/Input/TextInput/TextInput.js +5 -1
  72. package/build/lib/web/development/components/Input/TextInput/TextInput.js.map +1 -1
  73. package/build/lib/web/development/components/Modal/Modal.web.js +6 -7
  74. package/build/lib/web/development/components/Modal/Modal.web.js.map +1 -1
  75. package/build/lib/web/development/components/Preview/Preview.web.js +8 -7
  76. package/build/lib/web/development/components/Preview/Preview.web.js.map +1 -1
  77. package/build/lib/web/development/components/QuickFilters/QuickFilter.js +9 -7
  78. package/build/lib/web/development/components/QuickFilters/QuickFilter.js.map +1 -1
  79. package/build/lib/web/development/components/SpotlightPopoverTour/TourFooter.web.js +12 -2
  80. package/build/lib/web/development/components/SpotlightPopoverTour/TourFooter.web.js.map +1 -1
  81. package/build/lib/web/development/components/Table/Table.web.js +6 -3
  82. package/build/lib/web/development/components/Table/Table.web.js.map +1 -1
  83. package/build/lib/web/development/components/Table/TableBody.web.js +5 -3
  84. package/build/lib/web/development/components/Table/TableBody.web.js.map +1 -1
  85. package/build/lib/web/development/components/Table/TableHeader.web.js +4 -2
  86. package/build/lib/web/development/components/Table/TableHeader.web.js.map +1 -1
  87. package/build/lib/web/development/components/Table/TablePagination.web.js +12 -6
  88. package/build/lib/web/development/components/Table/TablePagination.web.js.map +1 -1
  89. package/build/lib/web/development/components/Table/TableToolbar.web.js +5 -8
  90. package/build/lib/web/development/components/Table/TableToolbar.web.js.map +1 -1
  91. package/build/lib/web/development/components/Toast/Toast.web.js +2 -0
  92. package/build/lib/web/development/components/Toast/Toast.web.js.map +1 -1
  93. package/build/lib/web/development/utils/makeAnalyticsAttribute/index.js +1 -0
  94. package/build/lib/web/development/utils/makeAnalyticsAttribute/index.js.map +1 -1
  95. package/build/lib/web/development/utils/makeAnalyticsAttribute/makeAnalyticsConstants.js +32 -0
  96. package/build/lib/web/development/utils/makeAnalyticsAttribute/makeAnalyticsConstants.js.map +1 -0
  97. package/build/lib/web/production/components/Accordion/AccordionButton.web.js +5 -7
  98. package/build/lib/web/production/components/Accordion/AccordionButton.web.js.map +1 -1
  99. package/build/lib/web/production/components/Accordion/AccordionItem.js +7 -5
  100. package/build/lib/web/production/components/Accordion/AccordionItem.js.map +1 -1
  101. package/build/lib/web/production/components/Alert/Alert.js +2 -0
  102. package/build/lib/web/production/components/Alert/Alert.js.map +1 -1
  103. package/build/lib/web/production/components/Avatar/AvatarButton.js +3 -0
  104. package/build/lib/web/production/components/Avatar/AvatarButton.js.map +1 -1
  105. package/build/lib/web/production/components/Card/CardFooter.js +3 -0
  106. package/build/lib/web/production/components/Card/CardFooter.js.map +1 -1
  107. package/build/lib/web/production/components/Chip/Chip.js +5 -5
  108. package/build/lib/web/production/components/Chip/Chip.js.map +1 -1
  109. package/build/lib/web/production/components/DatePicker/BaseDatePicker.web.js +6 -2
  110. package/build/lib/web/production/components/DatePicker/BaseDatePicker.web.js.map +1 -1
  111. package/build/lib/web/production/components/DatePicker/Calendar.web.js +4 -2
  112. package/build/lib/web/production/components/DatePicker/Calendar.web.js.map +1 -1
  113. package/build/lib/web/production/components/DatePicker/CalendarFooter.web.js +4 -0
  114. package/build/lib/web/production/components/DatePicker/CalendarFooter.web.js.map +1 -1
  115. package/build/lib/web/production/components/DatePicker/DateInput.web.js +10 -4
  116. package/build/lib/web/production/components/DatePicker/DateInput.web.js.map +1 -1
  117. package/build/lib/web/production/components/DatePicker/QuickSelection/PresetSideBar.web.js +1 -0
  118. package/build/lib/web/production/components/DatePicker/QuickSelection/PresetSideBar.web.js.map +1 -1
  119. package/build/lib/web/production/components/DatePicker/QuickSelection/QuickSelectionItem.web.js +2 -1
  120. package/build/lib/web/production/components/DatePicker/QuickSelection/QuickSelectionItem.web.js.map +1 -1
  121. package/build/lib/web/production/components/FileUpload/FileUploadItem.js +3 -0
  122. package/build/lib/web/production/components/FileUpload/FileUploadItem.js.map +1 -1
  123. package/build/lib/web/production/components/Form/FormLabel.js +24 -4
  124. package/build/lib/web/production/components/Form/FormLabel.js.map +1 -1
  125. package/build/lib/web/production/components/Icons/CompanyRegistrationIcon/CompanyRegistrationIcon.js +1 -3
  126. package/build/lib/web/production/components/Icons/CompanyRegistrationIcon/CompanyRegistrationIcon.js.map +1 -1
  127. package/build/lib/web/production/components/Input/BaseInput/BaseInput.js +6 -2
  128. package/build/lib/web/production/components/Input/BaseInput/BaseInput.js.map +1 -1
  129. package/build/lib/web/production/components/Input/OTPInput/OTPInput.js +5 -1
  130. package/build/lib/web/production/components/Input/OTPInput/OTPInput.js.map +1 -1
  131. package/build/lib/web/production/components/Input/PasswordInput/PasswordInput.js +5 -1
  132. package/build/lib/web/production/components/Input/PasswordInput/PasswordInput.js.map +1 -1
  133. package/build/lib/web/production/components/Input/PhoneNumberInput/PhoneNumberInput.web.js +5 -1
  134. package/build/lib/web/production/components/Input/PhoneNumberInput/PhoneNumberInput.web.js.map +1 -1
  135. package/build/lib/web/production/components/Input/SearchInput/SearchInput.js +5 -1
  136. package/build/lib/web/production/components/Input/SearchInput/SearchInput.js.map +1 -1
  137. package/build/lib/web/production/components/Input/TextArea/TextArea.js +5 -1
  138. package/build/lib/web/production/components/Input/TextArea/TextArea.js.map +1 -1
  139. package/build/lib/web/production/components/Input/TextInput/TextInput.js +5 -1
  140. package/build/lib/web/production/components/Input/TextInput/TextInput.js.map +1 -1
  141. package/build/lib/web/production/components/Modal/Modal.web.js +6 -7
  142. package/build/lib/web/production/components/Modal/Modal.web.js.map +1 -1
  143. package/build/lib/web/production/components/Preview/Preview.web.js +8 -7
  144. package/build/lib/web/production/components/Preview/Preview.web.js.map +1 -1
  145. package/build/lib/web/production/components/QuickFilters/QuickFilter.js +9 -7
  146. package/build/lib/web/production/components/QuickFilters/QuickFilter.js.map +1 -1
  147. package/build/lib/web/production/components/SpotlightPopoverTour/TourFooter.web.js +12 -2
  148. package/build/lib/web/production/components/SpotlightPopoverTour/TourFooter.web.js.map +1 -1
  149. package/build/lib/web/production/components/Table/Table.web.js +6 -3
  150. package/build/lib/web/production/components/Table/Table.web.js.map +1 -1
  151. package/build/lib/web/production/components/Table/TableBody.web.js +5 -3
  152. package/build/lib/web/production/components/Table/TableBody.web.js.map +1 -1
  153. package/build/lib/web/production/components/Table/TableHeader.web.js +4 -2
  154. package/build/lib/web/production/components/Table/TableHeader.web.js.map +1 -1
  155. package/build/lib/web/production/components/Table/TablePagination.web.js +12 -6
  156. package/build/lib/web/production/components/Table/TablePagination.web.js.map +1 -1
  157. package/build/lib/web/production/components/Table/TableToolbar.web.js +5 -8
  158. package/build/lib/web/production/components/Table/TableToolbar.web.js.map +1 -1
  159. package/build/lib/web/production/components/Toast/Toast.web.js +2 -0
  160. package/build/lib/web/production/components/Toast/Toast.web.js.map +1 -1
  161. package/build/lib/web/production/utils/makeAnalyticsAttribute/index.js +1 -0
  162. package/build/lib/web/production/utils/makeAnalyticsAttribute/index.js.map +1 -1
  163. package/build/lib/web/production/utils/makeAnalyticsAttribute/makeAnalyticsConstants.js +32 -0
  164. package/build/lib/web/production/utils/makeAnalyticsAttribute/makeAnalyticsConstants.js.map +1 -0
  165. package/build/types/components/index.d.ts +29 -8
  166. package/build/types/components/index.native.d.ts +26 -7
  167. package/package.json +1 -1
@@ -1,5 +1,4 @@
1
1
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
- import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
3
2
  import { StyledAccordionButton } from './StyledAccordionButton.web.js';
4
3
  import { useAccordion } from './AccordionContext.js';
5
4
  import { AccordionItemHeader } from './AccordionItemHeader.js';
@@ -16,12 +15,11 @@ import { Text } from '../Typography/Text/Text.js';
16
15
  import { throwBladeError } from '../../utils/logger/logger.js';
17
16
  import { BaseBox } from '../Box/BaseBox/BaseBox.web.js';
18
17
  import { makeAccessible } from '../../utils/makeAccessible/makeAccessible.web.js';
19
- import { makeAnalyticsAttribute } from '../../utils/makeAnalyticsAttribute/makeAnalyticsAttribute.js';
20
18
  import { metaAttribute } from '../../utils/metaAttribute/metaAttribute.web.js';
21
19
  import { MetaConstants } from '../../utils/metaAttribute/metaConstants.js';
20
+ import { MAKE_ANALYTICS_CONSTANTS } from '../../utils/makeAnalyticsAttribute/makeAnalyticsConstants.js';
22
21
  import { assignWithoutSideEffects } from '../../utils/assignWithoutSideEffects/assignWithoutSideEffects.js';
23
22
 
24
- var _excluded = ["index", "icon", "title", "isDeprecatedAPI", "header", "isDisabled"];
25
23
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
26
24
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
27
25
  var _AccordionButton = function _AccordionButton(_ref) {
@@ -30,8 +28,7 @@ var _AccordionButton = function _AccordionButton(_ref) {
30
28
  title = _ref.title,
31
29
  isDeprecatedAPI = _ref.isDeprecatedAPI,
32
30
  header = _ref.header,
33
- isDisabled = _ref.isDisabled,
34
- rest = _objectWithoutProperties(_ref, _excluded);
31
+ isDisabled = _ref.isDisabled;
35
32
  var _useCollapsible = useCollapsible(),
36
33
  onExpandChange = _useCollapsible.onExpandChange,
37
34
  isExpanded = _useCollapsible.isExpanded,
@@ -72,10 +69,10 @@ var _AccordionButton = function _AccordionButton(_ref) {
72
69
  var isItemExpanded = expandedIndex === index;
73
70
  return /*#__PURE__*/jsx(BaseBox
74
71
  // a11y guidelines suggest having an apt heading surround a button but heading level is hardcoded here
75
- , _objectSpread(_objectSpread(_objectSpread({}, makeAccessible({
72
+ , _objectSpread(_objectSpread({}, makeAccessible({
76
73
  role: 'heading',
77
74
  level: 3
78
- })), makeAnalyticsAttribute(rest)), {}, {
75
+ })), {}, {
79
76
  width: "100%",
80
77
  children: /*#__PURE__*/jsx(StyledAccordionButton, _objectSpread(_objectSpread(_objectSpread({
81
78
  type: "button",
@@ -88,6 +85,7 @@ var _AccordionButton = function _AccordionButton(_ref) {
88
85
  })), metaAttribute({
89
86
  name: MetaConstants.AccordionButton
90
87
  })), {}, {
88
+ "data-analytics-name": MAKE_ANALYTICS_CONSTANTS.ACCORDION.ACCORDION_ITEM_BUTTON,
91
89
  children: isDeprecatedAPI ? /*#__PURE__*/jsx(AccordionItemHeader, {
92
90
  title: title,
93
91
  leading: _icon !== null && _icon !== void 0 ? _icon : _index
@@ -1 +1 @@
1
- {"version":3,"file":"AccordionButton.web.js","sources":["../../../../../../src/components/Accordion/AccordionButton.web.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport { StyledAccordionButton } from './StyledAccordionButton';\nimport type { AccordionButtonProps } from './types';\nimport { useAccordion } from './AccordionContext';\nimport { AccordionItemHeader } from './AccordionItemHeader';\nimport { BaseBox } from '~components/Box/BaseBox';\nimport { MetaConstants, metaAttribute } from '~utils/metaAttribute';\nimport { Text } from '~components/Typography';\nimport { useCollapsible } from '~components/Collapsible/CollapsibleContext';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { throwBladeError } from '~utils/logger';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\nconst _AccordionButton = ({\n index,\n icon: Icon,\n title,\n isDeprecatedAPI,\n header,\n isDisabled,\n ...rest\n}: AccordionButtonProps): ReactElement => {\n const { onExpandChange, isExpanded, collapsibleBodyId } = useCollapsible();\n const { showNumberPrefix, expandedIndex, size } = useAccordion();\n\n const toggleCollapse = (): void => onExpandChange(!isExpanded);\n const onClick = (): void => toggleCollapse();\n\n const _index =\n typeof index === 'number' && showNumberPrefix ? (\n // we have to add -2px margin to align the number with title of BaseHeader\n <Text size={size} weight=\"semibold\" marginTop=\"-2px\" as=\"span\">\n {index + 1}.\n </Text>\n ) : null;\n\n const _icon = Icon && <Icon size={size} color=\"surface.icon.gray.normal\" marginY=\"spacing.2\" />;\n\n if (__DEV__) {\n if (_index && _icon) {\n throwBladeError({\n message: \"showNumberPrefix and icon shouldn't be used together\",\n moduleName: 'Accordion',\n });\n }\n }\n\n const isItemExpanded = expandedIndex === index;\n\n return (\n <BaseBox\n // a11y guidelines suggest having an apt heading surround a button but heading level is hardcoded here\n {...makeAccessible({ role: 'heading', level: 3 })}\n {...makeAnalyticsAttribute(rest)}\n width=\"100%\"\n >\n <StyledAccordionButton\n type=\"button\"\n isExpanded={isItemExpanded}\n disabled={isDisabled}\n onClick={onClick}\n {...makeAccessible({ expanded: isItemExpanded, controls: collapsibleBodyId })}\n {...metaAttribute({ name: MetaConstants.AccordionButton })}\n >\n {isDeprecatedAPI ? <AccordionItemHeader title={title} leading={_icon ?? _index} /> : header}\n </StyledAccordionButton>\n </BaseBox>\n );\n};\n\nconst AccordionButton = assignWithoutSideEffects(_AccordionButton, {\n componentId: MetaConstants.AccordionButton,\n});\n\nexport type { AccordionButtonProps };\nexport { AccordionButton };\n"],"names":["_AccordionButton","_ref","index","Icon","icon","title","isDeprecatedAPI","header","isDisabled","rest","_objectWithoutProperties","_excluded","_useCollapsible","useCollapsible","onExpandChange","isExpanded","collapsibleBodyId","_useAccordion","useAccordion","showNumberPrefix","expandedIndex","size","toggleCollapse","onClick","_index","_jsxs","Text","weight","marginTop","as","children","_icon","_jsx","color","marginY","throwBladeError","message","moduleName","isItemExpanded","BaseBox","_objectSpread","makeAccessible","role","level","makeAnalyticsAttribute","width","StyledAccordionButton","type","disabled","expanded","controls","metaAttribute","name","MetaConstants","AccordionButton","AccordionItemHeader","leading","assignWithoutSideEffects","componentId"],"mappings":"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"}
1
+ {"version":3,"file":"AccordionButton.web.js","sources":["../../../../../../src/components/Accordion/AccordionButton.web.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport { StyledAccordionButton } from './StyledAccordionButton';\nimport type { AccordionButtonProps } from './types';\nimport { useAccordion } from './AccordionContext';\nimport { AccordionItemHeader } from './AccordionItemHeader';\nimport { BaseBox } from '~components/Box/BaseBox';\nimport { MetaConstants, metaAttribute } from '~utils/metaAttribute';\nimport { Text } from '~components/Typography';\nimport { useCollapsible } from '~components/Collapsible/CollapsibleContext';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { throwBladeError } from '~utils/logger';\nimport { MAKE_ANALYTICS_CONSTANTS } from '~utils/makeAnalyticsAttribute';\n\nconst _AccordionButton = ({\n index,\n icon: Icon,\n title,\n isDeprecatedAPI,\n header,\n isDisabled,\n}: AccordionButtonProps): ReactElement => {\n const { onExpandChange, isExpanded, collapsibleBodyId } = useCollapsible();\n const { showNumberPrefix, expandedIndex, size } = useAccordion();\n\n const toggleCollapse = (): void => onExpandChange(!isExpanded);\n const onClick = (): void => toggleCollapse();\n\n const _index =\n typeof index === 'number' && showNumberPrefix ? (\n // we have to add -2px margin to align the number with title of BaseHeader\n <Text size={size} weight=\"semibold\" marginTop=\"-2px\" as=\"span\">\n {index + 1}.\n </Text>\n ) : null;\n\n const _icon = Icon && <Icon size={size} color=\"surface.icon.gray.normal\" marginY=\"spacing.2\" />;\n\n if (__DEV__) {\n if (_index && _icon) {\n throwBladeError({\n message: \"showNumberPrefix and icon shouldn't be used together\",\n moduleName: 'Accordion',\n });\n }\n }\n\n const isItemExpanded = expandedIndex === index;\n\n return (\n <BaseBox\n // a11y guidelines suggest having an apt heading surround a button but heading level is hardcoded here\n {...makeAccessible({ role: 'heading', level: 3 })}\n width=\"100%\"\n >\n <StyledAccordionButton\n type=\"button\"\n isExpanded={isItemExpanded}\n disabled={isDisabled}\n onClick={onClick}\n {...makeAccessible({ expanded: isItemExpanded, controls: collapsibleBodyId })}\n {...metaAttribute({ name: MetaConstants.AccordionButton })}\n data-analytics-name={MAKE_ANALYTICS_CONSTANTS.ACCORDION.ACCORDION_ITEM_BUTTON}\n >\n {isDeprecatedAPI ? <AccordionItemHeader title={title} leading={_icon ?? _index} /> : header}\n </StyledAccordionButton>\n </BaseBox>\n );\n};\n\nconst AccordionButton = assignWithoutSideEffects(_AccordionButton, {\n componentId: MetaConstants.AccordionButton,\n});\n\nexport type { AccordionButtonProps };\nexport { AccordionButton };\n"],"names":["_AccordionButton","_ref","index","Icon","icon","title","isDeprecatedAPI","header","isDisabled","_useCollapsible","useCollapsible","onExpandChange","isExpanded","collapsibleBodyId","_useAccordion","useAccordion","showNumberPrefix","expandedIndex","size","toggleCollapse","onClick","_index","_jsxs","Text","weight","marginTop","as","children","_icon","_jsx","color","marginY","throwBladeError","message","moduleName","isItemExpanded","BaseBox","_objectSpread","makeAccessible","role","level","width","StyledAccordionButton","type","disabled","expanded","controls","metaAttribute","name","MetaConstants","AccordionButton","MAKE_ANALYTICS_CONSTANTS","ACCORDION","ACCORDION_ITEM_BUTTON","AccordionItemHeader","leading","assignWithoutSideEffects","componentId"],"mappings":"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"}
@@ -76,18 +76,20 @@ var AccordionItem = function AccordionItem(_ref) {
76
76
  index: _index,
77
77
  isDisabled: isDisabled
78
78
  },
79
- children: /*#__PURE__*/jsxs(BaseBox, _objectSpread(_objectSpread(_objectSpread({}, metaAttribute({
79
+ children: /*#__PURE__*/jsxs(BaseBox, _objectSpread(_objectSpread({}, metaAttribute({
80
80
  name: MetaConstants.AccordionItem,
81
81
  testID: testID
82
- })), makeAnalyticsAttribute(rest)), {}, {
83
- children: [/*#__PURE__*/jsxs(Collapsible, {
82
+ })), {}, {
83
+ children: [/*#__PURE__*/jsxs(Collapsible, _objectSpread(_objectSpread({
84
84
  isExpanded: isExpanded,
85
85
  defaultIsExpanded: isDefaultExpanded,
86
86
  onExpandChange: handleExpandChange
87
87
  // Accordion has its own width restrictions
88
88
  ,
89
89
  _shouldApplyWidthRestrictions: false,
90
- _dangerouslyDisableValidations: true,
90
+ _dangerouslyDisableValidations: true
91
+ // adding analytics attributes to Collapsible section
92
+ }, makeAnalyticsAttribute(rest)), {}, {
91
93
  children: [/*#__PURE__*/jsx(AccordionButton, {
92
94
  index: _index,
93
95
  icon: icon,
@@ -105,7 +107,7 @@ var AccordionItem = function AccordionItem(_ref) {
105
107
  children: children
106
108
  }) : body
107
109
  })]
108
- }), isLastItem || variant === 'transparent' ? /*#__PURE__*/jsx(Divider, {}) : null]
110
+ })), isLastItem || variant === 'transparent' ? /*#__PURE__*/jsx(Divider, {}) : null]
109
111
  }))
110
112
  });
111
113
  };
@@ -1 +1 @@
1
- {"version":3,"file":"AccordionItem.js","sources":["../../../../../../src/components/Accordion/AccordionItem.tsx"],"sourcesContent":["import type { ReactElement, ReactNode } from 'react';\nimport React from 'react';\nimport { AccordionButton } from './AccordionButton';\nimport { AccordionItemContext, useAccordion } from './AccordionContext';\nimport { AccordionItemBody } from './AccordionItemBody';\nimport { componentIds } from './componentIds';\nimport { Divider } from '~components/Divider';\nimport { BaseBox } from '~components/Box/BaseBox';\nimport type { IconComponent } from '~components/Icons';\nimport { MetaConstants, metaAttribute } from '~utils/metaAttribute';\nimport { isReactNative } from '~utils';\nimport { Collapsible } from '~components/Collapsible/Collapsible';\nimport { CollapsibleBody } from '~components/Collapsible';\nimport type { TestID, DataAnalyticsAttribute } from '~utils/types';\nimport { getComponentId } from '~utils/isValidAllowedChildren';\nimport { throwBladeError } from '~utils/logger';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\ntype AccordionItemProps = {\n /**\n * Title text content\n *\n * @deprecated Use AccordionItemHeader and AccordionItemBody\n *\n * Checkout https://blade.razorpay.com/?path=/docs/components-accordion--docs for new API\n */\n title?: string;\n\n /**\n * Body text content\n *\n * @deprecated Use AccordionItemHeader and AccordionItemBody\n *\n * Checkout https://blade.razorpay.com/?path=/docs/components-accordion--docs for new API\n */\n description?: string;\n\n /**\n * Renders a Blade icon as title prefix (requires `showNumberPrefix={false}`)\n *\n * @deprecated Use `leading={<StarIcon size=\"large\" />}` on AccordionItemHeader instead\n *\n * Checkout https://blade.razorpay.com/?path=/docs/components-accordion--docs for new API\n */\n icon?: IconComponent;\n\n /**\n * Slot, renders any custom content\n */\n children?: ReactNode | ReactNode[];\n\n /**\n * Disabled state of the item\n *\n * @default false\n */\n isDisabled?: boolean;\n\n /**\n * **Internal:** used for determining numbering, you don't need to pass this,\n * instead pass `showNumberPrefix` to root `Accordion`\n */\n _index?: number;\n} & TestID &\n DataAnalyticsAttribute;\n\nconst AccordionItem = ({\n title,\n description,\n icon,\n children,\n isDisabled,\n _index,\n testID,\n ...rest\n}: AccordionItemProps): ReactElement => {\n const {\n expandedIndex,\n onExpandChange,\n defaultExpandedIndex,\n variant,\n numberOfItems,\n } = useAccordion();\n const isExpanded = expandedIndex === _index;\n const isDefaultExpanded = defaultExpandedIndex === _index;\n const isDeprecatedAPI = Boolean(title) || Boolean(description) || Boolean(icon);\n const [header, body] = React.Children.toArray(children);\n\n if (!isDeprecatedAPI) {\n // Only doing validation in new API. Deprecated API allows everything as AccordionItem children\n const headerComponentId = getComponentId(header);\n const bodyComponentId = getComponentId(body);\n\n if (\n headerComponentId !== componentIds.AccordionItemHeader &&\n bodyComponentId !== componentIds.AccordionItemBody\n ) {\n throwBladeError({\n message:\n 'AccordionItem only allows AccordionItemHeader as first component and AccordionItemBody as second. Check Accordion documentation',\n moduleName: 'AccordionItem',\n });\n }\n }\n\n const isLastItem = _index !== undefined && _index < numberOfItems - 1;\n\n const handleExpandChange = ({ isExpanded }: { isExpanded: boolean }): void => {\n if (isExpanded && typeof _index !== 'undefined') {\n onExpandChange(_index);\n } else {\n onExpandChange(-1);\n }\n };\n\n return (\n <AccordionItemContext.Provider\n value={{\n index: _index,\n isDisabled,\n }}\n >\n <BaseBox\n {...metaAttribute({ name: MetaConstants.AccordionItem, testID })}\n {...makeAnalyticsAttribute(rest)}\n >\n <Collapsible\n isExpanded={isExpanded}\n defaultIsExpanded={isDefaultExpanded}\n onExpandChange={handleExpandChange}\n // Accordion has its own width restrictions\n _shouldApplyWidthRestrictions={false}\n _dangerouslyDisableValidations={true}\n >\n <AccordionButton\n index={_index}\n icon={icon}\n title={title}\n header={header}\n isDisabled={isDisabled}\n isDeprecatedAPI={isDeprecatedAPI}\n />\n <CollapsibleBody\n // Just React Native things, need this 100% so collapsed content flows correctly inside Accordion\n // In new API, AccordionItemBody takes 100% width to avoid issues like this - https://github.com/razorpay/blade/pull/1814\n width={isReactNative() || !isDeprecatedAPI ? '100%' : undefined}\n >\n {isDeprecatedAPI ? (\n <AccordionItemBody _description={description}>{children}</AccordionItemBody>\n ) : (\n body\n )}\n </CollapsibleBody>\n </Collapsible>\n {isLastItem || variant === 'transparent' ? <Divider /> : null}\n </BaseBox>\n </AccordionItemContext.Provider>\n );\n};\n\nexport type { AccordionItemProps };\nexport { AccordionItem };\n"],"names":["AccordionItem","_ref","title","description","icon","children","isDisabled","_index","testID","rest","_objectWithoutProperties","_excluded","_useAccordion","useAccordion","expandedIndex","onExpandChange","defaultExpandedIndex","variant","numberOfItems","isExpanded","isDefaultExpanded","isDeprecatedAPI","Boolean","_React$Children$toArr","React","Children","toArray","_React$Children$toArr2","_slicedToArray","header","body","headerComponentId","getComponentId","bodyComponentId","componentIds","AccordionItemHeader","AccordionItemBody","throwBladeError","message","moduleName","isLastItem","undefined","handleExpandChange","_ref2","_jsx","AccordionItemContext","Provider","value","index","_jsxs","BaseBox","_objectSpread","metaAttribute","name","MetaConstants","makeAnalyticsAttribute","Collapsible","defaultIsExpanded","_shouldApplyWidthRestrictions","_dangerouslyDisableValidations","AccordionButton","CollapsibleBody","width","isReactNative","_description","Divider"],"mappings":"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"}
1
+ {"version":3,"file":"AccordionItem.js","sources":["../../../../../../src/components/Accordion/AccordionItem.tsx"],"sourcesContent":["import type { ReactElement, ReactNode } from 'react';\nimport React from 'react';\nimport { AccordionButton } from './AccordionButton';\nimport { AccordionItemContext, useAccordion } from './AccordionContext';\nimport { AccordionItemBody } from './AccordionItemBody';\nimport { componentIds } from './componentIds';\nimport { Divider } from '~components/Divider';\nimport { BaseBox } from '~components/Box/BaseBox';\nimport type { IconComponent } from '~components/Icons';\nimport { MetaConstants, metaAttribute } from '~utils/metaAttribute';\nimport { isReactNative } from '~utils';\nimport { Collapsible } from '~components/Collapsible/Collapsible';\nimport { CollapsibleBody } from '~components/Collapsible';\nimport type { TestID, DataAnalyticsAttribute } from '~utils/types';\nimport { getComponentId } from '~utils/isValidAllowedChildren';\nimport { throwBladeError } from '~utils/logger';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\ntype AccordionItemProps = {\n /**\n * Title text content\n *\n * @deprecated Use AccordionItemHeader and AccordionItemBody\n *\n * Checkout https://blade.razorpay.com/?path=/docs/components-accordion--docs for new API\n */\n title?: string;\n\n /**\n * Body text content\n *\n * @deprecated Use AccordionItemHeader and AccordionItemBody\n *\n * Checkout https://blade.razorpay.com/?path=/docs/components-accordion--docs for new API\n */\n description?: string;\n\n /**\n * Renders a Blade icon as title prefix (requires `showNumberPrefix={false}`)\n *\n * @deprecated Use `leading={<StarIcon size=\"large\" />}` on AccordionItemHeader instead\n *\n * Checkout https://blade.razorpay.com/?path=/docs/components-accordion--docs for new API\n */\n icon?: IconComponent;\n\n /**\n * Slot, renders any custom content\n */\n children?: ReactNode | ReactNode[];\n\n /**\n * Disabled state of the item\n *\n * @default false\n */\n isDisabled?: boolean;\n\n /**\n * **Internal:** used for determining numbering, you don't need to pass this,\n * instead pass `showNumberPrefix` to root `Accordion`\n */\n _index?: number;\n} & TestID &\n DataAnalyticsAttribute;\n\nconst AccordionItem = ({\n title,\n description,\n icon,\n children,\n isDisabled,\n _index,\n testID,\n ...rest\n}: AccordionItemProps): ReactElement => {\n const {\n expandedIndex,\n onExpandChange,\n defaultExpandedIndex,\n variant,\n numberOfItems,\n } = useAccordion();\n const isExpanded = expandedIndex === _index;\n const isDefaultExpanded = defaultExpandedIndex === _index;\n const isDeprecatedAPI = Boolean(title) || Boolean(description) || Boolean(icon);\n const [header, body] = React.Children.toArray(children);\n\n if (!isDeprecatedAPI) {\n // Only doing validation in new API. Deprecated API allows everything as AccordionItem children\n const headerComponentId = getComponentId(header);\n const bodyComponentId = getComponentId(body);\n\n if (\n headerComponentId !== componentIds.AccordionItemHeader &&\n bodyComponentId !== componentIds.AccordionItemBody\n ) {\n throwBladeError({\n message:\n 'AccordionItem only allows AccordionItemHeader as first component and AccordionItemBody as second. Check Accordion documentation',\n moduleName: 'AccordionItem',\n });\n }\n }\n\n const isLastItem = _index !== undefined && _index < numberOfItems - 1;\n\n const handleExpandChange = ({ isExpanded }: { isExpanded: boolean }): void => {\n if (isExpanded && typeof _index !== 'undefined') {\n onExpandChange(_index);\n } else {\n onExpandChange(-1);\n }\n };\n\n return (\n <AccordionItemContext.Provider\n value={{\n index: _index,\n isDisabled,\n }}\n >\n <BaseBox {...metaAttribute({ name: MetaConstants.AccordionItem, testID })}>\n <Collapsible\n isExpanded={isExpanded}\n defaultIsExpanded={isDefaultExpanded}\n onExpandChange={handleExpandChange}\n // Accordion has its own width restrictions\n _shouldApplyWidthRestrictions={false}\n _dangerouslyDisableValidations={true}\n // adding analytics attributes to Collapsible section\n {...makeAnalyticsAttribute(rest)}\n >\n <AccordionButton\n index={_index}\n icon={icon}\n title={title}\n header={header}\n isDisabled={isDisabled}\n isDeprecatedAPI={isDeprecatedAPI}\n />\n <CollapsibleBody\n // Just React Native things, need this 100% so collapsed content flows correctly inside Accordion\n // In new API, AccordionItemBody takes 100% width to avoid issues like this - https://github.com/razorpay/blade/pull/1814\n width={isReactNative() || !isDeprecatedAPI ? '100%' : undefined}\n >\n {isDeprecatedAPI ? (\n <AccordionItemBody _description={description}>{children}</AccordionItemBody>\n ) : (\n body\n )}\n </CollapsibleBody>\n </Collapsible>\n {isLastItem || variant === 'transparent' ? <Divider /> : null}\n </BaseBox>\n </AccordionItemContext.Provider>\n );\n};\n\nexport type { AccordionItemProps };\nexport { AccordionItem };\n"],"names":["AccordionItem","_ref","title","description","icon","children","isDisabled","_index","testID","rest","_objectWithoutProperties","_excluded","_useAccordion","useAccordion","expandedIndex","onExpandChange","defaultExpandedIndex","variant","numberOfItems","isExpanded","isDefaultExpanded","isDeprecatedAPI","Boolean","_React$Children$toArr","React","Children","toArray","_React$Children$toArr2","_slicedToArray","header","body","headerComponentId","getComponentId","bodyComponentId","componentIds","AccordionItemHeader","AccordionItemBody","throwBladeError","message","moduleName","isLastItem","undefined","handleExpandChange","_ref2","_jsx","AccordionItemContext","Provider","value","index","_jsxs","BaseBox","_objectSpread","metaAttribute","name","MetaConstants","Collapsible","defaultIsExpanded","_shouldApplyWidthRestrictions","_dangerouslyDisableValidations","makeAnalyticsAttribute","AccordionButton","CollapsibleBody","width","isReactNative","_description","Divider"],"mappings":"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"}
@@ -27,6 +27,7 @@ import { useBreakpoint } from '../../utils/useBreakpoint/useBreakpoint.js';
27
27
  import { Text } from '../Typography/Text/Text.js';
28
28
  import { castNativeType, castWebType } from '../../utils/platform/castUtils.js';
29
29
  import BaseButton from '../Button/BaseButton/BaseButton.js';
30
+ import { MAKE_ANALYTICS_CONSTANTS } from '../../utils/makeAnalyticsAttribute/makeAnalyticsConstants.js';
30
31
  import BaseLink from '../Link/BaseLink/BaseLink.js';
31
32
  import { IconButton } from '../Button/IconButton/IconButton.js';
32
33
  import CloseIcon from '../Icons/CloseIcon/CloseIcon.js';
@@ -138,6 +139,7 @@ var _Alert = function _Alert(_ref, ref) {
138
139
  onClick: actions.primary.onClick,
139
140
  color: emphasis === 'intense' ? 'white' : color,
140
141
  variant: "secondary",
142
+ "data-analytics-name": MAKE_ANALYTICS_CONSTANTS.ALERT.PRIMARY_ACTION_BUTTON,
141
143
  children: actions.primary.text
142
144
  })
143
145
  }) : null;
@@ -1 +1 @@
1
- {"version":3,"file":"Alert.js","sources":["../../../../../../src/components/Alert/Alert.tsx"],"sourcesContent":["import type { ReactChild, ReactElement } from 'react';\nimport React, { Fragment, useState, forwardRef } from 'react';\n\nimport { StyledAlert } from './StyledAlert';\nimport type { IconComponent } from '~components/Icons';\nimport {\n AlertOctagonIcon,\n AlertTriangleIcon,\n CheckCircleIcon,\n CloseIcon,\n InfoIcon,\n} from '~components/Icons';\nimport { castNativeType, castWebType, useBreakpoint, getPlatformType } from '~utils';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport type { StyledPropsBlade } from '~components/Box/styledProps';\nimport { IconButton } from '~components/Button/IconButton';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Text } from '~components/Typography';\nimport BaseButton from '~components/Button/BaseButton';\nimport { BaseLink } from '~components/Link/BaseLink';\nimport type { FeedbackColors, SubtleOrIntense } from '~tokens/theme/theme';\nimport { useTheme } from '~components/BladeProvider';\nimport type {\n DataAnalyticsAttribute,\n BladeElementRef,\n DotNotationSpacingStringToken,\n TestID,\n} from '~utils/types';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\ntype PrimaryAction = {\n text: string;\n onClick: () => void;\n};\n\ntype SecondaryActionButton = {\n text: string;\n onClick: () => void;\n};\n\ntype SecondaryActionLinkButton = {\n text: string;\n href: string;\n onClick?: () => void;\n target?: string;\n /**\n * When `target` is set to `_blank` this is automatically set to `noopener noreferrer`\n */\n rel?: string;\n};\n\ntype SecondaryAction = SecondaryActionButton | SecondaryActionLinkButton;\n\ntype AlertProps = {\n /**\n * Body content, pass text or JSX. Avoid passing components except `Link` to customize the content.\n */\n description: ReactChild;\n\n /**\n * A brief heading\n */\n title?: string;\n\n /**\n * Shows a dismiss button\n *\n * @default true\n */\n isDismissible?: boolean;\n\n /**\n * A callback when the dismiss button is clicked\n */\n onDismiss?: () => void;\n\n /**\n * Can be used to render custom icon\n */\n icon?: IconComponent;\n\n /**\n * Can be set to `high` for a more prominent look. Not to be confused with a11y emphasis.\n *\n * @default subtle\n */\n emphasis?: SubtleOrIntense;\n\n /**\n * Makes the Alert span the entire container width, instead of the default max width of `584px`.\n * This also makes the alert borderless, useful for creating full bleed layouts.\n *\n * @default false\n */\n isFullWidth?: boolean;\n\n /**\n * Sets the color tone\n */\n color?: FeedbackColors;\n\n /**\n * Renders a primary action button and a secondary action link button\n */\n actions?: {\n /**\n * Renders a button (should **always** be present if `secondary` action is being used)\n */\n primary?: PrimaryAction;\n /**\n * Renders a Link button\n */\n secondary?: SecondaryAction;\n };\n} & TestID &\n StyledPropsBlade &\n DataAnalyticsAttribute;\n\nconst isReactNative = getPlatformType() === 'react-native';\n\n// Need extra wrappers on React Native only for alignment\nconst CloseButtonWrapper = isReactNative ? BaseBox : Fragment;\n\nconst intentIconMap = {\n positive: CheckCircleIcon,\n negative: AlertOctagonIcon,\n information: InfoIcon,\n neutral: InfoIcon,\n notice: AlertTriangleIcon,\n};\n\nconst _Alert = (\n {\n description,\n title,\n isDismissible = true,\n onDismiss,\n emphasis = 'subtle',\n isFullWidth = false,\n color = 'neutral',\n actions,\n testID,\n icon,\n ...rest\n }: AlertProps,\n ref: React.Ref<BladeElementRef>,\n): ReactElement | null => {\n const { theme } = useTheme();\n const { matchedDeviceType } = useBreakpoint({ breakpoints: theme.breakpoints });\n const [isVisible, setIsVisible] = useState(true);\n\n const isDesktop = matchedDeviceType === 'desktop';\n const isMobile = !isDesktop;\n\n const Icon = icon ?? intentIconMap[color];\n let iconOffset: DotNotationSpacingStringToken = 'spacing.1';\n\n // certain special cases below needs special care for near perfect alignment\n if (isReactNative) {\n if (isFullWidth && !title) {\n iconOffset = 'spacing.1';\n } else if (!isFullWidth && !title) {\n iconOffset = 'spacing.0';\n } else if (!isFullWidth && title) {\n iconOffset = 'spacing.2';\n }\n } else if (isMobile) {\n if (!isFullWidth && title) {\n iconOffset = 'spacing.2';\n } else if (isFullWidth && !title) {\n iconOffset = 'spacing.2';\n }\n } else if (isFullWidth) {\n iconOffset = 'spacing.1';\n }\n\n const shouldCenterAlign = isFullWidth && !title;\n let alignment: 'center' | 'flex-start' = 'flex-start';\n if (!isFullWidth) alignment = 'flex-start';\n if (shouldCenterAlign) alignment = 'center';\n\n const leadingIcon = (\n <BaseBox display=\"flex\" alignSelf={alignment} marginTop={iconOffset}>\n <Icon\n color={\n emphasis === 'intense'\n ? 'surface.icon.staticWhite.normal'\n : `feedback.icon.${color}.${emphasis === 'subtle' ? 'intense' : 'subtle'}`\n }\n size=\"medium\"\n />\n </BaseBox>\n );\n\n const textColor =\n emphasis === 'intense' ? 'surface.text.staticWhite.normal' : 'surface.text.gray.subtle';\n const _title = title ? (\n <BaseBox marginBottom=\"spacing.2\">\n <Text color={textColor} size=\"medium\" weight=\"semibold\">\n {title}\n </Text>\n </BaseBox>\n ) : null;\n\n const _description = (\n <BaseBox marginTop={title || isReactNative ? 'spacing.0' : 'spacing.1'}>\n <Text color={textColor} size=\"small\">\n {description}\n </Text>\n </BaseBox>\n );\n\n const primaryAction = actions?.primary ? (\n <BaseBox\n marginRight=\"spacing.5\"\n display={isReactNative ? castNativeType('flex') : castWebType('inline-flex')}\n >\n <BaseButton\n size=\"small\"\n onClick={actions.primary.onClick}\n color={emphasis === 'intense' ? 'white' : color}\n variant=\"secondary\"\n >\n {actions.primary.text}\n </BaseButton>\n </BaseBox>\n ) : null;\n\n const secondaryActionParams: Partial<SecondaryActionLinkButton> | null = actions?.secondary\n ? {\n onClick: actions.secondary.onClick,\n }\n : null;\n\n /**\n * TS assumes only common properties to be present for `SecondaryAction` union type\n * We add a type guard that checks if href is present on secondary action:\n * - If yes, then TS can assume it to be `SecondaryActionLinkButton` (href being a required property)\n * - If no, then it would be `SecondaryActionButton` (and link properties wouldn't be needed)\n */\n if (actions?.secondary && secondaryActionParams && 'href' in actions.secondary) {\n secondaryActionParams.href = actions.secondary.href;\n secondaryActionParams.target = actions.secondary.target;\n secondaryActionParams.rel = actions.secondary.rel;\n }\n\n const secondaryAction = actions?.secondary ? (\n <BaseBox marginRight=\"spacing.4\" display={(isReactNative ? 'flex' : 'inline-flex') as never}>\n <BaseLink\n size=\"small\"\n color={emphasis === 'intense' ? 'white' : color}\n {...secondaryActionParams}\n >\n {actions.secondary.text}\n </BaseLink>\n </BaseBox>\n ) : null;\n\n // For certain cases we wish to render actions inline with text content\n const showActionsHorizontal = isFullWidth && isDesktop;\n\n const actionsHorizontal =\n showActionsHorizontal && (primaryAction || secondaryAction) ? (\n <BaseBox flexDirection=\"row\" alignItems=\"center\">\n {primaryAction}\n {secondaryAction}\n </BaseBox>\n ) : null;\n\n const actionsVertical =\n !showActionsHorizontal && (primaryAction || secondaryAction) ? (\n <BaseBox marginTop=\"spacing.4\" flexDirection=\"row\" alignItems=\"center\">\n {primaryAction}\n {secondaryAction}\n </BaseBox>\n ) : null;\n\n const onClickDismiss = (): void => {\n if (onDismiss) {\n onDismiss();\n }\n setIsVisible(false);\n };\n const closeButton = isDismissible ? (\n <CloseButtonWrapper>\n <IconButton\n accessibilityLabel=\"Dismiss alert\"\n onClick={onClickDismiss}\n emphasis={emphasis === 'intense' ? 'subtle' : 'intense'}\n size=\"large\"\n icon={CloseIcon}\n />\n </CloseButtonWrapper>\n ) : null;\n\n const a11yProps = makeAccessible({\n // React Native doesn't has status as role\n role: isReactNative || color === 'negative' || color === 'notice' ? 'alert' : 'status',\n // override the implicit live region of role `alert`\n ...(color === 'notice' && { liveRegion: 'polite' }),\n });\n\n if (!isVisible) {\n return null;\n }\n\n return (\n <BaseBox\n ref={ref as never}\n {...a11yProps}\n {...metaAttribute({ name: MetaConstants.Alert, testID })}\n {...getStyledProps(rest)}\n {...makeAnalyticsAttribute(rest)}\n >\n <StyledAlert\n color={color}\n emphasis={emphasis}\n isFullWidth={isFullWidth}\n isDesktop={isDesktop}\n textAlign={'left' as never}\n >\n {leadingIcon}\n <BaseBox\n flex={1}\n paddingLeft={isFullWidth ? 'spacing.4' : 'spacing.3'}\n paddingRight={showActionsHorizontal ? 'spacing.4' : 'spacing.2'}\n >\n {_title}\n {_description}\n {actionsVertical}\n </BaseBox>\n {actionsHorizontal}\n {closeButton}\n </StyledAlert>\n </BaseBox>\n );\n};\n\nconst Alert = forwardRef(_Alert);\n\nexport type { AlertProps };\nexport { Alert };\n"],"names":["isReactNative","getPlatformType","CloseButtonWrapper","BaseBox","Fragment","intentIconMap","positive","CheckCircleIcon","negative","AlertOctagonIcon","information","InfoIcon","neutral","notice","AlertTriangleIcon","_Alert","_ref","ref","description","title","_ref$isDismissible","isDismissible","onDismiss","_ref$emphasis","emphasis","_ref$isFullWidth","isFullWidth","_ref$color","color","actions","testID","icon","rest","_objectWithoutProperties","_excluded","_useTheme","useTheme","theme","_useBreakpoint","useBreakpoint","breakpoints","matchedDeviceType","_useState","useState","_useState2","_slicedToArray","isVisible","setIsVisible","isDesktop","isMobile","Icon","iconOffset","shouldCenterAlign","alignment","leadingIcon","_jsx","display","alignSelf","marginTop","children","concat","size","textColor","_title","marginBottom","Text","weight","_description","primaryAction","primary","marginRight","castNativeType","castWebType","BaseButton","onClick","variant","text","secondaryActionParams","secondary","href","target","rel","secondaryAction","BaseLink","_objectSpread","showActionsHorizontal","actionsHorizontal","_jsxs","flexDirection","alignItems","actionsVertical","onClickDismiss","closeButton","IconButton","accessibilityLabel","CloseIcon","a11yProps","makeAccessible","role","liveRegion","metaAttribute","name","MetaConstants","Alert","getStyledProps","makeAnalyticsAttribute","StyledAlert","textAlign","flex","paddingLeft","paddingRight","forwardRef"],"mappings":"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"}
1
+ {"version":3,"file":"Alert.js","sources":["../../../../../../src/components/Alert/Alert.tsx"],"sourcesContent":["import type { ReactChild, ReactElement } from 'react';\nimport React, { Fragment, useState, forwardRef } from 'react';\n\nimport { StyledAlert } from './StyledAlert';\nimport type { IconComponent } from '~components/Icons';\nimport {\n AlertOctagonIcon,\n AlertTriangleIcon,\n CheckCircleIcon,\n CloseIcon,\n InfoIcon,\n} from '~components/Icons';\nimport { castNativeType, castWebType, useBreakpoint, getPlatformType } from '~utils';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport type { StyledPropsBlade } from '~components/Box/styledProps';\nimport { IconButton } from '~components/Button/IconButton';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Text } from '~components/Typography';\nimport BaseButton from '~components/Button/BaseButton';\nimport { BaseLink } from '~components/Link/BaseLink';\nimport type { FeedbackColors, SubtleOrIntense } from '~tokens/theme/theme';\nimport { useTheme } from '~components/BladeProvider';\nimport type {\n DataAnalyticsAttribute,\n BladeElementRef,\n DotNotationSpacingStringToken,\n TestID,\n} from '~utils/types';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { MAKE_ANALYTICS_CONSTANTS, makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\ntype PrimaryAction = {\n text: string;\n onClick: () => void;\n};\n\ntype SecondaryActionButton = {\n text: string;\n onClick: () => void;\n};\n\ntype SecondaryActionLinkButton = {\n text: string;\n href: string;\n onClick?: () => void;\n target?: string;\n /**\n * When `target` is set to `_blank` this is automatically set to `noopener noreferrer`\n */\n rel?: string;\n};\n\ntype SecondaryAction = SecondaryActionButton | SecondaryActionLinkButton;\n\ntype AlertProps = {\n /**\n * Body content, pass text or JSX. Avoid passing components except `Link` to customize the content.\n */\n description: ReactChild;\n\n /**\n * A brief heading\n */\n title?: string;\n\n /**\n * Shows a dismiss button\n *\n * @default true\n */\n isDismissible?: boolean;\n\n /**\n * A callback when the dismiss button is clicked\n */\n onDismiss?: () => void;\n\n /**\n * Can be used to render custom icon\n */\n icon?: IconComponent;\n\n /**\n * Can be set to `high` for a more prominent look. Not to be confused with a11y emphasis.\n *\n * @default subtle\n */\n emphasis?: SubtleOrIntense;\n\n /**\n * Makes the Alert span the entire container width, instead of the default max width of `584px`.\n * This also makes the alert borderless, useful for creating full bleed layouts.\n *\n * @default false\n */\n isFullWidth?: boolean;\n\n /**\n * Sets the color tone\n */\n color?: FeedbackColors;\n\n /**\n * Renders a primary action button and a secondary action link button\n */\n actions?: {\n /**\n * Renders a button (should **always** be present if `secondary` action is being used)\n */\n primary?: PrimaryAction;\n /**\n * Renders a Link button\n */\n secondary?: SecondaryAction;\n };\n} & TestID &\n StyledPropsBlade &\n DataAnalyticsAttribute;\n\nconst isReactNative = getPlatformType() === 'react-native';\n\n// Need extra wrappers on React Native only for alignment\nconst CloseButtonWrapper = isReactNative ? BaseBox : Fragment;\n\nconst intentIconMap = {\n positive: CheckCircleIcon,\n negative: AlertOctagonIcon,\n information: InfoIcon,\n neutral: InfoIcon,\n notice: AlertTriangleIcon,\n};\n\nconst _Alert = (\n {\n description,\n title,\n isDismissible = true,\n onDismiss,\n emphasis = 'subtle',\n isFullWidth = false,\n color = 'neutral',\n actions,\n testID,\n icon,\n ...rest\n }: AlertProps,\n ref: React.Ref<BladeElementRef>,\n): ReactElement | null => {\n const { theme } = useTheme();\n const { matchedDeviceType } = useBreakpoint({ breakpoints: theme.breakpoints });\n const [isVisible, setIsVisible] = useState(true);\n\n const isDesktop = matchedDeviceType === 'desktop';\n const isMobile = !isDesktop;\n\n const Icon = icon ?? intentIconMap[color];\n let iconOffset: DotNotationSpacingStringToken = 'spacing.1';\n\n // certain special cases below needs special care for near perfect alignment\n if (isReactNative) {\n if (isFullWidth && !title) {\n iconOffset = 'spacing.1';\n } else if (!isFullWidth && !title) {\n iconOffset = 'spacing.0';\n } else if (!isFullWidth && title) {\n iconOffset = 'spacing.2';\n }\n } else if (isMobile) {\n if (!isFullWidth && title) {\n iconOffset = 'spacing.2';\n } else if (isFullWidth && !title) {\n iconOffset = 'spacing.2';\n }\n } else if (isFullWidth) {\n iconOffset = 'spacing.1';\n }\n\n const shouldCenterAlign = isFullWidth && !title;\n let alignment: 'center' | 'flex-start' = 'flex-start';\n if (!isFullWidth) alignment = 'flex-start';\n if (shouldCenterAlign) alignment = 'center';\n\n const leadingIcon = (\n <BaseBox display=\"flex\" alignSelf={alignment} marginTop={iconOffset}>\n <Icon\n color={\n emphasis === 'intense'\n ? 'surface.icon.staticWhite.normal'\n : `feedback.icon.${color}.${emphasis === 'subtle' ? 'intense' : 'subtle'}`\n }\n size=\"medium\"\n />\n </BaseBox>\n );\n\n const textColor =\n emphasis === 'intense' ? 'surface.text.staticWhite.normal' : 'surface.text.gray.subtle';\n const _title = title ? (\n <BaseBox marginBottom=\"spacing.2\">\n <Text color={textColor} size=\"medium\" weight=\"semibold\">\n {title}\n </Text>\n </BaseBox>\n ) : null;\n\n const _description = (\n <BaseBox marginTop={title || isReactNative ? 'spacing.0' : 'spacing.1'}>\n <Text color={textColor} size=\"small\">\n {description}\n </Text>\n </BaseBox>\n );\n\n const primaryAction = actions?.primary ? (\n <BaseBox\n marginRight=\"spacing.5\"\n display={isReactNative ? castNativeType('flex') : castWebType('inline-flex')}\n >\n <BaseButton\n size=\"small\"\n onClick={actions.primary.onClick}\n color={emphasis === 'intense' ? 'white' : color}\n variant=\"secondary\"\n data-analytics-name={MAKE_ANALYTICS_CONSTANTS.ALERT.PRIMARY_ACTION_BUTTON}\n >\n {actions.primary.text}\n </BaseButton>\n </BaseBox>\n ) : null;\n\n const secondaryActionParams: Partial<SecondaryActionLinkButton> | null = actions?.secondary\n ? {\n onClick: actions.secondary.onClick,\n }\n : null;\n\n /**\n * TS assumes only common properties to be present for `SecondaryAction` union type\n * We add a type guard that checks if href is present on secondary action:\n * - If yes, then TS can assume it to be `SecondaryActionLinkButton` (href being a required property)\n * - If no, then it would be `SecondaryActionButton` (and link properties wouldn't be needed)\n */\n if (actions?.secondary && secondaryActionParams && 'href' in actions.secondary) {\n secondaryActionParams.href = actions.secondary.href;\n secondaryActionParams.target = actions.secondary.target;\n secondaryActionParams.rel = actions.secondary.rel;\n }\n\n const secondaryAction = actions?.secondary ? (\n <BaseBox marginRight=\"spacing.4\" display={(isReactNative ? 'flex' : 'inline-flex') as never}>\n <BaseLink\n size=\"small\"\n color={emphasis === 'intense' ? 'white' : color}\n {...secondaryActionParams}\n >\n {actions.secondary.text}\n </BaseLink>\n </BaseBox>\n ) : null;\n\n // For certain cases we wish to render actions inline with text content\n const showActionsHorizontal = isFullWidth && isDesktop;\n\n const actionsHorizontal =\n showActionsHorizontal && (primaryAction || secondaryAction) ? (\n <BaseBox flexDirection=\"row\" alignItems=\"center\">\n {primaryAction}\n {secondaryAction}\n </BaseBox>\n ) : null;\n\n const actionsVertical =\n !showActionsHorizontal && (primaryAction || secondaryAction) ? (\n <BaseBox marginTop=\"spacing.4\" flexDirection=\"row\" alignItems=\"center\">\n {primaryAction}\n {secondaryAction}\n </BaseBox>\n ) : null;\n\n const onClickDismiss = (): void => {\n if (onDismiss) {\n onDismiss();\n }\n setIsVisible(false);\n };\n const closeButton = isDismissible ? (\n <CloseButtonWrapper>\n <IconButton\n accessibilityLabel=\"Dismiss alert\"\n onClick={onClickDismiss}\n emphasis={emphasis === 'intense' ? 'subtle' : 'intense'}\n size=\"large\"\n icon={CloseIcon}\n />\n </CloseButtonWrapper>\n ) : null;\n\n const a11yProps = makeAccessible({\n // React Native doesn't has status as role\n role: isReactNative || color === 'negative' || color === 'notice' ? 'alert' : 'status',\n // override the implicit live region of role `alert`\n ...(color === 'notice' && { liveRegion: 'polite' }),\n });\n\n if (!isVisible) {\n return null;\n }\n\n return (\n <BaseBox\n ref={ref as never}\n {...a11yProps}\n {...metaAttribute({ name: MetaConstants.Alert, testID })}\n {...getStyledProps(rest)}\n {...makeAnalyticsAttribute(rest)}\n >\n <StyledAlert\n color={color}\n emphasis={emphasis}\n isFullWidth={isFullWidth}\n isDesktop={isDesktop}\n textAlign={'left' as never}\n >\n {leadingIcon}\n <BaseBox\n flex={1}\n paddingLeft={isFullWidth ? 'spacing.4' : 'spacing.3'}\n paddingRight={showActionsHorizontal ? 'spacing.4' : 'spacing.2'}\n >\n {_title}\n {_description}\n {actionsVertical}\n </BaseBox>\n {actionsHorizontal}\n {closeButton}\n </StyledAlert>\n </BaseBox>\n );\n};\n\nconst Alert = forwardRef(_Alert);\n\nexport type { AlertProps };\nexport { Alert };\n"],"names":["isReactNative","getPlatformType","CloseButtonWrapper","BaseBox","Fragment","intentIconMap","positive","CheckCircleIcon","negative","AlertOctagonIcon","information","InfoIcon","neutral","notice","AlertTriangleIcon","_Alert","_ref","ref","description","title","_ref$isDismissible","isDismissible","onDismiss","_ref$emphasis","emphasis","_ref$isFullWidth","isFullWidth","_ref$color","color","actions","testID","icon","rest","_objectWithoutProperties","_excluded","_useTheme","useTheme","theme","_useBreakpoint","useBreakpoint","breakpoints","matchedDeviceType","_useState","useState","_useState2","_slicedToArray","isVisible","setIsVisible","isDesktop","isMobile","Icon","iconOffset","shouldCenterAlign","alignment","leadingIcon","_jsx","display","alignSelf","marginTop","children","concat","size","textColor","_title","marginBottom","Text","weight","_description","primaryAction","primary","marginRight","castNativeType","castWebType","BaseButton","onClick","variant","MAKE_ANALYTICS_CONSTANTS","ALERT","PRIMARY_ACTION_BUTTON","text","secondaryActionParams","secondary","href","target","rel","secondaryAction","BaseLink","_objectSpread","showActionsHorizontal","actionsHorizontal","_jsxs","flexDirection","alignItems","actionsVertical","onClickDismiss","closeButton","IconButton","accessibilityLabel","CloseIcon","a11yProps","makeAccessible","role","liveRegion","metaAttribute","name","MetaConstants","Alert","getStyledProps","makeAnalyticsAttribute","StyledAlert","textAlign","flex","paddingLeft","paddingRight","forwardRef"],"mappings":"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"}
@@ -6,8 +6,10 @@ import '../Box/BaseBox/index.js';
6
6
  import '../../utils/makeAccessible/index.js';
7
7
  import '../Typography/index.js';
8
8
  import { getTextColorToken } from '../Button/BaseButton/BaseButton.js';
9
+ import '../../utils/makeAnalyticsAttribute/index.js';
9
10
  import { jsx, jsxs } from 'react/jsx-runtime';
10
11
  import { makeAccessible } from '../../utils/makeAccessible/makeAccessible.web.js';
12
+ import { MAKE_ANALYTICS_CONSTANTS } from '../../utils/makeAnalyticsAttribute/makeAnalyticsConstants.js';
11
13
  import { BaseBox } from '../Box/BaseBox/BaseBox.web.js';
12
14
  import { Heading } from '../Typography/Heading/Heading.js';
13
15
  import { Text } from '../Typography/Text/Text.js';
@@ -78,6 +80,7 @@ var _AvatarButton = function _AvatarButton(_ref, ref) {
78
80
  onPointerEnter: onPointerEnter,
79
81
  onTouchStart: onTouchStart,
80
82
  onTouchEnd: onTouchEnd,
83
+ "data-analytics-name": as === 'button' ? MAKE_ANALYTICS_CONSTANTS.AVATAR.AVATAR_BUTTON : undefined,
81
84
  children: /*#__PURE__*/jsxs(BaseBox, {
82
85
  display: "flex",
83
86
  flexDirection: "row",
@@ -1 +1 @@
1
- {"version":3,"file":"AvatarButton.js","sources":["../../../../../../src/components/Avatar/AvatarButton.tsx"],"sourcesContent":["import React from 'react';\nimport { StyledAvatarButton } from './StyledAvatarButton';\nimport type { AvatarButtonProps } from './types';\nimport { avatarTextSizeMapping, avatarIconSizeTokens } from './avatarTokens';\nimport BaseBox from '~components/Box/BaseBox';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { Heading, Text } from '~components/Typography';\nimport { getTextColorToken } from '~components/Button/BaseButton/BaseButton';\nimport type { IconColor } from '~components/Button/BaseButton/types';\nimport type { BaseTextProps } from '~components/Typography/BaseText/types';\nimport type { BladeElementRef } from '~utils/types';\n\nconst _AvatarButton: React.ForwardRefRenderFunction<BladeElementRef, AvatarButtonProps> = (\n {\n href,\n target,\n rel,\n variant = 'circle',\n color = 'neutral',\n size = 'medium',\n icon: Icon,\n imgProps,\n children,\n onBlur,\n onFocus,\n onClick,\n onMouseLeave,\n onMouseMove,\n onMouseDown,\n onPointerDown,\n onPointerEnter,\n onTouchStart,\n onTouchEnd,\n isSelected,\n },\n ref,\n): React.ReactElement => {\n const isLink = Boolean(href);\n const isInteractive = Boolean(onClick || isLink);\n const as = isInteractive ? (href ? 'a' : 'button') : 'div';\n\n const defaultRel = target === '_blank' ? 'noreferrer noopener' : undefined;\n const iconColor = getTextColorToken({\n property: 'icon',\n variant: 'secondary',\n color,\n state: 'default',\n }) as IconColor;\n const textColor = getTextColorToken({\n property: 'text',\n variant: 'secondary',\n color,\n state: 'default',\n }) as BaseTextProps['color'];\n\n return (\n <StyledAvatarButton\n ref={ref as never}\n as={as as never}\n isInteractive={isInteractive}\n isSelected={isSelected}\n size={size}\n color={color}\n href={href}\n variant={variant}\n target={target}\n rel={rel ?? defaultRel}\n accessibilityProps={{\n ...makeAccessible({\n role: isInteractive ? (isLink ? 'link' : 'button') : 'presentation',\n }),\n }}\n onBlur={onBlur}\n onFocus={onFocus}\n onClick={onClick}\n onMouseLeave={onMouseLeave}\n onMouseMove={onMouseMove}\n onMouseDown={onMouseDown}\n onPointerDown={onPointerDown}\n onPointerEnter={onPointerEnter}\n onTouchStart={onTouchStart}\n onTouchEnd={onTouchEnd}\n >\n <BaseBox\n display=\"flex\"\n flexDirection=\"row\"\n alignItems=\"center\"\n justifyContent=\"center\"\n zIndex={1}\n height=\"100%\"\n >\n {Icon ? (\n <BaseBox display=\"flex\" justifyContent=\"center\" alignItems=\"center\">\n <Icon size={avatarIconSizeTokens[size]} color={iconColor} />\n </BaseBox>\n ) : null}\n\n {/* eslint-disable-next-line jsx-a11y/alt-text -- alt text is provided in imgProps */}\n {imgProps?.src ? <img {...imgProps} /> : null}\n\n {children ? (\n size === 'xlarge' ? (\n <Heading size={avatarTextSizeMapping[size]} weight=\"semibold\" color={textColor}>\n {children}\n </Heading>\n ) : (\n <Text size={avatarTextSizeMapping[size]} weight=\"semibold\" color={textColor}>\n {children}\n </Text>\n )\n ) : null}\n </BaseBox>\n </StyledAvatarButton>\n );\n};\n\nconst AvatarButton = React.forwardRef(_AvatarButton);\n\nexport { AvatarButton };\n"],"names":["_AvatarButton","_ref","ref","href","target","rel","_ref$variant","variant","_ref$color","color","_ref$size","size","Icon","icon","imgProps","children","onBlur","onFocus","onClick","onMouseLeave","onMouseMove","onMouseDown","onPointerDown","onPointerEnter","onTouchStart","onTouchEnd","isSelected","isLink","Boolean","isInteractive","as","defaultRel","undefined","iconColor","getTextColorToken","property","state","textColor","_jsx","StyledAvatarButton","accessibilityProps","_objectSpread","makeAccessible","role","_jsxs","BaseBox","display","flexDirection","alignItems","justifyContent","zIndex","height","avatarIconSizeTokens","src","Heading","avatarTextSizeMapping","weight","Text","AvatarButton","React","forwardRef"],"mappings":";;;;;;;;;;;;;;;;AAYA,IAAMA,aAAiF,GAAG,SAApFA,aAAiFA,CAAAC,IAAA,EAuBrFC,GAAG,EACoB;AAAA,EAAA,IAtBrBC,IAAI,GAAAF,IAAA,CAAJE,IAAI;IACJC,MAAM,GAAAH,IAAA,CAANG,MAAM;IACNC,GAAG,GAAAJ,IAAA,CAAHI,GAAG;IAAAC,YAAA,GAAAL,IAAA,CACHM,OAAO;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,YAAA;IAAAE,UAAA,GAAAP,IAAA,CAClBQ,KAAK;AAALA,IAAAA,KAAK,GAAAD,UAAA,KAAG,KAAA,CAAA,GAAA,SAAS,GAAAA,UAAA;IAAAE,SAAA,GAAAT,IAAA,CACjBU,IAAI;AAAJA,IAAAA,IAAI,GAAAD,SAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,SAAA;IACTE,IAAI,GAAAX,IAAA,CAAVY,IAAI;IACJC,QAAQ,GAAAb,IAAA,CAARa,QAAQ;IACRC,QAAQ,GAAAd,IAAA,CAARc,QAAQ;IACRC,MAAM,GAAAf,IAAA,CAANe,MAAM;IACNC,OAAO,GAAAhB,IAAA,CAAPgB,OAAO;IACPC,OAAO,GAAAjB,IAAA,CAAPiB,OAAO;IACPC,YAAY,GAAAlB,IAAA,CAAZkB,YAAY;IACZC,WAAW,GAAAnB,IAAA,CAAXmB,WAAW;IACXC,WAAW,GAAApB,IAAA,CAAXoB,WAAW;IACXC,aAAa,GAAArB,IAAA,CAAbqB,aAAa;IACbC,cAAc,GAAAtB,IAAA,CAAdsB,cAAc;IACdC,YAAY,GAAAvB,IAAA,CAAZuB,YAAY;IACZC,UAAU,GAAAxB,IAAA,CAAVwB,UAAU;IACVC,UAAU,GAAAzB,IAAA,CAAVyB,UAAU,CAAA;AAIZ,EAAA,IAAMC,MAAM,GAAGC,OAAO,CAACzB,IAAI,CAAC,CAAA;AAC5B,EAAA,IAAM0B,aAAa,GAAGD,OAAO,CAACV,OAAO,IAAIS,MAAM,CAAC,CAAA;EAChD,IAAMG,EAAE,GAAGD,aAAa,GAAI1B,IAAI,GAAG,GAAG,GAAG,QAAQ,GAAI,KAAK,CAAA;EAE1D,IAAM4B,UAAU,GAAG3B,MAAM,KAAK,QAAQ,GAAG,qBAAqB,GAAG4B,SAAS,CAAA;EAC1E,IAAMC,SAAS,GAAGC,iBAAiB,CAAC;AAClCC,IAAAA,QAAQ,EAAE,MAAM;AAChB5B,IAAAA,OAAO,EAAE,WAAW;AACpBE,IAAAA,KAAK,EAALA,KAAK;AACL2B,IAAAA,KAAK,EAAE,SAAA;AACT,GAAC,CAAc,CAAA;EACf,IAAMC,SAAS,GAAGH,iBAAiB,CAAC;AAClCC,IAAAA,QAAQ,EAAE,MAAM;AAChB5B,IAAAA,OAAO,EAAE,WAAW;AACpBE,IAAAA,KAAK,EAALA,KAAK;AACL2B,IAAAA,KAAK,EAAE,SAAA;AACT,GAAC,CAA2B,CAAA;EAE5B,oBACEE,GAAA,CAACC,kBAAkB,EAAA;AACjBrC,IAAAA,GAAG,EAAEA,GAAa;AAClB4B,IAAAA,EAAE,EAAEA,EAAY;AAChBD,IAAAA,aAAa,EAAEA,aAAc;AAC7BH,IAAAA,UAAU,EAAEA,UAAW;AACvBf,IAAAA,IAAI,EAAEA,IAAK;AACXF,IAAAA,KAAK,EAAEA,KAAM;AACbN,IAAAA,IAAI,EAAEA,IAAK;AACXI,IAAAA,OAAO,EAAEA,OAAQ;AACjBH,IAAAA,MAAM,EAAEA,MAAO;AACfC,IAAAA,GAAG,EAAEA,GAAG,KAAA,IAAA,IAAHA,GAAG,KAAHA,KAAAA,CAAAA,GAAAA,GAAG,GAAI0B,UAAW;AACvBS,IAAAA,kBAAkB,EAAAC,aAAA,CACbC,EAAAA,EAAAA,cAAc,CAAC;MAChBC,IAAI,EAAEd,aAAa,GAAIF,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAI,cAAA;AACvD,KAAC,CAAC,CACF;AACFX,IAAAA,MAAM,EAAEA,MAAO;AACfC,IAAAA,OAAO,EAAEA,OAAQ;AACjBC,IAAAA,OAAO,EAAEA,OAAQ;AACjBC,IAAAA,YAAY,EAAEA,YAAa;AAC3BC,IAAAA,WAAW,EAAEA,WAAY;AACzBC,IAAAA,WAAW,EAAEA,WAAY;AACzBC,IAAAA,aAAa,EAAEA,aAAc;AAC7BC,IAAAA,cAAc,EAAEA,cAAe;AAC/BC,IAAAA,YAAY,EAAEA,YAAa;AAC3BC,IAAAA,UAAU,EAAEA,UAAW;IAAAV,QAAA,eAEvB6B,IAAA,CAACC,OAAO,EAAA;AACNC,MAAAA,OAAO,EAAC,MAAM;AACdC,MAAAA,aAAa,EAAC,KAAK;AACnBC,MAAAA,UAAU,EAAC,QAAQ;AACnBC,MAAAA,cAAc,EAAC,QAAQ;AACvBC,MAAAA,MAAM,EAAE,CAAE;AACVC,MAAAA,MAAM,EAAC,MAAM;AAAApC,MAAAA,QAAA,EAEZH,CAAAA,IAAI,gBACH0B,GAAA,CAACO,OAAO,EAAA;AAACC,QAAAA,OAAO,EAAC,MAAM;AAACG,QAAAA,cAAc,EAAC,QAAQ;AAACD,QAAAA,UAAU,EAAC,QAAQ;QAAAjC,QAAA,eACjEuB,GAAA,CAAC1B,IAAI,EAAA;AAACD,UAAAA,IAAI,EAAEyC,oBAAoB,CAACzC,IAAI,CAAE;AAACF,UAAAA,KAAK,EAAEwB,SAAAA;SAAY,CAAA;AAAC,OACrD,CAAC,GACR,IAAI,EAGPnB,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,KAAA,CAAA,IAARA,QAAQ,CAAEuC,GAAG,gBAAGf,GAAA,CAAAG,KAAAA,EAAAA,aAAA,CAAS3B,EAAAA,EAAAA,QAAQ,CAAG,CAAC,GAAG,IAAI,EAE5CC,QAAQ,GACPJ,IAAI,KAAK,QAAQ,gBACf2B,GAAA,CAACgB,OAAO,EAAA;AAAC3C,QAAAA,IAAI,EAAE4C,qBAAqB,CAAC5C,IAAI,CAAE;AAAC6C,QAAAA,MAAM,EAAC,UAAU;AAAC/C,QAAAA,KAAK,EAAE4B,SAAU;AAAAtB,QAAAA,QAAA,EAC5EA,QAAAA;AAAQ,OACF,CAAC,gBAEVuB,GAAA,CAACmB,IAAI,EAAA;AAAC9C,QAAAA,IAAI,EAAE4C,qBAAqB,CAAC5C,IAAI,CAAE;AAAC6C,QAAAA,MAAM,EAAC,UAAU;AAAC/C,QAAAA,KAAK,EAAE4B,SAAU;AAAAtB,QAAAA,QAAA,EACzEA,QAAAA;OACG,CACP,GACC,IAAI,CAAA;KACD,CAAA;AAAC,GACQ,CAAC,CAAA;AAEzB,CAAC,CAAA;AAED,IAAM2C,YAAY,gBAAGC,cAAK,CAACC,UAAU,CAAC5D,aAAa;;;;"}
1
+ {"version":3,"file":"AvatarButton.js","sources":["../../../../../../src/components/Avatar/AvatarButton.tsx"],"sourcesContent":["import React from 'react';\nimport { StyledAvatarButton } from './StyledAvatarButton';\nimport type { AvatarButtonProps } from './types';\nimport { avatarTextSizeMapping, avatarIconSizeTokens } from './avatarTokens';\nimport BaseBox from '~components/Box/BaseBox';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { Heading, Text } from '~components/Typography';\nimport { getTextColorToken } from '~components/Button/BaseButton/BaseButton';\nimport type { IconColor } from '~components/Button/BaseButton/types';\nimport type { BaseTextProps } from '~components/Typography/BaseText/types';\nimport { MAKE_ANALYTICS_CONSTANTS } from '~utils/makeAnalyticsAttribute';\nimport type { BladeElementRef } from '~utils/types';\n\nconst _AvatarButton: React.ForwardRefRenderFunction<BladeElementRef, AvatarButtonProps> = (\n {\n href,\n target,\n rel,\n variant = 'circle',\n color = 'neutral',\n size = 'medium',\n icon: Icon,\n imgProps,\n children,\n onBlur,\n onFocus,\n onClick,\n onMouseLeave,\n onMouseMove,\n onMouseDown,\n onPointerDown,\n onPointerEnter,\n onTouchStart,\n onTouchEnd,\n isSelected,\n },\n ref,\n): React.ReactElement => {\n const isLink = Boolean(href);\n const isInteractive = Boolean(onClick || isLink);\n const as = isInteractive ? (href ? 'a' : 'button') : 'div';\n\n const defaultRel = target === '_blank' ? 'noreferrer noopener' : undefined;\n const iconColor = getTextColorToken({\n property: 'icon',\n variant: 'secondary',\n color,\n state: 'default',\n }) as IconColor;\n const textColor = getTextColorToken({\n property: 'text',\n variant: 'secondary',\n color,\n state: 'default',\n }) as BaseTextProps['color'];\n\n return (\n <StyledAvatarButton\n ref={ref as never}\n as={as as never}\n isInteractive={isInteractive}\n isSelected={isSelected}\n size={size}\n color={color}\n href={href}\n variant={variant}\n target={target}\n rel={rel ?? defaultRel}\n accessibilityProps={{\n ...makeAccessible({\n role: isInteractive ? (isLink ? 'link' : 'button') : 'presentation',\n }),\n }}\n onBlur={onBlur}\n onFocus={onFocus}\n onClick={onClick}\n onMouseLeave={onMouseLeave}\n onMouseMove={onMouseMove}\n onMouseDown={onMouseDown}\n onPointerDown={onPointerDown}\n onPointerEnter={onPointerEnter}\n onTouchStart={onTouchStart}\n onTouchEnd={onTouchEnd}\n data-analytics-name={\n as === 'button' ? MAKE_ANALYTICS_CONSTANTS.AVATAR.AVATAR_BUTTON : undefined\n }\n >\n <BaseBox\n display=\"flex\"\n flexDirection=\"row\"\n alignItems=\"center\"\n justifyContent=\"center\"\n zIndex={1}\n height=\"100%\"\n >\n {Icon ? (\n <BaseBox display=\"flex\" justifyContent=\"center\" alignItems=\"center\">\n <Icon size={avatarIconSizeTokens[size]} color={iconColor} />\n </BaseBox>\n ) : null}\n\n {/* eslint-disable-next-line jsx-a11y/alt-text -- alt text is provided in imgProps */}\n {imgProps?.src ? <img {...imgProps} /> : null}\n\n {children ? (\n size === 'xlarge' ? (\n <Heading size={avatarTextSizeMapping[size]} weight=\"semibold\" color={textColor}>\n {children}\n </Heading>\n ) : (\n <Text size={avatarTextSizeMapping[size]} weight=\"semibold\" color={textColor}>\n {children}\n </Text>\n )\n ) : null}\n </BaseBox>\n </StyledAvatarButton>\n );\n};\n\nconst AvatarButton = React.forwardRef(_AvatarButton);\n\nexport { AvatarButton };\n"],"names":["_AvatarButton","_ref","ref","href","target","rel","_ref$variant","variant","_ref$color","color","_ref$size","size","Icon","icon","imgProps","children","onBlur","onFocus","onClick","onMouseLeave","onMouseMove","onMouseDown","onPointerDown","onPointerEnter","onTouchStart","onTouchEnd","isSelected","isLink","Boolean","isInteractive","as","defaultRel","undefined","iconColor","getTextColorToken","property","state","textColor","_jsx","StyledAvatarButton","accessibilityProps","_objectSpread","makeAccessible","role","MAKE_ANALYTICS_CONSTANTS","AVATAR","AVATAR_BUTTON","_jsxs","BaseBox","display","flexDirection","alignItems","justifyContent","zIndex","height","avatarIconSizeTokens","src","Heading","avatarTextSizeMapping","weight","Text","AvatarButton","React","forwardRef"],"mappings":";;;;;;;;;;;;;;;;;;AAaA,IAAMA,aAAiF,GAAG,SAApFA,aAAiFA,CAAAC,IAAA,EAuBrFC,GAAG,EACoB;AAAA,EAAA,IAtBrBC,IAAI,GAAAF,IAAA,CAAJE,IAAI;IACJC,MAAM,GAAAH,IAAA,CAANG,MAAM;IACNC,GAAG,GAAAJ,IAAA,CAAHI,GAAG;IAAAC,YAAA,GAAAL,IAAA,CACHM,OAAO;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,YAAA;IAAAE,UAAA,GAAAP,IAAA,CAClBQ,KAAK;AAALA,IAAAA,KAAK,GAAAD,UAAA,KAAG,KAAA,CAAA,GAAA,SAAS,GAAAA,UAAA;IAAAE,SAAA,GAAAT,IAAA,CACjBU,IAAI;AAAJA,IAAAA,IAAI,GAAAD,SAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,SAAA;IACTE,IAAI,GAAAX,IAAA,CAAVY,IAAI;IACJC,QAAQ,GAAAb,IAAA,CAARa,QAAQ;IACRC,QAAQ,GAAAd,IAAA,CAARc,QAAQ;IACRC,MAAM,GAAAf,IAAA,CAANe,MAAM;IACNC,OAAO,GAAAhB,IAAA,CAAPgB,OAAO;IACPC,OAAO,GAAAjB,IAAA,CAAPiB,OAAO;IACPC,YAAY,GAAAlB,IAAA,CAAZkB,YAAY;IACZC,WAAW,GAAAnB,IAAA,CAAXmB,WAAW;IACXC,WAAW,GAAApB,IAAA,CAAXoB,WAAW;IACXC,aAAa,GAAArB,IAAA,CAAbqB,aAAa;IACbC,cAAc,GAAAtB,IAAA,CAAdsB,cAAc;IACdC,YAAY,GAAAvB,IAAA,CAAZuB,YAAY;IACZC,UAAU,GAAAxB,IAAA,CAAVwB,UAAU;IACVC,UAAU,GAAAzB,IAAA,CAAVyB,UAAU,CAAA;AAIZ,EAAA,IAAMC,MAAM,GAAGC,OAAO,CAACzB,IAAI,CAAC,CAAA;AAC5B,EAAA,IAAM0B,aAAa,GAAGD,OAAO,CAACV,OAAO,IAAIS,MAAM,CAAC,CAAA;EAChD,IAAMG,EAAE,GAAGD,aAAa,GAAI1B,IAAI,GAAG,GAAG,GAAG,QAAQ,GAAI,KAAK,CAAA;EAE1D,IAAM4B,UAAU,GAAG3B,MAAM,KAAK,QAAQ,GAAG,qBAAqB,GAAG4B,SAAS,CAAA;EAC1E,IAAMC,SAAS,GAAGC,iBAAiB,CAAC;AAClCC,IAAAA,QAAQ,EAAE,MAAM;AAChB5B,IAAAA,OAAO,EAAE,WAAW;AACpBE,IAAAA,KAAK,EAALA,KAAK;AACL2B,IAAAA,KAAK,EAAE,SAAA;AACT,GAAC,CAAc,CAAA;EACf,IAAMC,SAAS,GAAGH,iBAAiB,CAAC;AAClCC,IAAAA,QAAQ,EAAE,MAAM;AAChB5B,IAAAA,OAAO,EAAE,WAAW;AACpBE,IAAAA,KAAK,EAALA,KAAK;AACL2B,IAAAA,KAAK,EAAE,SAAA;AACT,GAAC,CAA2B,CAAA;EAE5B,oBACEE,GAAA,CAACC,kBAAkB,EAAA;AACjBrC,IAAAA,GAAG,EAAEA,GAAa;AAClB4B,IAAAA,EAAE,EAAEA,EAAY;AAChBD,IAAAA,aAAa,EAAEA,aAAc;AAC7BH,IAAAA,UAAU,EAAEA,UAAW;AACvBf,IAAAA,IAAI,EAAEA,IAAK;AACXF,IAAAA,KAAK,EAAEA,KAAM;AACbN,IAAAA,IAAI,EAAEA,IAAK;AACXI,IAAAA,OAAO,EAAEA,OAAQ;AACjBH,IAAAA,MAAM,EAAEA,MAAO;AACfC,IAAAA,GAAG,EAAEA,GAAG,KAAA,IAAA,IAAHA,GAAG,KAAHA,KAAAA,CAAAA,GAAAA,GAAG,GAAI0B,UAAW;AACvBS,IAAAA,kBAAkB,EAAAC,aAAA,CACbC,EAAAA,EAAAA,cAAc,CAAC;MAChBC,IAAI,EAAEd,aAAa,GAAIF,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAI,cAAA;AACvD,KAAC,CAAC,CACF;AACFX,IAAAA,MAAM,EAAEA,MAAO;AACfC,IAAAA,OAAO,EAAEA,OAAQ;AACjBC,IAAAA,OAAO,EAAEA,OAAQ;AACjBC,IAAAA,YAAY,EAAEA,YAAa;AAC3BC,IAAAA,WAAW,EAAEA,WAAY;AACzBC,IAAAA,WAAW,EAAEA,WAAY;AACzBC,IAAAA,aAAa,EAAEA,aAAc;AAC7BC,IAAAA,cAAc,EAAEA,cAAe;AAC/BC,IAAAA,YAAY,EAAEA,YAAa;AAC3BC,IAAAA,UAAU,EAAEA,UAAW;IACvB,qBACEK,EAAAA,EAAE,KAAK,QAAQ,GAAGc,wBAAwB,CAACC,MAAM,CAACC,aAAa,GAAGd,SACnE;IAAAjB,QAAA,eAEDgC,IAAA,CAACC,OAAO,EAAA;AACNC,MAAAA,OAAO,EAAC,MAAM;AACdC,MAAAA,aAAa,EAAC,KAAK;AACnBC,MAAAA,UAAU,EAAC,QAAQ;AACnBC,MAAAA,cAAc,EAAC,QAAQ;AACvBC,MAAAA,MAAM,EAAE,CAAE;AACVC,MAAAA,MAAM,EAAC,MAAM;AAAAvC,MAAAA,QAAA,EAEZH,CAAAA,IAAI,gBACH0B,GAAA,CAACU,OAAO,EAAA;AAACC,QAAAA,OAAO,EAAC,MAAM;AAACG,QAAAA,cAAc,EAAC,QAAQ;AAACD,QAAAA,UAAU,EAAC,QAAQ;QAAApC,QAAA,eACjEuB,GAAA,CAAC1B,IAAI,EAAA;AAACD,UAAAA,IAAI,EAAE4C,oBAAoB,CAAC5C,IAAI,CAAE;AAACF,UAAAA,KAAK,EAAEwB,SAAAA;SAAY,CAAA;AAAC,OACrD,CAAC,GACR,IAAI,EAGPnB,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,KAAA,CAAA,IAARA,QAAQ,CAAE0C,GAAG,gBAAGlB,GAAA,CAAAG,KAAAA,EAAAA,aAAA,CAAS3B,EAAAA,EAAAA,QAAQ,CAAG,CAAC,GAAG,IAAI,EAE5CC,QAAQ,GACPJ,IAAI,KAAK,QAAQ,gBACf2B,GAAA,CAACmB,OAAO,EAAA;AAAC9C,QAAAA,IAAI,EAAE+C,qBAAqB,CAAC/C,IAAI,CAAE;AAACgD,QAAAA,MAAM,EAAC,UAAU;AAAClD,QAAAA,KAAK,EAAE4B,SAAU;AAAAtB,QAAAA,QAAA,EAC5EA,QAAAA;AAAQ,OACF,CAAC,gBAEVuB,GAAA,CAACsB,IAAI,EAAA;AAACjD,QAAAA,IAAI,EAAE+C,qBAAqB,CAAC/C,IAAI,CAAE;AAACgD,QAAAA,MAAM,EAAC,UAAU;AAAClD,QAAAA,KAAK,EAAE4B,SAAU;AAAAtB,QAAAA,QAAA,EACzEA,QAAAA;OACG,CACP,GACC,IAAI,CAAA;KACD,CAAA;AAAC,GACQ,CAAC,CAAA;AAEzB,CAAC,CAAA;AAED,IAAM8C,YAAY,gBAAGC,cAAK,CAACC,UAAU,CAAC/D,aAAa;;;;"}
@@ -23,6 +23,7 @@ import { Divider } from '../Divider/Divider.js';
23
23
  import { assignWithoutSideEffects } from '../../utils/assignWithoutSideEffects/assignWithoutSideEffects.js';
24
24
  import { Text } from '../Typography/Text/Text.js';
25
25
  import Button from '../Button/Button/Button.js';
26
+ import { MAKE_ANALYTICS_CONSTANTS } from '../../utils/makeAnalyticsAttribute/makeAnalyticsConstants.js';
26
27
 
27
28
  var _excluded = ["children", "testID", "marginTop", "paddingTop", "showDivider"],
28
29
  _excluded2 = ["title", "subtitle"],
@@ -124,6 +125,7 @@ var _CardFooterTrailing = function _CardFooterTrailing(_ref3) {
124
125
  size: "medium",
125
126
  variant: "secondary"
126
127
  }, actions.secondary), {}, {
128
+ "data-analytics-name": MAKE_ANALYTICS_CONSTANTS.CARD.FOOTER_SECONDARY_ACTION_BUTTON,
127
129
  children: actions.secondary.text
128
130
  })) : null
129
131
  }), /*#__PURE__*/jsx(BaseBox, {
@@ -134,6 +136,7 @@ var _CardFooterTrailing = function _CardFooterTrailing(_ref3) {
134
136
  isFullWidth: true,
135
137
  size: "medium"
136
138
  }, actions.primary), {}, {
139
+ "data-analytics-name": MAKE_ANALYTICS_CONSTANTS.CARD.FOOTER_PRIMARY_ACTION_BUTTON,
137
140
  children: actions.primary.text
138
141
  })) : null
139
142
  })]
@@ -1 +1 @@
1
- {"version":3,"file":"CardFooter.js","sources":["../../../../../../src/components/Card/CardFooter.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unnecessary-type-assertion */\nimport type { ReactElement } from 'react';\nimport React from 'react';\nimport { useVerifyInsideCard } from './CardContext';\nimport { ComponentIds } from './Card';\nimport type { CardSpacingValueType } from './types';\nimport type { ButtonProps } from '~components/Button';\nimport { Button } from '~components/Button';\nimport { Divider } from '~components/Divider';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Text } from '~components/Typography';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport type { DataAnalyticsAttribute, TestID } from '~utils/types';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { useIsMobile } from '~utils/useIsMobile';\nimport { throwBladeError } from '~utils/logger';\nimport { useVerifyAllowedChildren } from '~utils/useVerifyAllowedChildren/useVerifyAllowedChildren';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\nexport type CardFooterAction = Pick<\n ButtonProps,\n 'type' | 'accessibilityLabel' | 'isLoading' | 'isDisabled' | 'icon' | 'iconPosition' | 'onClick'\n> & {\n text: ButtonProps['children'];\n};\n\ntype CardFooterProps = {\n children?: React.ReactNode;\n /**\n * For spacing between divider and footer title\n */\n paddingTop?: CardSpacingValueType;\n /**\n * For spacing between body content and divider\n */\n marginTop?: CardSpacingValueType;\n /**\n * @default true\n */\n showDivider?: boolean;\n} & TestID &\n DataAnalyticsAttribute;\n\nconst _CardFooter = ({\n children,\n testID,\n marginTop = 'spacing.4',\n paddingTop = 'spacing.4',\n showDivider = true,\n ...props\n}: CardFooterProps): React.ReactElement => {\n const isMobile = useIsMobile();\n useVerifyInsideCard('CardFooter');\n useVerifyAllowedChildren({\n children,\n componentName: 'CardFooter',\n allowedComponents: [ComponentIds.CardFooterLeading, ComponentIds.CardFooterTrailing],\n });\n\n const footerChildrensArray = React.Children.toArray(children);\n if (__DEV__) {\n if (!React.isValidElement(footerChildrensArray[0])) {\n throwBladeError({\n message: `Invalid React Element ${footerChildrensArray}`,\n moduleName: 'CardFooter',\n });\n }\n }\n\n // the reason why we are checking for actions here is, because we want the footerTrailing\n // to always be aligned to the right\n // if we don't check for action here, and if we do not have footerTrailing and only footerLeading\n // then the content of footerLeading will be justified to the end.\n const baseBoxJustifyContent =\n footerChildrensArray.length === 2 || !(footerChildrensArray[0] as ReactElement)?.props?.actions\n ? 'space-between'\n : 'flex-end';\n\n return (\n <BaseBox\n marginTop={marginTop}\n {...metaAttribute({ name: MetaConstants.CardFooter, testID })}\n {...makeAnalyticsAttribute(props)}\n >\n {showDivider ? <Divider /> : null}\n <BaseBox\n paddingTop={paddingTop}\n display=\"flex\"\n flexDirection={isMobile ? 'column' : 'row'}\n justifyContent={baseBoxJustifyContent}\n alignItems={isMobile ? 'stretch' : 'center'}\n >\n {children}\n </BaseBox>\n </BaseBox>\n );\n};\nconst CardFooter = assignWithoutSideEffects(_CardFooter, { componentId: ComponentIds.CardFooter });\n\ntype CardFooterLeadingProps = {\n title?: string;\n subtitle?: string;\n} & DataAnalyticsAttribute;\nconst _CardFooterLeading = ({\n title,\n subtitle,\n ...rest\n}: CardFooterLeadingProps): React.ReactElement => {\n useVerifyInsideCard('CardFooterLeading');\n\n return (\n <BaseBox textAlign={'left' as never} {...makeAnalyticsAttribute(rest)}>\n {title && (\n <Text color=\"surface.text.gray.normal\" size=\"medium\" weight=\"semibold\">\n {title}\n </Text>\n )}\n {subtitle && (\n <Text color=\"surface.text.gray.subtle\" size=\"small\" weight=\"regular\">\n {subtitle}\n </Text>\n )}\n </BaseBox>\n );\n};\nconst CardFooterLeading = assignWithoutSideEffects(_CardFooterLeading, {\n componentId: ComponentIds.CardFooterLeading,\n});\n\ntype CardFooterTrailingProps = {\n actions?: {\n primary?: CardFooterAction;\n secondary?: CardFooterAction;\n };\n} & DataAnalyticsAttribute;\nconst _CardFooterTrailing = ({ actions, ...rest }: CardFooterTrailingProps): React.ReactElement => {\n const isMobile = useIsMobile();\n useVerifyInsideCard('CardFooterTrailing');\n\n return (\n <BaseBox\n display=\"flex\"\n flexDirection=\"row\"\n alignSelf={isMobile ? 'auto' : 'center'}\n marginTop={isMobile ? 'spacing.5' : 'spacing.0'}\n marginLeft={isMobile ? 'spacing.0' : 'spacing.5'}\n {...makeAnalyticsAttribute(rest)}\n >\n <BaseBox flexGrow={1}>\n {actions?.secondary ? (\n <Button isFullWidth size=\"medium\" variant=\"secondary\" {...actions.secondary}>\n {actions.secondary.text!}\n </Button>\n ) : null}\n </BaseBox>\n <BaseBox marginLeft=\"spacing.5\" />\n <BaseBox flexGrow={1}>\n {actions?.primary ? (\n <Button isFullWidth size=\"medium\" {...actions.primary}>\n {actions.primary.text!}\n </Button>\n ) : null}\n </BaseBox>\n </BaseBox>\n );\n};\nconst CardFooterTrailing = assignWithoutSideEffects(_CardFooterTrailing, {\n componentId: ComponentIds.CardFooterTrailing,\n});\n\nexport { CardFooter, CardFooterLeading, CardFooterTrailing };\n"],"names":["_CardFooter","_ref","_footerChildrensArray","_footerChildrensArray2","children","testID","_ref$marginTop","marginTop","_ref$paddingTop","paddingTop","_ref$showDivider","showDivider","props","_objectWithoutProperties","_excluded","isMobile","useIsMobile","useVerifyInsideCard","useVerifyAllowedChildren","componentName","allowedComponents","ComponentIds","CardFooterLeading","CardFooterTrailing","footerChildrensArray","React","Children","toArray","isValidElement","throwBladeError","message","concat","moduleName","baseBoxJustifyContent","length","actions","_jsxs","BaseBox","_objectSpread","metaAttribute","name","MetaConstants","CardFooter","makeAnalyticsAttribute","_jsx","Divider","display","flexDirection","justifyContent","alignItems","assignWithoutSideEffects","componentId","_CardFooterLeading","_ref2","title","subtitle","rest","_excluded2","textAlign","Text","color","size","weight","_CardFooterTrailing","_ref3","_excluded3","alignSelf","marginLeft","flexGrow","secondary","Button","isFullWidth","variant","text","primary"],"mappings":"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"}
1
+ {"version":3,"file":"CardFooter.js","sources":["../../../../../../src/components/Card/CardFooter.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unnecessary-type-assertion */\nimport type { ReactElement } from 'react';\nimport React from 'react';\nimport { useVerifyInsideCard } from './CardContext';\nimport { ComponentIds } from './Card';\nimport type { CardSpacingValueType } from './types';\nimport type { ButtonProps } from '~components/Button';\nimport { Button } from '~components/Button';\nimport { Divider } from '~components/Divider';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Text } from '~components/Typography';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport type { DataAnalyticsAttribute, TestID } from '~utils/types';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { useIsMobile } from '~utils/useIsMobile';\nimport { throwBladeError } from '~utils/logger';\nimport { useVerifyAllowedChildren } from '~utils/useVerifyAllowedChildren/useVerifyAllowedChildren';\nimport { MAKE_ANALYTICS_CONSTANTS, makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\nexport type CardFooterAction = Pick<\n ButtonProps,\n 'type' | 'accessibilityLabel' | 'isLoading' | 'isDisabled' | 'icon' | 'iconPosition' | 'onClick'\n> & {\n text: ButtonProps['children'];\n};\n\ntype CardFooterProps = {\n children?: React.ReactNode;\n /**\n * For spacing between divider and footer title\n */\n paddingTop?: CardSpacingValueType;\n /**\n * For spacing between body content and divider\n */\n marginTop?: CardSpacingValueType;\n /**\n * @default true\n */\n showDivider?: boolean;\n} & TestID &\n DataAnalyticsAttribute;\n\nconst _CardFooter = ({\n children,\n testID,\n marginTop = 'spacing.4',\n paddingTop = 'spacing.4',\n showDivider = true,\n ...props\n}: CardFooterProps): React.ReactElement => {\n const isMobile = useIsMobile();\n useVerifyInsideCard('CardFooter');\n useVerifyAllowedChildren({\n children,\n componentName: 'CardFooter',\n allowedComponents: [ComponentIds.CardFooterLeading, ComponentIds.CardFooterTrailing],\n });\n\n const footerChildrensArray = React.Children.toArray(children);\n if (__DEV__) {\n if (!React.isValidElement(footerChildrensArray[0])) {\n throwBladeError({\n message: `Invalid React Element ${footerChildrensArray}`,\n moduleName: 'CardFooter',\n });\n }\n }\n\n // the reason why we are checking for actions here is, because we want the footerTrailing\n // to always be aligned to the right\n // if we don't check for action here, and if we do not have footerTrailing and only footerLeading\n // then the content of footerLeading will be justified to the end.\n const baseBoxJustifyContent =\n footerChildrensArray.length === 2 || !(footerChildrensArray[0] as ReactElement)?.props?.actions\n ? 'space-between'\n : 'flex-end';\n\n return (\n <BaseBox\n marginTop={marginTop}\n {...metaAttribute({ name: MetaConstants.CardFooter, testID })}\n {...makeAnalyticsAttribute(props)}\n >\n {showDivider ? <Divider /> : null}\n <BaseBox\n paddingTop={paddingTop}\n display=\"flex\"\n flexDirection={isMobile ? 'column' : 'row'}\n justifyContent={baseBoxJustifyContent}\n alignItems={isMobile ? 'stretch' : 'center'}\n >\n {children}\n </BaseBox>\n </BaseBox>\n );\n};\nconst CardFooter = assignWithoutSideEffects(_CardFooter, { componentId: ComponentIds.CardFooter });\n\ntype CardFooterLeadingProps = {\n title?: string;\n subtitle?: string;\n} & DataAnalyticsAttribute;\nconst _CardFooterLeading = ({\n title,\n subtitle,\n ...rest\n}: CardFooterLeadingProps): React.ReactElement => {\n useVerifyInsideCard('CardFooterLeading');\n\n return (\n <BaseBox textAlign={'left' as never} {...makeAnalyticsAttribute(rest)}>\n {title && (\n <Text color=\"surface.text.gray.normal\" size=\"medium\" weight=\"semibold\">\n {title}\n </Text>\n )}\n {subtitle && (\n <Text color=\"surface.text.gray.subtle\" size=\"small\" weight=\"regular\">\n {subtitle}\n </Text>\n )}\n </BaseBox>\n );\n};\nconst CardFooterLeading = assignWithoutSideEffects(_CardFooterLeading, {\n componentId: ComponentIds.CardFooterLeading,\n});\n\ntype CardFooterTrailingProps = {\n actions?: {\n primary?: CardFooterAction;\n secondary?: CardFooterAction;\n };\n} & DataAnalyticsAttribute;\nconst _CardFooterTrailing = ({ actions, ...rest }: CardFooterTrailingProps): React.ReactElement => {\n const isMobile = useIsMobile();\n useVerifyInsideCard('CardFooterTrailing');\n\n return (\n <BaseBox\n display=\"flex\"\n flexDirection=\"row\"\n alignSelf={isMobile ? 'auto' : 'center'}\n marginTop={isMobile ? 'spacing.5' : 'spacing.0'}\n marginLeft={isMobile ? 'spacing.0' : 'spacing.5'}\n {...makeAnalyticsAttribute(rest)}\n >\n <BaseBox flexGrow={1}>\n {actions?.secondary ? (\n <Button\n isFullWidth\n size=\"medium\"\n variant=\"secondary\"\n {...actions.secondary}\n data-analytics-name={MAKE_ANALYTICS_CONSTANTS.CARD.FOOTER_SECONDARY_ACTION_BUTTON}\n >\n {actions.secondary.text!}\n </Button>\n ) : null}\n </BaseBox>\n <BaseBox marginLeft=\"spacing.5\" />\n <BaseBox flexGrow={1}>\n {actions?.primary ? (\n <Button\n isFullWidth\n size=\"medium\"\n {...actions.primary}\n data-analytics-name={MAKE_ANALYTICS_CONSTANTS.CARD.FOOTER_PRIMARY_ACTION_BUTTON}\n >\n {actions.primary.text!}\n </Button>\n ) : null}\n </BaseBox>\n </BaseBox>\n );\n};\nconst CardFooterTrailing = assignWithoutSideEffects(_CardFooterTrailing, {\n componentId: ComponentIds.CardFooterTrailing,\n});\n\nexport { CardFooter, CardFooterLeading, CardFooterTrailing };\n"],"names":["_CardFooter","_ref","_footerChildrensArray","_footerChildrensArray2","children","testID","_ref$marginTop","marginTop","_ref$paddingTop","paddingTop","_ref$showDivider","showDivider","props","_objectWithoutProperties","_excluded","isMobile","useIsMobile","useVerifyInsideCard","useVerifyAllowedChildren","componentName","allowedComponents","ComponentIds","CardFooterLeading","CardFooterTrailing","footerChildrensArray","React","Children","toArray","isValidElement","throwBladeError","message","concat","moduleName","baseBoxJustifyContent","length","actions","_jsxs","BaseBox","_objectSpread","metaAttribute","name","MetaConstants","CardFooter","makeAnalyticsAttribute","_jsx","Divider","display","flexDirection","justifyContent","alignItems","assignWithoutSideEffects","componentId","_CardFooterLeading","_ref2","title","subtitle","rest","_excluded2","textAlign","Text","color","size","weight","_CardFooterTrailing","_ref3","_excluded3","alignSelf","marginLeft","flexGrow","secondary","Button","isFullWidth","variant","MAKE_ANALYTICS_CONSTANTS","CARD","FOOTER_SECONDARY_ACTION_BUTTON","text","primary","FOOTER_PRIMARY_ACTION_BUTTON"],"mappings":"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"}
@@ -29,8 +29,8 @@ import { BaseBox } from '../Box/BaseBox/BaseBox.web.js';
29
29
  import { metaAttribute } from '../../utils/metaAttribute/metaAttribute.web.js';
30
30
  import { MetaConstants } from '../../utils/metaAttribute/metaConstants.js';
31
31
  import { getStyledProps } from '../Box/styledProps/getStyledProps.js';
32
- import { makeAnalyticsAttribute } from '../../utils/makeAnalyticsAttribute/makeAnalyticsAttribute.js';
33
32
  import { isReactNative } from '../../utils/platform/isReactNative.js';
33
+ import { makeAnalyticsAttribute } from '../../utils/makeAnalyticsAttribute/makeAnalyticsAttribute.js';
34
34
  import { makeSize } from '../../utils/makeSize/makeSize.js';
35
35
  import { Text } from '../Typography/Text/Text.js';
36
36
  import { assignWithoutSideEffects } from '../../utils/assignWithoutSideEffects/assignWithoutSideEffects.js';
@@ -142,10 +142,10 @@ var _Chip = function _Chip(_ref, ref) {
142
142
  }
143
143
  var chipBackgroundColor = chipColorTokens.background[colorVariant][stateVariant];
144
144
  var chipBorderColor = chipColorTokens.border[colorVariant][stateVariant];
145
- return /*#__PURE__*/jsx(BaseBox, _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, metaAttribute({
145
+ return /*#__PURE__*/jsx(BaseBox, _objectSpread(_objectSpread(_objectSpread({}, metaAttribute({
146
146
  name: MetaConstants.Chip,
147
147
  testID: testID
148
- })), getStyledProps(rest)), makeAnalyticsAttribute(rest)), {}, {
148
+ })), getStyledProps(rest)), {}, {
149
149
  display: isReactNative() ? 'flex' : 'inline-flex',
150
150
  ref: getOuterMotionRef({
151
151
  _motionMeta: _motionMeta,
@@ -176,7 +176,7 @@ var _Chip = function _Chip(_ref, ref) {
176
176
  display: "flex",
177
177
  alignItems: "center",
178
178
  flexDirection: "row",
179
- children: [/*#__PURE__*/jsx(SelectorInput, {
179
+ children: [/*#__PURE__*/jsx(SelectorInput, _objectSpread({
180
180
  hoverTokens: getChipInputHoverTokens(chipColor),
181
181
  isChecked: state.isChecked,
182
182
  isDisabled: _isDisabled,
@@ -186,7 +186,7 @@ var _Chip = function _Chip(_ref, ref) {
186
186
  _motionMeta: _motionMeta,
187
187
  ref: ref
188
188
  })
189
- }), /*#__PURE__*/jsx(AnimatedChip, {
189
+ }, makeAnalyticsAttribute(rest))), /*#__PURE__*/jsx(AnimatedChip, {
190
190
  borderColor: chipBorderColor,
191
191
  isDisabled: _isDisabled,
192
192
  isPressed: isPressed,
@@ -1 +1 @@
1
- {"version":3,"file":"Chip.js","sources":["../../../../../../src/components/Chip/Chip.tsx"],"sourcesContent":["import React from 'react';\nimport { useChipGroupContext } from './ChipGroupContext';\nimport {\n chipIconSizes,\n chipTextSizes,\n chipColorTokens,\n getChipInputHoverTokens,\n chipHeightTokens,\n chipHorizontalPaddingTokens,\n} from './chipTokens';\nimport type { ChipProps } from './types';\nimport { AnimatedChip } from './AnimatedChip';\nimport { StyledChipWrapper } from './StyledChipWrapper';\nimport isEmpty from '~utils/lodashButBetter/isEmpty';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport BaseBox from '~components/Box/BaseBox';\nimport { SelectorLabel } from '~components/Form/Selector/SelectorLabel';\nimport { SelectorInput } from '~components/Form/Selector/SelectorInput';\nimport type { BladeElementRef } from '~utils/types';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { throwBladeError } from '~utils/logger';\nimport { useCheckbox } from '~components/Checkbox/useCheckbox';\nimport { useRadio } from '~components/Radio/useRadio';\nimport { isReactNative, makeSize, useBreakpoint } from '~utils';\nimport { Text } from '~components/Typography';\nimport { useTheme } from '~components/BladeProvider';\nimport { getInnerMotionRef, getOuterMotionRef } from '~utils/getMotionRefs';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\ntype OnChange = ({\n isChecked,\n event,\n value,\n}: {\n isChecked: boolean;\n event?: React.ChangeEvent;\n value?: string;\n}) => void;\n\nconst _Chip: React.ForwardRefRenderFunction<BladeElementRef, ChipProps> = (\n {\n isDisabled,\n value,\n children,\n icon: Icon,\n color,\n testID,\n _motionMeta,\n width,\n maxWidth,\n minWidth,\n ...rest\n },\n ref,\n) => {\n const { theme } = useTheme();\n const { matchedDeviceType } = useBreakpoint({ breakpoints: theme.breakpoints });\n const groupProps = useChipGroupContext();\n const isInsideGroup = !isEmpty(groupProps);\n const [isPressed, setIsPressed] = React.useState(false);\n\n if (__DEV__) {\n if (!isInsideGroup) {\n throwBladeError({\n moduleName: 'Chip',\n message:\n '<Chip /> component should only be used within the context of a <ChipGroup /> component',\n });\n }\n }\n\n const hasError = groupProps?.validationState === 'error';\n const _isDisabled = isDisabled ?? groupProps?.isDisabled;\n const _isRequired = groupProps?.isRequired || groupProps?.necessityIndicator === 'required';\n const _name = groupProps?.name;\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n const _isChecked = groupProps?.state?.isChecked(value!);\n // Check if the defaultValue property of groupProps is undefined\n const defaultChecked =\n typeof groupProps?.defaultValue === 'undefined'\n ? undefined // If undefined, defaultChecked is also undefined\n : groupProps?.defaultValue?.includes(value as string); // If multiple selection, check if value is in defaultValue array\n const useChip = groupProps?.selectionType === 'single' ? useRadio : useCheckbox;\n const _size = groupProps?.size || 'small';\n const chipColor = color ?? groupProps?.color ?? 'primary';\n const handleChange: OnChange = ({ isChecked, value }) => {\n if (isChecked) {\n groupProps?.state?.addValue(value!);\n } else {\n groupProps?.state?.removeValue(value!);\n }\n };\n\n const { state, inputProps } = useChip({\n defaultChecked,\n isChecked: _isChecked,\n isDisabled: _isDisabled,\n isRequired: _isRequired,\n hasError,\n name: _name,\n value,\n onChange: handleChange,\n });\n\n const handlePointerPressedIn = React.useCallback(() => {\n if (_isDisabled) return;\n setIsPressed(true);\n }, [_isDisabled]);\n\n const handlePointerPressedOut = React.useCallback(() => {\n if (_isDisabled) return;\n setIsPressed(false);\n }, [_isDisabled]);\n\n const handleKeyboardPressedIn = React.useCallback(\n (e: React.KeyboardEvent) => {\n if (_isDisabled) return;\n if (e.key === ' ') {\n setIsPressed(true);\n }\n },\n [_isDisabled],\n );\n\n const handleKeyboardPressedOut = React.useCallback(\n (e: React.KeyboardEvent) => {\n if (_isDisabled) return;\n if (e.key === ' ') {\n setIsPressed(false);\n }\n },\n [_isDisabled],\n );\n\n let textVariant = 'unchecked';\n if (_isChecked && chipColor) {\n textVariant = chipColor;\n }\n if (_isDisabled) {\n textVariant = 'disabled';\n }\n const chipTextColor = chipColorTokens.text[textVariant];\n const chipIconColor = chipColorTokens.icon[textVariant];\n\n let colorVariant = 'unchecked';\n const stateVariant = _isDisabled ? 'disabled' : 'default';\n if (_isChecked && chipColor) {\n colorVariant = chipColor;\n }\n const chipBackgroundColor = chipColorTokens.background[colorVariant][stateVariant];\n const chipBorderColor = chipColorTokens.border[colorVariant][stateVariant];\n\n return (\n <BaseBox\n {...metaAttribute({ name: MetaConstants.Chip, testID })}\n {...getStyledProps(rest)}\n {...makeAnalyticsAttribute(rest)}\n display={(isReactNative() ? 'flex' : 'inline-flex') as never}\n ref={getOuterMotionRef({ _motionMeta, ref })}\n width={width}\n maxWidth={maxWidth}\n minWidth={minWidth}\n >\n <SelectorLabel\n componentName={MetaConstants.ChipLabel}\n onTouchStart={handlePointerPressedIn}\n onTouchEnd={handlePointerPressedOut}\n onMouseDown={handlePointerPressedIn}\n onMouseUp={handlePointerPressedOut}\n onMouseOut={handlePointerPressedOut}\n onKeyDown={handleKeyboardPressedIn}\n onKeyUp={handleKeyboardPressedOut}\n inputProps={isReactNative() ? inputProps : {}}\n style={{\n cursor: _isDisabled ? 'not-allowed' : 'pointer',\n width: '100%',\n }}\n >\n <BaseBox display=\"flex\" flexDirection=\"column\" width=\"100%\">\n <BaseBox display=\"flex\" alignItems=\"center\" flexDirection=\"row\">\n <SelectorInput\n hoverTokens={getChipInputHoverTokens(chipColor)}\n isChecked={state.isChecked}\n isDisabled={_isDisabled}\n inputProps={inputProps}\n hasError={hasError}\n ref={getInnerMotionRef({ _motionMeta, ref })}\n />\n <AnimatedChip\n borderColor={chipBorderColor}\n isDisabled={_isDisabled}\n isPressed={isPressed}\n isDesktop={matchedDeviceType === 'desktop'}\n >\n <StyledChipWrapper\n borderColor={chipBorderColor}\n isChecked={_isChecked}\n isDisabled={_isDisabled}\n color={chipColor}\n display=\"flex\"\n flexDirection=\"row\"\n justifyContent=\"center\"\n alignItems=\"center\"\n overflow=\"hidden\"\n backgroundColor={chipBackgroundColor}\n borderRadius=\"max\"\n borderWidth={['xsmall', 'small'].includes(_size) ? 'thinner' : 'thin'}\n paddingLeft={\n chipHorizontalPaddingTokens[Boolean(Icon) ? 'withIcon' : 'withoutIcon'].left[\n _size\n ]\n }\n paddingRight={\n chipHorizontalPaddingTokens[Boolean(Icon) ? 'withIcon' : 'withoutIcon'].right[\n _size\n ]\n }\n height={makeSize(chipHeightTokens[_size])}\n gap=\"spacing.3\"\n width=\"100%\"\n >\n {Icon ? (\n <BaseBox display=\"flex\">\n <Icon color={chipIconColor} size={chipIconSizes[_size]} />\n </BaseBox>\n ) : null}\n {children ? (\n <Text {...chipTextSizes[_size]} truncateAfterLines={1} color={chipTextColor}>\n {children}\n </Text>\n ) : null}\n </StyledChipWrapper>\n </AnimatedChip>\n </BaseBox>\n </BaseBox>\n </SelectorLabel>\n </BaseBox>\n );\n};\n\nconst Chip = assignWithoutSideEffects(React.forwardRef(_Chip), {\n displayName: 'Chip',\n});\n\nexport { Chip };\nexport type { ChipProps };\n"],"names":["_Chip","_ref","ref","_groupProps$state","_groupProps$defaultVa","_ref2","isDisabled","value","children","Icon","icon","color","testID","_motionMeta","width","maxWidth","minWidth","rest","_objectWithoutProperties","_excluded","_useTheme","useTheme","theme","_useBreakpoint","useBreakpoint","breakpoints","matchedDeviceType","groupProps","useChipGroupContext","isInsideGroup","isEmpty","_React$useState","React","useState","_React$useState2","_slicedToArray","isPressed","setIsPressed","throwBladeError","moduleName","message","hasError","validationState","_isDisabled","_isRequired","isRequired","necessityIndicator","_name","name","_isChecked","state","isChecked","defaultChecked","defaultValue","undefined","includes","useChip","selectionType","useRadio","useCheckbox","_size","size","chipColor","handleChange","_ref3","_groupProps$state2","addValue","_groupProps$state3","removeValue","_useChip","onChange","inputProps","handlePointerPressedIn","useCallback","handlePointerPressedOut","handleKeyboardPressedIn","e","key","handleKeyboardPressedOut","textVariant","chipTextColor","chipColorTokens","text","chipIconColor","colorVariant","stateVariant","chipBackgroundColor","background","chipBorderColor","border","_jsx","BaseBox","_objectSpread","metaAttribute","MetaConstants","Chip","getStyledProps","makeAnalyticsAttribute","display","isReactNative","getOuterMotionRef","SelectorLabel","componentName","ChipLabel","onTouchStart","onTouchEnd","onMouseDown","onMouseUp","onMouseOut","onKeyDown","onKeyUp","style","cursor","flexDirection","_jsxs","alignItems","SelectorInput","hoverTokens","getChipInputHoverTokens","getInnerMotionRef","AnimatedChip","borderColor","isDesktop","StyledChipWrapper","justifyContent","overflow","backgroundColor","borderRadius","borderWidth","paddingLeft","chipHorizontalPaddingTokens","Boolean","left","paddingRight","right","height","makeSize","chipHeightTokens","gap","chipIconSizes","Text","chipTextSizes","truncateAfterLines","assignWithoutSideEffects","forwardRef","displayName"],"mappings":"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"}
1
+ {"version":3,"file":"Chip.js","sources":["../../../../../../src/components/Chip/Chip.tsx"],"sourcesContent":["import React from 'react';\nimport { useChipGroupContext } from './ChipGroupContext';\nimport {\n chipIconSizes,\n chipTextSizes,\n chipColorTokens,\n getChipInputHoverTokens,\n chipHeightTokens,\n chipHorizontalPaddingTokens,\n} from './chipTokens';\nimport type { ChipProps } from './types';\nimport { AnimatedChip } from './AnimatedChip';\nimport { StyledChipWrapper } from './StyledChipWrapper';\nimport isEmpty from '~utils/lodashButBetter/isEmpty';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport BaseBox from '~components/Box/BaseBox';\nimport { SelectorLabel } from '~components/Form/Selector/SelectorLabel';\nimport { SelectorInput } from '~components/Form/Selector/SelectorInput';\nimport type { BladeElementRef } from '~utils/types';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { throwBladeError } from '~utils/logger';\nimport { useCheckbox } from '~components/Checkbox/useCheckbox';\nimport { useRadio } from '~components/Radio/useRadio';\nimport { isReactNative, makeSize, useBreakpoint } from '~utils';\nimport { Text } from '~components/Typography';\nimport { useTheme } from '~components/BladeProvider';\nimport { getInnerMotionRef, getOuterMotionRef } from '~utils/getMotionRefs';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\ntype OnChange = ({\n isChecked,\n event,\n value,\n}: {\n isChecked: boolean;\n event?: React.ChangeEvent;\n value?: string;\n}) => void;\n\nconst _Chip: React.ForwardRefRenderFunction<BladeElementRef, ChipProps> = (\n {\n isDisabled,\n value,\n children,\n icon: Icon,\n color,\n testID,\n _motionMeta,\n width,\n maxWidth,\n minWidth,\n ...rest\n },\n ref,\n) => {\n const { theme } = useTheme();\n const { matchedDeviceType } = useBreakpoint({ breakpoints: theme.breakpoints });\n const groupProps = useChipGroupContext();\n const isInsideGroup = !isEmpty(groupProps);\n const [isPressed, setIsPressed] = React.useState(false);\n\n if (__DEV__) {\n if (!isInsideGroup) {\n throwBladeError({\n moduleName: 'Chip',\n message:\n '<Chip /> component should only be used within the context of a <ChipGroup /> component',\n });\n }\n }\n\n const hasError = groupProps?.validationState === 'error';\n const _isDisabled = isDisabled ?? groupProps?.isDisabled;\n const _isRequired = groupProps?.isRequired || groupProps?.necessityIndicator === 'required';\n const _name = groupProps?.name;\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n const _isChecked = groupProps?.state?.isChecked(value!);\n // Check if the defaultValue property of groupProps is undefined\n const defaultChecked =\n typeof groupProps?.defaultValue === 'undefined'\n ? undefined // If undefined, defaultChecked is also undefined\n : groupProps?.defaultValue?.includes(value as string); // If multiple selection, check if value is in defaultValue array\n const useChip = groupProps?.selectionType === 'single' ? useRadio : useCheckbox;\n const _size = groupProps?.size || 'small';\n const chipColor = color ?? groupProps?.color ?? 'primary';\n const handleChange: OnChange = ({ isChecked, value }) => {\n if (isChecked) {\n groupProps?.state?.addValue(value!);\n } else {\n groupProps?.state?.removeValue(value!);\n }\n };\n\n const { state, inputProps } = useChip({\n defaultChecked,\n isChecked: _isChecked,\n isDisabled: _isDisabled,\n isRequired: _isRequired,\n hasError,\n name: _name,\n value,\n onChange: handleChange,\n });\n\n const handlePointerPressedIn = React.useCallback(() => {\n if (_isDisabled) return;\n setIsPressed(true);\n }, [_isDisabled]);\n\n const handlePointerPressedOut = React.useCallback(() => {\n if (_isDisabled) return;\n setIsPressed(false);\n }, [_isDisabled]);\n\n const handleKeyboardPressedIn = React.useCallback(\n (e: React.KeyboardEvent) => {\n if (_isDisabled) return;\n if (e.key === ' ') {\n setIsPressed(true);\n }\n },\n [_isDisabled],\n );\n\n const handleKeyboardPressedOut = React.useCallback(\n (e: React.KeyboardEvent) => {\n if (_isDisabled) return;\n if (e.key === ' ') {\n setIsPressed(false);\n }\n },\n [_isDisabled],\n );\n\n let textVariant = 'unchecked';\n if (_isChecked && chipColor) {\n textVariant = chipColor;\n }\n if (_isDisabled) {\n textVariant = 'disabled';\n }\n const chipTextColor = chipColorTokens.text[textVariant];\n const chipIconColor = chipColorTokens.icon[textVariant];\n\n let colorVariant = 'unchecked';\n const stateVariant = _isDisabled ? 'disabled' : 'default';\n if (_isChecked && chipColor) {\n colorVariant = chipColor;\n }\n const chipBackgroundColor = chipColorTokens.background[colorVariant][stateVariant];\n const chipBorderColor = chipColorTokens.border[colorVariant][stateVariant];\n\n return (\n <BaseBox\n {...metaAttribute({ name: MetaConstants.Chip, testID })}\n {...getStyledProps(rest)}\n display={(isReactNative() ? 'flex' : 'inline-flex') as never}\n ref={getOuterMotionRef({ _motionMeta, ref })}\n width={width}\n maxWidth={maxWidth}\n minWidth={minWidth}\n >\n <SelectorLabel\n componentName={MetaConstants.ChipLabel}\n onTouchStart={handlePointerPressedIn}\n onTouchEnd={handlePointerPressedOut}\n onMouseDown={handlePointerPressedIn}\n onMouseUp={handlePointerPressedOut}\n onMouseOut={handlePointerPressedOut}\n onKeyDown={handleKeyboardPressedIn}\n onKeyUp={handleKeyboardPressedOut}\n inputProps={isReactNative() ? inputProps : {}}\n style={{\n cursor: _isDisabled ? 'not-allowed' : 'pointer',\n width: '100%',\n }}\n >\n <BaseBox display=\"flex\" flexDirection=\"column\" width=\"100%\">\n <BaseBox display=\"flex\" alignItems=\"center\" flexDirection=\"row\">\n <SelectorInput\n hoverTokens={getChipInputHoverTokens(chipColor)}\n isChecked={state.isChecked}\n isDisabled={_isDisabled}\n inputProps={inputProps}\n hasError={hasError}\n ref={getInnerMotionRef({ _motionMeta, ref })}\n {...makeAnalyticsAttribute(rest)}\n />\n <AnimatedChip\n borderColor={chipBorderColor}\n isDisabled={_isDisabled}\n isPressed={isPressed}\n isDesktop={matchedDeviceType === 'desktop'}\n >\n <StyledChipWrapper\n borderColor={chipBorderColor}\n isChecked={_isChecked}\n isDisabled={_isDisabled}\n color={chipColor}\n display=\"flex\"\n flexDirection=\"row\"\n justifyContent=\"center\"\n alignItems=\"center\"\n overflow=\"hidden\"\n backgroundColor={chipBackgroundColor}\n borderRadius=\"max\"\n borderWidth={['xsmall', 'small'].includes(_size) ? 'thinner' : 'thin'}\n paddingLeft={\n chipHorizontalPaddingTokens[Boolean(Icon) ? 'withIcon' : 'withoutIcon'].left[\n _size\n ]\n }\n paddingRight={\n chipHorizontalPaddingTokens[Boolean(Icon) ? 'withIcon' : 'withoutIcon'].right[\n _size\n ]\n }\n height={makeSize(chipHeightTokens[_size])}\n gap=\"spacing.3\"\n width=\"100%\"\n >\n {Icon ? (\n <BaseBox display=\"flex\">\n <Icon color={chipIconColor} size={chipIconSizes[_size]} />\n </BaseBox>\n ) : null}\n {children ? (\n <Text {...chipTextSizes[_size]} truncateAfterLines={1} color={chipTextColor}>\n {children}\n </Text>\n ) : null}\n </StyledChipWrapper>\n </AnimatedChip>\n </BaseBox>\n </BaseBox>\n </SelectorLabel>\n </BaseBox>\n );\n};\n\nconst Chip = assignWithoutSideEffects(React.forwardRef(_Chip), {\n displayName: 'Chip',\n});\n\nexport { Chip };\nexport type { ChipProps };\n"],"names":["_Chip","_ref","ref","_groupProps$state","_groupProps$defaultVa","_ref2","isDisabled","value","children","Icon","icon","color","testID","_motionMeta","width","maxWidth","minWidth","rest","_objectWithoutProperties","_excluded","_useTheme","useTheme","theme","_useBreakpoint","useBreakpoint","breakpoints","matchedDeviceType","groupProps","useChipGroupContext","isInsideGroup","isEmpty","_React$useState","React","useState","_React$useState2","_slicedToArray","isPressed","setIsPressed","throwBladeError","moduleName","message","hasError","validationState","_isDisabled","_isRequired","isRequired","necessityIndicator","_name","name","_isChecked","state","isChecked","defaultChecked","defaultValue","undefined","includes","useChip","selectionType","useRadio","useCheckbox","_size","size","chipColor","handleChange","_ref3","_groupProps$state2","addValue","_groupProps$state3","removeValue","_useChip","onChange","inputProps","handlePointerPressedIn","useCallback","handlePointerPressedOut","handleKeyboardPressedIn","e","key","handleKeyboardPressedOut","textVariant","chipTextColor","chipColorTokens","text","chipIconColor","colorVariant","stateVariant","chipBackgroundColor","background","chipBorderColor","border","_jsx","BaseBox","_objectSpread","metaAttribute","MetaConstants","Chip","getStyledProps","display","isReactNative","getOuterMotionRef","SelectorLabel","componentName","ChipLabel","onTouchStart","onTouchEnd","onMouseDown","onMouseUp","onMouseOut","onKeyDown","onKeyUp","style","cursor","flexDirection","_jsxs","alignItems","SelectorInput","hoverTokens","getChipInputHoverTokens","getInnerMotionRef","makeAnalyticsAttribute","AnimatedChip","borderColor","isDesktop","StyledChipWrapper","justifyContent","overflow","backgroundColor","borderRadius","borderWidth","paddingLeft","chipHorizontalPaddingTokens","Boolean","left","paddingRight","right","height","makeSize","chipHeightTokens","gap","chipIconSizes","Text","chipTextSizes","truncateAfterLines","assignWithoutSideEffects","forwardRef","displayName"],"mappings":"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"}