@chayns-components/core 5.5.30 → 5.5.34

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 (249) hide show
  1. package/lib/cjs/components/accordion/Accordion.js +10 -0
  2. package/lib/cjs/components/accordion/Accordion.js.map +1 -1
  3. package/lib/cjs/components/accordion/Accordion.styles.js +0 -2
  4. package/lib/cjs/components/accordion/Accordion.styles.js.map +1 -1
  5. package/lib/cjs/components/amount-control/AmountControl.js +14 -3
  6. package/lib/cjs/components/amount-control/AmountControl.js.map +1 -1
  7. package/lib/cjs/components/amount-control/AmountControl.styles.js +0 -17
  8. package/lib/cjs/components/amount-control/AmountControl.styles.js.map +1 -1
  9. package/lib/cjs/components/button/Button.js +6 -1
  10. package/lib/cjs/components/button/Button.js.map +1 -1
  11. package/lib/cjs/components/button/Button.styles.js +0 -10
  12. package/lib/cjs/components/button/Button.styles.js.map +1 -1
  13. package/lib/cjs/components/checkbox/Checkbox.js +8 -1
  14. package/lib/cjs/components/checkbox/Checkbox.js.map +1 -1
  15. package/lib/cjs/components/checkbox/Checkbox.styles.js +0 -10
  16. package/lib/cjs/components/checkbox/Checkbox.styles.js.map +1 -1
  17. package/lib/cjs/components/combobox/ComboBox.js +7 -1
  18. package/lib/cjs/components/combobox/ComboBox.js.map +1 -1
  19. package/lib/cjs/components/combobox/ComboBox.styles.js +3 -10
  20. package/lib/cjs/components/combobox/ComboBox.styles.js.map +1 -1
  21. package/lib/cjs/components/context-menu/ContextMenu.js +12 -0
  22. package/lib/cjs/components/context-menu/ContextMenu.js.map +1 -1
  23. package/lib/cjs/components/context-menu/ContextMenu.styles.js +7 -35
  24. package/lib/cjs/components/context-menu/ContextMenu.styles.js.map +1 -1
  25. package/lib/cjs/components/file-list/file-item/FileItem.js +7 -0
  26. package/lib/cjs/components/file-list/file-item/FileItem.js.map +1 -1
  27. package/lib/cjs/components/file-list/file-item/FileItem.styles.js +1 -11
  28. package/lib/cjs/components/file-list/file-item/FileItem.styles.js.map +1 -1
  29. package/lib/cjs/components/file-select/FileSelect.js +12 -3
  30. package/lib/cjs/components/file-select/FileSelect.js.map +1 -1
  31. package/lib/cjs/components/file-select/FileSelect.styles.js +3 -9
  32. package/lib/cjs/components/file-select/FileSelect.styles.js.map +1 -1
  33. package/lib/cjs/components/filter/Filter.js +44 -16
  34. package/lib/cjs/components/filter/Filter.js.map +1 -1
  35. package/lib/cjs/components/filter/Filter.styles.js +2 -2
  36. package/lib/cjs/components/filter/Filter.styles.js.map +1 -1
  37. package/lib/cjs/components/filter-buttons/filter-button/FilterButton.js +9 -1
  38. package/lib/cjs/components/filter-buttons/filter-button/FilterButton.js.map +1 -1
  39. package/lib/cjs/components/filter-buttons/filter-button/FilterButton.styles.js +0 -2
  40. package/lib/cjs/components/filter-buttons/filter-button/FilterButton.styles.js.map +1 -1
  41. package/lib/cjs/components/grid-image/GridImage.js +7 -1
  42. package/lib/cjs/components/grid-image/GridImage.js.map +1 -1
  43. package/lib/cjs/components/grid-image/GridImage.styles.js +5 -10
  44. package/lib/cjs/components/grid-image/GridImage.styles.js.map +1 -1
  45. package/lib/cjs/components/grouped-image/GroupedImage.js +8 -2
  46. package/lib/cjs/components/grouped-image/GroupedImage.js.map +1 -1
  47. package/lib/cjs/components/grouped-image/GroupedImage.styles.js +3 -8
  48. package/lib/cjs/components/grouped-image/GroupedImage.styles.js.map +1 -1
  49. package/lib/cjs/components/highlight-slider/highlight-slider-item/HighlightSliderItem.js +7 -2
  50. package/lib/cjs/components/highlight-slider/highlight-slider-item/HighlightSliderItem.js.map +1 -1
  51. package/lib/cjs/components/highlight-slider/highlight-slider-item/HighlightSliderItem.styles.js +5 -10
  52. package/lib/cjs/components/highlight-slider/highlight-slider-item/HighlightSliderItem.styles.js.map +1 -1
  53. package/lib/cjs/components/icon/Icon.js +10 -2
  54. package/lib/cjs/components/icon/Icon.js.map +1 -1
  55. package/lib/cjs/components/icon/Icon.styles.js +6 -32
  56. package/lib/cjs/components/icon/Icon.styles.js.map +1 -1
  57. package/lib/cjs/components/input/Input.js +14 -2
  58. package/lib/cjs/components/input/Input.js.map +1 -1
  59. package/lib/cjs/components/input/Input.styles.js +0 -3
  60. package/lib/cjs/components/input/Input.styles.js.map +1 -1
  61. package/lib/cjs/components/list/List.utils.js +3 -9
  62. package/lib/cjs/components/list/List.utils.js.map +1 -1
  63. package/lib/cjs/components/list/list-item/ListItem.js +13 -2
  64. package/lib/cjs/components/list/list-item/ListItem.js.map +1 -1
  65. package/lib/cjs/components/list/list-item/ListItem.styles.js +9 -2
  66. package/lib/cjs/components/list/list-item/ListItem.styles.js.map +1 -1
  67. package/lib/cjs/components/list/list-item/list-item-head/ListItemHead.js +5 -4
  68. package/lib/cjs/components/list/list-item/list-item-head/ListItemHead.js.map +1 -1
  69. package/lib/cjs/components/list/list-item/list-item-head/list-item-image/ListItemImage.js +2 -5
  70. package/lib/cjs/components/list/list-item/list-item-head/list-item-image/ListItemImage.js.map +1 -1
  71. package/lib/cjs/components/multi-action-button/action-button/ActionButton.js +8 -2
  72. package/lib/cjs/components/multi-action-button/action-button/ActionButton.js.map +1 -1
  73. package/lib/cjs/components/multi-action-button/action-button/ActionButton.styles.js +3 -12
  74. package/lib/cjs/components/multi-action-button/action-button/ActionButton.styles.js.map +1 -1
  75. package/lib/cjs/components/radio-button/RadioButton.js +7 -1
  76. package/lib/cjs/components/radio-button/RadioButton.js.map +1 -1
  77. package/lib/cjs/components/radio-button/RadioButton.styles.js +0 -10
  78. package/lib/cjs/components/radio-button/RadioButton.styles.js.map +1 -1
  79. package/lib/cjs/components/search-input/SearchInput.js +9 -10
  80. package/lib/cjs/components/search-input/SearchInput.js.map +1 -1
  81. package/lib/cjs/components/search-input/SearchInput.styles.js +5 -15
  82. package/lib/cjs/components/search-input/SearchInput.styles.js.map +1 -1
  83. package/lib/cjs/components/sharing-bar/SharingBar.js +13 -0
  84. package/lib/cjs/components/sharing-bar/SharingBar.js.map +1 -1
  85. package/lib/cjs/components/sharing-bar/SharingBar.styles.js +1 -5
  86. package/lib/cjs/components/sharing-bar/SharingBar.styles.js.map +1 -1
  87. package/lib/cjs/components/slider/Slider.js +13 -6
  88. package/lib/cjs/components/slider/Slider.js.map +1 -1
  89. package/lib/cjs/components/slider/Slider.styles.js +2 -9
  90. package/lib/cjs/components/slider/Slider.styles.js.map +1 -1
  91. package/lib/cjs/components/slider-button/SliderButton.js +6 -2
  92. package/lib/cjs/components/slider-button/SliderButton.js.map +1 -1
  93. package/lib/cjs/components/slider-button/SliderButton.styles.js +2 -15
  94. package/lib/cjs/components/slider-button/SliderButton.styles.js.map +1 -1
  95. package/lib/cjs/components/tag-input/TagInput.js +8 -1
  96. package/lib/cjs/components/tag-input/TagInput.js.map +1 -1
  97. package/lib/cjs/components/tag-input/TagInput.styles.js +1 -3
  98. package/lib/cjs/components/tag-input/TagInput.styles.js.map +1 -1
  99. package/lib/cjs/components/text-area/TextArea.js +68 -56
  100. package/lib/cjs/components/text-area/TextArea.js.map +1 -1
  101. package/lib/cjs/components/text-area/TextArea.styles.js +0 -2
  102. package/lib/cjs/components/text-area/TextArea.styles.js.map +1 -1
  103. package/lib/cjs/components/truncation/Truncation.js +9 -5
  104. package/lib/cjs/components/truncation/Truncation.js.map +1 -1
  105. package/lib/cjs/components/truncation/Truncation.styles.js +0 -11
  106. package/lib/cjs/components/truncation/Truncation.styles.js.map +1 -1
  107. package/lib/cjs/hooks/useFocusRingPortal.js +197 -0
  108. package/lib/cjs/hooks/useFocusRingPortal.js.map +1 -0
  109. package/lib/cjs/hooks/useKeyboardFocusHighlighting.js +9 -3
  110. package/lib/cjs/hooks/useKeyboardFocusHighlighting.js.map +1 -1
  111. package/lib/cjs/index.js +14 -0
  112. package/lib/cjs/index.js.map +1 -1
  113. package/lib/esm/components/accordion/Accordion.js +10 -0
  114. package/lib/esm/components/accordion/Accordion.js.map +1 -1
  115. package/lib/esm/components/accordion/Accordion.styles.js +0 -2
  116. package/lib/esm/components/accordion/Accordion.styles.js.map +1 -1
  117. package/lib/esm/components/amount-control/AmountControl.js +14 -3
  118. package/lib/esm/components/amount-control/AmountControl.js.map +1 -1
  119. package/lib/esm/components/amount-control/AmountControl.styles.js +0 -17
  120. package/lib/esm/components/amount-control/AmountControl.styles.js.map +1 -1
  121. package/lib/esm/components/button/Button.js +7 -2
  122. package/lib/esm/components/button/Button.js.map +1 -1
  123. package/lib/esm/components/button/Button.styles.js +0 -10
  124. package/lib/esm/components/button/Button.styles.js.map +1 -1
  125. package/lib/esm/components/checkbox/Checkbox.js +8 -1
  126. package/lib/esm/components/checkbox/Checkbox.js.map +1 -1
  127. package/lib/esm/components/checkbox/Checkbox.styles.js +0 -10
  128. package/lib/esm/components/checkbox/Checkbox.styles.js.map +1 -1
  129. package/lib/esm/components/combobox/ComboBox.js +7 -1
  130. package/lib/esm/components/combobox/ComboBox.js.map +1 -1
  131. package/lib/esm/components/combobox/ComboBox.styles.js +3 -10
  132. package/lib/esm/components/combobox/ComboBox.styles.js.map +1 -1
  133. package/lib/esm/components/context-menu/ContextMenu.js +11 -0
  134. package/lib/esm/components/context-menu/ContextMenu.js.map +1 -1
  135. package/lib/esm/components/context-menu/ContextMenu.styles.js +7 -35
  136. package/lib/esm/components/context-menu/ContextMenu.styles.js.map +1 -1
  137. package/lib/esm/components/file-list/file-item/FileItem.js +8 -1
  138. package/lib/esm/components/file-list/file-item/FileItem.js.map +1 -1
  139. package/lib/esm/components/file-list/file-item/FileItem.styles.js +1 -11
  140. package/lib/esm/components/file-list/file-item/FileItem.styles.js.map +1 -1
  141. package/lib/esm/components/file-select/FileSelect.js +13 -4
  142. package/lib/esm/components/file-select/FileSelect.js.map +1 -1
  143. package/lib/esm/components/file-select/FileSelect.styles.js +3 -9
  144. package/lib/esm/components/file-select/FileSelect.styles.js.map +1 -1
  145. package/lib/esm/components/filter/Filter.js +43 -16
  146. package/lib/esm/components/filter/Filter.js.map +1 -1
  147. package/lib/esm/components/filter/Filter.styles.js +2 -2
  148. package/lib/esm/components/filter/Filter.styles.js.map +1 -1
  149. package/lib/esm/components/filter-buttons/filter-button/FilterButton.js +10 -2
  150. package/lib/esm/components/filter-buttons/filter-button/FilterButton.js.map +1 -1
  151. package/lib/esm/components/filter-buttons/filter-button/FilterButton.styles.js +0 -2
  152. package/lib/esm/components/filter-buttons/filter-button/FilterButton.styles.js.map +1 -1
  153. package/lib/esm/components/grid-image/GridImage.js +8 -2
  154. package/lib/esm/components/grid-image/GridImage.js.map +1 -1
  155. package/lib/esm/components/grid-image/GridImage.styles.js +4 -9
  156. package/lib/esm/components/grid-image/GridImage.styles.js.map +1 -1
  157. package/lib/esm/components/grouped-image/GroupedImage.js +9 -3
  158. package/lib/esm/components/grouped-image/GroupedImage.js.map +1 -1
  159. package/lib/esm/components/grouped-image/GroupedImage.styles.js +3 -8
  160. package/lib/esm/components/grouped-image/GroupedImage.styles.js.map +1 -1
  161. package/lib/esm/components/highlight-slider/highlight-slider-item/HighlightSliderItem.js +8 -3
  162. package/lib/esm/components/highlight-slider/highlight-slider-item/HighlightSliderItem.js.map +1 -1
  163. package/lib/esm/components/highlight-slider/highlight-slider-item/HighlightSliderItem.styles.js +4 -9
  164. package/lib/esm/components/highlight-slider/highlight-slider-item/HighlightSliderItem.styles.js.map +1 -1
  165. package/lib/esm/components/icon/Icon.js +9 -2
  166. package/lib/esm/components/icon/Icon.js.map +1 -1
  167. package/lib/esm/components/icon/Icon.styles.js +5 -31
  168. package/lib/esm/components/icon/Icon.styles.js.map +1 -1
  169. package/lib/esm/components/input/Input.js +14 -2
  170. package/lib/esm/components/input/Input.js.map +1 -1
  171. package/lib/esm/components/input/Input.styles.js +0 -3
  172. package/lib/esm/components/input/Input.styles.js.map +1 -1
  173. package/lib/esm/components/list/List.utils.js +1 -6
  174. package/lib/esm/components/list/List.utils.js.map +1 -1
  175. package/lib/esm/components/list/list-item/ListItem.js +13 -2
  176. package/lib/esm/components/list/list-item/ListItem.js.map +1 -1
  177. package/lib/esm/components/list/list-item/ListItem.styles.js +9 -2
  178. package/lib/esm/components/list/list-item/ListItem.styles.js.map +1 -1
  179. package/lib/esm/components/list/list-item/list-item-head/ListItemHead.js +5 -4
  180. package/lib/esm/components/list/list-item/list-item-head/ListItemHead.js.map +1 -1
  181. package/lib/esm/components/list/list-item/list-item-head/list-item-image/ListItemImage.js +2 -5
  182. package/lib/esm/components/list/list-item/list-item-head/list-item-image/ListItemImage.js.map +1 -1
  183. package/lib/esm/components/multi-action-button/action-button/ActionButton.js +7 -2
  184. package/lib/esm/components/multi-action-button/action-button/ActionButton.js.map +1 -1
  185. package/lib/esm/components/multi-action-button/action-button/ActionButton.styles.js +3 -12
  186. package/lib/esm/components/multi-action-button/action-button/ActionButton.styles.js.map +1 -1
  187. package/lib/esm/components/radio-button/RadioButton.js +7 -1
  188. package/lib/esm/components/radio-button/RadioButton.js.map +1 -1
  189. package/lib/esm/components/radio-button/RadioButton.styles.js +0 -10
  190. package/lib/esm/components/radio-button/RadioButton.styles.js.map +1 -1
  191. package/lib/esm/components/search-input/SearchInput.js +9 -10
  192. package/lib/esm/components/search-input/SearchInput.js.map +1 -1
  193. package/lib/esm/components/search-input/SearchInput.styles.js +5 -15
  194. package/lib/esm/components/search-input/SearchInput.styles.js.map +1 -1
  195. package/lib/esm/components/sharing-bar/SharingBar.js +12 -0
  196. package/lib/esm/components/sharing-bar/SharingBar.js.map +1 -1
  197. package/lib/esm/components/sharing-bar/SharingBar.styles.js +1 -5
  198. package/lib/esm/components/sharing-bar/SharingBar.styles.js.map +1 -1
  199. package/lib/esm/components/slider/Slider.js +13 -6
  200. package/lib/esm/components/slider/Slider.js.map +1 -1
  201. package/lib/esm/components/slider/Slider.styles.js +1 -8
  202. package/lib/esm/components/slider/Slider.styles.js.map +1 -1
  203. package/lib/esm/components/slider-button/SliderButton.js +6 -2
  204. package/lib/esm/components/slider-button/SliderButton.js.map +1 -1
  205. package/lib/esm/components/slider-button/SliderButton.styles.js +1 -14
  206. package/lib/esm/components/slider-button/SliderButton.styles.js.map +1 -1
  207. package/lib/esm/components/tag-input/TagInput.js +8 -1
  208. package/lib/esm/components/tag-input/TagInput.js.map +1 -1
  209. package/lib/esm/components/tag-input/TagInput.styles.js +1 -3
  210. package/lib/esm/components/tag-input/TagInput.styles.js.map +1 -1
  211. package/lib/esm/components/text-area/TextArea.js +68 -56
  212. package/lib/esm/components/text-area/TextArea.js.map +1 -1
  213. package/lib/esm/components/text-area/TextArea.styles.js +0 -2
  214. package/lib/esm/components/text-area/TextArea.styles.js.map +1 -1
  215. package/lib/esm/components/truncation/Truncation.js +9 -5
  216. package/lib/esm/components/truncation/Truncation.js.map +1 -1
  217. package/lib/esm/components/truncation/Truncation.styles.js +0 -11
  218. package/lib/esm/components/truncation/Truncation.styles.js.map +1 -1
  219. package/lib/esm/hooks/useFocusRingPortal.js +188 -0
  220. package/lib/esm/hooks/useFocusRingPortal.js.map +1 -0
  221. package/lib/esm/hooks/useKeyboardFocusHighlighting.js +7 -2
  222. package/lib/esm/hooks/useKeyboardFocusHighlighting.js.map +1 -1
  223. package/lib/esm/index.js +2 -0
  224. package/lib/esm/index.js.map +1 -1
  225. package/lib/types/components/amount-control/AmountControl.styles.d.ts +4 -8
  226. package/lib/types/components/button/Button.styles.d.ts +2 -4
  227. package/lib/types/components/checkbox/Checkbox.styles.d.ts +1 -5
  228. package/lib/types/components/combobox/ComboBox.styles.d.ts +2 -4
  229. package/lib/types/components/file-select/FileSelect.styles.d.ts +2 -4
  230. package/lib/types/components/grid-image/GridImage.styles.d.ts +2 -4
  231. package/lib/types/components/grouped-image/GroupedImage.styles.d.ts +2 -4
  232. package/lib/types/components/highlight-slider/highlight-slider-item/HighlightSliderItem.styles.d.ts +1 -5
  233. package/lib/types/components/icon/Icon.styles.d.ts +0 -1
  234. package/lib/types/components/input/Input.styles.d.ts +4 -4
  235. package/lib/types/components/multi-action-button/action-button/ActionButton.styles.d.ts +2 -4
  236. package/lib/types/components/radio-button/RadioButton.styles.d.ts +2 -4
  237. package/lib/types/components/search-input/SearchInput.styles.d.ts +6 -13
  238. package/lib/types/components/slider/Slider.styles.d.ts +8 -12
  239. package/lib/types/components/slider-button/SliderButton.styles.d.ts +2 -4
  240. package/lib/types/components/truncation/Truncation.styles.d.ts +1 -5
  241. package/lib/types/hooks/useFocusRingPortal.d.ts +18 -0
  242. package/lib/types/hooks/useKeyboardFocusHighlighting.d.ts +1 -0
  243. package/lib/types/index.d.ts +2 -0
  244. package/package.json +4 -4
  245. package/lib/cjs/utils/keyboardFocusHighlighting.styles.js +0 -29
  246. package/lib/cjs/utils/keyboardFocusHighlighting.styles.js.map +0 -1
  247. package/lib/esm/utils/keyboardFocusHighlighting.styles.js +0 -24
  248. package/lib/esm/utils/keyboardFocusHighlighting.styles.js.map +0 -1
  249. package/lib/types/utils/keyboardFocusHighlighting.styles.d.ts +0 -9
