@chayns-components/core 5.4.13 → 5.4.14-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (462) hide show
  1. package/AGENTS.md +12 -0
  2. package/lib/cjs/components/accordion/Accordion.js +107 -12
  3. package/lib/cjs/components/accordion/Accordion.js.map +1 -1
  4. package/lib/cjs/components/accordion/Accordion.styles.js +23 -3
  5. package/lib/cjs/components/accordion/Accordion.styles.js.map +1 -1
  6. package/lib/cjs/components/accordion/accordion-body/AccordionBody.styles.js +3 -1
  7. package/lib/cjs/components/accordion/accordion-body/AccordionBody.styles.js.map +1 -1
  8. package/lib/cjs/components/accordion/accordion-group/AccordionGroup.js +36 -19
  9. package/lib/cjs/components/accordion/accordion-group/AccordionGroup.js.map +1 -1
  10. package/lib/cjs/components/accordion/accordion-head/AccordionHead.js +6 -3
  11. package/lib/cjs/components/accordion/accordion-head/AccordionHead.js.map +1 -1
  12. package/lib/cjs/components/accordion/accordion-head/AccordionHead.styles.js +14 -0
  13. package/lib/cjs/components/accordion/accordion-head/AccordionHead.styles.js.map +1 -1
  14. package/lib/cjs/components/amount-control/AmountControl.js +31 -17
  15. package/lib/cjs/components/amount-control/AmountControl.js.map +1 -1
  16. package/lib/cjs/components/amount-control/AmountControl.styles.js +18 -2
  17. package/lib/cjs/components/amount-control/AmountControl.styles.js.map +1 -1
  18. package/lib/cjs/components/button/Button.js +5 -1
  19. package/lib/cjs/components/button/Button.js.map +1 -1
  20. package/lib/cjs/components/button/Button.styles.js +10 -0
  21. package/lib/cjs/components/button/Button.styles.js.map +1 -1
  22. package/lib/cjs/components/button/Button.types.js.map +1 -1
  23. package/lib/cjs/components/checkbox/Checkbox.js +5 -1
  24. package/lib/cjs/components/checkbox/Checkbox.js.map +1 -1
  25. package/lib/cjs/components/checkbox/Checkbox.styles.js +29 -2
  26. package/lib/cjs/components/checkbox/Checkbox.styles.js.map +1 -1
  27. package/lib/cjs/components/color-scheme-provider/ColorSchemeProvider.js +7 -2
  28. package/lib/cjs/components/color-scheme-provider/ColorSchemeProvider.js.map +1 -1
  29. package/lib/cjs/components/color-scheme-provider/ColorSchemeProvider.styles.js +8 -2
  30. package/lib/cjs/components/color-scheme-provider/ColorSchemeProvider.styles.js.map +1 -1
  31. package/lib/cjs/components/combobox/ComboBox.js +68 -11
  32. package/lib/cjs/components/combobox/ComboBox.js.map +1 -1
  33. package/lib/cjs/components/combobox/ComboBox.styles.js +11 -0
  34. package/lib/cjs/components/combobox/ComboBox.styles.js.map +1 -1
  35. package/lib/cjs/components/combobox/ComboBox.types.js.map +1 -1
  36. package/lib/cjs/components/context-menu/ContextMenu.js +146 -42
  37. package/lib/cjs/components/context-menu/ContextMenu.js.map +1 -1
  38. package/lib/cjs/components/context-menu/ContextMenu.styles.js +38 -0
  39. package/lib/cjs/components/context-menu/ContextMenu.styles.js.map +1 -1
  40. package/lib/cjs/components/context-menu/ContextMenu.types.js.map +1 -1
  41. package/lib/cjs/components/context-menu/ContextMenu.utils.js +27 -1
  42. package/lib/cjs/components/context-menu/ContextMenu.utils.js.map +1 -1
  43. package/lib/cjs/components/context-menu/context-menu-content/ContextMenuContent.js +3 -8
  44. package/lib/cjs/components/context-menu/context-menu-content/ContextMenuContent.js.map +1 -1
  45. package/lib/cjs/components/file-input/FileInput.js +4 -2
  46. package/lib/cjs/components/file-input/FileInput.js.map +1 -1
  47. package/lib/cjs/components/file-list/file-item/FileItem.js +48 -25
  48. package/lib/cjs/components/file-list/file-item/FileItem.js.map +1 -1
  49. package/lib/cjs/components/file-list/file-item/FileItem.styles.js +25 -1
  50. package/lib/cjs/components/file-list/file-item/FileItem.styles.js.map +1 -1
  51. package/lib/cjs/components/file-select/FileSelect.js +27 -4
  52. package/lib/cjs/components/file-select/FileSelect.js.map +1 -1
  53. package/lib/cjs/components/file-select/FileSelect.styles.js +10 -0
  54. package/lib/cjs/components/file-select/FileSelect.styles.js.map +1 -1
  55. package/lib/cjs/components/filter/Filter.js +51 -16
  56. package/lib/cjs/components/filter/Filter.js.map +1 -1
  57. package/lib/cjs/components/filter/Filter.styles.js +9 -0
  58. package/lib/cjs/components/filter/Filter.styles.js.map +1 -1
  59. package/lib/cjs/components/filter/filter-content/FilterContent.js +14 -5
  60. package/lib/cjs/components/filter/filter-content/FilterContent.js.map +1 -1
  61. package/lib/cjs/components/filter/filter-content/FilterContent.types.js.map +1 -1
  62. package/lib/cjs/components/filter-buttons/FilterButtons.js +69 -4
  63. package/lib/cjs/components/filter-buttons/FilterButtons.js.map +1 -1
  64. package/lib/cjs/components/filter-buttons/filter-button/FilterButton.js +40 -2
  65. package/lib/cjs/components/filter-buttons/filter-button/FilterButton.js.map +1 -1
  66. package/lib/cjs/components/filter-buttons/filter-button/FilterButton.styles.js +11 -0
  67. package/lib/cjs/components/filter-buttons/filter-button/FilterButton.styles.js.map +1 -1
  68. package/lib/cjs/components/grid-image/GridImage.js +20 -2
  69. package/lib/cjs/components/grid-image/GridImage.js.map +1 -1
  70. package/lib/cjs/components/grid-image/GridImage.styles.js +11 -2
  71. package/lib/cjs/components/grid-image/GridImage.styles.js.map +1 -1
  72. package/lib/cjs/components/grouped-image/GroupedImage.js +23 -4
  73. package/lib/cjs/components/grouped-image/GroupedImage.js.map +1 -1
  74. package/lib/cjs/components/grouped-image/GroupedImage.styles.js +9 -0
  75. package/lib/cjs/components/grouped-image/GroupedImage.styles.js.map +1 -1
  76. package/lib/cjs/components/highlight-slider/HighlightSlider.js +13 -3
  77. package/lib/cjs/components/highlight-slider/HighlightSlider.js.map +1 -1
  78. package/lib/cjs/components/highlight-slider/highlight-slider-item/HighlightSliderItem.js +21 -4
  79. package/lib/cjs/components/highlight-slider/highlight-slider-item/HighlightSliderItem.js.map +1 -1
  80. package/lib/cjs/components/highlight-slider/highlight-slider-item/HighlightSliderItem.styles.js +11 -2
  81. package/lib/cjs/components/highlight-slider/highlight-slider-item/HighlightSliderItem.styles.js.map +1 -1
  82. package/lib/cjs/components/icon/Icon.js +24 -5
  83. package/lib/cjs/components/icon/Icon.js.map +1 -1
  84. package/lib/cjs/components/icon/Icon.styles.js +23 -0
  85. package/lib/cjs/components/icon/Icon.styles.js.map +1 -1
  86. package/lib/cjs/components/input/Input.js +29 -8
  87. package/lib/cjs/components/input/Input.js.map +1 -1
  88. package/lib/cjs/components/input/Input.styles.js +38 -3
  89. package/lib/cjs/components/input/Input.styles.js.map +1 -1
  90. package/lib/cjs/components/list/List.js +124 -37
  91. package/lib/cjs/components/list/List.js.map +1 -1
  92. package/lib/cjs/components/list/List.utils.js +213 -1
  93. package/lib/cjs/components/list/List.utils.js.map +1 -1
  94. package/lib/cjs/components/list/list-item/ListItem.js +84 -3
  95. package/lib/cjs/components/list/list-item/ListItem.js.map +1 -1
  96. package/lib/cjs/components/list/list-item/ListItem.styles.js +7 -0
  97. package/lib/cjs/components/list/list-item/ListItem.styles.js.map +1 -1
  98. package/lib/cjs/components/list/list-item/list-item-head/ListItemHead.js +5 -1
  99. package/lib/cjs/components/list/list-item/list-item-head/ListItemHead.js.map +1 -1
  100. package/lib/cjs/components/list/list-item/list-item-head/ListItemHead.styles.js +5 -1
  101. package/lib/cjs/components/list/list-item/list-item-head/ListItemHead.styles.js.map +1 -1
  102. package/lib/cjs/components/list/list-item/list-item-head/list-item-right-element/ListItemRightElement.js +1 -0
  103. package/lib/cjs/components/list/list-item/list-item-head/list-item-right-element/ListItemRightElement.js.map +1 -1
  104. package/lib/cjs/components/list/list-item/list-item-head/list-item-subtitle/ListItemSubtitle.js +3 -0
  105. package/lib/cjs/components/list/list-item/list-item-head/list-item-subtitle/ListItemSubtitle.js.map +1 -1
  106. package/lib/cjs/components/list/list-item/list-item-head/list-item-title/ListItemTitle.js +1 -0
  107. package/lib/cjs/components/list/list-item/list-item-head/list-item-title/ListItemTitle.js.map +1 -1
  108. package/lib/cjs/components/list/list-item/useListItemFocus.js +47 -0
  109. package/lib/cjs/components/list/list-item/useListItemFocus.js.map +1 -0
  110. package/lib/cjs/components/mention-finder/MentionFinder.js +43 -5
  111. package/lib/cjs/components/mention-finder/MentionFinder.js.map +1 -1
  112. package/lib/cjs/components/mention-finder/mention-finder-item/MentionFinderItem.styles.js.map +1 -1
  113. package/lib/cjs/components/multi-action-button/MultiActionButton.js +36 -3
  114. package/lib/cjs/components/multi-action-button/MultiActionButton.js.map +1 -1
  115. package/lib/cjs/components/multi-action-button/MultiActionButton.styles.js +6 -0
  116. package/lib/cjs/components/multi-action-button/MultiActionButton.styles.js.map +1 -1
  117. package/lib/cjs/components/multi-action-button/MultiActionButton.types.js.map +1 -1
  118. package/lib/cjs/components/multi-action-button/action-button/ActionButton.js +7 -1
  119. package/lib/cjs/components/multi-action-button/action-button/ActionButton.js.map +1 -1
  120. package/lib/cjs/components/multi-action-button/action-button/ActionButton.styles.js +12 -0
  121. package/lib/cjs/components/multi-action-button/action-button/ActionButton.styles.js.map +1 -1
  122. package/lib/cjs/components/number-input/NumberInput.js +13 -10
  123. package/lib/cjs/components/number-input/NumberInput.js.map +1 -1
  124. package/lib/cjs/components/page-provider/PageProvider.js +4 -2
  125. package/lib/cjs/components/page-provider/PageProvider.js.map +1 -1
  126. package/lib/cjs/components/popup/Popup.js +8 -1
  127. package/lib/cjs/components/popup/Popup.js.map +1 -1
  128. package/lib/cjs/components/radio-button/RadioButton.js +29 -15
  129. package/lib/cjs/components/radio-button/RadioButton.js.map +1 -1
  130. package/lib/cjs/components/radio-button/RadioButton.styles.js +19 -8
  131. package/lib/cjs/components/radio-button/RadioButton.styles.js.map +1 -1
  132. package/lib/cjs/components/radio-button/radio-button-group/RadioButtonGroup.js +7 -4
  133. package/lib/cjs/components/radio-button/radio-button-group/RadioButtonGroup.js.map +1 -1
  134. package/lib/cjs/components/search-box/SearchBox.js +21 -6
  135. package/lib/cjs/components/search-box/SearchBox.js.map +1 -1
  136. package/lib/cjs/components/search-input/SearchInput.js +56 -43
  137. package/lib/cjs/components/search-input/SearchInput.js.map +1 -1
  138. package/lib/cjs/components/search-input/SearchInput.styles.js +26 -2
  139. package/lib/cjs/components/search-input/SearchInput.styles.js.map +1 -1
  140. package/lib/cjs/components/select-button/SelectButton.js +4 -2
  141. package/lib/cjs/components/select-button/SelectButton.js.map +1 -1
  142. package/lib/cjs/components/setup-wizard/SetupWizard.js +10 -4
  143. package/lib/cjs/components/setup-wizard/SetupWizard.js.map +1 -1
  144. package/lib/cjs/components/setup-wizard/setup-wizard-item/SetupWizardItem.js +5 -3
  145. package/lib/cjs/components/setup-wizard/setup-wizard-item/SetupWizardItem.js.map +1 -1
  146. package/lib/cjs/components/sharing-bar/SharingBar.js +31 -6
  147. package/lib/cjs/components/sharing-bar/SharingBar.js.map +1 -1
  148. package/lib/cjs/components/sharing-bar/SharingBar.styles.js +5 -0
  149. package/lib/cjs/components/sharing-bar/SharingBar.styles.js.map +1 -1
  150. package/lib/cjs/components/sharing-button/SharingButton.js +4 -2
  151. package/lib/cjs/components/sharing-button/SharingButton.js.map +1 -1
  152. package/lib/cjs/components/sharing-context-menu/SharingContextMenu.js +3 -1
  153. package/lib/cjs/components/sharing-context-menu/SharingContextMenu.js.map +1 -1
  154. package/lib/cjs/components/signature/Signature.js +6 -3
  155. package/lib/cjs/components/signature/Signature.js.map +1 -1
  156. package/lib/cjs/components/slider/Slider.js +30 -7
  157. package/lib/cjs/components/slider/Slider.js.map +1 -1
  158. package/lib/cjs/components/slider/Slider.styles.js +9 -2
  159. package/lib/cjs/components/slider/Slider.styles.js.map +1 -1
  160. package/lib/cjs/components/slider-button/SliderButton.js +63 -6
  161. package/lib/cjs/components/slider-button/SliderButton.js.map +1 -1
  162. package/lib/cjs/components/slider-button/SliderButton.styles.js +15 -2
  163. package/lib/cjs/components/slider-button/SliderButton.styles.js.map +1 -1
  164. package/lib/cjs/components/slider-button/SliderButton.types.js +6 -0
  165. package/lib/cjs/components/slider-button/SliderButton.types.js.map +1 -0
  166. package/lib/cjs/components/slider-button/useSliderButtonPopupKeyboard.js +66 -0
  167. package/lib/cjs/components/slider-button/useSliderButtonPopupKeyboard.js.map +1 -0
  168. package/lib/cjs/components/slider-button/useSliderButtonThumbKeyboard.js +47 -0
  169. package/lib/cjs/components/slider-button/useSliderButtonThumbKeyboard.js.map +1 -0
  170. package/lib/cjs/components/tag-input/TagInput.js +92 -36
  171. package/lib/cjs/components/tag-input/TagInput.js.map +1 -1
  172. package/lib/cjs/components/tag-input/TagInput.styles.js +29 -3
  173. package/lib/cjs/components/tag-input/TagInput.styles.js.map +1 -1
  174. package/lib/cjs/components/text-area/TextArea.js +17 -8
  175. package/lib/cjs/components/text-area/TextArea.js.map +1 -1
  176. package/lib/cjs/components/text-area/TextArea.styles.js +15 -1
  177. package/lib/cjs/components/text-area/TextArea.styles.js.map +1 -1
  178. package/lib/cjs/components/truncation/Truncation.js +17 -3
  179. package/lib/cjs/components/truncation/Truncation.js.map +1 -1
  180. package/lib/cjs/components/truncation/Truncation.styles.js +18 -1
  181. package/lib/cjs/components/truncation/Truncation.styles.js.map +1 -1
  182. package/lib/cjs/hooks/useKeyboardFocusHighlighting.js +57 -0
  183. package/lib/cjs/hooks/useKeyboardFocusHighlighting.js.map +1 -0
  184. package/lib/cjs/utils/file.js.map +1 -1
  185. package/lib/cjs/utils/keyboardFocusHighlighting.styles.js +29 -0
  186. package/lib/cjs/utils/keyboardFocusHighlighting.styles.js.map +1 -0
  187. package/lib/esm/components/accordion/Accordion.js +105 -12
  188. package/lib/esm/components/accordion/Accordion.js.map +1 -1
  189. package/lib/esm/components/accordion/Accordion.styles.js +23 -3
  190. package/lib/esm/components/accordion/Accordion.styles.js.map +1 -1
  191. package/lib/esm/components/accordion/accordion-body/AccordionBody.styles.js +3 -1
  192. package/lib/esm/components/accordion/accordion-body/AccordionBody.styles.js.map +1 -1
  193. package/lib/esm/components/accordion/accordion-group/AccordionGroup.js +33 -19
  194. package/lib/esm/components/accordion/accordion-group/AccordionGroup.js.map +1 -1
  195. package/lib/esm/components/accordion/accordion-head/AccordionHead.js +6 -3
  196. package/lib/esm/components/accordion/accordion-head/AccordionHead.js.map +1 -1
  197. package/lib/esm/components/accordion/accordion-head/AccordionHead.styles.js +14 -0
  198. package/lib/esm/components/accordion/accordion-head/AccordionHead.styles.js.map +1 -1
  199. package/lib/esm/components/amount-control/AmountControl.js +30 -16
  200. package/lib/esm/components/amount-control/AmountControl.js.map +1 -1
  201. package/lib/esm/components/amount-control/AmountControl.styles.js +18 -2
  202. package/lib/esm/components/amount-control/AmountControl.styles.js.map +1 -1
  203. package/lib/esm/components/button/Button.js +5 -1
  204. package/lib/esm/components/button/Button.js.map +1 -1
  205. package/lib/esm/components/button/Button.styles.js +10 -0
  206. package/lib/esm/components/button/Button.styles.js.map +1 -1
  207. package/lib/esm/components/button/Button.types.js.map +1 -1
  208. package/lib/esm/components/checkbox/Checkbox.js +5 -1
  209. package/lib/esm/components/checkbox/Checkbox.js.map +1 -1
  210. package/lib/esm/components/checkbox/Checkbox.styles.js +29 -2
  211. package/lib/esm/components/checkbox/Checkbox.styles.js.map +1 -1
  212. package/lib/esm/components/color-scheme-provider/ColorSchemeProvider.js +7 -2
  213. package/lib/esm/components/color-scheme-provider/ColorSchemeProvider.js.map +1 -1
  214. package/lib/esm/components/color-scheme-provider/ColorSchemeProvider.styles.js +8 -2
  215. package/lib/esm/components/color-scheme-provider/ColorSchemeProvider.styles.js.map +1 -1
  216. package/lib/esm/components/combobox/ComboBox.js +61 -7
  217. package/lib/esm/components/combobox/ComboBox.js.map +1 -1
  218. package/lib/esm/components/combobox/ComboBox.styles.js +11 -0
  219. package/lib/esm/components/combobox/ComboBox.styles.js.map +1 -1
  220. package/lib/esm/components/combobox/ComboBox.types.js.map +1 -1
  221. package/lib/esm/components/context-menu/ContextMenu.js +145 -42
  222. package/lib/esm/components/context-menu/ContextMenu.js.map +1 -1
  223. package/lib/esm/components/context-menu/ContextMenu.styles.js +38 -0
  224. package/lib/esm/components/context-menu/ContextMenu.styles.js.map +1 -1
  225. package/lib/esm/components/context-menu/ContextMenu.types.js.map +1 -1
  226. package/lib/esm/components/context-menu/ContextMenu.utils.js +24 -0
  227. package/lib/esm/components/context-menu/ContextMenu.utils.js.map +1 -1
  228. package/lib/esm/components/context-menu/context-menu-content/ContextMenuContent.js +3 -8
  229. package/lib/esm/components/context-menu/context-menu-content/ContextMenuContent.js.map +1 -1
  230. package/lib/esm/components/file-input/FileInput.js +4 -2
  231. package/lib/esm/components/file-input/FileInput.js.map +1 -1
  232. package/lib/esm/components/file-list/file-item/FileItem.js +49 -26
  233. package/lib/esm/components/file-list/file-item/FileItem.js.map +1 -1
  234. package/lib/esm/components/file-list/file-item/FileItem.styles.js +24 -0
  235. package/lib/esm/components/file-list/file-item/FileItem.styles.js.map +1 -1
  236. package/lib/esm/components/file-select/FileSelect.js +27 -4
  237. package/lib/esm/components/file-select/FileSelect.js.map +1 -1
  238. package/lib/esm/components/file-select/FileSelect.styles.js +10 -0
  239. package/lib/esm/components/file-select/FileSelect.styles.js.map +1 -1
  240. package/lib/esm/components/filter/Filter.js +52 -16
  241. package/lib/esm/components/filter/Filter.js.map +1 -1
  242. package/lib/esm/components/filter/Filter.styles.js +9 -0
  243. package/lib/esm/components/filter/Filter.styles.js.map +1 -1
  244. package/lib/esm/components/filter/filter-content/FilterContent.js +15 -5
  245. package/lib/esm/components/filter/filter-content/FilterContent.js.map +1 -1
  246. package/lib/esm/components/filter/filter-content/FilterContent.types.js.map +1 -1
  247. package/lib/esm/components/filter-buttons/FilterButtons.js +69 -5
  248. package/lib/esm/components/filter-buttons/FilterButtons.js.map +1 -1
  249. package/lib/esm/components/filter-buttons/filter-button/FilterButton.js +40 -2
  250. package/lib/esm/components/filter-buttons/filter-button/FilterButton.js.map +1 -1
  251. package/lib/esm/components/filter-buttons/filter-button/FilterButton.styles.js +11 -0
  252. package/lib/esm/components/filter-buttons/filter-button/FilterButton.styles.js.map +1 -1
  253. package/lib/esm/components/grid-image/GridImage.js +20 -2
  254. package/lib/esm/components/grid-image/GridImage.js.map +1 -1
  255. package/lib/esm/components/grid-image/GridImage.styles.js +10 -1
  256. package/lib/esm/components/grid-image/GridImage.styles.js.map +1 -1
  257. package/lib/esm/components/grouped-image/GroupedImage.js +22 -4
  258. package/lib/esm/components/grouped-image/GroupedImage.js.map +1 -1
  259. package/lib/esm/components/grouped-image/GroupedImage.styles.js +9 -0
  260. package/lib/esm/components/grouped-image/GroupedImage.styles.js.map +1 -1
  261. package/lib/esm/components/highlight-slider/HighlightSlider.js +13 -3
  262. package/lib/esm/components/highlight-slider/HighlightSlider.js.map +1 -1
  263. package/lib/esm/components/highlight-slider/highlight-slider-item/HighlightSliderItem.js +20 -3
  264. package/lib/esm/components/highlight-slider/highlight-slider-item/HighlightSliderItem.js.map +1 -1
  265. package/lib/esm/components/highlight-slider/highlight-slider-item/HighlightSliderItem.styles.js +10 -1
  266. package/lib/esm/components/highlight-slider/highlight-slider-item/HighlightSliderItem.styles.js.map +1 -1
  267. package/lib/esm/components/icon/Icon.js +26 -7
  268. package/lib/esm/components/icon/Icon.js.map +1 -1
  269. package/lib/esm/components/icon/Icon.styles.js +23 -0
  270. package/lib/esm/components/icon/Icon.styles.js.map +1 -1
  271. package/lib/esm/components/input/Input.js +24 -4
  272. package/lib/esm/components/input/Input.js.map +1 -1
  273. package/lib/esm/components/input/Input.styles.js +38 -3
  274. package/lib/esm/components/input/Input.styles.js.map +1 -1
  275. package/lib/esm/components/list/List.js +123 -37
  276. package/lib/esm/components/list/List.js.map +1 -1
  277. package/lib/esm/components/list/List.utils.js +202 -0
  278. package/lib/esm/components/list/List.utils.js.map +1 -1
  279. package/lib/esm/components/list/list-item/ListItem.js +85 -4
  280. package/lib/esm/components/list/list-item/ListItem.js.map +1 -1
  281. package/lib/esm/components/list/list-item/ListItem.styles.js +7 -0
  282. package/lib/esm/components/list/list-item/ListItem.styles.js.map +1 -1
  283. package/lib/esm/components/list/list-item/list-item-head/ListItemHead.js +6 -2
  284. package/lib/esm/components/list/list-item/list-item-head/ListItemHead.js.map +1 -1
  285. package/lib/esm/components/list/list-item/list-item-head/ListItemHead.styles.js +4 -0
  286. package/lib/esm/components/list/list-item/list-item-head/ListItemHead.styles.js.map +1 -1
  287. package/lib/esm/components/list/list-item/list-item-head/list-item-right-element/ListItemRightElement.js +1 -0
  288. package/lib/esm/components/list/list-item/list-item-head/list-item-right-element/ListItemRightElement.js.map +1 -1
  289. package/lib/esm/components/list/list-item/list-item-head/list-item-subtitle/ListItemSubtitle.js +4 -1
  290. package/lib/esm/components/list/list-item/list-item-head/list-item-subtitle/ListItemSubtitle.js.map +1 -1
  291. package/lib/esm/components/list/list-item/list-item-head/list-item-title/ListItemTitle.js +1 -0
  292. package/lib/esm/components/list/list-item/list-item-head/list-item-title/ListItemTitle.js.map +1 -1
  293. package/lib/esm/components/list/list-item/useListItemFocus.js +40 -0
  294. package/lib/esm/components/list/list-item/useListItemFocus.js.map +1 -0
  295. package/lib/esm/components/mention-finder/MentionFinder.js +39 -3
  296. package/lib/esm/components/mention-finder/MentionFinder.js.map +1 -1
  297. package/lib/esm/components/mention-finder/mention-finder-item/MentionFinderItem.styles.js.map +1 -1
  298. package/lib/esm/components/multi-action-button/MultiActionButton.js +36 -3
  299. package/lib/esm/components/multi-action-button/MultiActionButton.js.map +1 -1
  300. package/lib/esm/components/multi-action-button/MultiActionButton.styles.js +6 -0
  301. package/lib/esm/components/multi-action-button/MultiActionButton.styles.js.map +1 -1
  302. package/lib/esm/components/multi-action-button/MultiActionButton.types.js.map +1 -1
  303. package/lib/esm/components/multi-action-button/action-button/ActionButton.js +7 -1
  304. package/lib/esm/components/multi-action-button/action-button/ActionButton.js.map +1 -1
  305. package/lib/esm/components/multi-action-button/action-button/ActionButton.styles.js +12 -0
  306. package/lib/esm/components/multi-action-button/action-button/ActionButton.styles.js.map +1 -1
  307. package/lib/esm/components/number-input/NumberInput.js +13 -10
  308. package/lib/esm/components/number-input/NumberInput.js.map +1 -1
  309. package/lib/esm/components/page-provider/PageProvider.js +4 -2
  310. package/lib/esm/components/page-provider/PageProvider.js.map +1 -1
  311. package/lib/esm/components/popup/Popup.js +8 -1
  312. package/lib/esm/components/popup/Popup.js.map +1 -1
  313. package/lib/esm/components/radio-button/RadioButton.js +29 -15
  314. package/lib/esm/components/radio-button/RadioButton.js.map +1 -1
  315. package/lib/esm/components/radio-button/RadioButton.styles.js +19 -8
  316. package/lib/esm/components/radio-button/RadioButton.styles.js.map +1 -1
  317. package/lib/esm/components/radio-button/radio-button-group/RadioButtonGroup.js +7 -4
  318. package/lib/esm/components/radio-button/radio-button-group/RadioButtonGroup.js.map +1 -1
  319. package/lib/esm/components/search-box/SearchBox.js +18 -4
  320. package/lib/esm/components/search-box/SearchBox.js.map +1 -1
  321. package/lib/esm/components/search-input/SearchInput.js +56 -44
  322. package/lib/esm/components/search-input/SearchInput.js.map +1 -1
  323. package/lib/esm/components/search-input/SearchInput.styles.js +25 -1
  324. package/lib/esm/components/search-input/SearchInput.styles.js.map +1 -1
  325. package/lib/esm/components/select-button/SelectButton.js +4 -2
  326. package/lib/esm/components/select-button/SelectButton.js.map +1 -1
  327. package/lib/esm/components/setup-wizard/SetupWizard.js +10 -4
  328. package/lib/esm/components/setup-wizard/SetupWizard.js.map +1 -1
  329. package/lib/esm/components/setup-wizard/setup-wizard-item/SetupWizardItem.js +5 -3
  330. package/lib/esm/components/setup-wizard/setup-wizard-item/SetupWizardItem.js.map +1 -1
  331. package/lib/esm/components/sharing-bar/SharingBar.js +30 -5
  332. package/lib/esm/components/sharing-bar/SharingBar.js.map +1 -1
  333. package/lib/esm/components/sharing-bar/SharingBar.styles.js +5 -0
  334. package/lib/esm/components/sharing-bar/SharingBar.styles.js.map +1 -1
  335. package/lib/esm/components/sharing-button/SharingButton.js +4 -2
  336. package/lib/esm/components/sharing-button/SharingButton.js.map +1 -1
  337. package/lib/esm/components/sharing-context-menu/SharingContextMenu.js +3 -1
  338. package/lib/esm/components/sharing-context-menu/SharingContextMenu.js.map +1 -1
  339. package/lib/esm/components/signature/Signature.js +6 -3
  340. package/lib/esm/components/signature/Signature.js.map +1 -1
  341. package/lib/esm/components/slider/Slider.js +30 -7
  342. package/lib/esm/components/slider/Slider.js.map +1 -1
  343. package/lib/esm/components/slider/Slider.styles.js +8 -1
  344. package/lib/esm/components/slider/Slider.styles.js.map +1 -1
  345. package/lib/esm/components/slider-button/SliderButton.js +62 -6
  346. package/lib/esm/components/slider-button/SliderButton.js.map +1 -1
  347. package/lib/esm/components/slider-button/SliderButton.styles.js +14 -1
  348. package/lib/esm/components/slider-button/SliderButton.styles.js.map +1 -1
  349. package/lib/esm/components/slider-button/SliderButton.types.js +2 -0
  350. package/lib/esm/components/slider-button/SliderButton.types.js.map +1 -0
  351. package/lib/esm/components/slider-button/useSliderButtonPopupKeyboard.js +56 -0
  352. package/lib/esm/components/slider-button/useSliderButtonPopupKeyboard.js.map +1 -0
  353. package/lib/esm/components/slider-button/useSliderButtonThumbKeyboard.js +38 -0
  354. package/lib/esm/components/slider-button/useSliderButtonThumbKeyboard.js.map +1 -0
  355. package/lib/esm/components/tag-input/TagInput.js +86 -35
  356. package/lib/esm/components/tag-input/TagInput.js.map +1 -1
  357. package/lib/esm/components/tag-input/TagInput.styles.js +27 -1
  358. package/lib/esm/components/tag-input/TagInput.styles.js.map +1 -1
  359. package/lib/esm/components/text-area/TextArea.js +18 -9
  360. package/lib/esm/components/text-area/TextArea.js.map +1 -1
  361. package/lib/esm/components/text-area/TextArea.styles.js +14 -0
  362. package/lib/esm/components/text-area/TextArea.styles.js.map +1 -1
  363. package/lib/esm/components/truncation/Truncation.js +18 -4
  364. package/lib/esm/components/truncation/Truncation.js.map +1 -1
  365. package/lib/esm/components/truncation/Truncation.styles.js +17 -0
  366. package/lib/esm/components/truncation/Truncation.styles.js.map +1 -1
  367. package/lib/esm/hooks/useKeyboardFocusHighlighting.js +49 -0
  368. package/lib/esm/hooks/useKeyboardFocusHighlighting.js.map +1 -0
  369. package/lib/esm/utils/file.js.map +1 -1
  370. package/lib/esm/utils/keyboardFocusHighlighting.styles.js +24 -0
  371. package/lib/esm/utils/keyboardFocusHighlighting.styles.js.map +1 -0
  372. package/lib/types/components/accordion/Accordion.d.ts +5 -0
  373. package/lib/types/components/accordion/Accordion.styles.d.ts +8 -4
  374. package/lib/types/components/accordion/accordion-body/AccordionBody.styles.d.ts +2 -2
  375. package/lib/types/components/accordion/accordion-group/AccordionGroup.d.ts +7 -2
  376. package/lib/types/components/accordion/accordion-head/AccordionHead.d.ts +1 -0
  377. package/lib/types/components/accordion/accordion-head/AccordionHead.styles.d.ts +18 -18
  378. package/lib/types/components/amount-control/AmountControl.d.ts +5 -0
  379. package/lib/types/components/amount-control/AmountControl.styles.d.ts +8 -4
  380. package/lib/types/components/button/Button.styles.d.ts +8 -6
  381. package/lib/types/components/button/Button.types.d.ts +8 -0
  382. package/lib/types/components/checkbox/Checkbox.d.ts +4 -0
  383. package/lib/types/components/checkbox/Checkbox.styles.d.ts +5 -1
  384. package/lib/types/components/color-scheme-provider/ColorSchemeProvider.d.ts +5 -0
  385. package/lib/types/components/combobox/ComboBox.styles.d.ts +4 -2
  386. package/lib/types/components/combobox/ComboBox.types.d.ts +5 -0
  387. package/lib/types/components/context-menu/ContextMenu.styles.d.ts +4 -2
  388. package/lib/types/components/context-menu/ContextMenu.types.d.ts +6 -0
  389. package/lib/types/components/context-menu/ContextMenu.utils.d.ts +10 -0
  390. package/lib/types/components/context-menu/context-menu-content/ContextMenuContent.d.ts +1 -1
  391. package/lib/types/components/context-menu/context-menu-content/ContextMenuContent.styles.d.ts +2 -2
  392. package/lib/types/components/dropdown-body-wrapper/delayed-dropdown-content/DelayedDropdownContent.styles.d.ts +2 -2
  393. package/lib/types/components/expandable-content/ExpandableContent.styles.d.ts +2 -2
  394. package/lib/types/components/file-input/FileInput.d.ts +4 -0
  395. package/lib/types/components/file-input/FileInput.styles.d.ts +2 -2
  396. package/lib/types/components/file-list/file-item/FileItem.styles.d.ts +3 -0
  397. package/lib/types/components/file-select/FileSelect.d.ts +4 -0
  398. package/lib/types/components/file-select/FileSelect.styles.d.ts +6 -4
  399. package/lib/types/components/filter/Filter.d.ts +1 -0
  400. package/lib/types/components/filter/Filter.styles.d.ts +6 -4
  401. package/lib/types/components/filter/filter-content/FilterContent.types.d.ts +4 -0
  402. package/lib/types/components/filter-buttons/FilterButtons.d.ts +4 -0
  403. package/lib/types/components/filter-buttons/filter-button/FilterButton.d.ts +5 -0
  404. package/lib/types/components/filter-buttons/filter-button/FilterButton.styles.d.ts +12 -8
  405. package/lib/types/components/grid-image/GridImage.d.ts +4 -0
  406. package/lib/types/components/grid-image/GridImage.styles.d.ts +4 -2
  407. package/lib/types/components/grouped-image/GroupedImage.d.ts +4 -0
  408. package/lib/types/components/grouped-image/GroupedImage.styles.d.ts +8 -6
  409. package/lib/types/components/highlight-slider/HighlightSlider.d.ts +4 -0
  410. package/lib/types/components/highlight-slider/highlight-slider-item/HighlightSliderItem.d.ts +3 -0
  411. package/lib/types/components/highlight-slider/highlight-slider-item/HighlightSliderItem.styles.d.ts +9 -5
  412. package/lib/types/components/icon/Icon.d.ts +4 -0
  413. package/lib/types/components/icon/Icon.styles.d.ts +1 -0
  414. package/lib/types/components/input/Input.d.ts +4 -0
  415. package/lib/types/components/input/Input.styles.d.ts +17 -9
  416. package/lib/types/components/list/List.d.ts +11 -0
  417. package/lib/types/components/list/List.utils.d.ts +32 -1
  418. package/lib/types/components/list/list-item/ListItem.d.ts +4 -0
  419. package/lib/types/components/list/list-item/ListItem.styles.d.ts +64 -64
  420. package/lib/types/components/list/list-item/list-item-body/ListItemBody.styles.d.ts +2 -2
  421. package/lib/types/components/list/list-item/list-item-head/ListItemHead.styles.d.ts +195 -194
  422. package/lib/types/components/list/list-item/useListItemFocus.d.ts +13 -0
  423. package/lib/types/components/masonry/masonry-item/MasonryItem.styles.d.ts +2 -2
  424. package/lib/types/components/mention-finder/MentionFinder.styles.d.ts +4 -4
  425. package/lib/types/components/multi-action-button/MultiActionButton.styles.d.ts +2 -2
  426. package/lib/types/components/multi-action-button/MultiActionButton.types.d.ts +7 -0
  427. package/lib/types/components/multi-action-button/action-button/ActionButton.d.ts +4 -1
  428. package/lib/types/components/multi-action-button/action-button/ActionButton.styles.d.ts +4 -2
  429. package/lib/types/components/number-input/NumberInput.d.ts +4 -0
  430. package/lib/types/components/popup/popup-content-wrapper/PopupContentWrapper.styles.d.ts +2 -2
  431. package/lib/types/components/progress-bar/ProgressBar.styles.d.ts +6 -6
  432. package/lib/types/components/radio-button/RadioButton.d.ts +4 -0
  433. package/lib/types/components/radio-button/RadioButton.styles.d.ts +15 -9
  434. package/lib/types/components/radio-button/radio-button-group/RadioButtonGroup.d.ts +5 -0
  435. package/lib/types/components/search-box/SearchBox.d.ts +4 -0
  436. package/lib/types/components/search-box/SearchBox.styles.d.ts +2 -2
  437. package/lib/types/components/search-input/SearchInput.d.ts +4 -0
  438. package/lib/types/components/search-input/SearchInput.styles.d.ts +17 -9
  439. package/lib/types/components/select-button/SelectButton.d.ts +4 -0
  440. package/lib/types/components/setup-wizard/SetupWizard.d.ts +5 -0
  441. package/lib/types/components/sharing-bar/SharingBar.d.ts +4 -0
  442. package/lib/types/components/sharing-button/SharingButton.d.ts +1 -1
  443. package/lib/types/components/sharing-context-menu/SharingContextMenu.d.ts +10 -2
  444. package/lib/types/components/signature/Signature.d.ts +4 -0
  445. package/lib/types/components/skeleton/base-skeleton/BaseSkeleton.styles.d.ts +4 -4
  446. package/lib/types/components/slider/Slider.d.ts +8 -0
  447. package/lib/types/components/slider/Slider.styles.d.ts +18 -14
  448. package/lib/types/components/slider-button/SliderButton.d.ts +1 -28
  449. package/lib/types/components/slider-button/SliderButton.styles.d.ts +6 -4
  450. package/lib/types/components/slider-button/SliderButton.types.d.ts +32 -0
  451. package/lib/types/components/slider-button/useSliderButtonPopupKeyboard.d.ts +17 -0
  452. package/lib/types/components/slider-button/useSliderButtonThumbKeyboard.d.ts +13 -0
  453. package/lib/types/components/tag-input/TagInput.d.ts +4 -0
  454. package/lib/types/components/tag-input/TagInput.styles.d.ts +12 -2
  455. package/lib/types/components/text-area/TextArea.d.ts +4 -0
  456. package/lib/types/components/text-area/TextArea.styles.d.ts +1 -0
  457. package/lib/types/components/truncation/Truncation.d.ts +4 -0
  458. package/lib/types/components/truncation/Truncation.styles.d.ts +7 -2
  459. package/lib/types/hooks/useKeyboardFocusHighlighting.d.ts +5 -0
  460. package/lib/types/utils/file.d.ts +1 -1
  461. package/lib/types/utils/keyboardFocusHighlighting.styles.d.ts +9 -0
  462. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"SliderButton.js","names":["_chaynsApi","require","_react","_react2","_interopRequireWildcard","_element","_calculate","_sliderButton","_Icon","_interopRequireDefault","_Popup","_SliderButton","_styledComponents","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","dragRange","setDragRange","useState","left","right","shownItemsCount","setShownItemsCount","length","sliderSize","setSliderSize","width","currentId","setCurrentId","currentPopupId","setCurrentPopupId","currentIndex","setCurrentIndex","sliderButtonRef","useRef","sliderButtonWrapperRef","popupRef","scope","animate","useAnimate","theme","useTheme","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","buttons","newItems","otherItems","elements","text","createElement","StyledSliderButtonItem","$isSecondary","$width","key","onClick","popupContent","StyledSliderButtonPopupContentItem","$isSelected","push","ref","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","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 { PopupRef } from '../../types/popup';\nimport type { SliderButtonItem } from '../../types/slider-button';\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';\n\nexport type SliderButtonProps = {\n /**\n * Whether the button is disabled and cannot be clicked anymore.\n */\n isDisabled?: boolean;\n /**\n * Displays the button in the secondary style.\n */\n isSecondary?: boolean;\n /**\n * The items that should be displayed in the slider button.\n */\n items: SliderButtonItem[];\n /**\n * Function to be executed when a button is selected. The id of the selected button is passed as an argument.\n * @param id\n */\n onChange?: (id: string) => void;\n /**\n * The id of the button that should be selected.\n */\n selectedButtonId?: string;\n /**\n *\n */\n isRounded?: boolean;\n};\n\nconst SliderButton: FC<SliderButtonProps> = ({\n isDisabled,\n isSecondary,\n items,\n onChange,\n selectedButtonId,\n isRounded = false,\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\n const sliderButtonRef = useRef<HTMLDivElement>(null);\n const sliderButtonWrapperRef = useRef<HTMLDivElement>(null);\n const popupRef = useRef<PopupRef>(null);\n\n const [scope, animate] = useAnimate();\n\n const theme = useTheme() as Theme;\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 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 }) => (\n <StyledSliderButtonPopupContentItem\n key={`slider-button-${id}`}\n onClick={() => handleClick(id, newItems.length)}\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 content={\n <StyledSliderButtonPopupContent>\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 }, [currentPopupId, handleClick, isSecondary, itemWidth, items, shownItemsCount]);\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 />\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 isDisabled,\n isRounded,\n isSliderBigger,\n itemWidth,\n pseudoButtons,\n scope,\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","_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":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAC,uBAAA,CAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,6BAAA,GAAAL,OAAA;AACA,IAAAM,oBAAA,GAAAN,OAAA;AAEA,IAAAO,UAAA,GAAAP,OAAA;AACA,IAAAQ,aAAA,GAAAR,OAAA;AACA,IAAAS,KAAA,GAAAC,sBAAA,CAAAV,OAAA;AACA,IAAAW,MAAA,GAAAD,sBAAA,CAAAV,OAAA;AACA,IAAAY,aAAA,GAAAZ,OAAA;AASA,IAAAa,iBAAA,GAAAb,OAAA;AAGA,IAAAc,6BAAA,GAAAd,OAAA;AACA,IAAAe,6BAAA,GAAAf,OAAA;AAA8E,SAAAU,uBAAAM,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAb,wBAAAa,CAAA,EAAAG,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAjB,uBAAA,YAAAA,CAAAa,CAAA,EAAAG,CAAA,SAAAA,CAAA,IAAAH,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,MAAAO,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAR,OAAA,EAAAF,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAS,CAAA,MAAAF,CAAA,GAAAJ,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAE,CAAA,CAAAI,GAAA,CAAAX,CAAA,UAAAO,CAAA,CAAAK,GAAA,CAAAZ,CAAA,GAAAO,CAAA,CAAAM,GAAA,CAAAb,CAAA,EAAAS,CAAA,gBAAAN,CAAA,IAAAH,CAAA,gBAAAG,CAAA,OAAAW,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAG,CAAA,OAAAK,CAAA,IAAAD,CAAA,GAAAS,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAG,CAAA,OAAAK,CAAA,CAAAI,GAAA,IAAAJ,CAAA,CAAAK,GAAA,IAAAN,CAAA,CAAAE,CAAA,EAAAN,CAAA,EAAAK,CAAA,IAAAC,CAAA,CAAAN,CAAA,IAAAH,CAAA,CAAAG,CAAA,WAAAM,CAAA,KAAAT,CAAA,EAAAG,CAAA;AAE9E,MAAMgB,YAAmC,GAAGA,CAAC;EACzCC,UAAU;EACVC,WAAW;EACXC,KAAK;EACLC,QAAQ;EACRC,gBAAgB;EAChBC,SAAS,GAAG,KAAK;EACjBC;AACJ,CAAC,KAAK;EACF,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAG,IAAAC,gBAAQ,EAAC;IAAEC,IAAI,EAAE,CAAC;IAAEC,KAAK,EAAE;EAAE,CAAC,CAAC;EACjE,MAAM,CAACC,eAAe,EAAEC,kBAAkB,CAAC,GAAG,IAAAJ,gBAAQ,EAACP,KAAK,CAACY,MAAM,CAAC;EACpE,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAG,IAAAP,gBAAQ,EAAC;IAAEQ,KAAK,EAAE;EAAE,CAAC,CAAC;EAC1D,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAG,IAAAV,gBAAQ,EAAC,EAAE,CAAC;EAC9C,MAAM,CAACW,cAAc,EAAEC,iBAAiB,CAAC,GAAG,IAAAZ,gBAAQ,EAAC,EAAE,CAAC;EACxD,MAAM,CAACa,YAAY,EAAEC,eAAe,CAAC,GAAG,IAAAd,gBAAQ,EAAC,CAAC,CAAC;EACnD,MAAM,CAACe,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAhB,gBAAQ,EAAC,KAAK,CAAC;EAErD,MAAMiB,eAAe,GAAG,IAAAC,cAAM,EAAiB,IAAI,CAAC;EACpD,MAAMC,sBAAsB,GAAG,IAAAD,cAAM,EAAiB,IAAI,CAAC;EAC3D,MAAME,QAAQ,GAAG,IAAAF,cAAM,EAAW,IAAI,CAAC;EACvC,MAAMG,aAAa,GAAG,IAAAH,cAAM,EAA+B,EAAE,CAAC;EAE9D,MAAM,CAACI,KAAK,EAAEC,OAAO,CAAC,GAAG,IAAAC,iBAAU,EAAC,CAAC;EAErC,MAAMC,KAAK,GAAG,IAAAC,0BAAQ,EAAC,CAAU;EACjC,MAAMC,WAAW,GAAG,IAAAC,mCAAc,EAAC,CAAC;EACpC,MAAMC,yCAAyC,GAC3ChC,gCAAgC,KAAI8B,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAE9B,gCAAgC,KAAI,KAAK;EAE9F,MAAMiC,8BAA8B,GAAG,IAAAC,0DAA4B,EAC/DF,yCAAyC,IAAI,CAACtC,UAClD,CAAC;EAED,MAAMyC,gBAAgB,GAAG,IAAAC,eAAO,EAAC,MAAM,IAAAC,gCAAqB,EAACzC,KAAK,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAC7E,MAAM0C,WAAW,GAAG,IAAAC,uBAAc,EAACnB,eAAe,CAAC;EAEnD,IAAAoB,iBAAS,EAAC,MAAM;IACZ,IAAIF,WAAW,EAAE5B,aAAa,CAAC4B,WAAW,CAAC;EAC/C,CAAC,EAAE,CAACA,WAAW,CAAC,CAAC;EAEjB,MAAMG,UAAU,GAAG,IAAAC,mBAAW,EACzBC,UAAkB,IAAK;IACpB,MAAMC,GAAG,GAAGhD,KAAK,CAACiD,KAAK,CAACvC,eAAe,GAAG,CAAC,CAAC,CAACwC,GAAG,CAAC,CAAC;MAAEC;IAAG,CAAC,KAAKA,EAAE,CAAC;IAEhE,MAAMC,KAAK,GAAGJ,GAAG,CAACK,IAAI,CAAEF,EAAE,IAAKA,EAAE,KAAKJ,UAAU,CAAC;IAEjD,IAAIK,KAAK,EAAE;MACPnC,YAAY,CAAC,MAAM,CAAC;MACpBE,iBAAiB,CAACiC,KAAK,CAAC;MAExB;IACJ;IAEAnC,YAAY,CAAC8B,UAAU,CAAC;EAC5B,CAAC,EACD,CAAC/C,KAAK,EAAEU,eAAe,CAC3B,CAAC;EAED,MAAM4C,cAAc,GAAG,IAAAd,eAAO,EAC1B,MAAM3B,UAAU,IAAI0C,IAAI,CAACC,KAAK,CAAC3C,UAAU,CAACE,KAAK,GAAGwB,gBAAgB,CAAC,GAAGvC,KAAK,CAACY,MAAM,GAAG,CAAC,EACtF,CAAC2B,gBAAgB,EAAEvC,KAAK,CAACY,MAAM,EAAEC,UAAU,CAC/C,CAAC;EAED,MAAM4C,kBAAkB,GAAG,IAAAjB,eAAO,EAAC,MAAM;IACrC,IAAIkB,UAAU,GAAG,CAAC;IAClB,IAAIC,KAAK,GAAG,CAAC;IAEb,OAAOA,KAAK,GAAG3D,KAAK,CAACY,MAAM,EAAE;MACzB,MAAMgD,YAAY,GAAG5D,KAAK,CAACiD,KAAK,CAAC,CAAC,EAAEU,KAAK,GAAG,CAAC,CAAC;MAC9C,MAAME,eAAe,GAAG,IAAApB,gCAAqB,EAACmB,YAAY,CAAC,GAAG,CAAC;MAE/D,IAAIF,UAAU,GAAGG,eAAe,GAAGhD,UAAU,CAACE,KAAK,EAAE;MAErD2C,UAAU,IAAIG,eAAe;MAC7BF,KAAK,EAAE;IACX;IAEA,OAAOA,KAAK;EAChB,CAAC,EAAE,CAAC3D,KAAK,EAAEa,UAAU,CAACE,KAAK,CAAC,CAAC;EAE7B,MAAM+C,SAAS,GAAG,IAAAtB,eAAO,EAAC,MAAM;IAC5B,MAAMuB,WAAW,GAAG,CAAAlD,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEE,KAAK,KAAI,CAAC;IAC1C,MAAMiD,SAAS,GAAGhE,KAAK,CAACY,MAAM,IAAI,CAAC;IAEnCD,kBAAkB,CAAC2C,cAAc,GAAGG,kBAAkB,GAAGO,SAAS,CAAC;IAEnE,OAAOD,WAAW,IAAIT,cAAc,GAAGG,kBAAkB,GAAGO,SAAS,CAAC;EAC1E,CAAC,EAAE,CAACV,cAAc,EAAEtD,KAAK,CAACY,MAAM,EAAE6C,kBAAkB,EAAE5C,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEE,KAAK,CAAC,CAAC;EAEzE,IAAA6B,iBAAS,EAAC,MAAM;IACZ,IAAI/B,UAAU,EAAE;MACZ,MAAMkD,WAAW,GAAGD,SAAS,IAAI9D,KAAK,CAACY,MAAM,GAAG,CAAC,CAAC;MAElD,MAAM+C,KAAK,GAAGJ,IAAI,CAACC,KAAK,CAAC3C,UAAU,CAACE,KAAK,GAAG+C,SAAS,CAAC;MAEtDxD,YAAY,CAAC;QAAEE,IAAI,EAAE,CAAC;QAAEC,KAAK,EAAE6C,cAAc,GAAGQ,SAAS,GAAGH,KAAK,GAAGI;MAAY,CAAC,CAAC;IACtF;EACJ,CAAC,EAAE,CAACT,cAAc,EAAEQ,SAAS,EAAE9D,KAAK,CAACY,MAAM,EAAEC,UAAU,CAAC,CAAC;EAEzD,MAAMoD,SAAS,GAAG,IAAAnB,mBAAW,EACzB,MAAOoB,CAAS,IAAK;IACjB,MAAMpC,OAAO,CACTD,KAAK,CAACsC,OAAO,EACb;MAAED;IAAE,CAAC,EACL;MACIE,IAAI,EAAE,OAAO;MACbC,QAAQ,EAAE;IACd,CACJ,CAAC;EACL,CAAC,EACD,CAACvC,OAAO,EAAED,KAAK,CACnB,CAAC;EAED,MAAMyC,eAAe,GAAG,IAAAxB,mBAAW,EAC9ByB,KAAa,IAAK;IACflD,eAAe,CAACkD,KAAK,CAAC;IAEtB,KAAKN,SAAS,CAACH,SAAS,GAAGS,KAAK,CAAC;EACrC,CAAC,EACD,CAACN,SAAS,EAAEH,SAAS,CACzB,CAAC;EAED,IAAAlB,iBAAS,EAAC,MAAM;IACZ,IAAI,OAAO1C,gBAAgB,KAAK,QAAQ,EAAE;MACtC,IAAIqE,KAAK,GAAGvE,KAAK,CAACwE,SAAS,CAAC,CAAC;QAAErB;MAAG,CAAC,KAAKA,EAAE,KAAKjD,gBAAgB,CAAC;MAEhEe,YAAY,CAACf,gBAAgB,CAAC;MAE9B2C,UAAU,CAAC3C,gBAAgB,CAAC;MAE5B,IAAIF,KAAK,CAACY,MAAM,GAAGF,eAAe,IAAI6D,KAAK,GAAG7D,eAAe,GAAG,CAAC,EAAE;QAC/D6D,KAAK,GAAG7D,eAAe,GAAG,CAAC;MAC/B;MAEA,IAAI6D,KAAK,IAAI,CAAC,EAAE;QACZD,eAAe,CAACC,KAAK,CAAC;MAC1B;IACJ;EACJ,CAAC,EAAE,CACCN,SAAS,EACT5D,SAAS,CAACI,KAAK,EACf6C,cAAc,EACdQ,SAAS,EACT9D,KAAK,EACLE,gBAAgB,EAChBoE,eAAe,EACfzB,UAAU,EACVnC,eAAe,CAClB,CAAC;EAEF,MAAM+D,WAAW,GAAG,IAAA3B,mBAAW,EAC3B,CAACK,EAAU,EAAEoB,KAAa,KAAK;IAC3B,IAAIzE,UAAU,EAAE;MACZ;IACJ;IAEA,IAAIsB,YAAY,KAAKmD,KAAK,IAAIvE,KAAK,CAACY,MAAM,KAAK,CAAC,EAAE;MAC9C,MAAM8D,SAAS,GAAG1E,KAAK,CAACqD,IAAI,CAAC,CAACsB,CAAC,EAAEH,SAAS,KAAKD,KAAK,KAAKC,SAAS,CAAC;MACnE,IAAI,CAACE,SAAS,EAAE;MAEhB7B,UAAU,CAAC6B,SAAS,CAACvB,EAAE,CAAC;MACxBmB,eAAe,CAACtE,KAAK,CAAC4E,OAAO,CAACF,SAAS,CAAC,CAAC;MACzCzE,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAGyE,SAAS,CAACvB,EAAE,CAAC;MACxB;IACJ;IAEAN,UAAU,CAACM,EAAE,CAAC;IAEd,IAAI,OAAOlD,QAAQ,KAAK,UAAU,IAAIkD,EAAE,KAAK,MAAM,EAAE;MACjDlD,QAAQ,CAACkD,EAAE,CAAC;IAChB;IAEA,IAAIxB,QAAQ,CAACwC,OAAO,EAAE;MAClB,IAAIhB,EAAE,KAAK,MAAM,EAAE;QACfxB,QAAQ,CAACwC,OAAO,CAACU,IAAI,CAAC,CAAC;MAC3B,CAAC,MAAM;QACHlD,QAAQ,CAACwC,OAAO,CAACW,IAAI,CAAC,CAAC;MAC3B;IACJ;IAEAR,eAAe,CAACC,KAAK,CAAC;EAC1B,CAAC,EACD,CAACnD,YAAY,EAAEtB,UAAU,EAAEE,KAAK,EAAEC,QAAQ,EAAEqE,eAAe,EAAEzB,UAAU,CAC3E,CAAC;EAED,MAAMkC,eAAe,GAAG,IAAAvC,eAAO,EAAC,MAAM;IAClC,IAAIwC,KAAK;IAET,IAAIjF,WAAW,EAAE;MACbiF,KAAK,GAAGhD,KAAK,CAAC,KAAK,CAAC;IACxB,CAAC,MAAM;MACHgD,KAAK,GAAGhD,KAAK,CAACiD,qBAAqB,IAAIjD,KAAK,CAAC,KAAK,CAAC;IACvD;IAEA,IAAIA,KAAK,CAACkD,YAAY,KAAK,GAAG,EAAE;MAC5BF,KAAK,GAAG,QAAQhD,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM;IAChD;IAEA,OAAOgD,KAAK;EAChB,CAAC,EAAE,CAACjF,WAAW,EAAEiC,KAAK,CAAC,CAAC;EAExB,MAAMmD,oBAAoB,GAAG,IAAA3C,eAAO,EAAC,MAAM;IACvC,IAAIwC,KAAK;IAET,IAAIjF,WAAW,EAAE;MACbiF,KAAK,GAAGhD,KAAK,CAAC,KAAK,CAAC;IACxB,CAAC,MAAM;MACHgD,KAAK,GAAG,QAAQhD,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS;IACnD;IAEA,IAAIA,KAAK,CAACkD,YAAY,KAAK,GAAG,EAAE;MAC5BF,KAAK,GAAG,QAAQhD,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM;IAChD;IAEA,OAAOgD,KAAK;EAChB,CAAC,EAAE,CAACjF,WAAW,EAAEiC,KAAK,CAAC,CAAC;EAExB,MAAMoD,UAAU,GAAG,IAAA5C,eAAO,EAAC,MAAMxC,KAAK,CAACiD,KAAK,CAACvC,eAAe,GAAG,CAAC,CAAC,EAAE,CAACV,KAAK,EAAEU,eAAe,CAAC,CAAC;EAE5F,MAAM2E,UAAU,GAAG,IAAAvC,mBAAW,EAAC,MAAM;IAAA,IAAAwC,qBAAA;IACjC,MAAMC,KAAK,IAAAD,qBAAA,GAAG9D,eAAe,CAAC2C,OAAO,cAAAmB,qBAAA,uBAAvBA,qBAAA,CAAyBE,aAAa,CAChD,mCACJ,CAA0B;IAE1BD,KAAK,aAALA,KAAK,eAALA,KAAK,CAAEE,KAAK,CAAC,CAAC;EAClB,CAAC,EAAE,EAAE,CAAC;EAEN,MAAM;IAAEC;EAAmB,CAAC,GAAG,IAAAC,0DAA4B,EAAC;IACxDrE,WAAW;IACX8D,UAAU;IACVlE,cAAc;IACdR,eAAe;IACfkB,aAAa;IACbD,QAAQ;IACR0D,UAAU;IACVO,iBAAiB,EAAEnB;EACvB,CAAC,CAAC;EAEF,MAAM;IAAEoB;EAAmB,CAAC,GAAG,IAAAC,0DAA4B,EAAC;IACxD9E,SAAS;IACTI,YAAY;IACZV,eAAe;IACfV,KAAK;IACL+F,iBAAiB,EAAEtB;EACvB,CAAC,CAAC;EAEF,MAAMuB,OAAO,GAAG,IAAAxD,eAAO,EAAC,MAAM;IAC1B,IAAIxC,KAAK,CAACY,MAAM,GAAGF,eAAe,EAAE;MAChC,MAAMuF,QAAQ,GAAGjG,KAAK,CAACiD,KAAK,CAAC,CAAC,EAAEvC,eAAe,GAAG,CAAC,CAAC;MACpD,MAAMwF,UAAU,GAAGlG,KAAK,CAACiD,KAAK,CAACvC,eAAe,GAAG,CAAC,CAAC;MAEnD,MAAMyF,QAAQ,GAAGF,QAAQ,CAAC/C,GAAG,CAAC,CAAC;QAAEC,EAAE;QAAEiD;MAAK,CAAC,EAAE7B,KAAK,kBAC9C3G,OAAA,CAAAgB,OAAA,CAAAyH,aAAA,CAAC/H,aAAA,CAAAgI,sBAAsB;QACnBC,YAAY,EAAExG,WAAY;QAC1ByG,MAAM,EAAE1C,SAAU;QAClB2C,GAAG,EAAE,iBAAiBtD,EAAE,EAAG;QAC3BuD,OAAO,EAAEA,CAAA,KAAMjC,WAAW,CAACtB,EAAE,EAAEoB,KAAK;MAAE,GAErC6B,IACmB,CAC3B,CAAC;MAEF,MAAMO,YAAY,GAAGT,UAAU,CAAChD,GAAG,CAAC,CAAC;QAAEC,EAAE;QAAEiD;MAAK,CAAC,EAAEQ,UAAU,kBACzDhJ,OAAA,CAAAgB,OAAA,CAAAyH,aAAA,CAAC/H,aAAA,CAAAuI,kCAAkC;QAC/BJ,GAAG,EAAE,iBAAiBtD,EAAE,EAAG;QAC3BuD,OAAO,EAAEA,CAAA,KAAMjC,WAAW,CAACtB,EAAE,EAAE8C,QAAQ,CAACrF,MAAM,CAAE;QAChDkG,SAAS,EAAEpB,kBAAmB;QAC9BqB,GAAG,EAAGC,OAA8B,IAAK;UACrCpF,aAAa,CAACuC,OAAO,CAACyC,UAAU,CAAC,GAAGI,OAAO;QAC/C,CAAE;QACFC,QAAQ,EAAE,CAAC,CAAE;QACbC,IAAI,EAAC,QAAQ;QACbC,WAAW,EAAEhE,EAAE,KAAKjC;MAAe,GAElCkF,IAC+B,CACvC,CAAC;MAEF,MAAMjD,EAAE,GAAG,MAAM;MAEjBgD,QAAQ,CAACiB,IAAI,cACTxJ,OAAA,CAAAgB,OAAA,CAAAyH,aAAA,CAAC/H,aAAA,CAAAgI,sBAAsB;QACnBC,YAAY,EAAExG,WAAY;QAC1ByG,MAAM,EAAE1C,SAAU;QAClB2C,GAAG,EAAE,iBAAiBtD,EAAE;MAAG,gBAE3BvF,OAAA,CAAAgB,OAAA,CAAAyH,aAAA,CAAChI,MAAA,CAAAO,OAAK;QACFmI,GAAG,EAAEpF,QAAS;QACd0F,MAAM,EAAEA,CAAA,KAAM;UACV9F,cAAc,CAAC,IAAI,CAAC;QACxB,CAAE;QACF+F,MAAM,EAAEA,CAAA,KAAM;UACV/F,cAAc,CAAC,KAAK,CAAC;UACrBK,aAAa,CAACuC,OAAO,GAAG,EAAE;QAC9B,CAAE;QACFoD,OAAO,eACH3J,OAAA,CAAAgB,OAAA,CAAAyH,aAAA,CAAC/H,aAAA,CAAAkJ,8BAA8B;UAACV,SAAS,EAAEpB;QAAmB,GACzDiB,YAC2B;MACnC,gBAED/I,OAAA,CAAAgB,OAAA,CAAAyH,aAAA,CAAClI,KAAA,CAAAS,OAAI;QAAC6I,KAAK,EAAE,CAAC,gBAAgB,CAAE;QAACzC,KAAK,EAAC;MAAO,CAAE,CAC7C,CACa,CAC5B,CAAC;MAED,OAAOmB,QAAQ;IACnB;IACA,OAAOnG,KAAK,CAACkD,GAAG,CAAC,CAAC;MAAEC,EAAE;MAAEiD;IAAK,CAAC,kBAC1BxI,OAAA,CAAAgB,OAAA,CAAAyH,aAAA,CAAC/H,aAAA,CAAAgI,sBAAsB;MACnBC,YAAY,EAAExG,WAAY;MAC1ByG,MAAM,EAAE1C,SAAU;MAClB2C,GAAG,EAAE,iBAAiBtD,EAAE;IAAG,GAE1BiD,IACmB,CAC3B,CAAC;EACN,CAAC,EAAE,CACClF,cAAc,EACduD,WAAW,EACXiB,kBAAkB,EAClB3F,WAAW,EACX+D,SAAS,EACT9D,KAAK,EACLU,eAAe,CAClB,CAAC;EAEF,MAAMgH,aAAa,GAAG,IAAAlF,eAAO,EAAC,MAAM;IAChC,IAAIxC,KAAK,CAACY,MAAM,GAAGF,eAAe,EAAE;MAChC,MAAMuF,QAAQ,GAAGjG,KAAK,CAACiD,KAAK,CAAC,CAAC,EAAEvC,eAAe,GAAG,CAAC,CAAC;MAEpD,MAAMyF,QAAQ,GAAGF,QAAQ,CAAC/C,GAAG,CAAC,CAAC;QAAEC,EAAE;QAAEiD;MAAK,CAAC,EAAE7B,KAAK,kBAC9C3G,OAAA,CAAAgB,OAAA,CAAAyH,aAAA,CAAC/H,aAAA,CAAAgI,sBAAsB;QACnBC,YAAY,EAAExG,WAAY;QAC1ByG,MAAM,EAAE1C,SAAU;QAClB2C,GAAG,EAAE,wBAAwBtD,EAAE,EAAG;QAClCuD,OAAO,EAAEA,CAAA,KAAMjC,WAAW,CAACtB,EAAE,EAAEoB,KAAK;MAAE,GAErC6B,IACmB,CAC3B,CAAC;MAEF,MAAMjD,EAAE,GAAG,MAAM;MAEjBgD,QAAQ,CAACiB,IAAI,cACTxJ,OAAA,CAAAgB,OAAA,CAAAyH,aAAA,CAAC/H,aAAA,CAAAgI,sBAAsB;QACnBC,YAAY,EAAExG,WAAY;QAC1ByG,MAAM,EAAE1C,SAAU;QAClB2C,GAAG,EAAE,wBAAwBtD,EAAE,EAAG;QAClCuD,OAAO,EAAEA,CAAA,KAAMjC,WAAW,CAACtB,EAAE,EAAE8C,QAAQ,CAACrF,MAAM;MAAE,gBAEhDhD,OAAA,CAAAgB,OAAA,CAAAyH,aAAA,CAAClI,KAAA,CAAAS,OAAI;QAAC6I,KAAK,EAAE,CAAC,gBAAgB;MAAE,CAAE,CACd,CAC5B,CAAC;MAED,OAAOtB,QAAQ;IACnB;IACA,OAAOnG,KAAK,CAACkD,GAAG,CAAC,CAAC;MAAEC,EAAE;MAAEiD;IAAK,CAAC,EAAE7B,KAAK,kBACjC3G,OAAA,CAAAgB,OAAA,CAAAyH,aAAA,CAAC/H,aAAA,CAAAgI,sBAAsB;MACnBC,YAAY,EAAExG,WAAY;MAC1ByG,MAAM,EAAE1C,SAAU;MAClB2C,GAAG,EAAE,wBAAwBtD,EAAE,EAAG;MAClCuD,OAAO,EAAEA,CAAA,KAAMjC,WAAW,CAACtB,EAAE,EAAEoB,KAAK;IAAE,GAErC6B,IACmB,CAC3B,CAAC;EACN,CAAC,EAAE,CAAC3B,WAAW,EAAE1E,WAAW,EAAE+D,SAAS,EAAE9D,KAAK,EAAEU,eAAe,CAAC,CAAC;;EAEjE;AACJ;AACA;EACI,MAAMiH,UAAU,GAAG,IAAAnF,eAAO,EAAC,MAAM;IAC7B,MAAMoF,MAAM,GAAG,CAAC,CAAC,CAAC;IAElB,KAAK,IAAI1I,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGc,KAAK,CAACY,MAAM,EAAE1B,CAAC,EAAE,EAAE;MACnC0I,MAAM,CAACR,IAAI,CAACtD,SAAS,GAAG5E,CAAC,CAAC;IAC9B;IAEA,OAAO0I,MAAM;EACjB,CAAC,EAAE,CAAC9D,SAAS,EAAE9D,KAAK,CAACY,MAAM,CAAC,CAAC;EAE7B,MAAMiH,eAAe,GAAG,IAAA/E,mBAAW,EAAC,MAAM;IACtC,KAAK,IAAAgF,kCAAuB,EAAC,KAAK,CAAC;EACvC,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,aAAa,GAAG,IAAAjF,mBAAW,EAAC,MAAM;IACpC,KAAK,IAAAgF,kCAAuB,EAAC,IAAI,CAAC;IAElC,MAAME,QAAQ,GAAG,IAAAC,8BAAgB,EAAC;MAAEpG,KAAK;MAAEiC;IAAU,CAAC,CAAC;IAEvD,IAAI,CAACkE,QAAQ,EAAE;MACX;IACJ;IAEA,MAAM;MAAEE,MAAM;MAAE1H;IAAK,CAAC,GAAGwH,QAAQ;IAEjC,IAAIG,UAAU,GAAG,CAAC;IAElB,IAAIzG,sBAAsB,CAACyC,OAAO,EAAE;MAChCgE,UAAU,GAAGzG,sBAAsB,CAACyC,OAAO,CAACgE,UAAU;MAEtDzG,sBAAsB,CAACyC,OAAO,CAACgE,UAAU,GAAG,IAAAC,6BAAe,EAAC;QACxDT,UAAU;QACVK,QAAQ,EAAEE,MAAM;QAChBC,UAAU,EAAEA,UAAU,GAAG3H;MAC7B,CAAC,CAAC,CAAC6H,YAAY;IACnB;IAEA,MAAM;MAAEC;IAAa,CAAC,GAAG,IAAAF,6BAAe,EAAC;MACrCT,UAAU;MACVK,QAAQ,EAAEE,MAAM;MAChBC;IACJ,CAAC,CAAC;IAEF,MAAM;MAAEE;IAAa,CAAC,GAAG,IAAAD,6BAAe,EAAC;MACrCT,UAAU;MACVK,QAAQ,EAAEE,MAAM;MAChBC,UAAU,EAAE;IAChB,CAAC,CAAC;IACF,MAAMI,YAAY,GAAGvI,KAAK,CAACY,MAAM,GAAGF,eAAe;IAEnD,IAAI2H,YAAY,IAAI,CAAC,IAAIC,YAAY,IAAI,CAAC,EAAE;MACxC,KAAKrE,SAAS,CAACoE,YAAY,CAAC;MAE5B,IAAIlF,EAAE;MAEN,IAAIoF,YAAY,IAAID,YAAY,KAAK5H,eAAe,GAAG,CAAC,EAAE;QACtDyC,EAAE,GAAG,MAAM;MACf,CAAC,MAAM;QAAA,IAAAqF,mBAAA;QACHrF,EAAE,IAAAqF,mBAAA,GAAGxI,KAAK,CAACsI,YAAY,CAAC,cAAAE,mBAAA,uBAAnBA,mBAAA,CAAqBrF,EAAE;MAChC;MAEA,IAAIxB,QAAQ,CAACwC,OAAO,EAAE;QAClB,IAAIhB,EAAE,KAAK,MAAM,EAAE;UACfxB,QAAQ,CAACwC,OAAO,CAACU,IAAI,CAAC,CAAC;QAC3B,CAAC,MAAM;UACHlD,QAAQ,CAACwC,OAAO,CAACW,IAAI,CAAC,CAAC;QAC3B;MACJ;MAEA,IAAI,OAAO7E,QAAQ,KAAK,UAAU,IAAIkD,EAAE,EAAE;QACtCN,UAAU,CAACM,EAAE,CAAC;QACd9B,eAAe,CAACiH,YAAY,CAAC;QAC7B,IAAInF,EAAE,KAAK,MAAM,EAAElD,QAAQ,CAACkD,EAAE,CAAC;MACnC;IACJ;EACJ,CAAC,EAAE,CAACc,SAAS,EAAEH,SAAS,EAAE9D,KAAK,EAAEC,QAAQ,EAAE4B,KAAK,EAAEgB,UAAU,EAAEnC,eAAe,EAAEiH,UAAU,CAAC,CAAC;EAE3F,OAAO,IAAAnF,eAAO,EACV,mBACI5E,OAAA,CAAAgB,OAAA,CAAAyH,aAAA,CAAC/H,aAAA,CAAAmK,kBAAkB;IAACC,WAAW,EAAE5I,UAAW;IAACiH,GAAG,EAAEvF;EAAgB,gBAC9D5D,OAAA,CAAAgB,OAAA,CAAAyH,aAAA,CAAC/H,aAAA,CAAAqK,gCAAgC;IAACC,YAAY;EAAA,GACzClB,aAC6B,CAAC,eACnC9J,OAAA,CAAAgB,OAAA,CAAAyH,aAAA,CAAC/H,aAAA,CAAAuK,6BAA6B;IAC1BC,UAAU,EAAE3I,SAAU;IACtB4G,GAAG,EAAElF,KAAM;IACXkH,IAAI,EAAEjJ,UAAU,GAAG,KAAK,GAAG,GAAI;IAC/BkJ,WAAW,EAAE,CAAE;IACfC,eAAe,EACX3F,cAAc,GACR;MAAE,GAAGjD,SAAS;MAAEI,KAAK,EAAEJ,SAAS,CAACI,KAAK,GAAGqD;IAAU,CAAC,GACpD;MAAE,GAAGzD;IAAU,CACxB;IACDmG,MAAM,EAAE1C,SAAU;IAClBoF,SAAS,EAAEnB,aAAc;IACzBoB,WAAW,EAAEtB,eAAgB;IAC7BnB,OAAO,EAAEA,CAAA,KAAMjC,WAAW,CAACzD,SAAS,EAAEI,YAAY,CAAE;IACpDgI,KAAK,EAAE;MAAErE,eAAe,EAAEI;IAAqB,CAAE;IACjD,4BAAyB,MAAM;IAC/B8B,QAAQ,EACJ7E,yCAAyC,IAAI,CAACtC,UAAU,GAAG,CAAC,GAAGuJ,SAClE;IACDnC,IAAI,EACA9E,yCAAyC,IAAI,CAACtC,UAAU,GAClD,QAAQ,GACRuJ,SACT;IACDvC,SAAS,EACL1E,yCAAyC,IAAI,CAACtC,UAAU,GAClD+F,kBAAkB,GAClBwD,SACT;IACDC,+BAA+B,EAAEjH;EAA+B,CACnE,CAAC,eACFzE,OAAA,CAAAgB,OAAA,CAAAyH,aAAA,CAAC/H,aAAA,CAAAiL,yBAAyB;IACtBT,UAAU,EAAE3I,SAAU;IACtBuI,WAAW,EAAE5I,UAAW;IACxB0G,MAAM,EAAE,CAAClD,cAAc,GAAGjD,SAAS,CAACI,KAAK,GAAGqD,SAAS,GAAGzD,SAAS,CAACI,KAAM;IACxEsG,GAAG,EAAErF,sBAAuB;IAC5B0H,KAAK,EAAE;MAAErE;IAAgB;EAAE,gBAE3BnH,OAAA,CAAAgB,OAAA,CAAAyH,aAAA,CAAC1I,MAAA,CAAA6L,eAAe,qBACZ5L,OAAA,CAAAgB,OAAA,CAAAyH,aAAA,CAAC/H,aAAA,CAAAqK,gCAAgC,QAC5B3C,OAC6B,CACrB,CACM,CACX,CACvB,EACD,CACIjB,eAAe,EACfiB,OAAO,EACPhF,SAAS,EACTI,YAAY,EACZf,SAAS,EACToE,WAAW,EACXsD,aAAa,EACbF,eAAe,EACfhC,kBAAkB,EAClB/F,UAAU,EACVK,SAAS,EACTmD,cAAc,EACdQ,SAAS,EACT4D,aAAa,EACb7F,KAAK,EACLO,yCAAyC,EACzCC,8BAA8B,EAC9B8C,oBAAoB,CAE5B,CAAC;AACL,CAAC;AAEDtF,YAAY,CAAC4J,WAAW,GAAG,cAAc;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAA/K,OAAA,GAE3BiB,YAAY","ignoreList":[]}
@@ -5,8 +5,9 @@ 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 = _interopRequireDefault(require("styled-components"));
9
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
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); }
10
11
  const StyledSliderButton = exports.StyledSliderButton = _styledComponents.default.div`
11
12
  opacity: ${({
12
13
  $isDisabled
@@ -82,6 +83,10 @@ const StyledSliderButtonPopupContentItem = exports.StyledSliderButtonPopupConten
82
83
  theme
83
84
  }) => $isSelected ? theme['secondary-102'] : undefined};
84
85
  padding: 4px 12px;
86
+
87
+ &:focus-visible {
88
+ ${_keyboardFocusHighlighting.keyboardFocusHighlightingRingCss};
89
+ }
85
90
  `;
