@razorpay/blade 12.33.1 → 12.33.2

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 (170) hide show
  1. package/build/lib/native/components/Accordion/AccordionButton.native.js +1 -1
  2. package/build/lib/native/components/Accordion/AccordionButton.native.js.map +1 -1
  3. package/build/lib/native/components/Accordion/AccordionItemHeader.js +2 -1
  4. package/build/lib/native/components/Accordion/AccordionItemHeader.js.map +1 -1
  5. package/build/lib/native/components/Accordion/commonStyles.js +1 -1
  6. package/build/lib/native/components/Accordion/commonStyles.js.map +1 -1
  7. package/build/lib/native/components/ActionList/ActionListItem.js +1 -1
  8. package/build/lib/native/components/ActionList/ActionListItem.js.map +1 -1
  9. package/build/lib/native/components/BaseHeaderFooter/BaseHeader.js +1 -1
  10. package/build/lib/native/components/BaseHeaderFooter/BaseHeader.js.map +1 -1
  11. package/build/lib/native/components/Button/BaseButton/BaseButton.js +1 -1
  12. package/build/lib/native/components/Button/BaseButton/BaseButton.js.map +1 -1
  13. package/build/lib/native/components/Button/BaseButton/buttonTokens.js +1 -1
  14. package/build/lib/native/components/Button/BaseButton/buttonTokens.js.map +1 -1
  15. package/build/lib/native/components/Dropdown/Dropdown.js +1 -1
  16. package/build/lib/native/components/Dropdown/Dropdown.js.map +1 -1
  17. package/build/lib/native/components/Dropdown/DropdownButton.js +1 -1
  18. package/build/lib/native/components/Dropdown/DropdownButton.js.map +1 -1
  19. package/build/lib/native/components/Dropdown/InputDropdownButton.native.js +7 -0
  20. package/build/lib/native/components/Dropdown/InputDropdownButton.native.js.map +1 -0
  21. package/build/lib/native/components/Dropdown/dropdownComponentIds.js +1 -1
  22. package/build/lib/native/components/Dropdown/dropdownComponentIds.js.map +1 -1
  23. package/build/lib/native/components/Dropdown/useDropdown.js.map +1 -1
  24. package/build/lib/native/components/Icons/ChevronUpDownIcon/ChevronUpDownIcon.js +12 -0
  25. package/build/lib/native/components/Icons/ChevronUpDownIcon/ChevronUpDownIcon.js.map +1 -0
  26. package/build/lib/native/components/Input/BaseInput/BaseInput.js +1 -1
  27. package/build/lib/native/components/Input/BaseInput/BaseInput.js.map +1 -1
  28. package/build/lib/native/components/Input/BaseInput/BaseInputVisuals.js +1 -1
  29. package/build/lib/native/components/Input/BaseInput/BaseInputVisuals.js.map +1 -1
  30. package/build/lib/native/components/Input/BaseInput/baseInputStyles.js +1 -1
  31. package/build/lib/native/components/Input/BaseInput/baseInputStyles.js.map +1 -1
  32. package/build/lib/native/components/Input/BaseInput/baseInputTokens.js +1 -1
  33. package/build/lib/native/components/Input/BaseInput/baseInputTokens.js.map +1 -1
  34. package/build/lib/native/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js +2 -5
  35. package/build/lib/native/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js.map +1 -1
  36. package/build/lib/native/components/Input/SearchInput/SearchInput.js +12 -3
  37. package/build/lib/native/components/Input/SearchInput/SearchInput.js.map +1 -1
  38. package/build/lib/native/components/Input/TextInput/TextInput.js +11 -3
  39. package/build/lib/native/components/Input/TextInput/TextInput.js.map +1 -1
  40. package/build/lib/native/components/Typography/Text/Text.js +1 -1
  41. package/build/lib/native/components/Typography/Text/Text.js.map +1 -1
  42. package/build/lib/native/components/index.js +2 -0
  43. package/build/lib/native/components/index.js.map +1 -1
  44. package/build/lib/native/utils/useControlledDropdownInput/useControlledDropdownInput.js +14 -0
  45. package/build/lib/native/utils/useControlledDropdownInput/useControlledDropdownInput.js.map +1 -0
  46. package/build/lib/web/development/components/Accordion/AccordionItemHeader.js +18 -2
  47. package/build/lib/web/development/components/Accordion/AccordionItemHeader.js.map +1 -1
  48. package/build/lib/web/development/components/Accordion/StyledAccordionButton.web.js +4 -3
  49. package/build/lib/web/development/components/Accordion/StyledAccordionButton.web.js.map +1 -1
  50. package/build/lib/web/development/components/Accordion/commonStyles.js +1 -11
  51. package/build/lib/web/development/components/Accordion/commonStyles.js.map +1 -1
  52. package/build/lib/web/development/components/ActionList/ActionListItem.js +2 -1
  53. package/build/lib/web/development/components/ActionList/ActionListItem.js.map +1 -1
  54. package/build/lib/web/development/components/BaseHeaderFooter/BaseHeader.js +6 -3
  55. package/build/lib/web/development/components/BaseHeaderFooter/BaseHeader.js.map +1 -1
  56. package/build/lib/web/development/components/Button/BaseButton/BaseButton.js +24 -3
  57. package/build/lib/web/development/components/Button/BaseButton/BaseButton.js.map +1 -1
  58. package/build/lib/web/development/components/Button/BaseButton/StyledBaseButton.web.js +14 -2
  59. package/build/lib/web/development/components/Button/BaseButton/StyledBaseButton.web.js.map +1 -1
  60. package/build/lib/web/development/components/Button/BaseButton/buttonTokens.js +19 -0
  61. package/build/lib/web/development/components/Button/BaseButton/buttonTokens.js.map +1 -1
  62. package/build/lib/web/development/components/Dropdown/Dropdown.js +4 -1
  63. package/build/lib/web/development/components/Dropdown/Dropdown.js.map +1 -1
  64. package/build/lib/web/development/components/Dropdown/DropdownButton.js +4 -1
  65. package/build/lib/web/development/components/Dropdown/DropdownButton.js.map +1 -1
  66. package/build/lib/web/development/components/Dropdown/DropdownOverlay.web.js +4 -2
  67. package/build/lib/web/development/components/Dropdown/DropdownOverlay.web.js.map +1 -1
  68. package/build/lib/web/development/components/Dropdown/InputDropdownButton.web.js +180 -0
  69. package/build/lib/web/development/components/Dropdown/InputDropdownButton.web.js.map +1 -0
  70. package/build/lib/web/development/components/Dropdown/dropdownComponentIds.js +2 -1
  71. package/build/lib/web/development/components/Dropdown/dropdownComponentIds.js.map +1 -1
  72. package/build/lib/web/development/components/Dropdown/index.js +1 -0
  73. package/build/lib/web/development/components/Dropdown/index.js.map +1 -1
  74. package/build/lib/web/development/components/Dropdown/useDropdown.js.map +1 -1
  75. package/build/lib/web/development/components/Icons/ChevronUpDownIcon/ChevronUpDownIcon.js +40 -0
  76. package/build/lib/web/development/components/Icons/ChevronUpDownIcon/ChevronUpDownIcon.js.map +1 -0
  77. package/build/lib/web/development/components/Icons/ChevronUpDownIcon/index.js +2 -0
  78. package/build/lib/web/development/components/Icons/ChevronUpDownIcon/index.js.map +1 -0
  79. package/build/lib/web/development/components/Icons/index.js +1 -0
  80. package/build/lib/web/development/components/Icons/index.js.map +1 -1
  81. package/build/lib/web/development/components/Input/BaseInput/BaseInput.js +10 -4
  82. package/build/lib/web/development/components/Input/BaseInput/BaseInput.js.map +1 -1
  83. package/build/lib/web/development/components/Input/BaseInput/BaseInputVisuals.js +32 -8
  84. package/build/lib/web/development/components/Input/BaseInput/BaseInputVisuals.js.map +1 -1
  85. package/build/lib/web/development/components/Input/BaseInput/StyledBaseInput.web.js +2 -1
  86. package/build/lib/web/development/components/Input/BaseInput/StyledBaseInput.web.js.map +1 -1
  87. package/build/lib/web/development/components/Input/BaseInput/baseInputStyles.js +8 -4
  88. package/build/lib/web/development/components/Input/BaseInput/baseInputStyles.js.map +1 -1
  89. package/build/lib/web/development/components/Input/BaseInput/baseInputTokens.js +1 -1
  90. package/build/lib/web/development/components/Input/BaseInput/baseInputTokens.js.map +1 -1
  91. package/build/lib/web/development/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js +25 -124
  92. package/build/lib/web/development/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js.map +1 -1
  93. package/build/lib/web/development/components/Input/PhoneNumberInput/CountrySelector.web.js +6 -4
  94. package/build/lib/web/development/components/Input/PhoneNumberInput/CountrySelector.web.js.map +1 -1
  95. package/build/lib/web/development/components/Input/SearchInput/SearchInput.js +97 -30
  96. package/build/lib/web/development/components/Input/SearchInput/SearchInput.js.map +1 -1
  97. package/build/lib/web/development/components/Input/TextInput/TextInput.js +123 -31
  98. package/build/lib/web/development/components/Input/TextInput/TextInput.js.map +1 -1
  99. package/build/lib/web/development/components/Typography/Text/Text.js +0 -1
  100. package/build/lib/web/development/components/Typography/Text/Text.js.map +1 -1
  101. package/build/lib/web/development/components/index.js +2 -0
  102. package/build/lib/web/development/components/index.js.map +1 -1
  103. package/build/lib/web/development/utils/useControlledDropdownInput/index.js +2 -0
  104. package/build/lib/web/development/utils/useControlledDropdownInput/index.js.map +1 -0
  105. package/build/lib/web/development/utils/useControlledDropdownInput/useControlledDropdownInput.js +108 -0
  106. package/build/lib/web/development/utils/useControlledDropdownInput/useControlledDropdownInput.js.map +1 -0
  107. package/build/lib/web/production/components/Accordion/AccordionItemHeader.js +18 -2
  108. package/build/lib/web/production/components/Accordion/AccordionItemHeader.js.map +1 -1
  109. package/build/lib/web/production/components/Accordion/StyledAccordionButton.web.js +4 -3
  110. package/build/lib/web/production/components/Accordion/StyledAccordionButton.web.js.map +1 -1
  111. package/build/lib/web/production/components/Accordion/commonStyles.js +1 -11
  112. package/build/lib/web/production/components/Accordion/commonStyles.js.map +1 -1
  113. package/build/lib/web/production/components/ActionList/ActionListItem.js +2 -1
  114. package/build/lib/web/production/components/ActionList/ActionListItem.js.map +1 -1
  115. package/build/lib/web/production/components/BaseHeaderFooter/BaseHeader.js +6 -3
  116. package/build/lib/web/production/components/BaseHeaderFooter/BaseHeader.js.map +1 -1
  117. package/build/lib/web/production/components/Button/BaseButton/BaseButton.js +24 -3
  118. package/build/lib/web/production/components/Button/BaseButton/BaseButton.js.map +1 -1
  119. package/build/lib/web/production/components/Button/BaseButton/StyledBaseButton.web.js +14 -2
  120. package/build/lib/web/production/components/Button/BaseButton/StyledBaseButton.web.js.map +1 -1
  121. package/build/lib/web/production/components/Button/BaseButton/buttonTokens.js +19 -0
  122. package/build/lib/web/production/components/Button/BaseButton/buttonTokens.js.map +1 -1
  123. package/build/lib/web/production/components/Dropdown/Dropdown.js +4 -1
  124. package/build/lib/web/production/components/Dropdown/Dropdown.js.map +1 -1
  125. package/build/lib/web/production/components/Dropdown/DropdownButton.js +4 -1
  126. package/build/lib/web/production/components/Dropdown/DropdownButton.js.map +1 -1
  127. package/build/lib/web/production/components/Dropdown/DropdownOverlay.web.js +4 -2
  128. package/build/lib/web/production/components/Dropdown/DropdownOverlay.web.js.map +1 -1
  129. package/build/lib/web/production/components/Dropdown/InputDropdownButton.web.js +180 -0
  130. package/build/lib/web/production/components/Dropdown/InputDropdownButton.web.js.map +1 -0
  131. package/build/lib/web/production/components/Dropdown/dropdownComponentIds.js +2 -1
  132. package/build/lib/web/production/components/Dropdown/dropdownComponentIds.js.map +1 -1
  133. package/build/lib/web/production/components/Dropdown/index.js +1 -0
  134. package/build/lib/web/production/components/Dropdown/index.js.map +1 -1
  135. package/build/lib/web/production/components/Dropdown/useDropdown.js.map +1 -1
  136. package/build/lib/web/production/components/Icons/ChevronUpDownIcon/ChevronUpDownIcon.js +40 -0
  137. package/build/lib/web/production/components/Icons/ChevronUpDownIcon/ChevronUpDownIcon.js.map +1 -0
  138. package/build/lib/web/production/components/Icons/ChevronUpDownIcon/index.js +2 -0
  139. package/build/lib/web/production/components/Icons/ChevronUpDownIcon/index.js.map +1 -0
  140. package/build/lib/web/production/components/Icons/index.js +1 -0
  141. package/build/lib/web/production/components/Icons/index.js.map +1 -1
  142. package/build/lib/web/production/components/Input/BaseInput/BaseInput.js +10 -4
  143. package/build/lib/web/production/components/Input/BaseInput/BaseInput.js.map +1 -1
  144. package/build/lib/web/production/components/Input/BaseInput/BaseInputVisuals.js +32 -8
  145. package/build/lib/web/production/components/Input/BaseInput/BaseInputVisuals.js.map +1 -1
  146. package/build/lib/web/production/components/Input/BaseInput/StyledBaseInput.web.js +2 -1
  147. package/build/lib/web/production/components/Input/BaseInput/StyledBaseInput.web.js.map +1 -1
  148. package/build/lib/web/production/components/Input/BaseInput/baseInputStyles.js +8 -4
  149. package/build/lib/web/production/components/Input/BaseInput/baseInputStyles.js.map +1 -1
  150. package/build/lib/web/production/components/Input/BaseInput/baseInputTokens.js +1 -1
  151. package/build/lib/web/production/components/Input/BaseInput/baseInputTokens.js.map +1 -1
  152. package/build/lib/web/production/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js +25 -124
  153. package/build/lib/web/production/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js.map +1 -1
  154. package/build/lib/web/production/components/Input/PhoneNumberInput/CountrySelector.web.js +6 -4
  155. package/build/lib/web/production/components/Input/PhoneNumberInput/CountrySelector.web.js.map +1 -1
  156. package/build/lib/web/production/components/Input/SearchInput/SearchInput.js +97 -30
  157. package/build/lib/web/production/components/Input/SearchInput/SearchInput.js.map +1 -1
  158. package/build/lib/web/production/components/Input/TextInput/TextInput.js +123 -31
  159. package/build/lib/web/production/components/Input/TextInput/TextInput.js.map +1 -1
  160. package/build/lib/web/production/components/Typography/Text/Text.js +0 -1
  161. package/build/lib/web/production/components/Typography/Text/Text.js.map +1 -1
  162. package/build/lib/web/production/components/index.js +2 -0
  163. package/build/lib/web/production/components/index.js.map +1 -1
  164. package/build/lib/web/production/utils/useControlledDropdownInput/index.js +2 -0
  165. package/build/lib/web/production/utils/useControlledDropdownInput/index.js.map +1 -0
  166. package/build/lib/web/production/utils/useControlledDropdownInput/useControlledDropdownInput.js +108 -0
  167. package/build/lib/web/production/utils/useControlledDropdownInput/useControlledDropdownInput.js.map +1 -0
  168. package/build/types/components/index.d.ts +3098 -3001
  169. package/build/types/components/index.native.d.ts +2719 -2686
  170. package/package.json +1 -1