@@ -1 +1 @@
1
- {"version":3,"file":"SliderButton.js","names":["_chaynsApi","require","_react","_react2","_interopRequireWildcard","_element","_useKeyboardFocusHighlighting","_ColorSchemeProvider","_calculate","_sliderButton","_Icon","_interopRequireDefault","_Popup","_SliderButton","_styledComponents","_useSliderButtonPopupKeyboard","_useSliderButtonThumbKeyboard","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","SliderButton","isDisabled","isSecondary","items","onChange","selectedButtonId","isRounded","shouldEnableKeyboardHighlighting","dragRange","setDragRange","useState","left","right","shownItemsCount","setShownItemsCount","length","sliderSize","setSliderSize","width","currentId","setCurrentId","currentPopupId","setCurrentPopupId","currentIndex","setCurrentIndex","isPopupOpen","setIsPopupOpen","sliderButtonRef","useRef","sliderButtonWrapperRef","popupRef","popupItemRefs","scope","animate","useAnimate","theme","useTheme","colorScheme","useColorScheme","shouldEnableKeyboardHighlightingEffective","shouldShowKeyboardHighlighting","useKeyboardFocusHighlighting","initialItemWidth","useMemo","calculateBiggestWidth","elementSize","useElementSize","useEffect","setPopupId","useCallback","selectedId","ids","slice","map","id","newId","find","isSliderBigger","Math","floor","maxShownItemsCount","totalWidth","count","visibleItems","currentMaxWidth","itemWidth","sliderWidth","itemCount","animation","x","current","type","duration","setItemPosition","index","findIndex","handleClick","otherItem","_","indexOf","show","hide","backgroundColor","color","buttonBackgroundColor","buttonDesign","thumbBackgroundColor","popupItems","focusThumb","_sliderButtonRef$curr","thumb","querySelector","focus","handlePopupKeyDown","useSliderButtonPopupKeyboard","onSelectPopupItem","handleThumbKeyDown","useSliderButtonThumbKeyboard","onSelectThumbItem","buttons","newItems","otherItems","elements","text","createElement","StyledSliderButtonItem","$isSecondary","$width","key","onClick","popupContent","popupIndex","StyledSliderButtonPopupContentItem","onKeyDown","ref","element","tabIndex","role","$isSelected","push","onShow","onHide","content","StyledSliderButtonPopupContent","icons","pseudoButtons","snapPoints","points","handleDragStart","setRefreshScrollEnabled","handleDragEnd","position","getThumbPosition","middle","scrollLeft","getNearestPoint","nearestPoint","nearestIndex","hasMoreItems","_items$nearestIndex","StyledSliderButton","$isDisabled","StyledSliderButtonButtonsWrapper","$isInvisible","StyledMotionSliderButtonThumb","$isRounded","drag","dragElastic","dragConstraints","onDragEnd","onDragStart","style","undefined","$shouldShowKeyboardHighlighting","StyledSliderButtonWrapper","AnimatePresence","displayName","_default","exports"],"sources":["../../../../src/components/slider-button/SliderButton.tsx"],"sourcesContent":["import { setRefreshScrollEnabled } from 'chayns-api';\nimport { AnimatePresence, useAnimate } from 'motion/react';\nimport React, { FC, useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { useElementSize } from '../../hooks/element';\nimport { useKeyboardFocusHighlighting } from '../../hooks/useKeyboardFocusHighlighting';\nimport { useColorScheme } from '../color-scheme-provider/ColorSchemeProvider';\nimport { PopupRef } from '../../types/popup';\nimport { calculateBiggestWidth } from '../../utils/calculate';\nimport { getNearestPoint, getThumbPosition } from '../../utils/sliderButton';\nimport Icon from '../icon/Icon';\nimport Popup from '../popup/Popup';\nimport {\n StyledMotionSliderButtonThumb,\n StyledSliderButton,\n StyledSliderButtonButtonsWrapper,\n StyledSliderButtonItem,\n StyledSliderButtonPopupContent,\n StyledSliderButtonPopupContentItem,\n StyledSliderButtonWrapper,\n} from './SliderButton.styles';\nimport { useTheme } from 'styled-components';\nimport type { Theme } from '../color-scheme-provider/ColorSchemeProvider';\nimport { SliderButtonProps } from './SliderButton.types';\nimport { useSliderButtonPopupKeyboard } from './useSliderButtonPopupKeyboard';\nimport { useSliderButtonThumbKeyboard } from './useSliderButtonThumbKeyboard';\n\nconst SliderButton: FC<SliderButtonProps> = ({\n isDisabled,\n isSecondary,\n items,\n onChange,\n selectedButtonId,\n isRounded = false,\n shouldEnableKeyboardHighlighting,\n}) => {\n const [dragRange, setDragRange] = useState({ left: 0, right: 0 });\n const [shownItemsCount, setShownItemsCount] = useState(items.length);\n const [sliderSize, setSliderSize] = useState({ width: 0 });\n const [currentId, setCurrentId] = useState('');\n const [currentPopupId, setCurrentPopupId] = useState('');\n const [currentIndex, setCurrentIndex] = useState(0);\n const [isPopupOpen, setIsPopupOpen] = useState(false);\n\n const sliderButtonRef = useRef<HTMLDivElement>(null);\n const sliderButtonWrapperRef = useRef<HTMLDivElement>(null);\n const popupRef = useRef<PopupRef>(null);\n const popupItemRefs = useRef<Array<HTMLDivElement | null>>([]);\n\n const [scope, animate] = useAnimate();\n\n const theme = useTheme() as Theme;\n const colorScheme = useColorScheme();\n const shouldEnableKeyboardHighlightingEffective =\n shouldEnableKeyboardHighlighting ?? colorScheme?.shouldEnableKeyboardHighlighting ?? false;\n\n const shouldShowKeyboardHighlighting = useKeyboardFocusHighlighting(\n shouldEnableKeyboardHighlightingEffective && !isDisabled,\n );\n\n const initialItemWidth = useMemo(() => calculateBiggestWidth(items), [items]);\n const elementSize = useElementSize(sliderButtonRef);\n\n useEffect(() => {\n if (elementSize) setSliderSize(elementSize);\n }, [elementSize]);\n\n const setPopupId = useCallback(\n (selectedId: string) => {\n const ids = items.slice(shownItemsCount - 1).map(({ id }) => id);\n\n const newId = ids.find((id) => id === selectedId);\n\n if (newId) {\n setCurrentId('more');\n setCurrentPopupId(newId);\n\n return;\n }\n\n setCurrentId(selectedId);\n },\n [items, shownItemsCount],\n );\n\n const isSliderBigger = useMemo(\n () => sliderSize && Math.floor(sliderSize.width / initialItemWidth) < items.length - 1,\n [initialItemWidth, items.length, sliderSize],\n );\n\n const maxShownItemsCount = useMemo(() => {\n let totalWidth = 0;\n let count = 0;\n\n while (count < items.length) {\n const visibleItems = items.slice(0, count + 1);\n const currentMaxWidth = calculateBiggestWidth(visibleItems) + 8;\n\n if (totalWidth + currentMaxWidth > sliderSize.width) break;\n\n totalWidth += currentMaxWidth;\n count++;\n }\n\n return count;\n }, [items, sliderSize.width]);\n\n const itemWidth = useMemo(() => {\n const sliderWidth = sliderSize?.width || 0;\n const itemCount = items.length || 1;\n\n setShownItemsCount(isSliderBigger ? maxShownItemsCount : itemCount);\n\n return sliderWidth / (isSliderBigger ? maxShownItemsCount : itemCount);\n }, [isSliderBigger, items.length, maxShownItemsCount, sliderSize?.width]);\n\n useEffect(() => {\n if (sliderSize) {\n const sliderWidth = itemWidth * (items.length - 1);\n\n const count = Math.floor(sliderSize.width / itemWidth);\n\n setDragRange({ left: 0, right: isSliderBigger ? itemWidth * count : sliderWidth });\n }\n }, [isSliderBigger, itemWidth, items.length, sliderSize]);\n\n const animation = useCallback(\n async (x: number) => {\n await animate(\n scope.current,\n { x },\n {\n type: 'tween',\n duration: 0.2,\n },\n );\n },\n [animate, scope],\n );\n\n const setItemPosition = useCallback(\n (index: number) => {\n setCurrentIndex(index);\n\n void animation(itemWidth * index);\n },\n [animation, itemWidth],\n );\n\n useEffect(() => {\n if (typeof selectedButtonId === 'string') {\n let index = items.findIndex(({ id }) => id === selectedButtonId);\n\n setCurrentId(selectedButtonId);\n\n setPopupId(selectedButtonId);\n\n if (items.length > shownItemsCount && index > shownItemsCount - 1) {\n index = shownItemsCount - 1;\n }\n\n if (index >= 0) {\n setItemPosition(index);\n }\n }\n }, [\n animation,\n dragRange.right,\n isSliderBigger,\n itemWidth,\n items,\n selectedButtonId,\n setItemPosition,\n setPopupId,\n shownItemsCount,\n ]);\n\n const handleClick = useCallback(\n (id: string, index: number) => {\n if (isDisabled) {\n return;\n }\n\n if (currentIndex === index && items.length === 2) {\n const otherItem = items.find((_, findIndex) => index !== findIndex);\n if (!otherItem) return;\n\n setPopupId(otherItem.id);\n setItemPosition(items.indexOf(otherItem));\n onChange?.(otherItem.id);\n return;\n }\n\n setPopupId(id);\n\n if (typeof onChange === 'function' && id !== 'more') {\n onChange(id);\n }\n\n if (popupRef.current) {\n if (id === 'more') {\n popupRef.current.show();\n } else {\n popupRef.current.hide();\n }\n }\n\n setItemPosition(index);\n },\n [currentIndex, isDisabled, items, onChange, setItemPosition, setPopupId],\n );\n\n const backgroundColor = useMemo(() => {\n let color;\n\n if (isSecondary) {\n color = theme['202'];\n } else {\n color = theme.buttonBackgroundColor ?? theme['408'];\n }\n\n if (theme.buttonDesign === '2') {\n color = `rgba(${theme['102-rgb'] ?? ''}, 0)`;\n }\n\n return color;\n }, [isSecondary, theme]);\n\n const thumbBackgroundColor = useMemo(() => {\n let color;\n\n if (isSecondary) {\n color = theme['207'];\n } else {\n color = `rgba(${theme['405-rgb'] ?? ''}, 0.75)`;\n }\n\n if (theme.buttonDesign === '2') {\n color = `rgba(${theme['102-rgb'] ?? ''}, 0)`;\n }\n\n return color;\n }, [isSecondary, theme]);\n\n const popupItems = useMemo(() => items.slice(shownItemsCount - 1), [items, shownItemsCount]);\n\n const focusThumb = useCallback(() => {\n const thumb = sliderButtonRef.current?.querySelector(\n '[data-slider-button-thumb=\"true\"]',\n ) as HTMLDivElement | null;\n\n thumb?.focus();\n }, []);\n\n const { handlePopupKeyDown } = useSliderButtonPopupKeyboard({\n isPopupOpen,\n popupItems,\n currentPopupId,\n shownItemsCount,\n popupItemRefs,\n popupRef,\n focusThumb,\n onSelectPopupItem: handleClick,\n });\n\n const { handleThumbKeyDown } = useSliderButtonThumbKeyboard({\n currentId,\n currentIndex,\n shownItemsCount,\n items,\n onSelectThumbItem: handleClick,\n });\n\n const buttons = useMemo(() => {\n if (items.length > shownItemsCount) {\n const newItems = items.slice(0, shownItemsCount - 1);\n const otherItems = items.slice(shownItemsCount - 1);\n\n const elements = newItems.map(({ id, text }, index) => (\n <StyledSliderButtonItem\n $isSecondary={isSecondary}\n $width={itemWidth}\n key={`slider-button-${id}`}\n onClick={() => handleClick(id, index)}\n >\n {text}\n </StyledSliderButtonItem>\n ));\n\n const popupContent = otherItems.map(({ id, text }, popupIndex) => (\n <StyledSliderButtonPopupContentItem\n key={`slider-button-${id}`}\n onClick={() => handleClick(id, newItems.length)}\n onKeyDown={handlePopupKeyDown}\n ref={(element: HTMLDivElement | null) => {\n popupItemRefs.current[popupIndex] = element;\n }}\n tabIndex={-1}\n role=\"button\"\n $isSelected={id === currentPopupId}\n >\n {text}\n </StyledSliderButtonPopupContentItem>\n ));\n\n const id = 'more';\n\n elements.push(\n <StyledSliderButtonItem\n $isSecondary={isSecondary}\n $width={itemWidth}\n key={`slider-button-${id}`}\n >\n <Popup\n ref={popupRef}\n onShow={() => {\n setIsPopupOpen(true);\n }}\n onHide={() => {\n setIsPopupOpen(false);\n popupItemRefs.current = [];\n }}\n content={\n <StyledSliderButtonPopupContent onKeyDown={handlePopupKeyDown}>\n {popupContent}\n </StyledSliderButtonPopupContent>\n }\n >\n <Icon icons={['fa fa-ellipsis']} color=\"white\" />\n </Popup>\n </StyledSliderButtonItem>,\n );\n\n return elements;\n }\n return items.map(({ id, text }) => (\n <StyledSliderButtonItem\n $isSecondary={isSecondary}\n $width={itemWidth}\n key={`slider-button-${id}`}\n >\n {text}\n </StyledSliderButtonItem>\n ));\n }, [\n currentPopupId,\n handleClick,\n handlePopupKeyDown,\n isSecondary,\n itemWidth,\n items,\n shownItemsCount,\n ]);\n\n const pseudoButtons = useMemo(() => {\n if (items.length > shownItemsCount) {\n const newItems = items.slice(0, shownItemsCount - 1);\n\n const elements = newItems.map(({ id, text }, index) => (\n <StyledSliderButtonItem\n $isSecondary={isSecondary}\n $width={itemWidth}\n key={`pseudo-slider-button-${id}`}\n onClick={() => handleClick(id, index)}\n >\n {text}\n </StyledSliderButtonItem>\n ));\n\n const id = 'more';\n\n elements.push(\n <StyledSliderButtonItem\n $isSecondary={isSecondary}\n $width={itemWidth}\n key={`pseudo-slider-button-${id}`}\n onClick={() => handleClick(id, newItems.length)}\n >\n <Icon icons={['fa fa-ellipsis']} />\n </StyledSliderButtonItem>,\n );\n\n return elements;\n }\n return items.map(({ id, text }, index) => (\n <StyledSliderButtonItem\n $isSecondary={isSecondary}\n $width={itemWidth}\n key={`pseudo-slider-button-${id}`}\n onClick={() => handleClick(id, index)}\n >\n {text}\n </StyledSliderButtonItem>\n ));\n }, [handleClick, isSecondary, itemWidth, items, shownItemsCount]);\n\n /**\n * Creates an array with the snap points relative to the width of the items\n */\n const snapPoints = useMemo(() => {\n const points = [0];\n\n for (let i = 1; i < items.length; i++) {\n points.push(itemWidth * i);\n }\n\n return points;\n }, [itemWidth, items.length]);\n\n const handleDragStart = useCallback(() => {\n void setRefreshScrollEnabled(false);\n }, []);\n\n const handleDragEnd = useCallback(() => {\n void setRefreshScrollEnabled(true);\n\n const position = getThumbPosition({ scope, itemWidth });\n\n if (!position) {\n return;\n }\n\n const { middle, left } = position;\n\n let scrollLeft = 0;\n\n if (sliderButtonWrapperRef.current) {\n scrollLeft = sliderButtonWrapperRef.current.scrollLeft;\n\n sliderButtonWrapperRef.current.scrollLeft = getNearestPoint({\n snapPoints,\n position: middle,\n scrollLeft: scrollLeft - left,\n }).nearestPoint;\n }\n\n const { nearestIndex } = getNearestPoint({\n snapPoints,\n position: middle,\n scrollLeft,\n });\n\n const { nearestPoint } = getNearestPoint({\n snapPoints,\n position: middle,\n scrollLeft: 0,\n });\n const hasMoreItems = items.length > shownItemsCount;\n\n if (nearestPoint >= 0 && nearestIndex >= 0) {\n void animation(nearestPoint);\n\n let id;\n\n if (hasMoreItems && nearestIndex === shownItemsCount - 1) {\n id = 'more';\n } else {\n id = items[nearestIndex]?.id;\n }\n\n if (popupRef.current) {\n if (id === 'more') {\n popupRef.current.show();\n } else {\n popupRef.current.hide();\n }\n }\n\n if (typeof onChange === 'function' && id) {\n setPopupId(id);\n setCurrentIndex(nearestIndex);\n if (id !== 'more') onChange(id);\n }\n }\n }, [animation, itemWidth, items, onChange, scope, setPopupId, shownItemsCount, snapPoints]);\n\n return useMemo(\n () => (\n <StyledSliderButton $isDisabled={isDisabled} ref={sliderButtonRef}>\n <StyledSliderButtonButtonsWrapper $isInvisible>\n {pseudoButtons}\n </StyledSliderButtonButtonsWrapper>\n <StyledMotionSliderButtonThumb\n $isRounded={isRounded}\n ref={scope}\n drag={isDisabled ? false : 'x'}\n dragElastic={0}\n dragConstraints={\n isSliderBigger\n ? { ...dragRange, right: dragRange.right - itemWidth }\n : { ...dragRange }\n }\n $width={itemWidth}\n onDragEnd={handleDragEnd}\n onDragStart={handleDragStart}\n onClick={() => handleClick(currentId, currentIndex)}\n style={{ backgroundColor: thumbBackgroundColor }}\n data-slider-button-thumb=\"true\"\n tabIndex={\n shouldEnableKeyboardHighlightingEffective && !isDisabled ? 0 : undefined\n }\n role={\n shouldEnableKeyboardHighlightingEffective && !isDisabled\n ? 'button'\n : undefined\n }\n onKeyDown={\n shouldEnableKeyboardHighlightingEffective && !isDisabled\n ? handleThumbKeyDown\n : undefined\n }\n $shouldShowKeyboardHighlighting={shouldShowKeyboardHighlighting}\n />\n <StyledSliderButtonWrapper\n $isRounded={isRounded}\n $isDisabled={isDisabled}\n $width={!isSliderBigger ? dragRange.right + itemWidth : dragRange.right}\n ref={sliderButtonWrapperRef}\n style={{ backgroundColor }}\n >\n <AnimatePresence>\n <StyledSliderButtonButtonsWrapper>\n {buttons}\n </StyledSliderButtonButtonsWrapper>\n </AnimatePresence>\n </StyledSliderButtonWrapper>\n </StyledSliderButton>\n ),\n [\n backgroundColor,\n buttons,\n currentId,\n currentIndex,\n dragRange,\n handleClick,\n handleDragEnd,\n handleDragStart,\n handleThumbKeyDown,\n isDisabled,\n isRounded,\n isSliderBigger,\n itemWidth,\n pseudoButtons,\n scope,\n shouldEnableKeyboardHighlightingEffective,\n shouldShowKeyboardHighlighting,\n thumbBackgroundColor,\n ],\n );\n};\n\nSliderButton.displayName = 'SliderButton';\n\nexport default SliderButton;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"SliderButton.js","names":["_chaynsApi","require","_react","_react2","_interopRequireWildcard","_element","_useFocusRingPortal","_useKeyboardFocusHighlighting","_ColorSchemeProvider","_calculate","_sliderButton","_Icon","_interopRequireDefault","_Popup","_SliderButton","_styledComponents","_useSliderButtonPopupKeyboard","_useSliderButtonThumbKeyboard","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","SliderButton","isDisabled","isSecondary","items","onChange","selectedButtonId","isRounded","shouldEnableKeyboardHighlighting","dragRange","setDragRange","useState","left","right","shownItemsCount","setShownItemsCount","length","sliderSize","setSliderSize","width","currentId","setCurrentId","currentPopupId","setCurrentPopupId","currentIndex","setCurrentIndex","isPopupOpen","setIsPopupOpen","sliderButtonRef","useRef","sliderButtonWrapperRef","popupRef","popupItemRefs","scope","animate","useAnimate","theme","useTheme","colorScheme","useColorScheme","shouldEnableKeyboardHighlightingEffective","shouldShowKeyboardHighlighting","useKeyboardFocusHighlighting","useFocusRingPortal","isEnabled","shape","initialItemWidth","useMemo","calculateBiggestWidth","elementSize","useElementSize","useEffect","setPopupId","useCallback","selectedId","ids","slice","map","id","newId","find","isSliderBigger","Math","floor","maxShownItemsCount","totalWidth","count","visibleItems","currentMaxWidth","itemWidth","sliderWidth","itemCount","animation","x","current","type","duration","setItemPosition","index","findIndex","handleClick","otherItem","_","indexOf","show","hide","backgroundColor","color","buttonBackgroundColor","buttonDesign","thumbBackgroundColor","popupItems","focusThumb","_sliderButtonRef$curr","thumb","querySelector","focus","handlePopupKeyDown","useSliderButtonPopupKeyboard","onSelectPopupItem","handleThumbKeyDown","useSliderButtonThumbKeyboard","onSelectThumbItem","buttons","newItems","otherItems","elements","text","createElement","StyledSliderButtonItem","$isSecondary","$width","key","onClick","popupContent","popupIndex","StyledSliderButtonPopupContentItem","onKeyDown","ref","element","tabIndex","role","$isSelected","push","onShow","onHide","content","StyledSliderButtonPopupContent","icons","pseudoButtons","snapPoints","points","handleDragStart","setRefreshScrollEnabled","handleDragEnd","position","getThumbPosition","middle","scrollLeft","getNearestPoint","nearestPoint","nearestIndex","hasMoreItems","_items$nearestIndex","StyledSliderButton","$isDisabled","StyledSliderButtonButtonsWrapper","$isInvisible","StyledMotionSliderButtonThumb","$isRounded","drag","dragElastic","dragConstraints","onDragEnd","onDragStart","style","undefined","StyledSliderButtonWrapper","AnimatePresence","displayName","_default","exports"],"sources":["../../../../src/components/slider-button/SliderButton.tsx"],"sourcesContent":["import { setRefreshScrollEnabled } from 'chayns-api';\nimport { AnimatePresence, useAnimate } from 'motion/react';\nimport type { RefObject } from 'react';\nimport React, { FC, useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { useElementSize } from '../../hooks/element';\nimport { useFocusRingPortal } from '../../hooks/useFocusRingPortal';\nimport { useKeyboardFocusHighlighting } from '../../hooks/useKeyboardFocusHighlighting';\nimport { useColorScheme } from '../color-scheme-provider/ColorSchemeProvider';\nimport { PopupRef } from '../../types/popup';\nimport { calculateBiggestWidth } from '../../utils/calculate';\nimport { getNearestPoint, getThumbPosition } from '../../utils/sliderButton';\nimport Icon from '../icon/Icon';\nimport Popup from '../popup/Popup';\nimport {\n StyledMotionSliderButtonThumb,\n StyledSliderButton,\n StyledSliderButtonButtonsWrapper,\n StyledSliderButtonItem,\n StyledSliderButtonPopupContent,\n StyledSliderButtonPopupContentItem,\n StyledSliderButtonWrapper,\n} from './SliderButton.styles';\nimport { useTheme } from 'styled-components';\nimport type { Theme } from '../color-scheme-provider/ColorSchemeProvider';\nimport { SliderButtonProps } from './SliderButton.types';\nimport { useSliderButtonPopupKeyboard } from './useSliderButtonPopupKeyboard';\nimport { useSliderButtonThumbKeyboard } from './useSliderButtonThumbKeyboard';\n\nconst SliderButton: FC<SliderButtonProps> = ({\n isDisabled,\n isSecondary,\n items,\n onChange,\n selectedButtonId,\n isRounded = false,\n shouldEnableKeyboardHighlighting,\n}) => {\n const [dragRange, setDragRange] = useState({ left: 0, right: 0 });\n const [shownItemsCount, setShownItemsCount] = useState(items.length);\n const [sliderSize, setSliderSize] = useState({ width: 0 });\n const [currentId, setCurrentId] = useState('');\n const [currentPopupId, setCurrentPopupId] = useState('');\n const [currentIndex, setCurrentIndex] = useState(0);\n const [isPopupOpen, setIsPopupOpen] = useState(false);\n\n const sliderButtonRef = useRef<HTMLDivElement>(null);\n const sliderButtonWrapperRef = useRef<HTMLDivElement>(null);\n const popupRef = useRef<PopupRef>(null);\n const popupItemRefs = useRef<Array<HTMLDivElement | null>>([]);\n\n const [scope, animate] = useAnimate();\n\n const theme = useTheme() as Theme;\n const colorScheme = useColorScheme();\n const shouldEnableKeyboardHighlightingEffective =\n shouldEnableKeyboardHighlighting ?? colorScheme?.shouldEnableKeyboardHighlighting ?? false;\n\n const shouldShowKeyboardHighlighting = useKeyboardFocusHighlighting(\n shouldEnableKeyboardHighlightingEffective && !isDisabled,\n );\n useFocusRingPortal(scope as RefObject<HTMLElement>, {\n isEnabled: shouldShowKeyboardHighlighting,\n shape: isRounded ? 'circle' : 'rectangle',\n });\n\n const initialItemWidth = useMemo(() => calculateBiggestWidth(items), [items]);\n const elementSize = useElementSize(sliderButtonRef);\n\n useEffect(() => {\n if (elementSize) setSliderSize(elementSize);\n }, [elementSize]);\n\n const setPopupId = useCallback(\n (selectedId: string) => {\n const ids = items.slice(shownItemsCount - 1).map(({ id }) => id);\n\n const newId = ids.find((id) => id === selectedId);\n\n if (newId) {\n setCurrentId('more');\n setCurrentPopupId(newId);\n\n return;\n }\n\n setCurrentId(selectedId);\n },\n [items, shownItemsCount],\n );\n\n const isSliderBigger = useMemo(\n () => sliderSize && Math.floor(sliderSize.width / initialItemWidth) < items.length - 1,\n [initialItemWidth, items.length, sliderSize],\n );\n\n const maxShownItemsCount = useMemo(() => {\n let totalWidth = 0;\n let count = 0;\n\n while (count < items.length) {\n const visibleItems = items.slice(0, count + 1);\n const currentMaxWidth = calculateBiggestWidth(visibleItems) + 8;\n\n if (totalWidth + currentMaxWidth > sliderSize.width) break;\n\n totalWidth += currentMaxWidth;\n count++;\n }\n\n return count;\n }, [items, sliderSize.width]);\n\n const itemWidth = useMemo(() => {\n const sliderWidth = sliderSize?.width || 0;\n const itemCount = items.length || 1;\n\n setShownItemsCount(isSliderBigger ? maxShownItemsCount : itemCount);\n\n return sliderWidth / (isSliderBigger ? maxShownItemsCount : itemCount);\n }, [isSliderBigger, items.length, maxShownItemsCount, sliderSize?.width]);\n\n useEffect(() => {\n if (sliderSize) {\n const sliderWidth = itemWidth * (items.length - 1);\n\n const count = Math.floor(sliderSize.width / itemWidth);\n\n setDragRange({ left: 0, right: isSliderBigger ? itemWidth * count : sliderWidth });\n }\n }, [isSliderBigger, itemWidth, items.length, sliderSize]);\n\n const animation = useCallback(\n async (x: number) => {\n await animate(\n scope.current,\n { x },\n {\n type: 'tween',\n duration: 0.2,\n },\n );\n },\n [animate, scope],\n );\n\n const setItemPosition = useCallback(\n (index: number) => {\n setCurrentIndex(index);\n\n void animation(itemWidth * index);\n },\n [animation, itemWidth],\n );\n\n useEffect(() => {\n if (typeof selectedButtonId === 'string') {\n let index = items.findIndex(({ id }) => id === selectedButtonId);\n\n setCurrentId(selectedButtonId);\n\n setPopupId(selectedButtonId);\n\n if (items.length > shownItemsCount && index > shownItemsCount - 1) {\n index = shownItemsCount - 1;\n }\n\n if (index >= 0) {\n setItemPosition(index);\n }\n }\n }, [\n animation,\n dragRange.right,\n isSliderBigger,\n itemWidth,\n items,\n selectedButtonId,\n setItemPosition,\n setPopupId,\n shownItemsCount,\n ]);\n\n const handleClick = useCallback(\n (id: string, index: number) => {\n if (isDisabled) {\n return;\n }\n\n if (currentIndex === index && items.length === 2) {\n const otherItem = items.find((_, findIndex) => index !== findIndex);\n if (!otherItem) return;\n\n setPopupId(otherItem.id);\n setItemPosition(items.indexOf(otherItem));\n onChange?.(otherItem.id);\n return;\n }\n\n setPopupId(id);\n\n if (typeof onChange === 'function' && id !== 'more') {\n onChange(id);\n }\n\n if (popupRef.current) {\n if (id === 'more') {\n popupRef.current.show();\n } else {\n popupRef.current.hide();\n }\n }\n\n setItemPosition(index);\n },\n [currentIndex, isDisabled, items, onChange, setItemPosition, setPopupId],\n );\n\n const backgroundColor = useMemo(() => {\n let color;\n\n if (isSecondary) {\n color = theme['202'];\n } else {\n color = theme.buttonBackgroundColor ?? theme['408'];\n }\n\n if (theme.buttonDesign === '2') {\n color = `rgba(${theme['102-rgb'] ?? ''}, 0)`;\n }\n\n return color;\n }, [isSecondary, theme]);\n\n const thumbBackgroundColor = useMemo(() => {\n let color;\n\n if (isSecondary) {\n color = theme['207'];\n } else {\n color = `rgba(${theme['405-rgb'] ?? ''}, 0.75)`;\n }\n\n if (theme.buttonDesign === '2') {\n color = `rgba(${theme['102-rgb'] ?? ''}, 0)`;\n }\n\n return color;\n }, [isSecondary, theme]);\n\n const popupItems = useMemo(() => items.slice(shownItemsCount - 1), [items, shownItemsCount]);\n\n const focusThumb = useCallback(() => {\n const thumb = sliderButtonRef.current?.querySelector(\n '[data-slider-button-thumb=\"true\"]',\n ) as HTMLDivElement | null;\n\n thumb?.focus();\n }, []);\n\n const { handlePopupKeyDown } = useSliderButtonPopupKeyboard({\n isPopupOpen,\n popupItems,\n currentPopupId,\n shownItemsCount,\n popupItemRefs,\n popupRef,\n focusThumb,\n onSelectPopupItem: handleClick,\n });\n\n const { handleThumbKeyDown } = useSliderButtonThumbKeyboard({\n currentId,\n currentIndex,\n shownItemsCount,\n items,\n onSelectThumbItem: handleClick,\n });\n\n const buttons = useMemo(() => {\n if (items.length > shownItemsCount) {\n const newItems = items.slice(0, shownItemsCount - 1);\n const otherItems = items.slice(shownItemsCount - 1);\n\n const elements = newItems.map(({ id, text }, index) => (\n <StyledSliderButtonItem\n $isSecondary={isSecondary}\n $width={itemWidth}\n key={`slider-button-${id}`}\n onClick={() => handleClick(id, index)}\n >\n {text}\n </StyledSliderButtonItem>\n ));\n\n const popupContent = otherItems.map(({ id, text }, popupIndex) => (\n <StyledSliderButtonPopupContentItem\n key={`slider-button-${id}`}\n onClick={() => handleClick(id, newItems.length)}\n onKeyDown={handlePopupKeyDown}\n ref={(element: HTMLDivElement | null) => {\n popupItemRefs.current[popupIndex] = element;\n }}\n tabIndex={-1}\n role=\"button\"\n $isSelected={id === currentPopupId}\n >\n {text}\n </StyledSliderButtonPopupContentItem>\n ));\n\n const id = 'more';\n\n elements.push(\n <StyledSliderButtonItem\n $isSecondary={isSecondary}\n $width={itemWidth}\n key={`slider-button-${id}`}\n >\n <Popup\n ref={popupRef}\n onShow={() => {\n setIsPopupOpen(true);\n }}\n onHide={() => {\n setIsPopupOpen(false);\n popupItemRefs.current = [];\n }}\n content={\n <StyledSliderButtonPopupContent onKeyDown={handlePopupKeyDown}>\n {popupContent}\n </StyledSliderButtonPopupContent>\n }\n >\n <Icon icons={['fa fa-ellipsis']} color=\"white\" />\n </Popup>\n </StyledSliderButtonItem>,\n );\n\n return elements;\n }\n return items.map(({ id, text }) => (\n <StyledSliderButtonItem\n $isSecondary={isSecondary}\n $width={itemWidth}\n key={`slider-button-${id}`}\n >\n {text}\n </StyledSliderButtonItem>\n ));\n }, [\n currentPopupId,\n handleClick,\n handlePopupKeyDown,\n isSecondary,\n itemWidth,\n items,\n shownItemsCount,\n ]);\n\n const pseudoButtons = useMemo(() => {\n if (items.length > shownItemsCount) {\n const newItems = items.slice(0, shownItemsCount - 1);\n\n const elements = newItems.map(({ id, text }, index) => (\n <StyledSliderButtonItem\n $isSecondary={isSecondary}\n $width={itemWidth}\n key={`pseudo-slider-button-${id}`}\n onClick={() => handleClick(id, index)}\n >\n {text}\n </StyledSliderButtonItem>\n ));\n\n const id = 'more';\n\n elements.push(\n <StyledSliderButtonItem\n $isSecondary={isSecondary}\n $width={itemWidth}\n key={`pseudo-slider-button-${id}`}\n onClick={() => handleClick(id, newItems.length)}\n >\n <Icon icons={['fa fa-ellipsis']} />\n </StyledSliderButtonItem>,\n );\n\n return elements;\n }\n return items.map(({ id, text }, index) => (\n <StyledSliderButtonItem\n $isSecondary={isSecondary}\n $width={itemWidth}\n key={`pseudo-slider-button-${id}`}\n onClick={() => handleClick(id, index)}\n >\n {text}\n </StyledSliderButtonItem>\n ));\n }, [handleClick, isSecondary, itemWidth, items, shownItemsCount]);\n\n /**\n * Creates an array with the snap points relative to the width of the items\n */\n const snapPoints = useMemo(() => {\n const points = [0];\n\n for (let i = 1; i < items.length; i++) {\n points.push(itemWidth * i);\n }\n\n return points;\n }, [itemWidth, items.length]);\n\n const handleDragStart = useCallback(() => {\n void setRefreshScrollEnabled(false);\n }, []);\n\n const handleDragEnd = useCallback(() => {\n void setRefreshScrollEnabled(true);\n\n const position = getThumbPosition({ scope, itemWidth });\n\n if (!position) {\n return;\n }\n\n const { middle, left } = position;\n\n let scrollLeft = 0;\n\n if (sliderButtonWrapperRef.current) {\n scrollLeft = sliderButtonWrapperRef.current.scrollLeft;\n\n sliderButtonWrapperRef.current.scrollLeft = getNearestPoint({\n snapPoints,\n position: middle,\n scrollLeft: scrollLeft - left,\n }).nearestPoint;\n }\n\n const { nearestIndex } = getNearestPoint({\n snapPoints,\n position: middle,\n scrollLeft,\n });\n\n const { nearestPoint } = getNearestPoint({\n snapPoints,\n position: middle,\n scrollLeft: 0,\n });\n const hasMoreItems = items.length > shownItemsCount;\n\n if (nearestPoint >= 0 && nearestIndex >= 0) {\n void animation(nearestPoint);\n\n let id;\n\n if (hasMoreItems && nearestIndex === shownItemsCount - 1) {\n id = 'more';\n } else {\n id = items[nearestIndex]?.id;\n }\n\n if (popupRef.current) {\n if (id === 'more') {\n popupRef.current.show();\n } else {\n popupRef.current.hide();\n }\n }\n\n if (typeof onChange === 'function' && id) {\n setPopupId(id);\n setCurrentIndex(nearestIndex);\n if (id !== 'more') onChange(id);\n }\n }\n }, [animation, itemWidth, items, onChange, scope, setPopupId, shownItemsCount, snapPoints]);\n\n return useMemo(\n () => (\n <StyledSliderButton $isDisabled={isDisabled} ref={sliderButtonRef}>\n <StyledSliderButtonButtonsWrapper $isInvisible>\n {pseudoButtons}\n </StyledSliderButtonButtonsWrapper>\n <StyledMotionSliderButtonThumb\n $isRounded={isRounded}\n ref={scope}\n drag={isDisabled ? false : 'x'}\n dragElastic={0}\n dragConstraints={\n isSliderBigger\n ? { ...dragRange, right: dragRange.right - itemWidth }\n : { ...dragRange }\n }\n $width={itemWidth}\n onDragEnd={handleDragEnd}\n onDragStart={handleDragStart}\n onClick={() => handleClick(currentId, currentIndex)}\n style={{ backgroundColor: thumbBackgroundColor }}\n data-slider-button-thumb=\"true\"\n tabIndex={\n shouldEnableKeyboardHighlightingEffective && !isDisabled ? 0 : undefined\n }\n role={\n shouldEnableKeyboardHighlightingEffective && !isDisabled\n ? 'button'\n : undefined\n }\n onKeyDown={\n shouldEnableKeyboardHighlightingEffective && !isDisabled\n ? handleThumbKeyDown\n : undefined\n }\n />\n <StyledSliderButtonWrapper\n $isRounded={isRounded}\n $isDisabled={isDisabled}\n $width={!isSliderBigger ? dragRange.right + itemWidth : dragRange.right}\n ref={sliderButtonWrapperRef}\n style={{ backgroundColor }}\n >\n <AnimatePresence>\n <StyledSliderButtonButtonsWrapper>\n {buttons}\n </StyledSliderButtonButtonsWrapper>\n </AnimatePresence>\n </StyledSliderButtonWrapper>\n </StyledSliderButton>\n ),\n [\n backgroundColor,\n buttons,\n currentId,\n currentIndex,\n dragRange,\n handleClick,\n handleDragEnd,\n handleDragStart,\n handleThumbKeyDown,\n isDisabled,\n isRounded,\n isSliderBigger,\n itemWidth,\n pseudoButtons,\n scope,\n shouldEnableKeyboardHighlightingEffective,\n shouldShowKeyboardHighlighting,\n thumbBackgroundColor,\n ],\n );\n};\n\nSliderButton.displayName = 'SliderButton';\n\nexport default SliderButton;\n"],"mappings":"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","ignoreList":[]}
@@ -5,9 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.StyledSliderButtonWrapper = exports.StyledSliderButtonPopupContentItem = exports.StyledSliderButtonPopupContent = exports.StyledSliderButtonItem = exports.StyledSliderButtonButtonsWrapper = exports.StyledSliderButton = exports.StyledMotionSliderButtonThumb = void 0;
7
7
  var _react = require("motion/react");
8
- var _styledComponents = _interopRequireWildcard(require("styled-components"));
9
- var _keyboardFocusHighlighting = require("../../utils/keyboardFocusHighlighting.styles");
10
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
8
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
10
  const StyledSliderButton = exports.StyledSliderButton = _styledComponents.default.div`
12
11
  opacity: ${({
13
12
  $isDisabled
@@ -83,10 +82,6 @@ const StyledSliderButtonPopupContentItem = exports.StyledSliderButtonPopupConten
83
82
  theme
84
83
  }) => $isSelected ? theme['secondary-102'] : undefined};
85
84
  padding: 4px 12px;
86
-
87
- &:focus-visible {
88
- ${_keyboardFocusHighlighting.keyboardFocusHighlightingRingCss};
89
- }
90
85
  `;
91
86
  const StyledSliderButtonButtonsWrapper = exports.StyledSliderButtonButtonsWrapper = _styledComponents.default.div`
92
87
  position: absolute;
@@ -125,13 +120,5 @@ const StyledMotionSliderButtonThumb = exports.StyledMotionSliderButtonThumb = (0
125
120
  justify-content: center;
126
121
  align-items: center;
127
122
  cursor: pointer;
128
-
129
- ${({
130
- $shouldShowKeyboardHighlighting
131
- }) => $shouldShowKeyboardHighlighting && (0, _styledComponents.css)`
132
- &:focus-visible {
133
- ${_keyboardFocusHighlighting.keyboardFocusHighlightingRingCss}
134
- }
135
- `}
136
123
  `;
137
124
  //# sourceMappingURL=SliderButton.styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SliderButton.styles.js","names":["_react","require","_styledComponents","_interopRequireWildcard","_keyboardFocusHighlighting","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","StyledSliderButton","exports","styled","div","$isDisabled","StyledSliderButtonWrapper","$isRounded","$width","StyledSliderButtonItem","$isSecondary","theme","text","buttonColor","StyledSliderButtonPopupContent","StyledSliderButtonPopupContentItem","$isSelected","undefined","keyboardFocusHighlightingRingCss","StyledSliderButtonButtonsWrapper","$isInvisible","StyledMotionSliderButtonThumb","motion","$shouldShowKeyboardHighlighting","css"],"sources":["../../../../src/components/slider-button/SliderButton.styles.ts"],"sourcesContent":["import { motion } from 'motion/react';\nimport styled, { css } from 'styled-components';\nimport type { WithTheme } from '../color-scheme-provider/ColorSchemeProvider';\nimport { keyboardFocusHighlightingRingCss } from '../../utils/keyboardFocusHighlighting.styles';\n\ntype StyledSliderButtonProps = WithTheme<{ $isDisabled?: boolean }>;\n\nexport const StyledSliderButton = styled.div<StyledSliderButtonProps>`\n opacity: ${({ $isDisabled }) => ($isDisabled ? 0.5 : 1)};\n width: 100%;\n touch-action: none;\n position: relative;\n`;\n\ntype StyledSliderButtonWrapperProps = WithTheme<{\n $width: number;\n $isDisabled?: boolean;\n $isRounded: boolean;\n}>;\n\nexport const StyledSliderButtonWrapper = styled.div<StyledSliderButtonWrapperProps>`\n align-items: center;\n border-radius: ${({ $isRounded }) => ($isRounded ? 32 : 3)}px;\n border: none;\n color: white;\n cursor: pointer;\n display: inline-flex;\n line-height: 1.15;\n height: 32px;\n position: relative;\n user-select: none;\n transition: opacity 0.3s ease;\n\n width: ${({ $width }) => $width}px;\n\n max-width: 100%;\n overflow-x: ${({ $isDisabled }) => ($isDisabled ? 'hidden' : 'scroll')};\n overflow-y: hidden;\n\n // Chrome\n &::-webkit-scrollbar {\n display: none;\n }\n\n // IE and Edge\n -ms-overflow-style: none;\n\n // Firefox\n scrollbar-width: none;\n`;\n\ntype StyledSliderButtonItemProps = WithTheme<{\n $isSecondary?: boolean;\n $width: number;\n}>;\n\nexport const StyledSliderButtonItem = styled.div<StyledSliderButtonItemProps>`\n font-size: 110%;\n font-family: 'Roboto Medium', serif;\n padding: 7px 12px;\n min-width: ${({ $width }) => $width}px;\n max-width: ${({ $width }) => $width}px;\n display: flex;\n white-space: nowrap;\n justify-content: center;\n color: ${({ $isSecondary, theme }: StyledSliderButtonItemProps) =>\n $isSecondary ? theme.text : (theme.buttonColor ?? 'white')};\n`;\n\nexport const StyledSliderButtonPopupContent = styled.div`\n display: flex;\n flex-direction: column;\n`;\n\ntype StyledSliderButtonPopupContentItemProps = WithTheme<{\n $isSelected?: boolean;\n}>;\n\nexport const StyledSliderButtonPopupContentItem = styled.div<StyledSliderButtonPopupContentItemProps>`\n font-size: 110%;\n font-family: 'Roboto Medium', serif;\n cursor: pointer;\n background-color: ${({ $isSelected, theme }: StyledSliderButtonPopupContentItemProps) =>\n $isSelected ? theme['secondary-102'] : undefined};\n padding: 4px 12px;\n\n &:focus-visible {\n ${keyboardFocusHighlightingRingCss};\n }\n`;\n\ntype StyledSliderButtonButtonsWrapperProps = WithTheme<{ $isInvisible?: boolean }>;\n\nexport const StyledSliderButtonButtonsWrapper = styled.div<StyledSliderButtonButtonsWrapperProps>`\n position: absolute;\n z-index: ${({ $isInvisible }) => ($isInvisible ? '2' : '4')};\n opacity: ${({ $isInvisible }) => ($isInvisible ? 0 : 1)};\n display: flex;\n cursor: pointer;\n align-items: center;\n pointer-events: ${({ $isInvisible }) => ($isInvisible ? 'auto' : 'none')};\n`;\n\ntype StyledMotionSliderButtonThumbProps = WithTheme<{\n $width: number;\n $isRounded: boolean;\n $shouldShowKeyboardHighlighting?: boolean;\n}>;\n\nexport const StyledMotionSliderButtonThumb = styled(motion.div)<StyledMotionSliderButtonThumbProps>`\n font-size: 110%;\n font-family: 'Roboto Medium', serif;\n opacity: 1;\n width: ${({ $width }) => $width - 8}px;\n position: absolute;\n border-radius: ${({ $isRounded }) => ($isRounded ? 24 : 3)}px;\n top: 4px;\n left: 4px;\n white-space: nowrap;\n z-index: 3;\n height: 24px;\n padding: 7px 12px;\n display: flex;\n color: white;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n\n ${({ $shouldShowKeyboardHighlighting }) =>\n $shouldShowKeyboardHighlighting &&\n css`\n &:focus-visible {\n ${keyboardFocusHighlightingRingCss}\n }\n `}\n`;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"SliderButton.styles.js","names":["_react","require","_styledComponents","_interopRequireDefault","e","__esModule","default","StyledSliderButton","exports","styled","div","$isDisabled","StyledSliderButtonWrapper","$isRounded","$width","StyledSliderButtonItem","$isSecondary","theme","text","buttonColor","StyledSliderButtonPopupContent","StyledSliderButtonPopupContentItem","$isSelected","undefined","StyledSliderButtonButtonsWrapper","$isInvisible","StyledMotionSliderButtonThumb","motion"],"sources":["../../../../src/components/slider-button/SliderButton.styles.ts"],"sourcesContent":["import { motion } from 'motion/react';\nimport styled, { css } from 'styled-components';\nimport type { WithTheme } from '../color-scheme-provider/ColorSchemeProvider';\n\ntype StyledSliderButtonProps = WithTheme<{ $isDisabled?: boolean }>;\n\nexport const StyledSliderButton = styled.div<StyledSliderButtonProps>`\n opacity: ${({ $isDisabled }) => ($isDisabled ? 0.5 : 1)};\n width: 100%;\n touch-action: none;\n position: relative;\n`;\n\ntype StyledSliderButtonWrapperProps = WithTheme<{\n $width: number;\n $isDisabled?: boolean;\n $isRounded: boolean;\n}>;\n\nexport const StyledSliderButtonWrapper = styled.div<StyledSliderButtonWrapperProps>`\n align-items: center;\n border-radius: ${({ $isRounded }) => ($isRounded ? 32 : 3)}px;\n border: none;\n color: white;\n cursor: pointer;\n display: inline-flex;\n line-height: 1.15;\n height: 32px;\n position: relative;\n user-select: none;\n transition: opacity 0.3s ease;\n\n width: ${({ $width }) => $width}px;\n\n max-width: 100%;\n overflow-x: ${({ $isDisabled }) => ($isDisabled ? 'hidden' : 'scroll')};\n overflow-y: hidden;\n\n // Chrome\n &::-webkit-scrollbar {\n display: none;\n }\n\n // IE and Edge\n -ms-overflow-style: none;\n\n // Firefox\n scrollbar-width: none;\n`;\n\ntype StyledSliderButtonItemProps = WithTheme<{\n $isSecondary?: boolean;\n $width: number;\n}>;\n\nexport const StyledSliderButtonItem = styled.div<StyledSliderButtonItemProps>`\n font-size: 110%;\n font-family: 'Roboto Medium', serif;\n padding: 7px 12px;\n min-width: ${({ $width }) => $width}px;\n max-width: ${({ $width }) => $width}px;\n display: flex;\n white-space: nowrap;\n justify-content: center;\n color: ${({ $isSecondary, theme }: StyledSliderButtonItemProps) =>\n $isSecondary ? theme.text : (theme.buttonColor ?? 'white')};\n`;\n\nexport const StyledSliderButtonPopupContent = styled.div`\n display: flex;\n flex-direction: column;\n`;\n\ntype StyledSliderButtonPopupContentItemProps = WithTheme<{\n $isSelected?: boolean;\n}>;\n\nexport const StyledSliderButtonPopupContentItem = styled.div<StyledSliderButtonPopupContentItemProps>`\n font-size: 110%;\n font-family: 'Roboto Medium', serif;\n cursor: pointer;\n background-color: ${({ $isSelected, theme }: StyledSliderButtonPopupContentItemProps) =>\n $isSelected ? theme['secondary-102'] : undefined};\n padding: 4px 12px;\n`;\n\ntype StyledSliderButtonButtonsWrapperProps = WithTheme<{ $isInvisible?: boolean }>;\n\nexport const StyledSliderButtonButtonsWrapper = styled.div<StyledSliderButtonButtonsWrapperProps>`\n position: absolute;\n z-index: ${({ $isInvisible }) => ($isInvisible ? '2' : '4')};\n opacity: ${({ $isInvisible }) => ($isInvisible ? 0 : 1)};\n display: flex;\n cursor: pointer;\n align-items: center;\n pointer-events: ${({ $isInvisible }) => ($isInvisible ? 'auto' : 'none')};\n`;\n\ntype StyledMotionSliderButtonThumbProps = WithTheme<{\n $width: number;\n $isRounded: boolean;\n}>;\n\nexport const StyledMotionSliderButtonThumb = styled(motion.div)<StyledMotionSliderButtonThumbProps>`\n font-size: 110%;\n font-family: 'Roboto Medium', serif;\n opacity: 1;\n width: ${({ $width }) => $width - 8}px;\n position: absolute;\n border-radius: ${({ $isRounded }) => ($isRounded ? 24 : 3)}px;\n top: 4px;\n left: 4px;\n white-space: nowrap;\n z-index: 3;\n height: 24px;\n padding: 7px 12px;\n display: flex;\n color: white;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n`;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAAgD,SAAAE,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAKzC,MAAMG,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,GAAGE,yBAAM,CAACC,GAA4B;AACrE,eAAe,CAAC;EAAEC;AAAY,CAAC,KAAMA,WAAW,GAAG,GAAG,GAAG,CAAE;AAC3D;AACA;AACA;AACA,CAAC;AAQM,MAAMC,yBAAyB,GAAAJ,OAAA,CAAAI,yBAAA,GAAGH,yBAAM,CAACC,GAAmC;AACnF;AACA,qBAAqB,CAAC;EAAEG;AAAW,CAAC,KAAMA,UAAU,GAAG,EAAE,GAAG,CAAE;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,CAAC;EAAEC;AAAO,CAAC,KAAKA,MAAM;AACnC;AACA;AACA,kBAAkB,CAAC;EAAEH;AAAY,CAAC,KAAMA,WAAW,GAAG,QAAQ,GAAG,QAAS;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAOM,MAAMI,sBAAsB,GAAAP,OAAA,CAAAO,sBAAA,GAAGN,yBAAM,CAACC,GAAgC;AAC7E;AACA;AACA;AACA,iBAAiB,CAAC;EAAEI;AAAO,CAAC,KAAKA,MAAM;AACvC,iBAAiB,CAAC;EAAEA;AAAO,CAAC,KAAKA,MAAM;AACvC;AACA;AACA;AACA,aAAa,CAAC;EAAEE,YAAY;EAAEC;AAAmC,CAAC,KAC1DD,YAAY,GAAGC,KAAK,CAACC,IAAI,GAAID,KAAK,CAACE,WAAW,IAAI,OAAQ;AAClE,CAAC;AAEM,MAAMC,8BAA8B,GAAAZ,OAAA,CAAAY,8BAAA,GAAGX,yBAAM,CAACC,GAAG;AACxD;AACA;AACA,CAAC;AAMM,MAAMW,kCAAkC,GAAAb,OAAA,CAAAa,kCAAA,GAAGZ,yBAAM,CAACC,GAA4C;AACrG;AACA;AACA;AACA,wBAAwB,CAAC;EAAEY,WAAW;EAAEL;AAA+C,CAAC,KAChFK,WAAW,GAAGL,KAAK,CAAC,eAAe,CAAC,GAAGM,SAAS;AACxD;AACA,CAAC;AAIM,MAAMC,gCAAgC,GAAAhB,OAAA,CAAAgB,gCAAA,GAAGf,yBAAM,CAACC,GAA0C;AACjG;AACA,eAAe,CAAC;EAAEe;AAAa,CAAC,KAAMA,YAAY,GAAG,GAAG,GAAG,GAAI;AAC/D,eAAe,CAAC;EAAEA;AAAa,CAAC,KAAMA,YAAY,GAAG,CAAC,GAAG,CAAE;AAC3D;AACA;AACA;AACA,sBAAsB,CAAC;EAAEA;AAAa,CAAC,KAAMA,YAAY,GAAG,MAAM,GAAG,MAAO;AAC5E,CAAC;AAOM,MAAMC,6BAA6B,GAAAlB,OAAA,CAAAkB,6BAAA,GAAG,IAAAjB,yBAAM,EAACkB,aAAM,CAACjB,GAAG,CAAqC;AACnG;AACA;AACA;AACA,aAAa,CAAC;EAAEI;AAAO,CAAC,KAAKA,MAAM,GAAG,CAAC;AACvC;AACA,qBAAqB,CAAC;EAAED;AAAW,CAAC,KAAMA,UAAU,GAAG,EAAE,GAAG,CAAE;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC","ignoreList":[]}
@@ -14,6 +14,7 @@ var _Icon = _interopRequireDefault(require("../icon/Icon"));
14
14
  var _TagInput = require("./TagInput.styles");
15
15
  var _AreaContextProvider = require("../area-provider/AreaContextProvider");
16
16
  var _resize = require("../../hooks/resize");
17
+ var _useFocusRingPortal = require("../../hooks/useFocusRingPortal");
17
18
  var _useKeyboardFocusHighlighting = require("../../hooks/useKeyboardFocusHighlighting");
18
19
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
19
20
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
@@ -35,6 +36,7 @@ const TagInput = /*#__PURE__*/(0, _react.forwardRef)(({
35
36
  const [selectedId, setSelectedId] = (0, _react.useState)();
36
37
  const areaProvider = (0, _react.useContext)(_AreaContextProvider.AreaContext);
37
38
  const inputRef = (0, _react.useRef)(null);
39
+ const tagInputRef = (0, _react.useRef)(null);
38
40
  (0, _resize.useCursorRepaint)(inputRef);
39
41
  const theme = (0, _styledComponents.useTheme)();
40
42
  const handleResetValue = () => {
@@ -42,7 +44,6 @@ const TagInput = /*#__PURE__*/(0, _react.forwardRef)(({
42
44
  };
43
45
  const shouldChangeColor = (0, _react.useMemo)(() => areaProvider.shouldChangeColor ?? false, [areaProvider.shouldChangeColor]);
44
46
  const shouldShowKeyboardHighlighting = (0, _useKeyboardFocusHighlighting.useKeyboardFocusHighlighting)(shouldEnableKeyboardHighlighting);
45
- const shouldShowTagHighlighting = shouldShowKeyboardHighlighting && typeof selectedId === 'string';
46
47
  (0, _react.useImperativeHandle)(ref, () => ({
47
48
  blur: () => {
48
49
  var _inputRef$current;
@@ -198,7 +199,13 @@ const TagInput = /*#__PURE__*/(0, _react.forwardRef)(({
198
199
  return items;
199
200
  }, [tags, shouldAllowMultiple, selectedId, shouldShowKeyboardHighlighting, theme, handleIconClick, size]);
200
201
  const shouldShowInput = (0, _react.useMemo)(() => shouldAllowMultiple || ((tags === null || tags === void 0 ? void 0 : tags.length) ?? 0) < 1, [tags === null || tags === void 0 ? void 0 : tags.length, shouldAllowMultiple]);
202
+ (0, _useFocusRingPortal.useFocusRingPortal)(inputRef, {
203
+ isEnabled: shouldShowKeyboardHighlighting && shouldShowInput,
204
+ overlayRef: tagInputRef
205
+ });
206
+ const shouldShowTagHighlighting = shouldShowKeyboardHighlighting && typeof selectedId === 'string';
201
207
  return (0, _react.useMemo)(() => /*#__PURE__*/_react.default.createElement(_TagInput.StyledTagInput, {
208
+ ref: tagInputRef,
202
209
  $shouldChangeColor: shouldChangeColor,
203
210
  $shouldShowKeyboardHighlighting: shouldShowKeyboardHighlighting,
204
211
  $shouldShowTagHighlighting: shouldShowTagHighlighting,
@@ -1 +1 @@
1
- {"version":3,"file":"TagInput.js","names":["_react","_interopRequireWildcard","require","_styledComponents","_uuid","_Badge","_interopRequireDefault","_Badge2","_Input","_Icon","_TagInput","_AreaContextProvider","_resize","_useKeyboardFocusHighlighting","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TagInput","forwardRef","leftElement","onAdd","onBlur","onChange","onFocus","onRemove","placeholder","shouldAllowMultiple","shouldEnableKeyboardHighlighting","shouldPreventEnter","size","InputSize","Medium","tags","ref","currentValue","setCurrentValue","useState","selectedId","setSelectedId","areaProvider","useContext","AreaContext","inputRef","useRef","useCursorRepaint","theme","useTheme","handleResetValue","shouldChangeColor","useMemo","shouldShowKeyboardHighlighting","useKeyboardFocusHighlighting","shouldShowTagHighlighting","useImperativeHandle","blur","_inputRef$current","current","getUnsavedTagText","undefined","resetValue","handleRemoveTag","useCallback","id","currentTags","_currentTags","_currentTags2","removedTagIndex","findIndex","tag","handleKeyDown","event","visibleTags","slice","selectedTagIndex","selectedTag","isSpaceKey","key","isEnterKey","isDeleteKey","length","_visibleTags2","preventDefault","_visibleTags","_visibleTags3","_visibleTags$","_visibleTags4","_visibleTags5","prevValue","newTag","uuidv4","text","onAddResult","Promise","then","shouldAddTag","handleChange","target","value","handleIconClick","content","items","forEach","rightElement","isSelected","push","createElement","StyledTagInputTagFocusWrapper","$isSelected","$shouldShowKeyboardHighlighting","backgroundColor","Small","BadgeSize","SMALL","DEFAULT","StyledTagInputTagWrapper","$size","StyledTagInputTagWrapperText","icons","onClick","stopPropagation","shouldShowInput","StyledTagInput","$shouldChangeColor","$shouldShowTagHighlighting","StyledTagInputIconWrapper","StyledTagInputTagInput","onKeyDown","_default","exports"],"sources":["../../../../src/components/tag-input/TagInput.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useCallback,\n useMemo,\n useState,\n type ChangeEvent,\n type KeyboardEvent,\n type ReactElement,\n useImperativeHandle,\n useContext,\n ChangeEventHandler,\n ReactNode,\n FocusEventHandler,\n useRef,\n} from 'react';\nimport { useTheme } from 'styled-components';\nimport { v4 as uuidv4 } from 'uuid';\nimport type { Tag } from '../../types/tagInput';\nimport Badge from '../badge/Badge';\nimport { BadgeSize } from '../badge/Badge.types';\nimport { InputSize } from '../input/Input';\nimport Icon from '../icon/Icon';\nimport {\n StyledTagInput,\n StyledTagInputTagFocusWrapper,\n StyledTagInputIconWrapper,\n StyledTagInputTagInput,\n StyledTagInputTagWrapper,\n StyledTagInputTagWrapperText,\n} from './TagInput.styles';\nimport { AreaContext } from '../area-provider/AreaContextProvider';\nimport type { Theme } from '../color-scheme-provider/ColorSchemeProvider';\nimport { useCursorRepaint } from '../../hooks/resize';\nimport { useKeyboardFocusHighlighting } from '../../hooks/useKeyboardFocusHighlighting';\n\nexport type TagInputProps = {\n /**\n * An element that should be displayed on the left side of the input.\n */\n leftElement?: ReactNode;\n /**\n * Function to be executed when a tag is added.\n */\n onAdd?: (tag: Tag) => Promise<boolean> | boolean | void;\n /**\n * Function to be executed when the input is blurred.\n */\n onBlur?: FocusEventHandler;\n /**\n * Function to be executed when the value of the input is changed.\n */\n onChange?: ChangeEventHandler<HTMLInputElement>;\n /**\n * Function to be executed when the input is focused.\n */\n onFocus?: FocusEventHandler;\n /**\n * Enables keyboard-only focus highlighting.\n */\n shouldEnableKeyboardHighlighting?: boolean;\n /**\n * Function to be executed when a tag is removed.\n */\n onRemove?: (id: string) => void;\n /**\n * The placeholder that should be displayed.\n */\n placeholder?: string;\n /**\n * Whether multiple tags should be allowed.\n */\n shouldAllowMultiple?: boolean;\n /**\n * Whether the enter key should be prevented.\n */\n shouldPreventEnter?: boolean;\n /**\n * The tags that should be displayed.\n */\n tags?: Tag[];\n /**\n * The size of the input field.\n */\n size?: InputSize;\n};\n\nexport interface TagInputRef {\n blur: () => void;\n getUnsavedTagText: Tag['text'] | undefined;\n resetValue: () => void;\n}\n\nconst TagInput = forwardRef<TagInputRef, TagInputProps>(\n (\n {\n leftElement,\n onAdd,\n onBlur,\n onChange,\n onFocus,\n onRemove,\n placeholder,\n shouldAllowMultiple = true,\n shouldEnableKeyboardHighlighting,\n shouldPreventEnter,\n size = InputSize.Medium,\n tags,\n },\n ref,\n ) => {\n const [currentValue, setCurrentValue] = useState('');\n const [selectedId, setSelectedId] = useState<Tag['id']>();\n\n const areaProvider = useContext(AreaContext);\n\n const inputRef = useRef<HTMLInputElement | null>(null);\n\n useCursorRepaint(inputRef);\n\n const theme = useTheme() as Theme;\n\n const handleResetValue = () => {\n setCurrentValue('');\n };\n\n const shouldChangeColor = useMemo(\n () => areaProvider.shouldChangeColor ?? false,\n [areaProvider.shouldChangeColor],\n );\n\n const shouldShowKeyboardHighlighting = useKeyboardFocusHighlighting(\n shouldEnableKeyboardHighlighting,\n );\n\n const shouldShowTagHighlighting =\n shouldShowKeyboardHighlighting && typeof selectedId === 'string';\n\n useImperativeHandle(\n ref,\n () => ({\n blur: () => inputRef.current?.blur(),\n getUnsavedTagText: currentValue !== '' ? currentValue : undefined,\n resetValue: handleResetValue,\n }),\n [currentValue],\n );\n\n const handleRemoveTag = useCallback(\n (id: string, currentTags: Tag[]) => {\n const removedTagIndex = currentTags.findIndex((tag) => tag.id === id);\n\n if (typeof onRemove === 'function') {\n onRemove(id);\n }\n\n if (removedTagIndex < 0) {\n setSelectedId(undefined);\n return;\n }\n\n setSelectedId(\n currentTags[removedTagIndex + 1]?.id ?? currentTags[removedTagIndex - 1]?.id,\n );\n },\n [onRemove],\n );\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLInputElement>) => {\n const visibleTags = shouldAllowMultiple ? (tags ?? []) : (tags ?? []).slice(0, 1);\n const selectedTagIndex = visibleTags.findIndex((tag) => tag.id === selectedId);\n const selectedTag =\n selectedTagIndex >= 0 ? visibleTags[selectedTagIndex] : undefined;\n const isSpaceKey = event.key === ' ';\n const isEnterKey = event.key === 'Enter';\n const isDeleteKey = event.key === 'Delete';\n\n if (currentValue === '' && visibleTags.length > 0) {\n if (event.key === 'ArrowLeft') {\n event.preventDefault();\n\n if (!selectedId) {\n setSelectedId(visibleTags[visibleTags.length - 1]?.id);\n return;\n }\n\n if (selectedTagIndex <= 0) {\n setSelectedId(undefined);\n return;\n }\n\n setSelectedId(visibleTags[selectedTagIndex - 1]?.id);\n return;\n }\n\n if (event.key === 'ArrowRight') {\n event.preventDefault();\n\n if (!selectedId || selectedTagIndex < 0) {\n return;\n }\n\n if (selectedTagIndex >= visibleTags.length - 1) {\n setSelectedId(undefined);\n return;\n }\n\n setSelectedId(visibleTags[selectedTagIndex + 1]?.id);\n return;\n }\n\n if (event.key === 'Home') {\n event.preventDefault();\n setSelectedId(visibleTags[0]?.id);\n return;\n }\n\n if (event.key === 'End') {\n event.preventDefault();\n setSelectedId(visibleTags[visibleTags.length - 1]?.id);\n return;\n }\n\n if (isEnterKey || isSpaceKey || event.key === 'Backspace' || isDeleteKey) {\n event.preventDefault();\n\n if (!selectedTag) {\n setSelectedId(visibleTags[visibleTags.length - 1]?.id);\n return;\n }\n\n handleRemoveTag(selectedTag.id, visibleTags);\n return;\n }\n }\n\n if (isEnterKey && !shouldPreventEnter) {\n setCurrentValue((prevValue) => {\n if (!prevValue) {\n return '';\n }\n\n if (!shouldAllowMultiple && (tags?.length ?? 0) > 0) return '';\n\n const newTag = { id: uuidv4(), text: prevValue };\n\n if (typeof onAdd === 'function') {\n const onAddResult = onAdd(newTag);\n\n if (typeof onAddResult === 'boolean' && !onAddResult) {\n return prevValue;\n }\n\n if (onAddResult instanceof Promise) {\n void onAddResult.then((shouldAddTag) => {\n if (!shouldAddTag) {\n return prevValue;\n }\n\n return '';\n });\n }\n }\n\n return '';\n });\n }\n },\n [\n currentValue,\n onAdd,\n handleRemoveTag,\n selectedId,\n shouldAllowMultiple,\n shouldPreventEnter,\n tags,\n ],\n );\n\n const handleChange = useCallback(\n (event: ChangeEvent<HTMLInputElement>) => {\n setCurrentValue(event.target.value);\n\n if (typeof onChange === 'function') {\n onChange(event);\n }\n\n if (event.target.value !== '') {\n setSelectedId(undefined);\n }\n },\n [onChange],\n );\n\n const handleIconClick = useCallback(\n (id: string) => {\n handleRemoveTag(id, shouldAllowMultiple ? (tags ?? []) : (tags ?? []).slice(0, 1));\n },\n [handleRemoveTag, shouldAllowMultiple, tags],\n );\n\n const content = useMemo(() => {\n const items: ReactElement[] = [];\n\n if (!tags) {\n return items;\n }\n\n (shouldAllowMultiple ? tags : tags.slice(0, 1)).forEach(\n ({ text, id, rightElement }) => {\n const isSelected = id === selectedId;\n\n items.push(\n <StyledTagInputTagFocusWrapper\n $isSelected={isSelected}\n $shouldShowKeyboardHighlighting={shouldShowKeyboardHighlighting}\n key={`tag-input-${id}`}\n >\n <Badge\n backgroundColor={\n isSelected ? ((theme['206'] as string) ?? undefined) : undefined\n }\n size={\n size === InputSize.Small ? BadgeSize.SMALL : BadgeSize.DEFAULT\n }\n >\n <StyledTagInputTagWrapper $size={size}>\n <StyledTagInputTagWrapperText $size={size}>\n {text}\n </StyledTagInputTagWrapperText>\n {rightElement}\n <Icon\n icons={['ts-wrong']}\n size={size === InputSize.Small ? 14 : 16}\n shouldEnableKeyboardHighlighting={false}\n onClick={(event) => {\n event.preventDefault();\n event.stopPropagation();\n\n handleIconClick(id);\n }}\n />\n </StyledTagInputTagWrapper>\n </Badge>\n </StyledTagInputTagFocusWrapper>,\n );\n },\n );\n\n return items;\n }, [\n tags,\n shouldAllowMultiple,\n selectedId,\n shouldShowKeyboardHighlighting,\n theme,\n handleIconClick,\n size,\n ]);\n\n const shouldShowInput = useMemo(\n () => shouldAllowMultiple || (tags?.length ?? 0) < 1,\n [tags?.length, shouldAllowMultiple],\n );\n\n return useMemo(\n () => (\n <StyledTagInput\n $shouldChangeColor={shouldChangeColor}\n $shouldShowKeyboardHighlighting={shouldShowKeyboardHighlighting}\n $shouldShowTagHighlighting={shouldShowTagHighlighting}\n $size={size}\n >\n {leftElement && (\n <StyledTagInputIconWrapper $size={size}>\n {leftElement}\n </StyledTagInputIconWrapper>\n )}\n {content}\n {shouldShowInput && (\n <StyledTagInputTagInput\n onBlur={onBlur}\n onChange={handleChange}\n onFocus={onFocus}\n onKeyDown={handleKeyDown}\n placeholder={tags && tags.length > 0 ? undefined : placeholder}\n ref={inputRef}\n $size={size}\n value={currentValue}\n />\n )}\n </StyledTagInput>\n ),\n [\n content,\n currentValue,\n handleChange,\n handleKeyDown,\n leftElement,\n onBlur,\n onFocus,\n placeholder,\n shouldChangeColor,\n shouldShowInput,\n shouldShowKeyboardHighlighting,\n shouldShowTagHighlighting,\n size,\n tags,\n ],\n );\n },\n);\n\nexport default TagInput;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"TagInput.js","names":["_react","_interopRequireWildcard","require","_styledComponents","_uuid","_Badge","_interopRequireDefault","_Badge2","_Input","_Icon","_TagInput","_AreaContextProvider","_resize","_useFocusRingPortal","_useKeyboardFocusHighlighting","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TagInput","forwardRef","leftElement","onAdd","onBlur","onChange","onFocus","onRemove","placeholder","shouldAllowMultiple","shouldEnableKeyboardHighlighting","shouldPreventEnter","size","InputSize","Medium","tags","ref","currentValue","setCurrentValue","useState","selectedId","setSelectedId","areaProvider","useContext","AreaContext","inputRef","useRef","tagInputRef","useCursorRepaint","theme","useTheme","handleResetValue","shouldChangeColor","useMemo","shouldShowKeyboardHighlighting","useKeyboardFocusHighlighting","useImperativeHandle","blur","_inputRef$current","current","getUnsavedTagText","undefined","resetValue","handleRemoveTag","useCallback","id","currentTags","_currentTags","_currentTags2","removedTagIndex","findIndex","tag","handleKeyDown","event","visibleTags","slice","selectedTagIndex","selectedTag","isSpaceKey","key","isEnterKey","isDeleteKey","length","_visibleTags2","preventDefault","_visibleTags","_visibleTags3","_visibleTags$","_visibleTags4","_visibleTags5","prevValue","newTag","uuidv4","text","onAddResult","Promise","then","shouldAddTag","handleChange","target","value","handleIconClick","content","items","forEach","rightElement","isSelected","push","createElement","StyledTagInputTagFocusWrapper","$isSelected","$shouldShowKeyboardHighlighting","backgroundColor","Small","BadgeSize","SMALL","DEFAULT","StyledTagInputTagWrapper","$size","StyledTagInputTagWrapperText","icons","onClick","stopPropagation","shouldShowInput","useFocusRingPortal","isEnabled","overlayRef","shouldShowTagHighlighting","StyledTagInput","$shouldChangeColor","$shouldShowTagHighlighting","StyledTagInputIconWrapper","StyledTagInputTagInput","onKeyDown","_default","exports"],"sources":["../../../../src/components/tag-input/TagInput.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useCallback,\n useMemo,\n useState,\n type ChangeEvent,\n type KeyboardEvent,\n type ReactElement,\n useImperativeHandle,\n useContext,\n ChangeEventHandler,\n ReactNode,\n FocusEventHandler,\n useRef,\n} from 'react';\nimport { useTheme } from 'styled-components';\nimport { v4 as uuidv4 } from 'uuid';\nimport type { Tag } from '../../types/tagInput';\nimport Badge from '../badge/Badge';\nimport { BadgeSize } from '../badge/Badge.types';\nimport { InputSize } from '../input/Input';\nimport Icon from '../icon/Icon';\nimport {\n StyledTagInput,\n StyledTagInputTagFocusWrapper,\n StyledTagInputIconWrapper,\n StyledTagInputTagInput,\n StyledTagInputTagWrapper,\n StyledTagInputTagWrapperText,\n} from './TagInput.styles';\nimport { AreaContext } from '../area-provider/AreaContextProvider';\nimport type { Theme } from '../color-scheme-provider/ColorSchemeProvider';\nimport { useCursorRepaint } from '../../hooks/resize';\nimport { useFocusRingPortal } from '../../hooks/useFocusRingPortal';\nimport { useKeyboardFocusHighlighting } from '../../hooks/useKeyboardFocusHighlighting';\n\nexport type TagInputProps = {\n /**\n * An element that should be displayed on the left side of the input.\n */\n leftElement?: ReactNode;\n /**\n * Function to be executed when a tag is added.\n */\n onAdd?: (tag: Tag) => Promise<boolean> | boolean | void;\n /**\n * Function to be executed when the input is blurred.\n */\n onBlur?: FocusEventHandler;\n /**\n * Function to be executed when the value of the input is changed.\n */\n onChange?: ChangeEventHandler<HTMLInputElement>;\n /**\n * Function to be executed when the input is focused.\n */\n onFocus?: FocusEventHandler;\n /**\n * Enables keyboard-only focus highlighting.\n */\n shouldEnableKeyboardHighlighting?: boolean;\n /**\n * Function to be executed when a tag is removed.\n */\n onRemove?: (id: string) => void;\n /**\n * The placeholder that should be displayed.\n */\n placeholder?: string;\n /**\n * Whether multiple tags should be allowed.\n */\n shouldAllowMultiple?: boolean;\n /**\n * Whether the enter key should be prevented.\n */\n shouldPreventEnter?: boolean;\n /**\n * The tags that should be displayed.\n */\n tags?: Tag[];\n /**\n * The size of the input field.\n */\n size?: InputSize;\n};\n\nexport interface TagInputRef {\n blur: () => void;\n getUnsavedTagText: Tag['text'] | undefined;\n resetValue: () => void;\n}\n\nconst TagInput = forwardRef<TagInputRef, TagInputProps>(\n (\n {\n leftElement,\n onAdd,\n onBlur,\n onChange,\n onFocus,\n onRemove,\n placeholder,\n shouldAllowMultiple = true,\n shouldEnableKeyboardHighlighting,\n shouldPreventEnter,\n size = InputSize.Medium,\n tags,\n },\n ref,\n ) => {\n const [currentValue, setCurrentValue] = useState('');\n const [selectedId, setSelectedId] = useState<Tag['id']>();\n\n const areaProvider = useContext(AreaContext);\n\n const inputRef = useRef<HTMLInputElement | null>(null);\n const tagInputRef = useRef<HTMLDivElement | null>(null);\n\n useCursorRepaint(inputRef);\n\n const theme = useTheme() as Theme;\n\n const handleResetValue = () => {\n setCurrentValue('');\n };\n\n const shouldChangeColor = useMemo(\n () => areaProvider.shouldChangeColor ?? false,\n [areaProvider.shouldChangeColor],\n );\n\n const shouldShowKeyboardHighlighting = useKeyboardFocusHighlighting(\n shouldEnableKeyboardHighlighting,\n );\n\n useImperativeHandle(\n ref,\n () => ({\n blur: () => inputRef.current?.blur(),\n getUnsavedTagText: currentValue !== '' ? currentValue : undefined,\n resetValue: handleResetValue,\n }),\n [currentValue],\n );\n\n const handleRemoveTag = useCallback(\n (id: string, currentTags: Tag[]) => {\n const removedTagIndex = currentTags.findIndex((tag) => tag.id === id);\n\n if (typeof onRemove === 'function') {\n onRemove(id);\n }\n\n if (removedTagIndex < 0) {\n setSelectedId(undefined);\n return;\n }\n\n setSelectedId(\n currentTags[removedTagIndex + 1]?.id ?? currentTags[removedTagIndex - 1]?.id,\n );\n },\n [onRemove],\n );\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLInputElement>) => {\n const visibleTags = shouldAllowMultiple ? (tags ?? []) : (tags ?? []).slice(0, 1);\n const selectedTagIndex = visibleTags.findIndex((tag) => tag.id === selectedId);\n const selectedTag =\n selectedTagIndex >= 0 ? visibleTags[selectedTagIndex] : undefined;\n const isSpaceKey = event.key === ' ';\n const isEnterKey = event.key === 'Enter';\n const isDeleteKey = event.key === 'Delete';\n\n if (currentValue === '' && visibleTags.length > 0) {\n if (event.key === 'ArrowLeft') {\n event.preventDefault();\n\n if (!selectedId) {\n setSelectedId(visibleTags[visibleTags.length - 1]?.id);\n return;\n }\n\n if (selectedTagIndex <= 0) {\n setSelectedId(undefined);\n return;\n }\n\n setSelectedId(visibleTags[selectedTagIndex - 1]?.id);\n return;\n }\n\n if (event.key === 'ArrowRight') {\n event.preventDefault();\n\n if (!selectedId || selectedTagIndex < 0) {\n return;\n }\n\n if (selectedTagIndex >= visibleTags.length - 1) {\n setSelectedId(undefined);\n return;\n }\n\n setSelectedId(visibleTags[selectedTagIndex + 1]?.id);\n return;\n }\n\n if (event.key === 'Home') {\n event.preventDefault();\n setSelectedId(visibleTags[0]?.id);\n return;\n }\n\n if (event.key === 'End') {\n event.preventDefault();\n setSelectedId(visibleTags[visibleTags.length - 1]?.id);\n return;\n }\n\n if (isEnterKey || isSpaceKey || event.key === 'Backspace' || isDeleteKey) {\n event.preventDefault();\n\n if (!selectedTag) {\n setSelectedId(visibleTags[visibleTags.length - 1]?.id);\n return;\n }\n\n handleRemoveTag(selectedTag.id, visibleTags);\n return;\n }\n }\n\n if (isEnterKey && !shouldPreventEnter) {\n setCurrentValue((prevValue) => {\n if (!prevValue) {\n return '';\n }\n\n if (!shouldAllowMultiple && (tags?.length ?? 0) > 0) return '';\n\n const newTag = { id: uuidv4(), text: prevValue };\n\n if (typeof onAdd === 'function') {\n const onAddResult = onAdd(newTag);\n\n if (typeof onAddResult === 'boolean' && !onAddResult) {\n return prevValue;\n }\n\n if (onAddResult instanceof Promise) {\n void onAddResult.then((shouldAddTag) => {\n if (!shouldAddTag) {\n return prevValue;\n }\n\n return '';\n });\n }\n }\n\n return '';\n });\n }\n },\n [\n currentValue,\n onAdd,\n handleRemoveTag,\n selectedId,\n shouldAllowMultiple,\n shouldPreventEnter,\n tags,\n ],\n );\n\n const handleChange = useCallback(\n (event: ChangeEvent<HTMLInputElement>) => {\n setCurrentValue(event.target.value);\n\n if (typeof onChange === 'function') {\n onChange(event);\n }\n\n if (event.target.value !== '') {\n setSelectedId(undefined);\n }\n },\n [onChange],\n );\n\n const handleIconClick = useCallback(\n (id: string) => {\n handleRemoveTag(id, shouldAllowMultiple ? (tags ?? []) : (tags ?? []).slice(0, 1));\n },\n [handleRemoveTag, shouldAllowMultiple, tags],\n );\n\n const content = useMemo(() => {\n const items: ReactElement[] = [];\n\n if (!tags) {\n return items;\n }\n\n (shouldAllowMultiple ? tags : tags.slice(0, 1)).forEach(\n ({ text, id, rightElement }) => {\n const isSelected = id === selectedId;\n\n items.push(\n <StyledTagInputTagFocusWrapper\n $isSelected={isSelected}\n $shouldShowKeyboardHighlighting={shouldShowKeyboardHighlighting}\n key={`tag-input-${id}`}\n >\n <Badge\n backgroundColor={\n isSelected ? ((theme['206'] as string) ?? undefined) : undefined\n }\n size={\n size === InputSize.Small ? BadgeSize.SMALL : BadgeSize.DEFAULT\n }\n >\n <StyledTagInputTagWrapper $size={size}>\n <StyledTagInputTagWrapperText $size={size}>\n {text}\n </StyledTagInputTagWrapperText>\n {rightElement}\n <Icon\n icons={['ts-wrong']}\n size={size === InputSize.Small ? 14 : 16}\n shouldEnableKeyboardHighlighting={false}\n onClick={(event) => {\n event.preventDefault();\n event.stopPropagation();\n\n handleIconClick(id);\n }}\n />\n </StyledTagInputTagWrapper>\n </Badge>\n </StyledTagInputTagFocusWrapper>,\n );\n },\n );\n\n return items;\n }, [\n tags,\n shouldAllowMultiple,\n selectedId,\n shouldShowKeyboardHighlighting,\n theme,\n handleIconClick,\n size,\n ]);\n\n const shouldShowInput = useMemo(\n () => shouldAllowMultiple || (tags?.length ?? 0) < 1,\n [tags?.length, shouldAllowMultiple],\n );\n\n useFocusRingPortal(inputRef, {\n isEnabled: shouldShowKeyboardHighlighting && shouldShowInput,\n overlayRef: tagInputRef,\n });\n\n const shouldShowTagHighlighting =\n shouldShowKeyboardHighlighting && typeof selectedId === 'string';\n\n return useMemo(\n () => (\n <StyledTagInput\n ref={tagInputRef}\n $shouldChangeColor={shouldChangeColor}\n $shouldShowKeyboardHighlighting={shouldShowKeyboardHighlighting}\n $shouldShowTagHighlighting={shouldShowTagHighlighting}\n $size={size}\n >\n {leftElement && (\n <StyledTagInputIconWrapper $size={size}>\n {leftElement}\n </StyledTagInputIconWrapper>\n )}\n {content}\n {shouldShowInput && (\n <StyledTagInputTagInput\n onBlur={onBlur}\n onChange={handleChange}\n onFocus={onFocus}\n onKeyDown={handleKeyDown}\n placeholder={tags && tags.length > 0 ? undefined : placeholder}\n ref={inputRef}\n $size={size}\n value={currentValue}\n />\n )}\n </StyledTagInput>\n ),\n [\n content,\n currentValue,\n handleChange,\n handleKeyDown,\n leftElement,\n onBlur,\n onFocus,\n placeholder,\n shouldChangeColor,\n shouldShowInput,\n shouldShowKeyboardHighlighting,\n shouldShowTagHighlighting,\n size,\n tags,\n ],\n );\n },\n);\n\nexport default TagInput;\n"],"mappings":"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","ignoreList":[]}
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.StyledTagInputTagWrapperText = exports.StyledTagInputTagWrapper = exports.StyledTagInputTagInput = exports.StyledTagInputTagFocusWrapper = exports.StyledTagInputIconWrapper = exports.StyledTagInput = void 0;
7
7
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
8
- var _keyboardFocusHighlighting = require("../../utils/keyboardFocusHighlighting.styles");
9
8
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
10
9
  const StyledTagInput = exports.StyledTagInput = _styledComponents.default.div`
11
10
  display: flex;
@@ -32,7 +31,6 @@ const StyledTagInput = exports.StyledTagInput = _styledComponents.default.div`
32
31
  }) => $shouldShowKeyboardHighlighting && !$shouldShowTagHighlighting && (0, _styledComponents.css)`
33
32
  &:focus-within {
34
33
  transition: none;
35
- ${_keyboardFocusHighlighting.keyboardFocusHighlightingRingCss}
36
34
  }
37
35
  `}
38
36
  `;
@@ -52,7 +50,7 @@ const StyledTagInputTagFocusWrapper = exports.StyledTagInputTagFocusWrapper = _s
52
50
  }) => $isSelected && $shouldShowKeyboardHighlighting && (0, _styledComponents.css)`
53
51
  ${StyledTagInput}:focus-within & > .beta-chayns-badge {
54
52
  transition: none;
55
- ${_keyboardFocusHighlighting.keyboardFocusHighlightingRingCss}
53
+
56
54
  border-radius: 999px;
57
55
  outline-offset: 0;
58
56
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TagInput.styles.js","names":["_styledComponents","_interopRequireWildcard","require","_keyboardFocusHighlighting","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","StyledTagInput","exports","styled","div","$size","theme","$shouldChangeColor","colorMode","$shouldShowKeyboardHighlighting","$shouldShowTagHighlighting","css","keyboardFocusHighlightingRingCss","StyledTagInputTagWrapper","StyledTagInputTagFocusWrapper","$isSelected","StyledTagInputTagWrapperText","p","StyledTagInputTagInput","input","text","StyledTagInputIconWrapper"],"sources":["../../../../src/components/tag-input/TagInput.styles.ts"],"sourcesContent":["import styled, { css } from 'styled-components';\nimport type { WithTheme } from '../color-scheme-provider/ColorSchemeProvider';\nimport { keyboardFocusHighlightingRingCss } from '../../utils/keyboardFocusHighlighting.styles';\nimport type { InputSize } from '../input/Input';\n\ntype StyledTagInputProps = WithTheme<{\n $shouldChangeColor: boolean;\n $shouldShowKeyboardHighlighting: boolean;\n $shouldShowTagHighlighting: boolean;\n $size: InputSize;\n}>;\n\ntype StyledTagInputTagFocusWrapperProps = {\n $isSelected: boolean;\n $shouldShowKeyboardHighlighting: boolean;\n};\n\nexport const StyledTagInput = styled.div<StyledTagInputProps>`\n display: flex;\n flex-wrap: wrap;\n min-height: ${({ $size }) => ($size === 'medium' ? '42px' : '32px')};\n padding: ${({ $size }) => ($size === 'medium' ? '5px' : '4px')};\n align-items: center;\n gap: ${({ $size }) => ($size === 'medium' ? '6px' : '4px')};\n background-color: ${({ theme, $shouldChangeColor }: StyledTagInputProps) =>\n theme.colorMode === 'classic' || $shouldChangeColor ? theme['000'] : theme['100']};\n border: 1px solid rgba(160, 160, 160, 0.3);\n\n ${({ $shouldShowKeyboardHighlighting, $shouldShowTagHighlighting }) =>\n $shouldShowKeyboardHighlighting &&\n !$shouldShowTagHighlighting &&\n css`\n &:focus-within {\n transition: none;\n ${keyboardFocusHighlightingRingCss}\n }\n `}\n`;\n\ntype StyledTagInputTagWrapperProps = {\n $size: InputSize;\n};\n\nexport const StyledTagInputTagWrapper = styled.div<StyledTagInputTagWrapperProps>`\n display: flex;\n align-items: center;\n gap: ${({ $size }) => ($size === 'medium' ? '4px' : '2px')};\n`;\n\nexport const StyledTagInputTagFocusWrapper = styled.div<StyledTagInputTagFocusWrapperProps>`\n display: inline-flex;\n\n ${({ $isSelected, $shouldShowKeyboardHighlighting }) =>\n $isSelected &&\n $shouldShowKeyboardHighlighting &&\n css`\n ${StyledTagInput}:focus-within & > .beta-chayns-badge {\n transition: none;\n ${keyboardFocusHighlightingRingCss}\n border-radius: 999px;\n outline-offset: 0;\n }\n `}\n`;\n\ntype StyledTagInputTagWrapperTextProps = {\n $size: InputSize;\n};\n\nexport const StyledTagInputTagWrapperText = styled.p<StyledTagInputTagWrapperTextProps>`\n margin: 0;\n flex-grow: 1;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n font-size: ${({ $size }) => ($size === 'medium' ? '15px' : '13px')};\n`;\n\ntype StyledTagInputTagInputProps = WithTheme<{\n $size: InputSize;\n}>;\n\nexport const StyledTagInputTagInput = styled.input<StyledTagInputTagInputProps>`\n border: none;\n height: ${({ $size }) => ($size === 'medium' ? '24px' : '20px')};\n flex-grow: 1;\n background-color: transparent;\n color: ${({ theme }: StyledTagInputTagInputProps) => theme.text};\n font-size: ${({ $size }) => ($size === 'medium' ? '15px' : '13px')};\n`;\n\ntype StyledTagInputIconWrapperProps = {\n $size: InputSize;\n};\n\nexport const StyledTagInputIconWrapper = styled.div<StyledTagInputIconWrapperProps>`\n align-items: baseline;\n display: flex;\n flex: 0 0 auto;\n justify-content: center;\n margin-left: ${({ $size }) => ($size === 'medium' ? '5px' : '4px')};\n`;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"TagInput.styles.js","names":["_styledComponents","_interopRequireWildcard","require","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","StyledTagInput","exports","styled","div","$size","theme","$shouldChangeColor","colorMode","$shouldShowKeyboardHighlighting","$shouldShowTagHighlighting","css","StyledTagInputTagWrapper","StyledTagInputTagFocusWrapper","$isSelected","StyledTagInputTagWrapperText","p","StyledTagInputTagInput","input","text","StyledTagInputIconWrapper"],"sources":["../../../../src/components/tag-input/TagInput.styles.ts"],"sourcesContent":["import styled, { css } from 'styled-components';\nimport type { WithTheme } from '../color-scheme-provider/ColorSchemeProvider';\nimport type { InputSize } from '../input/Input';\n\ntype StyledTagInputProps = WithTheme<{\n $shouldChangeColor: boolean;\n $shouldShowKeyboardHighlighting: boolean;\n $shouldShowTagHighlighting: boolean;\n $size: InputSize;\n}>;\n\ntype StyledTagInputTagFocusWrapperProps = {\n $isSelected: boolean;\n $shouldShowKeyboardHighlighting: boolean;\n};\n\nexport const StyledTagInput = styled.div<StyledTagInputProps>`\n display: flex;\n flex-wrap: wrap;\n min-height: ${({ $size }) => ($size === 'medium' ? '42px' : '32px')};\n padding: ${({ $size }) => ($size === 'medium' ? '5px' : '4px')};\n align-items: center;\n gap: ${({ $size }) => ($size === 'medium' ? '6px' : '4px')};\n background-color: ${({ theme, $shouldChangeColor }: StyledTagInputProps) =>\n theme.colorMode === 'classic' || $shouldChangeColor ? theme['000'] : theme['100']};\n border: 1px solid rgba(160, 160, 160, 0.3);\n\n ${({ $shouldShowKeyboardHighlighting, $shouldShowTagHighlighting }) =>\n $shouldShowKeyboardHighlighting &&\n !$shouldShowTagHighlighting &&\n css`\n &:focus-within {\n transition: none;\n }\n `}\n`;\n\ntype StyledTagInputTagWrapperProps = {\n $size: InputSize;\n};\n\nexport const StyledTagInputTagWrapper = styled.div<StyledTagInputTagWrapperProps>`\n display: flex;\n align-items: center;\n gap: ${({ $size }) => ($size === 'medium' ? '4px' : '2px')};\n`;\n\nexport const StyledTagInputTagFocusWrapper = styled.div<StyledTagInputTagFocusWrapperProps>`\n display: inline-flex;\n\n ${({ $isSelected, $shouldShowKeyboardHighlighting }) =>\n $isSelected &&\n $shouldShowKeyboardHighlighting &&\n css`\n ${StyledTagInput}:focus-within & > .beta-chayns-badge {\n transition: none;\n\n border-radius: 999px;\n outline-offset: 0;\n }\n `}\n`;\n\ntype StyledTagInputTagWrapperTextProps = {\n $size: InputSize;\n};\n\nexport const StyledTagInputTagWrapperText = styled.p<StyledTagInputTagWrapperTextProps>`\n margin: 0;\n flex-grow: 1;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n font-size: ${({ $size }) => ($size === 'medium' ? '15px' : '13px')};\n`;\n\ntype StyledTagInputTagInputProps = WithTheme<{\n $size: InputSize;\n}>;\n\nexport const StyledTagInputTagInput = styled.input<StyledTagInputTagInputProps>`\n border: none;\n height: ${({ $size }) => ($size === 'medium' ? '24px' : '20px')};\n flex-grow: 1;\n background-color: transparent;\n color: ${({ theme }: StyledTagInputTagInputProps) => theme.text};\n font-size: ${({ $size }) => ($size === 'medium' ? '15px' : '13px')};\n`;\n\ntype StyledTagInputIconWrapperProps = {\n $size: InputSize;\n};\n\nexport const StyledTagInputIconWrapper = styled.div<StyledTagInputIconWrapperProps>`\n align-items: baseline;\n display: flex;\n flex: 0 0 auto;\n justify-content: center;\n margin-left: ${({ $size }) => ($size === 'medium' ? '5px' : '4px')};\n`;\n"],"mappings":"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","ignoreList":[]}