@razorpay/blade 11.28.2 → 11.30.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 (52) hide show
  1. package/build/lib/native/components/ActionList/ActionListItem.js +3 -2
  2. package/build/lib/native/components/ActionList/ActionListItem.js.map +1 -1
  3. package/build/lib/native/components/ActionList/actionListUtils.js +1 -1
  4. package/build/lib/native/components/ActionList/actionListUtils.js.map +1 -1
  5. package/build/lib/native/components/ActionList/componentIds.js +1 -1
  6. package/build/lib/native/components/ActionList/componentIds.js.map +1 -1
  7. package/build/lib/native/components/Form/FormLabel.js +1 -1
  8. package/build/lib/native/components/Form/FormLabel.js.map +1 -1
  9. package/build/lib/native/components/index.js +1 -1
  10. package/build/lib/web/development/components/ActionList/ActionListItem.js +11 -1
  11. package/build/lib/web/development/components/ActionList/ActionListItem.js.map +1 -1
  12. package/build/lib/web/development/components/ActionList/actionListUtils.js +2 -2
  13. package/build/lib/web/development/components/ActionList/actionListUtils.js.map +1 -1
  14. package/build/lib/web/development/components/ActionList/componentIds.js +1 -0
  15. package/build/lib/web/development/components/ActionList/componentIds.js.map +1 -1
  16. package/build/lib/web/development/components/ActionList/index.js +1 -1
  17. package/build/lib/web/development/components/DatePicker/CalendarFooter.web.js +3 -1
  18. package/build/lib/web/development/components/DatePicker/CalendarFooter.web.js.map +1 -1
  19. package/build/lib/web/development/components/DatePicker/DatePicker.web.js +22 -4
  20. package/build/lib/web/development/components/DatePicker/DatePicker.web.js.map +1 -1
  21. package/build/lib/web/development/components/Form/FormLabel.js +4 -2
  22. package/build/lib/web/development/components/Form/FormLabel.js.map +1 -1
  23. package/build/lib/web/development/components/Table/Table.web.js +16 -5
  24. package/build/lib/web/development/components/Table/Table.web.js.map +1 -1
  25. package/build/lib/web/development/components/Table/TableBody.web.js +6 -2
  26. package/build/lib/web/development/components/Table/TableBody.web.js.map +1 -1
  27. package/build/lib/web/development/components/Tooltip/TooltipInteractiveWrapper.web.js +9 -13
  28. package/build/lib/web/development/components/Tooltip/TooltipInteractiveWrapper.web.js.map +1 -1
  29. package/build/lib/web/development/components/index.js +1 -1
  30. package/build/lib/web/production/components/ActionList/ActionListItem.js +11 -1
  31. package/build/lib/web/production/components/ActionList/ActionListItem.js.map +1 -1
  32. package/build/lib/web/production/components/ActionList/actionListUtils.js +2 -2
  33. package/build/lib/web/production/components/ActionList/actionListUtils.js.map +1 -1
  34. package/build/lib/web/production/components/ActionList/componentIds.js +1 -0
  35. package/build/lib/web/production/components/ActionList/componentIds.js.map +1 -1
  36. package/build/lib/web/production/components/ActionList/index.js +1 -1
  37. package/build/lib/web/production/components/DatePicker/CalendarFooter.web.js +3 -1
  38. package/build/lib/web/production/components/DatePicker/CalendarFooter.web.js.map +1 -1
  39. package/build/lib/web/production/components/DatePicker/DatePicker.web.js +22 -4
  40. package/build/lib/web/production/components/DatePicker/DatePicker.web.js.map +1 -1
  41. package/build/lib/web/production/components/Form/FormLabel.js +4 -2
  42. package/build/lib/web/production/components/Form/FormLabel.js.map +1 -1
  43. package/build/lib/web/production/components/Table/Table.web.js +16 -5
  44. package/build/lib/web/production/components/Table/Table.web.js.map +1 -1
  45. package/build/lib/web/production/components/Table/TableBody.web.js +6 -2
  46. package/build/lib/web/production/components/Table/TableBody.web.js.map +1 -1
  47. package/build/lib/web/production/components/Tooltip/TooltipInteractiveWrapper.web.js +9 -13
  48. package/build/lib/web/production/components/Tooltip/TooltipInteractiveWrapper.web.js.map +1 -1
  49. package/build/lib/web/production/components/index.js +1 -1
  50. package/build/types/components/index.d.ts +454 -1134
  51. package/build/types/components/index.native.d.ts +259 -250
  52. package/package.json +1 -1
@@ -163,9 +163,9 @@ var validateActionListItemProps = function validateActionListItemProps(_ref) {
163
163
  }
164
164
  });