86
91
  const StyledSliderButtonButtonsWrapper = exports.StyledSliderButtonButtonsWrapper = _styledComponents.default.div`
87
92
  position: absolute;
@@ -120,5 +125,13 @@ const StyledMotionSliderButtonThumb = exports.StyledMotionSliderButtonThumb = (0
120
125
  justify-content: center;
121
126
  align-items: center;
122
127
  cursor: pointer;
128
+
129
+ ${({
130
+ $shouldShowKeyboardHighlighting
131
+ }) => $shouldShowKeyboardHighlighting && (0, _styledComponents.css)`
132
+ &:focus-visible {
133
+ ${_keyboardFocusHighlighting.keyboardFocusHighlightingRingCss}
134
+ }
135
+ `}
123
136
  `;
124
137
  //# sourceMappingURL=SliderButton.styles.js.map
@@ -1 +1 @@
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 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<{ $isSelected?: boolean }>;\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<{ $width: number; $isRounded: boolean }>;\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;AAAuC,SAAAE,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAKhC,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;AAIM,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;AAIM,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":[]}
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":[]}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=SliderButton.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SliderButton.types.js","names":[],"sources":["../../../../src/components/slider-button/SliderButton.types.ts"],"sourcesContent":["import type { SliderButtonItem } from '../../types/slider-button';\n\nexport type SliderButtonProps = {\n /**\n * Whether the button is disabled and cannot be clicked anymore.\n */\n isDisabled?: boolean;\n /**\n * Displays the button in the secondary style.\n */\n isSecondary?: boolean;\n /**\n * The items that should be displayed in the slider button.\n */\n items: SliderButtonItem[];\n /**\n * Function to be executed when a button is selected. The id of the selected button is passed as an argument.\n * @param id\n */\n onChange?: (id: string) => void;\n /**\n * The id of the button that should be selected.\n */\n selectedButtonId?: string;\n /**\n *\n */\n isRounded?: boolean;\n /**\n * Enables keyboard-only focus highlighting.\n */\n shouldEnableKeyboardHighlighting?: boolean;\n};\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useSliderButtonPopupKeyboard = void 0;
7
+ var _react = require("react");
8
+ const useSliderButtonPopupKeyboard = ({
9
+ isPopupOpen,
10
+ popupItems,
11
+ currentPopupId,
12
+ shownItemsCount,
13
+ popupItemRefs,
14
+ popupRef,
15
+ focusThumb,
16
+ onSelectPopupItem
17
+ }) => {
18
+ const [focusedPopupIndex, setFocusedPopupIndex] = (0, _react.useState)(0);
19
+ (0, _react.useEffect)(() => {
20
+ if (!isPopupOpen) {
21
+ return;
22
+ }
23
+ const selectedIndex = popupItems.findIndex(({
24
+ id
25
+ }) => id === currentPopupId);
26
+ const initialIndex = selectedIndex >= 0 ? selectedIndex : 0;
27
+ setFocusedPopupIndex(initialIndex);
28
+ window.requestAnimationFrame(() => {
29
+ var _popupItemRefs$curren;
30
+ (_popupItemRefs$curren = popupItemRefs.current[initialIndex]) === null || _popupItemRefs$curren === void 0 || _popupItemRefs$curren.focus();
31
+ });
32
+ }, [currentPopupId, isPopupOpen, popupItems, popupItemRefs]);
33
+ const handlePopupKeyDown = (0, _react.useCallback)(event => {
34
+ if (!isPopupOpen || popupItems.length === 0) {
35
+ return;
36
+ }
37
+ if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {
38
+ var _popupItemRefs$curren2;
39
+ event.preventDefault();
40
+ const direction = event.key === 'ArrowDown' ? 1 : -1;
41
+ const nextIndex = (focusedPopupIndex + direction + popupItems.length) % popupItems.length;
42
+ setFocusedPopupIndex(nextIndex);
43
+ (_popupItemRefs$curren2 = popupItemRefs.current[nextIndex]) === null || _popupItemRefs$curren2 === void 0 || _popupItemRefs$curren2.focus();
44
+ return;
45
+ }
46
+ if (event.key === 'Enter' || event.key === ' ') {
47
+ event.preventDefault();
48
+ const nextItem = popupItems[focusedPopupIndex];
49
+ if (nextItem) {
50
+ onSelectPopupItem(nextItem.id, Math.max(0, shownItemsCount - 1));
51
+ }
52
+ return;
53
+ }
54
+ if (event.key === 'Escape' || event.key === 'ArrowLeft' || event.key === 'Tab') {
55
+ var _popupRef$current;
56
+ event.preventDefault();
57
+ (_popupRef$current = popupRef.current) === null || _popupRef$current === void 0 || _popupRef$current.hide();
58
+ focusThumb();
59
+ }
60
+ }, [focusThumb, focusedPopupIndex, isPopupOpen, onSelectPopupItem, popupItemRefs, popupItems, popupRef, shownItemsCount]);
61
+ return {
62
+ handlePopupKeyDown
63
+ };
64
+ };
65
+ exports.useSliderButtonPopupKeyboard = useSliderButtonPopupKeyboard;
66
+ //# sourceMappingURL=useSliderButtonPopupKeyboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSliderButtonPopupKeyboard.js","names":["_react","require","useSliderButtonPopupKeyboard","isPopupOpen","popupItems","currentPopupId","shownItemsCount","popupItemRefs","popupRef","focusThumb","onSelectPopupItem","focusedPopupIndex","setFocusedPopupIndex","useState","useEffect","selectedIndex","findIndex","id","initialIndex","window","requestAnimationFrame","_popupItemRefs$curren","current","focus","handlePopupKeyDown","useCallback","event","length","key","_popupItemRefs$curren2","preventDefault","direction","nextIndex","nextItem","Math","max","_popupRef$current","hide","exports"],"sources":["../../../../src/components/slider-button/useSliderButtonPopupKeyboard.ts"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react';\nimport type { KeyboardEventHandler, MutableRefObject } from 'react';\nimport type { PopupRef } from '../../types/popup';\nimport type { SliderButtonItem } from '../../types/slider-button';\n\ntype UseSliderButtonPopupKeyboardProps = {\n isPopupOpen: boolean;\n popupItems: SliderButtonItem[];\n currentPopupId: string;\n shownItemsCount: number;\n popupItemRefs: MutableRefObject<Array<HTMLDivElement | null>>;\n popupRef: MutableRefObject<PopupRef | null>;\n focusThumb: VoidFunction;\n onSelectPopupItem: (id: string, index: number) => void;\n};\n\nexport const useSliderButtonPopupKeyboard = ({\n isPopupOpen,\n popupItems,\n currentPopupId,\n shownItemsCount,\n popupItemRefs,\n popupRef,\n focusThumb,\n onSelectPopupItem,\n}: UseSliderButtonPopupKeyboardProps) => {\n const [focusedPopupIndex, setFocusedPopupIndex] = useState(0);\n\n useEffect(() => {\n if (!isPopupOpen) {\n return;\n }\n\n const selectedIndex = popupItems.findIndex(({ id }) => id === currentPopupId);\n const initialIndex = selectedIndex >= 0 ? selectedIndex : 0;\n\n setFocusedPopupIndex(initialIndex);\n\n window.requestAnimationFrame(() => {\n popupItemRefs.current[initialIndex]?.focus();\n });\n }, [currentPopupId, isPopupOpen, popupItems, popupItemRefs]);\n\n const handlePopupKeyDown = useCallback<KeyboardEventHandler<HTMLDivElement>>(\n (event) => {\n if (!isPopupOpen || popupItems.length === 0) {\n return;\n }\n\n if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {\n event.preventDefault();\n\n const direction = event.key === 'ArrowDown' ? 1 : -1;\n const nextIndex =\n (focusedPopupIndex + direction + popupItems.length) % popupItems.length;\n\n setFocusedPopupIndex(nextIndex);\n popupItemRefs.current[nextIndex]?.focus();\n return;\n }\n\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n\n const nextItem = popupItems[focusedPopupIndex];\n\n if (nextItem) {\n onSelectPopupItem(nextItem.id, Math.max(0, shownItemsCount - 1));\n }\n\n return;\n }\n\n if (event.key === 'Escape' || event.key === 'ArrowLeft' || event.key === 'Tab') {\n event.preventDefault();\n popupRef.current?.hide();\n focusThumb();\n }\n },\n [\n focusThumb,\n focusedPopupIndex,\n isPopupOpen,\n onSelectPopupItem,\n popupItemRefs,\n popupItems,\n popupRef,\n shownItemsCount,\n ],\n );\n\n return { handlePopupKeyDown };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useSliderButtonThumbKeyboard = void 0;
7
+ var _react = require("react");
8
+ const useSliderButtonThumbKeyboard = ({
9
+ currentId,
10
+ currentIndex,
11
+ shownItemsCount,
12
+ items,
13
+ onSelectThumbItem
14
+ }) => {
15
+ const handleThumbKeyDown = (0, _react.useCallback)(event => {
16
+ var _items$currentIndex, _items$;
17
+ if (event.key === 'ArrowLeft' || event.key === 'ArrowRight') {
18
+ var _items$nextIndex;
19
+ event.preventDefault();
20
+ const direction = event.key === 'ArrowRight' ? 1 : -1;
21
+ const maxVisibleIndex = Math.max(0, shownItemsCount - 1);
22
+ const nextIndex = Math.min(maxVisibleIndex, Math.max(0, currentIndex + direction));
23
+ if (nextIndex === currentIndex) {
24
+ return;
25
+ }
26
+ const hasMoreItems = items.length > shownItemsCount;
27
+ const nextId = hasMoreItems && nextIndex === shownItemsCount - 1 ? 'more' : (_items$nextIndex = items[nextIndex]) === null || _items$nextIndex === void 0 ? void 0 : _items$nextIndex.id;
28
+ if (nextId) {
29
+ onSelectThumbItem(nextId, nextIndex);
30
+ }
31
+ return;
32
+ }
33
+ if (event.key !== 'Enter' && event.key !== ' ') {
34
+ return;
35
+ }
36
+ event.preventDefault();
37
+ const fallbackId = currentId || ((_items$currentIndex = items[currentIndex]) === null || _items$currentIndex === void 0 ? void 0 : _items$currentIndex.id) || ((_items$ = items[0]) === null || _items$ === void 0 ? void 0 : _items$.id);
38
+ if (fallbackId) {
39
+ onSelectThumbItem(fallbackId, currentIndex);
40
+ }
41
+ }, [currentId, currentIndex, items, onSelectThumbItem, shownItemsCount]);
42
+ return {
43
+ handleThumbKeyDown
44
+ };
45
+ };
46
+ exports.useSliderButtonThumbKeyboard = useSliderButtonThumbKeyboard;
47
+ //# sourceMappingURL=useSliderButtonThumbKeyboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSliderButtonThumbKeyboard.js","names":["_react","require","useSliderButtonThumbKeyboard","currentId","currentIndex","shownItemsCount","items","onSelectThumbItem","handleThumbKeyDown","useCallback","event","_items$currentIndex","_items$","key","_items$nextIndex","preventDefault","direction","maxVisibleIndex","Math","max","nextIndex","min","hasMoreItems","length","nextId","id","fallbackId","exports"],"sources":["../../../../src/components/slider-button/useSliderButtonThumbKeyboard.ts"],"sourcesContent":["import { useCallback } from 'react';\nimport type { KeyboardEventHandler } from 'react';\nimport type { SliderButtonItem } from '../../types/slider-button';\n\ntype UseSliderButtonThumbKeyboardProps = {\n currentId: string;\n currentIndex: number;\n shownItemsCount: number;\n items: SliderButtonItem[];\n onSelectThumbItem: (id: string, index: number) => void;\n};\n\nexport const useSliderButtonThumbKeyboard = ({\n currentId,\n currentIndex,\n shownItemsCount,\n items,\n onSelectThumbItem,\n}: UseSliderButtonThumbKeyboardProps) => {\n const handleThumbKeyDown = useCallback<KeyboardEventHandler<HTMLDivElement>>(\n (event) => {\n if (event.key === 'ArrowLeft' || event.key === 'ArrowRight') {\n event.preventDefault();\n\n const direction = event.key === 'ArrowRight' ? 1 : -1;\n const maxVisibleIndex = Math.max(0, shownItemsCount - 1);\n const nextIndex = Math.min(maxVisibleIndex, Math.max(0, currentIndex + direction));\n\n if (nextIndex === currentIndex) {\n return;\n }\n\n const hasMoreItems = items.length > shownItemsCount;\n const nextId =\n hasMoreItems && nextIndex === shownItemsCount - 1\n ? 'more'\n : items[nextIndex]?.id;\n\n if (nextId) {\n onSelectThumbItem(nextId, nextIndex);\n }\n\n return;\n }\n\n if (event.key !== 'Enter' && event.key !== ' ') {\n return;\n }\n\n event.preventDefault();\n\n const fallbackId = currentId || items[currentIndex]?.id || items[0]?.id;\n\n if (fallbackId) {\n onSelectThumbItem(fallbackId, currentIndex);\n }\n },\n [currentId, currentIndex, items, onSelectThumbItem, shownItemsCount],\n );\n\n return { handleThumbKeyDown };\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAYO,MAAMC,4BAA4B,GAAGA,CAAC;EACzCC,SAAS;EACTC,YAAY;EACZC,eAAe;EACfC,KAAK;EACLC;AAC+B,CAAC,KAAK;EACrC,MAAMC,kBAAkB,GAAG,IAAAC,kBAAW,EACjCC,KAAK,IAAK;IAAA,IAAAC,mBAAA,EAAAC,OAAA;IACP,IAAIF,KAAK,CAACG,GAAG,KAAK,WAAW,IAAIH,KAAK,CAACG,GAAG,KAAK,YAAY,EAAE;MAAA,IAAAC,gBAAA;MACzDJ,KAAK,CAACK,cAAc,CAAC,CAAC;MAEtB,MAAMC,SAAS,GAAGN,KAAK,CAACG,GAAG,KAAK,YAAY,GAAG,CAAC,GAAG,CAAC,CAAC;MACrD,MAAMI,eAAe,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEd,eAAe,GAAG,CAAC,CAAC;MACxD,MAAMe,SAAS,GAAGF,IAAI,CAACG,GAAG,CAACJ,eAAe,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEf,YAAY,GAAGY,SAAS,CAAC,CAAC;MAElF,IAAII,SAAS,KAAKhB,YAAY,EAAE;QAC5B;MACJ;MAEA,MAAMkB,YAAY,GAAGhB,KAAK,CAACiB,MAAM,GAAGlB,eAAe;MACnD,MAAMmB,MAAM,GACRF,YAAY,IAAIF,SAAS,KAAKf,eAAe,GAAG,CAAC,GAC3C,MAAM,IAAAS,gBAAA,GACNR,KAAK,CAACc,SAAS,CAAC,cAAAN,gBAAA,uBAAhBA,gBAAA,CAAkBW,EAAE;MAE9B,IAAID,MAAM,EAAE;QACRjB,iBAAiB,CAACiB,MAAM,EAAEJ,SAAS,CAAC;MACxC;MAEA;IACJ;IAEA,IAAIV,KAAK,CAACG,GAAG,KAAK,OAAO,IAAIH,KAAK,CAACG,GAAG,KAAK,GAAG,EAAE;MAC5C;IACJ;IAEAH,KAAK,CAACK,cAAc,CAAC,CAAC;IAEtB,MAAMW,UAAU,GAAGvB,SAAS,MAAAQ,mBAAA,GAAIL,KAAK,CAACF,YAAY,CAAC,cAAAO,mBAAA,uBAAnBA,mBAAA,CAAqBc,EAAE,OAAAb,OAAA,GAAIN,KAAK,CAAC,CAAC,CAAC,cAAAM,OAAA,uBAARA,OAAA,CAAUa,EAAE;IAEvE,IAAIC,UAAU,EAAE;MACZnB,iBAAiB,CAACmB,UAAU,EAAEtB,YAAY,CAAC;IAC/C;EACJ,CAAC,EACD,CAACD,SAAS,EAAEC,YAAY,EAAEE,KAAK,EAAEC,iBAAiB,EAAEF,eAAe,CACvE,CAAC;EAED,OAAO;IAAEG;EAAmB,CAAC;AACjC,CAAC;AAACmB,OAAA,CAAAzB,4BAAA,GAAAA,4BAAA","ignoreList":[]}
@@ -12,6 +12,7 @@ var _Icon = _interopRequireDefault(require("../icon/Icon"));
12
12
  var _TagInput = require("./TagInput.styles");
13
13
  var _AreaContextProvider = require("../area-provider/AreaContextProvider");
14
14
  var _resize = require("../../hooks/resize");
15
+ var _useKeyboardFocusHighlighting = require("../../hooks/useKeyboardFocusHighlighting");
15
16
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
17
  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); }
