@razorpay/blade 11.19.1 → 11.21.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 (179) 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/Collapsible/Collapsible.js +1 -1
  4. package/build/lib/native/components/Collapsible/Collapsible.js.map +1 -1
  5. package/build/lib/native/components/Collapsible/CollapsibleBody.js +1 -1
  6. package/build/lib/native/components/Collapsible/CollapsibleBody.js.map +1 -1
  7. package/build/lib/native/components/Collapsible/CollapsibleBodyContent.native.js +1 -1
  8. package/build/lib/native/components/Collapsible/CollapsibleBodyContent.native.js.map +1 -1
  9. package/build/lib/native/components/Collapsible/CollapsibleLink.js +8 -1
  10. package/build/lib/native/components/Collapsible/CollapsibleLink.js.map +1 -1
  11. package/build/lib/native/components/Collapsible/commonStyles.js +1 -1
  12. package/build/lib/native/components/Collapsible/commonStyles.js.map +1 -1
  13. package/build/lib/native/components/ProgressBar/CircularProgressBar.native.js +1 -1
  14. package/build/lib/native/components/ProgressBar/CircularProgressBar.native.js.map +1 -1
  15. package/build/lib/native/components/SideNav/SideNav.native.js +17 -0
  16. package/build/lib/native/components/SideNav/SideNav.native.js.map +1 -0
  17. package/build/lib/native/components/SideNav/SideNavBody.native.js +17 -0
  18. package/build/lib/native/components/SideNav/SideNavBody.native.js.map +1 -0
  19. package/build/lib/native/components/SideNav/SideNavFooter.native.js +17 -0
  20. package/build/lib/native/components/SideNav/SideNavFooter.native.js.map +1 -0
  21. package/build/lib/native/components/SideNav/SideNavItems/SideNavItem.native.js +17 -0
  22. package/build/lib/native/components/SideNav/SideNavItems/SideNavItem.native.js.map +1 -0
  23. package/build/lib/native/components/SideNav/SideNavItems/SideNavLink.native.js +17 -0
  24. package/build/lib/native/components/SideNav/SideNavItems/SideNavLink.native.js.map +1 -0
  25. package/build/lib/native/components/SideNav/SideNavLevel.native.js +17 -0
  26. package/build/lib/native/components/SideNav/SideNavLevel.native.js.map +1 -0
  27. package/build/lib/native/components/SideNav/SideNavSection.native.js +17 -0
  28. package/build/lib/native/components/SideNav/SideNavSection.native.js.map +1 -0
  29. package/build/lib/native/components/Typography/BaseText/getBaseTextStyles.js +1 -1
  30. package/build/lib/native/components/Typography/BaseText/getBaseTextStyles.js.map +1 -1
  31. package/build/lib/native/components/index.js +7 -0
  32. package/build/lib/native/components/index.js.map +1 -1
  33. package/build/lib/native/tokens/global/size.js +1 -1
  34. package/build/lib/native/tokens/global/size.js.map +1 -1
  35. package/build/lib/native/utils/metaAttribute/metaConstants.js +1 -1
  36. package/build/lib/native/utils/metaAttribute/metaConstants.js.map +1 -1
  37. package/build/lib/web/development/components/Accordion/AccordionItem.js +1 -0
  38. package/build/lib/web/development/components/Accordion/AccordionItem.js.map +1 -1
  39. package/build/lib/web/development/components/Collapsible/Collapsible.js +4 -2
  40. package/build/lib/web/development/components/Collapsible/Collapsible.js.map +1 -1
  41. package/build/lib/web/development/components/Collapsible/CollapsibleBody.js +4 -1
  42. package/build/lib/web/development/components/Collapsible/CollapsibleBody.js.map +1 -1
  43. package/build/lib/web/development/components/Collapsible/CollapsibleBodyContent.web.js +4 -2
  44. package/build/lib/web/development/components/Collapsible/CollapsibleBodyContent.web.js.map +1 -1
  45. package/build/lib/web/development/components/Collapsible/CollapsibleLink.js +16 -4
  46. package/build/lib/web/development/components/Collapsible/CollapsibleLink.js.map +1 -1
  47. package/build/lib/web/development/components/Collapsible/commonStyles.js +5 -1
  48. package/build/lib/web/development/components/Collapsible/commonStyles.js.map +1 -1
  49. package/build/lib/web/development/components/DatePicker/Calendar.web.js +9 -5
  50. package/build/lib/web/development/components/DatePicker/Calendar.web.js.map +1 -1
  51. package/build/lib/web/development/components/DatePicker/CalendarStyles.web.js +40 -33
  52. package/build/lib/web/development/components/DatePicker/CalendarStyles.web.js.map +1 -1
  53. package/build/lib/web/development/components/DatePicker/DateInput.web.js +2 -1
  54. package/build/lib/web/development/components/DatePicker/DateInput.web.js.map +1 -1
  55. package/build/lib/web/development/components/DatePicker/DatePicker.web.js +5 -5
  56. package/build/lib/web/development/components/DatePicker/DatePicker.web.js.map +1 -1
  57. package/build/lib/web/development/components/DatePicker/shiftTimezone.js +39 -0
  58. package/build/lib/web/development/components/DatePicker/shiftTimezone.js.map +1 -0
  59. package/build/lib/web/development/components/DatePicker/useControlledDates.js +5 -8
  60. package/build/lib/web/development/components/DatePicker/useControlledDates.js.map +1 -1
  61. package/build/lib/web/development/components/DatePicker/utils.js +33 -1
  62. package/build/lib/web/development/components/DatePicker/utils.js.map +1 -1
  63. package/build/lib/web/development/components/Drawer/Drawer.web.js +25 -10
  64. package/build/lib/web/development/components/Drawer/Drawer.web.js.map +1 -1
  65. package/build/lib/web/development/components/Drawer/DrawerContext.js +3 -1
  66. package/build/lib/web/development/components/Drawer/DrawerContext.js.map +1 -1
  67. package/build/lib/web/development/components/Drawer/DrawerSubcomponents.web.js +26 -4
  68. package/build/lib/web/development/components/Drawer/DrawerSubcomponents.web.js.map +1 -1
  69. package/build/lib/web/development/components/Drawer/StackProvider.js +21 -12
  70. package/build/lib/web/development/components/Drawer/StackProvider.js.map +1 -1
  71. package/build/lib/web/development/components/Drawer/index.js +1 -1
  72. package/build/lib/web/development/components/FileUpload/FileUpload.web.js +3 -0
  73. package/build/lib/web/development/components/FileUpload/FileUpload.web.js.map +1 -1
  74. package/build/lib/web/development/components/SideNav/SideNav.web.js +360 -0
  75. package/build/lib/web/development/components/SideNav/SideNav.web.js.map +1 -0
  76. package/build/lib/web/development/components/SideNav/SideNavBody.web.js +17 -0
  77. package/build/lib/web/development/components/SideNav/SideNavBody.web.js.map +1 -0
  78. package/build/lib/web/development/components/SideNav/SideNavContext.js +23 -0
  79. package/build/lib/web/development/components/SideNav/SideNavContext.js.map +1 -0
  80. package/build/lib/web/development/components/SideNav/SideNavFooter.web.js +55 -0
  81. package/build/lib/web/development/components/SideNav/SideNavFooter.web.js.map +1 -0
  82. package/build/lib/web/development/components/SideNav/SideNavItems/SideNavItem.web.js +66 -0
  83. package/build/lib/web/development/components/SideNav/SideNavItems/SideNavItem.web.js.map +1 -0
  84. package/build/lib/web/development/components/SideNav/SideNavItems/SideNavLink.web.js +348 -0
  85. package/build/lib/web/development/components/SideNav/SideNavItems/SideNavLink.web.js.map +1 -0
  86. package/build/lib/web/development/components/SideNav/SideNavItems/TooltipifyNavItem.js +22 -0
  87. package/build/lib/web/development/components/SideNav/SideNavItems/TooltipifyNavItem.js.map +1 -0
  88. package/build/lib/web/development/components/SideNav/SideNavLevel.web.js +65 -0
  89. package/build/lib/web/development/components/SideNav/SideNavLevel.web.js.map +1 -0
  90. package/build/lib/web/development/components/SideNav/SideNavSection.web.js +141 -0
  91. package/build/lib/web/development/components/SideNav/SideNavSection.web.js.map +1 -0
  92. package/build/lib/web/development/components/SideNav/index.js +8 -0
  93. package/build/lib/web/development/components/SideNav/index.js.map +1 -0
  94. package/build/lib/web/development/components/SideNav/tokens.js +33 -0
  95. package/build/lib/web/development/components/SideNav/tokens.js.map +1 -0
  96. package/build/lib/web/development/components/SkipNav/SkipNav.web.js +11 -3
  97. package/build/lib/web/development/components/SkipNav/SkipNav.web.js.map +1 -1
  98. package/build/lib/web/development/components/Typography/BaseText/getBaseTextStyles.js +1 -1
  99. package/build/lib/web/development/components/Typography/BaseText/getBaseTextStyles.js.map +1 -1
  100. package/build/lib/web/development/components/index.js +9 -1
  101. package/build/lib/web/development/components/index.js.map +1 -1
  102. package/build/lib/web/development/tokens/global/size.js +6 -0
  103. package/build/lib/web/development/tokens/global/size.js.map +1 -1
  104. package/build/lib/web/development/utils/metaAttribute/metaConstants.js +1 -0
  105. package/build/lib/web/development/utils/metaAttribute/metaConstants.js.map +1 -1
  106. package/build/lib/web/production/components/Accordion/AccordionItem.js +1 -0
  107. package/build/lib/web/production/components/Accordion/AccordionItem.js.map +1 -1
  108. package/build/lib/web/production/components/Collapsible/Collapsible.js +4 -2
  109. package/build/lib/web/production/components/Collapsible/Collapsible.js.map +1 -1
  110. package/build/lib/web/production/components/Collapsible/CollapsibleBody.js +4 -1
  111. package/build/lib/web/production/components/Collapsible/CollapsibleBody.js.map +1 -1
  112. package/build/lib/web/production/components/Collapsible/CollapsibleBodyContent.web.js +4 -2
  113. package/build/lib/web/production/components/Collapsible/CollapsibleBodyContent.web.js.map +1 -1
  114. package/build/lib/web/production/components/Collapsible/CollapsibleLink.js +16 -4
  115. package/build/lib/web/production/components/Collapsible/CollapsibleLink.js.map +1 -1
  116. package/build/lib/web/production/components/Collapsible/commonStyles.js +5 -1
  117. package/build/lib/web/production/components/Collapsible/commonStyles.js.map +1 -1
  118. package/build/lib/web/production/components/DatePicker/Calendar.web.js +9 -5
  119. package/build/lib/web/production/components/DatePicker/Calendar.web.js.map +1 -1
  120. package/build/lib/web/production/components/DatePicker/CalendarStyles.web.js +40 -33
  121. package/build/lib/web/production/components/DatePicker/CalendarStyles.web.js.map +1 -1
  122. package/build/lib/web/production/components/DatePicker/DateInput.web.js +2 -1
  123. package/build/lib/web/production/components/DatePicker/DateInput.web.js.map +1 -1
  124. package/build/lib/web/production/components/DatePicker/DatePicker.web.js +5 -5
  125. package/build/lib/web/production/components/DatePicker/DatePicker.web.js.map +1 -1
  126. package/build/lib/web/production/components/DatePicker/shiftTimezone.js +39 -0
  127. package/build/lib/web/production/components/DatePicker/shiftTimezone.js.map +1 -0
  128. package/build/lib/web/production/components/DatePicker/useControlledDates.js +5 -8
  129. package/build/lib/web/production/components/DatePicker/useControlledDates.js.map +1 -1
  130. package/build/lib/web/production/components/DatePicker/utils.js +33 -1
  131. package/build/lib/web/production/components/DatePicker/utils.js.map +1 -1
  132. package/build/lib/web/production/components/Drawer/Drawer.web.js +25 -10
  133. package/build/lib/web/production/components/Drawer/Drawer.web.js.map +1 -1
  134. package/build/lib/web/production/components/Drawer/DrawerContext.js +3 -1
  135. package/build/lib/web/production/components/Drawer/DrawerContext.js.map +1 -1
  136. package/build/lib/web/production/components/Drawer/DrawerSubcomponents.web.js +26 -4
  137. package/build/lib/web/production/components/Drawer/DrawerSubcomponents.web.js.map +1 -1
  138. package/build/lib/web/production/components/Drawer/StackProvider.js +21 -12
  139. package/build/lib/web/production/components/Drawer/StackProvider.js.map +1 -1
  140. package/build/lib/web/production/components/Drawer/index.js +1 -1
  141. package/build/lib/web/production/components/FileUpload/FileUpload.web.js +3 -0
  142. package/build/lib/web/production/components/FileUpload/FileUpload.web.js.map +1 -1
  143. package/build/lib/web/production/components/SideNav/SideNav.web.js +360 -0
  144. package/build/lib/web/production/components/SideNav/SideNav.web.js.map +1 -0
  145. package/build/lib/web/production/components/SideNav/SideNavBody.web.js +17 -0
  146. package/build/lib/web/production/components/SideNav/SideNavBody.web.js.map +1 -0
  147. package/build/lib/web/production/components/SideNav/SideNavContext.js +23 -0
  148. package/build/lib/web/production/components/SideNav/SideNavContext.js.map +1 -0
  149. package/build/lib/web/production/components/SideNav/SideNavFooter.web.js +55 -0
  150. package/build/lib/web/production/components/SideNav/SideNavFooter.web.js.map +1 -0
  151. package/build/lib/web/production/components/SideNav/SideNavItems/SideNavItem.web.js +66 -0
  152. package/build/lib/web/production/components/SideNav/SideNavItems/SideNavItem.web.js.map +1 -0
  153. package/build/lib/web/production/components/SideNav/SideNavItems/SideNavLink.web.js +348 -0
  154. package/build/lib/web/production/components/SideNav/SideNavItems/SideNavLink.web.js.map +1 -0
  155. package/build/lib/web/production/components/SideNav/SideNavItems/TooltipifyNavItem.js +22 -0
  156. package/build/lib/web/production/components/SideNav/SideNavItems/TooltipifyNavItem.js.map +1 -0
  157. package/build/lib/web/production/components/SideNav/SideNavLevel.web.js +65 -0
  158. package/build/lib/web/production/components/SideNav/SideNavLevel.web.js.map +1 -0
  159. package/build/lib/web/production/components/SideNav/SideNavSection.web.js +141 -0
  160. package/build/lib/web/production/components/SideNav/SideNavSection.web.js.map +1 -0
  161. package/build/lib/web/production/components/SideNav/index.js +8 -0
  162. package/build/lib/web/production/components/SideNav/index.js.map +1 -0
  163. package/build/lib/web/production/components/SideNav/tokens.js +33 -0
  164. package/build/lib/web/production/components/SideNav/tokens.js.map +1 -0
  165. package/build/lib/web/production/components/SkipNav/SkipNav.web.js +11 -3
  166. package/build/lib/web/production/components/SkipNav/SkipNav.web.js.map +1 -1
  167. package/build/lib/web/production/components/Typography/BaseText/getBaseTextStyles.js +1 -1
  168. package/build/lib/web/production/components/Typography/BaseText/getBaseTextStyles.js.map +1 -1
  169. package/build/lib/web/production/components/index.js +9 -1
  170. package/build/lib/web/production/components/index.js.map +1 -1
  171. package/build/lib/web/production/tokens/global/size.js +6 -0
  172. package/build/lib/web/production/tokens/global/size.js.map +1 -1
  173. package/build/lib/web/production/utils/metaAttribute/metaConstants.js +1 -0
  174. package/build/lib/web/production/utils/metaAttribute/metaConstants.js.map +1 -1
  175. package/build/types/components/index.d.ts +1455 -1227
  176. package/build/types/components/index.native.d.ts +245 -36
  177. package/build/types/tokens/index.d.ts +6 -0
  178. package/build/types/tokens/index.native.d.ts +6 -0
  179. package/package.json +4 -4
