@razorpay/blade 11.18.2 → 11.19.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 (105) hide show
  1. package/build/lib/native/components/Button/BaseButton/BaseButton.js +1 -1
  2. package/build/lib/native/components/Button/BaseButton/BaseButton.js.map +1 -1
  3. package/build/lib/native/components/Button/BaseButton/buttonTokens.js +1 -1
  4. package/build/lib/native/components/Button/BaseButton/buttonTokens.js.map +1 -1
  5. package/build/lib/native/components/DatePicker/DatePicker.native.js +7 -0
  6. package/build/lib/native/components/DatePicker/DatePicker.native.js.map +1 -0
  7. package/build/lib/native/components/index.js +1 -0
  8. package/build/lib/native/components/index.js.map +1 -1
  9. package/build/lib/native/tokens/global/size.js +1 -1
  10. package/build/lib/native/tokens/global/size.js.map +1 -1
  11. package/build/lib/native/utils/metaAttribute/metaConstants.js +1 -1
  12. package/build/lib/native/utils/metaAttribute/metaConstants.js.map +1 -1
  13. package/build/lib/web/development/components/BottomSheet/BottomSheetBody.web.js +6 -4
  14. package/build/lib/web/development/components/BottomSheet/BottomSheetBody.web.js.map +1 -1
  15. package/build/lib/web/development/components/Button/BaseButton/BaseButton.js +1 -1
  16. package/build/lib/web/development/components/Button/BaseButton/BaseButton.js.map +1 -1
  17. package/build/lib/web/development/components/Button/BaseButton/buttonTokens.js +2 -2
  18. package/build/lib/web/development/components/Button/BaseButton/buttonTokens.js.map +1 -1
  19. package/build/lib/web/development/components/DatePicker/Calendar.web.js +182 -0
  20. package/build/lib/web/development/components/DatePicker/Calendar.web.js.map +1 -0
  21. package/build/lib/web/development/components/DatePicker/CalendarFooter.web.js +46 -0
  22. package/build/lib/web/development/components/DatePicker/CalendarFooter.web.js.map +1 -0
  23. package/build/lib/web/development/components/DatePicker/CalendarHeader.web.js +162 -0
  24. package/build/lib/web/development/components/DatePicker/CalendarHeader.web.js.map +1 -0
  25. package/build/lib/web/development/components/DatePicker/CalendarStyles.web.js +310 -0
  26. package/build/lib/web/development/components/DatePicker/CalendarStyles.web.js.map +1 -0
  27. package/build/lib/web/development/components/DatePicker/DateInput.web.js +185 -0
  28. package/build/lib/web/development/components/DatePicker/DateInput.web.js.map +1 -0
  29. package/build/lib/web/development/components/DatePicker/DatePicker.web.js +364 -0
  30. package/build/lib/web/development/components/DatePicker/DatePicker.web.js.map +1 -0
  31. package/build/lib/web/development/components/DatePicker/QuickSelection/PresetSideBar.web.js +86 -0
  32. package/build/lib/web/development/components/DatePicker/QuickSelection/PresetSideBar.web.js.map +1 -0
  33. package/build/lib/web/development/components/DatePicker/QuickSelection/QuickSelectionItem.web.js +43 -0
  34. package/build/lib/web/development/components/DatePicker/QuickSelection/QuickSelectionItem.web.js.map +1 -0
  35. package/build/lib/web/development/components/DatePicker/constants.js +22 -0
  36. package/build/lib/web/development/components/DatePicker/constants.js.map +1 -0
  37. package/build/lib/web/development/components/DatePicker/index.js +2 -0
  38. package/build/lib/web/development/components/DatePicker/index.js.map +1 -0
  39. package/build/lib/web/development/components/DatePicker/useControlledDates.js +75 -0
  40. package/build/lib/web/development/components/DatePicker/useControlledDates.js.map +1 -0
  41. package/build/lib/web/development/components/DatePicker/useDatesState.js +149 -0
  42. package/build/lib/web/development/components/DatePicker/useDatesState.js.map +1 -0
  43. package/build/lib/web/development/components/DatePicker/usePopup.js +90 -0
  44. package/build/lib/web/development/components/DatePicker/usePopup.js.map +1 -0
  45. package/build/lib/web/development/components/DatePicker/utils.js +39 -0
  46. package/build/lib/web/development/components/DatePicker/utils.js.map +1 -0
  47. package/build/lib/web/development/components/Input/PhoneNumberInput/PhoneNumberInput.web.js +3 -2
  48. package/build/lib/web/development/components/Input/PhoneNumberInput/PhoneNumberInput.web.js.map +1 -1
  49. package/build/lib/web/development/components/index.js +2 -0
  50. package/build/lib/web/development/components/index.js.map +1 -1
  51. package/build/lib/web/development/tokens/global/size.js +2 -0
  52. package/build/lib/web/development/tokens/global/size.js.map +1 -1
  53. package/build/lib/web/development/utils/getFocusRingStyles/getFocusRingStyles.web.js +6 -3
  54. package/build/lib/web/development/utils/getFocusRingStyles/getFocusRingStyles.web.js.map +1 -1
  55. package/build/lib/web/development/utils/metaAttribute/metaConstants.js +2 -0
  56. package/build/lib/web/development/utils/metaAttribute/metaConstants.js.map +1 -1
  57. package/build/lib/web/production/components/BottomSheet/BottomSheetBody.web.js +6 -4
  58. package/build/lib/web/production/components/BottomSheet/BottomSheetBody.web.js.map +1 -1
  59. package/build/lib/web/production/components/Button/BaseButton/BaseButton.js +1 -1
  60. package/build/lib/web/production/components/Button/BaseButton/BaseButton.js.map +1 -1
  61. package/build/lib/web/production/components/Button/BaseButton/buttonTokens.js +2 -2
  62. package/build/lib/web/production/components/Button/BaseButton/buttonTokens.js.map +1 -1
  63. package/build/lib/web/production/components/DatePicker/Calendar.web.js +182 -0
  64. package/build/lib/web/production/components/DatePicker/Calendar.web.js.map +1 -0
  65. package/build/lib/web/production/components/DatePicker/CalendarFooter.web.js +46 -0
  66. package/build/lib/web/production/components/DatePicker/CalendarFooter.web.js.map +1 -0
  67. package/build/lib/web/production/components/DatePicker/CalendarHeader.web.js +162 -0
  68. package/build/lib/web/production/components/DatePicker/CalendarHeader.web.js.map +1 -0
  69. package/build/lib/web/production/components/DatePicker/CalendarStyles.web.js +310 -0
  70. package/build/lib/web/production/components/DatePicker/CalendarStyles.web.js.map +1 -0
  71. package/build/lib/web/production/components/DatePicker/DateInput.web.js +185 -0
  72. package/build/lib/web/production/components/DatePicker/DateInput.web.js.map +1 -0
  73. package/build/lib/web/production/components/DatePicker/DatePicker.web.js +364 -0
  74. package/build/lib/web/production/components/DatePicker/DatePicker.web.js.map +1 -0
  75. package/build/lib/web/production/components/DatePicker/QuickSelection/PresetSideBar.web.js +86 -0
  76. package/build/lib/web/production/components/DatePicker/QuickSelection/PresetSideBar.web.js.map +1 -0
  77. package/build/lib/web/production/components/DatePicker/QuickSelection/QuickSelectionItem.web.js +43 -0
  78. package/build/lib/web/production/components/DatePicker/QuickSelection/QuickSelectionItem.web.js.map +1 -0
  79. package/build/lib/web/production/components/DatePicker/constants.js +22 -0
  80. package/build/lib/web/production/components/DatePicker/constants.js.map +1 -0
  81. package/build/lib/web/production/components/DatePicker/index.js +2 -0
  82. package/build/lib/web/production/components/DatePicker/index.js.map +1 -0
  83. package/build/lib/web/production/components/DatePicker/useControlledDates.js +75 -0
  84. package/build/lib/web/production/components/DatePicker/useControlledDates.js.map +1 -0
  85. package/build/lib/web/production/components/DatePicker/useDatesState.js +149 -0
  86. package/build/lib/web/production/components/DatePicker/useDatesState.js.map +1 -0
  87. package/build/lib/web/production/components/DatePicker/usePopup.js +90 -0
  88. package/build/lib/web/production/components/DatePicker/usePopup.js.map +1 -0
  89. package/build/lib/web/production/components/DatePicker/utils.js +39 -0
  90. package/build/lib/web/production/components/DatePicker/utils.js.map +1 -0
  91. package/build/lib/web/production/components/Input/PhoneNumberInput/PhoneNumberInput.web.js +3 -2
  92. package/build/lib/web/production/components/Input/PhoneNumberInput/PhoneNumberInput.web.js.map +1 -1
  93. package/build/lib/web/production/components/index.js +2 -0
  94. package/build/lib/web/production/components/index.js.map +1 -1
  95. package/build/lib/web/production/tokens/global/size.js +2 -0
  96. package/build/lib/web/production/tokens/global/size.js.map +1 -1
  97. package/build/lib/web/production/utils/getFocusRingStyles/getFocusRingStyles.web.js +6 -3
  98. package/build/lib/web/production/utils/getFocusRingStyles/getFocusRingStyles.web.js.map +1 -1
  99. package/build/lib/web/production/utils/metaAttribute/metaConstants.js +2 -0
  100. package/build/lib/web/production/utils/metaAttribute/metaConstants.js.map +1 -1
  101. package/build/types/components/index.d.ts +1242 -527
  102. package/build/types/components/index.native.d.ts +550 -406
  103. package/build/types/tokens/index.d.ts +2 -0
  104. package/build/types/tokens/index.native.d.ts +2 -0
  105. package/package.json +7 -3
