@razorpay/blade 12.110.0 → 12.111.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. package/build/lib/native/components/AnimateInteractions/AnimateInteractions.native.js +5 -5
  2. package/build/lib/native/components/AnimateInteractions/AnimateInteractions.native.js.map +1 -1
  3. package/build/lib/native/components/AnimateInteractions/AnimateInteractionsProvider.js +6 -0
  4. package/build/lib/native/components/AnimateInteractions/AnimateInteractionsProvider.js.map +1 -0
  5. package/build/lib/native/components/BaseMotion/BaseMotion.native.js +22 -0
  6. package/build/lib/native/components/BaseMotion/BaseMotion.native.js.map +1 -0
  7. package/build/lib/native/components/BaseMotion/baseMotionInterpreter.native.js +11 -0
  8. package/build/lib/native/components/BaseMotion/baseMotionInterpreter.native.js.map +1 -0
  9. package/build/lib/native/components/BaseMotion/baseMotionUtils.js +4 -0
  10. package/build/lib/native/components/BaseMotion/baseMotionUtils.js.map +1 -0
  11. package/build/lib/native/components/BaseMotion/index.js +3 -0
  12. package/build/lib/native/components/BaseMotion/index.js.map +1 -0
  13. package/build/lib/native/components/BaseMotion/types.js +2 -0
  14. package/build/lib/native/components/BaseMotion/types.js.map +1 -0
  15. package/build/lib/native/components/Dropdown/FilterChipSelectInput.native.js +2 -1
  16. package/build/lib/native/components/Dropdown/FilterChipSelectInput.native.js.map +1 -1
  17. package/build/lib/native/components/Dropdown/filterChipSelectInputUtils.js +4 -0
  18. package/build/lib/native/components/Dropdown/filterChipSelectInputUtils.js.map +1 -0
  19. package/build/lib/native/components/Fade/Fade.native.js +7 -5
  20. package/build/lib/native/components/Fade/Fade.native.js.map +1 -1
  21. package/build/lib/native/components/FilterChip/BaseFilterChip.native.js +2 -2
  22. package/build/lib/native/components/FilterChip/BaseFilterChip.native.js.map +1 -1
  23. package/build/lib/native/components/Morph/Morph.native.js +9 -5
  24. package/build/lib/native/components/Morph/Morph.native.js.map +1 -1
  25. package/build/lib/native/components/Move/Move.native.js +8 -5
  26. package/build/lib/native/components/Move/Move.native.js.map +1 -1
  27. package/build/lib/native/components/Scale/Scale.native.js +7 -5
  28. package/build/lib/native/components/Scale/Scale.native.js.map +1 -1
  29. package/build/lib/native/components/SegmentedControl/SegmentedControl.native.js +27 -0
  30. package/build/lib/native/components/SegmentedControl/SegmentedControl.native.js.map +1 -0
  31. package/build/lib/native/components/SegmentedControl/SegmentedControlContext.js +8 -0
  32. package/build/lib/native/components/SegmentedControl/SegmentedControlContext.js.map +1 -0
  33. package/build/lib/native/components/SegmentedControl/SegmentedControlItem.native.js +18 -0
  34. package/build/lib/native/components/SegmentedControl/SegmentedControlItem.native.js.map +1 -0
  35. package/build/lib/native/components/SegmentedControl/index.js +3 -0
  36. package/build/lib/native/components/SegmentedControl/index.js.map +1 -0
  37. package/build/lib/native/components/SegmentedControl/segmentedControlTokens.js +4 -0
  38. package/build/lib/native/components/SegmentedControl/segmentedControlTokens.js.map +1 -0
  39. package/build/lib/native/components/Slide/Slide.native.js +7 -5
  40. package/build/lib/native/components/Slide/Slide.native.js.map +1 -1
  41. package/build/lib/native/components/Stagger/Stagger.native.js +10 -5
  42. package/build/lib/native/components/Stagger/Stagger.native.js.map +1 -1
  43. package/build/lib/native/components/Stagger/StaggerProvider.js +6 -0
  44. package/build/lib/native/components/Stagger/StaggerProvider.js.map +1 -0
  45. package/build/lib/native/components/index.js +3 -0
  46. package/build/lib/native/components/index.js.map +1 -1
  47. package/build/lib/native/utils/metaAttribute/metaConstants.js +1 -1
  48. package/build/lib/native/utils/metaAttribute/metaConstants.js.map +1 -1
  49. package/build/lib/native/utils/msToSeconds.js +4 -0
  50. package/build/lib/native/utils/msToSeconds.js.map +1 -0
  51. package/build/lib/web/development/_virtual/flatten.js +1 -1
  52. package/build/lib/web/development/_virtual/flatten3.js +1 -1
  53. package/build/lib/web/development/components/AnimateInteractions/AnimateInteractions.web.js +1 -1
  54. package/build/lib/web/development/components/AnimateInteractions/AnimateInteractionsProvider.js +2 -1
  55. package/build/lib/web/development/components/AnimateInteractions/AnimateInteractionsProvider.js.map +1 -1
  56. package/build/lib/web/development/components/AnimateInteractions/{useFocusWithin.js → useFocusWithin.web.js} +1 -1
  57. package/build/lib/web/development/components/AnimateInteractions/useFocusWithin.web.js.map +1 -0
  58. package/build/lib/web/development/components/DatePicker/BaseDatePicker.web.js +8 -1
  59. package/build/lib/web/development/components/DatePicker/BaseDatePicker.web.js.map +1 -1
  60. package/build/lib/web/development/components/DatePicker/FilterChipDatePicker/DatePickerFilterChip.web.js +4 -1
  61. package/build/lib/web/development/components/DatePicker/FilterChipDatePicker/DatePickerFilterChip.web.js.map +1 -1
  62. package/build/lib/web/development/components/Dropdown/FilterChipGroup.web.js +40 -5
  63. package/build/lib/web/development/components/Dropdown/FilterChipGroup.web.js.map +1 -1
  64. package/build/lib/web/development/components/Dropdown/FilterChipSelectInput.web.js +11 -21
  65. package/build/lib/web/development/components/Dropdown/FilterChipSelectInput.web.js.map +1 -1
  66. package/build/lib/web/development/components/Dropdown/filterChipSelectInputUtils.js +46 -0
  67. package/build/lib/web/development/components/Dropdown/filterChipSelectInputUtils.js.map +1 -0
  68. package/build/lib/web/development/components/FilterChip/BaseFilterChip.web.js +35 -11
  69. package/build/lib/web/development/components/FilterChip/BaseFilterChip.web.js.map +1 -1
  70. package/build/lib/web/development/components/SegmentedControl/SegmentedControl.web.js +196 -0
  71. package/build/lib/web/development/components/SegmentedControl/SegmentedControl.web.js.map +1 -0
  72. package/build/lib/web/development/components/SegmentedControl/SegmentedControlContext.js +18 -0
  73. package/build/lib/web/development/components/SegmentedControl/SegmentedControlContext.js.map +1 -0
  74. package/build/lib/web/development/components/SegmentedControl/SegmentedControlIndicator.web.js +109 -0
  75. package/build/lib/web/development/components/SegmentedControl/SegmentedControlIndicator.web.js.map +1 -0
  76. package/build/lib/web/development/components/SegmentedControl/SegmentedControlItem.web.js +170 -0
  77. package/build/lib/web/development/components/SegmentedControl/SegmentedControlItem.web.js.map +1 -0
  78. package/build/lib/web/development/components/SegmentedControl/index.js +3 -0
  79. package/build/lib/web/development/components/SegmentedControl/index.js.map +1 -0
  80. package/build/lib/web/development/components/SegmentedControl/segmentedControlTokens.js +53 -0
  81. package/build/lib/web/development/components/SegmentedControl/segmentedControlTokens.js.map +1 -0
  82. package/build/lib/web/development/components/Stagger/StaggerProvider.js.map +1 -1
  83. package/build/lib/web/development/components/index.js +3 -0
  84. package/build/lib/web/development/components/index.js.map +1 -1
  85. package/build/lib/web/development/node_modules/es-toolkit/dist/array/flatten.js +1 -1
  86. package/build/lib/web/development/node_modules/es-toolkit/dist/compat/array/flatten.js +1 -1
  87. package/build/lib/web/development/node_modules/es-toolkit/dist/compat/array/sortBy.js +2 -2
  88. package/build/lib/web/development/node_modules/es-toolkit/dist/compat/object/omit.js +2 -2
  89. package/build/lib/web/development/utils/metaAttribute/metaConstants.js +3 -1
  90. package/build/lib/web/development/utils/metaAttribute/metaConstants.js.map +1 -1
  91. package/build/lib/web/production/components/AnimateInteractions/AnimateInteractions.web.js +1 -1
  92. package/build/lib/web/production/components/AnimateInteractions/AnimateInteractionsProvider.js +2 -1
  93. package/build/lib/web/production/components/AnimateInteractions/AnimateInteractionsProvider.js.map +1 -1
  94. package/build/lib/web/production/components/AnimateInteractions/{useFocusWithin.js → useFocusWithin.web.js} +1 -1
  95. package/build/lib/web/production/components/AnimateInteractions/useFocusWithin.web.js.map +1 -0
  96. package/build/lib/web/production/components/DatePicker/BaseDatePicker.web.js +8 -1
  97. package/build/lib/web/production/components/DatePicker/BaseDatePicker.web.js.map +1 -1
  98. package/build/lib/web/production/components/DatePicker/FilterChipDatePicker/DatePickerFilterChip.web.js +4 -1
  99. package/build/lib/web/production/components/DatePicker/FilterChipDatePicker/DatePickerFilterChip.web.js.map +1 -1
  100. package/build/lib/web/production/components/Dropdown/FilterChipGroup.web.js +40 -5
  101. package/build/lib/web/production/components/Dropdown/FilterChipGroup.web.js.map +1 -1
  102. package/build/lib/web/production/components/Dropdown/FilterChipSelectInput.web.js +11 -21
  103. package/build/lib/web/production/components/Dropdown/FilterChipSelectInput.web.js.map +1 -1
  104. package/build/lib/web/production/components/Dropdown/filterChipSelectInputUtils.js +46 -0
  105. package/build/lib/web/production/components/Dropdown/filterChipSelectInputUtils.js.map +1 -0
  106. package/build/lib/web/production/components/FilterChip/BaseFilterChip.web.js +35 -11
  107. package/build/lib/web/production/components/FilterChip/BaseFilterChip.web.js.map +1 -1
  108. package/build/lib/web/production/components/SegmentedControl/SegmentedControl.web.js +196 -0
  109. package/build/lib/web/production/components/SegmentedControl/SegmentedControl.web.js.map +1 -0
  110. package/build/lib/web/production/components/SegmentedControl/SegmentedControlContext.js +18 -0
  111. package/build/lib/web/production/components/SegmentedControl/SegmentedControlContext.js.map +1 -0
  112. package/build/lib/web/production/components/SegmentedControl/SegmentedControlIndicator.web.js +109 -0
  113. package/build/lib/web/production/components/SegmentedControl/SegmentedControlIndicator.web.js.map +1 -0
  114. package/build/lib/web/production/components/SegmentedControl/SegmentedControlItem.web.js +170 -0
  115. package/build/lib/web/production/components/SegmentedControl/SegmentedControlItem.web.js.map +1 -0
  116. package/build/lib/web/production/components/SegmentedControl/index.js +3 -0
  117. package/build/lib/web/production/components/SegmentedControl/index.js.map +1 -0
  118. package/build/lib/web/production/components/SegmentedControl/segmentedControlTokens.js +53 -0
  119. package/build/lib/web/production/components/SegmentedControl/segmentedControlTokens.js.map +1 -0
  120. package/build/lib/web/production/components/Stagger/StaggerProvider.js.map +1 -1
  121. package/build/lib/web/production/components/index.js +3 -0
  122. package/build/lib/web/production/components/index.js.map +1 -1
  123. package/build/lib/web/production/utils/metaAttribute/metaConstants.js +3 -1
  124. package/build/lib/web/production/utils/metaAttribute/metaConstants.js.map +1 -1
  125. package/build/types/components/index.d.ts +238 -8
  126. package/build/types/components/index.native.d.ts +410 -14
  127. package/package.json +1 -1
  128. package/build/lib/web/development/components/AnimateInteractions/useFocusWithin.js.map +0 -1
  129. package/build/lib/web/production/components/AnimateInteractions/useFocusWithin.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"FilterChipSelectInput.web.js","sources":["../../../../../../src/components/Dropdown/FilterChipSelectInput.web.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-unnecessary-type-assertion */\n\nimport React, { useEffect } from 'react';\nimport { useDropdown } from './useDropdown';\nimport { dropdownComponentIds } from './dropdownComponentIds';\nimport { useFilterChipGroupContext } from './FilterChipGroupContext.web';\nimport type { DataAnalyticsAttribute } from '~utils/types';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { BaseFilterChip } from '~components/FilterChip/BaseFilterChip';\nimport { getActionListContainerRole } from '~components/ActionList/getA11yRoles';\nimport type { BaseFilterChipProps } from '~components/FilterChip/types';\nimport { useId } from '~utils/useId';\nimport { useListViewFilterContext } from '~components/ListView/ListViewFiltersContext.web';\nimport { useFirstRender } from '~utils/useFirstRender';\n\ntype FilterChipSelectInputProps = Pick<\n BaseFilterChipProps,\n 'onKeyDown' | 'value' | 'label' | 'testID' | 'onClick' | 'selectionType' | 'onBlur'\n> & {\n accessibilityLabel?: string;\n onChange?: (props: { name: string; values: string[] }) => void;\n name?: string;\n onClearButtonClick?: (props: { name: string; values: string[] }) => void;\n isDisabled?: boolean;\n} & DataAnalyticsAttribute;\n\nconst _FilterChipSelectInput = (props: FilterChipSelectInputProps): React.ReactElement => {\n const idBase = useId('filter-chip-select-input');\n const {\n onClick,\n onBlur,\n onKeyDown,\n accessibilityLabel,\n testID,\n value,\n onClearButtonClick,\n label,\n onChange,\n name,\n isDisabled,\n ...rest\n } = props;\n const [uncontrolledInputValue, setUncontrolledInputValue] = React.useState<string[]>([]);\n const isFirstRender = useFirstRender();\n\n const {\n options,\n selectedIndices,\n onTriggerClick,\n onTriggerKeydown,\n dropdownBaseId,\n isOpen,\n activeIndex,\n hasFooterAction,\n triggererRef,\n selectionType,\n isControlled,\n setSelectedIndices,\n controlledValueIndices,\n changeCallbackTriggerer,\n } = useDropdown();\n const valueTitle = options.find((option) => option.value === value)?.title ?? value;\n\n const isUnControlled = options.length > 0 && props.value === undefined;\n // Currently we are having 2 context for selectedFilters. One is for FilterChipGroup and other is for ListView\n const { listViewSelectedFilters, setListViewSelectedFilters } = useListViewFilterContext();\n const {\n clearFilterCallbackTriggerer,\n setFilterChipGroupSelectedFilters,\n } = useFilterChipGroupContext();\n\n const getValuesArrayFromIndices = (): string[] => {\n let indices: number[] = [];\n if (isControlled) {\n indices = controlledValueIndices;\n } else {\n indices = selectedIndices;\n }\n\n return indices.map((selectionIndex) => options[selectionIndex].value);\n };\n\n useEffect(() => {\n const valueNotEmpty =\n (typeof value === 'string' && value.trim() !== '') ||\n (Array.isArray(value) && value.length > 0);\n\n // Compare actual selected values (not just lengths) to detect controlled value changes\n const currentSelectedValues = selectedIndices.map((i) => options[i]?.value);\n const isSingleValueSynced =\n typeof value === 'string' &&\n currentSelectedValues.length === 1 &&\n currentSelectedValues[0] === value;\n\n const isMultiValueSynced =\n Array.isArray(value) &&\n value.length === currentSelectedValues.length &&\n value.every((v) => currentSelectedValues.includes(v));\n\n const isValueAndSelectedIndicesSynced = isSingleValueSynced || isMultiValueSynced;\n\n if (isUnControlled) {\n if (listViewSelectedFilters[label]) {\n const savedIndices = (listViewSelectedFilters[label] as unknown) as number[];\n setSelectedIndices(savedIndices);\n const inputValue = savedIndices.map((selectionIndex) => options[selectionIndex].value);\n setUncontrolledInputValue(inputValue);\n setFilterChipGroupSelectedFilters((prev) =>\n prev.includes(label) ? prev : [...prev, label],\n );\n } else {\n setSelectedIndices([]);\n }\n } else if (listViewSelectedFilters[label]) {\n const savedIndices = (listViewSelectedFilters[label] as unknown) as number[];\n setSelectedIndices(savedIndices);\n // Sync selected indices when controlled value changes or on first render with options loaded\n } else if (valueNotEmpty && !isValueAndSelectedIndicesSynced && options.length > 0) {\n const newSelectedIndices =\n typeof value === 'string'\n ? [options.findIndex((option) => option.value === value)]\n : options\n .map((option, index) => (value.includes(option.value) ? index : -1))\n .filter((index) => index !== -1);\n setSelectedIndices(newSelectedIndices);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isUnControlled, options]);\n\n const getTitleFromValue = (value: string): string => {\n const option = options.find((option) => option.value === value);\n return option ? option.title : '';\n };\n\n const getUnControlledFilterChipValue = (): string | string[] => {\n if (selectionType === 'single') {\n if (uncontrolledInputValue.length > 0) {\n return getTitleFromValue(uncontrolledInputValue[0]);\n }\n return '';\n }\n return uncontrolledInputValue;\n };\n\n const handleClearButtonClick = (): void => {\n props.onClearButtonClick?.({ name: name ?? idBase, values: getValuesArrayFromIndices() });\n props.onChange?.({ name: name ?? idBase, values: [] });\n setFilterChipGroupSelectedFilters((prev) => prev.filter((filter) => filter !== label));\n setListViewSelectedFilters((prev) => {\n const { [label]: _, ...updatedFilters } = prev;\n return updatedFilters;\n });\n setUncontrolledInputValue([]);\n setSelectedIndices([]);\n };\n\n useEffect(() => {\n if (clearFilterCallbackTriggerer) {\n handleClearButtonClick();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [clearFilterCallbackTriggerer]);\n\n useEffect(() => {\n if (!isFirstRender) {\n props.onChange?.({\n name: props.name || idBase,\n values: getValuesArrayFromIndices(),\n });\n if (isUnControlled) {\n setUncontrolledInputValue(getValuesArrayFromIndices());\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [changeCallbackTriggerer]);\n useEffect(() => {\n const isValueEmpty = selectedIndices.length === 0;\n if (!isFirstRender && !isValueEmpty) {\n setFilterChipGroupSelectedFilters((prev) => (prev.includes(label) ? prev : [...prev, label]));\n setListViewSelectedFilters((prev) => ({\n ...prev,\n [label]: selectedIndices as number[],\n }));\n } else if (!isFirstRender && isValueEmpty) {\n setFilterChipGroupSelectedFilters((prev) => prev.filter((filter) => filter !== label));\n setListViewSelectedFilters((prev) => {\n const { [label]: _, ...updatedFilters } = prev;\n return updatedFilters;\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [changeCallbackTriggerer]);\n\n const handleKeyDown = (e: React.KeyboardEvent<Element>): void => {\n onKeyDown?.(e);\n onTriggerKeydown?.({ event: e as React.KeyboardEvent<HTMLInputElement> });\n\n if (e.key === 'Escape') {\n e.preventDefault();\n e.stopPropagation();\n }\n\n if ((e.key === 'Enter' || e.key === ' ') && !isOpen) {\n e.preventDefault();\n e.stopPropagation();\n onTriggerClick();\n }\n };\n return (\n <BaseFilterChip\n label={label}\n value={valueTitle ?? getUnControlledFilterChipValue()}\n onClearButtonClick={handleClearButtonClick}\n selectionType={selectionType}\n {...rest}\n ref={triggererRef as any}\n onKeyDown={handleKeyDown}\n accessibilityProps={{\n label: accessibilityLabel ?? label,\n hasPopup: getActionListContainerRole(hasFooterAction, 'FilterChipSelectInput'),\n expanded: isOpen,\n controls: `${dropdownBaseId}-actionlist`,\n activeDescendant: activeIndex >= 0 ? `${dropdownBaseId}-${activeIndex}` : undefined,\n }}\n onClick={(e) => {\n onTriggerClick();\n onClick?.(e);\n }}\n onBlur={(e) => {\n onBlur?.(e);\n }}\n isDisabled={isDisabled}\n />\n );\n};\n\nconst FilterChipSelectInput = assignWithoutSideEffects(_FilterChipSelectInput, {\n componentId: dropdownComponentIds.triggers.FilterChipSelectInput,\n});\n\nexport { FilterChipSelectInput };\n"],"names":["_FilterChipSelectInput","props","_options$find$title","_options$find","idBase","useId","onClick","onBlur","onKeyDown","accessibilityLabel","testID","value","onClearButtonClick","label","onChange","name","isDisabled","rest","_objectWithoutProperties","_excluded","_React$useState","React","useState","_React$useState2","_slicedToArray","uncontrolledInputValue","setUncontrolledInputValue","isFirstRender","useFirstRender","_useDropdown","useDropdown","options","selectedIndices","onTriggerClick","onTriggerKeydown","dropdownBaseId","isOpen","activeIndex","hasFooterAction","triggererRef","selectionType","isControlled","setSelectedIndices","controlledValueIndices","changeCallbackTriggerer","valueTitle","find","option","title","isUnControlled","length","undefined","_useListViewFilterCon","useListViewFilterContext","listViewSelectedFilters","setListViewSelectedFilters","_useFilterChipGroupCo","useFilterChipGroupContext","clearFilterCallbackTriggerer","setFilterChipGroupSelectedFilters","getValuesArrayFromIndices","indices","map","selectionIndex","useEffect","valueNotEmpty","trim","Array","isArray","currentSelectedValues","i","_options$i","isSingleValueSynced","isMultiValueSynced","every","v","includes","isValueAndSelectedIndicesSynced","savedIndices","inputValue","prev","concat","_toConsumableArray","newSelectedIndices","findIndex","index","filter","getTitleFromValue","getUnControlledFilterChipValue","handleClearButtonClick","_props$onClearButtonC","_props$onChange","call","values","_","updatedFilters","_toPropertyKey","_props$onChange2","isValueEmpty","_objectSpread","_defineProperty","handleKeyDown","e","event","key","preventDefault","stopPropagation","_jsx","BaseFilterChip","ref","accessibilityProps","hasPopup","getActionListContainerRole","expanded","controls","activeDescendant","FilterChipSelectInput","assignWithoutSideEffects","componentId","dropdownComponentIds","triggers"],"mappings":"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"}