17
18
  const TagInput = /*#__PURE__*/(0, _react.forwardRef)(({
@@ -23,6 +24,7 @@ const TagInput = /*#__PURE__*/(0, _react.forwardRef)(({
23
24
  onRemove,
24
25
  placeholder,
25
26
  shouldAllowMultiple = true,
27
+ shouldEnableKeyboardHighlighting,
26
28
  shouldPreventEnter,
27
29
  tags
28
30
  }, ref) => {
@@ -36,6 +38,8 @@ const TagInput = /*#__PURE__*/(0, _react.forwardRef)(({
36
38
  setCurrentValue('');
37
39
  };
38
40
  const shouldChangeColor = (0, _react.useMemo)(() => areaProvider.shouldChangeColor ?? false, [areaProvider.shouldChangeColor]);
41
+ const shouldShowKeyboardHighlighting = (0, _useKeyboardFocusHighlighting.useKeyboardFocusHighlighting)(shouldEnableKeyboardHighlighting);
42
+ const shouldShowTagHighlighting = shouldShowKeyboardHighlighting && typeof selectedId === 'string';
39
43
  (0, _react.useImperativeHandle)(ref, () => ({
40
44
  blur: () => {
41
45
  var _inputRef$current;
@@ -44,8 +48,78 @@ const TagInput = /*#__PURE__*/(0, _react.forwardRef)(({
44
48
  getUnsavedTagText: currentValue !== '' ? currentValue : undefined,
45
49
  resetValue: handleResetValue
46
50
  }), [currentValue]);
51
+ const handleRemoveTag = (0, _react.useCallback)((id, currentTags) => {
52
+ var _currentTags, _currentTags2;
53
+ const removedTagIndex = currentTags.findIndex(tag => tag.id === id);
54
+ if (typeof onRemove === 'function') {
55
+ onRemove(id);
56
+ }
57
+ if (removedTagIndex < 0) {
58
+ setSelectedId(undefined);
59
+ return;
60
+ }
61
+ setSelectedId(((_currentTags = currentTags[removedTagIndex + 1]) === null || _currentTags === void 0 ? void 0 : _currentTags.id) ?? ((_currentTags2 = currentTags[removedTagIndex - 1]) === null || _currentTags2 === void 0 ? void 0 : _currentTags2.id));
62
+ }, [onRemove]);
47
63
  const handleKeyDown = (0, _react.useCallback)(event => {
48
- if (event.key === 'Enter' && !shouldPreventEnter) {
64
+ const visibleTags = shouldAllowMultiple ? tags ?? [] : (tags ?? []).slice(0, 1);
65
+ const selectedTagIndex = visibleTags.findIndex(tag => tag.id === selectedId);
66
+ const selectedTag = selectedTagIndex >= 0 ? visibleTags[selectedTagIndex] : undefined;
67
+ const isSpaceKey = event.key === ' ';
68
+ const isEnterKey = event.key === 'Enter';
69
+ const isDeleteKey = event.key === 'Delete';
70
+ if (currentValue === '' && visibleTags.length > 0) {
71
+ if (event.key === 'ArrowLeft') {
72
+ var _visibleTags2;
73
+ event.preventDefault();
74
+ if (!selectedId) {
75
+ var _visibleTags;
76
+ setSelectedId((_visibleTags = visibleTags[visibleTags.length - 1]) === null || _visibleTags === void 0 ? void 0 : _visibleTags.id);
77
+ return;
78
+ }
79
+ if (selectedTagIndex <= 0) {
80
+ setSelectedId(undefined);
81
+ return;
82
+ }
83
+ setSelectedId((_visibleTags2 = visibleTags[selectedTagIndex - 1]) === null || _visibleTags2 === void 0 ? void 0 : _visibleTags2.id);
84
+ return;
85
+ }
86
+ if (event.key === 'ArrowRight') {
87
+ var _visibleTags3;
88
+ event.preventDefault();
89
+ if (!selectedId || selectedTagIndex < 0) {
90
+ return;
91
+ }
92
+ if (selectedTagIndex >= visibleTags.length - 1) {
93
+ setSelectedId(undefined);
94
+ return;
95
+ }
96
+ setSelectedId((_visibleTags3 = visibleTags[selectedTagIndex + 1]) === null || _visibleTags3 === void 0 ? void 0 : _visibleTags3.id);
97
+ return;
98
+ }
99
+ if (event.key === 'Home') {
100
+ var _visibleTags$;
101
+ event.preventDefault();
102
+ setSelectedId((_visibleTags$ = visibleTags[0]) === null || _visibleTags$ === void 0 ? void 0 : _visibleTags$.id);
103
+ return;
104
+ }
105
+ if (event.key === 'End') {
106
+ var _visibleTags4;
107
+ event.preventDefault();
108
+ setSelectedId((_visibleTags4 = visibleTags[visibleTags.length - 1]) === null || _visibleTags4 === void 0 ? void 0 : _visibleTags4.id);
109
+ return;
110
+ }
111
+ if (isEnterKey || isSpaceKey || event.key === 'Backspace' || isDeleteKey) {
112
+ event.preventDefault();
113
+ if (!selectedTag) {
114
+ var _visibleTags5;
115
+ setSelectedId((_visibleTags5 = visibleTags[visibleTags.length - 1]) === null || _visibleTags5 === void 0 ? void 0 : _visibleTags5.id);
116
+ return;
117
+ }
118
+ handleRemoveTag(selectedTag.id, visibleTags);
119
+ return;
120
+ }
121
+ }
122
+ if (isEnterKey && !shouldPreventEnter) {
49
123
  setCurrentValue(prevValue => {
50
124
  if (!prevValue) {
51
125
  return '';
@@ -72,30 +146,7 @@ const TagInput = /*#__PURE__*/(0, _react.forwardRef)(({
72
146
  return '';
73
147
  });
74
148
  }
75
- if (event.key === 'Backspace' && currentValue === '') {
76
- var _tags2;
77
- if (!selectedId) {
78
- var _tags;
79
- if (!tags) {
80
- return;
81
- }
82
- const newSelectedId = (_tags = tags[tags.length - 1]) === null || _tags === void 0 ? void 0 : _tags.id;
83
- setSelectedId(newSelectedId);
84
- return;
85
- }
86
- if (!tags) {
87
- return;
88
- }
89
- const removedId = (_tags2 = tags[tags.length - 1]) === null || _tags2 === void 0 ? void 0 : _tags2.id;
90
- if (!removedId) {
91
- return;
92
- }
93
- if (typeof onRemove === 'function') {
94
- onRemove(removedId);
95
- }
96
- setSelectedId(undefined);
97
- }
98
- }, [currentValue, onAdd, onRemove, selectedId, shouldAllowMultiple, shouldPreventEnter, tags]);
149
+ }, [currentValue, onAdd, handleRemoveTag, selectedId, shouldAllowMultiple, shouldPreventEnter, tags]);
99
150
  const handleChange = (0, _react.useCallback)(event => {
100
151
  setCurrentValue(event.target.value);
101
152
  if (typeof onChange === 'function') {
@@ -106,10 +157,8 @@ const TagInput = /*#__PURE__*/(0, _react.forwardRef)(({
106
157
  }
107
158
  }, [onChange]);
108
159
  const handleIconClick = (0, _react.useCallback)(id => {
109
- if (typeof onRemove === 'function') {
110
- onRemove(id);
111
- }
112
- }, [onRemove]);
160
+ handleRemoveTag(id, shouldAllowMultiple ? tags ?? [] : (tags ?? []).slice(0, 1));
161
+ }, [handleRemoveTag, shouldAllowMultiple, tags]);
113
162
  const content = (0, _react.useMemo)(() => {
114
163
  const items = [];
115
164
  if (!tags) {
@@ -120,23 +169,30 @@ const TagInput = /*#__PURE__*/(0, _react.forwardRef)(({
120
169
  id,
121
170
  rightElement
122
171
  }) => {
123
- items.push(/*#__PURE__*/_react.default.createElement(_Badge.default, {
124
- key: `tag-input-${id}`,
125
- backgroundColor: id === selectedId ? theme['206'] ?? undefined : undefined
172
+ const isSelected = id === selectedId;
173
+ items.push(/*#__PURE__*/_react.default.createElement(_TagInput.StyledTagInputTagFocusWrapper, {
174
+ $isSelected: isSelected,
175
+ $shouldShowKeyboardHighlighting: shouldShowKeyboardHighlighting,
176
+ key: `tag-input-${id}`
177
+ }, /*#__PURE__*/_react.default.createElement(_Badge.default, {
178
+ backgroundColor: isSelected ? theme['206'] ?? undefined : undefined
126
179
  }, /*#__PURE__*/_react.default.createElement(_TagInput.StyledTagInputTagWrapper, null, /*#__PURE__*/_react.default.createElement(_TagInput.StyledTagInputTagWrapperText, null, text), rightElement, /*#__PURE__*/_react.default.createElement(_Icon.default, {
127
180
  icons: ['ts-wrong'],
181
+ shouldEnableKeyboardHighlighting: false,
128
182
  onClick: event => {
129
183
  event.preventDefault();
130
184
  event.stopPropagation();
131
185
  handleIconClick(id);
132
186
  }
133
- }))));
187
+ })))));
134
188
  });
135
189
  return items;
136
- }, [tags, shouldAllowMultiple, selectedId, theme, handleIconClick]);
190
+ }, [tags, shouldAllowMultiple, selectedId, shouldShowKeyboardHighlighting, theme, handleIconClick]);
137
191
  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]);
138
192
  return (0, _react.useMemo)(() => /*#__PURE__*/_react.default.createElement(_TagInput.StyledTagInput, {
139
- $shouldChangeColor: shouldChangeColor
193
+ $shouldChangeColor: shouldChangeColor,
194
+ $shouldShowKeyboardHighlighting: shouldShowKeyboardHighlighting,
195
+ $shouldShowTagHighlighting: shouldShowTagHighlighting
140
196
  }, leftElement && /*#__PURE__*/_react.default.createElement(_TagInput.StyledTagInputIconWrapper, null, leftElement), content, shouldShowInput && /*#__PURE__*/_react.default.createElement(_TagInput.StyledTagInputTagInput, {
141
197
  onBlur: onBlur,
142
198
  onChange: handleChange,
@@ -145,7 +201,7 @@ const TagInput = /*#__PURE__*/(0, _react.forwardRef)(({
145
201
  placeholder: tags && tags.length > 0 ? undefined : placeholder,
146
202
  ref: inputRef,
147
203
  value: currentValue
148
- })), [content, currentValue, handleChange, handleKeyDown, leftElement, onBlur, onFocus, placeholder, shouldChangeColor, shouldShowInput, tags]);
204
+ })), [content, currentValue, handleChange, handleKeyDown, leftElement, onBlur, onFocus, placeholder, shouldChangeColor, shouldShowInput, shouldShowKeyboardHighlighting, shouldShowTagHighlighting, tags]);
149
205
  });
150
206
  var _default = exports.default = TagInput;
151
207
  //# sourceMappingURL=TagInput.js.map