@@ -1 +1 @@
1
- {"version":3,"file":"buttonTokens.js","sources":["../../../../../../../src/components/Button/BaseButton/buttonTokens.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/explicit-function-return-type */\nimport type { BaseButtonProps } from './BaseButton';\nimport type { Theme } from '~components/BladeProvider';\nimport type { IconSize } from '~components/Icons';\nimport type { SpinnerProps } from '~components/Spinner';\nimport type { Size } from '~tokens/global';\nimport { size } from '~tokens/global';\nimport type { FeedbackColors } from '~tokens/theme/theme';\nimport { makeSize } from '~utils';\n\nexport type ButtonMinHeight = Size[28] | Size[32] | Size[36] | Size[48];\n\nexport type ButtonTypography = {\n fonts: {\n size: Record<NonNullable<BaseButtonProps['size']>, keyof Theme['typography']['fonts']['size']>;\n };\n lineHeights: Record<\n NonNullable<BaseButtonProps['size']>,\n keyof Theme['typography']['lineHeights']\n >;\n};\n\nconst backgroundColor = (property: 'background' | 'border') => {\n const isBorder = property === 'border';\n return {\n base: {\n primary: {\n default: `interactive.${property}.primary.default`,\n highlighted: `interactive.${property}.primary.highlighted`,\n disabled: `interactive.${property}.primary.disabled`,\n },\n secondary: {\n default: isBorder ? 'interactive.border.primary.default' : 'transparent',\n highlighted: isBorder\n ? `interactive.border.primary.default`\n : `interactive.background.primary.faded`,\n disabled: isBorder ? `interactive.border.primary.disabled` : `transparent`,\n },\n tertiary: {\n default: `interactive.${property}.gray.default`,\n highlighted: `interactive.${property}.gray.highlighted`,\n disabled: `interactive.${property}.gray.disabled`,\n },\n },\n white: {\n primary: {\n default: `interactive.${property}.staticWhite.default`,\n highlighted: `interactive.${property}.staticWhite.highlighted`,\n disabled: `interactive.${property}.staticWhite.disabled`,\n },\n secondary: {\n default: isBorder ? 'interactive.border.staticWhite.highlighted' : 'transparent',\n highlighted: isBorder\n ? 'interactive.border.staticWhite.highlighted'\n : 'interactive.background.staticWhite.faded',\n disabled: isBorder ? `interactive.border.staticWhite.disabled` : 'transparent',\n },\n tertiary: {\n default: `interactive.background.staticWhite.faded`,\n highlighted: `interactive.background.staticWhite.fadedHighlighted`,\n disabled: `interactive.background.staticWhite.disabled`,\n },\n },\n color: (color: FeedbackColors) => {\n return {\n primary: {\n default: `interactive.${property}.${color}.default`,\n highlighted: `interactive.${property}.${color}.highlighted`,\n disabled: `interactive.${property}.${color}.disabled`,\n },\n secondary: {\n default: isBorder\n ? (`interactive.border.${color}.default` as const)\n : (`interactive.background.${color}.faded` as const),\n highlighted: isBorder\n ? (`interactive.border.${color}.default` as const)\n : (`interactive.background.${color}.fadedHighlighted` as const),\n disabled: `interactive.${property}.${color}.disabled`,\n },\n } as const;\n },\n } as const;\n};\n\nconst textColor = (property: 'icon' | 'text') => {\n return {\n base: {\n primary: {\n default: `interactive.${property}.onPrimary.normal`,\n highlighted: `interactive.${property}.onPrimary.normal`,\n disabled: `interactive.${property}.primary.disabled`,\n },\n secondary: {\n default: `interactive.${property}.primary.subtle`,\n highlighted: `interactive.${property}.primary.subtle`,\n disabled: `interactive.${property}.primary.disabled`,\n },\n tertiary: {\n default: `interactive.${property}.gray.normal`,\n highlighted: `interactive.${property}.gray.normal`,\n disabled: `interactive.${property}.gray.disabled`,\n },\n },\n white: {\n primary: {\n default: `interactive.${property}.staticBlack.muted`,\n highlighted: `interactive.${property}.staticBlack.muted`,\n disabled: `interactive.${property}.staticBlack.disabled`,\n },\n secondary: {\n default: `interactive.${property}.staticWhite.normal`,\n highlighted: `interactive.${property}.staticWhite.normal`,\n disabled: `interactive.${property}.staticWhite.disabled`,\n },\n tertiary: {\n default: `interactive.${property}.staticWhite.normal`,\n highlighted: `interactive.${property}.staticWhite.normal`,\n disabled: `interactive.${property}.staticWhite.disabled`,\n },\n },\n color: (color: FeedbackColors) => {\n return {\n primary: {\n default: `interactive.${property}.staticWhite.normal`,\n highlighted: `interactive.${property}.staticWhite.normal`,\n disabled: `interactive.${property}.${color}.disabled`,\n },\n secondary: {\n default: `interactive.${property}.${color}.normal`,\n highlighted: `interactive.${property}.${color}.normal`,\n disabled: `interactive.${property}.${color}.disabled`,\n },\n } as const;\n },\n } as const;\n};\n\nconst typography: ButtonTypography = {\n fonts: {\n size: {\n xsmall: 50,\n small: 50,\n medium: 100,\n large: 200,\n },\n },\n lineHeights: {\n xsmall: 75,\n small: 75,\n medium: 100,\n large: 200,\n },\n};\n\nconst minHeight: Record<NonNullable<BaseButtonProps['size']>, ButtonMinHeight> = {\n xsmall: size[28],\n small: size[32],\n medium: size[36],\n large: size[48],\n};\n\nconst buttonPadding: Record<\n NonNullable<BaseButtonProps['size']>,\n Record<'top' | 'bottom' | 'left' | 'right', keyof Theme['spacing']>\n> = {\n xsmall: {\n top: 0,\n bottom: 0,\n left: 3,\n right: 3,\n },\n small: {\n top: 0,\n bottom: 0,\n left: 4,\n right: 4,\n },\n medium: {\n top: 0,\n bottom: 0,\n left: 6,\n right: 6,\n },\n large: {\n top: 0,\n bottom: 0,\n left: 6,\n right: 6,\n },\n};\n\nconst buttonIconOnlyHeightWidth = {\n xsmall: makeSize(size['28']),\n small: makeSize(size['32']),\n medium: makeSize(size['36']),\n large: makeSize(size['48']),\n} as const;\n\nconst buttonSizeToIconSizeMap: Record<NonNullable<BaseButtonProps['size']>, IconSize> = {\n xsmall: 'small',\n small: 'small',\n medium: 'medium',\n large: 'medium',\n};\n\nconst buttonIconOnlySizeToIconSizeMap: Record<NonNullable<BaseButtonProps['size']>, IconSize> = {\n xsmall: 'small',\n small: 'small',\n medium: 'medium',\n large: 'medium',\n};\n\nconst buttonSizeToSpinnerSizeMap: Record<\n NonNullable<BaseButtonProps['size']>,\n SpinnerProps['size']\n> = {\n xsmall: 'medium',\n small: 'large',\n medium: 'large',\n large: 'xlarge',\n};\n\nconst buttonIconPadding: Record<NonNullable<BaseButtonProps['size']>, keyof Theme['spacing']> = {\n xsmall: 1,\n small: 2,\n medium: 3,\n large: 3,\n};\n\nexport {\n backgroundColor,\n textColor,\n typography,\n minHeight,\n buttonSizeToIconSizeMap,\n buttonIconOnlySizeToIconSizeMap,\n buttonSizeToSpinnerSizeMap,\n buttonIconPadding,\n buttonPadding,\n buttonIconOnlyHeightWidth,\n};\n"],"names":["backgroundColor","property","isBorder","base","primary","concat","highlighted","disabled","secondary","tertiary","white","color","textColor","typography","fonts","size","xsmall","small","medium","large","lineHeights","minHeight","buttonPadding","top","bottom","left","right","buttonIconOnlyHeightWidth","makeSize","buttonSizeToIconSizeMap","buttonIconOnlySizeToIconSizeMap","buttonSizeToSpinnerSizeMap","buttonIconPadding"],"mappings":"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"}
1
+ {"version":3,"file":"buttonTokens.js","sources":["../../../../../../../src/components/Button/BaseButton/buttonTokens.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/explicit-function-return-type */\nimport type { BaseButtonProps } from './BaseButton';\nimport type { Theme } from '~components/BladeProvider';\nimport type { IconSize } from '~components/Icons';\nimport type { SpinnerProps } from '~components/Spinner';\nimport type { Size } from '~tokens/global';\nimport { size } from '~tokens/global';\nimport type { FeedbackColors } from '~tokens/theme/theme';\nimport { makeSize } from '~utils';\n\nexport type ButtonMinHeight = Size[28] | Size[32] | Size[36] | Size[48];\n\nexport type ButtonTypography = {\n fonts: {\n size: Record<NonNullable<BaseButtonProps['size']>, keyof Theme['typography']['fonts']['size']>;\n };\n lineHeights: Record<\n NonNullable<BaseButtonProps['size']>,\n keyof Theme['typography']['lineHeights']\n >;\n};\n\nconst backgroundColor = (property: 'background' | 'border') => {\n const isBorder = property === 'border';\n return {\n base: {\n primary: {\n default: `interactive.${property}.primary.default`,\n highlighted: `interactive.${property}.primary.highlighted`,\n disabled: `interactive.${property}.primary.disabled`,\n },\n secondary: {\n default: isBorder ? 'interactive.border.primary.default' : 'transparent',\n highlighted: isBorder\n ? `interactive.border.primary.default`\n : `interactive.background.primary.faded`,\n disabled: isBorder ? `interactive.border.primary.disabled` : `transparent`,\n },\n tertiary: {\n default: `interactive.${property}.gray.default`,\n highlighted: `interactive.${property}.gray.highlighted`,\n disabled: `interactive.${property}.gray.disabled`,\n },\n },\n white: {\n primary: {\n default: `interactive.${property}.staticWhite.default`,\n highlighted: `interactive.${property}.staticWhite.highlighted`,\n disabled: `interactive.${property}.staticWhite.disabled`,\n },\n secondary: {\n default: isBorder ? 'interactive.border.staticWhite.highlighted' : 'transparent',\n highlighted: isBorder\n ? 'interactive.border.staticWhite.highlighted'\n : 'interactive.background.staticWhite.faded',\n disabled: isBorder ? `interactive.border.staticWhite.disabled` : 'transparent',\n },\n tertiary: {\n default: `interactive.background.staticWhite.faded`,\n highlighted: `interactive.background.staticWhite.fadedHighlighted`,\n disabled: `interactive.background.staticWhite.disabled`,\n },\n },\n color: (color: FeedbackColors) => {\n return {\n primary: {\n default: `interactive.${property}.${color}.default`,\n highlighted: `interactive.${property}.${color}.highlighted`,\n disabled: `interactive.${property}.${color}.disabled`,\n },\n secondary: {\n default: isBorder\n ? (`interactive.border.${color}.default` as const)\n : (`interactive.background.${color}.faded` as const),\n highlighted: isBorder\n ? (`interactive.border.${color}.default` as const)\n : (`interactive.background.${color}.fadedHighlighted` as const),\n disabled: `interactive.${property}.${color}.disabled`,\n },\n } as const;\n },\n } as const;\n};\n\nconst textColor = (property: 'icon' | 'text') => {\n return {\n base: {\n primary: {\n default: `interactive.${property}.onPrimary.normal`,\n highlighted: `interactive.${property}.onPrimary.normal`,\n disabled: `interactive.${property}.primary.disabled`,\n },\n secondary: {\n default: `interactive.${property}.primary.subtle`,\n highlighted: `interactive.${property}.primary.subtle`,\n disabled: `interactive.${property}.primary.disabled`,\n },\n tertiary: {\n default: `interactive.${property}.gray.normal`,\n highlighted: `interactive.${property}.gray.normal`,\n disabled: `interactive.${property}.gray.disabled`,\n },\n },\n white: {\n primary: {\n default: `interactive.${property}.staticBlack.muted`,\n highlighted: `interactive.${property}.staticBlack.muted`,\n disabled: `interactive.${property}.staticBlack.disabled`,\n },\n secondary: {\n default: `interactive.${property}.staticWhite.normal`,\n highlighted: `interactive.${property}.staticWhite.normal`,\n disabled: `interactive.${property}.staticWhite.disabled`,\n },\n tertiary: {\n default: `interactive.${property}.staticWhite.normal`,\n highlighted: `interactive.${property}.staticWhite.normal`,\n disabled: `interactive.${property}.staticWhite.disabled`,\n },\n },\n color: (color: FeedbackColors) => {\n return {\n primary: {\n default: `interactive.${property}.staticWhite.normal`,\n highlighted: `interactive.${property}.staticWhite.normal`,\n disabled: `interactive.${property}.${color}.disabled`,\n },\n secondary: {\n default: `interactive.${property}.${color}.normal`,\n highlighted: `interactive.${property}.${color}.normal`,\n disabled: `interactive.${property}.${color}.disabled`,\n },\n } as const;\n },\n } as const;\n};\n\nconst typography: ButtonTypography = {\n fonts: {\n size: {\n xsmall: 50,\n small: 50,\n medium: 100,\n large: 200,\n },\n },\n lineHeights: {\n xsmall: 75,\n small: 75,\n medium: 100,\n large: 200,\n },\n};\n\nconst minHeight: Record<NonNullable<BaseButtonProps['size']>, ButtonMinHeight> = {\n xsmall: size[28],\n small: size[32],\n medium: size[36],\n large: size[48],\n};\n\nconst buttonPadding: Record<\n NonNullable<BaseButtonProps['size']>,\n Record<'top' | 'bottom' | 'left' | 'right', keyof Theme['spacing']>\n> = {\n xsmall: {\n top: 0,\n bottom: 0,\n left: 3,\n right: 3,\n },\n small: {\n top: 0,\n bottom: 0,\n left: 4,\n right: 4,\n },\n medium: {\n top: 0,\n bottom: 0,\n left: 6,\n right: 6,\n },\n large: {\n top: 0,\n bottom: 0,\n left: 6,\n right: 6,\n },\n};\n\nconst buttonIconOnlyHeightWidth = {\n xsmall: makeSize(size['28']),\n small: makeSize(size['32']),\n medium: makeSize(size['36']),\n large: makeSize(size['48']),\n} as const;\n\nconst buttonSizeToIconSizeMap: Record<NonNullable<BaseButtonProps['size']>, IconSize> = {\n xsmall: 'small',\n small: 'small',\n medium: 'medium',\n large: 'medium',\n};\n\nconst buttonIconOnlySizeToIconSizeMap: Record<NonNullable<BaseButtonProps['size']>, IconSize> = {\n xsmall: 'medium',\n small: 'medium',\n medium: 'medium',\n large: 'medium',\n};\n\nconst buttonSizeToSpinnerSizeMap: Record<\n NonNullable<BaseButtonProps['size']>,\n SpinnerProps['size']\n> = {\n xsmall: 'medium',\n small: 'large',\n medium: 'large',\n large: 'xlarge',\n};\n\nconst buttonIconPadding: Record<NonNullable<BaseButtonProps['size']>, keyof Theme['spacing']> = {\n xsmall: 1,\n small: 2,\n medium: 3,\n large: 3,\n};\n\nexport {\n backgroundColor,\n textColor,\n typography,\n minHeight,\n buttonSizeToIconSizeMap,\n buttonIconOnlySizeToIconSizeMap,\n buttonSizeToSpinnerSizeMap,\n buttonIconPadding,\n buttonPadding,\n buttonIconOnlyHeightWidth,\n};\n"],"names":["backgroundColor","property","isBorder","base","primary","concat","highlighted","disabled","secondary","tertiary","white","color","textColor","typography","fonts","size","xsmall","small","medium","large","lineHeights","minHeight","buttonPadding","top","bottom","left","right","buttonIconOnlyHeightWidth","makeSize","buttonSizeToIconSizeMap","buttonIconOnlySizeToIconSizeMap","buttonSizeToSpinnerSizeMap","buttonIconPadding"],"mappings":";;;;;AAAA;;AAsBA,IAAMA,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,QAAiC,EAAK;AAC7D,EAAA,IAAMC,QAAQ,GAAGD,QAAQ,KAAK,QAAQ,CAAA;EACtC,OAAO;AACLE,IAAAA,IAAI,EAAE;AACJC,MAAAA,OAAO,EAAE;QACP,SAAAC,EAAAA,cAAAA,CAAAA,MAAA,CAAwBJ,QAAQ,EAAkB,kBAAA,CAAA;AAClDK,QAAAA,WAAW,EAAAD,cAAAA,CAAAA,MAAA,CAAiBJ,QAAQ,EAAsB,sBAAA,CAAA;QAC1DM,QAAQ,EAAA,cAAA,CAAAF,MAAA,CAAiBJ,QAAQ,EAAA,mBAAA,CAAA;OAClC;AACDO,MAAAA,SAAS,EAAE;AACT,QAAA,SAAA,EAASN,QAAQ,GAAG,oCAAoC,GAAG,aAAa;QACxEI,WAAW,EAAEJ,QAAQ,GAEqB,oCAAA,GAAA,sCAAA;AAC1CK,QAAAA,QAAQ,EAAEL,QAAQ,GAAA,qCAAA,GAAA,aAAA;OACnB;AACDO,MAAAA,QAAQ,EAAE;QACR,SAAAJ,EAAAA,cAAAA,CAAAA,MAAA,CAAwBJ,QAAQ,EAAe,eAAA,CAAA;AAC/CK,QAAAA,WAAW,EAAAD,cAAAA,CAAAA,MAAA,CAAiBJ,QAAQ,EAAmB,mBAAA,CAAA;QACvDM,QAAQ,EAAA,cAAA,CAAAF,MAAA,CAAiBJ,QAAQ,EAAA,gBAAA,CAAA;AACnC,OAAA;KACD;AACDS,IAAAA,KAAK,EAAE;AACLN,MAAAA,OAAO,EAAE;QACP,SAAAC,EAAAA,cAAAA,CAAAA,MAAA,CAAwBJ,QAAQ,EAAsB,sBAAA,CAAA;AACtDK,QAAAA,WAAW,EAAAD,cAAAA,CAAAA,MAAA,CAAiBJ,QAAQ,EAA0B,0BAAA,CAAA;QAC9DM,QAAQ,EAAA,cAAA,CAAAF,MAAA,CAAiBJ,QAAQ,EAAA,uBAAA,CAAA;OAClC;AACDO,MAAAA,SAAS,EAAE;AACT,QAAA,SAAA,EAASN,QAAQ,GAAG,4CAA4C,GAAG,aAAa;AAChFI,QAAAA,WAAW,EAAEJ,QAAQ,GACjB,4CAA4C,GAC5C,0CAA0C;QAC9CK,QAAQ,EAAEL,QAAQ,GAA+C,yCAAA,GAAA,aAAA;OAClE;AACDO,MAAAA,QAAQ,EAAE;QACR,SAAmD,EAAA,0CAAA;AACnDH,QAAAA,WAAW,EAAuD,qDAAA;QAClEC,QAAQ,EAAA,6CAAA;AACV,OAAA;KACD;AACDI,IAAAA,KAAK,EAAE,SAAAA,KAACA,CAAAA,MAAqB,EAAK;MAChC,OAAO;AACLP,QAAAA,OAAO,EAAE;AACP,UAAA,SAAA,EAAA,cAAA,CAAAC,MAAA,CAAwBJ,QAAQ,OAAAI,MAAA,CAAIM,MAAK,EAAU,UAAA,CAAA;UACnDL,WAAW,EAAA,cAAA,CAAAD,MAAA,CAAiBJ,QAAQ,OAAAI,MAAA,CAAIM,MAAK,EAAc,cAAA,CAAA;AAC3DJ,UAAAA,QAAQ,iBAAAF,MAAA,CAAiBJ,QAAQ,EAAAI,GAAAA,CAAAA,CAAAA,MAAA,CAAIM,MAAK,EAAA,WAAA,CAAA;SAC3C;AACDH,QAAAA,SAAS,EAAE;UACT,SAASN,EAAAA,QAAQ,yBAAAG,MAAA,CACUM,MAAK,EAAAN,UAAAA,CAAAA,GAAAA,yBAAAA,CAAAA,MAAA,CACDM,MAAK,EAAkB,QAAA,CAAA;UACtDL,WAAW,EAAEJ,QAAQ,GAAA,qBAAA,CAAAG,MAAA,CACMM,MAAK,EAAAN,UAAAA,CAAAA,GAAAA,yBAAAA,CAAAA,MAAA,CACDM,MAAK,EAA6B,mBAAA,CAAA;AACjEJ,UAAAA,QAAQ,iBAAAF,MAAA,CAAiBJ,QAAQ,EAAAI,GAAAA,CAAAA,CAAAA,MAAA,CAAIM,MAAK,EAAA,WAAA,CAAA;AAC5C,SAAA;OACD,CAAA;AACH,KAAA;GACD,CAAA;AACH,EAAC;AAED,IAAMC,SAAS,GAAG,SAAZA,SAASA,CAAIX,QAAyB,EAAK;EAC/C,OAAO;AACLE,IAAAA,IAAI,EAAE;AACJC,MAAAA,OAAO,EAAE;QACP,SAAAC,EAAAA,cAAAA,CAAAA,MAAA,CAAwBJ,QAAQ,EAAmB,mBAAA,CAAA;AACnDK,QAAAA,WAAW,EAAAD,cAAAA,CAAAA,MAAA,CAAiBJ,QAAQ,EAAmB,mBAAA,CAAA;QACvDM,QAAQ,EAAA,cAAA,CAAAF,MAAA,CAAiBJ,QAAQ,EAAA,mBAAA,CAAA;OAClC;AACDO,MAAAA,SAAS,EAAE;QACT,SAAAH,EAAAA,cAAAA,CAAAA,MAAA,CAAwBJ,QAAQ,EAAiB,iBAAA,CAAA;AACjDK,QAAAA,WAAW,EAAAD,cAAAA,CAAAA,MAAA,CAAiBJ,QAAQ,EAAiB,iBAAA,CAAA;QACrDM,QAAQ,EAAA,cAAA,CAAAF,MAAA,CAAiBJ,QAAQ,EAAA,mBAAA,CAAA;OAClC;AACDQ,MAAAA,QAAQ,EAAE;QACR,SAAAJ,EAAAA,cAAAA,CAAAA,MAAA,CAAwBJ,QAAQ,EAAc,cAAA,CAAA;AAC9CK,QAAAA,WAAW,EAAAD,cAAAA,CAAAA,MAAA,CAAiBJ,QAAQ,EAAc,cAAA,CAAA;QAClDM,QAAQ,EAAA,cAAA,CAAAF,MAAA,CAAiBJ,QAAQ,EAAA,gBAAA,CAAA;AACnC,OAAA;KACD;AACDS,IAAAA,KAAK,EAAE;AACLN,MAAAA,OAAO,EAAE;QACP,SAAAC,EAAAA,cAAAA,CAAAA,MAAA,CAAwBJ,QAAQ,EAAoB,oBAAA,CAAA;AACpDK,QAAAA,WAAW,EAAAD,cAAAA,CAAAA,MAAA,CAAiBJ,QAAQ,EAAoB,oBAAA,CAAA;QACxDM,QAAQ,EAAA,cAAA,CAAAF,MAAA,CAAiBJ,QAAQ,EAAA,uBAAA,CAAA;OAClC;AACDO,MAAAA,SAAS,EAAE;QACT,SAAAH,EAAAA,cAAAA,CAAAA,MAAA,CAAwBJ,QAAQ,EAAqB,qBAAA,CAAA;AACrDK,QAAAA,WAAW,EAAAD,cAAAA,CAAAA,MAAA,CAAiBJ,QAAQ,EAAqB,qBAAA,CAAA;QACzDM,QAAQ,EAAA,cAAA,CAAAF,MAAA,CAAiBJ,QAAQ,EAAA,uBAAA,CAAA;OAClC;AACDQ,MAAAA,QAAQ,EAAE;QACR,SAAAJ,EAAAA,cAAAA,CAAAA,MAAA,CAAwBJ,QAAQ,EAAqB,qBAAA,CAAA;AACrDK,QAAAA,WAAW,EAAAD,cAAAA,CAAAA,MAAA,CAAiBJ,QAAQ,EAAqB,qBAAA,CAAA;QACzDM,QAAQ,EAAA,cAAA,CAAAF,MAAA,CAAiBJ,QAAQ,EAAA,uBAAA,CAAA;AACnC,OAAA;KACD;AACDU,IAAAA,KAAK,EAAE,SAAAA,KAACA,CAAAA,OAAqB,EAAK;MAChC,OAAO;AACLP,QAAAA,OAAO,EAAE;UACP,SAAAC,EAAAA,cAAAA,CAAAA,MAAA,CAAwBJ,QAAQ,EAAqB,qBAAA,CAAA;AACrDK,UAAAA,WAAW,EAAAD,cAAAA,CAAAA,MAAA,CAAiBJ,QAAQ,EAAqB,qBAAA,CAAA;AACzDM,UAAAA,QAAQ,iBAAAF,MAAA,CAAiBJ,QAAQ,EAAAI,GAAAA,CAAAA,CAAAA,MAAA,CAAIM,OAAK,EAAA,WAAA,CAAA;SAC3C;AACDH,QAAAA,SAAS,EAAE;AACT,UAAA,SAAA,EAAA,cAAA,CAAAH,MAAA,CAAwBJ,QAAQ,OAAAI,MAAA,CAAIM,OAAK,EAAS,SAAA,CAAA;UAClDL,WAAW,EAAA,cAAA,CAAAD,MAAA,CAAiBJ,QAAQ,OAAAI,MAAA,CAAIM,OAAK,EAAS,SAAA,CAAA;AACtDJ,UAAAA,QAAQ,iBAAAF,MAAA,CAAiBJ,QAAQ,EAAAI,GAAAA,CAAAA,CAAAA,MAAA,CAAIM,OAAK,EAAA,WAAA,CAAA;AAC5C,SAAA;OACD,CAAA;AACH,KAAA;GACD,CAAA;AACH,EAAC;AAED,IAAME,UAA4B,GAAG;AACnCC,EAAAA,KAAK,EAAE;AACLC,IAAAA,IAAI,EAAE;AACJC,MAAAA,MAAM,EAAE,EAAE;AACVC,MAAAA,KAAK,EAAE,EAAE;AACTC,MAAAA,MAAM,EAAE,GAAG;AACXC,MAAAA,KAAK,EAAE,GAAA;AACT,KAAA;GACD;AACDC,EAAAA,WAAW,EAAE;AACXJ,IAAAA,MAAM,EAAE,EAAE;AACVC,IAAAA,KAAK,EAAE,EAAE;AACTC,IAAAA,MAAM,EAAE,GAAG;AACXC,IAAAA,KAAK,EAAE,GAAA;AACT,GAAA;AACF,EAAC;AAED,IAAME,SAAwE,GAAG;AAC/EL,EAAAA,MAAM,EAAED,IAAI,CAAC,EAAE,CAAC;AAChBE,EAAAA,KAAK,EAAEF,IAAI,CAAC,EAAE,CAAC;AACfG,EAAAA,MAAM,EAAEH,IAAI,CAAC,EAAE,CAAC;EAChBI,KAAK,EAAEJ,IAAI,CAAC,EAAE,CAAA;AAChB,EAAC;AAED,IAAMO,aAGL,GAAG;AACFN,EAAAA,MAAM,EAAE;AACNO,IAAAA,GAAG,EAAE,CAAC;AACNC,IAAAA,MAAM,EAAE,CAAC;AACTC,IAAAA,IAAI,EAAE,CAAC;AACPC,IAAAA,KAAK,EAAE,CAAA;GACR;AACDT,EAAAA,KAAK,EAAE;AACLM,IAAAA,GAAG,EAAE,CAAC;AACNC,IAAAA,MAAM,EAAE,CAAC;AACTC,IAAAA,IAAI,EAAE,CAAC;AACPC,IAAAA,KAAK,EAAE,CAAA;GACR;AACDR,EAAAA,MAAM,EAAE;AACNK,IAAAA,GAAG,EAAE,CAAC;AACNC,IAAAA,MAAM,EAAE,CAAC;AACTC,IAAAA,IAAI,EAAE,CAAC;AACPC,IAAAA,KAAK,EAAE,CAAA;GACR;AACDP,EAAAA,KAAK,EAAE;AACLI,IAAAA,GAAG,EAAE,CAAC;AACNC,IAAAA,MAAM,EAAE,CAAC;AACTC,IAAAA,IAAI,EAAE,CAAC;AACPC,IAAAA,KAAK,EAAE,CAAA;AACT,GAAA;AACF,EAAC;AAED,IAAMC,yBAAyB,GAAG;AAChCX,EAAAA,MAAM,EAAEY,QAAQ,CAACb,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5BE,EAAAA,KAAK,EAAEW,QAAQ,CAACb,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3BG,EAAAA,MAAM,EAAEU,QAAQ,CAACb,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5BI,EAAAA,KAAK,EAAES,QAAQ,CAACb,IAAI,CAAC,IAAI,CAAC,CAAA;AAC5B,EAAU;AAEV,IAAMc,uBAA+E,GAAG;AACtFb,EAAAA,MAAM,EAAE,OAAO;AACfC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,KAAK,EAAE,QAAA;AACT,EAAC;AAED,IAAMW,+BAAuF,GAAG;AAC9Fd,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,KAAK,EAAE,QAAQ;AACfC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,KAAK,EAAE,QAAA;AACT,EAAC;AAED,IAAMY,0BAGL,GAAG;AACFf,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,MAAM,EAAE,OAAO;AACfC,EAAAA,KAAK,EAAE,QAAA;AACT,EAAC;AAED,IAAMa,iBAAuF,GAAG;AAC9FhB,EAAAA,MAAM,EAAE,CAAC;AACTC,EAAAA,KAAK,EAAE,CAAC;AACRC,EAAAA,MAAM,EAAE,CAAC;AACTC,EAAAA,KAAK,EAAE,CAAA;AACT;;;;"}
@@ -0,0 +1,182 @@
1
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
+ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
3
+ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
4
+ import dayjs from 'dayjs';
5
+ import 'react';
6
+ import { useDatesContext, shiftTimezone, DatePicker } from '@mantine/dates';
7
+ import { CalendarHeader } from './CalendarHeader.web.js';
8
+ import { CalendarStyles, CalendarGradientStyles } from './CalendarStyles.web.js';
9
+ import { useUncontrolledDates } from './useControlledDates.js';
10
+ import { pickerToLevel, levelToPicker, classes } from './constants.js';
11
+ import { useControllableState } from '../../utils/useControllable.js';
12
+ import { useIsMobile } from '../../utils/useIsMobile.js';
13
+ import '../../utils/logger/index.js';
14
+ import '../../utils/metaAttribute/index.js';
15
+ import { jsxs, jsx } from 'react/jsx-runtime';
16
+ import { throwBladeError } from '../../utils/logger/logger.js';
17
+ import { metaAttribute } from '../../utils/metaAttribute/metaAttribute.web.js';
18
+ import { MetaConstants } from '../../utils/metaAttribute/metaConstants.js';
19
+
20
+ var _excluded = ["firstDayOfWeek", "selectionType", "allowSingleDateInRange", "defaultPicker", "picker", "onPickerChange", "date", "defaultDate", "onDateChange", "onNext", "onPrevious", "presets"];
21
+ 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; }
22
+ 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; }
23
+ var Calendar = function Calendar(_ref) {
24
+ var _ref$firstDayOfWeek = _ref.firstDayOfWeek,
25
+ firstDayOfWeek = _ref$firstDayOfWeek === void 0 ? 0 : _ref$firstDayOfWeek,
26
+ selectionType = _ref.selectionType,
27
+ allowSingleDateInRange = _ref.allowSingleDateInRange,
28
+ _ref$defaultPicker = _ref.defaultPicker,
29
+ defaultPicker = _ref$defaultPicker === void 0 ? 'day' : _ref$defaultPicker,
30
+ picker = _ref.picker,
31
+ onPickerChange = _ref.onPickerChange,
32
+ date = _ref.date,
33
+ defaultDate = _ref.defaultDate,
34
+ onDateChange = _ref.onDateChange,
35
+ onNext = _ref.onNext,
36
+ onPrevious = _ref.onPrevious,
37
+ presets = _ref.presets,
38
+ props = _objectWithoutProperties(_ref, _excluded);
39
+ var isRange = selectionType === 'range';
40
+ var _useControllableState = useControllableState({
41
+ defaultValue: pickerToLevel[defaultPicker],
42
+ value: pickerToLevel[picker],
43
+ onChange: function onChange(level) {
44
+ onPickerChange === null || onPickerChange === void 0 ? void 0 : onPickerChange(levelToPicker[level]);
45
+ }
46
+ }),
47
+ _useControllableState2 = _slicedToArray(_useControllableState, 2),
48
+ level = _useControllableState2[0],
49
+ setLevel = _useControllableState2[1];
50
+ if (false) {
51
+ if (isRange && level !== 'month') {
52
+ throwBladeError({
53
+ message: "Cannot use range DatePicker with pickerType: ".concat(levelToPicker[level], ", Only \"day\" is supported"),
54
+ moduleName: 'DatePicker'
55
+ });
56
+ }
57
+ }
58
+ var _useUncontrolledDates = useUncontrolledDates({
59
+ type: 'default',
60
+ value: date,
61
+ defaultValue: defaultDate,
62
+ onChange: onDateChange
63
+ }),
64
+ _useUncontrolledDates2 = _slicedToArray(_useUncontrolledDates, 2),
65
+ _date = _useUncontrolledDates2[0],
66
+ setDate = _useUncontrolledDates2[1];
67
+ var dateContext = useDatesContext();
68
+ var isMobile = useIsMobile();
69
+ var currentDate = _date !== null && _date !== void 0 ? _date : shiftTimezone('add', new Date(), dateContext.getTimezone());
70
+ var numberOfColumns = isMobile || !isRange ? 1 : 2;
71
+ var columnsToScroll = numberOfColumns;
72
+ var handleNextMonth = function handleNextMonth() {
73
+ var nextDate = dayjs(currentDate).add(columnsToScroll, 'month').toDate();
74
+ onNext === null || onNext === void 0 ? void 0 : onNext({
75
+ date: nextDate,
76
+ type: 'month'
77
+ });
78
+ setDate(nextDate);
79
+ };
80
+ var handlePreviousMonth = function handlePreviousMonth() {
81
+ var nextDate = dayjs(currentDate).subtract(columnsToScroll, 'month').toDate();
82
+ onPrevious === null || onPrevious === void 0 ? void 0 : onPrevious({
83
+ date: nextDate,
84
+ type: 'month'
85
+ });
86
+ setDate(nextDate);
87
+ };
88
+ var handleNextYear = function handleNextYear() {
89
+ var nextDate = dayjs(currentDate).add(columnsToScroll, 'year').toDate();
90
+ onNext === null || onNext === void 0 ? void 0 : onNext({
91
+ date: nextDate,
92
+ type: 'year'
93
+ });
94
+ setDate(nextDate);
95
+ };
96
+ var handlePreviousYear = function handlePreviousYear() {
97
+ var nextDate = dayjs(currentDate).subtract(columnsToScroll, 'year').toDate();
98
+ onPrevious === null || onPrevious === void 0 ? void 0 : onPrevious({
99
+ date: nextDate,
100
+ type: 'year'
101
+ });
102
+ setDate(nextDate);
103
+ };
104
+ var handleNextDecade = function handleNextDecade() {
105
+ var nextDate = dayjs(currentDate).add(10 * columnsToScroll, 'year').toDate();
106
+ onNext === null || onNext === void 0 ? void 0 : onNext({
107
+ date: nextDate,
108
+ type: 'decade'
109
+ });
110
+ setDate(nextDate);
111
+ };
112
+ var handlePreviousDecade = function handlePreviousDecade() {
113
+ var nextDate = dayjs(currentDate).subtract(10 * columnsToScroll, 'year').toDate();
114
+ onPrevious === null || onPrevious === void 0 ? void 0 : onPrevious({
115
+ date: nextDate,
116
+ type: 'decade'
117
+ });
118
+ setDate(nextDate);
119
+ };
120
+ return /*#__PURE__*/jsxs(CalendarStyles, _objectSpread(_objectSpread({
121
+ display: "flex",
122
+ flexDirection: "column",
123
+ gap: "spacing.7",
124
+ pickerType: levelToPicker[level]
125
+ }, metaAttribute({
126
+ name: MetaConstants.Calendar
127
+ })), {}, {
128
+ children: [/*#__PURE__*/jsx(CalendarHeader, {
129
+ isRange: isRange,
130
+ date: currentDate,
131
+ onLevelChange: function onLevelChange(level) {
132
+ return setLevel(function () {
133
+ return level;
134
+ });
135
+ },
136
+ pickerType: levelToPicker[level],
137
+ onNextMonth: handleNextMonth,
138
+ onPreviousMonth: handlePreviousMonth,
139
+ onNextDecade: handleNextDecade,
140
+ onPreviousDecade: handlePreviousDecade,
141
+ onNextYear: handleNextYear,
142
+ onPreviousYear: handlePreviousYear
143
+ }), /*#__PURE__*/jsx(CalendarGradientStyles, {
144
+ isRange: isRange,
145
+ date: currentDate,
146
+ children: /*#__PURE__*/jsx(DatePicker, _objectSpread({
147
+ withCellSpacing: false,
148
+ type: isRange ? 'range' : 'default',
149
+ date: _date,
150
+ locale: dateContext.locale,
151
+ level: level,
152
+ onDateChange: setDate,
153
+ onLevelChange: function onLevelChange(level) {
154
+ return setLevel(function () {
155
+ return level;
156
+ });
157
+ },
158
+ numberOfColumns: numberOfColumns,
159
+ weekdayFormat: "ddd",
160
+ firstDayOfWeek: firstDayOfWeek
161
+ // @ts-expect-error unable to narrow props based on `type`
162
+ ,
163
+ allowSingleDateInRange: allowSingleDateInRange,
164
+ classNames: {
165
+ levelsGroup: classes.levelsGroup,
166
+ day: classes.dayCell,
167
+ monthsListControl: classes.monthsListControl,
168
+ yearsListControl: classes.yearsListControl,
169
+ calendarHeader: classes.calendarHeader,
170
+ monthRow: classes.row,
171
+ yearsListRow: classes.row,
172
+ monthsListRow: classes.row,
173
+ weekdaysRow: classes.row,
174
+ weekday: classes.weekday
175
+ }
176
+ }, props))
177
+ })]
178
+ }));
179
+ };
180
+
181
+ export { Calendar };
182
+ //# sourceMappingURL=Calendar.web.js.map
@@ -0,0 +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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"}
@@ -0,0 +1,46 @@
1
+ import 'react';
2
+ import '../Box/BaseBox/index.js';
3
+ import '../Button/index.js';
4
+ import '../Divider/index.js';
5
+ import { useIsMobile } from '../../utils/useIsMobile.js';
6
+ import { jsxs, jsx } from 'react/jsx-runtime';
7
+ import { BaseBox } from '../Box/BaseBox/BaseBox.web.js';
8
+ import { Divider } from '../Divider/Divider.js';
9
+ import Button from '../Button/Button/Button.js';
10
+
11
+ var CalendarFooter = function CalendarFooter(_ref) {
12
+ var onApply = _ref.onApply,
13
+ onCancel = _ref.onCancel;
14
+ var isMobile = useIsMobile();
15
+ return /*#__PURE__*/jsxs(BaseBox, {
16
+ display: "flex",
17
+ flexDirection: "column",
18
+ gap: "spacing.5",
19
+ children: [isMobile ? null : /*#__PURE__*/jsx(Divider, {}), /*#__PURE__*/jsxs(BaseBox, {
20
+ width: {
21
+ base: '100%',
22
+ m: 'auto'
23
+ },
24
+ marginLeft: "auto",
25
+ display: "flex",
26
+ flexDirection: "row",
27
+ gap: "spacing.4",
28
+ children: [/*#__PURE__*/jsx(Button, {
29
+ isFullWidth: isMobile,
30
+ variant: "tertiary",
31
+ size: "medium",
32
+ onClick: onCancel,
33
+ children: "Cancel"
34
+ }), /*#__PURE__*/jsx(Button, {
35
+ isFullWidth: isMobile,
36
+ variant: "primary",
37
+ size: "medium",
38
+ onClick: onApply,
39
+ children: "Apply"
40
+ })]
41
+ })]
42
+ });
43
+ };
44
+
45
+ export { CalendarFooter };
46
+ //# sourceMappingURL=CalendarFooter.web.js.map
@@ -0,0 +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;;;;"}
@@ -0,0 +1,162 @@
1
+ import dayjs from 'dayjs';
2
+ import { useI18nContext } from '../../node_modules/@razorpay/i18nify-react/lib/esm/index.js';
3
+ import { convertIntlToDayjsLocale } from './utils.js';
4
+ import '../Box/index.js';
5
+ import '../Button/index.js';
6
+ import '../Typography/index.js';
7
+ import '../Icons/index.js';
8
+ import '../Link/index.js';
9
+ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
10
+ import { Box } from '../Box/Box.js';
11
+ import Button from '../Button/Button/Button.js';
12
+ import ChevronLeftIcon from '../Icons/ChevronLeftIcon/ChevronLeftIcon.js';
13
+ import { Text } from '../Typography/Text/Text.js';
14
+ import Link from '../Link/Link/Link.js';
15
+ import ChevronDownIcon from '../Icons/ChevronDownIcon/ChevronDownIcon.js';
16
+ import ChevronRightIcon from '../Icons/ChevronRightIcon/ChevronRightIcon.js';
17
+
18
+ /* eslint-disable @typescript-eslint/explicit-function-return-type */
19
+
20
+ var CalendarHeader = function CalendarHeader(_ref) {
21
+ var _i18nState$locale;
22
+ var isRange = _ref.isRange,
23
+ date = _ref.date,
24
+ pickerType = _ref.pickerType,
25
+ onNextMonth = _ref.onNextMonth,
26
+ onNextYear = _ref.onNextYear,
27
+ onNextDecade = _ref.onNextDecade,
28
+ onPreviousMonth = _ref.onPreviousMonth,
29
+ onPreviousYear = _ref.onPreviousYear,
30
+ onPreviousDecade = _ref.onPreviousDecade,
31
+ onLevelChange = _ref.onLevelChange;
32
+ var _useI18nContext = useI18nContext(),
33
+ i18nState = _useI18nContext.i18nState;
34
+ var locale = convertIntlToDayjsLocale((_i18nState$locale = i18nState === null || i18nState === void 0 ? void 0 : i18nState.locale) !== null && _i18nState$locale !== void 0 ? _i18nState$locale : 'en-IN');
35
+ var month = dayjs(date).locale(locale).format('MMMM');
36
+ var year = dayjs(date).locale(locale).format('YYYY');
37
+ var currentYear = dayjs(date).year();
38
+ var startYearOfDecade = Math.floor(currentYear / 10) * 10;
39
+ var endYearOfDecade = startYearOfDecade + 9;
40
+ var nextMonth = dayjs(date).locale(locale).add(1, 'month').format('MMMM');
41
+ var nextYear = dayjs(date).locale(locale).add(1, 'month').format('YYYY');
42
+ var handleNext = function handleNext() {
43
+ switch (pickerType) {
44
+ case 'day':
45
+ onNextMonth();
46
+ break;
47
+ case 'month':
48
+ onNextYear();
49
+ break;
50
+ case 'year':
51
+ onNextDecade();
52
+ break;
53
+ default:
54
+ throw new Error('Invalid picker type');
55
+ }
56
+ };
57
+ var handlePrevious = function handlePrevious() {
58
+ switch (pickerType) {
59
+ case 'day':
60
+ onPreviousMonth();
61
+ break;
62
+ case 'month':
63
+ onPreviousYear();
64
+ break;
65
+ case 'year':
66
+ onPreviousDecade();
67
+ break;
68
+ default:
69
+ throw new Error('Invalid picker type');
70
+ }
71
+ };
72
+ return /*#__PURE__*/jsxs(Box, {
73
+ display: isRange ? 'grid' : 'flex',
74
+ gridTemplateColumns: {
75
+ base: 'auto 1fr auto',
76
+ m: 'auto 1fr 1fr auto'
77
+ },
78
+ justifyContent: "space-between",
79
+ alignItems: "center",
80
+ children: [/*#__PURE__*/jsx(Button, {
81
+ justifySelf: "start",
82
+ size: "small",
83
+ variant: "tertiary",
84
+ onClick: handlePrevious,
85
+ accessibilityLabel: "Previous",
86
+ icon: ChevronLeftIcon
87
+ }), isRange ? /*#__PURE__*/jsxs(Fragment, {
88
+ children: [/*#__PURE__*/jsxs(Text, {
89
+ display: {
90
+ base: 'none',
91
+ m: 'block'
92
+ },
93
+ size: "large",
94
+ weight: "medium",
95
+ marginRight: "spacing.7",
96
+ justifySelf: "center",
97
+ children: [month, " ", year]
98
+ }), /*#__PURE__*/jsxs(Text, {
99
+ display: {
100
+ base: 'none',
101
+ m: 'block'
102
+ },
103
+ size: "large",
104
+ weight: "medium",
105
+ marginLeft: "spacing.7",
106
+ justifySelf: "center",
107
+ children: [nextMonth, " ", nextYear]
108
+ }), /*#__PURE__*/jsxs(Text, {
109
+ display: {
110
+ base: 'block',
111
+ m: 'none'
112
+ },
113
+ size: "large",
114
+ weight: "medium",
115
+ justifySelf: "center",
116
+ children: [month, " ", year]
117
+ })]
118
+ }) : /*#__PURE__*/jsxs(Box, {
119
+ display: "flex",
120
+ gap: "spacing.5",
121
+ alignItems: "center",
122
+ children: [pickerType === 'day' && /*#__PURE__*/jsxs(Link, {
123
+ onClick: function onClick() {
124
+ onLevelChange('year');
125
+ },
126
+ size: "large",
127
+ variant: "button",
128
+ color: "neutral",
129
+ iconPosition: "right",
130
+ icon: ChevronDownIcon,
131
+ accessibilityLabel: "Change month",
132
+ children: [month, " ", year]
133
+ }), pickerType === 'month' && /*#__PURE__*/jsx(Link, {
134
+ onClick: function onClick() {
135
+ onLevelChange('decade');
136
+ },
137
+ size: "large",
138
+ variant: "button",
139
+ color: "neutral",
140
+ iconPosition: "right",
141
+ icon: ChevronDownIcon,
142
+ accessibilityLabel: "Change decade",
143
+ children: year
144
+ }), pickerType === 'year' && /*#__PURE__*/jsxs(Text, {
145
+ size: "large",
146
+ weight: "medium",
147
+ color: "interactive.text.neutral.normal",
148
+ children: [startYearOfDecade, " - ", endYearOfDecade]
149
+ })]
150
+ }), /*#__PURE__*/jsx(Button, {
151
+ justifySelf: "end",
152
+ size: "small",
153
+ variant: "tertiary",
154
+ onClick: handleNext,
155
+ accessibilityLabel: "Next",
156
+ icon: ChevronRightIcon
157
+ })]
158
+ });
159
+ };
160
+
161
+ export { CalendarHeader };
162
+ //# sourceMappingURL=CalendarHeader.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CalendarHeader.web.js","sources":["../../../../../../src/components/DatePicker/CalendarHeader.web.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/explicit-function-return-type */\nimport type { CalendarLevel as MantineCalendarLevel } from '@mantine/dates';\nimport dayjs from 'dayjs';\nimport { useI18nContext } from '@razorpay/i18nify-react';\nimport type { PickerType, DateValue, DatesRangeValue } from './types';\nimport { convertIntlToDayjsLocale } from './utils';\nimport { Box } from '~components/Box';\nimport { Button } from '~components/Button';\nimport { Text } from '~components/Typography';\nimport { ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon } from '~components/Icons';\nimport { Link } from '~components/Link';\n\ntype CalendarHeaderProps = {\n isRange: boolean;\n date: DateValue | DatesRangeValue;\n pickerType: PickerType;\n onNextMonth: () => void;\n onPreviousMonth: () => void;\n onNextYear: () => void;\n onPreviousYear: () => void;\n onNextDecade: () => void;\n onPreviousDecade: () => void;\n onLevelChange: (level: MantineCalendarLevel) => void;\n};\n\nconst CalendarHeader = ({\n isRange,\n date,\n pickerType,\n onNextMonth,\n onNextYear,\n onNextDecade,\n onPreviousMonth,\n onPreviousYear,\n onPreviousDecade,\n onLevelChange,\n}: CalendarHeaderProps): React.ReactElement => {\n const { i18nState } = useI18nContext();\n const locale = convertIntlToDayjsLocale(i18nState?.locale ?? 'en-IN');\n\n const month = dayjs(date as Date)\n .locale(locale)\n .format('MMMM');\n const year = dayjs(date as Date)\n .locale(locale)\n .format('YYYY');\n const currentYear = dayjs(date as Date).year();\n const startYearOfDecade = Math.floor(currentYear / 10) * 10;\n const endYearOfDecade = startYearOfDecade + 9;\n const nextMonth = dayjs(date as Date)\n .locale(locale)\n .add(1, 'month')\n .format('MMMM');\n const nextYear = dayjs(date as Date)\n .locale(locale)\n .add(1, 'month')\n .format('YYYY');\n\n const handleNext = () => {\n switch (pickerType) {\n case 'day':\n onNextMonth();\n break;\n case 'month':\n onNextYear();\n break;\n case 'year':\n onNextDecade();\n break;\n default:\n throw new Error('Invalid picker type');\n }\n };\n\n const handlePrevious = () => {\n switch (pickerType) {\n case 'day':\n onPreviousMonth();\n break;\n case 'month':\n onPreviousYear();\n break;\n case 'year':\n onPreviousDecade();\n break;\n default:\n throw new Error('Invalid picker type');\n }\n };\n\n return (\n <Box\n display={isRange ? 'grid' : 'flex'}\n gridTemplateColumns={{ base: 'auto 1fr auto', m: 'auto 1fr 1fr auto' }}\n justifyContent=\"space-between\"\n alignItems=\"center\"\n >\n <Button\n justifySelf=\"start\"\n size=\"small\"\n variant=\"tertiary\"\n onClick={handlePrevious}\n accessibilityLabel=\"Previous\"\n icon={ChevronLeftIcon}\n />\n {isRange ? (\n <>\n <Text\n display={{ base: 'none', m: 'block' }}\n size=\"large\"\n weight=\"medium\"\n marginRight=\"spacing.7\"\n justifySelf=\"center\"\n >\n {month} {year}\n </Text>\n <Text\n display={{ base: 'none', m: 'block' }}\n size=\"large\"\n weight=\"medium\"\n marginLeft=\"spacing.7\"\n justifySelf=\"center\"\n >\n {nextMonth} {nextYear}\n </Text>\n <Text\n display={{ base: 'block', m: 'none' }}\n size=\"large\"\n weight=\"medium\"\n justifySelf=\"center\"\n >\n {month} {year}\n </Text>\n </>\n ) : (\n <Box display=\"flex\" gap=\"spacing.5\" alignItems=\"center\">\n {pickerType === 'day' && (\n <Link\n onClick={() => {\n onLevelChange('year');\n }}\n size=\"large\"\n variant=\"button\"\n color=\"neutral\"\n iconPosition=\"right\"\n icon={ChevronDownIcon}\n accessibilityLabel=\"Change month\"\n >\n {month} {year}\n </Link>\n )}\n {pickerType === 'month' && (\n <Link\n onClick={() => {\n onLevelChange('decade');\n }}\n size=\"large\"\n variant=\"button\"\n color=\"neutral\"\n iconPosition=\"right\"\n icon={ChevronDownIcon}\n accessibilityLabel=\"Change decade\"\n >\n {year}\n </Link>\n )}\n {pickerType === 'year' && (\n <Text size=\"large\" weight=\"medium\" color=\"interactive.text.neutral.normal\">\n {startYearOfDecade} - {endYearOfDecade}\n </Text>\n )}\n </Box>\n )}\n <Button\n justifySelf=\"end\"\n size=\"small\"\n variant=\"tertiary\"\n onClick={handleNext}\n accessibilityLabel=\"Next\"\n icon={ChevronRightIcon}\n />\n </Box>\n );\n};\n\nexport { CalendarHeader };\n"],"names":["CalendarHeader","_ref","_i18nState$locale","isRange","date","pickerType","onNextMonth","onNextYear","onNextDecade","onPreviousMonth","onPreviousYear","onPreviousDecade","onLevelChange","_useI18nContext","useI18nContext","i18nState","locale","convertIntlToDayjsLocale","month","dayjs","format","year","currentYear","startYearOfDecade","Math","floor","endYearOfDecade","nextMonth","add","nextYear","handleNext","Error","handlePrevious","_jsxs","Box","display","gridTemplateColumns","base","m","justifyContent","alignItems","children","_jsx","Button","justifySelf","size","variant","onClick","accessibilityLabel","icon","ChevronLeftIcon","_Fragment","Text","weight","marginRight","marginLeft","gap","Link","color","iconPosition","ChevronDownIcon","ChevronRightIcon"],"mappings":"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"}