1
+ {"version":3,"file":"FilterChipSelectInput.web.js","sources":["../../../../../../src/components/Dropdown/FilterChipSelectInput.web.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-unnecessary-type-assertion */\n\nimport React, { useEffect } from 'react';\nimport { useDropdown } from './useDropdown';\nimport { dropdownComponentIds } from './dropdownComponentIds';\nimport { getFilterChipDisplayValue } from './filterChipSelectInputUtils';\nimport { useFilterChipGroupContext } from './FilterChipGroupContext.web';\nimport type { DataAnalyticsAttribute } from '~utils/types';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { BaseFilterChip } from '~components/FilterChip/BaseFilterChip';\nimport { getActionListContainerRole } from '~components/ActionList/getA11yRoles';\nimport type { BaseFilterChipProps } from '~components/FilterChip/types';\nimport { useId } from '~utils/useId';\nimport { useListViewFilterContext } from '~components/ListView/ListViewFiltersContext.web';\nimport { useFirstRender } from '~utils/useFirstRender';\n\ntype FilterChipSelectInputProps = Pick<\n BaseFilterChipProps,\n | 'onKeyDown'\n | 'value'\n | 'label'\n | 'testID'\n | 'onClick'\n | 'selectionType'\n | 'onBlur'\n | 'showClearButton'\n> & {\n accessibilityLabel?: string;\n onChange?: (props: { name: string; values: string[] }) => void;\n name?: string;\n onClearButtonClick?: (props: { name: string; values: string[] }) => void;\n isDisabled?: boolean;\n} & DataAnalyticsAttribute;\n\nconst _FilterChipSelectInput = (props: FilterChipSelectInputProps): React.ReactElement => {\n const idBase = useId('filter-chip-select-input');\n const {\n onClick,\n onBlur,\n onKeyDown,\n accessibilityLabel,\n testID,\n value,\n onClearButtonClick,\n label,\n onChange,\n name,\n isDisabled,\n showClearButton = true,\n ...rest\n } = props;\n const [uncontrolledInputValue, setUncontrolledInputValue] = React.useState<string[]>([]);\n const isFirstRender = useFirstRender();\n\n const {\n options,\n selectedIndices,\n onTriggerClick,\n onTriggerKeydown,\n dropdownBaseId,\n isOpen,\n activeIndex,\n hasFooterAction,\n triggererRef,\n selectionType,\n isControlled,\n setSelectedIndices,\n controlledValueIndices,\n changeCallbackTriggerer,\n } = useDropdown();\n const isUnControlled = options.length > 0 && props.value === undefined;\n // Currently we are having 2 context for selectedFilters. One is for FilterChipGroup and other is for ListView\n const { listViewSelectedFilters, setListViewSelectedFilters } = useListViewFilterContext();\n const {\n clearFilterCallbackTriggerer,\n setFilterChipGroupSelectedFilters,\n } = useFilterChipGroupContext();\n\n const getValuesArrayFromIndices = (): string[] => {\n let indices: number[] = [];\n if (isControlled) {\n indices = controlledValueIndices;\n } else {\n indices = selectedIndices;\n }\n\n return indices.map((selectionIndex) => options[selectionIndex].value);\n };\n\n useEffect(() => {\n const valueNotEmpty =\n (typeof value === 'string' && value.trim() !== '') ||\n (Array.isArray(value) && value.length > 0);\n\n // Compare actual selected values (not just lengths) to detect controlled value changes\n const currentSelectedValues = selectedIndices.map((i) => options[i]?.value);\n const isSingleValueSynced =\n typeof value === 'string' &&\n currentSelectedValues.length === 1 &&\n currentSelectedValues[0] === value;\n\n const isMultiValueSynced =\n Array.isArray(value) &&\n value.length === currentSelectedValues.length &&\n value.every((v) => currentSelectedValues.includes(v));\n\n const isValueAndSelectedIndicesSynced = isSingleValueSynced || isMultiValueSynced;\n\n if (isUnControlled) {\n if (listViewSelectedFilters[label]) {\n const savedIndices = (listViewSelectedFilters[label] as unknown) as number[];\n setSelectedIndices(savedIndices);\n const inputValue = savedIndices.map((selectionIndex) => options[selectionIndex].value);\n setUncontrolledInputValue(inputValue);\n setFilterChipGroupSelectedFilters((prev) =>\n prev.includes(label) ? prev : [...prev, label],\n );\n } else {\n setSelectedIndices([]);\n }\n } else if (listViewSelectedFilters[label]) {\n const savedIndices = (listViewSelectedFilters[label] as unknown) as number[];\n setSelectedIndices(savedIndices);\n // Sync selected indices when controlled value changes or on first render with options loaded\n } else if (valueNotEmpty && !isValueAndSelectedIndicesSynced && options.length > 0) {\n const newSelectedIndices =\n typeof value === 'string'\n ? [options.findIndex((option) => option.value === value)]\n : options\n .map((option, index) => (value.includes(option.value) ? index : -1))\n .filter((index) => index !== -1);\n setSelectedIndices(newSelectedIndices);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isUnControlled, options]);\n\n const handleClearButtonClick = (): void => {\n props.onClearButtonClick?.({ name: name ?? idBase, values: getValuesArrayFromIndices() });\n props.onChange?.({ name: name ?? idBase, values: [] });\n setFilterChipGroupSelectedFilters((prev) => prev.filter((filter) => filter !== label));\n setListViewSelectedFilters((prev) => {\n const { [label]: _, ...updatedFilters } = prev;\n return updatedFilters;\n });\n setUncontrolledInputValue([]);\n setSelectedIndices([]);\n };\n\n useEffect(() => {\n if (clearFilterCallbackTriggerer) {\n handleClearButtonClick();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [clearFilterCallbackTriggerer]);\n\n useEffect(() => {\n if (!isFirstRender) {\n props.onChange?.({\n name: props.name || idBase,\n values: getValuesArrayFromIndices(),\n });\n if (isUnControlled) {\n setUncontrolledInputValue(getValuesArrayFromIndices());\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [changeCallbackTriggerer]);\n useEffect(() => {\n const isValueEmpty = selectedIndices.length === 0;\n if (!isFirstRender && !isValueEmpty) {\n setFilterChipGroupSelectedFilters((prev) => (prev.includes(label) ? prev : [...prev, label]));\n setListViewSelectedFilters((prev) => ({\n ...prev,\n [label]: selectedIndices as number[],\n }));\n } else if (!isFirstRender && isValueEmpty) {\n setFilterChipGroupSelectedFilters((prev) => prev.filter((filter) => filter !== label));\n setListViewSelectedFilters((prev) => {\n const { [label]: _, ...updatedFilters } = prev;\n return updatedFilters;\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [changeCallbackTriggerer]);\n\n const handleKeyDown = (e: React.KeyboardEvent<Element>): void => {\n onKeyDown?.(e);\n onTriggerKeydown?.({ event: e as React.KeyboardEvent<HTMLInputElement> });\n\n if (e.key === 'Escape') {\n e.preventDefault();\n e.stopPropagation();\n }\n\n if ((e.key === 'Enter' || e.key === ' ') && !isOpen) {\n e.preventDefault();\n e.stopPropagation();\n onTriggerClick();\n }\n };\n return (\n <BaseFilterChip\n label={label}\n value={getFilterChipDisplayValue({\n value: props.value,\n options,\n selectionType,\n uncontrolledInputValue,\n })}\n onClearButtonClick={handleClearButtonClick}\n showClearButton={showClearButton}\n selectionType={selectionType}\n {...rest}\n ref={triggererRef as any}\n onKeyDown={handleKeyDown}\n accessibilityProps={{\n label: accessibilityLabel ?? label,\n hasPopup: getActionListContainerRole(hasFooterAction, 'FilterChipSelectInput'),\n expanded: isOpen,\n controls: `${dropdownBaseId}-actionlist`,\n activeDescendant: activeIndex >= 0 ? `${dropdownBaseId}-${activeIndex}` : undefined,\n }}\n onClick={(e) => {\n onTriggerClick();\n onClick?.(e);\n }}\n onBlur={(e) => {\n onBlur?.(e);\n }}\n isDisabled={isDisabled}\n />\n );\n};\n\nconst FilterChipSelectInput = assignWithoutSideEffects(_FilterChipSelectInput, {\n componentId: dropdownComponentIds.triggers.FilterChipSelectInput,\n});\n\nexport { FilterChipSelectInput };\n"],"names":["_FilterChipSelectInput","props","idBase","useId","onClick","onBlur","onKeyDown","accessibilityLabel","testID","value","onClearButtonClick","label","onChange","name","isDisabled","_props$showClearButto","showClearButton","rest","_objectWithoutProperties","_excluded","_React$useState","React","useState","_React$useState2","_slicedToArray","uncontrolledInputValue","setUncontrolledInputValue","isFirstRender","useFirstRender","_useDropdown","useDropdown","options","selectedIndices","onTriggerClick","onTriggerKeydown","dropdownBaseId","isOpen","activeIndex","hasFooterAction","triggererRef","selectionType","isControlled","setSelectedIndices","controlledValueIndices","changeCallbackTriggerer","isUnControlled","length","undefined","_useListViewFilterCon","useListViewFilterContext","listViewSelectedFilters","setListViewSelectedFilters","_useFilterChipGroupCo","useFilterChipGroupContext","clearFilterCallbackTriggerer","setFilterChipGroupSelectedFilters","getValuesArrayFromIndices","indices","map","selectionIndex","useEffect","valueNotEmpty","trim","Array","isArray","currentSelectedValues","i","_options$i","isSingleValueSynced","isMultiValueSynced","every","v","includes","isValueAndSelectedIndicesSynced","savedIndices","inputValue","prev","concat","_toConsumableArray","newSelectedIndices","findIndex","option","index","filter","handleClearButtonClick","_props$onClearButtonC","_props$onChange","call","values","_","updatedFilters","_toPropertyKey","_props$onChange2","isValueEmpty","_objectSpread","_defineProperty","handleKeyDown","e","event","key","preventDefault","stopPropagation","_jsx","BaseFilterChip","getFilterChipDisplayValue","ref","accessibilityProps","hasPopup","getActionListContainerRole","expanded","controls","activeDescendant","FilterChipSelectInput","assignWithoutSideEffects","componentId","dropdownComponentIds","triggers"],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Resolves an option's human-readable title from its value. Returns an empty string when the
3
+ * option isn't found so callers can decide on a fallback.
4
+ */
5
+ var getTitleFromValue = function getTitleFromValue(options, value) {
6
+ var option = options.find(function (currentOption) {
7
+ return currentOption.value === value;
8
+ });
9
+ return option ? option.title : '';
10
+ };
11
+ /**
12
+ * Resolves the value shown inside the filter chip as option title(s).
13
+ *
14
+ * Shared by the web and native `FilterChipSelectInput` implementations to keep the (non-trivial)
15
+ * controlled-vs-uncontrolled / string-vs-array branching in a single source of truth. In every
16
+ * branch we fall back to the raw value when the title can't be resolved (e.g. options loaded or
17
+ * changed after a selection) so the chip never renders an empty string.
18
+ */
19
+ var getFilterChipDisplayValue = function getFilterChipDisplayValue(_ref) {
20
+ var value = _ref.value,
21
+ options = _ref.options,
22
+ selectionType = _ref.selectionType,
23
+ uncontrolledInputValue = _ref.uncontrolledInputValue;
24
+ var titleForValue = function titleForValue(selectionValue) {
25
+ return getTitleFromValue(options, selectionValue) || selectionValue;
26
+ };
27
+
28
+ // Uncontrolled: derive display value from the internally tracked selection.
29
+ if (value === undefined) {
30
+ if (selectionType === 'single') {
31
+ return uncontrolledInputValue.length > 0 ? titleForValue(uncontrolledInputValue[0]) : '';
32
+ }
33
+ // For multiple selection, hand the chip the option titles (not the raw values) so it can
34
+ // render the selected option name(s) instead of a bare count.
35
+ return uncontrolledInputValue.map(titleForValue);
36
+ }
37
+
38
+ // Controlled: consumer passes option value(s); map them to titles for display.
39
+ if (Array.isArray(value)) {
40
+ return value.map(titleForValue);
41
+ }
42
+ return titleForValue(value);
43
+ };
44
+
45
+ export { getFilterChipDisplayValue };
46
+ //# sourceMappingURL=filterChipSelectInputUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filterChipSelectInputUtils.js","sources":["../../../../../../src/components/Dropdown/filterChipSelectInputUtils.ts"],"sourcesContent":["import type { OptionsType } from './useDropdown';\nimport type { BaseFilterChipProps } from '~components/FilterChip/types';\n\n/**\n * Resolves an option's human-readable title from its value. Returns an empty string when the\n * option isn't found so callers can decide on a fallback.\n */\nconst getTitleFromValue = (options: OptionsType, value: string): string => {\n const option = options.find((currentOption) => currentOption.value === value);\n return option ? option.title : '';\n};\n\ntype GetFilterChipDisplayValueParams = {\n /** Controlled value from props (option value or values). `undefined` when uncontrolled. */\n value: BaseFilterChipProps['value'];\n /** All options currently registered in the dropdown. */\n options: OptionsType;\n selectionType: BaseFilterChipProps['selectionType'];\n /** Internally tracked selection used in the uncontrolled case. */\n uncontrolledInputValue: string[];\n};\n\n/**\n * Resolves the value shown inside the filter chip as option title(s).\n *\n * Shared by the web and native `FilterChipSelectInput` implementations to keep the (non-trivial)\n * controlled-vs-uncontrolled / string-vs-array branching in a single source of truth. In every\n * branch we fall back to the raw value when the title can't be resolved (e.g. options loaded or\n * changed after a selection) so the chip never renders an empty string.\n */\nconst getFilterChipDisplayValue = ({\n value,\n options,\n selectionType,\n uncontrolledInputValue,\n}: GetFilterChipDisplayValueParams): string | string[] => {\n const titleForValue = (selectionValue: string): string =>\n getTitleFromValue(options, selectionValue) || selectionValue;\n\n // Uncontrolled: derive display value from the internally tracked selection.\n if (value === undefined) {\n if (selectionType === 'single') {\n return uncontrolledInputValue.length > 0 ? titleForValue(uncontrolledInputValue[0]) : '';\n }\n // For multiple selection, hand the chip the option titles (not the raw values) so it can\n // render the selected option name(s) instead of a bare count.\n return uncontrolledInputValue.map(titleForValue);\n }\n\n // Controlled: consumer passes option value(s); map them to titles for display.\n if (Array.isArray(value)) {\n return value.map(titleForValue);\n }\n return titleForValue(value);\n};\n\nexport { getFilterChipDisplayValue };\n"],"names":["getTitleFromValue","options","value","option","find","currentOption","title","getFilterChipDisplayValue","_ref","selectionType","uncontrolledInputValue","titleForValue","selectionValue","undefined","length","map","Array","isArray"],"mappings":"AAGA;AACA;AACA;AACA;AACA,IAAMA,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIC,OAAoB,EAAEC,KAAa,EAAa;AACzE,EAAA,IAAMC,MAAM,GAAGF,OAAO,CAACG,IAAI,CAAC,UAACC,aAAa,EAAA;AAAA,IAAA,OAAKA,aAAa,CAACH,KAAK,KAAKA,KAAK,CAAA;GAAC,CAAA,CAAA;AAC7E,EAAA,OAAOC,MAAM,GAAGA,MAAM,CAACG,KAAK,GAAG,EAAE,CAAA;AACnC,CAAC,CAAA;AAYD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAMC,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAAAC,IAAA,EAK2B;AAAA,EAAA,IAJxDN,KAAK,GAAAM,IAAA,CAALN,KAAK;IACLD,OAAO,GAAAO,IAAA,CAAPP,OAAO;IACPQ,aAAa,GAAAD,IAAA,CAAbC,aAAa;IACbC,sBAAsB,GAAAF,IAAA,CAAtBE,sBAAsB,CAAA;AAEtB,EAAA,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,cAAsB,EAAA;AAAA,IAAA,OAC3CZ,iBAAiB,CAACC,OAAO,EAAEW,cAAc,CAAC,IAAIA,cAAc,CAAA;AAAA,GAAA,CAAA;;AAE9D;EACA,IAAIV,KAAK,KAAKW,SAAS,EAAE;IACvB,IAAIJ,aAAa,KAAK,QAAQ,EAAE;AAC9B,MAAA,OAAOC,sBAAsB,CAACI,MAAM,GAAG,CAAC,GAAGH,aAAa,CAACD,sBAAsB,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;AAC1F,KAAA;AACA;AACA;AACA,IAAA,OAAOA,sBAAsB,CAACK,GAAG,CAACJ,aAAa,CAAC,CAAA;AAClD,GAAA;;AAEA;AACA,EAAA,IAAIK,KAAK,CAACC,OAAO,CAACf,KAAK,CAAC,EAAE;AACxB,IAAA,OAAOA,KAAK,CAACa,GAAG,CAACJ,aAAa,CAAC,CAAA;AACjC,GAAA;EACA,OAAOA,aAAa,CAACT,KAAK,CAAC,CAAA;AAC7B;;;;"}
@@ -21,9 +21,9 @@ import { getFocusRingStyles } from '../../utils/getFocusRingStyles/getFocusRingS
21
21
  import { makeSpace } from '../../utils/makeSpace/makeSpace.js';
22
22
  import { BaseBox } from '../Box/BaseBox/BaseBox.web.js';
23
23
  import { makeBorderSize } from '../../utils/makeBorderSize/makeBorderSize.js';
24
+ import { Text } from '../Typography/Text/Text.js';
24
25
  import { Box } from '../Box/Box.js';
25
26
  import { Counter } from '../Counter/Counter.js';
26
- import { Text } from '../Typography/Text/Text.js';
27
27
  import { makeAccessible } from '../../utils/makeAccessible/makeAccessible.web.js';
28
28
  import { getStyledProps } from '../Box/styledProps/getStyledProps.js';
29
29
  import { makeAnalyticsAttribute } from '../../utils/makeAnalyticsAttribute/makeAnalyticsAttribute.js';
@@ -34,7 +34,7 @@ import CloseIcon from '../Icons/CloseIcon/CloseIcon.js';
34
34
  import { assignWithoutSideEffects } from '../../utils/assignWithoutSideEffects/assignWithoutSideEffects.js';
35
35
  import { MetaConstants } from '../../utils/metaAttribute/metaConstants.js';
36
36
 
37
- var _excluded = ["value", "onClearButtonClick", "label", "isDisabled", "selectionType", "onClick", "onKeyDown", "accessibilityProps", "id"];
37
+ var _excluded = ["value", "onClearButtonClick", "label", "isDisabled", "selectionType", "showClearButton", "onClick", "onKeyDown", "accessibilityProps", "id"];
38
38
  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; }