165
165
  React__default.Children.map(leading, function (child) {
166
- if (!isValidAllowedChildren(child, componentIds.ActionListItemIcon) && !isValidAllowedChildren(child, componentIds.ActionListItemText) && !isValidAllowedChildren(child, componentIds.ActionListItemAsset)) {
166
+ if (!isValidAllowedChildren(child, componentIds.ActionListItemIcon) && !isValidAllowedChildren(child, componentIds.ActionListItemText) && !isValidAllowedChildren(child, componentIds.ActionListItemAsset) && !isValidAllowedChildren(child, componentIds.ActionListItemAvatar)) {
167
167
  throwBladeError({
168
- message: "Only ".concat(componentIds.ActionListItemIcon, ", ").concat(componentIds.ActionListItemAsset, ", and ").concat(componentIds.ActionListItemText, " are allowed in leading prop"),
168
+ message: "Only ".concat(componentIds.ActionListItemIcon, ", ").concat(componentIds.ActionListItemAvatar, ", ").concat(componentIds.ActionListItemAsset, ", and ").concat(componentIds.ActionListItemText, " are allowed in leading prop"),
169
169
  moduleName: 'ActionListItem'
170
170
  });
171
171
  }
@@ -1 +1 @@
1
- {"version":3,"file":"actionListUtils.js","sources":["../../../../../../src/components/ActionList/actionListUtils.ts"],"sourcesContent":["import React from 'react';\nimport { componentIds } from './componentIds';\nimport type { ActionListItemProps } from './ActionListItem';\nimport type { OptionsType } from '~components/Dropdown/useDropdown';\nimport { isReactNative } from '~utils';\nimport type { BaseTextProps } from '~components/Typography/BaseText/types';\nimport { getComponentId, isValidAllowedChildren } from '~utils/isValidAllowedChildren';\nimport { throwBladeError } from '~utils/logger';\n\n/**\n * Returns if there is ActionListItem after ActionListSection\n * and an index of last ActionListSection\n *\n * It is used to decide if ActionListSection add divider at the end\n */\nconst getActionListSectionPosition = (\n children: React.ReactNode,\n): {\n isActionListItemPresentAfterSection: boolean;\n lastActionListSectionIndex: number;\n} => {\n // Creating an array of componentIds\n const childComponentIdArray = React.Children.toArray(children).map((child) =>\n getComponentId(child),\n );\n\n // Reading the last `ActionListSection` component's index\n const lastActionListSectionIndex = childComponentIdArray.lastIndexOf(\n componentIds.ActionListSection,\n );\n\n // Checking if there is any `ActionListItem` present after `ActionListSection`\n const isActionListItemPresentAfterSection = childComponentIdArray\n .slice(lastActionListSectionIndex)\n .includes(componentIds.ActionListItem);\n\n return {\n isActionListItemPresentAfterSection,\n lastActionListSectionIndex,\n };\n};\n\nconst actionListAllowedChildren = [componentIds.ActionListItem, componentIds.ActionListSection];\n\nexport type SectionData = {\n title: string;\n hideDivider: boolean;\n data: ActionListItemProps[];\n}[];\n\n/**\n * Loops over action list items and returns different properties from children like option values, header and footer child, etc\n */\nconst getActionListProperties = (\n children: React.ReactNode,\n): {\n sectionData: SectionData;\n childrenWithId?: React.ReactNode[] | null;\n actionListOptions: OptionsType;\n} => {\n const sectionData: SectionData = [];\n let currentSection: string | null = null;\n const actionListOptions: OptionsType = [];\n\n const getActionListItemWithId = (\n child: React.ReactNode,\n hideDivider: boolean,\n ): React.ReactNode => {\n if (React.isValidElement(child) && !child.props.isDisabled) {\n actionListOptions.push({\n title: child.props.title,\n value: child.props.value,\n onClickTrigger: (value) => {\n const anchorLink = child.props.href;\n child.props.onClick?.({\n name: child.props.value,\n value: child.props.isSelected ?? value,\n });\n\n if (anchorLink && !isReactNative()) {\n const target = child.props.target ?? '_self';\n window.open(anchorLink, target);\n if (window.top) {\n window.top.open(anchorLink, target);\n }\n }\n },\n });\n const currentIndex = actionListOptions.length - 1;\n\n const foundSection = sectionData.find((v) => v.title === currentSection);\n // push the item in the appropriate bucket\n if (foundSection) {\n foundSection?.data.push({\n ...child.props,\n _index: currentIndex,\n });\n } else {\n // create a new bucket\n sectionData.push({\n title: currentSection!,\n hideDivider,\n data: [\n {\n ...child.props,\n _index: currentIndex,\n },\n ],\n });\n }\n\n const clonedChild = React.cloneElement(child, {\n // @ts-expect-error: TS doesn't understand the child's props\n _index: currentIndex,\n });\n return clonedChild;\n }\n\n return child;\n };\n\n let isActionListItemPresentAfterSection: boolean;\n // eslint-disable-next-line one-var\n let lastActionListSectionIndex: number;\n\n if (isReactNative()) {\n // We're reading this so that we can decide whether to show the divider or not.\n // If ActionListSection is final item and no ActionListItem is present after that, we hide the divider\n\n // On web, we do it using descendant styling\n ({\n isActionListItemPresentAfterSection,\n lastActionListSectionIndex,\n } = getActionListSectionPosition(children));\n }\n\n // Looping through ActionListItems to add index to them and get an options array for moving focus between items\n const childrenWithId = React.Children.map(children, (child, index) => {\n if (React.isValidElement(child)) {\n if (isValidAllowedChildren(child, componentIds.ActionListSection)) {\n const shouldHideDivider =\n index === lastActionListSectionIndex && !isActionListItemPresentAfterSection;\n const sectionChildValues: string[] = [];\n return React.cloneElement(child, {\n // @ts-expect-error: TS doesn't understand the child's props\n children: React.Children.map(child.props.children, (childInSection) => {\n currentSection = child.props.title;\n sectionChildValues.push(childInSection.props.value);\n if (isValidAllowedChildren(childInSection, componentIds.ActionListItem)) {\n return getActionListItemWithId(childInSection, shouldHideDivider);\n }\n\n return childInSection;\n }),\n // On web, we handle it with descendant styling in css so no need of JS there\n _hideDivider: isReactNative() ? shouldHideDivider : undefined,\n _sectionChildValues: sectionChildValues,\n });\n }\n\n if (isValidAllowedChildren(child, componentIds.ActionListItem)) {\n return getActionListItemWithId(child, true);\n }\n\n if (__DEV__) {\n throwBladeError({\n message: `Only ${actionListAllowedChildren.join(', ')} supported inside ActionList`,\n moduleName: 'ActionList',\n });\n }\n }\n return child;\n });\n\n return {\n sectionData,\n childrenWithId,\n actionListOptions,\n };\n};\n\nconst validateActionListItemProps = ({\n leading,\n trailing,\n titleSuffix,\n}: {\n leading: ActionListItemProps['leading'];\n trailing: ActionListItemProps['trailing'];\n titleSuffix: ActionListItemProps['titleSuffix'];\n}): void => {\n if (__DEV__) {\n React.Children.map(trailing, (child) => {\n if (\n !isValidAllowedChildren(child, componentIds.ActionListItemIcon) &&\n !isValidAllowedChildren(child, componentIds.ActionListItemText)\n ) {\n throwBladeError({\n message: `Only ${componentIds.ActionListItemIcon} and ${componentIds.ActionListItemText} are allowed in trailing prop`,\n moduleName: 'ActionListItem',\n });\n }\n });\n\n React.Children.map(titleSuffix, (child) => {\n if (\n !isValidAllowedChildren(child, componentIds.ActionListItemBadge) &&\n !isValidAllowedChildren(child, componentIds.ActionListItemBadgeGroup)\n ) {\n throwBladeError({\n message: `Only ${componentIds.ActionListItemBadge} and ${componentIds.ActionListItemBadgeGroup} are allowed in titleSuffix prop`,\n moduleName: 'ActionListItem',\n });\n }\n });\n\n React.Children.map(leading, (child) => {\n if (\n !isValidAllowedChildren(child, componentIds.ActionListItemIcon) &&\n !isValidAllowedChildren(child, componentIds.ActionListItemText) &&\n !isValidAllowedChildren(child, componentIds.ActionListItemAsset)\n ) {\n throwBladeError({\n message: `Only ${componentIds.ActionListItemIcon}, ${componentIds.ActionListItemAsset}, and ${componentIds.ActionListItemText} are allowed in leading prop`,\n moduleName: 'ActionListItem',\n });\n }\n });\n }\n};\n\nconst getNormalTextColor = (\n isDisabled: boolean | undefined,\n { isMuted }: { isMuted?: boolean } = {},\n): Extract<\n BaseTextProps['color'],\n 'interactive.text.gray.disabled' | 'interactive.text.gray.muted' | 'interactive.text.gray.normal'\n> => {\n if (isDisabled) {\n return 'interactive.text.gray.disabled';\n }\n\n if (isMuted) {\n return 'interactive.text.gray.muted';\n }\n\n return 'interactive.text.gray.normal';\n};\n\nexport { getActionListProperties, validateActionListItemProps, getNormalTextColor };\n"],"names":["getActionListSectionPosition","children","childComponentIdArray","React","Children","toArray","map","child","getComponentId","lastActionListSectionIndex","lastIndexOf","componentIds","ActionListSection","isActionListItemPresentAfterSection","slice","includes","ActionListItem","actionListAllowedChildren","getActionListProperties","sectionData","currentSection","actionListOptions","getActionListItemWithId","hideDivider","isValidElement","props","isDisabled","push","title","value","onClickTrigger","_child$props$onClick","_child$props","_child$props$isSelect","anchorLink","href","onClick","call","name","isSelected","isReactNative","_child$props$target","target","window","open","top","currentIndex","length","foundSection","find","v","data","_objectSpread","_index","clonedChild","cloneElement","_getActionListSection","childrenWithId","index","isValidAllowedChildren","shouldHideDivider","sectionChildValues","childInSection","_hideDivider","undefined","_sectionChildValues","throwBladeError","message","concat","join","moduleName","validateActionListItemProps","_ref","leading","trailing","titleSuffix","ActionListItemIcon","ActionListItemText","ActionListItemBadge","ActionListItemBadgeGroup","ActionListItemAsset","getNormalTextColor","_ref2","arguments","isMuted"],"mappings":";;;;;;;;;;;;;AASA;AACA;AACA;AACA;AACA;AACA;AACA,IAAMA,4BAA4B,GAAG,SAA/BA,4BAA4BA,CAChCC,QAAyB,EAItB;AACH;AACA,EAAA,IAAMC,qBAAqB,GAAGC,cAAK,CAACC,QAAQ,CAACC,OAAO,CAACJ,QAAQ,CAAC,CAACK,GAAG,CAAC,UAACC,KAAK,EAAA;IAAA,OACvEC,cAAc,CAACD,KAAK,CAAC,CAAA;AAAA,GACvB,CAAC,CAAA;;AAED;EACA,IAAME,0BAA0B,GAAGP,qBAAqB,CAACQ,WAAW,CAClEC,YAAY,CAACC,iBACf,CAAC,CAAA;;AAED;AACA,EAAA,IAAMC,mCAAmC,GAAGX,qBAAqB,CAC9DY,KAAK,CAACL,0BAA0B,CAAC,CACjCM,QAAQ,CAACJ,YAAY,CAACK,cAAc,CAAC,CAAA;EAExC,OAAO;AACLH,IAAAA,mCAAmC,EAAnCA,mCAAmC;AACnCJ,IAAAA,0BAA0B,EAA1BA,0BAAAA;GACD,CAAA;AACH,CAAC,CAAA;AAED,IAAMQ,yBAAyB,GAAG,CAACN,YAAY,CAACK,cAAc,EAAEL,YAAY,CAACC,iBAAiB,CAAC,CAAA;AAQ/F;AACA;AACA;AACA,IAAMM,uBAAuB,GAAG,SAA1BA,uBAAuBA,CAC3BjB,QAAyB,EAKtB;EACH,IAAMkB,WAAwB,GAAG,EAAE,CAAA;EACnC,IAAIC,cAA6B,GAAG,IAAI,CAAA;EACxC,IAAMC,iBAA8B,GAAG,EAAE,CAAA;EAEzC,IAAMC,uBAAuB,GAAG,SAA1BA,uBAAuBA,CAC3Bf,KAAsB,EACtBgB,WAAoB,EACA;AACpB,IAAA,kBAAIpB,cAAK,CAACqB,cAAc,CAACjB,KAAK,CAAC,IAAI,CAACA,KAAK,CAACkB,KAAK,CAACC,UAAU,EAAE;MAC1DL,iBAAiB,CAACM,IAAI,CAAC;AACrBC,QAAAA,KAAK,EAAErB,KAAK,CAACkB,KAAK,CAACG,KAAK;AACxBC,QAAAA,KAAK,EAAEtB,KAAK,CAACkB,KAAK,CAACI,KAAK;AACxBC,QAAAA,cAAc,EAAE,SAAAA,cAACD,CAAAA,KAAK,EAAK;AAAA,UAAA,IAAAE,oBAAA,EAAAC,YAAA,EAAAC,qBAAA,CAAA;AACzB,UAAA,IAAMC,UAAU,GAAG3B,KAAK,CAACkB,KAAK,CAACU,IAAI,CAAA;AACnC,UAAA,CAAAJ,oBAAA,GAAAC,CAAAA,YAAA,GAAAzB,KAAK,CAACkB,KAAK,EAACW,OAAO,MAAA,IAAA,IAAAL,oBAAA,KAAnBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,oBAAA,CAAAM,IAAA,CAAAL,YAAA,EAAsB;AACpBM,YAAAA,IAAI,EAAE/B,KAAK,CAACkB,KAAK,CAACI,KAAK;AACvBA,YAAAA,KAAK,EAAAI,CAAAA,qBAAA,GAAE1B,KAAK,CAACkB,KAAK,CAACc,UAAU,MAAAN,IAAAA,IAAAA,qBAAA,KAAAA,KAAAA,CAAAA,GAAAA,qBAAA,GAAIJ,KAAAA;AACnC,WAAC,CAAC,CAAA;AAEF,UAAA,IAAIK,UAAU,IAAI,CAACM,aAAa,EAAE,EAAE;AAAA,YAAA,IAAAC,mBAAA,CAAA;AAClC,YAAA,IAAMC,MAAM,GAAA,CAAAD,mBAAA,GAAGlC,KAAK,CAACkB,KAAK,CAACiB,MAAM,MAAAD,IAAAA,IAAAA,mBAAA,KAAAA,KAAAA,CAAAA,GAAAA,mBAAA,GAAI,OAAO,CAAA;AAC5CE,YAAAA,MAAM,CAACC,IAAI,CAACV,UAAU,EAAEQ,MAAM,CAAC,CAAA;YAC/B,IAAIC,MAAM,CAACE,GAAG,EAAE;cACdF,MAAM,CAACE,GAAG,CAACD,IAAI,CAACV,UAAU,EAAEQ,MAAM,CAAC,CAAA;AACrC,aAAA;AACF,WAAA;AACF,SAAA;AACF,OAAC,CAAC,CAAA;AACF,MAAA,IAAMI,YAAY,GAAGzB,iBAAiB,CAAC0B,MAAM,GAAG,CAAC,CAAA;AAEjD,MAAA,IAAMC,YAAY,GAAG7B,WAAW,CAAC8B,IAAI,CAAC,UAACC,CAAC,EAAA;AAAA,QAAA,OAAKA,CAAC,CAACtB,KAAK,KAAKR,cAAc,CAAA;OAAC,CAAA,CAAA;AACxE;AACA,MAAA,IAAI4B,YAAY,EAAE;AAChBA,QAAAA,YAAY,KAAZA,IAAAA,IAAAA,YAAY,KAAZA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,YAAY,CAAEG,IAAI,CAACxB,IAAI,CAAAyB,aAAA,CAAAA,aAAA,CAClB7C,EAAAA,EAAAA,KAAK,CAACkB,KAAK,CAAA,EAAA,EAAA,EAAA;AACd4B,UAAAA,MAAM,EAAEP,YAAAA;AAAY,SAAA,CACrB,CAAC,CAAA;AACJ,OAAC,MAAM;AACL;QACA3B,WAAW,CAACQ,IAAI,CAAC;AACfC,UAAAA,KAAK,EAAER,cAAe;AACtBG,UAAAA,WAAW,EAAXA,WAAW;UACX4B,IAAI,EAAE,CAAAC,aAAA,CAAAA,aAAA,CAEC7C,EAAAA,EAAAA,KAAK,CAACkB,KAAK,CAAA,EAAA,EAAA,EAAA;AACd4B,YAAAA,MAAM,EAAEP,YAAAA;AAAY,WAAA,CAAA,CAAA;AAG1B,SAAC,CAAC,CAAA;AACJ,OAAA;AAEA,MAAA,IAAMQ,WAAW,gBAAGnD,cAAK,CAACoD,YAAY,CAAChD,KAAK,EAAE;AAC5C;AACA8C,QAAAA,MAAM,EAAEP,YAAAA;AACV,OAAC,CAAC,CAAA;AACF,MAAA,OAAOQ,WAAW,CAAA;AACpB,KAAA;AAEA,IAAA,OAAO/C,KAAK,CAAA;GACb,CAAA;AAED,EAAA,IAAIM,mCAA4C,CAAA;AAChD;AACA,EAAA,IAAIJ,0BAAkC,CAAA;EAEtC,IAAI+B,aAAa,EAAE,EAAE;AACnB;AACA;AAEA;AAAA,IAAA,IAAAgB,qBAAA,GAIIxD,4BAA4B,CAACC,QAAQ,CAAC,CAAA;IAFxCY,mCAAmC,GAAA2C,qBAAA,CAAnC3C,mCAAmC,CAAA;IACnCJ,0BAA0B,GAAA+C,qBAAA,CAA1B/C,0BAA0B,CAAA;AAE9B,GAAA;;AAEA;AACA,EAAA,IAAMgD,cAAc,GAAGtD,cAAK,CAACC,QAAQ,CAACE,GAAG,CAACL,QAAQ,EAAE,UAACM,KAAK,EAAEmD,KAAK,EAAK;AACpE,IAAA,kBAAIvD,cAAK,CAACqB,cAAc,CAACjB,KAAK,CAAC,EAAE;MAC/B,IAAIoD,sBAAsB,CAACpD,KAAK,EAAEI,YAAY,CAACC,iBAAiB,CAAC,EAAE;AACjE,QAAA,IAAMgD,iBAAiB,GACrBF,KAAK,KAAKjD,0BAA0B,IAAI,CAACI,mCAAmC,CAAA;QAC9E,IAAMgD,kBAA4B,GAAG,EAAE,CAAA;AACvC,QAAA,oBAAO1D,cAAK,CAACoD,YAAY,CAAChD,KAAK,EAAE;AAC/B;AACAN,UAAAA,QAAQ,EAAEE,cAAK,CAACC,QAAQ,CAACE,GAAG,CAACC,KAAK,CAACkB,KAAK,CAACxB,QAAQ,EAAE,UAAC6D,cAAc,EAAK;AACrE1C,YAAAA,cAAc,GAAGb,KAAK,CAACkB,KAAK,CAACG,KAAK,CAAA;YAClCiC,kBAAkB,CAAClC,IAAI,CAACmC,cAAc,CAACrC,KAAK,CAACI,KAAK,CAAC,CAAA;YACnD,IAAI8B,sBAAsB,CAACG,cAAc,EAAEnD,YAAY,CAACK,cAAc,CAAC,EAAE;AACvE,cAAA,OAAOM,uBAAuB,CAACwC,cAAc,EAAEF,iBAAiB,CAAC,CAAA;AACnE,aAAA;AAEA,YAAA,OAAOE,cAAc,CAAA;AACvB,WAAC,CAAC;AACF;AACAC,UAAAA,YAAY,EAAEvB,aAAa,EAAE,GAAGoB,iBAAiB,GAAGI,SAAS;AAC7DC,UAAAA,mBAAmB,EAAEJ,kBAAAA;AACvB,SAAC,CAAC,CAAA;AACJ,OAAA;MAEA,IAAIF,sBAAsB,CAACpD,KAAK,EAAEI,YAAY,CAACK,cAAc,CAAC,EAAE;AAC9D,QAAA,OAAOM,uBAAuB,CAACf,KAAK,EAAE,IAAI,CAAC,CAAA;AAC7C,OAAA;AAEA,MAAA,IAAI,KAAO,EAAE;AACX2D,QAAAA,eAAe,CAAC;UACdC,OAAO,EAAA,OAAA,CAAAC,MAAA,CAAUnD,yBAAyB,CAACoD,IAAI,CAAC,IAAI,CAAC,EAA8B,8BAAA,CAAA;AACnFC,UAAAA,UAAU,EAAE,YAAA;AACd,SAAC,CAAC,CAAA;AACJ,OAAA;AACF,KAAA;AACA,IAAA,OAAO/D,KAAK,CAAA;AACd,GAAC,CAAC,CAAA;EAEF,OAAO;AACLY,IAAAA,WAAW,EAAXA,WAAW;AACXsC,IAAAA,cAAc,EAAdA,cAAc;AACdpC,IAAAA,iBAAiB,EAAjBA,iBAAAA;GACD,CAAA;AACH,EAAC;AAED,IAAMkD,2BAA2B,GAAG,SAA9BA,2BAA2BA,CAAAC,IAAA,EAQrB;AAAA,EAAA,IAPVC,OAAO,GAAAD,IAAA,CAAPC,OAAO;IACPC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IACRC,WAAW,GAAAH,IAAA,CAAXG,WAAW,CAAA;AAMX,EAAA,IAAI,KAAO,EAAE;IACXxE,cAAK,CAACC,QAAQ,CAACE,GAAG,CAACoE,QAAQ,EAAE,UAACnE,KAAK,EAAK;AACtC,MAAA,IACE,CAACoD,sBAAsB,CAACpD,KAAK,EAAEI,YAAY,CAACiE,kBAAkB,CAAC,IAC/D,CAACjB,sBAAsB,CAACpD,KAAK,EAAEI,YAAY,CAACkE,kBAAkB,CAAC,EAC/D;AACAX,QAAAA,eAAe,CAAC;AACdC,UAAAA,OAAO,EAAAC,OAAAA,CAAAA,MAAA,CAAUzD,YAAY,CAACiE,kBAAkB,EAAAR,OAAAA,CAAAA,CAAAA,MAAA,CAAQzD,YAAY,CAACkE,kBAAkB,EAA+B,+BAAA,CAAA;AACtHP,UAAAA,UAAU,EAAE,gBAAA;AACd,SAAC,CAAC,CAAA;AACJ,OAAA;AACF,KAAC,CAAC,CAAA;IAEFnE,cAAK,CAACC,QAAQ,CAACE,GAAG,CAACqE,WAAW,EAAE,UAACpE,KAAK,EAAK;AACzC,MAAA,IACE,CAACoD,sBAAsB,CAACpD,KAAK,EAAEI,YAAY,CAACmE,mBAAmB,CAAC,IAChE,CAACnB,sBAAsB,CAACpD,KAAK,EAAEI,YAAY,CAACoE,wBAAwB,CAAC,EACrE;AACAb,QAAAA,eAAe,CAAC;AACdC,UAAAA,OAAO,EAAAC,OAAAA,CAAAA,MAAA,CAAUzD,YAAY,CAACmE,mBAAmB,EAAAV,OAAAA,CAAAA,CAAAA,MAAA,CAAQzD,YAAY,CAACoE,wBAAwB,EAAkC,kCAAA,CAAA;AAChIT,UAAAA,UAAU,EAAE,gBAAA;AACd,SAAC,CAAC,CAAA;AACJ,OAAA;AACF,KAAC,CAAC,CAAA;IAEFnE,cAAK,CAACC,QAAQ,CAACE,GAAG,CAACmE,OAAO,EAAE,UAAClE,KAAK,EAAK;AACrC,MAAA,IACE,CAACoD,sBAAsB,CAACpD,KAAK,EAAEI,YAAY,CAACiE,kBAAkB,CAAC,IAC/D,CAACjB,sBAAsB,CAACpD,KAAK,EAAEI,YAAY,CAACkE,kBAAkB,CAAC,IAC/D,CAAClB,sBAAsB,CAACpD,KAAK,EAAEI,YAAY,CAACqE,mBAAmB,CAAC,EAChE;AACAd,QAAAA,eAAe,CAAC;AACdC,UAAAA,OAAO,UAAAC,MAAA,CAAUzD,YAAY,CAACiE,kBAAkB,QAAAR,MAAA,CAAKzD,YAAY,CAACqE,mBAAmB,EAAAZ,QAAAA,CAAAA,CAAAA,MAAA,CAASzD,YAAY,CAACkE,kBAAkB,EAA8B,8BAAA,CAAA;AAC3JP,UAAAA,UAAU,EAAE,gBAAA;AACd,SAAC,CAAC,CAAA;AACJ,OAAA;AACF,KAAC,CAAC,CAAA;AACJ,GAAA;AACF,EAAC;AAED,IAAMW,kBAAkB,GAAG,SAArBA,kBAAkBA,CACtBvD,UAA+B,EAK5B;AAAA,EAAA,IAAAwD,KAAA,GAAAC,SAAA,CAAApC,MAAA,GAAA,CAAA,IAAAoC,SAAA,CAAA,CAAA,CAAA,KAAAnB,SAAA,GAAAmB,SAAA,CAAA,CAAA,CAAA,GAJkC,EAAE;IAArCC,OAAO,GAAAF,KAAA,CAAPE,OAAO,CAAA;AAKT,EAAA,IAAI1D,UAAU,EAAE;AACd,IAAA,OAAO,gCAAgC,CAAA;AACzC,GAAA;AAEA,EAAA,IAAI0D,OAAO,EAAE;AACX,IAAA,OAAO,6BAA6B,CAAA;AACtC,GAAA;AAEA,EAAA,OAAO,8BAA8B,CAAA;AACvC;;;;"}
1
+ {"version":3,"file":"actionListUtils.js","sources":["../../../../../../src/components/ActionList/actionListUtils.ts"],"sourcesContent":["import React from 'react';\nimport { componentIds } from './componentIds';\nimport type { ActionListItemProps } from './ActionListItem';\nimport type { OptionsType } from '~components/Dropdown/useDropdown';\nimport { isReactNative } from '~utils';\nimport type { BaseTextProps } from '~components/Typography/BaseText/types';\nimport { getComponentId, isValidAllowedChildren } from '~utils/isValidAllowedChildren';\nimport { throwBladeError } from '~utils/logger';\n\n/**\n * Returns if there is ActionListItem after ActionListSection\n * and an index of last ActionListSection\n *\n * It is used to decide if ActionListSection add divider at the end\n */\nconst getActionListSectionPosition = (\n children: React.ReactNode,\n): {\n isActionListItemPresentAfterSection: boolean;\n lastActionListSectionIndex: number;\n} => {\n // Creating an array of componentIds\n const childComponentIdArray = React.Children.toArray(children).map((child) =>\n getComponentId(child),\n );\n\n // Reading the last `ActionListSection` component's index\n const lastActionListSectionIndex = childComponentIdArray.lastIndexOf(\n componentIds.ActionListSection,\n );\n\n // Checking if there is any `ActionListItem` present after `ActionListSection`\n const isActionListItemPresentAfterSection = childComponentIdArray\n .slice(lastActionListSectionIndex)\n .includes(componentIds.ActionListItem);\n\n return {\n isActionListItemPresentAfterSection,\n lastActionListSectionIndex,\n };\n};\n\nconst actionListAllowedChildren = [componentIds.ActionListItem, componentIds.ActionListSection];\n\nexport type SectionData = {\n title: string;\n hideDivider: boolean;\n data: ActionListItemProps[];\n}[];\n\n/**\n * Loops over action list items and returns different properties from children like option values, header and footer child, etc\n */\nconst getActionListProperties = (\n children: React.ReactNode,\n): {\n sectionData: SectionData;\n childrenWithId?: React.ReactNode[] | null;\n actionListOptions: OptionsType;\n} => {\n const sectionData: SectionData = [];\n let currentSection: string | null = null;\n const actionListOptions: OptionsType = [];\n\n const getActionListItemWithId = (\n child: React.ReactNode,\n hideDivider: boolean,\n ): React.ReactNode => {\n if (React.isValidElement(child) && !child.props.isDisabled) {\n actionListOptions.push({\n title: child.props.title,\n value: child.props.value,\n onClickTrigger: (value) => {\n const anchorLink = child.props.href;\n child.props.onClick?.({\n name: child.props.value,\n value: child.props.isSelected ?? value,\n });\n\n if (anchorLink && !isReactNative()) {\n const target = child.props.target ?? '_self';\n window.open(anchorLink, target);\n if (window.top) {\n window.top.open(anchorLink, target);\n }\n }\n },\n });\n const currentIndex = actionListOptions.length - 1;\n\n const foundSection = sectionData.find((v) => v.title === currentSection);\n // push the item in the appropriate bucket\n if (foundSection) {\n foundSection?.data.push({\n ...child.props,\n _index: currentIndex,\n });\n } else {\n // create a new bucket\n sectionData.push({\n title: currentSection!,\n hideDivider,\n data: [\n {\n ...child.props,\n _index: currentIndex,\n },\n ],\n });\n }\n\n const clonedChild = React.cloneElement(child, {\n // @ts-expect-error: TS doesn't understand the child's props\n _index: currentIndex,\n });\n return clonedChild;\n }\n\n return child;\n };\n\n let isActionListItemPresentAfterSection: boolean;\n // eslint-disable-next-line one-var\n let lastActionListSectionIndex: number;\n\n if (isReactNative()) {\n // We're reading this so that we can decide whether to show the divider or not.\n // If ActionListSection is final item and no ActionListItem is present after that, we hide the divider\n\n // On web, we do it using descendant styling\n ({\n isActionListItemPresentAfterSection,\n lastActionListSectionIndex,\n } = getActionListSectionPosition(children));\n }\n\n // Looping through ActionListItems to add index to them and get an options array for moving focus between items\n const childrenWithId = React.Children.map(children, (child, index) => {\n if (React.isValidElement(child)) {\n if (isValidAllowedChildren(child, componentIds.ActionListSection)) {\n const shouldHideDivider =\n index === lastActionListSectionIndex && !isActionListItemPresentAfterSection;\n const sectionChildValues: string[] = [];\n return React.cloneElement(child, {\n // @ts-expect-error: TS doesn't understand the child's props\n children: React.Children.map(child.props.children, (childInSection) => {\n currentSection = child.props.title;\n sectionChildValues.push(childInSection.props.value);\n if (isValidAllowedChildren(childInSection, componentIds.ActionListItem)) {\n return getActionListItemWithId(childInSection, shouldHideDivider);\n }\n\n return childInSection;\n }),\n // On web, we handle it with descendant styling in css so no need of JS there\n _hideDivider: isReactNative() ? shouldHideDivider : undefined,\n _sectionChildValues: sectionChildValues,\n });\n }\n\n if (isValidAllowedChildren(child, componentIds.ActionListItem)) {\n return getActionListItemWithId(child, true);\n }\n\n if (__DEV__) {\n throwBladeError({\n message: `Only ${actionListAllowedChildren.join(', ')} supported inside ActionList`,\n moduleName: 'ActionList',\n });\n }\n }\n return child;\n });\n\n return {\n sectionData,\n childrenWithId,\n actionListOptions,\n };\n};\n\nconst validateActionListItemProps = ({\n leading,\n trailing,\n titleSuffix,\n}: {\n leading: ActionListItemProps['leading'];\n trailing: ActionListItemProps['trailing'];\n titleSuffix: ActionListItemProps['titleSuffix'];\n}): void => {\n if (__DEV__) {\n React.Children.map(trailing, (child) => {\n if (\n !isValidAllowedChildren(child, componentIds.ActionListItemIcon) &&\n !isValidAllowedChildren(child, componentIds.ActionListItemText)\n ) {\n throwBladeError({\n message: `Only ${componentIds.ActionListItemIcon} and ${componentIds.ActionListItemText} are allowed in trailing prop`,\n moduleName: 'ActionListItem',\n });\n }\n });\n\n React.Children.map(titleSuffix, (child) => {\n if (\n !isValidAllowedChildren(child, componentIds.ActionListItemBadge) &&\n !isValidAllowedChildren(child, componentIds.ActionListItemBadgeGroup)\n ) {\n throwBladeError({\n message: `Only ${componentIds.ActionListItemBadge} and ${componentIds.ActionListItemBadgeGroup} are allowed in titleSuffix prop`,\n moduleName: 'ActionListItem',\n });\n }\n });\n\n React.Children.map(leading, (child) => {\n if (\n !isValidAllowedChildren(child, componentIds.ActionListItemIcon) &&\n !isValidAllowedChildren(child, componentIds.ActionListItemText) &&\n !isValidAllowedChildren(child, componentIds.ActionListItemAsset) &&\n !isValidAllowedChildren(child, componentIds.ActionListItemAvatar)\n ) {\n throwBladeError({\n message: `Only ${componentIds.ActionListItemIcon}, ${componentIds.ActionListItemAvatar}, ${componentIds.ActionListItemAsset}, and ${componentIds.ActionListItemText} are allowed in leading prop`,\n moduleName: 'ActionListItem',\n });\n }\n });\n }\n};\n\nconst getNormalTextColor = (\n isDisabled: boolean | undefined,\n { isMuted }: { isMuted?: boolean } = {},\n): Extract<\n BaseTextProps['color'],\n 'interactive.text.gray.disabled' | 'interactive.text.gray.muted' | 'interactive.text.gray.normal'\n> => {\n if (isDisabled) {\n return 'interactive.text.gray.disabled';\n }\n\n if (isMuted) {\n return 'interactive.text.gray.muted';\n }\n\n return 'interactive.text.gray.normal';\n};\n\nexport { getActionListProperties, validateActionListItemProps, getNormalTextColor };\n"],"names":["getActionListSectionPosition","children","childComponentIdArray","React","Children","toArray","map","child","getComponentId","lastActionListSectionIndex","lastIndexOf","componentIds","ActionListSection","isActionListItemPresentAfterSection","slice","includes","ActionListItem","actionListAllowedChildren","getActionListProperties","sectionData","currentSection","actionListOptions","getActionListItemWithId","hideDivider","isValidElement","props","isDisabled","push","title","value","onClickTrigger","_child$props$onClick","_child$props","_child$props$isSelect","anchorLink","href","onClick","call","name","isSelected","isReactNative","_child$props$target","target","window","open","top","currentIndex","length","foundSection","find","v","data","_objectSpread","_index","clonedChild","cloneElement","_getActionListSection","childrenWithId","index","isValidAllowedChildren","shouldHideDivider","sectionChildValues","childInSection","_hideDivider","undefined","_sectionChildValues","throwBladeError","message","concat","join","moduleName","validateActionListItemProps","_ref","leading","trailing","titleSuffix","ActionListItemIcon","ActionListItemText","ActionListItemBadge","ActionListItemBadgeGroup","ActionListItemAsset","ActionListItemAvatar","getNormalTextColor","_ref2","arguments","isMuted"],"mappings":";;;;;;;;;;;;;AASA;AACA;AACA;AACA;AACA;AACA;AACA,IAAMA,4BAA4B,GAAG,SAA/BA,4BAA4BA,CAChCC,QAAyB,EAItB;AACH;AACA,EAAA,IAAMC,qBAAqB,GAAGC,cAAK,CAACC,QAAQ,CAACC,OAAO,CAACJ,QAAQ,CAAC,CAACK,GAAG,CAAC,UAACC,KAAK,EAAA;IAAA,OACvEC,cAAc,CAACD,KAAK,CAAC,CAAA;AAAA,GACvB,CAAC,CAAA;;AAED;EACA,IAAME,0BAA0B,GAAGP,qBAAqB,CAACQ,WAAW,CAClEC,YAAY,CAACC,iBACf,CAAC,CAAA;;AAED;AACA,EAAA,IAAMC,mCAAmC,GAAGX,qBAAqB,CAC9DY,KAAK,CAACL,0BAA0B,CAAC,CACjCM,QAAQ,CAACJ,YAAY,CAACK,cAAc,CAAC,CAAA;EAExC,OAAO;AACLH,IAAAA,mCAAmC,EAAnCA,mCAAmC;AACnCJ,IAAAA,0BAA0B,EAA1BA,0BAAAA;GACD,CAAA;AACH,CAAC,CAAA;AAED,IAAMQ,yBAAyB,GAAG,CAACN,YAAY,CAACK,cAAc,EAAEL,YAAY,CAACC,iBAAiB,CAAC,CAAA;AAQ/F;AACA;AACA;AACA,IAAMM,uBAAuB,GAAG,SAA1BA,uBAAuBA,CAC3BjB,QAAyB,EAKtB;EACH,IAAMkB,WAAwB,GAAG,EAAE,CAAA;EACnC,IAAIC,cAA6B,GAAG,IAAI,CAAA;EACxC,IAAMC,iBAA8B,GAAG,EAAE,CAAA;EAEzC,IAAMC,uBAAuB,GAAG,SAA1BA,uBAAuBA,CAC3Bf,KAAsB,EACtBgB,WAAoB,EACA;AACpB,IAAA,kBAAIpB,cAAK,CAACqB,cAAc,CAACjB,KAAK,CAAC,IAAI,CAACA,KAAK,CAACkB,KAAK,CAACC,UAAU,EAAE;MAC1DL,iBAAiB,CAACM,IAAI,CAAC;AACrBC,QAAAA,KAAK,EAAErB,KAAK,CAACkB,KAAK,CAACG,KAAK;AACxBC,QAAAA,KAAK,EAAEtB,KAAK,CAACkB,KAAK,CAACI,KAAK;AACxBC,QAAAA,cAAc,EAAE,SAAAA,cAACD,CAAAA,KAAK,EAAK;AAAA,UAAA,IAAAE,oBAAA,EAAAC,YAAA,EAAAC,qBAAA,CAAA;AACzB,UAAA,IAAMC,UAAU,GAAG3B,KAAK,CAACkB,KAAK,CAACU,IAAI,CAAA;AACnC,UAAA,CAAAJ,oBAAA,GAAAC,CAAAA,YAAA,GAAAzB,KAAK,CAACkB,KAAK,EAACW,OAAO,MAAA,IAAA,IAAAL,oBAAA,KAAnBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,oBAAA,CAAAM,IAAA,CAAAL,YAAA,EAAsB;AACpBM,YAAAA,IAAI,EAAE/B,KAAK,CAACkB,KAAK,CAACI,KAAK;AACvBA,YAAAA,KAAK,EAAAI,CAAAA,qBAAA,GAAE1B,KAAK,CAACkB,KAAK,CAACc,UAAU,MAAAN,IAAAA,IAAAA,qBAAA,KAAAA,KAAAA,CAAAA,GAAAA,qBAAA,GAAIJ,KAAAA;AACnC,WAAC,CAAC,CAAA;AAEF,UAAA,IAAIK,UAAU,IAAI,CAACM,aAAa,EAAE,EAAE;AAAA,YAAA,IAAAC,mBAAA,CAAA;AAClC,YAAA,IAAMC,MAAM,GAAA,CAAAD,mBAAA,GAAGlC,KAAK,CAACkB,KAAK,CAACiB,MAAM,MAAAD,IAAAA,IAAAA,mBAAA,KAAAA,KAAAA,CAAAA,GAAAA,mBAAA,GAAI,OAAO,CAAA;AAC5CE,YAAAA,MAAM,CAACC,IAAI,CAACV,UAAU,EAAEQ,MAAM,CAAC,CAAA;YAC/B,IAAIC,MAAM,CAACE,GAAG,EAAE;cACdF,MAAM,CAACE,GAAG,CAACD,IAAI,CAACV,UAAU,EAAEQ,MAAM,CAAC,CAAA;AACrC,aAAA;AACF,WAAA;AACF,SAAA;AACF,OAAC,CAAC,CAAA;AACF,MAAA,IAAMI,YAAY,GAAGzB,iBAAiB,CAAC0B,MAAM,GAAG,CAAC,CAAA;AAEjD,MAAA,IAAMC,YAAY,GAAG7B,WAAW,CAAC8B,IAAI,CAAC,UAACC,CAAC,EAAA;AAAA,QAAA,OAAKA,CAAC,CAACtB,KAAK,KAAKR,cAAc,CAAA;OAAC,CAAA,CAAA;AACxE;AACA,MAAA,IAAI4B,YAAY,EAAE;AAChBA,QAAAA,YAAY,KAAZA,IAAAA,IAAAA,YAAY,KAAZA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,YAAY,CAAEG,IAAI,CAACxB,IAAI,CAAAyB,aAAA,CAAAA,aAAA,CAClB7C,EAAAA,EAAAA,KAAK,CAACkB,KAAK,CAAA,EAAA,EAAA,EAAA;AACd4B,UAAAA,MAAM,EAAEP,YAAAA;AAAY,SAAA,CACrB,CAAC,CAAA;AACJ,OAAC,MAAM;AACL;QACA3B,WAAW,CAACQ,IAAI,CAAC;AACfC,UAAAA,KAAK,EAAER,cAAe;AACtBG,UAAAA,WAAW,EAAXA,WAAW;UACX4B,IAAI,EAAE,CAAAC,aAAA,CAAAA,aAAA,CAEC7C,EAAAA,EAAAA,KAAK,CAACkB,KAAK,CAAA,EAAA,EAAA,EAAA;AACd4B,YAAAA,MAAM,EAAEP,YAAAA;AAAY,WAAA,CAAA,CAAA;AAG1B,SAAC,CAAC,CAAA;AACJ,OAAA;AAEA,MAAA,IAAMQ,WAAW,gBAAGnD,cAAK,CAACoD,YAAY,CAAChD,KAAK,EAAE;AAC5C;AACA8C,QAAAA,MAAM,EAAEP,YAAAA;AACV,OAAC,CAAC,CAAA;AACF,MAAA,OAAOQ,WAAW,CAAA;AACpB,KAAA;AAEA,IAAA,OAAO/C,KAAK,CAAA;GACb,CAAA;AAED,EAAA,IAAIM,mCAA4C,CAAA;AAChD;AACA,EAAA,IAAIJ,0BAAkC,CAAA;EAEtC,IAAI+B,aAAa,EAAE,EAAE;AACnB;AACA;AAEA;AAAA,IAAA,IAAAgB,qBAAA,GAIIxD,4BAA4B,CAACC,QAAQ,CAAC,CAAA;IAFxCY,mCAAmC,GAAA2C,qBAAA,CAAnC3C,mCAAmC,CAAA;IACnCJ,0BAA0B,GAAA+C,qBAAA,CAA1B/C,0BAA0B,CAAA;AAE9B,GAAA;;AAEA;AACA,EAAA,IAAMgD,cAAc,GAAGtD,cAAK,CAACC,QAAQ,CAACE,GAAG,CAACL,QAAQ,EAAE,UAACM,KAAK,EAAEmD,KAAK,EAAK;AACpE,IAAA,kBAAIvD,cAAK,CAACqB,cAAc,CAACjB,KAAK,CAAC,EAAE;MAC/B,IAAIoD,sBAAsB,CAACpD,KAAK,EAAEI,YAAY,CAACC,iBAAiB,CAAC,EAAE;AACjE,QAAA,IAAMgD,iBAAiB,GACrBF,KAAK,KAAKjD,0BAA0B,IAAI,CAACI,mCAAmC,CAAA;QAC9E,IAAMgD,kBAA4B,GAAG,EAAE,CAAA;AACvC,QAAA,oBAAO1D,cAAK,CAACoD,YAAY,CAAChD,KAAK,EAAE;AAC/B;AACAN,UAAAA,QAAQ,EAAEE,cAAK,CAACC,QAAQ,CAACE,GAAG,CAACC,KAAK,CAACkB,KAAK,CAACxB,QAAQ,EAAE,UAAC6D,cAAc,EAAK;AACrE1C,YAAAA,cAAc,GAAGb,KAAK,CAACkB,KAAK,CAACG,KAAK,CAAA;YAClCiC,kBAAkB,CAAClC,IAAI,CAACmC,cAAc,CAACrC,KAAK,CAACI,KAAK,CAAC,CAAA;YACnD,IAAI8B,sBAAsB,CAACG,cAAc,EAAEnD,YAAY,CAACK,cAAc,CAAC,EAAE;AACvE,cAAA,OAAOM,uBAAuB,CAACwC,cAAc,EAAEF,iBAAiB,CAAC,CAAA;AACnE,aAAA;AAEA,YAAA,OAAOE,cAAc,CAAA;AACvB,WAAC,CAAC;AACF;AACAC,UAAAA,YAAY,EAAEvB,aAAa,EAAE,GAAGoB,iBAAiB,GAAGI,SAAS;AAC7DC,UAAAA,mBAAmB,EAAEJ,kBAAAA;AACvB,SAAC,CAAC,CAAA;AACJ,OAAA;MAEA,IAAIF,sBAAsB,CAACpD,KAAK,EAAEI,YAAY,CAACK,cAAc,CAAC,EAAE;AAC9D,QAAA,OAAOM,uBAAuB,CAACf,KAAK,EAAE,IAAI,CAAC,CAAA;AAC7C,OAAA;AAEA,MAAA,IAAI,KAAO,EAAE;AACX2D,QAAAA,eAAe,CAAC;UACdC,OAAO,EAAA,OAAA,CAAAC,MAAA,CAAUnD,yBAAyB,CAACoD,IAAI,CAAC,IAAI,CAAC,EAA8B,8BAAA,CAAA;AACnFC,UAAAA,UAAU,EAAE,YAAA;AACd,SAAC,CAAC,CAAA;AACJ,OAAA;AACF,KAAA;AACA,IAAA,OAAO/D,KAAK,CAAA;AACd,GAAC,CAAC,CAAA;EAEF,OAAO;AACLY,IAAAA,WAAW,EAAXA,WAAW;AACXsC,IAAAA,cAAc,EAAdA,cAAc;AACdpC,IAAAA,iBAAiB,EAAjBA,iBAAAA;GACD,CAAA;AACH,EAAC;AAED,IAAMkD,2BAA2B,GAAG,SAA9BA,2BAA2BA,CAAAC,IAAA,EAQrB;AAAA,EAAA,IAPVC,OAAO,GAAAD,IAAA,CAAPC,OAAO;IACPC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IACRC,WAAW,GAAAH,IAAA,CAAXG,WAAW,CAAA;AAMX,EAAA,IAAI,KAAO,EAAE;IACXxE,cAAK,CAACC,QAAQ,CAACE,GAAG,CAACoE,QAAQ,EAAE,UAACnE,KAAK,EAAK;AACtC,MAAA,IACE,CAACoD,sBAAsB,CAACpD,KAAK,EAAEI,YAAY,CAACiE,kBAAkB,CAAC,IAC/D,CAACjB,sBAAsB,CAACpD,KAAK,EAAEI,YAAY,CAACkE,kBAAkB,CAAC,EAC/D;AACAX,QAAAA,eAAe,CAAC;AACdC,UAAAA,OAAO,EAAAC,OAAAA,CAAAA,MAAA,CAAUzD,YAAY,CAACiE,kBAAkB,EAAAR,OAAAA,CAAAA,CAAAA,MAAA,CAAQzD,YAAY,CAACkE,kBAAkB,EAA+B,+BAAA,CAAA;AACtHP,UAAAA,UAAU,EAAE,gBAAA;AACd,SAAC,CAAC,CAAA;AACJ,OAAA;AACF,KAAC,CAAC,CAAA;IAEFnE,cAAK,CAACC,QAAQ,CAACE,GAAG,CAACqE,WAAW,EAAE,UAACpE,KAAK,EAAK;AACzC,MAAA,IACE,CAACoD,sBAAsB,CAACpD,KAAK,EAAEI,YAAY,CAACmE,mBAAmB,CAAC,IAChE,CAACnB,sBAAsB,CAACpD,KAAK,EAAEI,YAAY,CAACoE,wBAAwB,CAAC,EACrE;AACAb,QAAAA,eAAe,CAAC;AACdC,UAAAA,OAAO,EAAAC,OAAAA,CAAAA,MAAA,CAAUzD,YAAY,CAACmE,mBAAmB,EAAAV,OAAAA,CAAAA,CAAAA,MAAA,CAAQzD,YAAY,CAACoE,wBAAwB,EAAkC,kCAAA,CAAA;AAChIT,UAAAA,UAAU,EAAE,gBAAA;AACd,SAAC,CAAC,CAAA;AACJ,OAAA;AACF,KAAC,CAAC,CAAA;IAEFnE,cAAK,CAACC,QAAQ,CAACE,GAAG,CAACmE,OAAO,EAAE,UAAClE,KAAK,EAAK;AACrC,MAAA,IACE,CAACoD,sBAAsB,CAACpD,KAAK,EAAEI,YAAY,CAACiE,kBAAkB,CAAC,IAC/D,CAACjB,sBAAsB,CAACpD,KAAK,EAAEI,YAAY,CAACkE,kBAAkB,CAAC,IAC/D,CAAClB,sBAAsB,CAACpD,KAAK,EAAEI,YAAY,CAACqE,mBAAmB,CAAC,IAChE,CAACrB,sBAAsB,CAACpD,KAAK,EAAEI,YAAY,CAACsE,oBAAoB,CAAC,EACjE;AACAf,QAAAA,eAAe,CAAC;UACdC,OAAO,EAAA,OAAA,CAAAC,MAAA,CAAUzD,YAAY,CAACiE,kBAAkB,EAAAR,IAAAA,CAAAA,CAAAA,MAAA,CAAKzD,YAAY,CAACsE,oBAAoB,QAAAb,MAAA,CAAKzD,YAAY,CAACqE,mBAAmB,EAAA,QAAA,CAAA,CAAAZ,MAAA,CAASzD,YAAY,CAACkE,kBAAkB,EAA8B,8BAAA,CAAA;AACjMP,UAAAA,UAAU,EAAE,gBAAA;AACd,SAAC,CAAC,CAAA;AACJ,OAAA;AACF,KAAC,CAAC,CAAA;AACJ,GAAA;AACF,EAAC;AAED,IAAMY,kBAAkB,GAAG,SAArBA,kBAAkBA,CACtBxD,UAA+B,EAK5B;AAAA,EAAA,IAAAyD,KAAA,GAAAC,SAAA,CAAArC,MAAA,GAAA,CAAA,IAAAqC,SAAA,CAAA,CAAA,CAAA,KAAApB,SAAA,GAAAoB,SAAA,CAAA,CAAA,CAAA,GAJkC,EAAE;IAArCC,OAAO,GAAAF,KAAA,CAAPE,OAAO,CAAA;AAKT,EAAA,IAAI3D,UAAU,EAAE;AACd,IAAA,OAAO,gCAAgC,CAAA;AACzC,GAAA;AAEA,EAAA,IAAI2D,OAAO,EAAE;AACX,IAAA,OAAO,6BAA6B,CAAA;AACtC,GAAA;AAEA,EAAA,OAAO,8BAA8B,CAAA;AACvC;;;;"}
@@ -5,6 +5,7 @@ var componentIds = {
5
5
  ActionListItemBadgeGroup: 'ActionListItemBadgeGroup',
6
6
  ActionListItemAsset: 'ActionListItemAsset',
7
7
  ActionListItemIcon: 'ActionListItemIcon',
8
+ ActionListItemAvatar: 'ActionListItemAvatar',
8
9
  ActionListItemText: 'ActionListItemText',
9
10
  ActionListSection: 'ActionListSection'
10
11
  };
@@ -1 +1 @@
1
- {"version":3,"file":"componentIds.js","sources":["../../../../../../src/components/ActionList/componentIds.ts"],"sourcesContent":["export const componentIds = {\n ActionList: 'ActionList',\n ActionListItem: 'ActionListItem',\n ActionListItemBadge: 'ActionListItemBadge',\n ActionListItemBadgeGroup: 'ActionListItemBadgeGroup',\n ActionListItemAsset: 'ActionListItemAsset',\n ActionListItemIcon: 'ActionListItemIcon',\n ActionListItemText: 'ActionListItemText',\n ActionListSection: 'ActionListSection',\n};\n"],"names":["componentIds","ActionList","ActionListItem","ActionListItemBadge","ActionListItemBadgeGroup","ActionListItemAsset","ActionListItemIcon","ActionListItemText","ActionListSection"],"mappings":"AAAO,IAAMA,YAAY,GAAG;AAC1BC,EAAAA,UAAU,EAAE,YAAY;AACxBC,EAAAA,cAAc,EAAE,gBAAgB;AAChCC,EAAAA,mBAAmB,EAAE,qBAAqB;AAC1CC,EAAAA,wBAAwB,EAAE,0BAA0B;AACpDC,EAAAA,mBAAmB,EAAE,qBAAqB;AAC1CC,EAAAA,kBAAkB,EAAE,oBAAoB;AACxCC,EAAAA,kBAAkB,EAAE,oBAAoB;AACxCC,EAAAA,iBAAiB,EAAE,mBAAA;AACrB;;;;"}
1
+ {"version":3,"file":"componentIds.js","sources":["../../../../../../src/components/ActionList/componentIds.ts"],"sourcesContent":["export const componentIds = {\n ActionList: 'ActionList',\n ActionListItem: 'ActionListItem',\n ActionListItemBadge: 'ActionListItemBadge',\n ActionListItemBadgeGroup: 'ActionListItemBadgeGroup',\n ActionListItemAsset: 'ActionListItemAsset',\n ActionListItemIcon: 'ActionListItemIcon',\n ActionListItemAvatar: 'ActionListItemAvatar',\n ActionListItemText: 'ActionListItemText',\n ActionListSection: 'ActionListSection',\n};\n"],"names":["componentIds","ActionList","ActionListItem","ActionListItemBadge","ActionListItemBadgeGroup","ActionListItemAsset","ActionListItemIcon","ActionListItemAvatar","ActionListItemText","ActionListSection"],"mappings":"AAAO,IAAMA,YAAY,GAAG;AAC1BC,EAAAA,UAAU,EAAE,YAAY;AACxBC,EAAAA,cAAc,EAAE,gBAAgB;AAChCC,EAAAA,mBAAmB,EAAE,qBAAqB;AAC1CC,EAAAA,wBAAwB,EAAE,0BAA0B;AACpDC,EAAAA,mBAAmB,EAAE,qBAAqB;AAC1CC,EAAAA,kBAAkB,EAAE,oBAAoB;AACxCC,EAAAA,oBAAoB,EAAE,sBAAsB;AAC5CC,EAAAA,kBAAkB,EAAE,oBAAoB;AACxCC,EAAAA,iBAAiB,EAAE,mBAAA;AACrB;;;;"}
@@ -1,4 +1,4 @@
1
1
  export { ActionList } from './ActionList.js';
2
- export { ActionListItem, ActionListItemBadge, ActionListItemBadgeGroup, ActionListItemIcon, ActionListItemText, ActionListSection } from './ActionListItem.js';
2
+ export { ActionListItem, ActionListItemAvatar, ActionListItemBadge, ActionListItemBadgeGroup, ActionListItemIcon, ActionListItemText, ActionListSection } from './ActionListItem.js';
3
3
  export { ActionListItemAsset } from './ActionListItemAsset.web.js';
4
4
  //# sourceMappingURL=index.js.map
@@ -10,7 +10,8 @@ import Button from '../Button/Button/Button.js';
10
10
 
11
11
  var CalendarFooter = function CalendarFooter(_ref) {
12
12
  var onApply = _ref.onApply,
13
- onCancel = _ref.onCancel;
13
+ onCancel = _ref.onCancel,
14
+ isButtonDisabled = _ref.isButtonDisabled;
14
15
  var isMobile = useIsMobile();
15
16
  return /*#__PURE__*/jsxs(BaseBox, {
16
17
  display: "flex",
@@ -32,6 +33,7 @@ var CalendarFooter = function CalendarFooter(_ref) {
32
33
  onClick: onCancel,
33
34
  children: "Cancel"
34
35
  }), /*#__PURE__*/jsx(Button, {
36
+ isDisabled: isButtonDisabled,
35
37
  isFullWidth: isMobile,
36
38
  variant: "primary",
37
39
  size: "medium",
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarFooter.web.js","sources":["../../../../../../src/components/DatePicker/CalendarFooter.web.tsx"],"sourcesContent":["import React from 'react';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Button } from '~components/Button';\nimport { Divider } from '~components/Divider';\nimport { useIsMobile } from '~utils/useIsMobile';\n\ntype CalendarFooterProps = {\n onApply: () => void;\n onCancel: () => void;\n};\nconst CalendarFooter = ({ onApply, onCancel }: CalendarFooterProps): React.ReactElement => {\n const isMobile = useIsMobile();\n\n return (\n <BaseBox display=\"flex\" flexDirection=\"column\" gap=\"spacing.5\">\n {isMobile ? null : <Divider />}\n <BaseBox\n width={{ base: '100%', m: 'auto' }}\n marginLeft=\"auto\"\n display=\"flex\"\n flexDirection=\"row\"\n gap=\"spacing.4\"\n >\n <Button isFullWidth={isMobile} variant=\"tertiary\" size=\"medium\" onClick={onCancel}>\n Cancel\n </Button>\n <Button isFullWidth={isMobile} variant=\"primary\" size=\"medium\" onClick={onApply}>\n Apply\n </Button>\n </BaseBox>\n </BaseBox>\n );\n};\n\nexport { CalendarFooter };\n"],"names":["CalendarFooter","_ref","onApply","onCancel","isMobile","useIsMobile","_jsxs","BaseBox","display","flexDirection","gap","children","_jsx","Divider","width","base","m","marginLeft","Button","isFullWidth","variant","size","onClick"],"mappings":";;;;;;;;;;AAUA,IAAMA,cAAc,GAAG,SAAjBA,cAAcA,CAAAC,IAAA,EAAuE;AAAA,EAAA,IAAjEC,OAAO,GAAAD,IAAA,CAAPC,OAAO;IAAEC,QAAQ,GAAAF,IAAA,CAARE,QAAQ,CAAA;AACzC,EAAA,IAAMC,QAAQ,GAAGC,WAAW,EAAE,CAAA;EAE9B,oBACEC,IAAA,CAACC,OAAO,EAAA;AAACC,IAAAA,OAAO,EAAC,MAAM;AAACC,IAAAA,aAAa,EAAC,QAAQ;AAACC,IAAAA,GAAG,EAAC,WAAW;AAAAC,IAAAA,QAAA,EAC3DP,CAAAA,QAAQ,GAAG,IAAI,gBAAGQ,GAAA,CAACC,OAAO,EAAE,EAAA,CAAC,eAC9BP,IAAA,CAACC,OAAO,EAAA;AACNO,MAAAA,KAAK,EAAE;AAAEC,QAAAA,IAAI,EAAE,MAAM;AAAEC,QAAAA,CAAC,EAAE,MAAA;OAAS;AACnCC,MAAAA,UAAU,EAAC,MAAM;AACjBT,MAAAA,OAAO,EAAC,MAAM;AACdC,MAAAA,aAAa,EAAC,KAAK;AACnBC,MAAAA,GAAG,EAAC,WAAW;MAAAC,QAAA,EAAA,cAEfC,GAAA,CAACM,MAAM,EAAA;AAACC,QAAAA,WAAW,EAAEf,QAAS;AAACgB,QAAAA,OAAO,EAAC,UAAU;AAACC,QAAAA,IAAI,EAAC,QAAQ;AAACC,QAAAA,OAAO,EAAEnB,QAAS;AAAAQ,QAAAA,QAAA,EAAC,QAAA;AAEnF,OAAQ,CAAC,eACTC,GAAA,CAACM,MAAM,EAAA;AAACC,QAAAA,WAAW,EAAEf,QAAS;AAACgB,QAAAA,OAAO,EAAC,SAAS;AAACC,QAAAA,IAAI,EAAC,QAAQ;AAACC,QAAAA,OAAO,EAAEpB,OAAQ;AAAAS,QAAAA,QAAA,EAAC,OAAA;AAEjF,OAAQ,CAAC,CAAA;AAAA,KACF,CAAC,CAAA;AAAA,GACH,CAAC,CAAA;AAEd;;;;"}
1
+ {"version":3,"file":"CalendarFooter.web.js","sources":["../../../../../../src/components/DatePicker/CalendarFooter.web.tsx"],"sourcesContent":["import React from 'react';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Button } from '~components/Button';\nimport { Divider } from '~components/Divider';\nimport { useIsMobile } from '~utils/useIsMobile';\n\ntype CalendarFooterProps = {\n onApply: () => void;\n onCancel: () => void;\n isButtonDisabled?: boolean;\n};\nconst CalendarFooter = ({\n onApply,\n onCancel,\n isButtonDisabled,\n}: CalendarFooterProps): React.ReactElement => {\n const isMobile = useIsMobile();\n\n return (\n <BaseBox display=\"flex\" flexDirection=\"column\" gap=\"spacing.5\">\n {isMobile ? null : <Divider />}\n <BaseBox\n width={{ base: '100%', m: 'auto' }}\n marginLeft=\"auto\"\n display=\"flex\"\n flexDirection=\"row\"\n gap=\"spacing.4\"\n >\n <Button isFullWidth={isMobile} variant=\"tertiary\" size=\"medium\" onClick={onCancel}>\n Cancel\n </Button>\n <Button\n isDisabled={isButtonDisabled}\n isFullWidth={isMobile}\n variant=\"primary\"\n size=\"medium\"\n onClick={onApply}\n >\n Apply\n </Button>\n </BaseBox>\n </BaseBox>\n );\n};\n\nexport { CalendarFooter };\n"],"names":["CalendarFooter","_ref","onApply","onCancel","isButtonDisabled","isMobile","useIsMobile","_jsxs","BaseBox","display","flexDirection","gap","children","_jsx","Divider","width","base","m","marginLeft","Button","isFullWidth","variant","size","onClick","isDisabled"],"mappings":";;;;;;;;;;AAWA,IAAMA,cAAc,GAAG,SAAjBA,cAAcA,CAAAC,IAAA,EAI2B;AAAA,EAAA,IAH7CC,OAAO,GAAAD,IAAA,CAAPC,OAAO;IACPC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IACRC,gBAAgB,GAAAH,IAAA,CAAhBG,gBAAgB,CAAA;AAEhB,EAAA,IAAMC,QAAQ,GAAGC,WAAW,EAAE,CAAA;EAE9B,oBACEC,IAAA,CAACC,OAAO,EAAA;AAACC,IAAAA,OAAO,EAAC,MAAM;AAACC,IAAAA,aAAa,EAAC,QAAQ;AAACC,IAAAA,GAAG,EAAC,WAAW;AAAAC,IAAAA,QAAA,EAC3DP,CAAAA,QAAQ,GAAG,IAAI,gBAAGQ,GAAA,CAACC,OAAO,EAAE,EAAA,CAAC,eAC9BP,IAAA,CAACC,OAAO,EAAA;AACNO,MAAAA,KAAK,EAAE;AAAEC,QAAAA,IAAI,EAAE,MAAM;AAAEC,QAAAA,CAAC,EAAE,MAAA;OAAS;AACnCC,MAAAA,UAAU,EAAC,MAAM;AACjBT,MAAAA,OAAO,EAAC,MAAM;AACdC,MAAAA,aAAa,EAAC,KAAK;AACnBC,MAAAA,GAAG,EAAC,WAAW;MAAAC,QAAA,EAAA,cAEfC,GAAA,CAACM,MAAM,EAAA;AAACC,QAAAA,WAAW,EAAEf,QAAS;AAACgB,QAAAA,OAAO,EAAC,UAAU;AAACC,QAAAA,IAAI,EAAC,QAAQ;AAACC,QAAAA,OAAO,EAAEpB,QAAS;AAAAS,QAAAA,QAAA,EAAC,QAAA;AAEnF,OAAQ,CAAC,eACTC,GAAA,CAACM,MAAM,EAAA;AACLK,QAAAA,UAAU,EAAEpB,gBAAiB;AAC7BgB,QAAAA,WAAW,EAAEf,QAAS;AACtBgB,QAAAA,OAAO,EAAC,SAAS;AACjBC,QAAAA,IAAI,EAAC,QAAQ;AACbC,QAAAA,OAAO,EAAErB,OAAQ;AAAAU,QAAAA,QAAA,EAClB,OAAA;AAED,OAAQ,CAAC,CAAA;AAAA,KACF,CAAC,CAAA;AAAA,GACH,CAAC,CAAA;AAEd;;;;"}
@@ -39,7 +39,7 @@ import { BottomSheetBody } from '../BottomSheet/BottomSheetBody.web.js';
39
39
  import { BottomSheetFooter } from '../BottomSheet/BottomSheetFooter.web.js';
40
40
  import { makeAccessible } from '../../utils/makeAccessible/makeAccessible.web.js';
41
41
 
42
- var _excluded = ["selectionType", "allowSingleDateInRange", "value", "defaultValue", "onChange", "presets", "isOpen", "defaultIsOpen", "onOpenChange", "label", "labelPosition", "accessibilityLabel", "errorText", "helpText", "isDisabled", "isRequired", "successText", "validationState", "size", "autoFocus", "necessityIndicator", "name", "defaultPicker", "picker", "onPickerChange", "zIndex"];
42
+ var _excluded = ["selectionType", "allowSingleDateInRange", "value", "defaultValue", "onChange", "onApply", "presets", "isOpen", "defaultIsOpen", "onOpenChange", "label", "labelPosition", "accessibilityLabel", "errorText", "helpText", "isDisabled", "isRequired", "successText", "validationState", "size", "autoFocus", "necessityIndicator", "name", "defaultPicker", "picker", "onPickerChange", "zIndex"];
43
43
  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; }
44
44
  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; }
45
45
  var DatePicker = function DatePicker(_ref) {
@@ -48,6 +48,7 @@ var DatePicker = function DatePicker(_ref) {
48
48
  value = _ref.value,
49
49
  defaultValue = _ref.defaultValue,
50
50
  _onChange = _ref.onChange,
51
+ onApply = _ref.onApply,
51
52
  presets = _ref.presets,
52
53
  isOpen = _ref.isOpen,
53
54
  defaultIsOpen = _ref.defaultIsOpen,
@@ -137,15 +138,31 @@ var DatePicker = function DatePicker(_ref) {
137
138
  _React$useState4 = _slicedToArray(_React$useState3, 2),
138
139
  oldValue = _React$useState4[0],
139
140
  setOldValue = _React$useState4[1];
141
+ var hasBothDatesSelected = (controlledValue === null || controlledValue === void 0 ? void 0 : controlledValue[0]) && (controlledValue === null || controlledValue === void 0 ? void 0 : controlledValue[1]);
142
+ var applyButtonDisabled = !hasBothDatesSelected;
143
+ if (isSingle) {
144
+ applyButtonDisabled = !Boolean(controlledValue);
145
+ }
140
146
  var close = React__default.useCallback(function () {
141
147
  controllableSetIsOpen(function () {
142
148
  return false;
143
149
  });
144
150
  }, [controllableSetIsOpen]);
145
151
  var handleApply = function handleApply() {
146
- _onChange === null || _onChange === void 0 ? void 0 : _onChange(controlledValue);
147
- setOldValue(controlledValue);
148
- close();
152
+ if (isSingle) {
153
+ _onChange === null || _onChange === void 0 ? void 0 : _onChange(controlledValue);
154
+ setOldValue(controlledValue);
155
+ onApply === null || onApply === void 0 ? void 0 : onApply(controlledValue);
156
+ close();
157
+ return;
158
+ }
159
+ // only apply if both dates are selected
160
+ if (hasBothDatesSelected) {
161
+ _onChange === null || _onChange === void 0 ? void 0 : _onChange(controlledValue);
162
+ setOldValue(controlledValue);
163
+ onApply === null || onApply === void 0 ? void 0 : onApply(controlledValue);
164
+ close();
165
+ }
149
166
  };
150
167
  var handleCancel = function handleCancel() {
151
168
  setControlledValue(oldValue);
@@ -245,6 +262,7 @@ var DatePicker = function DatePicker(_ref) {
245
262
  forceRerender();
246
263
  }
247
264
  })), isMobile ? null : /*#__PURE__*/jsx(CalendarFooter, {
265
+ isButtonDisabled: applyButtonDisabled,
248
266
  onApply: handleApply,
249
267
  onCancel: handleCancel
250
268
  })]
@@ -1 +1 @@
1
- {"version":3,"file":"DatePicker.web.js","sources":["../../../../../../src/components/DatePicker/DatePicker.web.tsx"],"sourcesContent":["/* eslint-disable jsx-a11y/no-autofocus */\n/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable @typescript-eslint/explicit-function-return-type */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { DatesProvider } from '@mantine/dates';\nimport React from 'react';\nimport { FloatingFocusManager, FloatingPortal } from '@floating-ui/react';\nimport { useI18nContext } from '@razorpay/i18nify-react';\nimport { MantineProvider } from '@mantine/core';\nimport dayjs from 'dayjs';\nimport type { DatesRangeValue, DatePickerProps, DateSelectionType, PickerType } from './types';\nimport { Calendar } from './Calendar';\nimport { PresetSideBar } from './QuickSelection/PresetSideBar';\nimport { useDatesState } from './useDatesState';\nimport { DatePickerInput } from './DateInput';\nimport { usePopup } from './usePopup';\nimport { CalendarFooter } from './CalendarFooter';\nimport { convertIntlToDayjsLocale, loadScript } from './utils';\nimport { shiftTimezone } from './shiftTimezone';\nimport BaseBox from '~components/Box/BaseBox';\nimport { useControllableState } from '~utils/useControllable';\nimport { useTheme } from '~utils';\nimport { useId } from '~utils/useId';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { useIsMobile } from '~utils/useIsMobile';\nimport {\n BottomSheet,\n BottomSheetBody,\n BottomSheetFooter,\n BottomSheetHeader,\n} from '~components/BottomSheet';\nimport { logger } from '~utils/logger';\nimport type { StyledPropsBlade } from '~components/Box/styledProps';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { componentZIndices } from '~utils/componentZIndices';\n\nconst DatePicker = <Type extends DateSelectionType = 'single'>({\n selectionType,\n allowSingleDateInRange,\n value,\n defaultValue,\n onChange,\n presets,\n isOpen,\n defaultIsOpen,\n onOpenChange,\n label,\n labelPosition = 'top',\n accessibilityLabel,\n errorText,\n helpText,\n isDisabled,\n isRequired,\n successText,\n validationState,\n size,\n autoFocus,\n necessityIndicator,\n name,\n defaultPicker = 'day',\n picker,\n onPickerChange,\n zIndex = componentZIndices.popover,\n ...props\n}: DatePickerProps<Type> & StyledPropsBlade): React.ReactElement => {\n const { i18nState } = useI18nContext();\n const _selectionType = selectionType ?? 'single';\n const { theme } = useTheme();\n const isSingle = _selectionType === 'single';\n const [_, forceRerender] = React.useReducer((x: number) => x + 1, 0);\n const [selectedPreset, setSelectedPreset] = React.useState<DatesRangeValue | null>(null);\n\n const [_picker, setPicker] = useControllableState<PickerType>({\n defaultValue: defaultPicker,\n value: picker,\n onChange: (picker) => {\n onPickerChange?.(picker);\n },\n });\n\n const {\n onDateChange,\n onRootMouseLeave,\n onHoveredDateChange,\n getControlProps,\n setPickedDate,\n controlledValue,\n setControlledValue,\n } = useDatesState({\n level: _picker,\n type: isSingle ? 'default' : 'range',\n allowDeselect: false,\n allowSingleDateInRange,\n value,\n defaultValue,\n onChange: (date) => {\n onChange?.(date as never);\n if (isSingle) return;\n // sync selected preset with value\n setSelectedPreset(date as DatesRangeValue);\n },\n });\n\n const [controllableIsOpen, controllableSetIsOpen] = useControllableState({\n value: isOpen,\n defaultValue: defaultIsOpen,\n onChange: (isOpen) => onOpenChange?.({ isOpen }),\n });\n\n const currentDate = shiftTimezone('add', new Date());\n const [oldValue, setOldValue] = React.useState<DatesRangeValue | null>(controlledValue);\n\n const close = React.useCallback(() => {\n controllableSetIsOpen(() => false);\n }, [controllableSetIsOpen]);\n\n const handleApply = (): void => {\n onChange?.(controlledValue);\n setOldValue(controlledValue);\n close();\n };\n\n const handleCancel = (): void => {\n setControlledValue(oldValue);\n setPickedDate(null);\n close();\n };\n\n const isMobile = useIsMobile();\n const defaultInitialFocusRef = React.useRef<HTMLButtonElement>(null);\n const titleId = useId('datepicker-title');\n const referenceRef = React.useRef<HTMLButtonElement>(null);\n const {\n context,\n refs,\n isMounted,\n floatingStyles,\n animationStyles,\n getReferenceProps,\n getFloatingProps,\n } = usePopup({\n enabled: !isMobile,\n placement: 'bottom-start',\n open: controllableIsOpen,\n onOpenChange: (isOpen, _, reason) => {\n controllableSetIsOpen(() => isOpen);\n if (reason === 'escape-key' || reason === 'outside-press') {\n handleCancel();\n }\n },\n referenceRef,\n });\n\n const shouldRenderPresets = !isSingle && !isMobile;\n\n const content = (\n <>\n {shouldRenderPresets ? (\n <PresetSideBar\n presets={presets}\n date={currentDate}\n selectedPreset={selectedPreset}\n onSelection={(preset) => {\n const presetValue = preset?.(currentDate);\n setControlledValue(presetValue);\n setSelectedPreset(presetValue);\n }}\n />\n ) : null}\n <BaseBox\n width=\"100%\"\n display=\"flex\"\n flexDirection=\"column\"\n gap=\"spacing.5\"\n padding={{ m: 'spacing.6', s: 'spacing.0' }}\n backgroundColor=\"surface.background.gray.intense\"\n >\n <Calendar\n {...props}\n selectionType={_selectionType}\n defaultValue={defaultValue}\n onMouseLeave={onRootMouseLeave}\n __onDayMouseEnter={(_event, date) => {\n onHoveredDateChange(date);\n }}\n __onDayClick={(_event, date) => {\n onDateChange(date);\n }}\n getMonthControlProps={(date) => {\n return getControlProps(date);\n }}\n getYearControlProps={(date) => {\n return getControlProps(date);\n }}\n getDayProps={(date) => {\n return getControlProps(date);\n }}\n onMonthSelect={(date) => {\n props?.onMonthSelect?.(date);\n onDateChange(date);\n }}\n onYearSelect={(date) => {\n props?.onYearSelect?.(date);\n onDateChange(date);\n }}\n onNext={(data) => {\n props?.onNext?.(data);\n forceRerender();\n }}\n onPrevious={(data) => {\n props?.onPrevious?.(data);\n forceRerender();\n }}\n picker={_picker}\n onPickerChange={(picker) => {\n setPicker(() => picker);\n forceRerender();\n }}\n />\n {isMobile ? null : <CalendarFooter onApply={handleApply} onCancel={handleCancel} />}\n </BaseBox>\n </>\n );\n\n const dateProviderValue = React.useMemo(() => {\n const locale = convertIntlToDayjsLocale(i18nState?.locale ?? 'en-IN');\n return {\n locale,\n };\n }, [i18nState?.locale]);\n\n // Dynamically load dayjs locales\n React.useLayoutEffect(() => {\n try {\n const locale = convertIntlToDayjsLocale(i18nState?.locale ?? 'en-IN');\n // dayjs needs to be loaded into window so that once the locale is loaded it can be parsed\n if (!(window as any).dayjs) {\n (window as any).dayjs = dayjs;\n }\n loadScript(`https://cdn.jsdelivr.net/npm/dayjs@1/locale/${locale}.js`, () => {\n forceRerender();\n });\n } catch (e: unknown) {\n logger({ type: 'warn', message: 'Failed to load dayjs locale' });\n }\n }, [i18nState?.locale]);\n\n return (\n <MantineProvider>\n <DatesProvider settings={dateProviderValue}>\n <BaseBox\n width=\"100%\"\n {...getStyledProps(props)}\n {...metaAttribute({ name: MetaConstants.DatePicker })}\n >\n <DatePickerInput\n selectionType={_selectionType}\n date={controlledValue}\n ref={referenceRef}\n inputRef={refs.reference}\n referenceProps={getReferenceProps()}\n name={name as never}\n label={label as never}\n labelPosition={labelPosition}\n accessibilityLabel={accessibilityLabel}\n size={size}\n errorText={errorText as never}\n helpText={helpText as never}\n successText={successText as never}\n isDisabled={isDisabled}\n isRequired={isRequired}\n validationState={validationState}\n autoFocus={autoFocus}\n necessityIndicator={necessityIndicator}\n />\n {isMobile ? (\n <BottomSheet\n snapPoints={[0.9, 0.9, 1]}\n isOpen={controllableIsOpen}\n onDismiss={() => {\n handleCancel();\n }}\n >\n <BottomSheetHeader title={isSingle ? 'Select Date' : 'Select Date Range'} />\n <BottomSheetBody>\n {content}\n {!isSingle && (\n <PresetSideBar\n isMobile\n presets={presets}\n date={currentDate}\n selectedPreset={selectedPreset}\n onSelection={(preset) => {\n const presetValue = preset?.(currentDate);\n setControlledValue(presetValue);\n setSelectedPreset(presetValue);\n }}\n />\n )}\n </BottomSheetBody>\n <BottomSheetFooter>\n <CalendarFooter onCancel={handleCancel} onApply={handleApply} />\n </BottomSheetFooter>\n </BottomSheet>\n ) : (\n isMounted && (\n <FloatingPortal>\n <FloatingFocusManager\n initialFocus={defaultInitialFocusRef}\n context={context}\n guards={true}\n >\n <BaseBox\n ref={refs.setFloating}\n style={floatingStyles}\n zIndex={zIndex}\n {...getFloatingProps()}\n {...makeAccessible({ labelledBy: titleId })}\n >\n <BaseBox\n display=\"flex\"\n flexDirection=\"row\"\n borderColor=\"surface.border.gray.subtle\"\n borderWidth=\"thin\"\n borderStyle=\"solid\"\n borderRadius=\"medium\"\n overflow=\"hidden\"\n minWidth=\"320px\"\n style={{ ...animationStyles, boxShadow: `${theme.elevation.lowRaised}` }}\n >\n {content}\n </BaseBox>\n </BaseBox>\n </FloatingFocusManager>\n </FloatingPortal>\n )\n )}\n </BaseBox>\n </DatesProvider>\n </MantineProvider>\n );\n};\n\nexport { DatePicker };\n"],"names":["DatePicker","_ref","selectionType","allowSingleDateInRange","value","defaultValue","onChange","presets","isOpen","defaultIsOpen","onOpenChange","label","_ref$labelPosition","labelPosition","accessibilityLabel","errorText","helpText","isDisabled","isRequired","successText","validationState","size","autoFocus","necessityIndicator","name","_ref$defaultPicker","defaultPicker","picker","onPickerChange","_ref$zIndex","zIndex","componentZIndices","popover","props","_objectWithoutProperties","_excluded","_useI18nContext","useI18nContext","i18nState","_selectionType","_useTheme","useTheme","theme","isSingle","_React$useReducer","React","useReducer","x","_React$useReducer2","_slicedToArray","_","forceRerender","_React$useState","useState","_React$useState2","selectedPreset","setSelectedPreset","_useControllableState","useControllableState","_useControllableState2","_picker","setPicker","_useDatesState","useDatesState","level","type","allowDeselect","date","onDateChange","onRootMouseLeave","onHoveredDateChange","getControlProps","setPickedDate","controlledValue","setControlledValue","_useControllableState3","_useControllableState4","controllableIsOpen","controllableSetIsOpen","currentDate","shiftTimezone","Date","_React$useState3","_React$useState4","oldValue","setOldValue","close","useCallback","handleApply","handleCancel","isMobile","useIsMobile","defaultInitialFocusRef","useRef","titleId","useId","referenceRef","_usePopup","usePopup","enabled","placement","open","reason","context","refs","isMounted","floatingStyles","animationStyles","getReferenceProps","getFloatingProps","shouldRenderPresets","content","_jsxs","_Fragment","children","_jsx","PresetSideBar","onSelection","preset","presetValue","BaseBox","width","display","flexDirection","gap","padding","m","s","backgroundColor","Calendar","_objectSpread","onMouseLeave","__onDayMouseEnter","_event","__onDayClick","getMonthControlProps","getYearControlProps","getDayProps","onMonthSelect","_props$onMonthSelect","call","onYearSelect","_props$onYearSelect","onNext","data","_props$onNext","onPrevious","_props$onPrevious","CalendarFooter","onApply","onCancel","dateProviderValue","useMemo","_i18nState$locale","locale","convertIntlToDayjsLocale","useLayoutEffect","_i18nState$locale2","window","dayjs","loadScript","concat","e","logger","message","MantineProvider","DatesProvider","settings","getStyledProps","metaAttribute","MetaConstants","DatePickerInput","ref","inputRef","reference","referenceProps","BottomSheet","snapPoints","onDismiss","BottomSheetHeader","title","BottomSheetBody","BottomSheetFooter","FloatingPortal","FloatingFocusManager","initialFocus","guards","setFloating","style","makeAccessible","labelledBy","borderColor","borderWidth","borderStyle","borderRadius","overflow","minWidth","boxShadow","elevation","lowRaised"],"mappings":"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"}
1
+ {"version":3,"file":"DatePicker.web.js","sources":["../../../../../../src/components/DatePicker/DatePicker.web.tsx"],"sourcesContent":["/* eslint-disable jsx-a11y/no-autofocus */\n/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable @typescript-eslint/explicit-function-return-type */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { DatesProvider } from '@mantine/dates';\nimport React from 'react';\nimport { FloatingFocusManager, FloatingPortal } from '@floating-ui/react';\nimport { useI18nContext } from '@razorpay/i18nify-react';\nimport { MantineProvider } from '@mantine/core';\nimport dayjs from 'dayjs';\nimport type { DatesRangeValue, DatePickerProps, DateSelectionType, PickerType } from './types';\nimport { Calendar } from './Calendar';\nimport { PresetSideBar } from './QuickSelection/PresetSideBar';\nimport { useDatesState } from './useDatesState';\nimport { DatePickerInput } from './DateInput';\nimport { usePopup } from './usePopup';\nimport { CalendarFooter } from './CalendarFooter';\nimport { convertIntlToDayjsLocale, loadScript } from './utils';\nimport { shiftTimezone } from './shiftTimezone';\nimport BaseBox from '~components/Box/BaseBox';\nimport { useControllableState } from '~utils/useControllable';\nimport { useTheme } from '~utils';\nimport { useId } from '~utils/useId';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { useIsMobile } from '~utils/useIsMobile';\nimport {\n BottomSheet,\n BottomSheetBody,\n BottomSheetFooter,\n BottomSheetHeader,\n} from '~components/BottomSheet';\nimport { logger } from '~utils/logger';\nimport type { StyledPropsBlade } from '~components/Box/styledProps';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { componentZIndices } from '~utils/componentZIndices';\n\nconst DatePicker = <Type extends DateSelectionType = 'single'>({\n selectionType,\n allowSingleDateInRange,\n value,\n defaultValue,\n onChange,\n onApply,\n presets,\n isOpen,\n defaultIsOpen,\n onOpenChange,\n label,\n labelPosition = 'top',\n accessibilityLabel,\n errorText,\n helpText,\n isDisabled,\n isRequired,\n successText,\n validationState,\n size,\n autoFocus,\n necessityIndicator,\n name,\n defaultPicker = 'day',\n picker,\n onPickerChange,\n zIndex = componentZIndices.popover,\n ...props\n}: DatePickerProps<Type> & StyledPropsBlade): React.ReactElement => {\n const { i18nState } = useI18nContext();\n const _selectionType = selectionType ?? 'single';\n const { theme } = useTheme();\n const isSingle = _selectionType === 'single';\n const [_, forceRerender] = React.useReducer((x: number) => x + 1, 0);\n const [selectedPreset, setSelectedPreset] = React.useState<DatesRangeValue | null>(null);\n\n const [_picker, setPicker] = useControllableState<PickerType>({\n defaultValue: defaultPicker,\n value: picker,\n onChange: (picker) => {\n onPickerChange?.(picker);\n },\n });\n\n const {\n onDateChange,\n onRootMouseLeave,\n onHoveredDateChange,\n getControlProps,\n setPickedDate,\n controlledValue,\n setControlledValue,\n } = useDatesState({\n level: _picker,\n type: isSingle ? 'default' : 'range',\n allowDeselect: false,\n allowSingleDateInRange,\n value,\n defaultValue,\n onChange: (date) => {\n onChange?.(date as never);\n if (isSingle) return;\n // sync selected preset with value\n setSelectedPreset(date as DatesRangeValue);\n },\n });\n\n const [controllableIsOpen, controllableSetIsOpen] = useControllableState({\n value: isOpen,\n defaultValue: defaultIsOpen,\n onChange: (isOpen) => onOpenChange?.({ isOpen }),\n });\n\n const currentDate = shiftTimezone('add', new Date());\n const [oldValue, setOldValue] = React.useState<DatesRangeValue | null>(controlledValue);\n const hasBothDatesSelected = controlledValue?.[0] && controlledValue?.[1];\n let applyButtonDisabled = !hasBothDatesSelected;\n if (isSingle) {\n applyButtonDisabled = !Boolean(controlledValue);\n }\n\n const close = React.useCallback(() => {\n controllableSetIsOpen(() => false);\n }, [controllableSetIsOpen]);\n\n const handleApply = (): void => {\n if (isSingle) {\n onChange?.(controlledValue);\n setOldValue(controlledValue);\n onApply?.(controlledValue);\n close();\n return;\n }\n // only apply if both dates are selected\n if (hasBothDatesSelected) {\n onChange?.(controlledValue);\n setOldValue(controlledValue);\n onApply?.(controlledValue);\n close();\n }\n };\n\n const handleCancel = (): void => {\n setControlledValue(oldValue);\n setPickedDate(null);\n close();\n };\n\n const isMobile = useIsMobile();\n const defaultInitialFocusRef = React.useRef<HTMLButtonElement>(null);\n const titleId = useId('datepicker-title');\n const referenceRef = React.useRef<HTMLButtonElement>(null);\n const {\n context,\n refs,\n isMounted,\n floatingStyles,\n animationStyles,\n getReferenceProps,\n getFloatingProps,\n } = usePopup({\n enabled: !isMobile,\n placement: 'bottom-start',\n open: controllableIsOpen,\n onOpenChange: (isOpen, _, reason) => {\n controllableSetIsOpen(() => isOpen);\n if (reason === 'escape-key' || reason === 'outside-press') {\n handleCancel();\n }\n },\n referenceRef,\n });\n\n const shouldRenderPresets = !isSingle && !isMobile;\n\n const content = (\n <>\n {shouldRenderPresets ? (\n <PresetSideBar\n presets={presets}\n date={currentDate}\n selectedPreset={selectedPreset}\n onSelection={(preset) => {\n const presetValue = preset?.(currentDate);\n setControlledValue(presetValue);\n setSelectedPreset(presetValue);\n }}\n />\n ) : null}\n <BaseBox\n width=\"100%\"\n display=\"flex\"\n flexDirection=\"column\"\n gap=\"spacing.5\"\n padding={{ m: 'spacing.6', s: 'spacing.0' }}\n backgroundColor=\"surface.background.gray.intense\"\n >\n <Calendar\n {...props}\n selectionType={_selectionType}\n defaultValue={defaultValue}\n onMouseLeave={onRootMouseLeave}\n __onDayMouseEnter={(_event, date) => {\n onHoveredDateChange(date);\n }}\n __onDayClick={(_event, date) => {\n onDateChange(date);\n }}\n getMonthControlProps={(date) => {\n return getControlProps(date);\n }}\n getYearControlProps={(date) => {\n return getControlProps(date);\n }}\n getDayProps={(date) => {\n return getControlProps(date);\n }}\n onMonthSelect={(date) => {\n props?.onMonthSelect?.(date);\n onDateChange(date);\n }}\n onYearSelect={(date) => {\n props?.onYearSelect?.(date);\n onDateChange(date);\n }}\n onNext={(data) => {\n props?.onNext?.(data);\n forceRerender();\n }}\n onPrevious={(data) => {\n props?.onPrevious?.(data);\n forceRerender();\n }}\n picker={_picker}\n onPickerChange={(picker) => {\n setPicker(() => picker);\n forceRerender();\n }}\n />\n {isMobile ? null : (\n <CalendarFooter\n isButtonDisabled={applyButtonDisabled}\n onApply={handleApply}\n onCancel={handleCancel}\n />\n )}\n </BaseBox>\n </>\n );\n\n const dateProviderValue = React.useMemo(() => {\n const locale = convertIntlToDayjsLocale(i18nState?.locale ?? 'en-IN');\n return {\n locale,\n };\n }, [i18nState?.locale]);\n\n // Dynamically load dayjs locales\n React.useLayoutEffect(() => {\n try {\n const locale = convertIntlToDayjsLocale(i18nState?.locale ?? 'en-IN');\n // dayjs needs to be loaded into window so that once the locale is loaded it can be parsed\n if (!(window as any).dayjs) {\n (window as any).dayjs = dayjs;\n }\n loadScript(`https://cdn.jsdelivr.net/npm/dayjs@1/locale/${locale}.js`, () => {\n forceRerender();\n });\n } catch (e: unknown) {\n logger({ type: 'warn', message: 'Failed to load dayjs locale' });\n }\n }, [i18nState?.locale]);\n\n return (\n <MantineProvider>\n <DatesProvider settings={dateProviderValue}>\n <BaseBox\n width=\"100%\"\n {...getStyledProps(props)}\n {...metaAttribute({ name: MetaConstants.DatePicker })}\n >\n <DatePickerInput\n selectionType={_selectionType}\n date={controlledValue}\n ref={referenceRef}\n inputRef={refs.reference}\n referenceProps={getReferenceProps()}\n name={name as never}\n label={label as never}\n labelPosition={labelPosition}\n accessibilityLabel={accessibilityLabel}\n size={size}\n errorText={errorText as never}\n helpText={helpText as never}\n successText={successText as never}\n isDisabled={isDisabled}\n isRequired={isRequired}\n validationState={validationState}\n autoFocus={autoFocus}\n necessityIndicator={necessityIndicator}\n />\n {isMobile ? (\n <BottomSheet\n snapPoints={[0.9, 0.9, 1]}\n isOpen={controllableIsOpen}\n onDismiss={() => {\n handleCancel();\n }}\n >\n <BottomSheetHeader title={isSingle ? 'Select Date' : 'Select Date Range'} />\n <BottomSheetBody>\n {content}\n {!isSingle && (\n <PresetSideBar\n isMobile\n presets={presets}\n date={currentDate}\n selectedPreset={selectedPreset}\n onSelection={(preset) => {\n const presetValue = preset?.(currentDate);\n setControlledValue(presetValue);\n setSelectedPreset(presetValue);\n }}\n />\n )}\n </BottomSheetBody>\n <BottomSheetFooter>\n <CalendarFooter onCancel={handleCancel} onApply={handleApply} />\n </BottomSheetFooter>\n </BottomSheet>\n ) : (\n isMounted && (\n <FloatingPortal>\n <FloatingFocusManager\n initialFocus={defaultInitialFocusRef}\n context={context}\n guards={true}\n >\n <BaseBox\n ref={refs.setFloating}\n style={floatingStyles}\n zIndex={zIndex}\n {...getFloatingProps()}\n {...makeAccessible({ labelledBy: titleId })}\n >\n <BaseBox\n display=\"flex\"\n flexDirection=\"row\"\n borderColor=\"surface.border.gray.subtle\"\n borderWidth=\"thin\"\n borderStyle=\"solid\"\n borderRadius=\"medium\"\n overflow=\"hidden\"\n minWidth=\"320px\"\n style={{ ...animationStyles, boxShadow: `${theme.elevation.lowRaised}` }}\n >\n {content}\n </BaseBox>\n </BaseBox>\n </FloatingFocusManager>\n </FloatingPortal>\n )\n )}\n </BaseBox>\n </DatesProvider>\n </MantineProvider>\n );\n};\n\nexport { DatePicker };\n"],"names":["DatePicker","_ref","selectionType","allowSingleDateInRange","value","defaultValue","onChange","onApply","presets","isOpen","defaultIsOpen","onOpenChange","label","_ref$labelPosition","labelPosition","accessibilityLabel","errorText","helpText","isDisabled","isRequired","successText","validationState","size","autoFocus","necessityIndicator","name","_ref$defaultPicker","defaultPicker","picker","onPickerChange","_ref$zIndex","zIndex","componentZIndices","popover","props","_objectWithoutProperties","_excluded","_useI18nContext","useI18nContext","i18nState","_selectionType","_useTheme","useTheme","theme","isSingle","_React$useReducer","React","useReducer","x","_React$useReducer2","_slicedToArray","_","forceRerender","_React$useState","useState","_React$useState2","selectedPreset","setSelectedPreset","_useControllableState","useControllableState","_useControllableState2","_picker","setPicker","_useDatesState","useDatesState","level","type","allowDeselect","date","onDateChange","onRootMouseLeave","onHoveredDateChange","getControlProps","setPickedDate","controlledValue","setControlledValue","_useControllableState3","_useControllableState4","controllableIsOpen","controllableSetIsOpen","currentDate","shiftTimezone","Date","_React$useState3","_React$useState4","oldValue","setOldValue","hasBothDatesSelected","applyButtonDisabled","Boolean","close","useCallback","handleApply","handleCancel","isMobile","useIsMobile","defaultInitialFocusRef","useRef","titleId","useId","referenceRef","_usePopup","usePopup","enabled","placement","open","reason","context","refs","isMounted","floatingStyles","animationStyles","getReferenceProps","getFloatingProps","shouldRenderPresets","content","_jsxs","_Fragment","children","_jsx","PresetSideBar","onSelection","preset","presetValue","BaseBox","width","display","flexDirection","gap","padding","m","s","backgroundColor","Calendar","_objectSpread","onMouseLeave","__onDayMouseEnter","_event","__onDayClick","getMonthControlProps","getYearControlProps","getDayProps","onMonthSelect","_props$onMonthSelect","call","onYearSelect","_props$onYearSelect","onNext","data","_props$onNext","onPrevious","_props$onPrevious","CalendarFooter","isButtonDisabled","onCancel","dateProviderValue","useMemo","_i18nState$locale","locale","convertIntlToDayjsLocale","useLayoutEffect","_i18nState$locale2","window","dayjs","loadScript","concat","e","logger","message","MantineProvider","DatesProvider","settings","getStyledProps","metaAttribute","MetaConstants","DatePickerInput","ref","inputRef","reference","referenceProps","BottomSheet","snapPoints","onDismiss","BottomSheetHeader","title","BottomSheetBody","BottomSheetFooter","FloatingPortal","FloatingFocusManager","initialFocus","guards","setFloating","style","makeAccessible","labelledBy","borderColor","borderWidth","borderStyle","borderRadius","overflow","minWidth","boxShadow","elevation","lowRaised"],"mappings":"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"}
@@ -61,6 +61,7 @@ var FormLabel = function FormLabel(_ref) {
61
61
  variant: "body",
62
62
  size: isLabelLeftPositioned ? 'medium' : 'small',
63
63
  color: "feedback.text.negative.intense",
64
+ alignSelf: "flex-start",
64
65
  children: "*"
65
66
  });
66
67
  }
@@ -75,8 +76,9 @@ var FormLabel = function FormLabel(_ref) {
75
76
  gap: necessityIndicator === 'optional' ? 'spacing.2' : 'spacing.0',
76
77
  display: "flex",
77
78
  flexDirection: "row",
78
- alignItems: "center",
79
- flexWrap: "wrap",
79
+ alignItems: "center"
80
+ // flexWrap="wrap"
81
+ ,
80
82
  maxHeight: makeSpace(size[36]),
81
83
  children: [/*#__PURE__*/jsx(Text, {
82
84
  variant: "body",
@@ -1 +1 @@
1
- {"version":3,"file":"FormLabel.js","sources":["../../../../../../src/components/Form/FormLabel.tsx"],"sourcesContent":["import React from 'react';\nimport {\n labelLeftMarginRight,\n labelMarginBottom,\n labelOptionalIndicatorTextSize,\n labelTextSize,\n labelWidth,\n} from './formTokens';\nimport { VisuallyHidden } from '~components/VisuallyHidden';\nimport { Text } from '~components/Typography';\nimport { getPlatformType, makeSize, useBreakpoint } from '~utils';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport BaseBox from '~components/Box/BaseBox';\nimport { useTheme } from '~components/BladeProvider';\nimport { makeSpace } from '~utils/makeSpace';\nimport { size as sizeToken } from '~tokens/global';\nimport getIn from '~utils/lodashButBetter/get';\n\ntype CommonProps = {\n as: 'span' | 'label';\n position?: 'top' | 'left';\n necessityIndicator?: 'required' | 'optional' | 'none';\n accessibilityText?: string;\n children: string | undefined;\n id?: string;\n /**\n * Sets the size of the label\n * @default medium\n */\n size?: 'small' | 'medium' | 'large';\n};\n\ntype LabelProps = CommonProps & {\n htmlFor: string;\n as: 'label';\n};\n\ntype SpanProps = CommonProps & {\n as: 'span';\n htmlFor?: undefined;\n};\n\ntype FormLabelProps = LabelProps | SpanProps;\n\nexport type FormInputLabelProps = {\n /**\n * Label to be shown for the input field\n */\n label?: string;\n /**\n * Desktop only prop. Default value on mobile will be `top`\n */\n labelPosition?: 'left' | 'top';\n /**\n * Displays `(optional)` when `optional` is passed or `*` when `required` is passed\n */\n necessityIndicator?: 'required' | 'optional' | 'none';\n};\n\nconst FormLabel = ({\n as = 'span',\n position = 'top',\n necessityIndicator = 'none',\n accessibilityText,\n children,\n id,\n htmlFor,\n size = 'medium',\n}: FormLabelProps): React.ReactElement => {\n const { theme } = useTheme();\n const { matchedDeviceType } = useBreakpoint({ breakpoints: theme.breakpoints });\n const isDesktop = matchedDeviceType === 'desktop';\n const isReactNative = getPlatformType() === 'react-native';\n\n let necessityLabel: React.ReactNode = null;\n\n const isLabelLeftPositioned = position === 'left' && isDesktop;\n\n if (necessityIndicator === 'optional') {\n necessityLabel = (\n <Text\n variant=\"caption\"\n size={labelOptionalIndicatorTextSize[size]}\n color=\"surface.text.gray.muted\"\n >\n (optional)\n </Text>\n );\n }\n if (necessityIndicator === 'required') {\n necessityLabel = (\n <Text\n variant=\"body\"\n size={isLabelLeftPositioned ? 'medium' : 'small'}\n color=\"feedback.text.negative.intense\"\n >\n *\n </Text>\n );\n }\n\n const computedAccessibilityNode = (\n <VisuallyHidden>\n {necessityIndicator !== 'none' && <Text>{necessityIndicator}</Text>}\n <Text>{accessibilityText}</Text>\n </VisuallyHidden>\n );\n\n const textNode = (\n <BaseBox\n gap={necessityIndicator === 'optional' ? 'spacing.2' : 'spacing.0'}\n display=\"flex\"\n flexDirection=\"row\"\n alignItems=\"center\"\n flexWrap=\"wrap\"\n maxHeight={makeSpace(sizeToken[36])}\n >\n <Text\n variant=\"body\"\n size={labelTextSize[isLabelLeftPositioned ? 'left' : 'top'][size]}\n color=\"surface.text.gray.subtle\"\n truncateAfterLines={2}\n weight=\"semibold\"\n wordBreak={isLabelLeftPositioned ? 'break-word' : undefined}\n >\n {children}\n </Text>\n {computedAccessibilityNode}\n {/* TODO: Hide from screen readers to prevent double announcement */}\n {necessityLabel}\n </BaseBox>\n );\n\n // What harm can it do?\n if (isReactNative) {\n return (\n <BaseBox marginRight=\"spacing.5\" marginBottom=\"spacing.2\">\n {textNode}\n </BaseBox>\n );\n }\n\n const Component = as;\n // only set 120px label when device is desktop\n const width = isLabelLeftPositioned && isDesktop ? makeSize(labelWidth[size]) : 'auto';\n\n return (\n <Component\n htmlFor={htmlFor}\n style={{\n width,\n flexShrink: 0,\n marginRight: isLabelLeftPositioned\n ? makeSpace(getIn(theme, labelLeftMarginRight[size]))\n : makeSpace(getIn(theme, 'spacing.0')),\n }}\n id={id}\n {...metaAttribute({ name: MetaConstants.FormLabel })}\n >\n <BaseBox marginBottom={isLabelLeftPositioned ? 'spacing.0' : labelMarginBottom[size]}>\n {textNode}\n </BaseBox>\n </Component>\n );\n};\n\nexport { FormLabel };\n"],"names":["FormLabel","_ref","_ref$as","as","_ref$position","position","_ref$necessityIndicat","necessityIndicator","accessibilityText","children","id","htmlFor","_ref$size","size","_useTheme","useTheme","theme","_useBreakpoint","useBreakpoint","breakpoints","matchedDeviceType","isDesktop","isReactNative","getPlatformType","necessityLabel","isLabelLeftPositioned","_jsx","Text","variant","labelOptionalIndicatorTextSize","color","computedAccessibilityNode","_jsxs","VisuallyHidden","textNode","BaseBox","gap","display","flexDirection","alignItems","flexWrap","maxHeight","makeSpace","sizeToken","labelTextSize","truncateAfterLines","weight","wordBreak","undefined","marginRight","marginBottom","Component","width","makeSize","labelWidth","_objectSpread","style","flexShrink","getIn","labelLeftMarginRight","metaAttribute","name","MetaConstants","labelMarginBottom"],"mappings":"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"}
1
+ {"version":3,"file":"FormLabel.js","sources":["../../../../../../src/components/Form/FormLabel.tsx"],"sourcesContent":["import React from 'react';\nimport {\n labelLeftMarginRight,\n labelMarginBottom,\n labelOptionalIndicatorTextSize,\n labelTextSize,\n labelWidth,\n} from './formTokens';\nimport { VisuallyHidden } from '~components/VisuallyHidden';\nimport { Text } from '~components/Typography';\nimport { getPlatformType, makeSize, useBreakpoint } from '~utils';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport BaseBox from '~components/Box/BaseBox';\nimport { useTheme } from '~components/BladeProvider';\nimport { makeSpace } from '~utils/makeSpace';\nimport { size as sizeToken } from '~tokens/global';\nimport getIn from '~utils/lodashButBetter/get';\n\ntype CommonProps = {\n as: 'span' | 'label';\n position?: 'top' | 'left';\n necessityIndicator?: 'required' | 'optional' | 'none';\n accessibilityText?: string;\n children: string | undefined;\n id?: string;\n /**\n * Sets the size of the label\n * @default medium\n */\n size?: 'small' | 'medium' | 'large';\n};\n\ntype LabelProps = CommonProps & {\n htmlFor: string;\n as: 'label';\n};\n\ntype SpanProps = CommonProps & {\n as: 'span';\n htmlFor?: undefined;\n};\n\ntype FormLabelProps = LabelProps | SpanProps;\n\nexport type FormInputLabelProps = {\n /**\n * Label to be shown for the input field\n */\n label?: string;\n /**\n * Desktop only prop. Default value on mobile will be `top`\n */\n labelPosition?: 'left' | 'top';\n /**\n * Displays `(optional)` when `optional` is passed or `*` when `required` is passed\n */\n necessityIndicator?: 'required' | 'optional' | 'none';\n};\n\nconst FormLabel = ({\n as = 'span',\n position = 'top',\n necessityIndicator = 'none',\n accessibilityText,\n children,\n id,\n htmlFor,\n size = 'medium',\n}: FormLabelProps): React.ReactElement => {\n const { theme } = useTheme();\n const { matchedDeviceType } = useBreakpoint({ breakpoints: theme.breakpoints });\n const isDesktop = matchedDeviceType === 'desktop';\n const isReactNative = getPlatformType() === 'react-native';\n\n let necessityLabel: React.ReactNode = null;\n\n const isLabelLeftPositioned = position === 'left' && isDesktop;\n\n if (necessityIndicator === 'optional') {\n necessityLabel = (\n <Text\n variant=\"caption\"\n size={labelOptionalIndicatorTextSize[size]}\n color=\"surface.text.gray.muted\"\n >\n (optional)\n </Text>\n );\n }\n if (necessityIndicator === 'required') {\n necessityLabel = (\n <Text\n variant=\"body\"\n size={isLabelLeftPositioned ? 'medium' : 'small'}\n color=\"feedback.text.negative.intense\"\n alignSelf=\"flex-start\"\n >\n *\n </Text>\n );\n }\n\n const computedAccessibilityNode = (\n <VisuallyHidden>\n {necessityIndicator !== 'none' && <Text>{necessityIndicator}</Text>}\n <Text>{accessibilityText}</Text>\n </VisuallyHidden>\n );\n\n const textNode = (\n <BaseBox\n gap={necessityIndicator === 'optional' ? 'spacing.2' : 'spacing.0'}\n display=\"flex\"\n flexDirection=\"row\"\n alignItems=\"center\"\n // flexWrap=\"wrap\"\n maxHeight={makeSpace(sizeToken[36])}\n >\n <Text\n variant=\"body\"\n size={labelTextSize[isLabelLeftPositioned ? 'left' : 'top'][size]}\n color=\"surface.text.gray.subtle\"\n truncateAfterLines={2}\n weight=\"semibold\"\n wordBreak={isLabelLeftPositioned ? 'break-word' : undefined}\n >\n {children}\n </Text>\n {computedAccessibilityNode}\n {/* TODO: Hide from screen readers to prevent double announcement */}\n {necessityLabel}\n </BaseBox>\n );\n\n // What harm can it do?\n if (isReactNative) {\n return (\n <BaseBox marginRight=\"spacing.5\" marginBottom=\"spacing.2\">\n {textNode}\n </BaseBox>\n );\n }\n\n const Component = as;\n // only set 120px label when device is desktop\n const width = isLabelLeftPositioned && isDesktop ? makeSize(labelWidth[size]) : 'auto';\n\n return (\n <Component\n htmlFor={htmlFor}\n style={{\n width,\n flexShrink: 0,\n marginRight: isLabelLeftPositioned\n ? makeSpace(getIn(theme, labelLeftMarginRight[size]))\n : makeSpace(getIn(theme, 'spacing.0')),\n }}\n id={id}\n {...metaAttribute({ name: MetaConstants.FormLabel })}\n >\n <BaseBox marginBottom={isLabelLeftPositioned ? 'spacing.0' : labelMarginBottom[size]}>\n {textNode}\n </BaseBox>\n </Component>\n );\n};\n\nexport { FormLabel };\n"],"names":["FormLabel","_ref","_ref$as","as","_ref$position","position","_ref$necessityIndicat","necessityIndicator","accessibilityText","children","id","htmlFor","_ref$size","size","_useTheme","useTheme","theme","_useBreakpoint","useBreakpoint","breakpoints","matchedDeviceType","isDesktop","isReactNative","getPlatformType","necessityLabel","isLabelLeftPositioned","_jsx","Text","variant","labelOptionalIndicatorTextSize","color","alignSelf","computedAccessibilityNode","_jsxs","VisuallyHidden","textNode","BaseBox","gap","display","flexDirection","alignItems","maxHeight","makeSpace","sizeToken","labelTextSize","truncateAfterLines","weight","wordBreak","undefined","marginRight","marginBottom","Component","width","makeSize","labelWidth","_objectSpread","style","flexShrink","getIn","labelLeftMarginRight","metaAttribute","name","MetaConstants","labelMarginBottom"],"mappings":"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"}
@@ -23,6 +23,7 @@ import '../../utils/metaAttribute/index.js';
23
23
  import '../../utils/assignWithoutSideEffects/index.js';
24
24
  import '../BladeProvider/index.js';
25
25
  import getIn from '../../utils/lodashButBetter/get.js';
26
+ import '../../utils/makeAccessible/index.js';
26
27
  import { jsx, jsxs } from 'react/jsx-runtime';
27
28
  import { getComponentId, isValidAllowedChildren } from '../../utils/isValidAllowedChildren/isValidAllowedChildren.js';
28
29
  import useTheme from '../BladeProvider/useTheme.js';
@@ -34,9 +35,10 @@ import { getStyledProps } from '../Box/styledProps/getStyledProps.js';
34
35
  import { metaAttribute } from '../../utils/metaAttribute/metaAttribute.web.js';
35
36
  import { MetaConstants } from '../../utils/metaAttribute/metaConstants.js';
36
37
  import { Spinner } from '../Spinner/Spinner/Spinner.js';
38
+ import { makeAccessible } from '../../utils/makeAccessible/makeAccessible.web.js';
37
39
  import { assignWithoutSideEffects } from '../../utils/assignWithoutSideEffects/assignWithoutSideEffects.js';
38
40
 
39
- var _excluded = ["children", "data", "multiSelectTrigger", "selectionType", "onSelectionChange", "isHeaderSticky", "isFooterSticky", "isFirstColumnSticky", "rowDensity", "onSortChange", "sortFunctions", "toolbar", "pagination", "height", "showStripedRows", "gridTemplateColumns", "isLoading", "isRefreshing", "showBorderedCells"];
41
+ var _excluded = ["children", "data", "multiSelectTrigger", "selectionType", "onSelectionChange", "isHeaderSticky", "isFooterSticky", "isFirstColumnSticky", "rowDensity", "onSortChange", "sortFunctions", "toolbar", "pagination", "height", "showStripedRows", "gridTemplateColumns", "isLoading", "isRefreshing", "showBorderedCells", "defaultSelectedIds"];
40
42
  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; }
41
43
  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; }
42
44
  var rowSelectType = {
@@ -125,10 +127,12 @@ var _Table = function _Table(_ref3) {
125
127
  isRefreshing = _ref3$isRefreshing === void 0 ? false : _ref3$isRefreshing,
126
128
  _ref3$showBorderedCel = _ref3.showBorderedCells,
127
129
  showBorderedCells = _ref3$showBorderedCel === void 0 ? false : _ref3$showBorderedCel,
130
+ _ref3$defaultSelected = _ref3.defaultSelectedIds,
131
+ defaultSelectedIds = _ref3$defaultSelected === void 0 ? [] : _ref3$defaultSelected,
128
132
  styledProps = _objectWithoutProperties(_ref3, _excluded);
129
133
  var _useTheme2 = useTheme(),
130
134
  theme = _useTheme2.theme;
131
- var _React$useState = React__default.useState([]),
135
+ var _React$useState = React__default.useState(selectionType !== 'none' ? defaultSelectedIds : []),
132
136
  _React$useState2 = _slicedToArray(_React$useState, 2),
133
137
  selectedRows = _React$useState2[0],
134
138
  setSelectedRows = _React$useState2[1];
@@ -188,7 +192,12 @@ var _Table = function _Table(_ref3) {
188
192
  });
189
193
  };
190
194
  var rowSelectConfig = useRowSelect(data, {
191
- onChange: onSelectChange
195
+ onChange: onSelectChange,
196
+ state: _objectSpread({}, selectionType === 'multiple' ? {
197
+ ids: selectedRows
198
+ } : selectionType === 'single' ? {
199
+ id: selectedRows[0]
200
+ } : {})
192
201
  }, {
193
202
  clickType: multiSelectTrigger === 'row' ? SelectClickTypes.RowClick : SelectClickTypes.ButtonClick,
194
203
  rowSelect: selectionType !== 'none' ? rowSelectType[selectionType] : undefined
@@ -340,7 +349,7 @@ var _Table = function _Table(_ref3) {
340
349
  accessibilityLabel: "Refreshing Table",
341
350
  size: "large"
342
351
  })
343
- }), toolbar, /*#__PURE__*/jsx(StyledReactTable, _objectSpread(_objectSpread({
352
+ }), toolbar, /*#__PURE__*/jsx(StyledReactTable, _objectSpread(_objectSpread(_objectSpread({
344
353
  role: "table",
345
354
  layout: {
346
355
  fixedHeader: shouldHeaderBeSticky,
@@ -356,7 +365,9 @@ var _Table = function _Table(_ref3) {
356
365
  height: height
357
366
  },
358
367
  pagination: hasPagination ? paginationConfig : null
359
- }, metaAttribute({
368
+ }, makeAccessible({
369
+ multiSelectable: selectionType === 'multiple'
370
+ })), metaAttribute({
360
371
  name: MetaConstants.Table
361
372
  })), {}, {
362
373
  children: children