@@ -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 } from '~utils/types';\nimport { getComponentId } from '~utils/isValidAllowedChildren';\nimport { throwBladeError } from '~utils/logger';\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\nconst AccordionItem = ({\n title,\n description,\n icon,\n children,\n isDisabled,\n _index,\n testID,\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 >\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","_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","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 } from '~utils/types';\nimport { getComponentId } from '~utils/isValidAllowedChildren';\nimport { throwBladeError } from '~utils/logger';\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\nconst AccordionItem = ({\n title,\n description,\n icon,\n children,\n isDisabled,\n _index,\n testID,\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 >\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","_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","AccordionButton","CollapsibleBody","width","isReactNative","_description","Divider"],"mappings":"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"}
@@ -22,7 +22,7 @@ import { BaseBox } from '../Box/BaseBox/BaseBox.web.js';
22
22
  import { metaAttribute } from '../../utils/metaAttribute/metaAttribute.web.js';
23
23
  import { getStyledProps } from '../Box/styledProps/getStyledProps.js';
24
24
 
25
- var _excluded = ["children", "direction", "defaultIsExpanded", "isExpanded", "onExpandChange", "testID", "_shouldApplyWidthRestrictions"];
25
+ var _excluded = ["children", "direction", "defaultIsExpanded", "isExpanded", "onExpandChange", "testID", "_shouldApplyWidthRestrictions", "_dangerouslyDisableValidations"];
26
26
  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; }
27
27
  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; }
28
28
  var MIN_WIDTH = makeSize(size[200]);
@@ -37,6 +37,8 @@ var Collapsible = function Collapsible(_ref) {
37
37
  testID = _ref.testID,
38
38
  _ref$_shouldApplyWidt = _ref._shouldApplyWidthRestrictions,
39
39
  _shouldApplyWidthRestrictions = _ref$_shouldApplyWidt === void 0 ? true : _ref$_shouldApplyWidt,
40
+ _ref$_dangerouslyDisa = _ref._dangerouslyDisableValidations,
41
+ _dangerouslyDisableValidations = _ref$_dangerouslyDisa === void 0 ? false : _ref$_dangerouslyDisa,
40
42
  styledProps = _objectWithoutProperties(_ref, _excluded);
41
43
  var _useState = useState(isExpanded !== null && isExpanded !== void 0 ? isExpanded : defaultIsExpanded),
42
44
  _useState2 = _slicedToArray(_useState, 2),
@@ -75,7 +77,7 @@ var Collapsible = function Collapsible(_ref) {
75
77
  }, [isBodyExpanded, direction, handleExpandChange, isExpanded, collapsibleBodyId]);
76
78
  if (false) {
77
79
  Children.forEach(children, function (child) {
78
- if (!(isValidAllowedChildren(child, MetaConstants.CollapsibleBody) || isValidAllowedChildren(child, MetaConstants.CollapsibleButton) || isValidAllowedChildren(child, MetaConstants.CollapsibleLink) || isValidAllowedChildren(child, MetaConstants.AccordionButton))) {
80
+ if (!(isValidAllowedChildren(child, MetaConstants.CollapsibleBody) || isValidAllowedChildren(child, MetaConstants.CollapsibleButton) || isValidAllowedChildren(child, MetaConstants.CollapsibleLink)) && !_dangerouslyDisableValidations) {
79
81
  throwBladeError({
80
82
  message: "only the following are supported as valid children: CollapsibleBody, CollapsibleButton, CollapsibleLink",
81
83
  moduleName: 'Collapsible'
@@ -1 +1 @@
1
- {"version":3,"file":"Collapsible.js","sources":["../../../../../../src/components/Collapsible/Collapsible.tsx"],"sourcesContent":["import type { ReactElement, ReactNode } from 'react';\nimport { Children, useCallback, useRef, useState, useMemo } from 'react';\n\nimport type { CollapsibleContextState } from './CollapsibleContext';\nimport { CollapsibleContext } from './CollapsibleContext';\nimport { MAX_WIDTH, MAX_WIDTH_NO_RESTRICTIONS } from './styles';\nimport BaseBox from '~components/Box/BaseBox';\nimport type { TestID } from '~utils/types';\nimport type { StyledPropsBlade } from '~components/Box/styledProps';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport type { BoxProps } from '~components/Box';\nimport { makeSize } from '~utils';\nimport { size } from '~tokens/global';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { useId } from '~utils/useId';\nimport { isValidAllowedChildren } from '~utils/isValidAllowedChildren';\nimport { throwBladeError } from '~utils/logger';\n\ntype CollapsibleProps = {\n /**\n * Composes `CollapsibleButton`, `CollapsibleLink`, `CollapsibleBody`\n */\n children: ReactNode;\n\n /**\n * Direction in which the content expands\n *\n * @default bottom\n */\n direction?: 'bottom' | 'top';\n\n /**\n * Expands the collapsible content by default (uncontrolled)\n *\n * @default false\n */\n defaultIsExpanded?: boolean;\n\n /**\n * Expands the collapsible content (controlled)\n *\n * @default undefined\n */\n isExpanded?: boolean;\n\n /**\n * Callback for change in collapsible's expanded state\n *\n * @default undefined\n */\n onExpandChange?: ({ isExpanded }: { isExpanded: boolean }) => void;\n\n /**\n * **Internal**: used to override responsive width restrictions\n */\n _shouldApplyWidthRestrictions?: boolean;\n} & TestID &\n StyledPropsBlade;\n\nconst MIN_WIDTH: BoxProps['minWidth'] = makeSize(size[200]);\n\nconst Collapsible = ({\n children,\n direction = 'bottom',\n defaultIsExpanded = false,\n isExpanded,\n onExpandChange,\n testID,\n _shouldApplyWidthRestrictions = true,\n ...styledProps\n}: CollapsibleProps): ReactElement => {\n const [isBodyExpanded, setIsBodyExpanded] = useState(isExpanded ?? defaultIsExpanded);\n const collapsibleBodyId = useId(MetaConstants.CollapsibleBody);\n\n /**\n * Maintain a ref to the initial value of `defaultExpanded || isExpanded` so changing it has no effect.\n * This will help in determining the correct initial height of collapsing body content\n */\n const initialDefaultExpanded = useRef(Boolean(defaultIsExpanded || isExpanded));\n\n const handleExpandChange = useCallback(\n (nextIsExpanded: boolean) => {\n if (typeof isExpanded !== 'undefined') {\n // controlled\n onExpandChange?.({ isExpanded: nextIsExpanded });\n } else {\n // uncontrolled\n setIsBodyExpanded(nextIsExpanded);\n onExpandChange?.({ isExpanded: nextIsExpanded });\n }\n },\n [onExpandChange, isExpanded],\n );\n\n const contextValue = useMemo<CollapsibleContextState>(\n () => ({\n // controlled behavior if isExpanded is provided\n isExpanded: isExpanded ?? isBodyExpanded,\n onExpandChange: handleExpandChange,\n defaultIsExpanded: initialDefaultExpanded.current,\n direction,\n collapsibleBodyId,\n }),\n [isBodyExpanded, direction, handleExpandChange, isExpanded, collapsibleBodyId],\n );\n\n if (__DEV__) {\n Children.forEach(children, (child) => {\n if (\n !(\n isValidAllowedChildren(child, MetaConstants.CollapsibleBody) ||\n isValidAllowedChildren(child, MetaConstants.CollapsibleButton) ||\n isValidAllowedChildren(child, MetaConstants.CollapsibleLink) ||\n isValidAllowedChildren(child, MetaConstants.AccordionButton)\n )\n ) {\n throwBladeError({\n message: `only the following are supported as valid children: CollapsibleBody, CollapsibleButton, CollapsibleLink`,\n moduleName: 'Collapsible',\n });\n }\n });\n }\n\n return (\n <CollapsibleContext.Provider value={contextValue}>\n <BaseBox\n {...metaAttribute({ name: MetaConstants.Collapsible, testID })}\n {...getStyledProps(styledProps)}\n >\n <BaseBox\n display=\"flex\"\n flexDirection={direction === 'bottom' ? 'column' : 'column-reverse'}\n alignItems=\"flex-start\"\n minWidth={_shouldApplyWidthRestrictions ? MIN_WIDTH : makeSize(size[0])}\n maxWidth={_shouldApplyWidthRestrictions ? MAX_WIDTH : MAX_WIDTH_NO_RESTRICTIONS}\n >\n {children}\n </BaseBox>\n </BaseBox>\n </CollapsibleContext.Provider>\n );\n};\n\nexport type { CollapsibleProps };\nexport { Collapsible };\n"],"names":["MIN_WIDTH","makeSize","size","Collapsible","_ref","children","_ref$direction","direction","_ref$defaultIsExpande","defaultIsExpanded","isExpanded","onExpandChange","testID","_ref$_shouldApplyWidt","_shouldApplyWidthRestrictions","styledProps","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","isBodyExpanded","setIsBodyExpanded","collapsibleBodyId","useId","MetaConstants","CollapsibleBody","initialDefaultExpanded","useRef","Boolean","handleExpandChange","useCallback","nextIsExpanded","contextValue","useMemo","current","Children","forEach","child","isValidAllowedChildren","CollapsibleButton","CollapsibleLink","AccordionButton","throwBladeError","message","moduleName","_jsx","CollapsibleContext","Provider","value","BaseBox","_objectSpread","metaAttribute","name","getStyledProps","display","flexDirection","alignItems","minWidth","maxWidth","MAX_WIDTH","MAX_WIDTH_NO_RESTRICTIONS"],"mappings":"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"}
1
+ {"version":3,"file":"Collapsible.js","sources":["../../../../../../src/components/Collapsible/Collapsible.tsx"],"sourcesContent":["import type { ReactElement, ReactNode } from 'react';\nimport { Children, useCallback, useRef, useState, useMemo } from 'react';\n\nimport type { CollapsibleContextState } from './CollapsibleContext';\nimport { CollapsibleContext } from './CollapsibleContext';\nimport { MAX_WIDTH, MAX_WIDTH_NO_RESTRICTIONS } from './styles';\nimport BaseBox from '~components/Box/BaseBox';\nimport type { TestID } from '~utils/types';\nimport type { StyledPropsBlade } from '~components/Box/styledProps';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport type { BoxProps } from '~components/Box';\nimport { makeSize } from '~utils';\nimport { size } from '~tokens/global';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { useId } from '~utils/useId';\nimport { isValidAllowedChildren } from '~utils/isValidAllowedChildren';\nimport { throwBladeError } from '~utils/logger';\n\ntype CollapsibleProps = {\n /**\n * Composes `CollapsibleButton`, `CollapsibleLink`, `CollapsibleBody`\n */\n children: ReactNode;\n\n /**\n * Direction in which the content expands\n *\n * @default bottom\n */\n direction?: 'bottom' | 'top';\n\n /**\n * Expands the collapsible content by default (uncontrolled)\n *\n * @default false\n */\n defaultIsExpanded?: boolean;\n\n /**\n * Expands the collapsible content (controlled)\n *\n * @default undefined\n */\n isExpanded?: boolean;\n\n /**\n * Callback for change in collapsible's expanded state\n *\n * @default undefined\n */\n onExpandChange?: ({ isExpanded }: { isExpanded: boolean }) => void;\n\n /**\n * **Internal**: disables trigger validations. Used for AccordionButton and SideNavLink internally\n */\n _dangerouslyDisableValidations?: boolean;\n /**\n * **Internal**: used to override responsive width restrictions\n */\n _shouldApplyWidthRestrictions?: boolean;\n} & TestID &\n StyledPropsBlade;\n\nconst MIN_WIDTH: BoxProps['minWidth'] = makeSize(size[200]);\n\nconst Collapsible = ({\n children,\n direction = 'bottom',\n defaultIsExpanded = false,\n isExpanded,\n onExpandChange,\n testID,\n _shouldApplyWidthRestrictions = true,\n _dangerouslyDisableValidations = false,\n ...styledProps\n}: CollapsibleProps): ReactElement => {\n const [isBodyExpanded, setIsBodyExpanded] = useState(isExpanded ?? defaultIsExpanded);\n const collapsibleBodyId = useId(MetaConstants.CollapsibleBody);\n\n /**\n * Maintain a ref to the initial value of `defaultExpanded || isExpanded` so changing it has no effect.\n * This will help in determining the correct initial height of collapsing body content\n */\n const initialDefaultExpanded = useRef(Boolean(defaultIsExpanded || isExpanded));\n\n const handleExpandChange = useCallback(\n (nextIsExpanded: boolean) => {\n if (typeof isExpanded !== 'undefined') {\n // controlled\n onExpandChange?.({ isExpanded: nextIsExpanded });\n } else {\n // uncontrolled\n setIsBodyExpanded(nextIsExpanded);\n onExpandChange?.({ isExpanded: nextIsExpanded });\n }\n },\n [onExpandChange, isExpanded],\n );\n\n const contextValue = useMemo<CollapsibleContextState>(\n () => ({\n // controlled behavior if isExpanded is provided\n isExpanded: isExpanded ?? isBodyExpanded,\n onExpandChange: handleExpandChange,\n defaultIsExpanded: initialDefaultExpanded.current,\n direction,\n collapsibleBodyId,\n }),\n [isBodyExpanded, direction, handleExpandChange, isExpanded, collapsibleBodyId],\n );\n\n if (__DEV__) {\n Children.forEach(children, (child) => {\n if (\n !(\n isValidAllowedChildren(child, MetaConstants.CollapsibleBody) ||\n isValidAllowedChildren(child, MetaConstants.CollapsibleButton) ||\n isValidAllowedChildren(child, MetaConstants.CollapsibleLink)\n ) &&\n !_dangerouslyDisableValidations\n ) {\n throwBladeError({\n message: `only the following are supported as valid children: CollapsibleBody, CollapsibleButton, CollapsibleLink`,\n moduleName: 'Collapsible',\n });\n }\n });\n }\n\n return (\n <CollapsibleContext.Provider value={contextValue}>\n <BaseBox\n {...metaAttribute({ name: MetaConstants.Collapsible, testID })}\n {...getStyledProps(styledProps)}\n >\n <BaseBox\n display=\"flex\"\n flexDirection={direction === 'bottom' ? 'column' : 'column-reverse'}\n alignItems=\"flex-start\"\n minWidth={_shouldApplyWidthRestrictions ? MIN_WIDTH : makeSize(size[0])}\n maxWidth={_shouldApplyWidthRestrictions ? MAX_WIDTH : MAX_WIDTH_NO_RESTRICTIONS}\n >\n {children}\n </BaseBox>\n </BaseBox>\n </CollapsibleContext.Provider>\n );\n};\n\nexport type { CollapsibleProps };\nexport { Collapsible };\n"],"names":["MIN_WIDTH","makeSize","size","Collapsible","_ref","children","_ref$direction","direction","_ref$defaultIsExpande","defaultIsExpanded","isExpanded","onExpandChange","testID","_ref$_shouldApplyWidt","_shouldApplyWidthRestrictions","_ref$_dangerouslyDisa","_dangerouslyDisableValidations","styledProps","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","isBodyExpanded","setIsBodyExpanded","collapsibleBodyId","useId","MetaConstants","CollapsibleBody","initialDefaultExpanded","useRef","Boolean","handleExpandChange","useCallback","nextIsExpanded","contextValue","useMemo","current","Children","forEach","child","isValidAllowedChildren","CollapsibleButton","CollapsibleLink","throwBladeError","message","moduleName","_jsx","CollapsibleContext","Provider","value","BaseBox","_objectSpread","metaAttribute","name","getStyledProps","display","flexDirection","alignItems","minWidth","maxWidth","MAX_WIDTH","MAX_WIDTH_NO_RESTRICTIONS"],"mappings":"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"}
@@ -17,7 +17,9 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
17
17
  var _CollapsibleBody = function _CollapsibleBody(_ref) {
18
18
  var children = _ref.children,
19
19
  testID = _ref.testID,
20
- width = _ref.width;
20
+ width = _ref.width,
21
+ _ref$_hasMargin = _ref._hasMargin,
22
+ _hasMargin = _ref$_hasMargin === void 0 ? true : _ref$_hasMargin;
21
23
  var _useCollapsible = useCollapsible(),
22
24
  collapsibleBodyId = _useCollapsible.collapsibleBodyId,
23
25
  isExpanded = _useCollapsible.isExpanded;
@@ -32,6 +34,7 @@ var _CollapsibleBody = function _CollapsibleBody(_ref) {
32
34
  testID: testID
33
35
  })), {}, {
34
36
  children: /*#__PURE__*/jsx(CollapsibleBodyContent, {
37
+ _hasMargin: _hasMargin,
35
38
  children: children
36
39
  })
37
40
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"CollapsibleBody.js","sources":["../../../../../../src/components/Collapsible/CollapsibleBody.tsx"],"sourcesContent":["import type { ReactElement, ReactNode } from 'react';\nimport { CollapsibleBodyContent } from './CollapsibleBodyContent';\nimport { useCollapsible } from './CollapsibleContext';\nimport type { BaseBoxProps } from '~components/Box/BaseBox';\nimport BaseBox from '~components/Box/BaseBox';\nimport type { TestID } from '~utils/types';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\n\ntype CollapsibleBodyProps = {\n children: ReactNode;\n width?: BaseBoxProps['width'];\n} & TestID;\n\nconst _CollapsibleBody = ({ children, testID, width }: CollapsibleBodyProps): ReactElement => {\n const { collapsibleBodyId, isExpanded } = useCollapsible();\n return (\n <BaseBox\n id={collapsibleBodyId}\n width={width}\n {...makeAccessible({ role: 'region', hidden: !isExpanded })}\n {...metaAttribute({ name: MetaConstants.CollapsibleBody, testID })}\n >\n <CollapsibleBodyContent>{children}</CollapsibleBodyContent>\n </BaseBox>\n );\n};\n\nconst CollapsibleBody = assignWithoutSideEffects(_CollapsibleBody, {\n componentId: MetaConstants.CollapsibleBody,\n});\n\nexport type { CollapsibleBodyProps };\nexport { CollapsibleBody };\n"],"names":["_CollapsibleBody","_ref","children","testID","width","_useCollapsible","useCollapsible","collapsibleBodyId","isExpanded","_jsx","BaseBox","_objectSpread","id","makeAccessible","role","hidden","metaAttribute","name","MetaConstants","CollapsibleBody","CollapsibleBodyContent","assignWithoutSideEffects","componentId"],"mappings":";;;;;;;;;;;;;;;;AAeA,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAC,IAAA,EAAwE;AAAA,EAAA,IAAlEC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAAEC,MAAM,GAAAF,IAAA,CAANE,MAAM;IAAEC,KAAK,GAAAH,IAAA,CAALG,KAAK,CAAA;AACjD,EAAA,IAAAC,eAAA,GAA0CC,cAAc,EAAE;IAAlDC,iBAAiB,GAAAF,eAAA,CAAjBE,iBAAiB;IAAEC,UAAU,GAAAH,eAAA,CAAVG,UAAU,CAAA;EACrC,oBACEC,GAAA,CAACC,OAAO,EAAAC,aAAA,CAAAA,aAAA,CAAAA,aAAA,CAAA;AACNC,IAAAA,EAAE,EAAEL,iBAAkB;AACtBH,IAAAA,KAAK,EAAEA,KAAAA;AAAM,GAAA,EACTS,cAAc,CAAC;AAAEC,IAAAA,IAAI,EAAE,QAAQ;AAAEC,IAAAA,MAAM,EAAE,CAACP,UAAAA;GAAY,CAAC,CACvDQ,EAAAA,aAAa,CAAC;IAAEC,IAAI,EAAEC,aAAa,CAACC,eAAe;AAAEhB,IAAAA,MAAM,EAANA,MAAAA;AAAO,GAAC,CAAC,CAAA,EAAA,EAAA,EAAA;IAAAD,QAAA,eAElEO,GAAA,CAACW,sBAAsB,EAAA;AAAAlB,MAAAA,QAAA,EAAEA,QAAAA;KAAiC,CAAA;AAAC,GAAA,CACpD,CAAC,CAAA;AAEd,CAAC,CAAA;AAED,IAAMiB,eAAe,gBAAGE,wBAAwB,CAACrB,gBAAgB,EAAE;EACjEsB,WAAW,EAAEJ,aAAa,CAACC,eAAAA;AAC7B,CAAC;;;;"}
1
+ {"version":3,"file":"CollapsibleBody.js","sources":["../../../../../../src/components/Collapsible/CollapsibleBody.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport { CollapsibleBodyContent } from './CollapsibleBodyContent';\nimport { useCollapsible } from './CollapsibleContext';\nimport type { CollapsibleBodyProps } from './types';\nimport BaseBox from '~components/Box/BaseBox';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\n\nconst _CollapsibleBody = ({\n children,\n testID,\n width,\n _hasMargin = true,\n}: CollapsibleBodyProps): ReactElement => {\n const { collapsibleBodyId, isExpanded } = useCollapsible();\n return (\n <BaseBox\n id={collapsibleBodyId}\n width={width}\n {...makeAccessible({ role: 'region', hidden: !isExpanded })}\n {...metaAttribute({ name: MetaConstants.CollapsibleBody, testID })}\n >\n <CollapsibleBodyContent _hasMargin={_hasMargin}>{children}</CollapsibleBodyContent>\n </BaseBox>\n );\n};\n\nconst CollapsibleBody = assignWithoutSideEffects(_CollapsibleBody, {\n componentId: MetaConstants.CollapsibleBody,\n});\n\nexport type { CollapsibleBodyProps };\nexport { CollapsibleBody };\n"],"names":["_CollapsibleBody","_ref","children","testID","width","_ref$_hasMargin","_hasMargin","_useCollapsible","useCollapsible","collapsibleBodyId","isExpanded","_jsx","BaseBox","_objectSpread","id","makeAccessible","role","hidden","metaAttribute","name","MetaConstants","CollapsibleBody","CollapsibleBodyContent","assignWithoutSideEffects","componentId"],"mappings":";;;;;;;;;;;;;;;;AASA,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAC,IAAA,EAKoB;AAAA,EAAA,IAJxCC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IACRC,MAAM,GAAAF,IAAA,CAANE,MAAM;IACNC,KAAK,GAAAH,IAAA,CAALG,KAAK;IAAAC,eAAA,GAAAJ,IAAA,CACLK,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,eAAA,CAAA;AAEjB,EAAA,IAAAE,eAAA,GAA0CC,cAAc,EAAE;IAAlDC,iBAAiB,GAAAF,eAAA,CAAjBE,iBAAiB;IAAEC,UAAU,GAAAH,eAAA,CAAVG,UAAU,CAAA;EACrC,oBACEC,GAAA,CAACC,OAAO,EAAAC,aAAA,CAAAA,aAAA,CAAAA,aAAA,CAAA;AACNC,IAAAA,EAAE,EAAEL,iBAAkB;AACtBL,IAAAA,KAAK,EAAEA,KAAAA;AAAM,GAAA,EACTW,cAAc,CAAC;AAAEC,IAAAA,IAAI,EAAE,QAAQ;AAAEC,IAAAA,MAAM,EAAE,CAACP,UAAAA;GAAY,CAAC,CACvDQ,EAAAA,aAAa,CAAC;IAAEC,IAAI,EAAEC,aAAa,CAACC,eAAe;AAAElB,IAAAA,MAAM,EAANA,MAAAA;AAAO,GAAC,CAAC,CAAA,EAAA,EAAA,EAAA;IAAAD,QAAA,eAElES,GAAA,CAACW,sBAAsB,EAAA;AAAChB,MAAAA,UAAU,EAAEA,UAAW;AAAAJ,MAAAA,QAAA,EAAEA,QAAAA;KAAiC,CAAA;AAAC,GAAA,CAC5E,CAAC,CAAA;AAEd,CAAC,CAAA;AAED,IAAMmB,eAAe,gBAAGE,wBAAwB,CAACvB,gBAAgB,EAAE;EACjEwB,WAAW,EAAEJ,aAAa,CAACC,eAAAA;AAC7B,CAAC;;;;"}
@@ -50,7 +50,8 @@ var StyledCollapsibleBodyContent = /*#__PURE__*/styled(BaseBox).withConfig({
50
50
  };
51
51
  });
52
52
  var CollapsibleBodyContent = function CollapsibleBodyContent(_ref) {
53
- var children = _ref.children;
53
+ var children = _ref.children,
54
+ _hasMargin = _ref._hasMargin;
54
55
  var _useCollapsible = useCollapsible(),
55
56
  isExpanded = _useCollapsible.isExpanded,
56
57
  defaultIsExpanded = _useCollapsible.defaultIsExpanded,
@@ -125,7 +126,8 @@ var CollapsibleBodyContent = function CollapsibleBodyContent(_ref) {
125
126
  defaultIsExpanded: defaultIsExpanded,
126
127
  onTransitionEnd: onTransitionEnd,
127
128
  children: /*#__PURE__*/jsx(Box, _objectSpread(_objectSpread({}, getCollapsibleBodyContentBoxProps({
128
- direction: direction
129
+ direction: direction,
130
+ _hasMargin: _hasMargin
129
131
  })), {}, {
130
132
  children: children
131
133
  }))
@@ -1 +1 @@
1
- {"version":3,"file":"CollapsibleBodyContent.web.js","sources":["../../../../../../src/components/Collapsible/CollapsibleBodyContent.web.tsx"],"sourcesContent":["import type { ReactElement, TransitionEventHandler } from 'react';\nimport { useRef } from 'react';\nimport styled from 'styled-components';\nimport { useCollapsible } from './CollapsibleContext';\nimport type { CollapsibleBodyContentProps } from './types';\nimport {\n getCollapsibleBodyContentBoxProps,\n getOpacity,\n getTransitionDuration,\n getTransitionEasing,\n} from './commonStyles';\nimport { castWebType, makeSize } from '~utils';\nimport { Box } from '~components/Box';\nimport { useDidUpdate } from '~utils/useDidUpdate';\nimport BaseBox from '~components/Box/BaseBox';\n\ntype StyledCollapsibleBodyContentProps = {\n defaultIsExpanded: boolean;\n isExpanded: boolean;\n};\n\n/**\n * We can't animate to and from `auto` height, these are used for imperative css transitions.\n * Overall on expanding height will change as: 0px -> Actual height -> auto\n */\nconst HEIGHT_EXPANDED = 'auto';\nconst HEIGHT_COLLAPSED = '0px';\n\nconst StyledCollapsibleBodyContent = styled(BaseBox)<StyledCollapsibleBodyContentProps>((props) => {\n const { theme, defaultIsExpanded, isExpanded } = props;\n const transitionDuration = castWebType(getTransitionDuration(theme));\n const transitionTimingFunction = castWebType(getTransitionEasing(theme));\n\n return {\n transitionDuration,\n transitionTimingFunction,\n transitionProperty: 'height, opacity',\n opacity: getOpacity({ isExpanded }),\n /**\n * We need height explicitly here for initial styles because the component might be rendered on server,\n * in which case for expanded items this should be `auto` because we don't know the actual pixel value.\n *\n * This is based on `defaultIsExpanded` rather than `isExpanded` because post initial render inline styles take over.\n * Otherwise, changing `height` both here and in inline styles sometimes causes animation flickers due to styles mismatch.\n */\n height: defaultIsExpanded ? HEIGHT_EXPANDED : HEIGHT_COLLAPSED,\n display: defaultIsExpanded ? 'block' : 'none',\n overflowY: 'hidden',\n };\n});\n\nconst CollapsibleBodyContent = ({ children }: CollapsibleBodyContentProps): ReactElement => {\n const { isExpanded, defaultIsExpanded, direction } = useCollapsible();\n const collapsibleBodyContentRef = useRef<HTMLDivElement>(null);\n\n /**\n * This effect imperatively updates height to make css transitions work:\n * - for expanded items: auto height -> actual height -> 0px\n * - for collapsed items: 0px -> actual height -> auto height\n * - uses `requestAnimationFrame` to set the styles just before the next repaint\n */\n useDidUpdate(() => {\n const collapsibleBodyContentElement = collapsibleBodyContentRef.current;\n\n if (!collapsibleBodyContentElement) {\n return;\n }\n\n // In collapsed state display is set to none, change it back to block\n collapsibleBodyContentElement.style.display = 'block';\n const actualHeight = collapsibleBodyContentElement.scrollHeight;\n\n if (!isExpanded) {\n // collapse\n requestAnimationFrame(() => {\n collapsibleBodyContentElement.style.height = makeSize(actualHeight);\n\n requestAnimationFrame(() => {\n collapsibleBodyContentElement.style.height = makeSize(0);\n });\n });\n } else {\n // expand\n requestAnimationFrame(() => {\n collapsibleBodyContentElement.style.height = makeSize(0);\n\n requestAnimationFrame(() => {\n collapsibleBodyContentElement.style.height = makeSize(actualHeight);\n\n /**\n * After this we want to wait for the animation to finish\n * before setting the height back to auto\n *\n * `onTransitionEnd` takes over\n */\n });\n });\n }\n }, [isExpanded]);\n\n /**\n * When expanding, waits for the animation to finish first.\n * Then sets the height of expanded item to auto from actual height.\n */\n const onTransitionEnd: TransitionEventHandler = ({ propertyName }) => {\n const collapsibleBodyContentElement = collapsibleBodyContentRef.current;\n if (propertyName === 'height' && collapsibleBodyContentElement) {\n if (isExpanded) {\n // Body content has expanded and finished animating at this point\n requestAnimationFrame(() => {\n collapsibleBodyContentElement.style.height = HEIGHT_EXPANDED;\n });\n } else {\n // Body content has collapsed\n requestAnimationFrame(() => {\n collapsibleBodyContentElement.style.display = 'none';\n });\n }\n }\n };\n\n return (\n <StyledCollapsibleBodyContent\n ref={collapsibleBodyContentRef}\n isExpanded={isExpanded}\n defaultIsExpanded={defaultIsExpanded}\n onTransitionEnd={onTransitionEnd}\n >\n <Box {...getCollapsibleBodyContentBoxProps({ direction })}>{children}</Box>\n </StyledCollapsibleBodyContent>\n );\n};\n\nexport { CollapsibleBodyContent };\n"],"names":["HEIGHT_EXPANDED","HEIGHT_COLLAPSED","StyledCollapsibleBodyContent","styled","BaseBox","withConfig","displayName","componentId","props","theme","defaultIsExpanded","isExpanded","transitionDuration","castWebType","getTransitionDuration","transitionTimingFunction","getTransitionEasing","transitionProperty","opacity","getOpacity","height","display","overflowY","CollapsibleBodyContent","_ref","children","_useCollapsible","useCollapsible","direction","collapsibleBodyContentRef","useRef","useDidUpdate","collapsibleBodyContentElement","current","style","actualHeight","scrollHeight","requestAnimationFrame","makeSize","onTransitionEnd","_ref2","propertyName","_jsx","ref","Box","_objectSpread","getCollapsibleBodyContentBoxProps"],"mappings":"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"}
1
+ {"version":3,"file":"CollapsibleBodyContent.web.js","sources":["../../../../../../src/components/Collapsible/CollapsibleBodyContent.web.tsx"],"sourcesContent":["import type { ReactElement, TransitionEventHandler } from 'react';\nimport { useRef } from 'react';\nimport styled from 'styled-components';\nimport { useCollapsible } from './CollapsibleContext';\nimport type { CollapsibleBodyContentProps } from './types';\nimport {\n getCollapsibleBodyContentBoxProps,\n getOpacity,\n getTransitionDuration,\n getTransitionEasing,\n} from './commonStyles';\nimport { castWebType, makeSize } from '~utils';\nimport { Box } from '~components/Box';\nimport { useDidUpdate } from '~utils/useDidUpdate';\nimport BaseBox from '~components/Box/BaseBox';\n\ntype StyledCollapsibleBodyContentProps = {\n defaultIsExpanded: boolean;\n isExpanded: boolean;\n};\n\n/**\n * We can't animate to and from `auto` height, these are used for imperative css transitions.\n * Overall on expanding height will change as: 0px -> Actual height -> auto\n */\nconst HEIGHT_EXPANDED = 'auto';\nconst HEIGHT_COLLAPSED = '0px';\n\nconst StyledCollapsibleBodyContent = styled(BaseBox)<StyledCollapsibleBodyContentProps>((props) => {\n const { theme, defaultIsExpanded, isExpanded } = props;\n const transitionDuration = castWebType(getTransitionDuration(theme));\n const transitionTimingFunction = castWebType(getTransitionEasing(theme));\n\n return {\n transitionDuration,\n transitionTimingFunction,\n transitionProperty: 'height, opacity',\n opacity: getOpacity({ isExpanded }),\n /**\n * We need height explicitly here for initial styles because the component might be rendered on server,\n * in which case for expanded items this should be `auto` because we don't know the actual pixel value.\n *\n * This is based on `defaultIsExpanded` rather than `isExpanded` because post initial render inline styles take over.\n * Otherwise, changing `height` both here and in inline styles sometimes causes animation flickers due to styles mismatch.\n */\n height: defaultIsExpanded ? HEIGHT_EXPANDED : HEIGHT_COLLAPSED,\n display: defaultIsExpanded ? 'block' : 'none',\n overflowY: 'hidden',\n };\n});\n\nconst CollapsibleBodyContent = ({\n children,\n _hasMargin,\n}: CollapsibleBodyContentProps): ReactElement => {\n const { isExpanded, defaultIsExpanded, direction } = useCollapsible();\n const collapsibleBodyContentRef = useRef<HTMLDivElement>(null);\n\n /**\n * This effect imperatively updates height to make css transitions work:\n * - for expanded items: auto height -> actual height -> 0px\n * - for collapsed items: 0px -> actual height -> auto height\n * - uses `requestAnimationFrame` to set the styles just before the next repaint\n */\n useDidUpdate(() => {\n const collapsibleBodyContentElement = collapsibleBodyContentRef.current;\n\n if (!collapsibleBodyContentElement) {\n return;\n }\n\n // In collapsed state display is set to none, change it back to block\n collapsibleBodyContentElement.style.display = 'block';\n const actualHeight = collapsibleBodyContentElement.scrollHeight;\n\n if (!isExpanded) {\n // collapse\n requestAnimationFrame(() => {\n collapsibleBodyContentElement.style.height = makeSize(actualHeight);\n\n requestAnimationFrame(() => {\n collapsibleBodyContentElement.style.height = makeSize(0);\n });\n });\n } else {\n // expand\n requestAnimationFrame(() => {\n collapsibleBodyContentElement.style.height = makeSize(0);\n\n requestAnimationFrame(() => {\n collapsibleBodyContentElement.style.height = makeSize(actualHeight);\n\n /**\n * After this we want to wait for the animation to finish\n * before setting the height back to auto\n *\n * `onTransitionEnd` takes over\n */\n });\n });\n }\n }, [isExpanded]);\n\n /**\n * When expanding, waits for the animation to finish first.\n * Then sets the height of expanded item to auto from actual height.\n */\n const onTransitionEnd: TransitionEventHandler = ({ propertyName }) => {\n const collapsibleBodyContentElement = collapsibleBodyContentRef.current;\n if (propertyName === 'height' && collapsibleBodyContentElement) {\n if (isExpanded) {\n // Body content has expanded and finished animating at this point\n requestAnimationFrame(() => {\n collapsibleBodyContentElement.style.height = HEIGHT_EXPANDED;\n });\n } else {\n // Body content has collapsed\n requestAnimationFrame(() => {\n collapsibleBodyContentElement.style.display = 'none';\n });\n }\n }\n };\n\n return (\n <StyledCollapsibleBodyContent\n ref={collapsibleBodyContentRef}\n isExpanded={isExpanded}\n defaultIsExpanded={defaultIsExpanded}\n onTransitionEnd={onTransitionEnd}\n >\n <Box {...getCollapsibleBodyContentBoxProps({ direction, _hasMargin })}>{children}</Box>\n </StyledCollapsibleBodyContent>\n );\n};\n\nexport { CollapsibleBodyContent };\n"],"names":["HEIGHT_EXPANDED","HEIGHT_COLLAPSED","StyledCollapsibleBodyContent","styled","BaseBox","withConfig","displayName","componentId","props","theme","defaultIsExpanded","isExpanded","transitionDuration","castWebType","getTransitionDuration","transitionTimingFunction","getTransitionEasing","transitionProperty","opacity","getOpacity","height","display","overflowY","CollapsibleBodyContent","_ref","children","_hasMargin","_useCollapsible","useCollapsible","direction","collapsibleBodyContentRef","useRef","useDidUpdate","collapsibleBodyContentElement","current","style","actualHeight","scrollHeight","requestAnimationFrame","makeSize","onTransitionEnd","_ref2","propertyName","_jsx","ref","Box","_objectSpread","getCollapsibleBodyContentBoxProps"],"mappings":"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"}
@@ -1,20 +1,30 @@
1
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
+ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
1
3
  import { useCallback } from 'react';
2
4
  import { useCollapsible } from './CollapsibleContext.js';
3
5
  import { CollapsibleChevronIcon } from './CollapsibleChevronIcon.web.js';
4
6
  import '../../utils/metaAttribute/index.js';
5
7
  import '../Link/BaseLink/index.js';
6
8
  import '../../utils/assignWithoutSideEffects/index.js';
9
+ import '../Box/styledProps/index.js';
7
10
  import { jsx } from 'react/jsx-runtime';
8
11
  import BaseLink from '../Link/BaseLink/BaseLink.js';
12
+ import { getStyledProps } from '../Box/styledProps/getStyledProps.js';
9
13
  import { assignWithoutSideEffects } from '../../utils/assignWithoutSideEffects/assignWithoutSideEffects.js';
10
14
  import { MetaConstants } from '../../utils/metaAttribute/metaConstants.js';
11
15
 
16
+ var _excluded = ["children", "size", "color", "isDisabled", "testID", "accessibilityLabel"];
17
+ 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; }
18
+ 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; }
12
19
  var _CollapsibleLink = function _CollapsibleLink(_ref) {
13
20
  var children = _ref.children,
14
21
  size = _ref.size,
22
+ _ref$color = _ref.color,
23
+ color = _ref$color === void 0 ? 'primary' : _ref$color,
15
24
  isDisabled = _ref.isDisabled,
16
25
  testID = _ref.testID,
17
- accessibilityLabel = _ref.accessibilityLabel;
26
+ accessibilityLabel = _ref.accessibilityLabel,
27
+ styledProps = _objectWithoutProperties(_ref, _excluded);
18
28
  var _useCollapsible = useCollapsible(),
19
29
  onExpandChange = _useCollapsible.onExpandChange,
20
30
  isExpanded = _useCollapsible.isExpanded,
@@ -22,9 +32,10 @@ var _CollapsibleLink = function _CollapsibleLink(_ref) {
22
32
  var toggleIsExpanded = useCallback(function () {
23
33
  return onExpandChange(!isExpanded);
24
34
  }, [onExpandChange, isExpanded]);
25
- return /*#__PURE__*/jsx(BaseLink, {
35
+ return /*#__PURE__*/jsx(BaseLink, _objectSpread(_objectSpread({
26
36
  variant: "button",
27
37
  size: size,
38
+ color: color,
28
39
  icon: CollapsibleChevronIcon,
29
40
  iconPosition: "right",
30
41
  isDisabled: isDisabled,
@@ -34,9 +45,10 @@ var _CollapsibleLink = function _CollapsibleLink(_ref) {
34
45
  label: accessibilityLabel,
35
46
  controls: collapsibleBodyId,
36
47
  expanded: isExpanded
37
- },
48
+ }
49
+ }, getStyledProps(styledProps)), {}, {
38
50
  children: children
39
- });
51
+ }));
40
52
  };
41
53
  var CollapsibleLink = /*#__PURE__*/assignWithoutSideEffects(_CollapsibleLink, {
42
54
  componentId: MetaConstants.CollapsibleLink
@@ -1 +1 @@
1
- {"version":3,"file":"CollapsibleLink.js","sources":["../../../../../../src/components/Collapsible/CollapsibleLink.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport { useCallback } from 'react';\nimport { useCollapsible } from './CollapsibleContext';\nimport { CollapsibleChevronIcon } from './CollapsibleChevronIcon';\nimport type { LinkProps } from '~components/Link';\nimport { MetaConstants } from '~utils/metaAttribute';\nimport { BaseLink } from '~components/Link/BaseLink';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\n\ntype CollapsibleLinkProps = Pick<\n LinkProps,\n 'size' | 'isDisabled' | 'testID' | 'accessibilityLabel' | 'children'\n>;\n\nconst _CollapsibleLink = ({\n children,\n size,\n isDisabled,\n testID,\n accessibilityLabel,\n}: CollapsibleLinkProps): ReactElement => {\n const { onExpandChange, isExpanded, collapsibleBodyId } = useCollapsible();\n\n const toggleIsExpanded = useCallback(() => onExpandChange(!isExpanded), [\n onExpandChange,\n isExpanded,\n ]);\n\n return (\n <BaseLink\n variant=\"button\"\n size={size}\n icon={CollapsibleChevronIcon}\n iconPosition=\"right\"\n isDisabled={isDisabled}\n testID={testID}\n onClick={toggleIsExpanded}\n accessibilityProps={{\n label: accessibilityLabel,\n controls: collapsibleBodyId,\n expanded: isExpanded,\n }}\n >\n {children}\n </BaseLink>\n );\n};\n\nconst CollapsibleLink = assignWithoutSideEffects(_CollapsibleLink, {\n componentId: MetaConstants.CollapsibleLink,\n});\n\nexport type { CollapsibleLinkProps };\nexport { CollapsibleLink };\n"],"names":["_CollapsibleLink","_ref","children","size","isDisabled","testID","accessibilityLabel","_useCollapsible","useCollapsible","onExpandChange","isExpanded","collapsibleBodyId","toggleIsExpanded","useCallback","_jsx","BaseLink","variant","icon","CollapsibleChevronIcon","iconPosition","onClick","accessibilityProps","label","controls","expanded","CollapsibleLink","assignWithoutSideEffects","componentId","MetaConstants"],"mappings":";;;;;;;;;;;AAcA,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAC,IAAA,EAMoB;AAAA,EAAA,IALxCC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IACRC,IAAI,GAAAF,IAAA,CAAJE,IAAI;IACJC,UAAU,GAAAH,IAAA,CAAVG,UAAU;IACVC,MAAM,GAAAJ,IAAA,CAANI,MAAM;IACNC,kBAAkB,GAAAL,IAAA,CAAlBK,kBAAkB,CAAA;AAElB,EAAA,IAAAC,eAAA,GAA0DC,cAAc,EAAE;IAAlEC,cAAc,GAAAF,eAAA,CAAdE,cAAc;IAAEC,UAAU,GAAAH,eAAA,CAAVG,UAAU;IAAEC,iBAAiB,GAAAJ,eAAA,CAAjBI,iBAAiB,CAAA;EAErD,IAAMC,gBAAgB,GAAGC,WAAW,CAAC,YAAA;AAAA,IAAA,OAAMJ,cAAc,CAAC,CAACC,UAAU,CAAC,CAAA;AAAA,GAAA,EAAE,CACtED,cAAc,EACdC,UAAU,CACX,CAAC,CAAA;EAEF,oBACEI,GAAA,CAACC,QAAQ,EAAA;AACPC,IAAAA,OAAO,EAAC,QAAQ;AAChBb,IAAAA,IAAI,EAAEA,IAAK;AACXc,IAAAA,IAAI,EAAEC,sBAAuB;AAC7BC,IAAAA,YAAY,EAAC,OAAO;AACpBf,IAAAA,UAAU,EAAEA,UAAW;AACvBC,IAAAA,MAAM,EAAEA,MAAO;AACfe,IAAAA,OAAO,EAAER,gBAAiB;AAC1BS,IAAAA,kBAAkB,EAAE;AAClBC,MAAAA,KAAK,EAAEhB,kBAAkB;AACzBiB,MAAAA,QAAQ,EAAEZ,iBAAiB;AAC3Ba,MAAAA,QAAQ,EAAEd,UAAAA;KACV;AAAAR,IAAAA,QAAA,EAEDA,QAAAA;AAAQ,GACD,CAAC,CAAA;AAEf,CAAC,CAAA;AAED,IAAMuB,eAAe,gBAAGC,wBAAwB,CAAC1B,gBAAgB,EAAE;EACjE2B,WAAW,EAAEC,aAAa,CAACH,eAAAA;AAC7B,CAAC;;;;"}
1
+ {"version":3,"file":"CollapsibleLink.js","sources":["../../../../../../src/components/Collapsible/CollapsibleLink.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport { useCallback } from 'react';\nimport { useCollapsible } from './CollapsibleContext';\nimport { CollapsibleChevronIcon } from './CollapsibleChevronIcon';\nimport type { LinkProps } from '~components/Link';\nimport { MetaConstants } from '~utils/metaAttribute';\nimport { BaseLink } from '~components/Link/BaseLink';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport type { StyledPropsBlade } from '~components/Box/styledProps';\nimport { getStyledProps } from '~components/Box/styledProps';\n\ntype CollapsibleLinkProps = Pick<\n LinkProps,\n 'color' | 'size' | 'isDisabled' | 'testID' | 'accessibilityLabel' | 'children'\n> &\n StyledPropsBlade;\n\nconst _CollapsibleLink = ({\n children,\n size,\n color = 'primary',\n isDisabled,\n testID,\n accessibilityLabel,\n ...styledProps\n}: CollapsibleLinkProps): ReactElement => {\n const { onExpandChange, isExpanded, collapsibleBodyId } = useCollapsible();\n\n const toggleIsExpanded = useCallback(() => onExpandChange(!isExpanded), [\n onExpandChange,\n isExpanded,\n ]);\n\n return (\n <BaseLink\n variant=\"button\"\n size={size}\n color={color}\n icon={CollapsibleChevronIcon}\n iconPosition=\"right\"\n isDisabled={isDisabled}\n testID={testID}\n onClick={toggleIsExpanded}\n accessibilityProps={{\n label: accessibilityLabel,\n controls: collapsibleBodyId,\n expanded: isExpanded,\n }}\n {...getStyledProps(styledProps)}\n >\n {children}\n </BaseLink>\n );\n};\n\nconst CollapsibleLink = assignWithoutSideEffects(_CollapsibleLink, {\n componentId: MetaConstants.CollapsibleLink,\n});\n\nexport type { CollapsibleLinkProps };\nexport { CollapsibleLink };\n"],"names":["_CollapsibleLink","_ref","children","size","_ref$color","color","isDisabled","testID","accessibilityLabel","styledProps","_objectWithoutProperties","_excluded","_useCollapsible","useCollapsible","onExpandChange","isExpanded","collapsibleBodyId","toggleIsExpanded","useCallback","_jsx","BaseLink","_objectSpread","variant","icon","CollapsibleChevronIcon","iconPosition","onClick","accessibilityProps","label","controls","expanded","getStyledProps","CollapsibleLink","assignWithoutSideEffects","componentId","MetaConstants"],"mappings":";;;;;;;;;;;;;;;;;;AAiBA,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAC,IAAA,EAQoB;AAAA,EAAA,IAPxCC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IACRC,IAAI,GAAAF,IAAA,CAAJE,IAAI;IAAAC,UAAA,GAAAH,IAAA,CACJI,KAAK;AAALA,IAAAA,KAAK,GAAAD,UAAA,KAAG,KAAA,CAAA,GAAA,SAAS,GAAAA,UAAA;IACjBE,UAAU,GAAAL,IAAA,CAAVK,UAAU;IACVC,MAAM,GAAAN,IAAA,CAANM,MAAM;IACNC,kBAAkB,GAAAP,IAAA,CAAlBO,kBAAkB;AACfC,IAAAA,WAAW,GAAAC,wBAAA,CAAAT,IAAA,EAAAU,SAAA,CAAA,CAAA;AAEd,EAAA,IAAAC,eAAA,GAA0DC,cAAc,EAAE;IAAlEC,cAAc,GAAAF,eAAA,CAAdE,cAAc;IAAEC,UAAU,GAAAH,eAAA,CAAVG,UAAU;IAAEC,iBAAiB,GAAAJ,eAAA,CAAjBI,iBAAiB,CAAA;EAErD,IAAMC,gBAAgB,GAAGC,WAAW,CAAC,YAAA;AAAA,IAAA,OAAMJ,cAAc,CAAC,CAACC,UAAU,CAAC,CAAA;AAAA,GAAA,EAAE,CACtED,cAAc,EACdC,UAAU,CACX,CAAC,CAAA;AAEF,EAAA,oBACEI,GAAA,CAACC,QAAQ,EAAAC,aAAA,CAAAA,aAAA,CAAA;AACPC,IAAAA,OAAO,EAAC,QAAQ;AAChBnB,IAAAA,IAAI,EAAEA,IAAK;AACXE,IAAAA,KAAK,EAAEA,KAAM;AACbkB,IAAAA,IAAI,EAAEC,sBAAuB;AAC7BC,IAAAA,YAAY,EAAC,OAAO;AACpBnB,IAAAA,UAAU,EAAEA,UAAW;AACvBC,IAAAA,MAAM,EAAEA,MAAO;AACfmB,IAAAA,OAAO,EAAET,gBAAiB;AAC1BU,IAAAA,kBAAkB,EAAE;AAClBC,MAAAA,KAAK,EAAEpB,kBAAkB;AACzBqB,MAAAA,QAAQ,EAAEb,iBAAiB;AAC3Bc,MAAAA,QAAQ,EAAEf,UAAAA;AACZ,KAAA;GACIgB,EAAAA,cAAc,CAACtB,WAAW,CAAC,CAAA,EAAA,EAAA,EAAA;AAAAP,IAAAA,QAAA,EAE9BA,QAAAA;AAAQ,GAAA,CACD,CAAC,CAAA;AAEf,CAAC,CAAA;AAED,IAAM8B,eAAe,gBAAGC,wBAAwB,CAACjC,gBAAgB,EAAE;EACjEkC,WAAW,EAAEC,aAAa,CAACH,eAAAA;AAC7B,CAAC;;;;"}
@@ -2,7 +2,11 @@ import '../../utils/index.js';
2
2
  import { makeMotionTime } from '../../utils/makeMotionTime/makeMotionTime.web.js';
3
3
 
4
4
  var getCollapsibleBodyContentBoxProps = function getCollapsibleBodyContentBoxProps(_ref) {
5
- var direction = _ref.direction;
5
+ var direction = _ref.direction,
6
+ _hasMargin = _ref._hasMargin;
7
+ if (!_hasMargin) {
8
+ return {};
9
+ }
6
10
  return {
7
11
  /**
8
12
  * Need a margin inside the outside wrapper so this is
@@ -1 +1 @@
1
- {"version":3,"file":"commonStyles.js","sources":["../../../../../../src/components/Collapsible/commonStyles.ts"],"sourcesContent":["import type { CollapsibleProps } from './Collapsible';\nimport type { Theme } from '~components/BladeProvider';\nimport type { BoxProps } from '~components/Box';\nimport { makeMotionTime } from '~utils';\n\nconst getCollapsibleBodyContentBoxProps = ({\n direction,\n}: {\n direction: CollapsibleProps['direction'];\n}): BoxProps => ({\n /**\n * Need a margin inside the outside wrapper so this is\n * included in height calculations and prevents jank\n */\n marginTop: direction === 'bottom' ? 'spacing.5' : 'spacing.0',\n marginBottom: direction === 'top' ? 'spacing.5' : 'spacing.0',\n});\n\nconst getOpacity = ({ isExpanded }: { isExpanded: boolean }): number => (isExpanded ? 1 : 0.8);\n\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type\nconst getTransitionDuration = (theme: Theme) => makeMotionTime(theme.motion.duration.xmoderate);\n\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type\nconst getTransitionEasing = (theme: Theme) => theme.motion.easing.standard.effective;\n\nconst getCollapsibleChevronIconTransforms = (): {\n transformExpanded: number;\n transformCollapsed: number;\n} => ({ transformExpanded: -180, transformCollapsed: 0 });\n\nexport {\n getCollapsibleBodyContentBoxProps,\n getOpacity,\n getTransitionDuration,\n getTransitionEasing,\n getCollapsibleChevronIconTransforms,\n};\n"],"names":["getCollapsibleBodyContentBoxProps","_ref","direction","marginTop","marginBottom","getOpacity","_ref2","isExpanded","getTransitionDuration","theme","makeMotionTime","motion","duration","xmoderate","getTransitionEasing","easing","standard","effective","getCollapsibleChevronIconTransforms","transformExpanded","transformCollapsed"],"mappings":";;;AAKA,IAAMA,iCAAiC,GAAG,SAApCA,iCAAiCA,CAAAC,IAAA,EAAA;AAAA,EAAA,IACrCC,SAAS,GAAAD,IAAA,CAATC,SAAS,CAAA;EAAA,OAGM;AACf;AACF;AACA;AACA;AACEC,IAAAA,SAAS,EAAED,SAAS,KAAK,QAAQ,GAAG,WAAW,GAAG,WAAW;AAC7DE,IAAAA,YAAY,EAAEF,SAAS,KAAK,KAAK,GAAG,WAAW,GAAG,WAAA;GACnD,CAAA;AAAA,EAAC;AAEF,IAAMG,UAAU,GAAG,SAAbA,UAAUA,CAAAC,KAAA,EAAA;AAAA,EAAA,IAAMC,UAAU,GAAAD,KAAA,CAAVC,UAAU,CAAA;AAAA,EAAA,OAAyCA,UAAU,GAAG,CAAC,GAAG,GAAG,CAAA;AAAA,EAAC;;AAE9F;AACA,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAIC,KAAY,EAAA;EAAA,OAAKC,cAAc,CAACD,KAAK,CAACE,MAAM,CAACC,QAAQ,CAACC,SAAS,CAAC,CAAA;AAAA,EAAA;;AAE/F;AACA,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAIL,KAAY,EAAA;EAAA,OAAKA,KAAK,CAACE,MAAM,CAACI,MAAM,CAACC,QAAQ,CAACC,SAAS,CAAA;AAAA,EAAA;AAEpF,IAAMC,mCAAmC,GAAG,SAAtCA,mCAAmCA,GAAA;EAAA,OAGnC;IAAEC,iBAAiB,EAAE,CAAC,GAAG;AAAEC,IAAAA,kBAAkB,EAAE,CAAA;GAAG,CAAA;AAAA;;;;"}
1
+ {"version":3,"file":"commonStyles.js","sources":["../../../../../../src/components/Collapsible/commonStyles.ts"],"sourcesContent":["import type { CollapsibleProps } from './Collapsible';\nimport type { CollapsibleBodyProps } from './types';\nimport type { Theme } from '~components/BladeProvider';\nimport type { BoxProps } from '~components/Box';\nimport { makeMotionTime } from '~utils';\n\nconst getCollapsibleBodyContentBoxProps = ({\n direction,\n _hasMargin,\n}: {\n direction: CollapsibleProps['direction'];\n _hasMargin: CollapsibleBodyProps['_hasMargin'];\n}): BoxProps => {\n if (!_hasMargin) {\n return {};\n }\n\n return {\n /**\n * Need a margin inside the outside wrapper so this is\n * included in height calculations and prevents jank\n */\n marginTop: direction === 'bottom' ? 'spacing.5' : 'spacing.0',\n marginBottom: direction === 'top' ? 'spacing.5' : 'spacing.0',\n };\n};\n\nconst getOpacity = ({ isExpanded }: { isExpanded: boolean }): number => (isExpanded ? 1 : 0.8);\n\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type\nconst getTransitionDuration = (theme: Theme) => makeMotionTime(theme.motion.duration.xmoderate);\n\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type\nconst getTransitionEasing = (theme: Theme) => theme.motion.easing.standard.effective;\n\nconst getCollapsibleChevronIconTransforms = (): {\n transformExpanded: number;\n transformCollapsed: number;\n} => ({ transformExpanded: -180, transformCollapsed: 0 });\n\nexport {\n getCollapsibleBodyContentBoxProps,\n getOpacity,\n getTransitionDuration,\n getTransitionEasing,\n getCollapsibleChevronIconTransforms,\n};\n"],"names":["getCollapsibleBodyContentBoxProps","_ref","direction","_hasMargin","marginTop","marginBottom","getOpacity","_ref2","isExpanded","getTransitionDuration","theme","makeMotionTime","motion","duration","xmoderate","getTransitionEasing","easing","standard","effective","getCollapsibleChevronIconTransforms","transformExpanded","transformCollapsed"],"mappings":";;;AAMA,IAAMA,iCAAiC,GAAG,SAApCA,iCAAiCA,CAAAC,IAAA,EAMvB;AAAA,EAAA,IALdC,SAAS,GAAAD,IAAA,CAATC,SAAS;IACTC,UAAU,GAAAF,IAAA,CAAVE,UAAU,CAAA;EAKV,IAAI,CAACA,UAAU,EAAE;AACf,IAAA,OAAO,EAAE,CAAA;AACX,GAAA;EAEA,OAAO;AACL;AACJ;AACA;AACA;AACIC,IAAAA,SAAS,EAAEF,SAAS,KAAK,QAAQ,GAAG,WAAW,GAAG,WAAW;AAC7DG,IAAAA,YAAY,EAAEH,SAAS,KAAK,KAAK,GAAG,WAAW,GAAG,WAAA;GACnD,CAAA;AACH,EAAC;AAED,IAAMI,UAAU,GAAG,SAAbA,UAAUA,CAAAC,KAAA,EAAA;AAAA,EAAA,IAAMC,UAAU,GAAAD,KAAA,CAAVC,UAAU,CAAA;AAAA,EAAA,OAAyCA,UAAU,GAAG,CAAC,GAAG,GAAG,CAAA;AAAA,EAAC;;AAE9F;AACA,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAIC,KAAY,EAAA;EAAA,OAAKC,cAAc,CAACD,KAAK,CAACE,MAAM,CAACC,QAAQ,CAACC,SAAS,CAAC,CAAA;AAAA,EAAA;;AAE/F;AACA,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAIL,KAAY,EAAA;EAAA,OAAKA,KAAK,CAACE,MAAM,CAACI,MAAM,CAACC,QAAQ,CAACC,SAAS,CAAA;AAAA,EAAA;AAEpF,IAAMC,mCAAmC,GAAG,SAAtCA,mCAAmCA,GAAA;EAAA,OAGnC;IAAEC,iBAAiB,EAAE,CAAC,GAAG;AAAEC,IAAAA,kBAAkB,EAAE,CAAA;GAAG,CAAA;AAAA;;;;"}
@@ -3,11 +3,12 @@ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
3
3
  import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
4
4
  import dayjs from 'dayjs';
5
5
  import 'react';
6
- import { useDatesContext, shiftTimezone, DatePicker } from '@mantine/dates';
6
+ import { useDatesContext, DatePicker } from '@mantine/dates';
7
7
  import { CalendarHeader } from './CalendarHeader.web.js';
8
8
  import { CalendarStyles, CalendarGradientStyles } from './CalendarStyles.web.js';
9
9
  import { useUncontrolledDates } from './useControlledDates.js';
10
10
  import { pickerToLevel, levelToPicker, classes } from './constants.js';
11
+ import { shiftTimezone } from './shiftTimezone.js';
11
12
  import { useControllableState } from '../../utils/useControllable.js';
12
13
  import { useIsMobile } from '../../utils/useIsMobile.js';
13
14
  import '../../utils/logger/index.js';
@@ -66,7 +67,7 @@ var Calendar = function Calendar(_ref) {
66
67
  setDate = _useUncontrolledDates2[1];
67
68
  var dateContext = useDatesContext();
68
69
  var isMobile = useIsMobile();
69
- var currentDate = _date !== null && _date !== void 0 ? _date : shiftTimezone('add', new Date(), dateContext.getTimezone());
70
+ var currentDate = _date !== null && _date !== void 0 ? _date : shiftTimezone('add', new Date());
70
71
  var numberOfColumns = isMobile || !isRange ? 1 : 2;
71
72
  var columnsToScroll = numberOfColumns;
72
73
  var handleNextMonth = function handleNextMonth() {
@@ -162,10 +163,13 @@ var Calendar = function Calendar(_ref) {
162
163
  ,
163
164
  allowSingleDateInRange: allowSingleDateInRange,
164
165
  classNames: {
165
- levelsGroup: classes.levelsGroup,
166
+ monthLevelGroup: classes.levelsGroup,
167
+ yearLevelGroup: classes.levelsGroup,
168
+ decadeLevelGroup: classes.levelsGroup,
166
169
  day: classes.dayCell,
167
- monthsListControl: classes.monthsListControl,
168
- yearsListControl: classes.yearsListControl,
170
+ monthsListCell: classes.yearsListControl,
171
+ yearsListCell: classes.monthsListControl,
172
+ monthCell: classes.dayCell,
169
173
  calendarHeader: classes.calendarHeader,
170
174
  monthRow: classes.row,
171
175
  yearsListRow: classes.row,
@@ -1 +1 @@
1
- {"version":3,"file":"Calendar.web.js","sources":["../../../../../../src/components/DatePicker/Calendar.web.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/explicit-function-return-type */\nimport dayjs from 'dayjs';\nimport React from 'react';\nimport type { CalendarLevel } from '@mantine/dates';\nimport { shiftTimezone, useDatesContext, DatePicker } from '@mantine/dates';\nimport type { CalendarProps, DateSelectionType, PickerType, DateValue } from './types';\nimport { CalendarHeader } from './CalendarHeader';\nimport { CalendarGradientStyles, CalendarStyles } from './CalendarStyles';\nimport { useUncontrolledDates } from './useControlledDates';\nimport { levelToPicker, pickerToLevel, classes } from './constants';\nimport { useControllableState } from '~utils/useControllable';\nimport { useIsMobile } from '~utils/useIsMobile';\nimport { throwBladeError } from '~utils/logger';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\n\nconst Calendar = <Type extends DateSelectionType>({\n firstDayOfWeek = 0,\n selectionType,\n allowSingleDateInRange,\n defaultPicker = 'day',\n picker,\n onPickerChange,\n date,\n defaultDate,\n onDateChange,\n onNext,\n onPrevious,\n presets,\n ...props\n}: CalendarProps<Type> & {\n date?: Date;\n defaultDate?: Date;\n onDateChange?: (date: DateValue) => void;\n}): React.ReactElement => {\n const isRange = selectionType === 'range';\n\n const [level, setLevel] = useControllableState<CalendarLevel>({\n defaultValue: pickerToLevel[defaultPicker],\n value: pickerToLevel[picker!],\n onChange: (level) => {\n onPickerChange?.(levelToPicker[level]);\n },\n });\n\n if (__DEV__) {\n if (isRange && level !== 'month') {\n throwBladeError({\n message: `Cannot use range DatePicker with pickerType: ${levelToPicker[level]}, Only \"day\" is supported`,\n moduleName: 'DatePicker',\n });\n }\n }\n\n const [_date, setDate] = useUncontrolledDates({\n type: 'default',\n value: date,\n defaultValue: defaultDate,\n onChange: onDateChange,\n });\n\n const dateContext = useDatesContext();\n const isMobile = useIsMobile();\n const currentDate = _date ?? shiftTimezone('add', new Date(), dateContext.getTimezone());\n const numberOfColumns = isMobile || !isRange ? 1 : 2;\n const columnsToScroll = numberOfColumns;\n\n const handleNextMonth = () => {\n const nextDate = dayjs(currentDate).add(columnsToScroll, 'month').toDate();\n onNext?.({ date: nextDate, type: 'month' });\n setDate(nextDate);\n };\n\n const handlePreviousMonth = () => {\n const nextDate = dayjs(currentDate).subtract(columnsToScroll, 'month').toDate();\n onPrevious?.({ date: nextDate, type: 'month' });\n setDate(nextDate);\n };\n\n const handleNextYear = () => {\n const nextDate = dayjs(currentDate).add(columnsToScroll, 'year').toDate();\n onNext?.({ date: nextDate, type: 'year' });\n setDate(nextDate);\n };\n\n const handlePreviousYear = () => {\n const nextDate = dayjs(currentDate).subtract(columnsToScroll, 'year').toDate();\n onPrevious?.({ date: nextDate, type: 'year' });\n setDate(nextDate);\n };\n\n const handleNextDecade = () => {\n const nextDate = dayjs(currentDate)\n .add(10 * columnsToScroll, 'year')\n .toDate();\n onNext?.({ date: nextDate, type: 'decade' });\n setDate(nextDate);\n };\n\n const handlePreviousDecade = () => {\n const nextDate = dayjs(currentDate)\n .subtract(10 * columnsToScroll, 'year')\n .toDate();\n onPrevious?.({ date: nextDate, type: 'decade' });\n setDate(nextDate);\n };\n\n return (\n <CalendarStyles\n display=\"flex\"\n flexDirection=\"column\"\n gap=\"spacing.7\"\n pickerType={levelToPicker[level]}\n {...metaAttribute({ name: MetaConstants.Calendar })}\n >\n <CalendarHeader\n isRange={isRange}\n date={currentDate}\n onLevelChange={(level) => setLevel(() => level)}\n pickerType={levelToPicker[level] as PickerType}\n onNextMonth={handleNextMonth}\n onPreviousMonth={handlePreviousMonth}\n onNextDecade={handleNextDecade}\n onPreviousDecade={handlePreviousDecade}\n onNextYear={handleNextYear}\n onPreviousYear={handlePreviousYear}\n />\n <CalendarGradientStyles isRange={isRange} date={currentDate}>\n <DatePicker\n withCellSpacing={false}\n type={isRange ? 'range' : 'default'}\n date={_date}\n locale={dateContext.locale}\n level={level}\n onDateChange={setDate}\n onLevelChange={(level) => setLevel(() => level)}\n numberOfColumns={numberOfColumns}\n weekdayFormat=\"ddd\"\n firstDayOfWeek={firstDayOfWeek}\n // @ts-expect-error unable to narrow props based on `type`\n allowSingleDateInRange={allowSingleDateInRange}\n classNames={{\n levelsGroup: classes.levelsGroup,\n day: classes.dayCell,\n monthsListControl: classes.monthsListControl,\n yearsListControl: classes.yearsListControl,\n calendarHeader: classes.calendarHeader,\n monthRow: classes.row,\n yearsListRow: classes.row,\n monthsListRow: classes.row,\n weekdaysRow: classes.row,\n weekday: classes.weekday,\n }}\n {...props}\n />\n </CalendarGradientStyles>\n </CalendarStyles>\n );\n};\n\nexport { Calendar };\n"],"names":["Calendar","_ref","_ref$firstDayOfWeek","firstDayOfWeek","selectionType","allowSingleDateInRange","_ref$defaultPicker","defaultPicker","picker","onPickerChange","date","defaultDate","onDateChange","onNext","onPrevious","presets","props","_objectWithoutProperties","_excluded","isRange","_useControllableState","useControllableState","defaultValue","pickerToLevel","value","onChange","level","levelToPicker","_useControllableState2","_slicedToArray","setLevel","throwBladeError","message","concat","moduleName","_useUncontrolledDates","useUncontrolledDates","type","_useUncontrolledDates2","_date","setDate","dateContext","useDatesContext","isMobile","useIsMobile","currentDate","shiftTimezone","Date","getTimezone","numberOfColumns","columnsToScroll","handleNextMonth","nextDate","dayjs","add","toDate","handlePreviousMonth","subtract","handleNextYear","handlePreviousYear","handleNextDecade","handlePreviousDecade","_jsxs","CalendarStyles","_objectSpread","display","flexDirection","gap","pickerType","metaAttribute","name","MetaConstants","children","_jsx","CalendarHeader","onLevelChange","onNextMonth","onPreviousMonth","onNextDecade","onPreviousDecade","onNextYear","onPreviousYear","CalendarGradientStyles","DatePicker","withCellSpacing","locale","weekdayFormat","classNames","levelsGroup","classes","day","dayCell","monthsListControl","yearsListControl","calendarHeader","monthRow","row","yearsListRow","monthsListRow","weekdaysRow","weekday"],"mappings":"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"}
1
+ {"version":3,"file":"Calendar.web.js","sources":["../../../../../../src/components/DatePicker/Calendar.web.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/explicit-function-return-type */\nimport dayjs from 'dayjs';\nimport React from 'react';\nimport type { CalendarLevel } from '@mantine/dates';\nimport { useDatesContext, DatePicker } from '@mantine/dates';\nimport type { CalendarProps, DateSelectionType, PickerType, DateValue } from './types';\nimport { CalendarHeader } from './CalendarHeader';\nimport { CalendarGradientStyles, CalendarStyles } from './CalendarStyles';\nimport { useUncontrolledDates } from './useControlledDates';\nimport { levelToPicker, pickerToLevel, classes } from './constants';\nimport { shiftTimezone } from './shiftTimezone';\nimport { useControllableState } from '~utils/useControllable';\nimport { useIsMobile } from '~utils/useIsMobile';\nimport { throwBladeError } from '~utils/logger';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\n\nconst Calendar = <Type extends DateSelectionType>({\n firstDayOfWeek = 0,\n selectionType,\n allowSingleDateInRange,\n defaultPicker = 'day',\n picker,\n onPickerChange,\n date,\n defaultDate,\n onDateChange,\n onNext,\n onPrevious,\n presets,\n ...props\n}: CalendarProps<Type> & {\n date?: Date;\n defaultDate?: Date;\n onDateChange?: (date: DateValue) => void;\n}): React.ReactElement => {\n const isRange = selectionType === 'range';\n\n const [level, setLevel] = useControllableState<CalendarLevel>({\n defaultValue: pickerToLevel[defaultPicker],\n value: pickerToLevel[picker!],\n onChange: (level) => {\n onPickerChange?.(levelToPicker[level]);\n },\n });\n\n if (__DEV__) {\n if (isRange && level !== 'month') {\n throwBladeError({\n message: `Cannot use range DatePicker with pickerType: ${levelToPicker[level]}, Only \"day\" is supported`,\n moduleName: 'DatePicker',\n });\n }\n }\n\n const [_date, setDate] = useUncontrolledDates({\n type: 'default',\n value: date,\n defaultValue: defaultDate,\n onChange: onDateChange,\n });\n\n const dateContext = useDatesContext();\n const isMobile = useIsMobile();\n const currentDate = _date ?? shiftTimezone('add', new Date());\n const numberOfColumns = isMobile || !isRange ? 1 : 2;\n const columnsToScroll = numberOfColumns;\n\n const handleNextMonth = () => {\n const nextDate = dayjs(currentDate).add(columnsToScroll, 'month').toDate();\n onNext?.({ date: nextDate, type: 'month' });\n setDate(nextDate);\n };\n\n const handlePreviousMonth = () => {\n const nextDate = dayjs(currentDate).subtract(columnsToScroll, 'month').toDate();\n onPrevious?.({ date: nextDate, type: 'month' });\n setDate(nextDate);\n };\n\n const handleNextYear = () => {\n const nextDate = dayjs(currentDate).add(columnsToScroll, 'year').toDate();\n onNext?.({ date: nextDate, type: 'year' });\n setDate(nextDate);\n };\n\n const handlePreviousYear = () => {\n const nextDate = dayjs(currentDate).subtract(columnsToScroll, 'year').toDate();\n onPrevious?.({ date: nextDate, type: 'year' });\n setDate(nextDate);\n };\n\n const handleNextDecade = () => {\n const nextDate = dayjs(currentDate)\n .add(10 * columnsToScroll, 'year')\n .toDate();\n onNext?.({ date: nextDate, type: 'decade' });\n setDate(nextDate);\n };\n\n const handlePreviousDecade = () => {\n const nextDate = dayjs(currentDate)\n .subtract(10 * columnsToScroll, 'year')\n .toDate();\n onPrevious?.({ date: nextDate, type: 'decade' });\n setDate(nextDate);\n };\n\n return (\n <CalendarStyles\n display=\"flex\"\n flexDirection=\"column\"\n gap=\"spacing.7\"\n pickerType={levelToPicker[level]}\n {...metaAttribute({ name: MetaConstants.Calendar })}\n >\n <CalendarHeader\n isRange={isRange}\n date={currentDate}\n onLevelChange={(level) => setLevel(() => level)}\n pickerType={levelToPicker[level] as PickerType}\n onNextMonth={handleNextMonth}\n onPreviousMonth={handlePreviousMonth}\n onNextDecade={handleNextDecade}\n onPreviousDecade={handlePreviousDecade}\n onNextYear={handleNextYear}\n onPreviousYear={handlePreviousYear}\n />\n <CalendarGradientStyles isRange={isRange} date={currentDate}>\n <DatePicker\n withCellSpacing={false}\n type={isRange ? 'range' : 'default'}\n date={_date}\n locale={dateContext.locale}\n level={level}\n onDateChange={setDate}\n onLevelChange={(level) => setLevel(() => level)}\n numberOfColumns={numberOfColumns}\n weekdayFormat=\"ddd\"\n firstDayOfWeek={firstDayOfWeek}\n // @ts-expect-error unable to narrow props based on `type`\n allowSingleDateInRange={allowSingleDateInRange}\n classNames={{\n monthLevelGroup: classes.levelsGroup,\n yearLevelGroup: classes.levelsGroup,\n decadeLevelGroup: classes.levelsGroup,\n day: classes.dayCell,\n monthsListCell: classes.yearsListControl,\n yearsListCell: classes.monthsListControl,\n monthCell: classes.dayCell,\n calendarHeader: classes.calendarHeader,\n monthRow: classes.row,\n yearsListRow: classes.row,\n monthsListRow: classes.row,\n weekdaysRow: classes.row,\n weekday: classes.weekday,\n }}\n {...props}\n />\n </CalendarGradientStyles>\n </CalendarStyles>\n );\n};\n\nexport { Calendar };\n"],"names":["Calendar","_ref","_ref$firstDayOfWeek","firstDayOfWeek","selectionType","allowSingleDateInRange","_ref$defaultPicker","defaultPicker","picker","onPickerChange","date","defaultDate","onDateChange","onNext","onPrevious","presets","props","_objectWithoutProperties","_excluded","isRange","_useControllableState","useControllableState","defaultValue","pickerToLevel","value","onChange","level","levelToPicker","_useControllableState2","_slicedToArray","setLevel","throwBladeError","message","concat","moduleName","_useUncontrolledDates","useUncontrolledDates","type","_useUncontrolledDates2","_date","setDate","dateContext","useDatesContext","isMobile","useIsMobile","currentDate","shiftTimezone","Date","numberOfColumns","columnsToScroll","handleNextMonth","nextDate","dayjs","add","toDate","handlePreviousMonth","subtract","handleNextYear","handlePreviousYear","handleNextDecade","handlePreviousDecade","_jsxs","CalendarStyles","_objectSpread","display","flexDirection","gap","pickerType","metaAttribute","name","MetaConstants","children","_jsx","CalendarHeader","onLevelChange","onNextMonth","onPreviousMonth","onNextDecade","onPreviousDecade","onNextYear","onPreviousYear","CalendarGradientStyles","DatePicker","withCellSpacing","locale","weekdayFormat","classNames","monthLevelGroup","classes","levelsGroup","yearLevelGroup","decadeLevelGroup","day","dayCell","monthsListCell","yearsListControl","yearsListCell","monthsListControl","monthCell","calendarHeader","monthRow","row","yearsListRow","monthsListRow","weekdaysRow","weekday"],"mappings":"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"}
@@ -244,9 +244,10 @@ var CalendarStyles = /*#__PURE__*/styled(BaseBox).withConfig({
244
244
  gap: makeSpace(theme.spacing[8]),
245
245
  table: {
246
246
  borderCollapse: 'collapse',
247
- width: '100%'
247
+ width: !isDayPicker || isMobile ? '100%' : undefined
248
248
  },
249
249
  '> div': {
250
+ margin: 0,
250
251
  width: isMobile || !isDayPicker ? '100%' : undefined
251
252
  },
252
253
  th: {
@@ -271,39 +272,45 @@ var CalendarStyles = /*#__PURE__*/styled(BaseBox).withConfig({
271
272
  color: 'surface.text.gray.muted'
272
273
  })), {}, {
273
274
  paddingBottom: makeSpace(theme.spacing[4])
274
- })), ".".concat(classes.dayCell), _objectSpread(_objectSpread(_objectSpread(_objectSpread({
275
- cursor: 'pointer',
276
- width: isMobile || !isDayPicker ? '100%' : makeSpace(cell.size[device]),
277
- height: isDayPicker && isMobile ? undefined : makeSpace(cell.size[device]),
278
- aspectRatio: isDayPicker && isMobile ? '1 / 1' : undefined,
279
- borderRadius: theme.border.radius.medium,
280
- backgroundColor: getIn(theme.colors, cell.background["default"]),
281
- border: 'none'
282
- }, getTextStyles({
283
- theme: theme,
284
- variant: 'body',
285
- size: 'medium',
286
- weight: 'regular'
287
- })), {}, {
288
- '&:hover': {
289
- backgroundColor: getIn(theme.colors, cell.background.hover)
290
- },
291
- '&:focus-visible': getFocusRingStyles({
275
+ })), ".".concat(classes.dayCell), {
276
+ button: _objectSpread(_objectSpread(_objectSpread(_objectSpread({
277
+ all: 'unset',
278
+ cursor: 'pointer',
279
+ width: isMobile || !isDayPicker ? '100%' : makeSpace(cell.size[device]),
280
+ height: isDayPicker && isMobile ? '100%' : makeSpace(cell.size[device]),
281
+ aspectRatio: isDayPicker && isMobile ? '1 / 1' : undefined,
282
+ borderRadius: theme.border.radius.medium,
283
+ backgroundColor: getIn(theme.colors, cell.background["default"]),
284
+ border: 'none'
285
+ }, getTextStyles({
292
286
  theme: theme,
293
- isImportant: true
294
- }),
295
- '&[data-disabled]': {
296
- color: getIn(theme.colors, cell.text.disabled),
297
- backgroundColor: getIn(theme.colors, cell.background.disabled),
298
- cursor: 'not-allowed'
299
- },
300
- '&[data-outside]': {
301
- color: theme.colors.interactive.text.gray.muted
302
- },
303
- '&[data-outside]:hover': {
304
- color: getIn(theme.colors, cell.text["default"])
305
- }
306
- }, ranges), today), selected));
287
+ variant: 'body',
288
+ size: 'medium',
289
+ weight: 'regular'
290
+ })), {}, {
291
+ '&:hover': {
292
+ backgroundColor: getIn(theme.colors, cell.background.hover)
293
+ },
294
+ '&:focus-visible': getFocusRingStyles({
295
+ theme: theme,
296
+ isImportant: true
297
+ }),
298
+ '&[data-disabled]': {
299
+ color: getIn(theme.colors, cell.text.disabled),
300
+ backgroundColor: getIn(theme.colors, cell.background.disabled),
301
+ cursor: 'not-allowed'
302
+ },
303
+ '&[data-hidden]': {
304
+ display: 'none'
305
+ },
306
+ '&[data-outside]': {
307
+ color: theme.colors.interactive.text.gray.muted
308
+ },
309
+ '&[data-outside]:hover': {
310
+ color: getIn(theme.colors, cell.text["default"])
311
+ }
312
+ }, ranges), today), selected)
313
+ });
307
314
  });
308
315
 
309
316
  export { CalendarGradientStyles, CalendarStyles };