@@ -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: '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":"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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 transparent: {\n default: 'transparent',\n highlighted: `interactive.${property}.gray.faded`,\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 transparent: {\n tertiary: {\n default: 'transparent',\n highlighted: 'interactive.background.gray.faded',\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 transparent: {\n tertiary: {\n default: property === 'icon' ? 'interactive.icon.gray.muted' : 'surface.text.gray.normal',\n highlighted:\n property === 'icon' ? 'interactive.icon.gray.subtle' : 'surface.text.gray.normal',\n disabled: `interactive.${property}.gray.disabled`,\n },\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","transparent","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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"}
@@ -31,7 +31,7 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
31
31
  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; }
32
32
  var validDropdownChildren = [
33
33
  // TODO: Remove Box once CountrySelector's button sizing is fixed
34
- dropdownComponentIds.BaseBox, dropdownComponentIds.triggers.SelectInput, dropdownComponentIds.triggers.SearchInput, dropdownComponentIds.triggers.DropdownButton, dropdownComponentIds.triggers.DropdownIconButton, dropdownComponentIds.triggers.DropdownLink, dropdownComponentIds.DropdownOverlay, dropdownComponentIds.triggers.AutoComplete, ComponentIds.BottomSheet, dropdownComponentIds.triggers.FilterChipSelectInput];
34
+ dropdownComponentIds.BaseBox, dropdownComponentIds.triggers.SelectInput, dropdownComponentIds.triggers.SearchInput, dropdownComponentIds.triggers.DropdownButton, dropdownComponentIds.triggers.DropdownIconButton, dropdownComponentIds.triggers.DropdownLink, dropdownComponentIds.DropdownOverlay, dropdownComponentIds.triggers.AutoComplete, ComponentIds.BottomSheet, dropdownComponentIds.triggers.FilterChipSelectInput, dropdownComponentIds.triggers.InputDropdownButton];
35
35
 