39
39
  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; }
40
40
  var getInteractiveFilterItemStyles = function getInteractiveFilterItemStyles(_ref) {
@@ -83,15 +83,17 @@ var StyledFilterTrigger = /*#__PURE__*/styled.button.withConfig({
83
83
  componentId: "sc-7fl0tf-1"
84
84
  })(function (_ref3) {
85
85
  var theme = _ref3.theme,
86
- $isSelected = _ref3.$isSelected;
86
+ $hasClearButton = _ref3.$hasClearButton;
87
87
  var spacing = theme.spacing;
88
88
  return _objectSpread({
89
89
  backgroundColor: theme.colors.transparent,
90
- borderRadius: $isSelected ? theme.border.radius.none : theme.border.radius.small,
90
+ // When a clear button follows the trigger its right corners butt against the divider,
91
+ // so they're squared off. Without a clear button the trigger is a self-contained pill.
92
+ borderRadius: $hasClearButton ? theme.border.radius.none : theme.border.radius.small,
91
93
  borderTopLeftRadius: theme.border.radius.small,
92
94
  borderBottomLeftRadius: theme.border.radius.small,
93
95
  paddingLeft: makeSpace(spacing[4]),
94
- paddingRight: $isSelected ? makeSpace(spacing[2]) : makeSpace(spacing[3]),
96
+ paddingRight: $hasClearButton ? makeSpace(spacing[2]) : makeSpace(spacing[3]),
95
97
  gap: makeSpace(spacing[2])
96
98
  }, getInteractiveFilterItemStyles({
97
99
  theme: theme
@@ -115,12 +117,31 @@ var StyledFilterCloseButton = /*#__PURE__*/styled.button.withConfig({
115
117
  }));
116
118
  });
117
119
  var renderValue = function renderValue(selectionType, value, isDisabled) {
118
- if (selectionType === 'multiple' && Array.isArray(value)) {
120
+ var valueColor = isDisabled ? 'interactive.text.gray.disabled' : 'interactive.text.gray.normal';
121
+
122
+ // For multiple selection: when a single option is selected we show its name (no redundant
123
+ // "1" counter); once more than one is selected we collapse to a compact counter.
124
+ // Use an explicit type guard so a non-array value (e.g. a plain string returned by
125
+ // getFilterChipDisplayValue) never enters the array branch where .length would be
126
+ // misinterpreted as character count.
127
+ if (selectionType === 'multiple') {
128
+ var valueArray = Array.isArray(value) ? value : value != null ? [value] : [];
129
+ if (valueArray.length === 1) {
130
+ var _valueArray$;
131
+ return /*#__PURE__*/jsx(Text, {
132
+ as: "span",
133
+ size: "small",
134
+ weight: "medium",
135
+ color: valueColor,
136
+ truncateAfterLines: 1,
137
+ children: String((_valueArray$ = valueArray[0]) !== null && _valueArray$ !== void 0 ? _valueArray$ : '')
138
+ });
139
+ }
119
140
  return /*#__PURE__*/jsx(Box, {
120
141
  display: "flex",
121
142
  alignItems: "center",
122
143
  children: /*#__PURE__*/jsx(Counter, {
123
- value: value.length,
144
+ value: valueArray.length,
124
145
  color: "neutral",
125
146
  size: "small"
126
147
  })
@@ -130,8 +151,8 @@ var renderValue = function renderValue(selectionType, value, isDisabled) {
130
151
  as: "span",
131
152
  size: "small",
132
153
  weight: "medium",
133
- color: isDisabled ? 'interactive.text.gray.disabled' : 'interactive.text.gray.normal',
134
- children: value
154
+ color: valueColor,
155
+ children: value != null ? String(value) : ''
135
156
  });
136
157
  };
137
158
  var _BaseFilterChip = function _BaseFilterChip(_ref5, ref) {
@@ -142,18 +163,21 @@ var _BaseFilterChip = function _BaseFilterChip(_ref5, ref) {
142
163
  isDisabled = _ref5.isDisabled,
143
164
  _ref5$selectionType = _ref5.selectionType,
144
165
  selectionType = _ref5$selectionType === void 0 ? 'single' : _ref5$selectionType,
166
+ _ref5$showClearButton = _ref5.showClearButton,
167
+ showClearButton = _ref5$showClearButton === void 0 ? true : _ref5$showClearButton,
145
168
  _onClick = _ref5.onClick,
146
169
  _onKeyDown = _ref5.onKeyDown,
147
170
  accessibilityProps = _ref5.accessibilityProps,
148
171
  id = _ref5.id,
149
172
  rest = _objectWithoutProperties(_ref5, _excluded);
150
173
  var isSelected = selectionType === 'multiple' ? Array.isArray(value) && value.length > 0 : !!value;
174
+ var shouldShowClearButton = isSelected && showClearButton;
151
175
  return /*#__PURE__*/jsxs(StyledFilterChip, {
152
176
  $isDisabled: isDisabled,
153
177
  $isSelected: isSelected,
154
178
  ref: ref,
155
179
  children: [/*#__PURE__*/jsxs(StyledFilterTrigger, _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({
156
- $isSelected: isSelected,
180
+ $hasClearButton: shouldShowClearButton,
157
181
  disabled: isDisabled,
158
182
  id: id,
159
183
  onClick: function onClick(e) {
@@ -191,7 +215,7 @@ var _BaseFilterChip = function _BaseFilterChip(_ref5, ref) {
191
215
  color: "interactive.icon.gray.muted"
192
216
  })
193
217
  })]
194
- })), isSelected ? /*#__PURE__*/jsxs(Fragment, {
218
+ })), shouldShowClearButton ? /*#__PURE__*/jsxs(Fragment, {
195
219
  children: [/*#__PURE__*/jsx(Divider, {
196
220
  orientation: "vertical",
197
221
  variant: isDisabled ? 'muted' : 'subtle'
@@ -1 +1 @@
1
- {"version":3,"file":"BaseFilterChip.web.js","sources":["../../../../../../src/components/FilterChip/BaseFilterChip.web.tsx"],"sourcesContent":["import React from 'react';\nimport type { CSSObject } from 'styled-components';\nimport styled from 'styled-components';\nimport { FILTER_CHIP_HEIGHT } from './tokens';\nimport type { BaseFilterChipProps } from './types';\nimport { makeBorderSize, makeSpace } from '~utils';\nimport type { Theme } from '~components/BladeProvider';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport type { BladeElementRef } from '~utils/types';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\nimport { Box } from '~components/Box';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Counter } from '~components/Counter';\nimport { Divider } from '~components/Divider';\nimport { ChevronDownIcon, CloseIcon } from '~components/Icons';\nimport { Text } from '~components/Typography';\nimport { getFocusRingStyles } from '~utils/getFocusRingStyles';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\n\nconst getInteractiveFilterItemStyles = ({ theme }: { theme: Theme }): CSSObject => {\n return {\n display: 'flex',\n height: '100%',\n alignItems: 'center',\n border: 'none',\n cursor: 'pointer',\n color: 'currentcolor',\n '&:not([disabled]):hover': {\n backgroundColor: theme.colors.interactive.background.gray.faded,\n },\n '&[disabled]': {\n cursor: 'not-allowed',\n },\n '&:focus-visible': {\n ...getFocusRingStyles({ theme }),\n outlineOffset: makeSpace(theme.spacing[1]),\n },\n };\n};\n\nconst StyledFilterChip = styled(BaseBox)<{ $isSelected?: boolean; $isDisabled?: boolean }>(\n ({ theme, $isDisabled, $isSelected }) => {\n return {\n borderWidth: makeBorderSize(theme.border.width.thin),\n borderColor: theme.colors.interactive.border.gray[$isDisabled ? 'disabled' : 'faded'],\n height: FILTER_CHIP_HEIGHT,\n borderRadius: theme.border.radius.small,\n display: 'flex',\n borderStyle: $isSelected ? 'solid' : 'dashed',\n backgroundColor: theme.colors.surface.background.gray.intense,\n color: theme.colors.interactive.text.gray[$isDisabled ? 'disabled' : 'muted'],\n width: 'fit-content',\n };\n },\n);\n\nconst StyledFilterTrigger = styled.button<{ $isSelected?: boolean }>(({ theme, $isSelected }) => {\n const { spacing } = theme;\n return {\n backgroundColor: theme.colors.transparent,\n borderRadius: $isSelected ? theme.border.radius.none : theme.border.radius.small,\n borderTopLeftRadius: theme.border.radius.small,\n borderBottomLeftRadius: theme.border.radius.small,\n paddingLeft: makeSpace(spacing[4]),\n paddingRight: $isSelected ? makeSpace(spacing[2]) : makeSpace(spacing[3]),\n gap: makeSpace(spacing[2]),\n ...getInteractiveFilterItemStyles({ theme }),\n };\n});\n\nconst StyledFilterCloseButton = styled.button(({ theme }) => {\n return {\n backgroundColor: theme.colors.transparent,\n borderTopRightRadius: theme.border.radius.small,\n borderBottomRightRadius: theme.border.radius.small,\n paddingLeft: makeSpace(theme.spacing[2] + theme.spacing[1]),\n paddingRight: makeSpace(theme.spacing[2] + theme.spacing[1]),\n justifyContent: 'center',\n alignItems: 'center',\n ...getInteractiveFilterItemStyles({ theme }),\n };\n});\n\nconst renderValue = (\n selectionType: BaseFilterChipProps['selectionType'],\n value: BaseFilterChipProps['value'],\n isDisabled?: boolean,\n): React.ReactElement => {\n if (selectionType === 'multiple' && Array.isArray(value)) {\n return (\n <Box display=\"flex\" alignItems=\"center\">\n <Counter value={value.length} color=\"neutral\" size=\"small\" />\n </Box>\n );\n }\n\n return (\n <Text\n as=\"span\"\n size=\"small\"\n weight=\"medium\"\n color={isDisabled ? 'interactive.text.gray.disabled' : 'interactive.text.gray.normal'}\n >\n {value}\n </Text>\n );\n};\n\nconst _BaseFilterChip: React.ForwardRefRenderFunction<BladeElementRef, BaseFilterChipProps> = (\n {\n value,\n onClearButtonClick,\n label,\n isDisabled,\n selectionType = 'single',\n onClick,\n onKeyDown,\n accessibilityProps,\n id,\n ...rest\n }: BaseFilterChipProps,\n ref: React.Ref<BladeElementRef>,\n): React.ReactElement => {\n const isSelected =\n selectionType === 'multiple' ? Array.isArray(value) && value.length > 0 : !!value;\n\n return (\n <StyledFilterChip\n $isDisabled={isDisabled}\n $isSelected={isSelected}\n ref={ref as React.Ref<HTMLDivElement>}\n >\n <StyledFilterTrigger\n $isSelected={isSelected}\n disabled={isDisabled}\n id={id}\n onClick={(e) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onClick?.(e as any);\n }}\n onKeyDown={(e) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onKeyDown?.(e as any);\n }}\n {...makeAccessible({\n ...accessibilityProps,\n role: accessibilityProps?.role ?? 'button',\n })}\n {...getStyledProps(rest)}\n {...makeAnalyticsAttribute(rest)}\n {...metaAttribute({ name: 'filter-chip-trigger', testID: rest.testID })}\n >\n <Box display=\"flex\" gap=\"spacing.2\" whiteSpace=\"nowrap\" alignItems=\"center\">\n <Text\n size=\"small\"\n weight=\"medium\"\n color=\"interactive.text.gray.subtle\"\n truncateAfterLines={1}\n >\n {label}\n {isSelected ? ':' : null}\n </Text>\n {isSelected ? renderValue(selectionType, value, isDisabled) : null}\n </Box>\n <Box display=\"flex\" alignItems=\"center\" paddingRight=\"spacing.1\">\n <ChevronDownIcon size=\"small\" color=\"interactive.icon.gray.muted\" />\n </Box>\n </StyledFilterTrigger>\n {isSelected ? (\n <>\n <Divider orientation=\"vertical\" variant={isDisabled ? 'muted' : 'subtle'} />\n <StyledFilterCloseButton\n aria-label={`Clear ${label} value`}\n // value can never be undefined because when it's undefined the button itself doesn't render/\n onClick={() => onClearButtonClick?.({ value: value ?? '' })}\n disabled={isDisabled}\n {...metaAttribute({ name: 'filter-chip-close-button' })}\n >\n <CloseIcon size=\"small\" color=\"interactive.icon.gray.muted\" />\n </StyledFilterCloseButton>\n </>\n ) : null}\n </StyledFilterChip>\n );\n};\n\nconst BaseFilterChip = assignWithoutSideEffects(React.forwardRef(_BaseFilterChip), {\n componentId: MetaConstants.BaseFilterChip,\n});\n\nexport { BaseFilterChip };\n"],"names":["getInteractiveFilterItemStyles","_ref","theme","display","height","alignItems","border","cursor","color","backgroundColor","colors","interactive","background","gray","faded","_objectSpread","getFocusRingStyles","outlineOffset","makeSpace","spacing","StyledFilterChip","styled","BaseBox","withConfig","displayName","componentId","_ref2","$isDisabled","$isSelected","borderWidth","makeBorderSize","width","thin","borderColor","FILTER_CHIP_HEIGHT","borderRadius","radius","small","borderStyle","surface","intense","text","StyledFilterTrigger","button","_ref3","transparent","none","borderTopLeftRadius","borderBottomLeftRadius","paddingLeft","paddingRight","gap","StyledFilterCloseButton","_ref4","borderTopRightRadius","borderBottomRightRadius","justifyContent","renderValue","selectionType","value","isDisabled","Array","isArray","_jsx","Box","children","Counter","length","size","Text","as","weight","_BaseFilterChip","_ref5","ref","_accessibilityProps$r","onClearButtonClick","label","_ref5$selectionType","onClick","onKeyDown","accessibilityProps","id","rest","_objectWithoutProperties","_excluded","isSelected","_jsxs","disabled","e","makeAccessible","role","getStyledProps","makeAnalyticsAttribute","metaAttribute","name","testID","whiteSpace","truncateAfterLines","ChevronDownIcon","_Fragment","Divider","orientation","variant","concat","CloseIcon","BaseFilterChip","assignWithoutSideEffects","React","forwardRef","MetaConstants"],"mappings":"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"}
1
+ {"version":3,"file":"BaseFilterChip.web.js","sources":["../../../../../../src/components/FilterChip/BaseFilterChip.web.tsx"],"sourcesContent":["import React from 'react';\nimport type { CSSObject } from 'styled-components';\nimport styled from 'styled-components';\nimport { FILTER_CHIP_HEIGHT } from './tokens';\nimport type { BaseFilterChipProps } from './types';\nimport { makeBorderSize, makeSpace } from '~utils';\nimport type { Theme } from '~components/BladeProvider';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport type { BladeElementRef } from '~utils/types';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\nimport { Box } from '~components/Box';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Counter } from '~components/Counter';\nimport { Divider } from '~components/Divider';\nimport { ChevronDownIcon, CloseIcon } from '~components/Icons';\nimport { Text } from '~components/Typography';\nimport { getFocusRingStyles } from '~utils/getFocusRingStyles';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\n\nconst getInteractiveFilterItemStyles = ({ theme }: { theme: Theme }): CSSObject => {\n return {\n display: 'flex',\n height: '100%',\n alignItems: 'center',\n border: 'none',\n cursor: 'pointer',\n color: 'currentcolor',\n '&:not([disabled]):hover': {\n backgroundColor: theme.colors.interactive.background.gray.faded,\n },\n '&[disabled]': {\n cursor: 'not-allowed',\n },\n '&:focus-visible': {\n ...getFocusRingStyles({ theme }),\n outlineOffset: makeSpace(theme.spacing[1]),\n },\n };\n};\n\nconst StyledFilterChip = styled(BaseBox)<{ $isSelected?: boolean; $isDisabled?: boolean }>(\n ({ theme, $isDisabled, $isSelected }) => {\n return {\n borderWidth: makeBorderSize(theme.border.width.thin),\n borderColor: theme.colors.interactive.border.gray[$isDisabled ? 'disabled' : 'faded'],\n height: FILTER_CHIP_HEIGHT,\n borderRadius: theme.border.radius.small,\n display: 'flex',\n borderStyle: $isSelected ? 'solid' : 'dashed',\n backgroundColor: theme.colors.surface.background.gray.intense,\n color: theme.colors.interactive.text.gray[$isDisabled ? 'disabled' : 'muted'],\n width: 'fit-content',\n };\n },\n);\n\nconst StyledFilterTrigger = styled.button<{ $hasClearButton?: boolean }>(\n ({ theme, $hasClearButton }) => {\n const { spacing } = theme;\n return {\n backgroundColor: theme.colors.transparent,\n // When a clear button follows the trigger its right corners butt against the divider,\n // so they're squared off. Without a clear button the trigger is a self-contained pill.\n borderRadius: $hasClearButton ? theme.border.radius.none : theme.border.radius.small,\n borderTopLeftRadius: theme.border.radius.small,\n borderBottomLeftRadius: theme.border.radius.small,\n paddingLeft: makeSpace(spacing[4]),\n paddingRight: $hasClearButton ? makeSpace(spacing[2]) : makeSpace(spacing[3]),\n gap: makeSpace(spacing[2]),\n ...getInteractiveFilterItemStyles({ theme }),\n };\n },\n);\n\nconst StyledFilterCloseButton = styled.button(({ theme }) => {\n return {\n backgroundColor: theme.colors.transparent,\n borderTopRightRadius: theme.border.radius.small,\n borderBottomRightRadius: theme.border.radius.small,\n paddingLeft: makeSpace(theme.spacing[2] + theme.spacing[1]),\n paddingRight: makeSpace(theme.spacing[2] + theme.spacing[1]),\n justifyContent: 'center',\n alignItems: 'center',\n ...getInteractiveFilterItemStyles({ theme }),\n };\n});\n\nconst renderValue = (\n selectionType: BaseFilterChipProps['selectionType'],\n value: BaseFilterChipProps['value'],\n isDisabled?: boolean,\n): React.ReactElement => {\n const valueColor = isDisabled ? 'interactive.text.gray.disabled' : 'interactive.text.gray.normal';\n\n // For multiple selection: when a single option is selected we show its name (no redundant\n // \"1\" counter); once more than one is selected we collapse to a compact counter.\n // Use an explicit type guard so a non-array value (e.g. a plain string returned by\n // getFilterChipDisplayValue) never enters the array branch where .length would be\n // misinterpreted as character count.\n if (selectionType === 'multiple') {\n const valueArray = Array.isArray(value) ? value : value != null ? [value] : [];\n if (valueArray.length === 1) {\n return (\n <Text as=\"span\" size=\"small\" weight=\"medium\" color={valueColor} truncateAfterLines={1}>\n {String(valueArray[0] ?? '')}\n </Text>\n );\n }\n return (\n <Box display=\"flex\" alignItems=\"center\">\n <Counter value={valueArray.length} color=\"neutral\" size=\"small\" />\n </Box>\n );\n }\n\n return (\n <Text as=\"span\" size=\"small\" weight=\"medium\" color={valueColor}>\n {value != null ? String(value) : ''}\n </Text>\n );\n};\n\nconst _BaseFilterChip: React.ForwardRefRenderFunction<BladeElementRef, BaseFilterChipProps> = (\n {\n value,\n onClearButtonClick,\n label,\n isDisabled,\n selectionType = 'single',\n showClearButton = true,\n onClick,\n onKeyDown,\n accessibilityProps,\n id,\n ...rest\n }: BaseFilterChipProps,\n ref: React.Ref<BladeElementRef>,\n): React.ReactElement => {\n const isSelected =\n selectionType === 'multiple' ? Array.isArray(value) && value.length > 0 : !!value;\n const shouldShowClearButton = isSelected && showClearButton;\n\n return (\n <StyledFilterChip\n $isDisabled={isDisabled}\n $isSelected={isSelected}\n ref={ref as React.Ref<HTMLDivElement>}\n >\n <StyledFilterTrigger\n $hasClearButton={shouldShowClearButton}\n disabled={isDisabled}\n id={id}\n onClick={(e) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onClick?.(e as any);\n }}\n onKeyDown={(e) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onKeyDown?.(e as any);\n }}\n {...makeAccessible({\n ...accessibilityProps,\n role: accessibilityProps?.role ?? 'button',\n })}\n {...getStyledProps(rest)}\n {...makeAnalyticsAttribute(rest)}\n {...metaAttribute({ name: 'filter-chip-trigger', testID: rest.testID })}\n >\n <Box display=\"flex\" gap=\"spacing.2\" whiteSpace=\"nowrap\" alignItems=\"center\">\n <Text\n size=\"small\"\n weight=\"medium\"\n color=\"interactive.text.gray.subtle\"\n truncateAfterLines={1}\n >\n {label}\n {isSelected ? ':' : null}\n </Text>\n {isSelected ? renderValue(selectionType, value, isDisabled) : null}\n </Box>\n <Box display=\"flex\" alignItems=\"center\" paddingRight=\"spacing.1\">\n <ChevronDownIcon size=\"small\" color=\"interactive.icon.gray.muted\" />\n </Box>\n </StyledFilterTrigger>\n {shouldShowClearButton ? (\n <>\n <Divider orientation=\"vertical\" variant={isDisabled ? 'muted' : 'subtle'} />\n <StyledFilterCloseButton\n aria-label={`Clear ${label} value`}\n // value can never be undefined because when it's undefined the button itself doesn't render/\n onClick={() => onClearButtonClick?.({ value: value ?? '' })}\n disabled={isDisabled}\n {...metaAttribute({ name: 'filter-chip-close-button' })}\n >\n <CloseIcon size=\"small\" color=\"interactive.icon.gray.muted\" />\n </StyledFilterCloseButton>\n </>\n ) : null}\n </StyledFilterChip>\n );\n};\n\nconst BaseFilterChip = assignWithoutSideEffects(React.forwardRef(_BaseFilterChip), {\n componentId: MetaConstants.BaseFilterChip,\n});\n\nexport { BaseFilterChip };\n"],"names":["getInteractiveFilterItemStyles","_ref","theme","display","height","alignItems","border","cursor","color","backgroundColor","colors","interactive","background","gray","faded","_objectSpread","getFocusRingStyles","outlineOffset","makeSpace","spacing","StyledFilterChip","styled","BaseBox","withConfig","displayName","componentId","_ref2","$isDisabled","$isSelected","borderWidth","makeBorderSize","width","thin","borderColor","FILTER_CHIP_HEIGHT","borderRadius","radius","small","borderStyle","surface","intense","text","StyledFilterTrigger","button","_ref3","$hasClearButton","transparent","none","borderTopLeftRadius","borderBottomLeftRadius","paddingLeft","paddingRight","gap","StyledFilterCloseButton","_ref4","borderTopRightRadius","borderBottomRightRadius","justifyContent","renderValue","selectionType","value","isDisabled","valueColor","valueArray","Array","isArray","length","_valueArray$","_jsx","Text","as","size","weight","truncateAfterLines","children","String","Box","Counter","_BaseFilterChip","_ref5","ref","_accessibilityProps$r","onClearButtonClick","label","_ref5$selectionType","_ref5$showClearButton","showClearButton","onClick","onKeyDown","accessibilityProps","id","rest","_objectWithoutProperties","_excluded","isSelected","shouldShowClearButton","_jsxs","disabled","e","makeAccessible","role","getStyledProps","makeAnalyticsAttribute","metaAttribute","name","testID","whiteSpace","ChevronDownIcon","_Fragment","Divider","orientation","variant","concat","CloseIcon","BaseFilterChip","assignWithoutSideEffects","React","forwardRef","MetaConstants"],"mappings":"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"}
@@ -0,0 +1,196 @@
1
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
+ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
3
+ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
4
+ import React__default from 'react';
5
+ import styled from 'styled-components';
6
+ import { SegmentedControlContext } from './SegmentedControlContext.js';
7
+ import { SegmentedControlIndicator } from './SegmentedControlIndicator.web.js';
8
+ import { containerHeight, gap, containerPadding, containerBorderRadius } from './segmentedControlTokens.js';
9
+ import { useControllableState } from '../../utils/useControllable.js';
10
+ import { useId } from '../../utils/useId.js';
11
+ import { useMergeRefs } from '../../utils/useMergeRefs.js';
12
+ import '../../utils/makeAccessible/index.js';
13
+ import '../../utils/metaAttribute/index.js';
14
+ import '../../utils/makeAnalyticsAttribute/index.js';
15
+ import '../Box/styledProps/index.js';
16
+ import '../../utils/index.js';
17
+ import getIn from '../../utils/lodashButBetter/get.js';
18
+ import '../Form/index.js';
19
+ import '../Box/BaseBox/index.js';
20
+ import '../BladeProvider/index.js';
21
+ import { formHintLeftLabelMarginLeft } from '../Input/BaseInput/baseInputTokens.js';
22
+ import '../../utils/makeSize/index.js';
23
+ import { getHintType } from '../Input/BaseInput/BaseInput.js';
24
+ import { jsxs, jsx } from 'react/jsx-runtime';
25
+ import { makeSpace } from '../../utils/makeSpace/makeSpace.js';
26
+ import useTheme from '../BladeProvider/useTheme.js';
27
+ import { useBreakpoint } from '../../utils/useBreakpoint/useBreakpoint.js';
28
+ import { makeAccessible } from '../../utils/makeAccessible/makeAccessible.web.js';
29
+ import { metaAttribute } from '../../utils/metaAttribute/metaAttribute.web.js';
30
+ import { MetaConstants } from '../../utils/metaAttribute/metaConstants.js';
31
+ import { makeAnalyticsAttribute } from '../../utils/makeAnalyticsAttribute/makeAnalyticsAttribute.js';
32
+ import { BaseBox } from '../Box/BaseBox/BaseBox.web.js';
33
+ import { getStyledProps } from '../Box/styledProps/getStyledProps.js';
34
+ import { FormLabel } from '../Form/FormLabel.js';
35
+ import { makeSize } from '../../utils/makeSize/makeSize.js';
36
+ import { FormHint } from '../Form/FormHint.js';
37
+
38
+ var _excluded = ["children", "defaultValue", "value", "onChange", "size", "isDisabled", "isRequired", "name", "label", "accessibilityLabel", "labelPosition", "helpText", "errorText", "validationState", "necessityIndicator", "testID"];
39
+ 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; }
40
+ 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; }
41
+ var StyledSegmentedControlContainer = /*#__PURE__*/styled.div.withConfig({
42
+ displayName: "SegmentedControlweb__StyledSegmentedControlContainer",
43
+ componentId: "ngewlz-0"
44
+ })(function (_ref) {
45
+ var theme = _ref.theme,
46
+ $size = _ref.$size;
47
+ return {
48
+ display: 'flex',
49
+ width: '100%',
50
+ height: makeSpace(containerHeight[$size]),
51
+ alignItems: 'center',
52
+ gap: makeSpace(getIn(theme, gap[$size])),
53
+ padding: makeSpace(getIn(theme, containerPadding[$size])),
54
+ backgroundColor: theme.colors.interactive.background.gray.faded,
55
+ borderRadius: makeSpace(theme.border.radius[containerBorderRadius[$size]]),
56
+ position: 'relative'
57
+ };
58
+ });
59
+ var _SegmentedControl = function _SegmentedControl(_ref2, ref) {
60
+ var children = _ref2.children,
61
+ defaultValue = _ref2.defaultValue,
62
+ value = _ref2.value,
63
+ _onChange = _ref2.onChange,
64
+ _ref2$size = _ref2.size,
65
+ size = _ref2$size === void 0 ? 'medium' : _ref2$size,
66
+ _ref2$isDisabled = _ref2.isDisabled,
67
+ isDisabled = _ref2$isDisabled === void 0 ? false : _ref2$isDisabled,
68
+ _ref2$isRequired = _ref2.isRequired,
69
+ isRequired = _ref2$isRequired === void 0 ? false : _ref2$isRequired,
70
+ name = _ref2.name,
71
+ label = _ref2.label,
72
+ accessibilityLabel = _ref2.accessibilityLabel,
73
+ _ref2$labelPosition = _ref2.labelPosition,
74
+ labelPosition = _ref2$labelPosition === void 0 ? 'top' : _ref2$labelPosition,
75
+ helpText = _ref2.helpText,
76
+ errorText = _ref2.errorText,
77
+ _ref2$validationState = _ref2.validationState,
78
+ validationState = _ref2$validationState === void 0 ? 'none' : _ref2$validationState,
79
+ _ref2$necessityIndica = _ref2.necessityIndicator,
80
+ necessityIndicator = _ref2$necessityIndica === void 0 ? 'none' : _ref2$necessityIndica,
81
+ testID = _ref2.testID,
82
+ rest = _objectWithoutProperties(_ref2, _excluded);
83
+ var _useControllableState = useControllableState({
84
+ defaultValue: defaultValue,
85
+ value: value,
86
+ onChange: function onChange(val) {
87
+ _onChange === null || _onChange === void 0 || _onChange({
88
+ name: name,
89
+ value: val
90
+ });
91
+ }
92
+ }),
93
+ _useControllableState2 = _slicedToArray(_useControllableState, 2),
94
+ selectedValue = _useControllableState2[0],
95
+ setSelectedValue = _useControllableState2[1];
96
+ var baseId = useId('segmented-control');
97
+ var containerRef = React__default.useRef(null);
98
+ var mergedRef = useMergeRefs(containerRef, ref);
99
+ var itemRefs = React__default.useRef(new Map());
100
+ var labelId = "".concat(baseId, "-label");
101
+ var totalItems = React__default.Children.count(children);
102
+ var firstEnabledValue = React__default.useMemo(function () {
103
+ var first;
104
+ React__default.Children.forEach(children, function (child) {
105
+ if (first !== undefined) return;
106
+ if (/*#__PURE__*/React__default.isValidElement(child) && !child.props.isDisabled) {
107
+ first = child.props.value;
108
+ }
109
+ });
110
+ return first;
111
+ }, [children]);
112
+ var contextValue = React__default.useMemo(function () {
113
+ return {
114
+ selectedValue: selectedValue,
115
+ setSelectedValue: setSelectedValue,
116
+ size: size,
117
+ isDisabled: isDisabled,
118
+ name: name,
119
+ baseId: baseId,
120
+ totalItems: totalItems,
121
+ firstEnabledValue: firstEnabledValue,
122
+ itemRefs: itemRefs
123
+ };
124
+ }, [selectedValue, setSelectedValue, size, isDisabled, name, baseId, totalItems, firstEnabledValue]);
125
+ var _useTheme = useTheme(),
126
+ theme = _useTheme.theme;
127
+ var _useBreakpoint = useBreakpoint({
128
+ breakpoints: theme.breakpoints
129
+ }),
130
+ matchedDeviceType = _useBreakpoint.matchedDeviceType;
131
+ var isLabelLeftPositioned = labelPosition === 'left' && matchedDeviceType === 'desktop';
132
+ var willRenderHintText = Boolean(helpText) || validationState === 'error' && Boolean(errorText);
133
+ var showError = validationState === 'error' && errorText;
134
+ var showHelpText = !showError && helpText;
135
+ var accessibilityText = "".concat(showError ? errorText : '', " ").concat(showHelpText ? helpText : '').trim();
136
+ var ariaLabel = label ? undefined : accessibilityLabel || name;
137
+ var segmentedControlElement = /*#__PURE__*/jsxs(StyledSegmentedControlContainer, _objectSpread(_objectSpread(_objectSpread(_objectSpread({
138
+ ref: mergedRef,
139
+ $size: size
140
+ }, makeAccessible({
141
+ role: 'radiogroup',
142
+ labelledBy: label ? labelId : undefined,
143
+ label: ariaLabel,
144
+ required: isRequired
145
+ })), metaAttribute({
146
+ name: MetaConstants.SegmentedControl,
147
+ testID: testID
148
+ })), makeAnalyticsAttribute(rest)), {}, {
149
+ children: [children, /*#__PURE__*/jsx(SegmentedControlIndicator, {
150
+ containerRef: containerRef
151
+ })]
152
+ }));
153
+ return /*#__PURE__*/jsx(SegmentedControlContext.Provider, {
154
+ value: contextValue,
155
+ children: /*#__PURE__*/jsxs(BaseBox, _objectSpread(_objectSpread({
156
+ display: "flex",
157
+ flexDirection: "column",
158
+ width: "100%"
159
+ }, getStyledProps(rest)), {}, {
160
+ children: [/*#__PURE__*/jsxs(BaseBox, {
161
+ display: "flex",
162
+ flexDirection: isLabelLeftPositioned ? 'row' : 'column',
163
+ alignItems: isLabelLeftPositioned ? 'center' : undefined,
164
+ children: [label ? /*#__PURE__*/jsx(FormLabel, {
165
+ as: "span",
166
+ necessityIndicator: necessityIndicator,
167
+ position: labelPosition,
168
+ id: labelId,
169
+ accessibilityText: accessibilityText && ",".concat(accessibilityText),
170
+ size: size,
171
+ children: label
172
+ }) : null, /*#__PURE__*/jsx(BaseBox, {
173
+ display: "flex",
174
+ flexDirection: "column",
175
+ flex: "1",
176
+ children: segmentedControlElement
177
+ })]
178
+ }), willRenderHintText && /*#__PURE__*/jsx(BaseBox, {
179
+ marginLeft: makeSize(label && isLabelLeftPositioned ? formHintLeftLabelMarginLeft[size] : 0),
180
+ children: /*#__PURE__*/jsx(FormHint, {
181
+ type: getHintType({
182
+ validationState: validationState,
183
+ hasHelpText: Boolean(helpText)
184
+ }),
185
+ helpText: helpText,
186
+ errorText: errorText,
187
+ size: size
188
+ })
189
+ })]
190
+ }))
191
+ });
192
+ };
193
+ var SegmentedControl = /*#__PURE__*/React__default.forwardRef(_SegmentedControl);
194
+
195
+ export { SegmentedControl };
196
+ //# sourceMappingURL=SegmentedControl.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SegmentedControl.web.js","sources":["../../../../../../src/components/SegmentedControl/SegmentedControl.web.tsx"],"sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport type { SegmentedControlProps } from './types';\nimport { SegmentedControlContext } from './SegmentedControlContext';\nimport { SegmentedControlIndicator } from './SegmentedControlIndicator.web';\nimport {\n containerPadding,\n containerBorderRadius,\n containerHeight,\n gap,\n} from './segmentedControlTokens';\nimport { useControllableState } from '~utils/useControllable';\nimport { useId } from '~utils/useId';\nimport { useMergeRefs } from '~utils/useMergeRefs';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport { makeSpace, useBreakpoint } from '~utils';\nimport getIn from '~utils/lodashButBetter/get';\nimport type { BladeElementRef } from '~utils/types';\nimport { FormLabel, FormHint } from '~components/Form';\nimport BaseBox from '~components/Box/BaseBox';\nimport { useTheme } from '~components/BladeProvider';\nimport { formHintLeftLabelMarginLeft } from '~components/Input/BaseInput/baseInputTokens';\nimport { makeSize } from '~utils/makeSize';\nimport { getHintType } from '~components/Input/BaseInput/BaseInput';\n\nconst StyledSegmentedControlContainer = styled.div<{\n $size: NonNullable<SegmentedControlProps['size']>;\n}>(({ theme, $size }) => ({\n display: 'flex',\n width: '100%',\n height: makeSpace(containerHeight[$size]),\n alignItems: 'center',\n gap: makeSpace(getIn(theme, gap[$size])),\n padding: makeSpace(getIn(theme, containerPadding[$size])),\n backgroundColor: theme.colors.interactive.background.gray.faded,\n borderRadius: makeSpace(theme.border.radius[containerBorderRadius[$size]]),\n position: 'relative',\n}));\n\nconst _SegmentedControl = (\n {\n children,\n defaultValue,\n value,\n onChange,\n size = 'medium',\n isDisabled = false,\n isRequired = false,\n name,\n label,\n accessibilityLabel,\n labelPosition = 'top',\n helpText,\n errorText,\n validationState = 'none',\n necessityIndicator = 'none',\n testID,\n ...rest\n }: SegmentedControlProps,\n ref: React.Ref<BladeElementRef>,\n): React.ReactElement => {\n const [selectedValue, setSelectedValue] = useControllableState({\n defaultValue,\n value,\n onChange: (val) => {\n onChange?.({ name, value: val });\n },\n });\n\n const baseId = useId('segmented-control');\n const containerRef = React.useRef<HTMLDivElement>(null);\n const mergedRef = useMergeRefs(containerRef, ref as React.Ref<HTMLDivElement>);\n const itemRefs = React.useRef<Map<string, HTMLElement>>(new Map());\n const labelId = `${baseId}-label`;\n const totalItems = React.Children.count(children);\n\n const firstEnabledValue = React.useMemo(() => {\n let first: string | undefined;\n React.Children.forEach(children, (child) => {\n if (first !== undefined) return;\n if (React.isValidElement(child) && !child.props.isDisabled) {\n first = child.props.value;\n }\n });\n return first;\n }, [children]);\n\n const contextValue = React.useMemo(\n () => ({\n selectedValue,\n setSelectedValue,\n size,\n isDisabled,\n name,\n baseId,\n totalItems,\n firstEnabledValue,\n itemRefs,\n }),\n [\n selectedValue,\n setSelectedValue,\n size,\n isDisabled,\n name,\n baseId,\n totalItems,\n firstEnabledValue,\n ],\n );\n\n const { theme } = useTheme();\n const { matchedDeviceType } = useBreakpoint({ breakpoints: theme.breakpoints });\n const isLabelLeftPositioned = labelPosition === 'left' && matchedDeviceType === 'desktop';\n\n const willRenderHintText =\n Boolean(helpText) || (validationState === 'error' && Boolean(errorText));\n\n const showError = validationState === 'error' && errorText;\n const showHelpText = !showError && helpText;\n const accessibilityText = `${showError ? errorText : ''} ${showHelpText ? helpText : ''}`.trim();\n const ariaLabel = label ? undefined : accessibilityLabel || name;\n\n const segmentedControlElement = (\n <StyledSegmentedControlContainer\n ref={mergedRef}\n $size={size}\n {...makeAccessible({\n role: 'radiogroup',\n labelledBy: label ? labelId : undefined,\n label: ariaLabel,\n required: isRequired,\n })}\n {...metaAttribute({ name: MetaConstants.SegmentedControl, testID })}\n {...makeAnalyticsAttribute(rest)}\n >\n {children}\n <SegmentedControlIndicator containerRef={containerRef} />\n </StyledSegmentedControlContainer>\n );\n\n return (\n <SegmentedControlContext.Provider value={contextValue}>\n <BaseBox display=\"flex\" flexDirection=\"column\" width=\"100%\" {...getStyledProps(rest)}>\n <BaseBox\n display=\"flex\"\n flexDirection={isLabelLeftPositioned ? 'row' : 'column'}\n alignItems={isLabelLeftPositioned ? 'center' : undefined}\n >\n {label ? (\n <FormLabel\n as=\"span\"\n necessityIndicator={necessityIndicator}\n position={labelPosition}\n id={labelId}\n accessibilityText={accessibilityText && `,${accessibilityText}`}\n size={size}\n >\n {label}\n </FormLabel>\n ) : null}\n\n <BaseBox display=\"flex\" flexDirection=\"column\" flex=\"1\">\n {segmentedControlElement}\n </BaseBox>\n </BaseBox>\n\n {willRenderHintText && (\n <BaseBox\n marginLeft={makeSize(\n label && isLabelLeftPositioned ? formHintLeftLabelMarginLeft[size] : 0,\n )}\n >\n <FormHint\n type={getHintType({ validationState, hasHelpText: Boolean(helpText) })}\n helpText={helpText}\n errorText={errorText}\n size={size}\n />\n </BaseBox>\n )}\n </BaseBox>\n </SegmentedControlContext.Provider>\n );\n};\n\nconst SegmentedControl = React.forwardRef(_SegmentedControl);\n\nexport { SegmentedControl };\n"],"names":["StyledSegmentedControlContainer","styled","div","withConfig","displayName","componentId","_ref","theme","$size","display","width","height","makeSpace","containerHeight","alignItems","gap","getIn","padding","containerPadding","backgroundColor","colors","interactive","background","gray","faded","borderRadius","border","radius","containerBorderRadius","position","_SegmentedControl","_ref2","ref","children","defaultValue","value","onChange","_ref2$size","size","_ref2$isDisabled","isDisabled","_ref2$isRequired","isRequired","name","label","accessibilityLabel","_ref2$labelPosition","labelPosition","helpText","errorText","_ref2$validationState","validationState","_ref2$necessityIndica","necessityIndicator","testID","rest","_objectWithoutProperties","_excluded","_useControllableState","useControllableState","val","_useControllableState2","_slicedToArray","selectedValue","setSelectedValue","baseId","useId","containerRef","React","useRef","mergedRef","useMergeRefs","itemRefs","Map","labelId","concat","totalItems","Children","count","firstEnabledValue","useMemo","first","forEach","child","undefined","isValidElement","props","contextValue","_useTheme","useTheme","_useBreakpoint","useBreakpoint","breakpoints","matchedDeviceType","isLabelLeftPositioned","willRenderHintText","Boolean","showError","showHelpText","accessibilityText","trim","ariaLabel","segmentedControlElement","_jsxs","_objectSpread","makeAccessible","role","labelledBy","required","metaAttribute","MetaConstants","SegmentedControl","makeAnalyticsAttribute","_jsx","SegmentedControlIndicator","SegmentedControlContext","Provider","BaseBox","flexDirection","getStyledProps","FormLabel","as","id","flex","marginLeft","makeSize","formHintLeftLabelMarginLeft","FormHint","type","getHintType","hasHelpText","forwardRef"],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import React__default from 'react';
2
+ import '../../utils/logger/index.js';
3
+ import { throwBladeError } from '../../utils/logger/logger.js';
4
+
5
+ var SegmentedControlContext = /*#__PURE__*/React__default.createContext(null);
6
+ var useSegmentedControlContext = function useSegmentedControlContext() {
7
+ var context = React__default.useContext(SegmentedControlContext);
8
+ if (!context) {
9
+ throwBladeError({
10
+ moduleName: 'SegmentedControl',
11
+ message: 'useSegmentedControlContext must be used within SegmentedControl'
12
+ });
13
+ }
14
+ return context;
15
+ };
16
+
17
+ export { SegmentedControlContext, useSegmentedControlContext };
18
+ //# sourceMappingURL=SegmentedControlContext.js.map