36
36
  /**
37
37
  * ### Dropdown component
@@ -192,6 +192,9 @@ var _Dropdown = function _Dropdown(_ref, ref) {
192
192
  if (isValidAllowedChildren(child, dropdownComponentIds.triggers.FilterChipSelectInput)) {
193
193
  dropdownTriggerer.current = 'FilterChipSelectInput';
194
194
  }
195
+ if (isValidAllowedChildren(child, dropdownComponentIds.triggers.InputDropdownButton)) {
196
+ dropdownTriggerer.current = 'InputDropdownButton';
197
+ }
195
198
  }
196
199
  });
197
200
  var contextValue = React__default.useMemo(function () {
@@ -1 +1 @@
1
- {"version":3,"file":"Dropdown.js","sources":["../../../../../../src/components/Dropdown/Dropdown.tsx"],"sourcesContent":["import React from 'react';\nimport { DropdownContext } from './useDropdown';\nimport type { DropdownContextType } from './useDropdown';\nimport type { DropdownProps } from './types';\nimport { dropdownComponentIds } from './dropdownComponentIds';\nimport { useId } from '~utils/useId';\nimport { ComponentIds as bottomSheetComponentIds } from '~components/BottomSheet/componentIds';\nimport { BottomSheetAndDropdownGlueContext } from '~components/BottomSheet/BottomSheetContext';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport BaseBox from '~components/Box/BaseBox';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { getComponentId, isValidAllowedChildren } from '~utils/isValidAllowedChildren';\nimport { MetaConstants, metaAttribute } from '~utils/metaAttribute';\nimport { throwBladeError } from '~utils/logger';\nimport type { BladeElementRef, ContainerElementType } from '~utils/types';\nimport { useControllableState } from '~utils/useControllable';\nimport { mergeRefs } from '~utils/useMergeRefs';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\nconst validDropdownChildren = [\n // TODO: Remove Box once CountrySelector's button sizing is fixed\n dropdownComponentIds.BaseBox,\n dropdownComponentIds.triggers.SelectInput,\n dropdownComponentIds.triggers.SearchInput,\n dropdownComponentIds.triggers.DropdownButton,\n dropdownComponentIds.triggers.DropdownIconButton,\n dropdownComponentIds.triggers.DropdownLink,\n dropdownComponentIds.DropdownOverlay,\n dropdownComponentIds.triggers.AutoComplete,\n bottomSheetComponentIds.BottomSheet,\n dropdownComponentIds.triggers.FilterChipSelectInput,\n];\n\n/**\n * ### Dropdown component\n *\n * Dropdown component is generic component that controls the dropdown functionality.\n * It can be used with multiple triggers and mostly contains ActionList component inside it\n *\n * ---\n *\n * #### Usage\n *\n * ```jsx\n * <Dropdown selectionType=\"single\">\n * <SelectInput />\n * <DropdownOverlay>\n * <ActionList>\n * <ActionListItem />\n * <ActionListItem />\n * </ActionList>\n * </DropdownOverlay>\n * </Dropdown>\n * ```\n *\n * ---\n *\n * Checkout {@link https://blade.razorpay.com/?path=/docs/components-dropdown-with-select--with-single-select Dropdown Documentation}\n */\nconst _Dropdown = (\n {\n children,\n isOpen: isOpenControlled,\n onOpenChange,\n selectionType = 'single',\n testID,\n _width,\n ...rest\n }: DropdownProps,\n ref: React.Ref<BladeElementRef>,\n): React.ReactElement => {\n const [options, setOptions] = React.useState<DropdownContextType['options']>([]);\n const [filteredValues, setFilteredValues] = React.useState<string[]>([]);\n const [selectedIndices, setSelectedIndices] = React.useState<\n DropdownContextType['selectedIndices']\n >([]);\n const [controlledValueIndices, setControlledValueIndices] = React.useState<\n DropdownContextType['selectedIndices']\n >([]);\n const [activeIndex, setActiveIndex] = React.useState(-1);\n const [activeTagIndex, setActiveTagIndex] = React.useState(-1);\n const [shouldIgnoreBlurAnimation, setShouldIgnoreBlurAnimation] = React.useState(false);\n const [hasFooterAction, setHasFooterAction] = React.useState(false);\n const [hasAutoCompleteInHeader, setHasAutoCompleteInHeader] = React.useState(false);\n const [isKeydownPressed, setIsKeydownPressed] = React.useState(false);\n const [changeCallbackTriggerer, setChangeCallbackTriggerer] = React.useState<\n DropdownContextType['changeCallbackTriggerer']\n >(0);\n const [isControlled, setIsControlled] = React.useState(false);\n // keep track if dropdown contains bottomsheet\n const [dropdownHasBottomSheet, setDropdownHasBottomSheet] = React.useState(false);\n\n /**\n * In inputs, actual input is smaller than the visible input wrapper.\n * You can set this reference in such cases so floating ui calculations happen correctly\n * */\n const triggererWrapperRef = React.useRef<ContainerElementType>(null);\n const triggererRef = React.useRef<HTMLButtonElement>(null);\n const headerAutoCompleteRef = React.useRef<HTMLButtonElement>(null);\n const actionListItemRef = React.useRef<HTMLDivElement>(null);\n const dropdownTriggerer = React.useRef<DropdownContextType['dropdownTriggerer']>();\n const isTagDismissedRef = React.useRef<{ value: boolean } | null>({ value: false });\n const visibleTagsCountRef = React.useRef<{ value: number }>({ value: 0 });\n const dropdownContainerRef = React.useRef<HTMLDivElement>(null);\n\n const dropdownBaseId = useId('dropdown');\n const isDropdownOpenRef = React.useRef(isOpenControlled);\n\n const [isDropdownOpen, setIsDropdownOpen] = useControllableState({\n value: isOpenControlled,\n defaultValue: false,\n onChange: (isOpenControlledValue) => {\n isDropdownOpenRef.current = isOpenControlledValue;\n onOpenChange?.(isOpenControlledValue);\n },\n });\n\n isDropdownOpenRef.current = isDropdownOpen;\n\n const setIsOpen = (isOpenValue: boolean): void => {\n isDropdownOpenRef.current = isOpenValue;\n setIsDropdownOpen(() => isOpenValue);\n };\n\n const close = React.useCallback(() => {\n setActiveTagIndex(-1);\n setIsOpen(false);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n React.Children.map(children, (child) => {\n if (React.isValidElement(child)) {\n if (__DEV__) {\n if (!validDropdownChildren.includes(getComponentId(child) ?? '')) {\n throwBladeError({\n message: `Dropdown can only have one of following elements as children - \\n\\n ${validDropdownChildren.join(\n ', ',\n )} \\n\\n Check out: https://blade.razorpay.com/?path=/story/components-dropdown`,\n moduleName: 'Dropdown',\n });\n }\n }\n\n if (isValidAllowedChildren(child, dropdownComponentIds.triggers.SelectInput)) {\n dropdownTriggerer.current = 'SelectInput';\n }\n\n if (isValidAllowedChildren(child, dropdownComponentIds.triggers.SearchInput)) {\n dropdownTriggerer.current = 'SearchInput';\n }\n\n if (isValidAllowedChildren(child, dropdownComponentIds.triggers.DropdownButton)) {\n dropdownTriggerer.current = 'DropdownButton';\n }\n\n if (isValidAllowedChildren(child, dropdownComponentIds.triggers.DropdownIconButton)) {\n dropdownTriggerer.current = 'DropdownIconButton';\n }\n\n if (isValidAllowedChildren(child, dropdownComponentIds.triggers.AutoComplete)) {\n dropdownTriggerer.current = 'AutoComplete';\n }\n if (isValidAllowedChildren(child, dropdownComponentIds.triggers.FilterChipSelectInput)) {\n dropdownTriggerer.current = 'FilterChipSelectInput';\n }\n }\n });\n\n const contextValue = React.useMemo<DropdownContextType>(\n () => ({\n isOpen: isDropdownOpen,\n setIsOpen,\n close,\n selectedIndices,\n setSelectedIndices,\n controlledValueIndices,\n setControlledValueIndices,\n options,\n setOptions,\n filteredValues,\n setFilteredValues,\n activeIndex,\n setActiveIndex,\n activeTagIndex,\n setActiveTagIndex,\n visibleTagsCountRef,\n shouldIgnoreBlurAnimation,\n setShouldIgnoreBlurAnimation,\n isKeydownPressed,\n setIsKeydownPressed,\n dropdownBaseId,\n triggererRef,\n headerAutoCompleteRef,\n triggererWrapperRef,\n actionListItemRef,\n selectionType,\n hasFooterAction,\n setHasFooterAction,\n hasAutoCompleteInHeader,\n setHasAutoCompleteInHeader,\n dropdownTriggerer: dropdownTriggerer.current,\n changeCallbackTriggerer,\n setChangeCallbackTriggerer,\n isControlled,\n setIsControlled,\n isTagDismissedRef,\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n isDropdownOpen,\n isOpenControlled,\n selectedIndices,\n controlledValueIndices,\n options,\n filteredValues,\n activeIndex,\n activeTagIndex,\n shouldIgnoreBlurAnimation,\n selectionType,\n hasFooterAction,\n isKeydownPressed,\n changeCallbackTriggerer,\n isControlled,\n ],\n );\n\n const BottomSheetAndDropdownGlueContextValue = React.useMemo((): BottomSheetAndDropdownGlueContext => {\n return {\n isOpen: isDropdownOpen,\n dropdownHasBottomSheet,\n hasAutoCompleteInHeader,\n setDropdownHasBottomSheet,\n // This is the dismiss function which will be injected into the BottomSheet\n // Basically <BottomSheet onDismiss={onBottomSheetDismiss} />\n onBottomSheetDismiss: close,\n };\n }, [dropdownHasBottomSheet, hasAutoCompleteInHeader, isDropdownOpen, close]);\n\n return (\n <BottomSheetAndDropdownGlueContext.Provider value={BottomSheetAndDropdownGlueContextValue}>\n <DropdownContext.Provider value={contextValue}>\n <BaseBox\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ref={mergeRefs(ref, dropdownContainerRef as any)}\n {...metaAttribute({ name: MetaConstants.Dropdown, testID })}\n {...getStyledProps(rest)}\n {...makeAnalyticsAttribute(rest)}\n width={_width}\n >\n <BaseBox position=\"relative\" textAlign={'left' as never}>\n {children}\n </BaseBox>\n </BaseBox>\n </DropdownContext.Provider>\n </BottomSheetAndDropdownGlueContext.Provider>\n );\n};\n\nconst Dropdown = assignWithoutSideEffects(React.forwardRef(_Dropdown), {\n componentId: dropdownComponentIds.Dropdown,\n});\n\nexport { Dropdown };\n"],"names":["validDropdownChildren","dropdownComponentIds","BaseBox","triggers","SelectInput","SearchInput","DropdownButton","DropdownIconButton","DropdownLink","DropdownOverlay","AutoComplete","bottomSheetComponentIds","BottomSheet","FilterChipSelectInput","_Dropdown","_ref","ref","children","isOpenControlled","isOpen","onOpenChange","_ref$selectionType","selectionType","testID","_width","rest","_objectWithoutProperties","_excluded","_React$useState","React","useState","_React$useState2","_slicedToArray","options","setOptions","_React$useState3","_React$useState4","filteredValues","setFilteredValues","_React$useState5","_React$useState6","selectedIndices","setSelectedIndices","_React$useState7","_React$useState8","controlledValueIndices","setControlledValueIndices","_React$useState9","_React$useState10","activeIndex","setActiveIndex","_React$useState11","_React$useState12","activeTagIndex","setActiveTagIndex","_React$useState13","_React$useState14","shouldIgnoreBlurAnimation","setShouldIgnoreBlurAnimation","_React$useState15","_React$useState16","hasFooterAction","setHasFooterAction","_React$useState17","_React$useState18","hasAutoCompleteInHeader","setHasAutoCompleteInHeader","_React$useState19","_React$useState20","isKeydownPressed","setIsKeydownPressed","_React$useState21","_React$useState22","changeCallbackTriggerer","setChangeCallbackTriggerer","_React$useState23","_React$useState24","isControlled","setIsControlled","_React$useState25","_React$useState26","dropdownHasBottomSheet","setDropdownHasBottomSheet","triggererWrapperRef","useRef","triggererRef","headerAutoCompleteRef","actionListItemRef","dropdownTriggerer","isTagDismissedRef","value","visibleTagsCountRef","dropdownContainerRef","dropdownBaseId","useId","isDropdownOpenRef","_useControllableState","useControllableState","defaultValue","onChange","isOpenControlledValue","current","_useControllableState2","isDropdownOpen","setIsDropdownOpen","setIsOpen","isOpenValue","close","useCallback","Children","map","child","isValidElement","_getComponentId","includes","getComponentId","throwBladeError","message","concat","join","moduleName","isValidAllowedChildren","contextValue","useMemo","BottomSheetAndDropdownGlueContextValue","onBottomSheetDismiss","_jsx","BottomSheetAndDropdownGlueContext","Provider","DropdownContext","_objectSpread","mergeRefs","metaAttribute","name","MetaConstants","Dropdown","getStyledProps","makeAnalyticsAttribute","width","position","textAlign","assignWithoutSideEffects","forwardRef","componentId"],"mappings":"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"}
1
+ {"version":3,"file":"Dropdown.js","sources":["../../../../../../src/components/Dropdown/Dropdown.tsx"],"sourcesContent":["import React from 'react';\nimport { DropdownContext } from './useDropdown';\nimport type { DropdownContextType } from './useDropdown';\nimport type { DropdownProps } from './types';\nimport { dropdownComponentIds } from './dropdownComponentIds';\nimport { useId } from '~utils/useId';\nimport { ComponentIds as bottomSheetComponentIds } from '~components/BottomSheet/componentIds';\nimport { BottomSheetAndDropdownGlueContext } from '~components/BottomSheet/BottomSheetContext';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport BaseBox from '~components/Box/BaseBox';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { getComponentId, isValidAllowedChildren } from '~utils/isValidAllowedChildren';\nimport { MetaConstants, metaAttribute } from '~utils/metaAttribute';\nimport { throwBladeError } from '~utils/logger';\nimport type { BladeElementRef, ContainerElementType } from '~utils/types';\nimport { useControllableState } from '~utils/useControllable';\nimport { mergeRefs } from '~utils/useMergeRefs';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\nconst validDropdownChildren = [\n // TODO: Remove Box once CountrySelector's button sizing is fixed\n dropdownComponentIds.BaseBox,\n dropdownComponentIds.triggers.SelectInput,\n dropdownComponentIds.triggers.SearchInput,\n dropdownComponentIds.triggers.DropdownButton,\n dropdownComponentIds.triggers.DropdownIconButton,\n dropdownComponentIds.triggers.DropdownLink,\n dropdownComponentIds.DropdownOverlay,\n dropdownComponentIds.triggers.AutoComplete,\n bottomSheetComponentIds.BottomSheet,\n dropdownComponentIds.triggers.FilterChipSelectInput,\n dropdownComponentIds.triggers.InputDropdownButton,\n];\n\n/**\n * ### Dropdown component\n *\n * Dropdown component is generic component that controls the dropdown functionality.\n * It can be used with multiple triggers and mostly contains ActionList component inside it\n *\n * ---\n *\n * #### Usage\n *\n * ```jsx\n * <Dropdown selectionType=\"single\">\n * <SelectInput />\n * <DropdownOverlay>\n * <ActionList>\n * <ActionListItem />\n * <ActionListItem />\n * </ActionList>\n * </DropdownOverlay>\n * </Dropdown>\n * ```\n *\n * ---\n *\n * Checkout {@link https://blade.razorpay.com/?path=/docs/components-dropdown-with-select--with-single-select Dropdown Documentation}\n */\nconst _Dropdown = (\n {\n children,\n isOpen: isOpenControlled,\n onOpenChange,\n selectionType = 'single',\n testID,\n _width,\n ...rest\n }: DropdownProps,\n ref: React.Ref<BladeElementRef>,\n): React.ReactElement => {\n const [options, setOptions] = React.useState<DropdownContextType['options']>([]);\n const [filteredValues, setFilteredValues] = React.useState<string[]>([]);\n const [selectedIndices, setSelectedIndices] = React.useState<\n DropdownContextType['selectedIndices']\n >([]);\n const [controlledValueIndices, setControlledValueIndices] = React.useState<\n DropdownContextType['selectedIndices']\n >([]);\n const [activeIndex, setActiveIndex] = React.useState(-1);\n const [activeTagIndex, setActiveTagIndex] = React.useState(-1);\n const [shouldIgnoreBlurAnimation, setShouldIgnoreBlurAnimation] = React.useState(false);\n const [hasFooterAction, setHasFooterAction] = React.useState(false);\n const [hasAutoCompleteInHeader, setHasAutoCompleteInHeader] = React.useState(false);\n const [isKeydownPressed, setIsKeydownPressed] = React.useState(false);\n const [changeCallbackTriggerer, setChangeCallbackTriggerer] = React.useState<\n DropdownContextType['changeCallbackTriggerer']\n >(0);\n const [isControlled, setIsControlled] = React.useState(false);\n // keep track if dropdown contains bottomsheet\n const [dropdownHasBottomSheet, setDropdownHasBottomSheet] = React.useState(false);\n\n /**\n * In inputs, actual input is smaller than the visible input wrapper.\n * You can set this reference in such cases so floating ui calculations happen correctly\n * */\n const triggererWrapperRef = React.useRef<ContainerElementType>(null);\n const triggererRef = React.useRef<HTMLButtonElement>(null);\n const headerAutoCompleteRef = React.useRef<HTMLButtonElement>(null);\n const actionListItemRef = React.useRef<HTMLDivElement>(null);\n const dropdownTriggerer = React.useRef<DropdownContextType['dropdownTriggerer']>();\n const isTagDismissedRef = React.useRef<{ value: boolean } | null>({ value: false });\n const visibleTagsCountRef = React.useRef<{ value: number }>({ value: 0 });\n const dropdownContainerRef = React.useRef<HTMLDivElement>(null);\n\n const dropdownBaseId = useId('dropdown');\n const isDropdownOpenRef = React.useRef(isOpenControlled);\n\n const [isDropdownOpen, setIsDropdownOpen] = useControllableState({\n value: isOpenControlled,\n defaultValue: false,\n onChange: (isOpenControlledValue) => {\n isDropdownOpenRef.current = isOpenControlledValue;\n onOpenChange?.(isOpenControlledValue);\n },\n });\n\n isDropdownOpenRef.current = isDropdownOpen;\n\n const setIsOpen = (isOpenValue: boolean): void => {\n isDropdownOpenRef.current = isOpenValue;\n setIsDropdownOpen(() => isOpenValue);\n };\n\n const close = React.useCallback(() => {\n setActiveTagIndex(-1);\n setIsOpen(false);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n React.Children.map(children, (child) => {\n if (React.isValidElement(child)) {\n if (__DEV__) {\n if (!validDropdownChildren.includes(getComponentId(child) ?? '')) {\n throwBladeError({\n message: `Dropdown can only have one of following elements as children - \\n\\n ${validDropdownChildren.join(\n ', ',\n )} \\n\\n Check out: https://blade.razorpay.com/?path=/story/components-dropdown`,\n moduleName: 'Dropdown',\n });\n }\n }\n\n if (isValidAllowedChildren(child, dropdownComponentIds.triggers.SelectInput)) {\n dropdownTriggerer.current = 'SelectInput';\n }\n\n if (isValidAllowedChildren(child, dropdownComponentIds.triggers.SearchInput)) {\n dropdownTriggerer.current = 'SearchInput';\n }\n\n if (isValidAllowedChildren(child, dropdownComponentIds.triggers.DropdownButton)) {\n dropdownTriggerer.current = 'DropdownButton';\n }\n\n if (isValidAllowedChildren(child, dropdownComponentIds.triggers.DropdownIconButton)) {\n dropdownTriggerer.current = 'DropdownIconButton';\n }\n\n if (isValidAllowedChildren(child, dropdownComponentIds.triggers.AutoComplete)) {\n dropdownTriggerer.current = 'AutoComplete';\n }\n if (isValidAllowedChildren(child, dropdownComponentIds.triggers.FilterChipSelectInput)) {\n dropdownTriggerer.current = 'FilterChipSelectInput';\n }\n if (isValidAllowedChildren(child, dropdownComponentIds.triggers.InputDropdownButton)) {\n dropdownTriggerer.current = 'InputDropdownButton';\n }\n }\n });\n\n const contextValue = React.useMemo<DropdownContextType>(\n () => ({\n isOpen: isDropdownOpen,\n setIsOpen,\n close,\n selectedIndices,\n setSelectedIndices,\n controlledValueIndices,\n setControlledValueIndices,\n options,\n setOptions,\n filteredValues,\n setFilteredValues,\n activeIndex,\n setActiveIndex,\n activeTagIndex,\n setActiveTagIndex,\n visibleTagsCountRef,\n shouldIgnoreBlurAnimation,\n setShouldIgnoreBlurAnimation,\n isKeydownPressed,\n setIsKeydownPressed,\n dropdownBaseId,\n triggererRef,\n headerAutoCompleteRef,\n triggererWrapperRef,\n actionListItemRef,\n selectionType,\n hasFooterAction,\n setHasFooterAction,\n hasAutoCompleteInHeader,\n setHasAutoCompleteInHeader,\n dropdownTriggerer: dropdownTriggerer.current,\n changeCallbackTriggerer,\n setChangeCallbackTriggerer,\n isControlled,\n setIsControlled,\n isTagDismissedRef,\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n isDropdownOpen,\n isOpenControlled,\n selectedIndices,\n controlledValueIndices,\n options,\n filteredValues,\n activeIndex,\n activeTagIndex,\n shouldIgnoreBlurAnimation,\n selectionType,\n hasFooterAction,\n isKeydownPressed,\n changeCallbackTriggerer,\n isControlled,\n ],\n );\n\n const BottomSheetAndDropdownGlueContextValue = React.useMemo((): BottomSheetAndDropdownGlueContext => {\n return {\n isOpen: isDropdownOpen,\n dropdownHasBottomSheet,\n hasAutoCompleteInHeader,\n setDropdownHasBottomSheet,\n // This is the dismiss function which will be injected into the BottomSheet\n // Basically <BottomSheet onDismiss={onBottomSheetDismiss} />\n onBottomSheetDismiss: close,\n };\n }, [dropdownHasBottomSheet, hasAutoCompleteInHeader, isDropdownOpen, close]);\n\n return (\n <BottomSheetAndDropdownGlueContext.Provider value={BottomSheetAndDropdownGlueContextValue}>\n <DropdownContext.Provider value={contextValue}>\n <BaseBox\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ref={mergeRefs(ref, dropdownContainerRef as any)}\n {...metaAttribute({ name: MetaConstants.Dropdown, testID })}\n {...getStyledProps(rest)}\n {...makeAnalyticsAttribute(rest)}\n width={_width}\n >\n <BaseBox position=\"relative\" textAlign={'left' as never}>\n {children}\n </BaseBox>\n </BaseBox>\n </DropdownContext.Provider>\n </BottomSheetAndDropdownGlueContext.Provider>\n );\n};\n\nconst Dropdown = assignWithoutSideEffects(React.forwardRef(_Dropdown), {\n componentId: dropdownComponentIds.Dropdown,\n});\n\nexport { Dropdown };\n"],"names":["validDropdownChildren","dropdownComponentIds","BaseBox","triggers","SelectInput","SearchInput","DropdownButton","DropdownIconButton","DropdownLink","DropdownOverlay","AutoComplete","bottomSheetComponentIds","BottomSheet","FilterChipSelectInput","InputDropdownButton","_Dropdown","_ref","ref","children","isOpenControlled","isOpen","onOpenChange","_ref$selectionType","selectionType","testID","_width","rest","_objectWithoutProperties","_excluded","_React$useState","React","useState","_React$useState2","_slicedToArray","options","setOptions","_React$useState3","_React$useState4","filteredValues","setFilteredValues","_React$useState5","_React$useState6","selectedIndices","setSelectedIndices","_React$useState7","_React$useState8","controlledValueIndices","setControlledValueIndices","_React$useState9","_React$useState10","activeIndex","setActiveIndex","_React$useState11","_React$useState12","activeTagIndex","setActiveTagIndex","_React$useState13","_React$useState14","shouldIgnoreBlurAnimation","setShouldIgnoreBlurAnimation","_React$useState15","_React$useState16","hasFooterAction","setHasFooterAction","_React$useState17","_React$useState18","hasAutoCompleteInHeader","setHasAutoCompleteInHeader","_React$useState19","_React$useState20","isKeydownPressed","setIsKeydownPressed","_React$useState21","_React$useState22","changeCallbackTriggerer","setChangeCallbackTriggerer","_React$useState23","_React$useState24","isControlled","setIsControlled","_React$useState25","_React$useState26","dropdownHasBottomSheet","setDropdownHasBottomSheet","triggererWrapperRef","useRef","triggererRef","headerAutoCompleteRef","actionListItemRef","dropdownTriggerer","isTagDismissedRef","value","visibleTagsCountRef","dropdownContainerRef","dropdownBaseId","useId","isDropdownOpenRef","_useControllableState","useControllableState","defaultValue","onChange","isOpenControlledValue","current","_useControllableState2","isDropdownOpen","setIsDropdownOpen","setIsOpen","isOpenValue","close","useCallback","Children","map","child","isValidElement","_getComponentId","includes","getComponentId","throwBladeError","message","concat","join","moduleName","isValidAllowedChildren","contextValue","useMemo","BottomSheetAndDropdownGlueContextValue","onBottomSheetDismiss","_jsx","BottomSheetAndDropdownGlueContext","Provider","DropdownContext","_objectSpread","mergeRefs","metaAttribute","name","MetaConstants","Dropdown","getStyledProps","makeAnalyticsAttribute","width","position","textAlign","assignWithoutSideEffects","forwardRef","componentId"],"mappings":"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"}
@@ -10,7 +10,7 @@ import { jsx } from 'react/jsx-runtime';
10
10
  import BaseButton from '../Button/BaseButton/BaseButton.js';
11
11
  import { assignWithoutSideEffects } from '../../utils/assignWithoutSideEffects/assignWithoutSideEffects.js';
12
12
 
13
- var _excluded = ["children", "icon", "iconPosition", "isDisabled", "isFullWidth", "isLoading", "onClick", "onBlur", "onKeyDown", "size", "type", "variant", "accessibilityLabel", "testID"];
13
+ var _excluded = ["children", "icon", "iconPosition", "isDisabled", "isFullWidth", "isLoading", "onClick", "onBlur", "onKeyDown", "size", "type", "variant", "color", "accessibilityLabel", "testID"];
14
14
  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; }
15
15
  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; }
16
16
  var _DropdownButton = function _DropdownButton(_ref) {
@@ -33,6 +33,8 @@ var _DropdownButton = function _DropdownButton(_ref) {
33
33
  type = _ref$type === void 0 ? 'button' : _ref$type,
34
34
  _ref$variant = _ref.variant,
35
35
  variant = _ref$variant === void 0 ? 'primary' : _ref$variant,
36
+ _ref$color = _ref.color,
37
+ color = _ref$color === void 0 ? 'primary' : _ref$color,
36
38
  accessibilityLabel = _ref.accessibilityLabel,
37
39
  testID = _ref.testID,
38
40
  rest = _objectWithoutProperties(_ref, _excluded);
@@ -63,6 +65,7 @@ var _DropdownButton = function _DropdownButton(_ref) {
63
65
  variant: variant,
64
66
  testID: testID,
65
67
  ref: triggererRef,
68
+ color: color,
66
69
  accessibilityProps: {
67
70
  label: accessibilityLabel,
68
71
  hasPopup: getActionListContainerRole(hasFooterAction, 'DropdownButton'),
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownButton.js","sources":["../../../../../../src/components/Dropdown/DropdownButton.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-unnecessary-type-assertion */\n\nimport React from 'react';\nimport { useDropdown } from './useDropdown';\nimport { dropdownComponentIds } from './dropdownComponentIds';\nimport BaseButton from '~components/Button/BaseButton';\nimport type { ButtonProps } from '~components/Button';\nimport { getActionListContainerRole } from '~components/ActionList/getA11yRoles';\nimport type { BaseButtonProps } from '~components/Button/BaseButton/BaseButton';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\n\ntype DropdownButtonProps = ButtonProps & {\n onBlur?: BaseButtonProps['onBlur'];\n onKeyDown?: BaseButtonProps['onKeyDown'];\n};\n\nconst _DropdownButton = ({\n children,\n icon,\n iconPosition = 'left',\n isDisabled = false,\n isFullWidth = false,\n isLoading = false,\n onClick,\n onBlur,\n onKeyDown,\n size = 'medium',\n type = 'button',\n variant = 'primary',\n accessibilityLabel,\n testID,\n ...rest\n}: DropdownButtonProps): React.ReactElement => {\n const {\n onTriggerClick,\n onTriggerKeydown,\n dropdownBaseId,\n isOpen,\n activeIndex,\n hasFooterAction,\n triggererRef,\n } = useDropdown();\n\n return (\n // Using BaseButton here to avoid exporting onBlur and onKeyDown from Button\n // If in future we decide to export onBlur and onKeyDown on Button, this can be replaced with Button\n <BaseButton\n {...rest}\n {...(icon ? { icon, children } : { children })}\n iconPosition={iconPosition}\n isDisabled={isDisabled}\n isFullWidth={isFullWidth}\n isLoading={isLoading}\n size={size}\n type={type}\n variant={variant}\n testID={testID}\n ref={triggererRef as any}\n accessibilityProps={{\n label: accessibilityLabel,\n hasPopup: getActionListContainerRole(hasFooterAction, 'DropdownButton'),\n expanded: isOpen,\n controls: `${dropdownBaseId}-actionlist`,\n activeDescendant: activeIndex >= 0 ? `${dropdownBaseId}-${activeIndex}` : undefined,\n }}\n onClick={(e) => {\n onTriggerClick();\n // Setting it for web fails it on native typecheck and vice versa\n onClick?.(e as any);\n }}\n onBlur={(e) => {\n // With button trigger, there is no \"value\" as such. It's just clickable items\n // Setting it for web fails it on native typecheck and vice versa\n onBlur?.(e as any);\n }}\n onKeyDown={(e) => {\n onTriggerKeydown?.({ event: e as any });\n // Setting it for web fails it on native typecheck and vice versa\n onKeyDown?.(e as any);\n }}\n />\n );\n};\n\nconst DropdownButton = assignWithoutSideEffects(_DropdownButton, {\n componentId: dropdownComponentIds.triggers.DropdownButton,\n});\n\nexport { DropdownButton };\n"],"names":["_DropdownButton","_ref","children","icon","_ref$iconPosition","iconPosition","_ref$isDisabled","isDisabled","_ref$isFullWidth","isFullWidth","_ref$isLoading","isLoading","onClick","onBlur","onKeyDown","_ref$size","size","_ref$type","type","_ref$variant","variant","accessibilityLabel","testID","rest","_objectWithoutProperties","_excluded","_useDropdown","useDropdown","onTriggerClick","onTriggerKeydown","dropdownBaseId","isOpen","activeIndex","hasFooterAction","triggererRef","_jsx","BaseButton","_objectSpread","ref","accessibilityProps","label","hasPopup","getActionListContainerRole","expanded","controls","concat","activeDescendant","undefined","e","event","DropdownButton","assignWithoutSideEffects","componentId","dropdownComponentIds","triggers"],"mappings":"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"}
1
+ {"version":3,"file":"DropdownButton.js","sources":["../../../../../../src/components/Dropdown/DropdownButton.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-unnecessary-type-assertion */\n\nimport React from 'react';\nimport { useDropdown } from './useDropdown';\nimport { dropdownComponentIds } from './dropdownComponentIds';\nimport BaseButton from '~components/Button/BaseButton';\nimport type { ButtonProps } from '~components/Button';\nimport { getActionListContainerRole } from '~components/ActionList/getA11yRoles';\nimport type { BaseButtonProps } from '~components/Button/BaseButton/BaseButton';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\n\ntype DropdownButtonProps = ButtonProps & {\n onBlur?: BaseButtonProps['onBlur'];\n onKeyDown?: BaseButtonProps['onKeyDown'];\n};\n\nconst _DropdownButton = ({\n children,\n icon,\n iconPosition = 'left',\n isDisabled = false,\n isFullWidth = false,\n isLoading = false,\n onClick,\n onBlur,\n onKeyDown,\n size = 'medium',\n type = 'button',\n variant = 'primary',\n color = 'primary',\n accessibilityLabel,\n testID,\n ...rest\n}: DropdownButtonProps): React.ReactElement => {\n const {\n onTriggerClick,\n onTriggerKeydown,\n dropdownBaseId,\n isOpen,\n activeIndex,\n hasFooterAction,\n triggererRef,\n } = useDropdown();\n\n return (\n // Using BaseButton here to avoid exporting onBlur and onKeyDown from Button\n // If in future we decide to export onBlur and onKeyDown on Button, this can be replaced with Button\n <BaseButton\n {...rest}\n {...(icon ? { icon, children } : { children })}\n iconPosition={iconPosition}\n isDisabled={isDisabled}\n isFullWidth={isFullWidth}\n isLoading={isLoading}\n size={size}\n type={type}\n variant={variant}\n testID={testID}\n ref={triggererRef as any}\n color={color}\n accessibilityProps={{\n label: accessibilityLabel,\n hasPopup: getActionListContainerRole(hasFooterAction, 'DropdownButton'),\n expanded: isOpen,\n controls: `${dropdownBaseId}-actionlist`,\n activeDescendant: activeIndex >= 0 ? `${dropdownBaseId}-${activeIndex}` : undefined,\n }}\n onClick={(e) => {\n onTriggerClick();\n // Setting it for web fails it on native typecheck and vice versa\n onClick?.(e as any);\n }}\n onBlur={(e) => {\n // With button trigger, there is no \"value\" as such. It's just clickable items\n // Setting it for web fails it on native typecheck and vice versa\n onBlur?.(e as any);\n }}\n onKeyDown={(e) => {\n onTriggerKeydown?.({ event: e as any });\n // Setting it for web fails it on native typecheck and vice versa\n onKeyDown?.(e as any);\n }}\n />\n );\n};\n\nconst DropdownButton = assignWithoutSideEffects(_DropdownButton, {\n componentId: dropdownComponentIds.triggers.DropdownButton,\n});\n\nexport { DropdownButton };\n"],"names":["_DropdownButton","_ref","children","icon","_ref$iconPosition","iconPosition","_ref$isDisabled","isDisabled","_ref$isFullWidth","isFullWidth","_ref$isLoading","isLoading","onClick","onBlur","onKeyDown","_ref$size","size","_ref$type","type","_ref$variant","variant","_ref$color","color","accessibilityLabel","testID","rest","_objectWithoutProperties","_excluded","_useDropdown","useDropdown","onTriggerClick","onTriggerKeydown","dropdownBaseId","isOpen","activeIndex","hasFooterAction","triggererRef","_jsx","BaseButton","_objectSpread","ref","accessibilityProps","label","hasPopup","getActionListContainerRole","expanded","controls","concat","activeDescendant","undefined","e","event","DropdownButton","assignWithoutSideEffects","componentId","dropdownComponentIds","triggers"],"mappings":"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"}
@@ -42,7 +42,9 @@ var _DropdownOverlay = function _DropdownOverlay(_ref) {
42
42
  maxWidth = _ref.maxWidth,
43
43
  referenceRef = _ref.referenceRef,
44
44
  _ref$defaultPlacement = _ref.defaultPlacement,
45
- defaultPlacement = _ref$defaultPlacement === void 0 ? 'bottom-start' : _ref$defaultPlacement;
45
+ defaultPlacement = _ref$defaultPlacement === void 0 ? 'bottom-start' : _ref$defaultPlacement,
46
+ _ref$_isNestedDropdow = _ref._isNestedDropdown,
47
+ _isNestedDropdown = _ref$_isNestedDropdow === void 0 ? false : _ref$_isNestedDropdow;
46
48
  var _useDropdown = useDropdown(),
47
49
  isOpen = _useDropdown.isOpen,
48
50
  triggererRef = _useDropdown.triggererRef,
@@ -52,7 +54,7 @@ var _DropdownOverlay = function _DropdownOverlay(_ref) {
52
54
  var _useTheme = useTheme(),
53
55
  theme = _useTheme.theme;
54
56
  var bottomSheetAndDropdownGlue = useBottomSheetAndDropdownGlue();
55
- var isMenu = dropdownTriggerer !== dropdownComponentIds.triggers.SelectInput && dropdownTriggerer !== dropdownComponentIds.triggers.SearchInput && dropdownTriggerer !== dropdownComponentIds.triggers.AutoComplete && referenceRef == undefined;
57
+ var isMenu = dropdownTriggerer !== dropdownComponentIds.triggers.SelectInput && dropdownTriggerer !== dropdownComponentIds.triggers.SearchInput && dropdownTriggerer !== dropdownComponentIds.triggers.AutoComplete && referenceRef == undefined || _isNestedDropdown;
56
58
  var _useFloating = useFloating({
57
59
  open: isOpen,
58
60
  onOpenChange: setIsOpen,
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownOverlay.web.js","sources":["../../../../../../src/components/Dropdown/DropdownOverlay.web.tsx"],"sourcesContent":["import React from 'react';\nimport {\n autoUpdate,\n offset,\n size as sizeMiddleware,\n useFloating,\n useTransitionStyles,\n flip,\n FloatingPortal,\n useDismiss,\n useInteractions,\n} from '@floating-ui/react';\nimport { useDropdown } from './useDropdown';\nimport { StyledDropdownOverlay } from './StyledDropdownOverlay';\nimport type { DropdownOverlayProps } from './types';\nimport { dropdownComponentIds } from './dropdownComponentIds';\nimport { useTheme } from '~components/BladeProvider';\n// Reading directly because its not possible to get theme object on top level to be used in keyframes\nimport { size } from '~tokens/global';\nimport { makeSize } from '~utils';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { useBottomSheetAndDropdownGlue } from '~components/BottomSheet/BottomSheetContext';\nimport BaseBox from '~components/Box/BaseBox';\nimport { componentZIndices } from '~utils/componentZIndices';\nimport { OVERLAY_OFFSET, OVERLAY_TRANSITION_OFFSET } from '~components/BaseMenu/tokens';\n\nconst OVERLAY_PADDING: number = size['12']; // doesn't have to be exact. Just rough padding for floating ui to decide to show overlay on top or bottom\n\n/**\n * Overlay of dropdown\n *\n * Wrap your ActionList within this component\n */\nconst _DropdownOverlay = ({\n children,\n testID,\n zIndex = componentZIndices.dropdownOverlay,\n width,\n minWidth,\n maxWidth,\n referenceRef,\n defaultPlacement = 'bottom-start',\n}: DropdownOverlayProps): React.ReactElement | null => {\n const { isOpen, triggererRef, triggererWrapperRef, dropdownTriggerer, setIsOpen } = useDropdown();\n const { theme } = useTheme();\n const bottomSheetAndDropdownGlue = useBottomSheetAndDropdownGlue();\n\n const isMenu =\n dropdownTriggerer !== dropdownComponentIds.triggers.SelectInput &&\n dropdownTriggerer !== dropdownComponentIds.triggers.SearchInput &&\n dropdownTriggerer !== dropdownComponentIds.triggers.AutoComplete &&\n referenceRef == undefined;\n\n const { refs, floatingStyles, context } = useFloating({\n open: isOpen,\n onOpenChange: setIsOpen,\n strategy: 'fixed',\n placement: defaultPlacement,\n elements: {\n // Input triggers have their ref on internal input element but we want width height of overall visible input hence wrapperRef is needed\n // We fallback to use `triggererRef` for triggers like button and link where wrapper is not needed\n // Checkout: https://github.com/razorpay/blade/pull/1559#discussion_r1305438920\n reference: (referenceRef?.current ??\n triggererWrapperRef.current ??\n triggererRef.current) as Element,\n },\n middleware: [\n offset({\n mainAxis: OVERLAY_OFFSET,\n }),\n flip({\n // eslint-disable-next-line @typescript-eslint/restrict-plus-operands\n padding: OVERLAY_OFFSET + OVERLAY_PADDING,\n }),\n sizeMiddleware({\n apply({ rects, elements }) {\n const overlayWidth = isMenu ? undefined : makeSize(rects.reference.width);\n const overlayMinWidth = isMenu ? makeSize(size['240']) : undefined;\n const overlayMaxWidth = isMenu ? makeSize(size['400']) : undefined;\n\n Object.assign(elements.floating.style, {\n // in menu, we have flexible width between min and max\n // in input triggers, we just take width of trigger\n width: width ?? overlayWidth,\n minWidth: minWidth ?? overlayMinWidth,\n maxWidth: maxWidth ?? overlayMaxWidth,\n });\n },\n }),\n ],\n whileElementsMounted: autoUpdate,\n });\n\n const dismiss = useDismiss(context);\n const { getFloatingProps } = useInteractions([dismiss]);\n\n const { isMounted, styles } = useTransitionStyles(context, {\n duration: theme.motion.duration.quick,\n initial: () => ({\n transform: `translateY(-${makeSize(OVERLAY_TRANSITION_OFFSET)})`,\n opacity: 0,\n }),\n });\n\n React.useEffect(() => {\n if (isOpen) {\n // On Safari clicking on a non input element doesn't focuses it https://bugs.webkit.org/show_bug.cgi?id=22261\n triggererRef.current?.focus();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isOpen]);\n\n return (\n <FloatingPortal>\n <BaseBox\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ref={refs.setFloating as any}\n style={floatingStyles}\n zIndex={zIndex}\n display={isMounted ? 'flex' : 'none'}\n {...getFloatingProps()}\n >\n <StyledDropdownOverlay\n isInBottomSheet={bottomSheetAndDropdownGlue?.dropdownHasBottomSheet}\n elevation={bottomSheetAndDropdownGlue?.dropdownHasBottomSheet ? undefined : 'midRaised'}\n style={{ ...styles }}\n width={width ? width : '100%'}\n minWidth={minWidth}\n maxWidth={maxWidth}\n {...metaAttribute({ name: MetaConstants.DropdownOverlay, testID })}\n >\n {children}\n </StyledDropdownOverlay>\n </BaseBox>\n </FloatingPortal>\n );\n};\n\nconst DropdownOverlay = assignWithoutSideEffects(_DropdownOverlay, {\n componentId: dropdownComponentIds.DropdownOverlay,\n});\n\nexport { DropdownOverlay };\n"],"names":["OVERLAY_PADDING","size","_DropdownOverlay","_ref","_ref2","_referenceRef$current","children","testID","_ref$zIndex","zIndex","componentZIndices","dropdownOverlay","width","minWidth","maxWidth","referenceRef","_ref$defaultPlacement","defaultPlacement","_useDropdown","useDropdown","isOpen","triggererRef","triggererWrapperRef","dropdownTriggerer","setIsOpen","_useTheme","useTheme","theme","bottomSheetAndDropdownGlue","useBottomSheetAndDropdownGlue","isMenu","dropdownComponentIds","triggers","SelectInput","SearchInput","AutoComplete","undefined","_useFloating","useFloating","open","onOpenChange","strategy","placement","elements","reference","current","middleware","offset","mainAxis","OVERLAY_OFFSET","flip","padding","sizeMiddleware","apply","_ref3","rects","overlayWidth","makeSize","overlayMinWidth","overlayMaxWidth","Object","assign","floating","style","whileElementsMounted","autoUpdate","refs","floatingStyles","context","dismiss","useDismiss","_useInteractions","useInteractions","getFloatingProps","_useTransitionStyles","useTransitionStyles","duration","motion","quick","initial","transform","concat","OVERLAY_TRANSITION_OFFSET","opacity","isMounted","styles","React","useEffect","_triggererRef$current","focus","_jsx","FloatingPortal","BaseBox","_objectSpread","ref","setFloating","display","StyledDropdownOverlay","isInBottomSheet","dropdownHasBottomSheet","elevation","metaAttribute","name","MetaConstants","DropdownOverlay","assignWithoutSideEffects","componentId"],"mappings":"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"}
1
+ {"version":3,"file":"DropdownOverlay.web.js","sources":["../../../../../../src/components/Dropdown/DropdownOverlay.web.tsx"],"sourcesContent":["import React from 'react';\nimport {\n autoUpdate,\n offset,\n size as sizeMiddleware,\n useFloating,\n useTransitionStyles,\n flip,\n FloatingPortal,\n useDismiss,\n useInteractions,\n} from '@floating-ui/react';\nimport { useDropdown } from './useDropdown';\nimport { StyledDropdownOverlay } from './StyledDropdownOverlay';\nimport type { DropdownOverlayProps } from './types';\nimport { dropdownComponentIds } from './dropdownComponentIds';\nimport { useTheme } from '~components/BladeProvider';\n// Reading directly because its not possible to get theme object on top level to be used in keyframes\nimport { size } from '~tokens/global';\nimport { makeSize } from '~utils';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { useBottomSheetAndDropdownGlue } from '~components/BottomSheet/BottomSheetContext';\nimport BaseBox from '~components/Box/BaseBox';\nimport { componentZIndices } from '~utils/componentZIndices';\nimport { OVERLAY_OFFSET, OVERLAY_TRANSITION_OFFSET } from '~components/BaseMenu/tokens';\n\nconst OVERLAY_PADDING: number = size['12']; // doesn't have to be exact. Just rough padding for floating ui to decide to show overlay on top or bottom\n\n/**\n * Overlay of dropdown\n *\n * Wrap your ActionList within this component\n */\nconst _DropdownOverlay = ({\n children,\n testID,\n zIndex = componentZIndices.dropdownOverlay,\n width,\n minWidth,\n maxWidth,\n referenceRef,\n defaultPlacement = 'bottom-start',\n _isNestedDropdown = false,\n}: DropdownOverlayProps): React.ReactElement | null => {\n const { isOpen, triggererRef, triggererWrapperRef, dropdownTriggerer, setIsOpen } = useDropdown();\n const { theme } = useTheme();\n const bottomSheetAndDropdownGlue = useBottomSheetAndDropdownGlue();\n\n const isMenu =\n (dropdownTriggerer !== dropdownComponentIds.triggers.SelectInput &&\n dropdownTriggerer !== dropdownComponentIds.triggers.SearchInput &&\n dropdownTriggerer !== dropdownComponentIds.triggers.AutoComplete &&\n referenceRef == undefined) ||\n _isNestedDropdown;\n\n const { refs, floatingStyles, context } = useFloating({\n open: isOpen,\n onOpenChange: setIsOpen,\n strategy: 'fixed',\n placement: defaultPlacement,\n elements: {\n // Input triggers have their ref on internal input element but we want width height of overall visible input hence wrapperRef is needed\n // We fallback to use `triggererRef` for triggers like button and link where wrapper is not needed\n // Checkout: https://github.com/razorpay/blade/pull/1559#discussion_r1305438920\n reference: (referenceRef?.current ??\n triggererWrapperRef.current ??\n triggererRef.current) as Element,\n },\n middleware: [\n offset({\n mainAxis: OVERLAY_OFFSET,\n }),\n flip({\n // eslint-disable-next-line @typescript-eslint/restrict-plus-operands\n padding: OVERLAY_OFFSET + OVERLAY_PADDING,\n }),\n sizeMiddleware({\n apply({ rects, elements }) {\n const overlayWidth = isMenu ? undefined : makeSize(rects.reference.width);\n const overlayMinWidth = isMenu ? makeSize(size['240']) : undefined;\n const overlayMaxWidth = isMenu ? makeSize(size['400']) : undefined;\n\n Object.assign(elements.floating.style, {\n // in menu, we have flexible width between min and max\n // in input triggers, we just take width of trigger\n width: width ?? overlayWidth,\n minWidth: minWidth ?? overlayMinWidth,\n maxWidth: maxWidth ?? overlayMaxWidth,\n });\n },\n }),\n ],\n whileElementsMounted: autoUpdate,\n });\n\n const dismiss = useDismiss(context);\n const { getFloatingProps } = useInteractions([dismiss]);\n\n const { isMounted, styles } = useTransitionStyles(context, {\n duration: theme.motion.duration.quick,\n initial: () => ({\n transform: `translateY(-${makeSize(OVERLAY_TRANSITION_OFFSET)})`,\n opacity: 0,\n }),\n });\n\n React.useEffect(() => {\n if (isOpen) {\n // On Safari clicking on a non input element doesn't focuses it https://bugs.webkit.org/show_bug.cgi?id=22261\n triggererRef.current?.focus();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isOpen]);\n\n return (\n <FloatingPortal>\n <BaseBox\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ref={refs.setFloating as any}\n style={floatingStyles}\n zIndex={zIndex}\n display={isMounted ? 'flex' : 'none'}\n {...getFloatingProps()}\n >\n <StyledDropdownOverlay\n isInBottomSheet={bottomSheetAndDropdownGlue?.dropdownHasBottomSheet}\n elevation={bottomSheetAndDropdownGlue?.dropdownHasBottomSheet ? undefined : 'midRaised'}\n style={{ ...styles }}\n width={width ? width : '100%'}\n minWidth={minWidth}\n maxWidth={maxWidth}\n {...metaAttribute({ name: MetaConstants.DropdownOverlay, testID })}\n >\n {children}\n </StyledDropdownOverlay>\n </BaseBox>\n </FloatingPortal>\n );\n};\n\nconst DropdownOverlay = assignWithoutSideEffects(_DropdownOverlay, {\n componentId: dropdownComponentIds.DropdownOverlay,\n});\n\nexport { DropdownOverlay };\n"],"names":["OVERLAY_PADDING","size","_DropdownOverlay","_ref","_ref2","_referenceRef$current","children","testID","_ref$zIndex","zIndex","componentZIndices","dropdownOverlay","width","minWidth","maxWidth","referenceRef","_ref$defaultPlacement","defaultPlacement","_ref$_isNestedDropdow","_isNestedDropdown","_useDropdown","useDropdown","isOpen","triggererRef","triggererWrapperRef","dropdownTriggerer","setIsOpen","_useTheme","useTheme","theme","bottomSheetAndDropdownGlue","useBottomSheetAndDropdownGlue","isMenu","dropdownComponentIds","triggers","SelectInput","SearchInput","AutoComplete","undefined","_useFloating","useFloating","open","onOpenChange","strategy","placement","elements","reference","current","middleware","offset","mainAxis","OVERLAY_OFFSET","flip","padding","sizeMiddleware","apply","_ref3","rects","overlayWidth","makeSize","overlayMinWidth","overlayMaxWidth","Object","assign","floating","style","whileElementsMounted","autoUpdate","refs","floatingStyles","context","dismiss","useDismiss","_useInteractions","useInteractions","getFloatingProps","_useTransitionStyles","useTransitionStyles","duration","motion","quick","initial","transform","concat","OVERLAY_TRANSITION_OFFSET","opacity","isMounted","styles","React","useEffect","_triggererRef$current","focus","_jsx","FloatingPortal","BaseBox","_objectSpread","ref","setFloating","display","StyledDropdownOverlay","isInBottomSheet","dropdownHasBottomSheet","elevation","metaAttribute","name","MetaConstants","DropdownOverlay","assignWithoutSideEffects","componentId"],"mappings":"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"}
@@ -0,0 +1,180 @@
1
+ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
2
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
3
+ import 'react';
4
+ import styled from 'styled-components';
5
+ import { useDropdown } from './useDropdown.js';
6
+ import { dropdownComponentIds } from './dropdownComponentIds.js';
7
+ import '../../utils/assignWithoutSideEffects/index.js';
8
+ import '../../utils/index.js';
9
+ import '../Icons/index.js';
10
+ import '../Box/index.js';
11
+ import '../../utils/getFocusRingStyles/index.js';
12
+ import '../Typography/index.js';
13
+ import '../../utils/makeAccessible/index.js';
14
+ import { getActionListContainerRole } from '../ActionList/getA11yRoles.js';
15
+ import { useId } from '../../utils/useId.js';
16
+ import '../../utils/makeAnalyticsAttribute/index.js';
17
+ import '../../utils/metaAttribute/index.js';
18
+ import '../../utils/useControlledDropdownInput/index.js';
19
+ import { jsx, jsxs } from 'react/jsx-runtime';
20
+ import { makeSpace } from '../../utils/makeSpace/makeSpace.js';
21
+ import { getFocusRingStyles } from '../../utils/getFocusRingStyles/getFocusRingStyles.web.js';
22
+ import { useControlledDropdownInput } from '../../utils/useControlledDropdownInput/useControlledDropdownInput.js';
23
+ import { makeAccessible } from '../../utils/makeAccessible/makeAccessible.web.js';
24
+ import { makeAnalyticsAttribute } from '../../utils/makeAnalyticsAttribute/makeAnalyticsAttribute.js';
25
+ import { metaAttribute } from '../../utils/metaAttribute/metaAttribute.web.js';
26
+ import { Box } from '../Box/Box.js';
27
+ import { Text } from '../Typography/Text/Text.js';
28
+ import ChevronUpDownIcon from '../Icons/ChevronUpDownIcon/ChevronUpDownIcon.js';
29
+ import { assignWithoutSideEffects } from '../../utils/assignWithoutSideEffects/assignWithoutSideEffects.js';
30
+
31
+ var _excluded = ["onClick", "onBlur", "onKeyDown", "accessibilityLabel", "_isInsideSearchInput", "isDisabled", "onChange", "name", "testID", "value", "defaultValue", "icon"];
32
+ 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; }
33
+ 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; }
34
+ var StyledSearchTrailingDropdown = /*#__PURE__*/styled.button.withConfig({
35
+ displayName: "InputDropdownButtonweb__StyledSearchTrailingDropdown",
36
+ componentId: "gq7bp3-0"
37
+ })(function (_ref) {
38
+ var theme = _ref.theme,
39
+ isDisabled = _ref.isDisabled;
40
+ var spacing = theme.spacing;
41
+ return {
42
+ backgroundColor: theme.colors.transparent,
43
+ gap: makeSpace(spacing[2]),
44
+ display: 'flex',
45
+ height: '100%',
46
+ alignItems: 'center',
47
+ border: 'none',
48
+ cursor: isDisabled ? 'not-allowed' : 'pointer',
49
+ '&[disabled]': {
50
+ cursor: 'not-allowed',
51
+ pointerEvents: 'none'
52
+ },
53
+ '&:focus': _objectSpread(_objectSpread({}, getFocusRingStyles({
54
+ theme: theme
55
+ })), {}, {
56
+ backgroundColor: theme.colors.interactive.background.gray.faded
57
+ }),
58
+ '&:hover': {
59
+ backgroundColor: theme.colors.interactive.background.gray.faded
60
+ },
61
+ '&:focus-visible': {
62
+ outlineOffset: makeSpace(theme.spacing[0])
63
+ },
64
+ borderRadius: theme.border.radius.small
65
+ };
66
+ });
67
+ var _InputDropdownButton = function _InputDropdownButton(_ref2) {
68
+ var _onClick = _ref2.onClick,
69
+ _onBlur = _ref2.onBlur,
70
+ _onKeyDown = _ref2.onKeyDown,
71
+ accessibilityLabel = _ref2.accessibilityLabel,
72
+ _ref2$_isInsideSearch = _ref2._isInsideSearchInput,
73
+ _isInsideSearchInput = _ref2$_isInsideSearch === void 0 ? false : _ref2$_isInsideSearch,
74
+ isDisabled = _ref2.isDisabled,
75
+ _onChange = _ref2.onChange,
76
+ name = _ref2.name,
77
+ testID = _ref2.testID,
78
+ value = _ref2.value,
79
+ defaultValue = _ref2.defaultValue,
80
+ Icon = _ref2.icon,
81
+ rest = _objectWithoutProperties(_ref2, _excluded);
82
+ var idBase = useId('input-drop-down-button');
83
+ var _useDropdown = useDropdown(),
84
+ onTriggerClick = _useDropdown.onTriggerClick,
85
+ onTriggerKeydown = _useDropdown.onTriggerKeydown,
86
+ dropdownBaseId = _useDropdown.dropdownBaseId,
87
+ isOpen = _useDropdown.isOpen,
88
+ activeIndex = _useDropdown.activeIndex,
89
+ hasFooterAction = _useDropdown.hasFooterAction,
90
+ triggererRef = _useDropdown.triggererRef,
91
+ displayValue = _useDropdown.displayValue;
92
+ useControlledDropdownInput({
93
+ onChange: function onChange(_ref3) {
94
+ var name = _ref3.name,
95
+ values = _ref3.values;
96
+ _onChange === null || _onChange === void 0 ? void 0 : _onChange({
97
+ name: name || idBase,
98
+ value: values[0]
99
+ });
100
+ },
101
+ name: name,
102
+ value: value,
103
+ defaultValue: defaultValue,
104
+ triggererRef: triggererRef,
105
+ isSelectInput: false
106
+ });
107
+ if (!displayValue) {
108
+ return null;
109
+ }
110
+ return /*#__PURE__*/jsx(StyledSearchTrailingDropdown, _objectSpread(_objectSpread(_objectSpread(_objectSpread({
111
+ onClick: function onClick(e) {
112
+ if (isDisabled) return;
113
+ onTriggerClick();
114
+ // Setting it for web fails it on native typecheck and vice versa
115
+ _onClick === null || _onClick === void 0 ? void 0 : _onClick(e);
116
+ // Since this dropdown is inside another dropdown we should stop event stopPropagation.
117
+ e === null || e === void 0 ? void 0 : e.stopPropagation();
118
+ },
119
+ onBlur: function onBlur(e) {
120
+ if (isDisabled) return;
121
+ // With button trigger, there is no "value" as such. It's just clickable items
122
+ // Setting it for web fails it on native typecheck and vice versa
123
+ _onBlur === null || _onBlur === void 0 ? void 0 : _onBlur(e);
124
+ e === null || e === void 0 ? void 0 : e.stopPropagation();
125
+ },
126
+ onKeyDown: function onKeyDown(e) {
127
+ if (isDisabled) return;
128
+ onTriggerKeydown === null || onTriggerKeydown === void 0 ? void 0 : onTriggerKeydown({
129
+ event: e
130
+ });
131
+ // Setting it for web fails it on native typecheck and vice versa
132
+ _onKeyDown === null || _onKeyDown === void 0 ? void 0 : _onKeyDown(e);
133
+ e === null || e === void 0 ? void 0 : e.stopPropagation();
134
+ }
135
+ }, makeAccessible({
136
+ label: accessibilityLabel !== null && accessibilityLabel !== void 0 ? accessibilityLabel : "change ".concat(displayValue, " filter"),
137
+ hasPopup: getActionListContainerRole(hasFooterAction, 'InputDropdownButton'),
138
+ expanded: isOpen,
139
+ controls: "".concat(dropdownBaseId, "-actionlist"),
140
+ activeDescendant: activeIndex >= 0 ? "".concat(dropdownBaseId, "-").concat(activeIndex) : undefined
141
+ })), {}, {
142
+ ref: triggererRef,
143
+ isDisabled: isDisabled
144
+ }, makeAnalyticsAttribute(rest)), metaAttribute({
145
+ name: 'InputDropdownButton',
146
+ testID: testID
147
+ })), {}, {
148
+ children: /*#__PURE__*/jsxs(Box, {
149
+ padding: "spacing.2",
150
+ display: "flex",
151
+ gap: "spacing.2",
152
+ alignItems: "center",
153
+ children: [_isInsideSearchInput && /*#__PURE__*/jsxs(Text, {
154
+ variant: "body",
155
+ size: "medium",
156
+ weight: "regular",
157
+ color: isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.muted',
158
+ children: [' ', "in"]
159
+ }), Icon && /*#__PURE__*/jsx(Icon, {
160
+ size: "medium",
161
+ color: isDisabled ? 'surface.icon.gray.disabled' : 'surface.icon.gray.muted'
162
+ }), /*#__PURE__*/jsx(Text, {
163
+ variant: "body",
164
+ size: "medium",
165
+ weight: "regular",
166
+ color: isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.subtle',
167
+ children: displayValue
168
+ }), /*#__PURE__*/jsx(ChevronUpDownIcon, {
169
+ color: isDisabled ? 'surface.icon.gray.disabled' : 'surface.icon.gray.muted'
170
+ })]
171
+ })
172
+ }));
173
+ };
174
+ var InputDropdownButton = /*#__PURE__*/assignWithoutSideEffects(_InputDropdownButton, {
175
+ componentId: dropdownComponentIds.triggers.InputDropdownButton,
176
+ displayName: 'InputDropDown'
177
+ });
178
+
179
+ export { InputDropdownButton };
180
+ //# sourceMappingURL=InputDropdownButton.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InputDropdownButton.web.js","sources":["../../../../../../src/components/Dropdown/InputDropdownButton.web.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-unnecessary-type-assertion */\n\nimport React from 'react';\nimport styled from 'styled-components';\nimport { useDropdown } from './useDropdown';\nimport { dropdownComponentIds } from './dropdownComponentIds';\nimport type { BaseButtonProps } from '~components/Button/BaseButton/BaseButton';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { makeSpace } from '~utils';\nimport { ChevronUpDownIcon } from '~components/Icons';\nimport { Box } from '~components/Box';\nimport { getFocusRingStyles } from '~utils/getFocusRingStyles';\nimport { Text } from '~components/Typography';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { getActionListContainerRole } from '~components/ActionList/getA11yRoles';\nimport { useId } from '~utils/useId';\nimport type { DataAnalyticsAttribute } from '~utils/types';\nimport type { IconComponent } from '~components/Icons';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\nimport { metaAttribute } from '~utils/metaAttribute';\nimport { useControlledDropdownInput } from '~utils/useControlledDropdownInput';\n\ntype BaseInputDropDownButtonProps = {\n /**\n * isOpen is used to control the open state of the dropdown\n */\n isOpen?: boolean;\n /**\n * onBlur is the callback function that is called when the dropdown is blurred\n */\n onBlur?: BaseButtonProps['onBlur'];\n /**\n * onKeyDown is the callback function that is called when the dropdown is keyed down\n */\n onKeyDown?: BaseButtonProps['onKeyDown'];\n /**\n * onClick is the callback function that is called when the dropdown is clicked\n */\n onClick?: BaseButtonProps['onClick'];\n /**\n * accessibilityLabel is the label of the dropdown\n */\n accessibilityLabel?: string;\n /**\n * @private\n */\n _isInsideSearchInput?: boolean;\n /**\n * isDisabled is the disabled state of the dropdown\n */\n isDisabled?: boolean;\n /**\n * onChange is the callback function that is called when the dropdown is changed\n */\n onChange?: (props: { name: string; value: string }) => void;\n /**\n * name is the name of the dropdown\n */\n name?: string;\n /**\n * testID is the testID of the dropdown\n */\n testID?: string;\n /**\n * icon is the icon of the dropdown\n */\n icon?: IconComponent;\n} & DataAnalyticsAttribute;\n\ntype ControlledInputDropDownButtonProps = BaseInputDropDownButtonProps & {\n /**\n * value is the value of the dropdown\n */\n value: string;\n defaultValue?: never;\n};\n\ntype UncontrolledInputDropDownButtonProps = BaseInputDropDownButtonProps & {\n value?: never;\n /**\n * defaultValue is the default selected value of the dropdown\n */\n defaultValue: string;\n};\n\ntype InputDropDownButtonProps =\n | ControlledInputDropDownButtonProps\n | UncontrolledInputDropDownButtonProps;\n\nconst StyledSearchTrailingDropdown = styled.button<{ $isSelected?: boolean; isDisabled?: boolean }>(\n ({ theme, isDisabled }) => {\n const { spacing } = theme;\n return {\n backgroundColor: theme.colors.transparent,\n gap: makeSpace(spacing[2]),\n display: 'flex',\n height: '100%',\n alignItems: 'center',\n border: 'none',\n cursor: isDisabled ? 'not-allowed' : 'pointer',\n '&[disabled]': {\n cursor: 'not-allowed',\n pointerEvents: 'none',\n },\n '&:focus': {\n ...getFocusRingStyles({ theme }),\n backgroundColor: theme.colors.interactive.background.gray.faded,\n },\n '&:hover': {\n backgroundColor: theme.colors.interactive.background.gray.faded,\n },\n '&:focus-visible': {\n outlineOffset: makeSpace(theme.spacing[0]),\n },\n borderRadius: theme.border.radius.small,\n };\n },\n);\n\nconst _InputDropdownButton = ({\n onClick,\n onBlur,\n onKeyDown,\n accessibilityLabel,\n _isInsideSearchInput = false,\n isDisabled,\n onChange,\n name,\n testID,\n value,\n defaultValue,\n icon: Icon,\n ...rest\n}: InputDropDownButtonProps): React.ReactElement | null => {\n const idBase = useId('input-drop-down-button');\n const {\n onTriggerClick,\n onTriggerKeydown,\n dropdownBaseId,\n isOpen,\n activeIndex,\n hasFooterAction,\n triggererRef,\n displayValue,\n } = useDropdown();\n\n useControlledDropdownInput({\n onChange: ({ name, values }) => {\n onChange?.({\n name: name || idBase,\n value: values[0],\n });\n },\n name,\n value,\n defaultValue,\n triggererRef,\n isSelectInput: false,\n });\n\n if (!displayValue) {\n return null;\n }\n\n return (\n <StyledSearchTrailingDropdown\n onClick={(e) => {\n if (isDisabled) return;\n onTriggerClick();\n // Setting it for web fails it on native typecheck and vice versa\n onClick?.(e as any);\n // Since this dropdown is inside another dropdown we should stop event stopPropagation.\n e?.stopPropagation();\n }}\n onBlur={(e) => {\n if (isDisabled) return;\n // With button trigger, there is no \"value\" as such. It's just clickable items\n // Setting it for web fails it on native typecheck and vice versa\n onBlur?.(e as any);\n e?.stopPropagation();\n }}\n onKeyDown={(e) => {\n if (isDisabled) return;\n onTriggerKeydown?.({ event: e as any });\n // Setting it for web fails it on native typecheck and vice versa\n onKeyDown?.(e as any);\n e?.stopPropagation();\n }}\n {...makeAccessible({\n label: accessibilityLabel ?? `change ${displayValue} filter`,\n hasPopup: getActionListContainerRole(hasFooterAction, 'InputDropdownButton'),\n expanded: isOpen,\n controls: `${dropdownBaseId}-actionlist`,\n activeDescendant: activeIndex >= 0 ? `${dropdownBaseId}-${activeIndex}` : undefined,\n })}\n ref={triggererRef}\n isDisabled={isDisabled}\n {...makeAnalyticsAttribute(rest)}\n {...metaAttribute({ name: 'InputDropdownButton', testID })}\n >\n <Box padding=\"spacing.2\" display=\"flex\" gap=\"spacing.2\" alignItems=\"center\">\n {_isInsideSearchInput && (\n <Text\n variant=\"body\"\n size=\"medium\"\n weight=\"regular\"\n color={isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.muted'}\n >\n {' '}\n in\n </Text>\n )}\n {Icon && (\n <Icon\n size=\"medium\"\n color={isDisabled ? 'surface.icon.gray.disabled' : 'surface.icon.gray.muted'}\n />\n )}\n\n <Text\n variant=\"body\"\n size=\"medium\"\n weight=\"regular\"\n color={isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.subtle'}\n >\n {displayValue}\n </Text>\n <ChevronUpDownIcon\n color={isDisabled ? 'surface.icon.gray.disabled' : 'surface.icon.gray.muted'}\n />\n </Box>\n </StyledSearchTrailingDropdown>\n );\n};\n\nconst InputDropdownButton = assignWithoutSideEffects(_InputDropdownButton, {\n componentId: dropdownComponentIds.triggers.InputDropdownButton,\n displayName: 'InputDropDown',\n});\n\nexport { InputDropdownButton };\n"],"names":["StyledSearchTrailingDropdown","styled","button","withConfig","displayName","componentId","_ref","theme","isDisabled","spacing","backgroundColor","colors","transparent","gap","makeSpace","display","height","alignItems","border","cursor","pointerEvents","_objectSpread","getFocusRingStyles","interactive","background","gray","faded","outlineOffset","borderRadius","radius","small","_InputDropdownButton","_ref2","onClick","onBlur","onKeyDown","accessibilityLabel","_ref2$_isInsideSearch","_isInsideSearchInput","onChange","name","testID","value","defaultValue","Icon","icon","rest","_objectWithoutProperties","_excluded","idBase","useId","_useDropdown","useDropdown","onTriggerClick","onTriggerKeydown","dropdownBaseId","isOpen","activeIndex","hasFooterAction","triggererRef","displayValue","useControlledDropdownInput","_ref3","values","isSelectInput","_jsx","e","stopPropagation","event","makeAccessible","label","concat","hasPopup","getActionListContainerRole","expanded","controls","activeDescendant","undefined","ref","makeAnalyticsAttribute","metaAttribute","children","_jsxs","Box","padding","Text","variant","size","weight","color","ChevronUpDownIcon","InputDropdownButton","assignWithoutSideEffects","dropdownComponentIds","triggers"],"mappings":"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"}
@@ -9,7 +9,8 @@ var dropdownComponentIds = {
9
9
  AutoComplete: 'AutoComplete',
10
10
  SearchInput: 'SearchInput',
11
11
  DropdownIconButton: 'DropdownIconButton',
12
- FilterChipSelectInput: 'FilterChipSelectInput'
12
+ FilterChipSelectInput: 'FilterChipSelectInput',
13
+ InputDropdownButton: 'InputDropdownButton'
13
14
  }
14
15
  };
15
16
 
@@ -1 +1 @@
1
- {"version":3,"file":"dropdownComponentIds.js","sources":["../../../../../../src/components/Dropdown/dropdownComponentIds.ts"],"sourcesContent":["export const dropdownComponentIds = {\n DropdownOverlay: 'DropdownOverlay',\n Dropdown: 'Dropdown',\n BaseBox: 'BaseBox',\n triggers: {\n SelectInput: 'SelectInput',\n DropdownButton: 'DropdownButton',\n DropdownLink: 'DropdownLink',\n AutoComplete: 'AutoComplete',\n SearchInput: 'SearchInput',\n DropdownIconButton: 'DropdownIconButton',\n FilterChipSelectInput: 'FilterChipSelectInput',\n },\n};\n"],"names":["dropdownComponentIds","DropdownOverlay","Dropdown","BaseBox","triggers","SelectInput","DropdownButton","DropdownLink","AutoComplete","SearchInput","DropdownIconButton","FilterChipSelectInput"],"mappings":"AAAO,IAAMA,oBAAoB,GAAG;AAClCC,EAAAA,eAAe,EAAE,iBAAiB;AAClCC,EAAAA,QAAQ,EAAE,UAAU;AACpBC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,QAAQ,EAAE;AACRC,IAAAA,WAAW,EAAE,aAAa;AAC1BC,IAAAA,cAAc,EAAE,gBAAgB;AAChCC,IAAAA,YAAY,EAAE,cAAc;AAC5BC,IAAAA,YAAY,EAAE,cAAc;AAC5BC,IAAAA,WAAW,EAAE,aAAa;AAC1BC,IAAAA,kBAAkB,EAAE,oBAAoB;AACxCC,IAAAA,qBAAqB,EAAE,uBAAA;AACzB,GAAA;AACF;;;;"}
1
+ {"version":3,"file":"dropdownComponentIds.js","sources":["../../../../../../src/components/Dropdown/dropdownComponentIds.ts"],"sourcesContent":["export const dropdownComponentIds = {\n DropdownOverlay: 'DropdownOverlay',\n Dropdown: 'Dropdown',\n BaseBox: 'BaseBox',\n triggers: {\n SelectInput: 'SelectInput',\n DropdownButton: 'DropdownButton',\n DropdownLink: 'DropdownLink',\n AutoComplete: 'AutoComplete',\n SearchInput: 'SearchInput',\n DropdownIconButton: 'DropdownIconButton',\n FilterChipSelectInput: 'FilterChipSelectInput',\n InputDropdownButton: 'InputDropdownButton',\n },\n};\n"],"names":["dropdownComponentIds","DropdownOverlay","Dropdown","BaseBox","triggers","SelectInput","DropdownButton","DropdownLink","AutoComplete","SearchInput","DropdownIconButton","FilterChipSelectInput","InputDropdownButton"],"mappings":"AAAO,IAAMA,oBAAoB,GAAG;AAClCC,EAAAA,eAAe,EAAE,iBAAiB;AAClCC,EAAAA,QAAQ,EAAE,UAAU;AACpBC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,QAAQ,EAAE;AACRC,IAAAA,WAAW,EAAE,aAAa;AAC1BC,IAAAA,cAAc,EAAE,gBAAgB;AAChCC,IAAAA,YAAY,EAAE,cAAc;AAC5BC,IAAAA,YAAY,EAAE,cAAc;AAC5BC,IAAAA,WAAW,EAAE,aAAa;AAC1BC,IAAAA,kBAAkB,EAAE,oBAAoB;AACxCC,IAAAA,qBAAqB,EAAE,uBAAuB;AAC9CC,IAAAA,mBAAmB,EAAE,qBAAA;AACvB,GAAA;AACF;;;;"}