@chayns-components/core 5.4.15-alpha.0 → 5.4.16

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 (467) hide show
  1. package/AGENTS.md +6 -12
  2. package/lib/cjs/components/accordion/Accordion.js +12 -107
  3. package/lib/cjs/components/accordion/Accordion.js.map +1 -1
  4. package/lib/cjs/components/accordion/Accordion.styles.js +3 -23
  5. package/lib/cjs/components/accordion/Accordion.styles.js.map +1 -1
  6. package/lib/cjs/components/accordion/accordion-body/AccordionBody.styles.js +1 -3
  7. package/lib/cjs/components/accordion/accordion-body/AccordionBody.styles.js.map +1 -1
  8. package/lib/cjs/components/accordion/accordion-group/AccordionGroup.js +19 -36
  9. package/lib/cjs/components/accordion/accordion-group/AccordionGroup.js.map +1 -1
  10. package/lib/cjs/components/accordion/accordion-head/AccordionHead.js +3 -6
  11. package/lib/cjs/components/accordion/accordion-head/AccordionHead.js.map +1 -1
  12. package/lib/cjs/components/accordion/accordion-head/AccordionHead.styles.js +0 -14
  13. package/lib/cjs/components/accordion/accordion-head/AccordionHead.styles.js.map +1 -1
  14. package/lib/cjs/components/amount-control/AmountControl.js +17 -31
  15. package/lib/cjs/components/amount-control/AmountControl.js.map +1 -1
  16. package/lib/cjs/components/amount-control/AmountControl.styles.js +2 -18
  17. package/lib/cjs/components/amount-control/AmountControl.styles.js.map +1 -1
  18. package/lib/cjs/components/button/Button.js +1 -5
  19. package/lib/cjs/components/button/Button.js.map +1 -1
  20. package/lib/cjs/components/button/Button.styles.js +0 -10
  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 +1 -5
  24. package/lib/cjs/components/checkbox/Checkbox.js.map +1 -1
  25. package/lib/cjs/components/checkbox/Checkbox.styles.js +2 -29
  26. package/lib/cjs/components/checkbox/Checkbox.styles.js.map +1 -1
  27. package/lib/cjs/components/color-scheme-provider/ColorSchemeProvider.js +2 -7
  28. package/lib/cjs/components/color-scheme-provider/ColorSchemeProvider.js.map +1 -1
  29. package/lib/cjs/components/color-scheme-provider/ColorSchemeProvider.styles.js +2 -8
  30. package/lib/cjs/components/color-scheme-provider/ColorSchemeProvider.styles.js.map +1 -1
  31. package/lib/cjs/components/combobox/ComboBox.js +11 -68
  32. package/lib/cjs/components/combobox/ComboBox.js.map +1 -1
  33. package/lib/cjs/components/combobox/ComboBox.styles.js +0 -11
  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 +42 -146
  37. package/lib/cjs/components/context-menu/ContextMenu.js.map +1 -1
  38. package/lib/cjs/components/context-menu/ContextMenu.styles.js +0 -38
  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 +1 -27
  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 +8 -3
  44. package/lib/cjs/components/context-menu/context-menu-content/ContextMenuContent.js.map +1 -1
  45. package/lib/cjs/components/file-input/FileInput.js +2 -4
  46. package/lib/cjs/components/file-input/FileInput.js.map +1 -1
  47. package/lib/cjs/components/file-list/file-item/FileItem.js +25 -48
  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 +1 -25
  50. package/lib/cjs/components/file-list/file-item/FileItem.styles.js.map +1 -1
  51. package/lib/cjs/components/file-select/FileSelect.js +4 -27
  52. package/lib/cjs/components/file-select/FileSelect.js.map +1 -1
  53. package/lib/cjs/components/file-select/FileSelect.styles.js +0 -10
  54. package/lib/cjs/components/file-select/FileSelect.styles.js.map +1 -1
  55. package/lib/cjs/components/filter/Filter.js +16 -51
  56. package/lib/cjs/components/filter/Filter.js.map +1 -1
  57. package/lib/cjs/components/filter/Filter.styles.js +0 -9
  58. package/lib/cjs/components/filter/Filter.styles.js.map +1 -1
  59. package/lib/cjs/components/filter/filter-content/FilterContent.js +5 -14
  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 +4 -69
  63. package/lib/cjs/components/filter-buttons/FilterButtons.js.map +1 -1
  64. package/lib/cjs/components/filter-buttons/filter-button/FilterButton.js +2 -40
  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 +0 -11
  67. package/lib/cjs/components/filter-buttons/filter-button/FilterButton.styles.js.map +1 -1
  68. package/lib/cjs/components/grid-image/GridImage.js +2 -20
  69. package/lib/cjs/components/grid-image/GridImage.js.map +1 -1
  70. package/lib/cjs/components/grid-image/GridImage.styles.js +2 -11
  71. package/lib/cjs/components/grid-image/GridImage.styles.js.map +1 -1
  72. package/lib/cjs/components/grouped-image/GroupedImage.js +34 -25
  73. package/lib/cjs/components/grouped-image/GroupedImage.js.map +1 -1
  74. package/lib/cjs/components/grouped-image/GroupedImage.styles.js +0 -9
  75. package/lib/cjs/components/grouped-image/GroupedImage.styles.js.map +1 -1
  76. package/lib/cjs/components/highlight-slider/HighlightSlider.js +3 -13
  77. package/lib/cjs/components/highlight-slider/HighlightSlider.js.map +1 -1
  78. package/lib/cjs/components/highlight-slider/highlight-slider-item/HighlightSliderItem.js +4 -21
  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 +2 -11
  81. package/lib/cjs/components/highlight-slider/highlight-slider-item/HighlightSliderItem.styles.js.map +1 -1
  82. package/lib/cjs/components/icon/Icon.js +5 -24
  83. package/lib/cjs/components/icon/Icon.js.map +1 -1
  84. package/lib/cjs/components/icon/Icon.styles.js +0 -23
  85. package/lib/cjs/components/icon/Icon.styles.js.map +1 -1
  86. package/lib/cjs/components/input/Input.js +8 -29
  87. package/lib/cjs/components/input/Input.js.map +1 -1
  88. package/lib/cjs/components/input/Input.styles.js +3 -38
  89. package/lib/cjs/components/input/Input.styles.js.map +1 -1
  90. package/lib/cjs/components/list/List.js +37 -124
  91. package/lib/cjs/components/list/List.js.map +1 -1
  92. package/lib/cjs/components/list/List.utils.js +1 -213
  93. package/lib/cjs/components/list/List.utils.js.map +1 -1
  94. package/lib/cjs/components/list/list-item/ListItem.js +7 -84
  95. package/lib/cjs/components/list/list-item/ListItem.js.map +1 -1
  96. package/lib/cjs/components/list/list-item/ListItem.styles.js +0 -7
  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 +29 -9
  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 +4 -5
  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-image/ListItemImage.js +1 -0
  103. package/lib/cjs/components/list/list-item/list-item-head/list-item-image/ListItemImage.js.map +1 -1
  104. package/lib/cjs/components/list/list-item/list-item-head/list-item-right-element/ListItemRightElement.js +0 -1
  105. package/lib/cjs/components/list/list-item/list-item-head/list-item-right-element/ListItemRightElement.js.map +1 -1
  106. package/lib/cjs/components/list/list-item/list-item-head/list-item-subtitle/ListItemSubtitle.js +0 -3
  107. package/lib/cjs/components/list/list-item/list-item-head/list-item-subtitle/ListItemSubtitle.js.map +1 -1
  108. package/lib/cjs/components/list/list-item/list-item-head/list-item-title/ListItemTitle.js +0 -1
  109. package/lib/cjs/components/list/list-item/list-item-head/list-item-title/ListItemTitle.js.map +1 -1
  110. package/lib/cjs/components/mention-finder/MentionFinder.js +5 -43
  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 +3 -36
  114. package/lib/cjs/components/multi-action-button/MultiActionButton.js.map +1 -1
  115. package/lib/cjs/components/multi-action-button/MultiActionButton.styles.js +0 -6
  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 +1 -7
  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 +0 -12
  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 +10 -13
  123. package/lib/cjs/components/number-input/NumberInput.js.map +1 -1
  124. package/lib/cjs/components/page-provider/PageProvider.js +2 -4
  125. package/lib/cjs/components/page-provider/PageProvider.js.map +1 -1
  126. package/lib/cjs/components/popup/Popup.js +1 -8
  127. package/lib/cjs/components/popup/Popup.js.map +1 -1
  128. package/lib/cjs/components/radio-button/RadioButton.js +15 -29
  129. package/lib/cjs/components/radio-button/RadioButton.js.map +1 -1
  130. package/lib/cjs/components/radio-button/RadioButton.styles.js +8 -19
  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 +4 -7
  133. package/lib/cjs/components/radio-button/radio-button-group/RadioButtonGroup.js.map +1 -1
  134. package/lib/cjs/components/search-box/SearchBox.js +6 -21
  135. package/lib/cjs/components/search-box/SearchBox.js.map +1 -1
  136. package/lib/cjs/components/search-input/SearchInput.js +43 -56
  137. package/lib/cjs/components/search-input/SearchInput.js.map +1 -1
  138. package/lib/cjs/components/search-input/SearchInput.styles.js +2 -26
  139. package/lib/cjs/components/search-input/SearchInput.styles.js.map +1 -1
  140. package/lib/cjs/components/select-button/SelectButton.js +2 -4
  141. package/lib/cjs/components/select-button/SelectButton.js.map +1 -1
  142. package/lib/cjs/components/setup-wizard/SetupWizard.js +4 -10
  143. package/lib/cjs/components/setup-wizard/SetupWizard.js.map +1 -1
  144. package/lib/cjs/components/setup-wizard/setup-wizard-item/SetupWizardItem.js +3 -5
  145. package/lib/cjs/components/setup-wizard/setup-wizard-item/SetupWizardItem.js.map +1 -1
  146. package/lib/cjs/components/sharing-bar/SharingBar.js +6 -31
  147. package/lib/cjs/components/sharing-bar/SharingBar.js.map +1 -1
  148. package/lib/cjs/components/sharing-bar/SharingBar.styles.js +0 -5
  149. package/lib/cjs/components/sharing-bar/SharingBar.styles.js.map +1 -1
  150. package/lib/cjs/components/sharing-button/SharingButton.js +2 -4
  151. package/lib/cjs/components/sharing-button/SharingButton.js.map +1 -1
  152. package/lib/cjs/components/sharing-context-menu/SharingContextMenu.js +1 -3
  153. package/lib/cjs/components/sharing-context-menu/SharingContextMenu.js.map +1 -1
  154. package/lib/cjs/components/signature/Signature.js +3 -6
  155. package/lib/cjs/components/signature/Signature.js.map +1 -1
  156. package/lib/cjs/components/slider/Slider.js +7 -30
  157. package/lib/cjs/components/slider/Slider.js.map +1 -1
  158. package/lib/cjs/components/slider/Slider.styles.js +2 -9
  159. package/lib/cjs/components/slider/Slider.styles.js.map +1 -1
  160. package/lib/cjs/components/slider-button/SliderButton.js +6 -63
  161. package/lib/cjs/components/slider-button/SliderButton.js.map +1 -1
  162. package/lib/cjs/components/slider-button/SliderButton.styles.js +2 -15
  163. package/lib/cjs/components/slider-button/SliderButton.styles.js.map +1 -1
  164. package/lib/cjs/components/tag-input/TagInput.js +36 -92
  165. package/lib/cjs/components/tag-input/TagInput.js.map +1 -1
  166. package/lib/cjs/components/tag-input/TagInput.styles.js +3 -29
  167. package/lib/cjs/components/tag-input/TagInput.styles.js.map +1 -1
  168. package/lib/cjs/components/text-area/TextArea.js +8 -17
  169. package/lib/cjs/components/text-area/TextArea.js.map +1 -1
  170. package/lib/cjs/components/text-area/TextArea.styles.js +1 -15
  171. package/lib/cjs/components/text-area/TextArea.styles.js.map +1 -1
  172. package/lib/cjs/components/truncation/Truncation.js +3 -17
  173. package/lib/cjs/components/truncation/Truncation.js.map +1 -1
  174. package/lib/cjs/components/truncation/Truncation.styles.js +1 -18
  175. package/lib/cjs/components/truncation/Truncation.styles.js.map +1 -1
  176. package/lib/cjs/utils/file.js.map +1 -1
  177. package/lib/esm/components/accordion/Accordion.js +12 -105
  178. package/lib/esm/components/accordion/Accordion.js.map +1 -1
  179. package/lib/esm/components/accordion/Accordion.styles.js +3 -23
  180. package/lib/esm/components/accordion/Accordion.styles.js.map +1 -1
  181. package/lib/esm/components/accordion/accordion-body/AccordionBody.styles.js +1 -3
  182. package/lib/esm/components/accordion/accordion-body/AccordionBody.styles.js.map +1 -1
  183. package/lib/esm/components/accordion/accordion-group/AccordionGroup.js +19 -33
  184. package/lib/esm/components/accordion/accordion-group/AccordionGroup.js.map +1 -1
  185. package/lib/esm/components/accordion/accordion-head/AccordionHead.js +3 -6
  186. package/lib/esm/components/accordion/accordion-head/AccordionHead.js.map +1 -1
  187. package/lib/esm/components/accordion/accordion-head/AccordionHead.styles.js +0 -14
  188. package/lib/esm/components/accordion/accordion-head/AccordionHead.styles.js.map +1 -1
  189. package/lib/esm/components/amount-control/AmountControl.js +16 -30
  190. package/lib/esm/components/amount-control/AmountControl.js.map +1 -1
  191. package/lib/esm/components/amount-control/AmountControl.styles.js +2 -18
  192. package/lib/esm/components/amount-control/AmountControl.styles.js.map +1 -1
  193. package/lib/esm/components/button/Button.js +1 -5
  194. package/lib/esm/components/button/Button.js.map +1 -1
  195. package/lib/esm/components/button/Button.styles.js +0 -10
  196. package/lib/esm/components/button/Button.styles.js.map +1 -1
  197. package/lib/esm/components/button/Button.types.js.map +1 -1
  198. package/lib/esm/components/checkbox/Checkbox.js +1 -5
  199. package/lib/esm/components/checkbox/Checkbox.js.map +1 -1
  200. package/lib/esm/components/checkbox/Checkbox.styles.js +2 -29
  201. package/lib/esm/components/checkbox/Checkbox.styles.js.map +1 -1
  202. package/lib/esm/components/color-scheme-provider/ColorSchemeProvider.js +2 -7
  203. package/lib/esm/components/color-scheme-provider/ColorSchemeProvider.js.map +1 -1
  204. package/lib/esm/components/color-scheme-provider/ColorSchemeProvider.styles.js +2 -8
  205. package/lib/esm/components/color-scheme-provider/ColorSchemeProvider.styles.js.map +1 -1
  206. package/lib/esm/components/combobox/ComboBox.js +7 -61
  207. package/lib/esm/components/combobox/ComboBox.js.map +1 -1
  208. package/lib/esm/components/combobox/ComboBox.styles.js +0 -11
  209. package/lib/esm/components/combobox/ComboBox.styles.js.map +1 -1
  210. package/lib/esm/components/combobox/ComboBox.types.js.map +1 -1
  211. package/lib/esm/components/context-menu/ContextMenu.js +42 -145
  212. package/lib/esm/components/context-menu/ContextMenu.js.map +1 -1
  213. package/lib/esm/components/context-menu/ContextMenu.styles.js +0 -38
  214. package/lib/esm/components/context-menu/ContextMenu.styles.js.map +1 -1
  215. package/lib/esm/components/context-menu/ContextMenu.types.js.map +1 -1
  216. package/lib/esm/components/context-menu/ContextMenu.utils.js +0 -24
  217. package/lib/esm/components/context-menu/ContextMenu.utils.js.map +1 -1
  218. package/lib/esm/components/context-menu/context-menu-content/ContextMenuContent.js +8 -3
  219. package/lib/esm/components/context-menu/context-menu-content/ContextMenuContent.js.map +1 -1
  220. package/lib/esm/components/file-input/FileInput.js +2 -4
  221. package/lib/esm/components/file-input/FileInput.js.map +1 -1
  222. package/lib/esm/components/file-list/file-item/FileItem.js +26 -49
  223. package/lib/esm/components/file-list/file-item/FileItem.js.map +1 -1
  224. package/lib/esm/components/file-list/file-item/FileItem.styles.js +0 -24
  225. package/lib/esm/components/file-list/file-item/FileItem.styles.js.map +1 -1
  226. package/lib/esm/components/file-select/FileSelect.js +4 -27
  227. package/lib/esm/components/file-select/FileSelect.js.map +1 -1
  228. package/lib/esm/components/file-select/FileSelect.styles.js +0 -10
  229. package/lib/esm/components/file-select/FileSelect.styles.js.map +1 -1
  230. package/lib/esm/components/filter/Filter.js +16 -52
  231. package/lib/esm/components/filter/Filter.js.map +1 -1
  232. package/lib/esm/components/filter/Filter.styles.js +0 -9
  233. package/lib/esm/components/filter/Filter.styles.js.map +1 -1
  234. package/lib/esm/components/filter/filter-content/FilterContent.js +5 -15
  235. package/lib/esm/components/filter/filter-content/FilterContent.js.map +1 -1
  236. package/lib/esm/components/filter/filter-content/FilterContent.types.js.map +1 -1
  237. package/lib/esm/components/filter-buttons/FilterButtons.js +5 -69
  238. package/lib/esm/components/filter-buttons/FilterButtons.js.map +1 -1
  239. package/lib/esm/components/filter-buttons/filter-button/FilterButton.js +2 -40
  240. package/lib/esm/components/filter-buttons/filter-button/FilterButton.js.map +1 -1
  241. package/lib/esm/components/filter-buttons/filter-button/FilterButton.styles.js +0 -11
  242. package/lib/esm/components/filter-buttons/filter-button/FilterButton.styles.js.map +1 -1
  243. package/lib/esm/components/grid-image/GridImage.js +2 -20
  244. package/lib/esm/components/grid-image/GridImage.js.map +1 -1
  245. package/lib/esm/components/grid-image/GridImage.styles.js +1 -10
  246. package/lib/esm/components/grid-image/GridImage.styles.js.map +1 -1
  247. package/lib/esm/components/grouped-image/GroupedImage.js +34 -24
  248. package/lib/esm/components/grouped-image/GroupedImage.js.map +1 -1
  249. package/lib/esm/components/grouped-image/GroupedImage.styles.js +0 -9
  250. package/lib/esm/components/grouped-image/GroupedImage.styles.js.map +1 -1
  251. package/lib/esm/components/highlight-slider/HighlightSlider.js +3 -13
  252. package/lib/esm/components/highlight-slider/HighlightSlider.js.map +1 -1
  253. package/lib/esm/components/highlight-slider/highlight-slider-item/HighlightSliderItem.js +3 -20
  254. package/lib/esm/components/highlight-slider/highlight-slider-item/HighlightSliderItem.js.map +1 -1
  255. package/lib/esm/components/highlight-slider/highlight-slider-item/HighlightSliderItem.styles.js +1 -10
  256. package/lib/esm/components/highlight-slider/highlight-slider-item/HighlightSliderItem.styles.js.map +1 -1
  257. package/lib/esm/components/icon/Icon.js +7 -26
  258. package/lib/esm/components/icon/Icon.js.map +1 -1
  259. package/lib/esm/components/icon/Icon.styles.js +0 -23
  260. package/lib/esm/components/icon/Icon.styles.js.map +1 -1
  261. package/lib/esm/components/input/Input.js +4 -24
  262. package/lib/esm/components/input/Input.js.map +1 -1
  263. package/lib/esm/components/input/Input.styles.js +3 -38
  264. package/lib/esm/components/input/Input.styles.js.map +1 -1
  265. package/lib/esm/components/list/List.js +37 -123
  266. package/lib/esm/components/list/List.js.map +1 -1
  267. package/lib/esm/components/list/List.utils.js +0 -202
  268. package/lib/esm/components/list/List.utils.js.map +1 -1
  269. package/lib/esm/components/list/list-item/ListItem.js +8 -85
  270. package/lib/esm/components/list/list-item/ListItem.js.map +1 -1
  271. package/lib/esm/components/list/list-item/ListItem.styles.js +0 -7
  272. package/lib/esm/components/list/list-item/ListItem.styles.js.map +1 -1
  273. package/lib/esm/components/list/list-item/list-item-head/ListItemHead.js +31 -11
  274. package/lib/esm/components/list/list-item/list-item-head/ListItemHead.js.map +1 -1
  275. package/lib/esm/components/list/list-item/list-item-head/ListItemHead.styles.js +3 -4
  276. package/lib/esm/components/list/list-item/list-item-head/ListItemHead.styles.js.map +1 -1
  277. package/lib/esm/components/list/list-item/list-item-head/list-item-image/ListItemImage.js +1 -0
  278. package/lib/esm/components/list/list-item/list-item-head/list-item-image/ListItemImage.js.map +1 -1
  279. package/lib/esm/components/list/list-item/list-item-head/list-item-right-element/ListItemRightElement.js +0 -1
  280. package/lib/esm/components/list/list-item/list-item-head/list-item-right-element/ListItemRightElement.js.map +1 -1
  281. package/lib/esm/components/list/list-item/list-item-head/list-item-subtitle/ListItemSubtitle.js +1 -4
  282. package/lib/esm/components/list/list-item/list-item-head/list-item-subtitle/ListItemSubtitle.js.map +1 -1
  283. package/lib/esm/components/list/list-item/list-item-head/list-item-title/ListItemTitle.js +0 -1
  284. package/lib/esm/components/list/list-item/list-item-head/list-item-title/ListItemTitle.js.map +1 -1
  285. package/lib/esm/components/mention-finder/MentionFinder.js +3 -39
  286. package/lib/esm/components/mention-finder/MentionFinder.js.map +1 -1
  287. package/lib/esm/components/mention-finder/mention-finder-item/MentionFinderItem.styles.js.map +1 -1
  288. package/lib/esm/components/multi-action-button/MultiActionButton.js +3 -36
  289. package/lib/esm/components/multi-action-button/MultiActionButton.js.map +1 -1
  290. package/lib/esm/components/multi-action-button/MultiActionButton.styles.js +0 -6
  291. package/lib/esm/components/multi-action-button/MultiActionButton.styles.js.map +1 -1
  292. package/lib/esm/components/multi-action-button/MultiActionButton.types.js.map +1 -1
  293. package/lib/esm/components/multi-action-button/action-button/ActionButton.js +1 -7
  294. package/lib/esm/components/multi-action-button/action-button/ActionButton.js.map +1 -1
  295. package/lib/esm/components/multi-action-button/action-button/ActionButton.styles.js +0 -12
  296. package/lib/esm/components/multi-action-button/action-button/ActionButton.styles.js.map +1 -1
  297. package/lib/esm/components/number-input/NumberInput.js +10 -13
  298. package/lib/esm/components/number-input/NumberInput.js.map +1 -1
  299. package/lib/esm/components/page-provider/PageProvider.js +2 -4
  300. package/lib/esm/components/page-provider/PageProvider.js.map +1 -1
  301. package/lib/esm/components/popup/Popup.js +1 -8
  302. package/lib/esm/components/popup/Popup.js.map +1 -1
  303. package/lib/esm/components/radio-button/RadioButton.js +15 -29
  304. package/lib/esm/components/radio-button/RadioButton.js.map +1 -1
  305. package/lib/esm/components/radio-button/RadioButton.styles.js +8 -19
  306. package/lib/esm/components/radio-button/RadioButton.styles.js.map +1 -1
  307. package/lib/esm/components/radio-button/radio-button-group/RadioButtonGroup.js +4 -7
  308. package/lib/esm/components/radio-button/radio-button-group/RadioButtonGroup.js.map +1 -1
  309. package/lib/esm/components/search-box/SearchBox.js +4 -18
  310. package/lib/esm/components/search-box/SearchBox.js.map +1 -1
  311. package/lib/esm/components/search-input/SearchInput.js +44 -56
  312. package/lib/esm/components/search-input/SearchInput.js.map +1 -1
  313. package/lib/esm/components/search-input/SearchInput.styles.js +1 -25
  314. package/lib/esm/components/search-input/SearchInput.styles.js.map +1 -1
  315. package/lib/esm/components/select-button/SelectButton.js +2 -4
  316. package/lib/esm/components/select-button/SelectButton.js.map +1 -1
  317. package/lib/esm/components/setup-wizard/SetupWizard.js +4 -10
  318. package/lib/esm/components/setup-wizard/SetupWizard.js.map +1 -1
  319. package/lib/esm/components/setup-wizard/setup-wizard-item/SetupWizardItem.js +3 -5
  320. package/lib/esm/components/setup-wizard/setup-wizard-item/SetupWizardItem.js.map +1 -1
  321. package/lib/esm/components/sharing-bar/SharingBar.js +5 -30
  322. package/lib/esm/components/sharing-bar/SharingBar.js.map +1 -1
  323. package/lib/esm/components/sharing-bar/SharingBar.styles.js +0 -5
  324. package/lib/esm/components/sharing-bar/SharingBar.styles.js.map +1 -1
  325. package/lib/esm/components/sharing-button/SharingButton.js +2 -4
  326. package/lib/esm/components/sharing-button/SharingButton.js.map +1 -1
  327. package/lib/esm/components/sharing-context-menu/SharingContextMenu.js +1 -3
  328. package/lib/esm/components/sharing-context-menu/SharingContextMenu.js.map +1 -1
  329. package/lib/esm/components/signature/Signature.js +3 -6
  330. package/lib/esm/components/signature/Signature.js.map +1 -1
  331. package/lib/esm/components/slider/Slider.js +7 -30
  332. package/lib/esm/components/slider/Slider.js.map +1 -1
  333. package/lib/esm/components/slider/Slider.styles.js +1 -8
  334. package/lib/esm/components/slider/Slider.styles.js.map +1 -1
  335. package/lib/esm/components/slider-button/SliderButton.js +6 -62
  336. package/lib/esm/components/slider-button/SliderButton.js.map +1 -1
  337. package/lib/esm/components/slider-button/SliderButton.styles.js +1 -14
  338. package/lib/esm/components/slider-button/SliderButton.styles.js.map +1 -1
  339. package/lib/esm/components/tag-input/TagInput.js +35 -86
  340. package/lib/esm/components/tag-input/TagInput.js.map +1 -1
  341. package/lib/esm/components/tag-input/TagInput.styles.js +1 -27
  342. package/lib/esm/components/tag-input/TagInput.styles.js.map +1 -1
  343. package/lib/esm/components/text-area/TextArea.js +9 -18
  344. package/lib/esm/components/text-area/TextArea.js.map +1 -1
  345. package/lib/esm/components/text-area/TextArea.styles.js +0 -14
  346. package/lib/esm/components/text-area/TextArea.styles.js.map +1 -1
  347. package/lib/esm/components/truncation/Truncation.js +4 -18
  348. package/lib/esm/components/truncation/Truncation.js.map +1 -1
  349. package/lib/esm/components/truncation/Truncation.styles.js +0 -17
  350. package/lib/esm/components/truncation/Truncation.styles.js.map +1 -1
  351. package/lib/esm/utils/file.js.map +1 -1
  352. package/lib/types/components/accordion/Accordion.d.ts +0 -5
  353. package/lib/types/components/accordion/Accordion.styles.d.ts +4 -8
  354. package/lib/types/components/accordion/accordion-body/AccordionBody.styles.d.ts +2 -2
  355. package/lib/types/components/accordion/accordion-group/AccordionGroup.d.ts +2 -7
  356. package/lib/types/components/accordion/accordion-head/AccordionHead.d.ts +0 -1
  357. package/lib/types/components/accordion/accordion-head/AccordionHead.styles.d.ts +18 -18
  358. package/lib/types/components/amount-control/AmountControl.d.ts +0 -5
  359. package/lib/types/components/amount-control/AmountControl.styles.d.ts +4 -8
  360. package/lib/types/components/button/Button.styles.d.ts +6 -8
  361. package/lib/types/components/button/Button.types.d.ts +0 -8
  362. package/lib/types/components/checkbox/Checkbox.d.ts +0 -4
  363. package/lib/types/components/checkbox/Checkbox.styles.d.ts +1 -5
  364. package/lib/types/components/color-scheme-provider/ColorSchemeProvider.d.ts +0 -5
  365. package/lib/types/components/combobox/ComboBox.styles.d.ts +2 -4
  366. package/lib/types/components/combobox/ComboBox.types.d.ts +0 -5
  367. package/lib/types/components/context-menu/ContextMenu.styles.d.ts +2 -4
  368. package/lib/types/components/context-menu/ContextMenu.types.d.ts +0 -6
  369. package/lib/types/components/context-menu/ContextMenu.utils.d.ts +0 -10
  370. package/lib/types/components/context-menu/context-menu-content/ContextMenuContent.d.ts +1 -1
  371. package/lib/types/components/context-menu/context-menu-content/ContextMenuContent.styles.d.ts +2 -2
  372. package/lib/types/components/dropdown-body-wrapper/delayed-dropdown-content/DelayedDropdownContent.styles.d.ts +2 -2
  373. package/lib/types/components/expandable-content/ExpandableContent.styles.d.ts +2 -2
  374. package/lib/types/components/file-input/FileInput.d.ts +0 -4
  375. package/lib/types/components/file-input/FileInput.styles.d.ts +2 -2
  376. package/lib/types/components/file-list/file-item/FileItem.styles.d.ts +0 -3
  377. package/lib/types/components/file-select/FileSelect.d.ts +0 -4
  378. package/lib/types/components/file-select/FileSelect.styles.d.ts +4 -6
  379. package/lib/types/components/filter/Filter.d.ts +0 -1
  380. package/lib/types/components/filter/Filter.styles.d.ts +4 -6
  381. package/lib/types/components/filter/filter-content/FilterContent.types.d.ts +0 -4
  382. package/lib/types/components/filter-buttons/FilterButtons.d.ts +0 -4
  383. package/lib/types/components/filter-buttons/filter-button/FilterButton.d.ts +0 -5
  384. package/lib/types/components/filter-buttons/filter-button/FilterButton.styles.d.ts +8 -12
  385. package/lib/types/components/grid-image/GridImage.d.ts +0 -4
  386. package/lib/types/components/grid-image/GridImage.styles.d.ts +2 -4
  387. package/lib/types/components/grouped-image/GroupedImage.d.ts +0 -4
  388. package/lib/types/components/grouped-image/GroupedImage.styles.d.ts +6 -8
  389. package/lib/types/components/highlight-slider/HighlightSlider.d.ts +0 -4
  390. package/lib/types/components/highlight-slider/highlight-slider-item/HighlightSliderItem.d.ts +0 -3
  391. package/lib/types/components/highlight-slider/highlight-slider-item/HighlightSliderItem.styles.d.ts +5 -9
  392. package/lib/types/components/icon/Icon.d.ts +0 -4
  393. package/lib/types/components/icon/Icon.styles.d.ts +0 -1
  394. package/lib/types/components/input/Input.d.ts +0 -4
  395. package/lib/types/components/input/Input.styles.d.ts +9 -17
  396. package/lib/types/components/list/List.d.ts +0 -11
  397. package/lib/types/components/list/List.utils.d.ts +1 -32
  398. package/lib/types/components/list/list-item/ListItem.d.ts +9 -3
  399. package/lib/types/components/list/list-item/ListItem.styles.d.ts +64 -64
  400. package/lib/types/components/list/list-item/list-item-body/ListItemBody.styles.d.ts +2 -2
  401. package/lib/types/components/list/list-item/list-item-head/ListItemHead.d.ts +4 -1
  402. package/lib/types/components/list/list-item/list-item-head/ListItemHead.styles.d.ts +195 -195
  403. package/lib/types/components/masonry/masonry-item/MasonryItem.styles.d.ts +2 -2
  404. package/lib/types/components/mention-finder/MentionFinder.styles.d.ts +4 -4
  405. package/lib/types/components/multi-action-button/MultiActionButton.styles.d.ts +2 -2
  406. package/lib/types/components/multi-action-button/MultiActionButton.types.d.ts +0 -7
  407. package/lib/types/components/multi-action-button/action-button/ActionButton.d.ts +1 -4
  408. package/lib/types/components/multi-action-button/action-button/ActionButton.styles.d.ts +2 -4
  409. package/lib/types/components/number-input/NumberInput.d.ts +0 -4
  410. package/lib/types/components/popup/popup-content-wrapper/PopupContentWrapper.styles.d.ts +2 -2
  411. package/lib/types/components/progress-bar/ProgressBar.styles.d.ts +6 -6
  412. package/lib/types/components/radio-button/RadioButton.d.ts +0 -4
  413. package/lib/types/components/radio-button/RadioButton.styles.d.ts +9 -15
  414. package/lib/types/components/radio-button/radio-button-group/RadioButtonGroup.d.ts +0 -5
  415. package/lib/types/components/search-box/SearchBox.d.ts +0 -4
  416. package/lib/types/components/search-box/SearchBox.styles.d.ts +2 -2
  417. package/lib/types/components/search-input/SearchInput.d.ts +0 -4
  418. package/lib/types/components/search-input/SearchInput.styles.d.ts +9 -17
  419. package/lib/types/components/select-button/SelectButton.d.ts +0 -4
  420. package/lib/types/components/setup-wizard/SetupWizard.d.ts +0 -5
  421. package/lib/types/components/sharing-bar/SharingBar.d.ts +0 -4
  422. package/lib/types/components/sharing-button/SharingButton.d.ts +1 -1
  423. package/lib/types/components/sharing-context-menu/SharingContextMenu.d.ts +2 -10
  424. package/lib/types/components/signature/Signature.d.ts +0 -4
  425. package/lib/types/components/skeleton/base-skeleton/BaseSkeleton.styles.d.ts +4 -4
  426. package/lib/types/components/slider/Slider.d.ts +0 -8
  427. package/lib/types/components/slider/Slider.styles.d.ts +14 -18
  428. package/lib/types/components/slider-button/SliderButton.d.ts +28 -1
  429. package/lib/types/components/slider-button/SliderButton.styles.d.ts +4 -6
  430. package/lib/types/components/tag-input/TagInput.d.ts +0 -4
  431. package/lib/types/components/tag-input/TagInput.styles.d.ts +2 -12
  432. package/lib/types/components/text-area/TextArea.d.ts +0 -4
  433. package/lib/types/components/text-area/TextArea.styles.d.ts +0 -1
  434. package/lib/types/components/truncation/Truncation.d.ts +0 -4
  435. package/lib/types/components/truncation/Truncation.styles.d.ts +2 -7
  436. package/lib/types/utils/file.d.ts +1 -1
  437. package/package.json +3 -3
  438. package/lib/cjs/components/list/list-item/useListItemFocus.js +0 -47
  439. package/lib/cjs/components/list/list-item/useListItemFocus.js.map +0 -1
  440. package/lib/cjs/components/slider-button/SliderButton.types.js +0 -6
  441. package/lib/cjs/components/slider-button/SliderButton.types.js.map +0 -1
  442. package/lib/cjs/components/slider-button/useSliderButtonPopupKeyboard.js +0 -66
  443. package/lib/cjs/components/slider-button/useSliderButtonPopupKeyboard.js.map +0 -1
  444. package/lib/cjs/components/slider-button/useSliderButtonThumbKeyboard.js +0 -47
  445. package/lib/cjs/components/slider-button/useSliderButtonThumbKeyboard.js.map +0 -1
  446. package/lib/cjs/hooks/useKeyboardFocusHighlighting.js +0 -57
  447. package/lib/cjs/hooks/useKeyboardFocusHighlighting.js.map +0 -1
  448. package/lib/cjs/utils/keyboardFocusHighlighting.styles.js +0 -29
  449. package/lib/cjs/utils/keyboardFocusHighlighting.styles.js.map +0 -1
  450. package/lib/esm/components/list/list-item/useListItemFocus.js +0 -40
  451. package/lib/esm/components/list/list-item/useListItemFocus.js.map +0 -1
  452. package/lib/esm/components/slider-button/SliderButton.types.js +0 -2
  453. package/lib/esm/components/slider-button/SliderButton.types.js.map +0 -1
  454. package/lib/esm/components/slider-button/useSliderButtonPopupKeyboard.js +0 -56
  455. package/lib/esm/components/slider-button/useSliderButtonPopupKeyboard.js.map +0 -1
  456. package/lib/esm/components/slider-button/useSliderButtonThumbKeyboard.js +0 -38
  457. package/lib/esm/components/slider-button/useSliderButtonThumbKeyboard.js.map +0 -1
  458. package/lib/esm/hooks/useKeyboardFocusHighlighting.js +0 -49
  459. package/lib/esm/hooks/useKeyboardFocusHighlighting.js.map +0 -1
  460. package/lib/esm/utils/keyboardFocusHighlighting.styles.js +0 -24
  461. package/lib/esm/utils/keyboardFocusHighlighting.styles.js.map +0 -1
  462. package/lib/types/components/list/list-item/useListItemFocus.d.ts +0 -13
  463. package/lib/types/components/slider-button/SliderButton.types.d.ts +0 -32
  464. package/lib/types/components/slider-button/useSliderButtonPopupKeyboard.d.ts +0 -17
  465. package/lib/types/components/slider-button/useSliderButtonThumbKeyboard.d.ts +0 -13
  466. package/lib/types/hooks/useKeyboardFocusHighlighting.d.ts +0 -5
  467. package/lib/types/utils/keyboardFocusHighlighting.styles.d.ts +0 -9
@@ -1,14 +1,17 @@
1
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
1
2
  import { LayoutGroup, motion } from 'motion/react';
2
- import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
3
+ import React, { useCallback, useContext, useEffect, useMemo, useRef, useState } from 'react';
3
4
  import ListItemIcon from './list-item-icon/ListItemIcon';
4
5
  import ListItemImage from './list-item-image/ListItemImage';
5
- import { StyledListItemHead, StyledListItemHeadContent, StyledListItemHeadIndicator, StyledListItemHeadLeftElements, StyledListItemHeadLeftWrapper, StyledListItemHeadSubtitle, StyledListItemHeadTitle, StyledMotionListItemHeadHoverItem, StyledMotionListItemHeadHoverItemWrapper } from './ListItemHead.styles';
6
+ import { StyledListItemHead, StyledListItemHeadContent, StyledListItemHeadIndicator, StyledListItemHeadLeftWrapper, StyledListItemHeadSubtitle, StyledListItemHeadTitle, StyledListItemHeadTitleInputWrapper, StyledMotionListItemHeadHoverItem, StyledMotionListItemHeadHoverItemWrapper } from './ListItemHead.styles';
6
7
  import ListItemTitle from './list-item-title/ListItemTitle';
7
8
  import ListItemSubtitle from './list-item-subtitle/ListItemSubtitle';
8
9
  import ListItemRightElement from './list-item-right-element/ListItemRightElement';
9
10
  import { useTheme } from 'styled-components';
10
11
  import { StyledUnicodeIcon } from '../../../icon/Icon.styles';
11
12
  import { getIsExpandableIcon } from '../../../../utils/icon';
13
+ import Input from '../../../input/Input';
14
+ import { AreaContext } from '../../../area-provider/AreaContextProvider';
12
15
  const ListItemHead = ({
13
16
  careOfLocationId,
14
17
  cornerImage,
@@ -36,17 +39,20 @@ const ListItemHead = ({
36
39
  shouldDisableAnimation = false,
37
40
  cornerElement,
38
41
  onTitleWidthChange,
39
- onImageError
42
+ onImageError,
43
+ onTitleInputChange,
44
+ titleInputProps
40
45
  }) => {
41
46
  const [shouldShowHoverItem, setShouldShowHoverItem] = useState(false);
42
47
  const [titleMaxWidth, setTitleMaxWidth] = useState(0);
43
48
  const [titleWidth, setTitleWidth] = useState(0);
44
49
  const longPressTimeoutRef = useRef();
45
50
  const resizeSkipRef = useRef(true);
46
- const leftElementRef = useRef(null);
47
51
  const theme = useTheme();
48
- const shouldShowSubtitleRow = subtitle || typeof subtitle === 'string' || typeof rightElements === 'object' && rightElements && 'bottom' in rightElements;
49
- const shouldShowMultilineTitle = useMemo(() => !subtitle, [subtitle]);
52
+ const areaProvider = useContext(AreaContext);
53
+ const hasTitleInput = typeof onTitleInputChange === 'function';
54
+ const shouldShowSubtitleRow = !hasTitleInput && (subtitle || typeof subtitle === 'string') || typeof rightElements === 'object' && rightElements && 'bottom' in rightElements;
55
+ const shouldShowMultilineTitle = useMemo(() => !subtitle && !hasTitleInput, [hasTitleInput, subtitle]);
50
56
  useEffect(() => {
51
57
  window.setTimeout(() => {
52
58
  resizeSkipRef.current = false;
@@ -79,6 +85,9 @@ const ListItemHead = ({
79
85
  const handleTitleWidthChange = useCallback(width => {
80
86
  setTitleMaxWidth(width);
81
87
  }, []);
88
+ const handleInputClick = useCallback(event => {
89
+ event.stopPropagation();
90
+ }, []);
82
91
  const iconOrImageElement = useMemo(() => {
83
92
  if (icons) {
84
93
  return /*#__PURE__*/React.createElement(ListItemIcon, {
@@ -137,16 +146,27 @@ const ListItemHead = ({
137
146
  transition: shouldDisableAnimation ? undefined : {
138
147
  type: 'tween'
139
148
  }
140
- }, isExpandable && !shouldHideIndicator && expandIcon), leftElements && /*#__PURE__*/React.createElement(StyledListItemHeadLeftElements, {
141
- ref: leftElementRef,
142
- "data-left-element": "true"
143
- }, leftElements), iconOrImageElement), /*#__PURE__*/React.createElement(StyledListItemHeadContent, {
149
+ }, isExpandable && !shouldHideIndicator && expandIcon), leftElements, iconOrImageElement), /*#__PURE__*/React.createElement(StyledListItemHeadContent, {
144
150
  $isIconOrImageGiven: iconOrImageElement !== undefined,
145
151
  $isOpen: isOpen
146
152
  }, /*#__PURE__*/React.createElement(LayoutGroup, null, /*#__PURE__*/React.createElement(StyledListItemHeadTitle, {
147
153
  as: shouldDisableAnimation ? undefined : motion.div,
148
154
  layout: "position"
149
- }, /*#__PURE__*/React.createElement(ListItemTitle, {
155
+ }, hasTitleInput ?
156
+ /*#__PURE__*/
157
+ // eslint-disable-next-line react/jsx-no-constructed-context-values
158
+ React.createElement(AreaContext.Provider, {
159
+ value: {
160
+ ...areaProvider,
161
+ shouldChangeColor: true
162
+ }
163
+ }, /*#__PURE__*/React.createElement(StyledListItemHeadTitleInputWrapper, {
164
+ onClick: handleInputClick
165
+ }, /*#__PURE__*/React.createElement(Input
166
+ /* eslint-disable-next-line react/jsx-props-no-spreading */, _extends({}, titleInputProps, {
167
+ value: typeof title === 'string' ? title : undefined,
168
+ onChange: onTitleInputChange
169
+ })))) : /*#__PURE__*/React.createElement(ListItemTitle, {
150
170
  title: title,
151
171
  titleElement: titleElement,
152
172
  isOpen: isOpen,
@@ -1 +1 @@
1
- {"version":3,"file":"ListItemHead.js","names":["LayoutGroup","motion","React","useCallback","useEffect","useMemo","useRef","useState","ListItemIcon","ListItemImage","StyledListItemHead","StyledListItemHeadContent","StyledListItemHeadIndicator","StyledListItemHeadLeftElements","StyledListItemHeadLeftWrapper","StyledListItemHeadSubtitle","StyledListItemHeadTitle","StyledMotionListItemHeadHoverItem","StyledMotionListItemHeadHoverItemWrapper","ListItemTitle","ListItemSubtitle","ListItemRightElement","useTheme","StyledUnicodeIcon","getIsExpandableIcon","ListItemHead","careOfLocationId","cornerImage","hoverItem","icons","imageBackground","images","isAnyItemExpandable","isExpandable","isOpen","isTitleGreyed","leftElements","onClick","onLongPress","rightElements","shouldHideImageOrIconBackground","shouldHideIndicator","shouldOpenImageOnClick","shouldShowRoundImageOrIcon","subtitle","shouldForceHover","title","titleElement","setShouldEnableTooltip","shouldDisableAnimation","cornerElement","onTitleWidthChange","onImageError","shouldShowHoverItem","setShouldShowHoverItem","titleMaxWidth","setTitleMaxWidth","titleWidth","setTitleWidth","longPressTimeoutRef","resizeSkipRef","leftElementRef","theme","shouldShowSubtitleRow","shouldShowMultilineTitle","window","setTimeout","current","handleShowTooltipResize","entries","target","clientWidth","el","scrollWidth","handleMouseEnter","handleMouseLeave","handleTouchStart","event","handleTouchEnd","clearTimeout","handleTitleWidthChange","width","iconOrImageElement","createElement","shouldHideBackground","shouldShowRoundIcon","shouldShowRoundImage","undefined","expandIcon","internalIcon","accordionIcon","internalIconStyle","iconStyle","$icon","className","as","div","animate","opacity","initial","transition","duration","type","$isClickable","$isAnyItemExpandable","onMouseEnter","onMouseLeave","onTouchStart","onTouchEnd","rotate","ref","$isIconOrImageGiven","$isOpen","layout","onResize","marginLeft","displayName"],"sources":["../../../../../../src/components/list/list-item/list-item-head/ListItemHead.tsx"],"sourcesContent":["import { LayoutGroup, motion } from 'motion/react';\nimport React, {\n CSSProperties,\n FC,\n MouseEventHandler,\n ReactNode,\n SyntheticEvent,\n TouchEventHandler,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport type { IListItemRightElements } from '../../../../types/list';\nimport ListItemIcon from './list-item-icon/ListItemIcon';\nimport ListItemImage from './list-item-image/ListItemImage';\nimport {\n StyledListItemHead,\n StyledListItemHeadContent,\n StyledListItemHeadIndicator,\n StyledListItemHeadLeftElements,\n StyledListItemHeadLeftWrapper,\n StyledListItemHeadSubtitle,\n StyledListItemHeadTitle,\n StyledMotionListItemHeadHoverItem,\n StyledMotionListItemHeadHoverItemWrapper,\n} from './ListItemHead.styles';\nimport ListItemTitle from './list-item-title/ListItemTitle';\nimport ListItemSubtitle from './list-item-subtitle/ListItemSubtitle';\nimport ListItemRightElement from './list-item-right-element/ListItemRightElement';\nimport { useTheme } from 'styled-components';\nimport type { Theme } from '../../../color-scheme-provider/ColorSchemeProvider';\nimport { StyledUnicodeIcon } from '../../../icon/Icon.styles';\nimport { getIsExpandableIcon } from '../../../../utils/icon';\n\ntype ListItemHeadProps = {\n careOfLocationId?: number;\n cornerImage?: string;\n hoverItem?: ReactNode;\n icons?: string[];\n imageBackground?: CSSProperties['background'];\n images?: string[];\n isAnyItemExpandable: boolean;\n isExpandable: boolean;\n isOpen: boolean;\n isTitleGreyed?: boolean;\n leftElements?: ReactNode;\n onClick?: MouseEventHandler<HTMLDivElement>;\n onLongPress?: TouchEventHandler<HTMLDivElement>;\n rightElements?: IListItemRightElements;\n shouldHideImageOrIconBackground?: boolean;\n shouldHideIndicator?: boolean;\n shouldOpenImageOnClick: boolean;\n shouldShowRoundImageOrIcon?: boolean;\n subtitle?: ReactNode;\n title: ReactNode;\n titleElement?: ReactNode;\n shouldForceHover?: boolean;\n setShouldEnableTooltip: (value: boolean) => void;\n shouldDisableAnimation?: boolean;\n cornerElement?: ReactNode;\n onTitleWidthChange: (titleWidth: number, titleMaxWidth: number) => void;\n onImageError?: (event: SyntheticEvent<HTMLImageElement, Event>, index: number) => void;\n};\n\nconst ListItemHead: FC<ListItemHeadProps> = ({\n careOfLocationId,\n cornerImage,\n hoverItem,\n icons,\n imageBackground,\n images,\n isAnyItemExpandable,\n isExpandable,\n isOpen,\n isTitleGreyed,\n leftElements,\n onClick,\n onLongPress,\n rightElements,\n shouldHideImageOrIconBackground,\n shouldHideIndicator,\n shouldOpenImageOnClick,\n shouldShowRoundImageOrIcon,\n subtitle,\n shouldForceHover,\n title,\n titleElement,\n setShouldEnableTooltip,\n shouldDisableAnimation = false,\n cornerElement,\n onTitleWidthChange,\n onImageError,\n}) => {\n const [shouldShowHoverItem, setShouldShowHoverItem] = useState(false);\n const [titleMaxWidth, setTitleMaxWidth] = useState(0);\n const [titleWidth, setTitleWidth] = useState(0);\n\n const longPressTimeoutRef = useRef<number>();\n const resizeSkipRef = useRef(true);\n const leftElementRef = useRef<HTMLDivElement>(null);\n\n const theme = useTheme() as Theme;\n\n const shouldShowSubtitleRow =\n subtitle ||\n typeof subtitle === 'string' ||\n (typeof rightElements === 'object' && rightElements && 'bottom' in rightElements);\n\n const shouldShowMultilineTitle = useMemo(() => !subtitle, [subtitle]);\n\n useEffect(() => {\n window.setTimeout(() => {\n resizeSkipRef.current = false;\n }, 200);\n }, []);\n\n useEffect(() => {\n onTitleWidthChange(titleWidth, titleMaxWidth);\n }, [onTitleWidthChange, titleMaxWidth, titleWidth]);\n\n const handleShowTooltipResize = useCallback(\n (entries: ResizeObserverEntry[]) => {\n setTitleWidth(entries[0]?.target.clientWidth ?? 0);\n\n if (resizeSkipRef.current) {\n return;\n }\n\n const el = entries[0]?.target;\n if (!el) return;\n setShouldEnableTooltip(el.scrollWidth > el.clientWidth);\n },\n [setShouldEnableTooltip],\n );\n\n const handleMouseEnter = useCallback(() => setShouldShowHoverItem(true), []);\n\n const handleMouseLeave = useCallback(() => setShouldShowHoverItem(false), []);\n\n const handleTouchStart = useCallback<TouchEventHandler<HTMLDivElement>>(\n (event) => {\n longPressTimeoutRef.current = window.setTimeout(() => {\n if (typeof onLongPress === 'function') {\n onLongPress(event);\n }\n }, 400);\n },\n [onLongPress],\n );\n\n const handleTouchEnd = useCallback(() => {\n clearTimeout(longPressTimeoutRef.current);\n }, []);\n\n const handleTitleWidthChange = useCallback((width: number) => {\n setTitleMaxWidth(width);\n }, []);\n\n const iconOrImageElement = useMemo(() => {\n if (icons) {\n return (\n <ListItemIcon\n icons={icons}\n shouldHideBackground={!!shouldHideImageOrIconBackground}\n shouldShowRoundIcon={!!shouldShowRoundImageOrIcon}\n />\n );\n }\n\n if (images) {\n return (\n <ListItemImage\n cornerElement={cornerElement}\n imageBackground={imageBackground}\n careOfLocationId={careOfLocationId}\n cornerImage={cornerImage}\n images={images}\n onImageError={onImageError}\n shouldOpenImageOnClick={shouldOpenImageOnClick}\n shouldHideBackground={!!shouldHideImageOrIconBackground}\n shouldShowRoundImage={!!shouldShowRoundImageOrIcon}\n />\n );\n }\n\n return undefined;\n }, [\n careOfLocationId,\n cornerElement,\n cornerImage,\n icons,\n imageBackground,\n images,\n onImageError,\n shouldHideImageOrIconBackground,\n shouldOpenImageOnClick,\n shouldShowRoundImageOrIcon,\n ]);\n\n const expandIcon = useMemo(() => {\n const internalIcon = getIsExpandableIcon(theme.accordionIcon);\n const internalIconStyle = theme?.iconStyle ? theme.iconStyle : 'fa-regular';\n return <StyledUnicodeIcon $icon={internalIcon} className={internalIconStyle} />;\n }, [theme.accordionIcon, theme.iconStyle]);\n\n return (\n <StyledListItemHead\n as={shouldDisableAnimation ? undefined : motion.div}\n animate={\n shouldDisableAnimation\n ? undefined\n : {\n opacity: isTitleGreyed ? 0.5 : 1,\n }\n }\n initial={shouldDisableAnimation ? undefined : false}\n transition={shouldDisableAnimation ? undefined : { duration: 0.2, type: 'tween' }}\n className=\"beta-chayns-list-item-head\"\n $isClickable={typeof onClick === 'function' || isExpandable}\n $isAnyItemExpandable={isAnyItemExpandable}\n onClick={onClick}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n onTouchStart={typeof onLongPress === 'function' ? handleTouchStart : undefined}\n onTouchEnd={typeof onLongPress === 'function' ? handleTouchEnd : undefined}\n >\n <StyledListItemHeadLeftWrapper>\n {isAnyItemExpandable && (\n <StyledListItemHeadIndicator\n as={shouldDisableAnimation ? undefined : motion.div}\n animate={shouldDisableAnimation ? undefined : { rotate: isOpen ? 90 : 0 }}\n initial={shouldDisableAnimation ? undefined : false}\n transition={shouldDisableAnimation ? undefined : { type: 'tween' }}\n >\n {isExpandable && !shouldHideIndicator && expandIcon}\n </StyledListItemHeadIndicator>\n )}\n {leftElements && (\n <StyledListItemHeadLeftElements ref={leftElementRef} data-left-element=\"true\">\n {leftElements}\n </StyledListItemHeadLeftElements>\n )}\n {iconOrImageElement}\n </StyledListItemHeadLeftWrapper>\n <StyledListItemHeadContent\n $isIconOrImageGiven={iconOrImageElement !== undefined}\n $isOpen={isOpen}\n >\n <LayoutGroup>\n <StyledListItemHeadTitle\n as={shouldDisableAnimation ? undefined : motion.div}\n layout=\"position\"\n >\n <ListItemTitle\n title={title}\n titleElement={titleElement}\n isOpen={isOpen}\n shouldShowMultilineTitle={shouldShowMultilineTitle}\n rightElements={rightElements}\n onTitleWidthChange={handleTitleWidthChange}\n onResize={handleShowTooltipResize}\n />\n </StyledListItemHeadTitle>\n {shouldShowSubtitleRow && (\n <StyledListItemHeadSubtitle>\n <ListItemSubtitle\n subtitle={subtitle}\n isOpen={isOpen}\n rightElements={rightElements}\n />\n </StyledListItemHeadSubtitle>\n )}\n </LayoutGroup>\n </StyledListItemHeadContent>\n <ListItemRightElement rightElements={rightElements} />\n {hoverItem && (\n <StyledMotionListItemHeadHoverItemWrapper\n className=\"beta-chayns-list-item-hover-item\"\n animate={{\n marginLeft: shouldForceHover || shouldShowHoverItem ? 8 : 0,\n opacity: shouldForceHover || shouldShowHoverItem ? 1 : 0,\n width: shouldForceHover || shouldShowHoverItem ? 'auto' : 0,\n }}\n initial={false}\n transition={{ duration: 0.15, type: 'tween' }}\n >\n <StyledMotionListItemHeadHoverItem>\n {hoverItem}\n </StyledMotionListItemHeadHoverItem>\n </StyledMotionListItemHeadHoverItemWrapper>\n )}\n </StyledListItemHead>\n );\n};\n\nListItemHead.displayName = 'ListItemHead';\n\nexport default ListItemHead;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ListItemHead.js","names":["LayoutGroup","motion","React","useCallback","useContext","useEffect","useMemo","useRef","useState","ListItemIcon","ListItemImage","StyledListItemHead","StyledListItemHeadContent","StyledListItemHeadIndicator","StyledListItemHeadLeftWrapper","StyledListItemHeadSubtitle","StyledListItemHeadTitle","StyledListItemHeadTitleInputWrapper","StyledMotionListItemHeadHoverItem","StyledMotionListItemHeadHoverItemWrapper","ListItemTitle","ListItemSubtitle","ListItemRightElement","useTheme","StyledUnicodeIcon","getIsExpandableIcon","Input","AreaContext","ListItemHead","careOfLocationId","cornerImage","hoverItem","icons","imageBackground","images","isAnyItemExpandable","isExpandable","isOpen","isTitleGreyed","leftElements","onClick","onLongPress","rightElements","shouldHideImageOrIconBackground","shouldHideIndicator","shouldOpenImageOnClick","shouldShowRoundImageOrIcon","subtitle","shouldForceHover","title","titleElement","setShouldEnableTooltip","shouldDisableAnimation","cornerElement","onTitleWidthChange","onImageError","onTitleInputChange","titleInputProps","shouldShowHoverItem","setShouldShowHoverItem","titleMaxWidth","setTitleMaxWidth","titleWidth","setTitleWidth","longPressTimeoutRef","resizeSkipRef","theme","areaProvider","hasTitleInput","shouldShowSubtitleRow","shouldShowMultilineTitle","window","setTimeout","current","handleShowTooltipResize","entries","target","clientWidth","el","scrollWidth","handleMouseEnter","handleMouseLeave","handleTouchStart","event","handleTouchEnd","clearTimeout","handleTitleWidthChange","width","handleInputClick","stopPropagation","iconOrImageElement","createElement","shouldHideBackground","shouldShowRoundIcon","shouldShowRoundImage","undefined","expandIcon","internalIcon","accordionIcon","internalIconStyle","iconStyle","$icon","className","as","div","animate","opacity","initial","transition","duration","type","$isClickable","$isAnyItemExpandable","onMouseEnter","onMouseLeave","onTouchStart","onTouchEnd","rotate","$isIconOrImageGiven","$isOpen","layout","Provider","value","shouldChangeColor","_extends","onChange","onResize","marginLeft","displayName"],"sources":["../../../../../../src/components/list/list-item/list-item-head/ListItemHead.tsx"],"sourcesContent":["import { LayoutGroup, motion } from 'motion/react';\nimport React, {\n ChangeEventHandler,\n CSSProperties,\n FC,\n MouseEventHandler,\n ReactNode,\n SyntheticEvent,\n TouchEventHandler,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport type { IListItemRightElements } from '../../../../types/list';\nimport type { InputProps } from '../../../input/Input';\nimport ListItemIcon from './list-item-icon/ListItemIcon';\nimport ListItemImage from './list-item-image/ListItemImage';\nimport {\n StyledListItemHead,\n StyledListItemHeadContent,\n StyledListItemHeadIndicator,\n StyledListItemHeadLeftWrapper,\n StyledListItemHeadSubtitle,\n StyledListItemHeadTitle,\n StyledListItemHeadTitleInputWrapper,\n StyledMotionListItemHeadHoverItem,\n StyledMotionListItemHeadHoverItemWrapper,\n} from './ListItemHead.styles';\nimport ListItemTitle from './list-item-title/ListItemTitle';\nimport ListItemSubtitle from './list-item-subtitle/ListItemSubtitle';\nimport ListItemRightElement from './list-item-right-element/ListItemRightElement';\nimport { useTheme } from 'styled-components';\nimport type { Theme } from '../../../color-scheme-provider/ColorSchemeProvider';\nimport { StyledUnicodeIcon } from '../../../icon/Icon.styles';\nimport { getIsExpandableIcon } from '../../../../utils/icon';\nimport Input from '../../../input/Input';\nimport { AreaContext } from '../../../area-provider/AreaContextProvider';\n\ntype ListItemHeadProps = {\n careOfLocationId?: number;\n cornerImage?: string;\n hoverItem?: ReactNode;\n icons?: string[];\n imageBackground?: CSSProperties['background'];\n images?: string[];\n isAnyItemExpandable: boolean;\n isExpandable: boolean;\n isOpen: boolean;\n isTitleGreyed?: boolean;\n leftElements?: ReactNode;\n onClick?: MouseEventHandler<HTMLDivElement>;\n onLongPress?: TouchEventHandler<HTMLDivElement>;\n rightElements?: IListItemRightElements;\n shouldHideImageOrIconBackground?: boolean;\n shouldHideIndicator?: boolean;\n shouldOpenImageOnClick: boolean;\n shouldShowRoundImageOrIcon?: boolean;\n subtitle?: ReactNode;\n title: ReactNode;\n titleElement?: ReactNode;\n shouldForceHover?: boolean;\n setShouldEnableTooltip: (value: boolean) => void;\n shouldDisableAnimation?: boolean;\n cornerElement?: ReactNode;\n onTitleWidthChange: (titleWidth: number, titleMaxWidth: number) => void;\n onImageError?: (event: SyntheticEvent<HTMLImageElement, Event>, index: number) => void;\n onTitleInputChange?: ChangeEventHandler<HTMLInputElement>;\n titleInputProps?: InputProps;\n};\n\nconst ListItemHead: FC<ListItemHeadProps> = ({\n careOfLocationId,\n cornerImage,\n hoverItem,\n icons,\n imageBackground,\n images,\n isAnyItemExpandable,\n isExpandable,\n isOpen,\n isTitleGreyed,\n leftElements,\n onClick,\n onLongPress,\n rightElements,\n shouldHideImageOrIconBackground,\n shouldHideIndicator,\n shouldOpenImageOnClick,\n shouldShowRoundImageOrIcon,\n subtitle,\n shouldForceHover,\n title,\n titleElement,\n setShouldEnableTooltip,\n shouldDisableAnimation = false,\n cornerElement,\n onTitleWidthChange,\n onImageError,\n onTitleInputChange,\n titleInputProps,\n}) => {\n const [shouldShowHoverItem, setShouldShowHoverItem] = useState(false);\n const [titleMaxWidth, setTitleMaxWidth] = useState(0);\n const [titleWidth, setTitleWidth] = useState(0);\n\n const longPressTimeoutRef = useRef<number>();\n const resizeSkipRef = useRef(true);\n\n const theme = useTheme() as Theme;\n const areaProvider = useContext(AreaContext);\n\n const hasTitleInput = typeof onTitleInputChange === 'function';\n\n const shouldShowSubtitleRow =\n (!hasTitleInput && (subtitle || typeof subtitle === 'string')) ||\n (typeof rightElements === 'object' && rightElements && 'bottom' in rightElements);\n\n const shouldShowMultilineTitle = useMemo(\n () => !subtitle && !hasTitleInput,\n [hasTitleInput, subtitle],\n );\n\n useEffect(() => {\n window.setTimeout(() => {\n resizeSkipRef.current = false;\n }, 200);\n }, []);\n\n useEffect(() => {\n onTitleWidthChange(titleWidth, titleMaxWidth);\n }, [onTitleWidthChange, titleMaxWidth, titleWidth]);\n\n const handleShowTooltipResize = useCallback(\n (entries: ResizeObserverEntry[]) => {\n setTitleWidth(entries[0]?.target.clientWidth ?? 0);\n\n if (resizeSkipRef.current) {\n return;\n }\n\n const el = entries[0]?.target;\n if (!el) return;\n setShouldEnableTooltip(el.scrollWidth > el.clientWidth);\n },\n [setShouldEnableTooltip],\n );\n\n const handleMouseEnter = useCallback(() => setShouldShowHoverItem(true), []);\n\n const handleMouseLeave = useCallback(() => setShouldShowHoverItem(false), []);\n\n const handleTouchStart = useCallback<TouchEventHandler<HTMLDivElement>>(\n (event) => {\n longPressTimeoutRef.current = window.setTimeout(() => {\n if (typeof onLongPress === 'function') {\n onLongPress(event);\n }\n }, 400);\n },\n [onLongPress],\n );\n\n const handleTouchEnd = useCallback(() => {\n clearTimeout(longPressTimeoutRef.current);\n }, []);\n\n const handleTitleWidthChange = useCallback((width: number) => {\n setTitleMaxWidth(width);\n }, []);\n\n const handleInputClick = useCallback<MouseEventHandler<HTMLDivElement>>((event) => {\n event.stopPropagation();\n }, []);\n\n const iconOrImageElement = useMemo(() => {\n if (icons) {\n return (\n <ListItemIcon\n icons={icons}\n shouldHideBackground={!!shouldHideImageOrIconBackground}\n shouldShowRoundIcon={!!shouldShowRoundImageOrIcon}\n />\n );\n }\n\n if (images) {\n return (\n <ListItemImage\n cornerElement={cornerElement}\n imageBackground={imageBackground}\n careOfLocationId={careOfLocationId}\n cornerImage={cornerImage}\n images={images}\n onImageError={onImageError}\n shouldOpenImageOnClick={shouldOpenImageOnClick}\n shouldHideBackground={!!shouldHideImageOrIconBackground}\n shouldShowRoundImage={!!shouldShowRoundImageOrIcon}\n />\n );\n }\n\n return undefined;\n }, [\n careOfLocationId,\n cornerElement,\n cornerImage,\n icons,\n imageBackground,\n images,\n onImageError,\n shouldHideImageOrIconBackground,\n shouldOpenImageOnClick,\n shouldShowRoundImageOrIcon,\n ]);\n\n const expandIcon = useMemo(() => {\n const internalIcon = getIsExpandableIcon(theme.accordionIcon);\n const internalIconStyle = theme?.iconStyle ? theme.iconStyle : 'fa-regular';\n return <StyledUnicodeIcon $icon={internalIcon} className={internalIconStyle} />;\n }, [theme.accordionIcon, theme.iconStyle]);\n\n return (\n <StyledListItemHead\n as={shouldDisableAnimation ? undefined : motion.div}\n animate={\n shouldDisableAnimation\n ? undefined\n : {\n opacity: isTitleGreyed ? 0.5 : 1,\n }\n }\n initial={shouldDisableAnimation ? undefined : false}\n transition={shouldDisableAnimation ? undefined : { duration: 0.2, type: 'tween' }}\n className=\"beta-chayns-list-item-head\"\n $isClickable={typeof onClick === 'function' || isExpandable}\n $isAnyItemExpandable={isAnyItemExpandable}\n onClick={onClick}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n onTouchStart={typeof onLongPress === 'function' ? handleTouchStart : undefined}\n onTouchEnd={typeof onLongPress === 'function' ? handleTouchEnd : undefined}\n >\n <StyledListItemHeadLeftWrapper>\n {isAnyItemExpandable && (\n <StyledListItemHeadIndicator\n as={shouldDisableAnimation ? undefined : motion.div}\n animate={shouldDisableAnimation ? undefined : { rotate: isOpen ? 90 : 0 }}\n initial={shouldDisableAnimation ? undefined : false}\n transition={shouldDisableAnimation ? undefined : { type: 'tween' }}\n >\n {isExpandable && !shouldHideIndicator && expandIcon}\n </StyledListItemHeadIndicator>\n )}\n {leftElements}\n {iconOrImageElement}\n </StyledListItemHeadLeftWrapper>\n <StyledListItemHeadContent\n $isIconOrImageGiven={iconOrImageElement !== undefined}\n $isOpen={isOpen}\n >\n <LayoutGroup>\n <StyledListItemHeadTitle\n as={shouldDisableAnimation ? undefined : motion.div}\n layout=\"position\"\n >\n {hasTitleInput ? (\n // eslint-disable-next-line react/jsx-no-constructed-context-values\n <AreaContext.Provider\n value={{ ...areaProvider, shouldChangeColor: true }}\n >\n <StyledListItemHeadTitleInputWrapper onClick={handleInputClick}>\n <Input\n /* eslint-disable-next-line react/jsx-props-no-spreading */\n {...titleInputProps}\n value={typeof title === 'string' ? title : undefined}\n onChange={onTitleInputChange}\n />\n </StyledListItemHeadTitleInputWrapper>\n </AreaContext.Provider>\n ) : (\n <ListItemTitle\n title={title}\n titleElement={titleElement}\n isOpen={isOpen}\n shouldShowMultilineTitle={shouldShowMultilineTitle}\n rightElements={rightElements}\n onTitleWidthChange={handleTitleWidthChange}\n onResize={handleShowTooltipResize}\n />\n )}\n </StyledListItemHeadTitle>\n {shouldShowSubtitleRow && (\n <StyledListItemHeadSubtitle>\n <ListItemSubtitle\n subtitle={subtitle}\n isOpen={isOpen}\n rightElements={rightElements}\n />\n </StyledListItemHeadSubtitle>\n )}\n </LayoutGroup>\n </StyledListItemHeadContent>\n <ListItemRightElement rightElements={rightElements} />\n {hoverItem && (\n <StyledMotionListItemHeadHoverItemWrapper\n className=\"beta-chayns-list-item-hover-item\"\n animate={{\n marginLeft: shouldForceHover || shouldShowHoverItem ? 8 : 0,\n opacity: shouldForceHover || shouldShowHoverItem ? 1 : 0,\n width: shouldForceHover || shouldShowHoverItem ? 'auto' : 0,\n }}\n initial={false}\n transition={{ duration: 0.15, type: 'tween' }}\n >\n <StyledMotionListItemHeadHoverItem>\n {hoverItem}\n </StyledMotionListItemHeadHoverItem>\n </StyledMotionListItemHeadHoverItemWrapper>\n )}\n </StyledListItemHead>\n );\n};\n\nListItemHead.displayName = 'ListItemHead';\n\nexport default ListItemHead;\n"],"mappings":";AAAA,SAASA,WAAW,EAAEC,MAAM,QAAQ,cAAc;AAClD,OAAOC,KAAK,IAQRC,WAAW,EACXC,UAAU,EACVC,SAAS,EACTC,OAAO,EACPC,MAAM,EACNC,QAAQ,QACL,OAAO;AAGd,OAAOC,YAAY,MAAM,+BAA+B;AACxD,OAAOC,aAAa,MAAM,iCAAiC;AAC3D,SACIC,kBAAkB,EAClBC,yBAAyB,EACzBC,2BAA2B,EAC3BC,6BAA6B,EAC7BC,0BAA0B,EAC1BC,uBAAuB,EACvBC,mCAAmC,EACnCC,iCAAiC,EACjCC,wCAAwC,QACrC,uBAAuB;AAC9B,OAAOC,aAAa,MAAM,iCAAiC;AAC3D,OAAOC,gBAAgB,MAAM,uCAAuC;AACpE,OAAOC,oBAAoB,MAAM,gDAAgD;AACjF,SAASC,QAAQ,QAAQ,mBAAmB;AAE5C,SAASC,iBAAiB,QAAQ,2BAA2B;AAC7D,SAASC,mBAAmB,QAAQ,wBAAwB;AAC5D,OAAOC,KAAK,MAAM,sBAAsB;AACxC,SAASC,WAAW,QAAQ,4CAA4C;AAkCxE,MAAMC,YAAmC,GAAGA,CAAC;EACzCC,gBAAgB;EAChBC,WAAW;EACXC,SAAS;EACTC,KAAK;EACLC,eAAe;EACfC,MAAM;EACNC,mBAAmB;EACnBC,YAAY;EACZC,MAAM;EACNC,aAAa;EACbC,YAAY;EACZC,OAAO;EACPC,WAAW;EACXC,aAAa;EACbC,+BAA+B;EAC/BC,mBAAmB;EACnBC,sBAAsB;EACtBC,0BAA0B;EAC1BC,QAAQ;EACRC,gBAAgB;EAChBC,KAAK;EACLC,YAAY;EACZC,sBAAsB;EACtBC,sBAAsB,GAAG,KAAK;EAC9BC,aAAa;EACbC,kBAAkB;EAClBC,YAAY;EACZC,kBAAkB;EAClBC;AACJ,CAAC,KAAK;EACF,MAAM,CAACC,mBAAmB,EAAEC,sBAAsB,CAAC,GAAGnD,QAAQ,CAAC,KAAK,CAAC;EACrE,MAAM,CAACoD,aAAa,EAAEC,gBAAgB,CAAC,GAAGrD,QAAQ,CAAC,CAAC,CAAC;EACrD,MAAM,CAACsD,UAAU,EAAEC,aAAa,CAAC,GAAGvD,QAAQ,CAAC,CAAC,CAAC;EAE/C,MAAMwD,mBAAmB,GAAGzD,MAAM,CAAS,CAAC;EAC5C,MAAM0D,aAAa,GAAG1D,MAAM,CAAC,IAAI,CAAC;EAElC,MAAM2D,KAAK,GAAG3C,QAAQ,CAAC,CAAU;EACjC,MAAM4C,YAAY,GAAG/D,UAAU,CAACuB,WAAW,CAAC;EAE5C,MAAMyC,aAAa,GAAG,OAAOZ,kBAAkB,KAAK,UAAU;EAE9D,MAAMa,qBAAqB,GACtB,CAACD,aAAa,KAAKrB,QAAQ,IAAI,OAAOA,QAAQ,KAAK,QAAQ,CAAC,IAC5D,OAAOL,aAAa,KAAK,QAAQ,IAAIA,aAAa,IAAI,QAAQ,IAAIA,aAAc;EAErF,MAAM4B,wBAAwB,GAAGhE,OAAO,CACpC,MAAM,CAACyC,QAAQ,IAAI,CAACqB,aAAa,EACjC,CAACA,aAAa,EAAErB,QAAQ,CAC5B,CAAC;EAED1C,SAAS,CAAC,MAAM;IACZkE,MAAM,CAACC,UAAU,CAAC,MAAM;MACpBP,aAAa,CAACQ,OAAO,GAAG,KAAK;IACjC,CAAC,EAAE,GAAG,CAAC;EACX,CAAC,EAAE,EAAE,CAAC;EAENpE,SAAS,CAAC,MAAM;IACZiD,kBAAkB,CAACQ,UAAU,EAAEF,aAAa,CAAC;EACjD,CAAC,EAAE,CAACN,kBAAkB,EAAEM,aAAa,EAAEE,UAAU,CAAC,CAAC;EAEnD,MAAMY,uBAAuB,GAAGvE,WAAW,CACtCwE,OAA8B,IAAK;IAChCZ,aAAa,CAACY,OAAO,CAAC,CAAC,CAAC,EAAEC,MAAM,CAACC,WAAW,IAAI,CAAC,CAAC;IAElD,IAAIZ,aAAa,CAACQ,OAAO,EAAE;MACvB;IACJ;IAEA,MAAMK,EAAE,GAAGH,OAAO,CAAC,CAAC,CAAC,EAAEC,MAAM;IAC7B,IAAI,CAACE,EAAE,EAAE;IACT3B,sBAAsB,CAAC2B,EAAE,CAACC,WAAW,GAAGD,EAAE,CAACD,WAAW,CAAC;EAC3D,CAAC,EACD,CAAC1B,sBAAsB,CAC3B,CAAC;EAED,MAAM6B,gBAAgB,GAAG7E,WAAW,CAAC,MAAMwD,sBAAsB,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;EAE5E,MAAMsB,gBAAgB,GAAG9E,WAAW,CAAC,MAAMwD,sBAAsB,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;EAE7E,MAAMuB,gBAAgB,GAAG/E,WAAW,CAC/BgF,KAAK,IAAK;IACPnB,mBAAmB,CAACS,OAAO,GAAGF,MAAM,CAACC,UAAU,CAAC,MAAM;MAClD,IAAI,OAAO/B,WAAW,KAAK,UAAU,EAAE;QACnCA,WAAW,CAAC0C,KAAK,CAAC;MACtB;IACJ,CAAC,EAAE,GAAG,CAAC;EACX,CAAC,EACD,CAAC1C,WAAW,CAChB,CAAC;EAED,MAAM2C,cAAc,GAAGjF,WAAW,CAAC,MAAM;IACrCkF,YAAY,CAACrB,mBAAmB,CAACS,OAAO,CAAC;EAC7C,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMa,sBAAsB,GAAGnF,WAAW,CAAEoF,KAAa,IAAK;IAC1D1B,gBAAgB,CAAC0B,KAAK,CAAC;EAC3B,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,gBAAgB,GAAGrF,WAAW,CAAqCgF,KAAK,IAAK;IAC/EA,KAAK,CAACM,eAAe,CAAC,CAAC;EAC3B,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,kBAAkB,GAAGpF,OAAO,CAAC,MAAM;IACrC,IAAI0B,KAAK,EAAE;MACP,oBACI9B,KAAA,CAAAyF,aAAA,CAAClF,YAAY;QACTuB,KAAK,EAAEA,KAAM;QACb4D,oBAAoB,EAAE,CAAC,CAACjD,+BAAgC;QACxDkD,mBAAmB,EAAE,CAAC,CAAC/C;MAA2B,CACrD,CAAC;IAEV;IAEA,IAAIZ,MAAM,EAAE;MACR,oBACIhC,KAAA,CAAAyF,aAAA,CAACjF,aAAa;QACV2C,aAAa,EAAEA,aAAc;QAC7BpB,eAAe,EAAEA,eAAgB;QACjCJ,gBAAgB,EAAEA,gBAAiB;QACnCC,WAAW,EAAEA,WAAY;QACzBI,MAAM,EAAEA,MAAO;QACfqB,YAAY,EAAEA,YAAa;QAC3BV,sBAAsB,EAAEA,sBAAuB;QAC/C+C,oBAAoB,EAAE,CAAC,CAACjD,+BAAgC;QACxDmD,oBAAoB,EAAE,CAAC,CAAChD;MAA2B,CACtD,CAAC;IAEV;IAEA,OAAOiD,SAAS;EACpB,CAAC,EAAE,CACClE,gBAAgB,EAChBwB,aAAa,EACbvB,WAAW,EACXE,KAAK,EACLC,eAAe,EACfC,MAAM,EACNqB,YAAY,EACZZ,+BAA+B,EAC/BE,sBAAsB,EACtBC,0BAA0B,CAC7B,CAAC;EAEF,MAAMkD,UAAU,GAAG1F,OAAO,CAAC,MAAM;IAC7B,MAAM2F,YAAY,GAAGxE,mBAAmB,CAACyC,KAAK,CAACgC,aAAa,CAAC;IAC7D,MAAMC,iBAAiB,GAAGjC,KAAK,EAAEkC,SAAS,GAAGlC,KAAK,CAACkC,SAAS,GAAG,YAAY;IAC3E,oBAAOlG,KAAA,CAAAyF,aAAA,CAACnE,iBAAiB;MAAC6E,KAAK,EAAEJ,YAAa;MAACK,SAAS,EAAEH;IAAkB,CAAE,CAAC;EACnF,CAAC,EAAE,CAACjC,KAAK,CAACgC,aAAa,EAAEhC,KAAK,CAACkC,SAAS,CAAC,CAAC;EAE1C,oBACIlG,KAAA,CAAAyF,aAAA,CAAChF,kBAAkB;IACf4F,EAAE,EAAEnD,sBAAsB,GAAG2C,SAAS,GAAG9F,MAAM,CAACuG,GAAI;IACpDC,OAAO,EACHrD,sBAAsB,GAChB2C,SAAS,GACT;MACIW,OAAO,EAAEpE,aAAa,GAAG,GAAG,GAAG;IACnC,CACT;IACDqE,OAAO,EAAEvD,sBAAsB,GAAG2C,SAAS,GAAG,KAAM;IACpDa,UAAU,EAAExD,sBAAsB,GAAG2C,SAAS,GAAG;MAAEc,QAAQ,EAAE,GAAG;MAAEC,IAAI,EAAE;IAAQ,CAAE;IAClFR,SAAS,EAAC,4BAA4B;IACtCS,YAAY,EAAE,OAAOvE,OAAO,KAAK,UAAU,IAAIJ,YAAa;IAC5D4E,oBAAoB,EAAE7E,mBAAoB;IAC1CK,OAAO,EAAEA,OAAQ;IACjByE,YAAY,EAAEjC,gBAAiB;IAC/BkC,YAAY,EAAEjC,gBAAiB;IAC/BkC,YAAY,EAAE,OAAO1E,WAAW,KAAK,UAAU,GAAGyC,gBAAgB,GAAGa,SAAU;IAC/EqB,UAAU,EAAE,OAAO3E,WAAW,KAAK,UAAU,GAAG2C,cAAc,GAAGW;EAAU,gBAE3E7F,KAAA,CAAAyF,aAAA,CAAC7E,6BAA6B,QACzBqB,mBAAmB,iBAChBjC,KAAA,CAAAyF,aAAA,CAAC9E,2BAA2B;IACxB0F,EAAE,EAAEnD,sBAAsB,GAAG2C,SAAS,GAAG9F,MAAM,CAACuG,GAAI;IACpDC,OAAO,EAAErD,sBAAsB,GAAG2C,SAAS,GAAG;MAAEsB,MAAM,EAAEhF,MAAM,GAAG,EAAE,GAAG;IAAE,CAAE;IAC1EsE,OAAO,EAAEvD,sBAAsB,GAAG2C,SAAS,GAAG,KAAM;IACpDa,UAAU,EAAExD,sBAAsB,GAAG2C,SAAS,GAAG;MAAEe,IAAI,EAAE;IAAQ;EAAE,GAElE1E,YAAY,IAAI,CAACQ,mBAAmB,IAAIoD,UAChB,CAChC,EACAzD,YAAY,EACZmD,kBAC0B,CAAC,eAChCxF,KAAA,CAAAyF,aAAA,CAAC/E,yBAAyB;IACtB0G,mBAAmB,EAAE5B,kBAAkB,KAAKK,SAAU;IACtDwB,OAAO,EAAElF;EAAO,gBAEhBnC,KAAA,CAAAyF,aAAA,CAAC3F,WAAW,qBACRE,KAAA,CAAAyF,aAAA,CAAC3E,uBAAuB;IACpBuF,EAAE,EAAEnD,sBAAsB,GAAG2C,SAAS,GAAG9F,MAAM,CAACuG,GAAI;IACpDgB,MAAM,EAAC;EAAU,GAEhBpD,aAAa;EAAA;EACV;EACAlE,KAAA,CAAAyF,aAAA,CAAChE,WAAW,CAAC8F,QAAQ;IACjBC,KAAK,EAAE;MAAE,GAAGvD,YAAY;MAAEwD,iBAAiB,EAAE;IAAK;EAAE,gBAEpDzH,KAAA,CAAAyF,aAAA,CAAC1E,mCAAmC;IAACuB,OAAO,EAAEgD;EAAiB,gBAC3DtF,KAAA,CAAAyF,aAAA,CAACjE;EACG,6DAAAkG,QAAA,KACInE,eAAe;IACnBiE,KAAK,EAAE,OAAOzE,KAAK,KAAK,QAAQ,GAAGA,KAAK,GAAG8C,SAAU;IACrD8B,QAAQ,EAAErE;EAAmB,EAChC,CACgC,CACnB,CAAC,gBAEvBtD,KAAA,CAAAyF,aAAA,CAACvE,aAAa;IACV6B,KAAK,EAAEA,KAAM;IACbC,YAAY,EAAEA,YAAa;IAC3Bb,MAAM,EAAEA,MAAO;IACfiC,wBAAwB,EAAEA,wBAAyB;IACnD5B,aAAa,EAAEA,aAAc;IAC7BY,kBAAkB,EAAEgC,sBAAuB;IAC3CwC,QAAQ,EAAEpD;EAAwB,CACrC,CAEgB,CAAC,EACzBL,qBAAqB,iBAClBnE,KAAA,CAAAyF,aAAA,CAAC5E,0BAA0B,qBACvBb,KAAA,CAAAyF,aAAA,CAACtE,gBAAgB;IACb0B,QAAQ,EAAEA,QAAS;IACnBV,MAAM,EAAEA,MAAO;IACfK,aAAa,EAAEA;EAAc,CAChC,CACuB,CAEvB,CACU,CAAC,eAC5BxC,KAAA,CAAAyF,aAAA,CAACrE,oBAAoB;IAACoB,aAAa,EAAEA;EAAc,CAAE,CAAC,EACrDX,SAAS,iBACN7B,KAAA,CAAAyF,aAAA,CAACxE,wCAAwC;IACrCmF,SAAS,EAAC,kCAAkC;IAC5CG,OAAO,EAAE;MACLsB,UAAU,EAAE/E,gBAAgB,IAAIU,mBAAmB,GAAG,CAAC,GAAG,CAAC;MAC3DgD,OAAO,EAAE1D,gBAAgB,IAAIU,mBAAmB,GAAG,CAAC,GAAG,CAAC;MACxD6B,KAAK,EAAEvC,gBAAgB,IAAIU,mBAAmB,GAAG,MAAM,GAAG;IAC9D,CAAE;IACFiD,OAAO,EAAE,KAAM;IACfC,UAAU,EAAE;MAAEC,QAAQ,EAAE,IAAI;MAAEC,IAAI,EAAE;IAAQ;EAAE,gBAE9C5G,KAAA,CAAAyF,aAAA,CAACzE,iCAAiC,QAC7Ba,SAC8B,CACG,CAE9B,CAAC;AAE7B,CAAC;AAEDH,YAAY,CAACoG,WAAW,GAAG,cAAc;AAEzC,eAAepG,YAAY","ignoreList":[]}
@@ -27,10 +27,6 @@ export const StyledListItemHeadLeftWrapper = styled.div`
27
27
  align-items: center;
28
28
  margin: auto 0;
29
29
  `;
30
- export const StyledListItemHeadLeftElements = styled.div`
31
- display: flex;
32
- align-items: center;
33
- `;
34
30
  export const StyledListItemHeadIndicator = styled.div`
35
31
  align-items: center;
36
32
  display: flex;
@@ -58,6 +54,9 @@ export const StyledListItemHeadTitle = styled.div`
58
54
  display: flex;
59
55
  justify-content: space-between;
60
56
  `;
57
+ export const StyledListItemHeadTitleInputWrapper = styled.div`
58
+ width: 100%;
59
+ `;
61
60
  export const StyledListItemHeadTitleContent = styled.div`
62
61
  align-items: center;
63
62
  display: flex;
@@ -1 +1 @@
1
- {"version":3,"file":"ListItemHead.styles.js","names":["motion","styled","css","StyledListItemHead","div","theme","text","$isClickable","$isAnyItemExpandable","StyledListItemHeadLeftWrapper","StyledListItemHeadLeftElements","StyledListItemHeadIndicator","StyledListItemHeadContent","$isOpen","$isIconOrImageGiven","undefined","StyledListItemHeadTitle","StyledListItemHeadTitleContent","StyledListItemHeadSubtitle","StyledMotionListItemHeadHoverItemWrapper","StyledMotionListItemHeadHoverItem"],"sources":["../../../../../../src/components/list/list-item/list-item-head/ListItemHead.styles.ts"],"sourcesContent":["import type { HTMLMotionProps } from 'motion/react';\nimport { motion } from 'motion/react';\nimport styled, { css } from 'styled-components';\nimport type { Theme } from '../../../color-scheme-provider/ColorSchemeProvider';\n\ntype StyledListItemHeadProps = HTMLMotionProps<'div'> & {\n $isClickable: boolean;\n $isAnyItemExpandable: boolean;\n};\n\nexport const StyledListItemHead = styled.div<StyledListItemHeadProps>`\n //align-items: center;\n overflow: hidden;\n color: ${({ theme }: StyledListItemHeadProps & { theme: Theme }) => theme.text};\n display: flex;\n min-height: 64px;\n padding: 12px 9px;\n position: relative;\n width: 100%;\n justify-content: center;\n cursor: ${({ $isClickable }) => ($isClickable ? 'pointer' : 'default')};\n\n ${({ $isAnyItemExpandable }) =>\n !$isAnyItemExpandable &&\n css`\n padding-left: 12px;\n `}\n`;\n\nexport const StyledListItemHeadLeftWrapper = styled.div`\n display: flex;\n align-items: center;\n margin: auto 0;\n`;\n\nexport const StyledListItemHeadLeftElements = styled.div`\n display: flex;\n align-items: center;\n`;\n\ntype StyledListItemHeadIndicatorProps = HTMLMotionProps<'div'>;\n\nexport const StyledListItemHeadIndicator = styled.div<StyledListItemHeadIndicatorProps>`\n align-items: center;\n display: flex;\n flex: 0 0 auto;\n height: 26px;\n justify-content: center;\n width: 26px;\n`;\n\ntype StyledListItemHeadContentProps = {\n $isIconOrImageGiven: boolean;\n $isOpen: boolean;\n};\n\nexport const StyledListItemHeadContent = styled.div<StyledListItemHeadContentProps>`\n display: flex;\n flex: 1 1 auto;\n flex-direction: column;\n font-weight: ${({ $isOpen }) => ($isOpen ? 'bold' : 'normal')};\n justify-content: center;\n line-height: normal;\n margin-left: ${({ $isIconOrImageGiven }) => ($isIconOrImageGiven ? '10px' : undefined)};\n min-width: 0;\n`;\n\ntype StyledListItemHeadTitleProps = HTMLMotionProps<'div'>;\n\nexport const StyledListItemHeadTitle = styled.div<StyledListItemHeadTitleProps>`\n align-items: center;\n display: flex;\n justify-content: space-between;\n`;\n\nexport const StyledListItemHeadTitleContent = styled.div`\n align-items: center;\n display: flex;\n flex: 1 1 auto;\n max-width: 100%;\n min-width: 0;\n position: relative;\n`;\n\nexport const StyledListItemHeadSubtitle = styled.div`\n align-items: center;\n display: flex;\n justify-content: space-between;\n margin-top: 2px;\n`;\n\ntype StyledMotionListItemHeadHoverItemWrapperProps = {\n theme: Theme;\n};\n\nexport const StyledMotionListItemHeadHoverItemWrapper = styled(\n motion.div,\n)<StyledMotionListItemHeadHoverItemWrapperProps>`\n overflow: hidden;\n flex-shrink: 0;\n margin: auto 0;\n position: absolute;\n right: 0;\n\n background: ${({ theme }: StyledMotionListItemHeadHoverItemWrapperProps) =>\n `linear-gradient(to right, transparent 0px, rgb(${theme['000-rgb'] ?? ''}) 40px)`};\n`;\n\nexport const StyledMotionListItemHeadHoverItem = styled.div`\n padding-left: 40px;\n`;\n"],"mappings":"AACA,SAASA,MAAM,QAAQ,cAAc;AACrC,OAAOC,MAAM,IAAIC,GAAG,QAAQ,mBAAmB;AAQ/C,OAAO,MAAMC,kBAAkB,GAAGF,MAAM,CAACG,GAA4B;AACrE;AACA;AACA,aAAa,CAAC;EAAEC;AAAkD,CAAC,KAAKA,KAAK,CAACC,IAAI;AAClF;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,CAAC;EAAEC;AAAa,CAAC,KAAMA,YAAY,GAAG,SAAS,GAAG,SAAU;AAC1E;AACA,MAAM,CAAC;EAAEC;AAAqB,CAAC,KACvB,CAACA,oBAAoB,IACrBN,GAAG;AACX;AACA,SAAS;AACT,CAAC;AAED,OAAO,MAAMO,6BAA6B,GAAGR,MAAM,CAACG,GAAG;AACvD;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAMM,8BAA8B,GAAGT,MAAM,CAACG,GAAG;AACxD;AACA;AACA,CAAC;AAID,OAAO,MAAMO,2BAA2B,GAAGV,MAAM,CAACG,GAAqC;AACvF;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAOD,OAAO,MAAMQ,yBAAyB,GAAGX,MAAM,CAACG,GAAmC;AACnF;AACA;AACA;AACA,mBAAmB,CAAC;EAAES;AAAQ,CAAC,KAAMA,OAAO,GAAG,MAAM,GAAG,QAAS;AACjE;AACA;AACA,mBAAmB,CAAC;EAAEC;AAAoB,CAAC,KAAMA,mBAAmB,GAAG,MAAM,GAAGC,SAAU;AAC1F;AACA,CAAC;AAID,OAAO,MAAMC,uBAAuB,GAAGf,MAAM,CAACG,GAAiC;AAC/E;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAMa,8BAA8B,GAAGhB,MAAM,CAACG,GAAG;AACxD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAMc,0BAA0B,GAAGjB,MAAM,CAACG,GAAG;AACpD;AACA;AACA;AACA;AACA,CAAC;AAMD,OAAO,MAAMe,wCAAwC,GAAGlB,MAAM,CAC1DD,MAAM,CAACI,GACX,CAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,CAAC;EAAEC;AAAqD,CAAC,KACnE,kDAAkDA,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS;AACzF,CAAC;AAED,OAAO,MAAMe,iCAAiC,GAAGnB,MAAM,CAACG,GAAG;AAC3D;AACA,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"ListItemHead.styles.js","names":["motion","styled","css","StyledListItemHead","div","theme","text","$isClickable","$isAnyItemExpandable","StyledListItemHeadLeftWrapper","StyledListItemHeadIndicator","StyledListItemHeadContent","$isOpen","$isIconOrImageGiven","undefined","StyledListItemHeadTitle","StyledListItemHeadTitleInputWrapper","StyledListItemHeadTitleContent","StyledListItemHeadSubtitle","StyledMotionListItemHeadHoverItemWrapper","StyledMotionListItemHeadHoverItem"],"sources":["../../../../../../src/components/list/list-item/list-item-head/ListItemHead.styles.ts"],"sourcesContent":["import type { HTMLMotionProps } from 'motion/react';\nimport { motion } from 'motion/react';\nimport styled, { css } from 'styled-components';\nimport type { Theme } from '../../../color-scheme-provider/ColorSchemeProvider';\n\ntype StyledListItemHeadProps = HTMLMotionProps<'div'> & {\n $isClickable: boolean;\n $isAnyItemExpandable: boolean;\n};\n\nexport const StyledListItemHead = styled.div<StyledListItemHeadProps>`\n //align-items: center;\n overflow: hidden;\n color: ${({ theme }: StyledListItemHeadProps & { theme: Theme }) => theme.text};\n display: flex;\n min-height: 64px;\n padding: 12px 9px;\n position: relative;\n width: 100%;\n justify-content: center;\n cursor: ${({ $isClickable }) => ($isClickable ? 'pointer' : 'default')};\n\n ${({ $isAnyItemExpandable }) =>\n !$isAnyItemExpandable &&\n css`\n padding-left: 12px;\n `}\n`;\n\nexport const StyledListItemHeadLeftWrapper = styled.div`\n display: flex;\n align-items: center;\n margin: auto 0;\n`;\n\ntype StyledListItemHeadIndicatorProps = HTMLMotionProps<'div'>;\n\nexport const StyledListItemHeadIndicator = styled.div<StyledListItemHeadIndicatorProps>`\n align-items: center;\n display: flex;\n flex: 0 0 auto;\n height: 26px;\n justify-content: center;\n width: 26px;\n`;\n\ntype StyledListItemHeadContentProps = {\n $isIconOrImageGiven: boolean;\n $isOpen: boolean;\n};\n\nexport const StyledListItemHeadContent = styled.div<StyledListItemHeadContentProps>`\n display: flex;\n flex: 1 1 auto;\n flex-direction: column;\n font-weight: ${({ $isOpen }) => ($isOpen ? 'bold' : 'normal')};\n justify-content: center;\n line-height: normal;\n margin-left: ${({ $isIconOrImageGiven }) => ($isIconOrImageGiven ? '10px' : undefined)};\n min-width: 0;\n`;\n\ntype StyledListItemHeadTitleProps = HTMLMotionProps<'div'>;\n\nexport const StyledListItemHeadTitle = styled.div<StyledListItemHeadTitleProps>`\n align-items: center;\n display: flex;\n justify-content: space-between;\n`;\n\nexport const StyledListItemHeadTitleInputWrapper = styled.div`\n width: 100%;\n`;\n\nexport const StyledListItemHeadTitleContent = styled.div`\n align-items: center;\n display: flex;\n flex: 1 1 auto;\n max-width: 100%;\n min-width: 0;\n position: relative;\n`;\n\nexport const StyledListItemHeadSubtitle = styled.div`\n align-items: center;\n display: flex;\n justify-content: space-between;\n margin-top: 2px;\n`;\n\ntype StyledMotionListItemHeadHoverItemWrapperProps = {\n theme: Theme;\n};\n\nexport const StyledMotionListItemHeadHoverItemWrapper = styled(\n motion.div,\n)<StyledMotionListItemHeadHoverItemWrapperProps>`\n overflow: hidden;\n flex-shrink: 0;\n margin: auto 0;\n position: absolute;\n right: 0;\n\n background: ${({ theme }: StyledMotionListItemHeadHoverItemWrapperProps) =>\n `linear-gradient(to right, transparent 0px, rgb(${theme['000-rgb'] ?? ''}) 40px)`};\n`;\n\nexport const StyledMotionListItemHeadHoverItem = styled.div`\n padding-left: 40px;\n`;\n"],"mappings":"AACA,SAASA,MAAM,QAAQ,cAAc;AACrC,OAAOC,MAAM,IAAIC,GAAG,QAAQ,mBAAmB;AAQ/C,OAAO,MAAMC,kBAAkB,GAAGF,MAAM,CAACG,GAA4B;AACrE;AACA;AACA,aAAa,CAAC;EAAEC;AAAkD,CAAC,KAAKA,KAAK,CAACC,IAAI;AAClF;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,CAAC;EAAEC;AAAa,CAAC,KAAMA,YAAY,GAAG,SAAS,GAAG,SAAU;AAC1E;AACA,MAAM,CAAC;EAAEC;AAAqB,CAAC,KACvB,CAACA,oBAAoB,IACrBN,GAAG;AACX;AACA,SAAS;AACT,CAAC;AAED,OAAO,MAAMO,6BAA6B,GAAGR,MAAM,CAACG,GAAG;AACvD;AACA;AACA;AACA,CAAC;AAID,OAAO,MAAMM,2BAA2B,GAAGT,MAAM,CAACG,GAAqC;AACvF;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAOD,OAAO,MAAMO,yBAAyB,GAAGV,MAAM,CAACG,GAAmC;AACnF;AACA;AACA;AACA,mBAAmB,CAAC;EAAEQ;AAAQ,CAAC,KAAMA,OAAO,GAAG,MAAM,GAAG,QAAS;AACjE;AACA;AACA,mBAAmB,CAAC;EAAEC;AAAoB,CAAC,KAAMA,mBAAmB,GAAG,MAAM,GAAGC,SAAU;AAC1F;AACA,CAAC;AAID,OAAO,MAAMC,uBAAuB,GAAGd,MAAM,CAACG,GAAiC;AAC/E;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAMY,mCAAmC,GAAGf,MAAM,CAACG,GAAG;AAC7D;AACA,CAAC;AAED,OAAO,MAAMa,8BAA8B,GAAGhB,MAAM,CAACG,GAAG;AACxD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAMc,0BAA0B,GAAGjB,MAAM,CAACG,GAAG;AACpD;AACA;AACA;AACA;AACA,CAAC;AAMD,OAAO,MAAMe,wCAAwC,GAAGlB,MAAM,CAC1DD,MAAM,CAACI,GACX,CAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,CAAC;EAAEC;AAAqD,CAAC,KACnE,kDAAkDA,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS;AACzF,CAAC;AAED,OAAO,MAAMe,iCAAiC,GAAGnB,MAAM,CAACG,GAAG;AAC3D;AACA,CAAC","ignoreList":[]}
@@ -37,6 +37,7 @@ const ListItemImage = ({
37
37
  cornerImage: cornerImage ?? careOfImage,
38
38
  imageBackground: imageBackground,
39
39
  images: images,
40
+ height: 40,
40
41
  onImageError: onImageError,
41
42
  onClick: handleImageClick,
42
43
  shouldPreventBackground: shouldHideBackground,
@@ -1 +1 @@
1
- {"version":3,"file":"ListItemImage.js","names":["MediaType","openMedia","React","useCallback","GroupedImage","ListItemImage","careOfLocationId","cornerImage","imageBackground","images","shouldHideBackground","shouldShowRoundImage","shouldOpenImageOnClick","cornerElement","onImageError","handleImageClick","event","preventDefault","stopPropagation","items","map","image","url","mediaType","IMAGE","startIndex","careOfImage","undefined","createElement","onClick","shouldPreventBackground","displayName"],"sources":["../../../../../../../src/components/list/list-item/list-item-head/list-item-image/ListItemImage.tsx"],"sourcesContent":["import { MediaType, openMedia, OpenMediaItem } from 'chayns-api';\nimport React, {\n CSSProperties,\n MouseEventHandler,\n ReactNode,\n SyntheticEvent,\n useCallback,\n} from 'react';\nimport GroupedImage from '../../../../grouped-image/GroupedImage';\n\ntype ListItemImageProps = {\n careOfLocationId?: number;\n cornerImage?: string;\n imageBackground?: CSSProperties['background'];\n images: string[];\n shouldHideBackground: boolean;\n shouldShowRoundImage: boolean;\n shouldOpenImageOnClick: boolean;\n cornerElement?: ReactNode;\n onImageError?: (event: SyntheticEvent<HTMLImageElement, Event>, index: number) => void;\n};\n\nconst ListItemImage: React.FC<ListItemImageProps> = ({\n careOfLocationId,\n cornerImage,\n imageBackground,\n images,\n shouldHideBackground,\n shouldShowRoundImage,\n shouldOpenImageOnClick,\n cornerElement,\n onImageError,\n}) => {\n const handleImageClick = useCallback<MouseEventHandler<HTMLDivElement>>(\n (event) => {\n if (!shouldOpenImageOnClick) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n\n const items: OpenMediaItem[] = images.map((image) => ({\n url: image,\n mediaType: MediaType.IMAGE,\n }));\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n void openMedia({ items, startIndex: 0 });\n },\n [images, shouldOpenImageOnClick],\n );\n\n if (images && images[0]) {\n const careOfImage = careOfLocationId\n ? `https://sub60.tobit.com/l/${careOfLocationId}?size=128`\n : undefined;\n\n return (\n <GroupedImage\n cornerElement={cornerElement}\n cornerImage={cornerImage ?? careOfImage}\n imageBackground={imageBackground}\n images={images}\n onImageError={onImageError}\n onClick={handleImageClick}\n shouldPreventBackground={shouldHideBackground}\n shouldShowRoundImage={shouldShowRoundImage}\n />\n );\n }\n\n return null;\n};\n\nListItemImage.displayName = 'ListItemImage';\n\nexport default ListItemImage;\n"],"mappings":"AAAA,SAASA,SAAS,EAAEC,SAAS,QAAuB,YAAY;AAChE,OAAOC,KAAK,IAKRC,WAAW,QACR,OAAO;AACd,OAAOC,YAAY,MAAM,wCAAwC;AAcjE,MAAMC,aAA2C,GAAGA,CAAC;EACjDC,gBAAgB;EAChBC,WAAW;EACXC,eAAe;EACfC,MAAM;EACNC,oBAAoB;EACpBC,oBAAoB;EACpBC,sBAAsB;EACtBC,aAAa;EACbC;AACJ,CAAC,KAAK;EACF,MAAMC,gBAAgB,GAAGZ,WAAW,CAC/Ba,KAAK,IAAK;IACP,IAAI,CAACJ,sBAAsB,EAAE;MACzB;IACJ;IAEAI,KAAK,CAACC,cAAc,CAAC,CAAC;IACtBD,KAAK,CAACE,eAAe,CAAC,CAAC;IAEvB,MAAMC,KAAsB,GAAGV,MAAM,CAACW,GAAG,CAAEC,KAAK,KAAM;MAClDC,GAAG,EAAED,KAAK;MACVE,SAAS,EAAEvB,SAAS,CAACwB;IACzB,CAAC,CAAC,CAAC;;IAEH;IACA;IACA,KAAKvB,SAAS,CAAC;MAAEkB,KAAK;MAAEM,UAAU,EAAE;IAAE,CAAC,CAAC;EAC5C,CAAC,EACD,CAAChB,MAAM,EAAEG,sBAAsB,CACnC,CAAC;EAED,IAAIH,MAAM,IAAIA,MAAM,CAAC,CAAC,CAAC,EAAE;IACrB,MAAMiB,WAAW,GAAGpB,gBAAgB,GAC9B,6BAA6BA,gBAAgB,WAAW,GACxDqB,SAAS;IAEf,oBACIzB,KAAA,CAAA0B,aAAA,CAACxB,YAAY;MACTS,aAAa,EAAEA,aAAc;MAC7BN,WAAW,EAAEA,WAAW,IAAImB,WAAY;MACxClB,eAAe,EAAEA,eAAgB;MACjCC,MAAM,EAAEA,MAAO;MACfK,YAAY,EAAEA,YAAa;MAC3Be,OAAO,EAAEd,gBAAiB;MAC1Be,uBAAuB,EAAEpB,oBAAqB;MAC9CC,oBAAoB,EAAEA;IAAqB,CAC9C,CAAC;EAEV;EAEA,OAAO,IAAI;AACf,CAAC;AAEDN,aAAa,CAAC0B,WAAW,GAAG,eAAe;AAE3C,eAAe1B,aAAa","ignoreList":[]}
1
+ {"version":3,"file":"ListItemImage.js","names":["MediaType","openMedia","React","useCallback","GroupedImage","ListItemImage","careOfLocationId","cornerImage","imageBackground","images","shouldHideBackground","shouldShowRoundImage","shouldOpenImageOnClick","cornerElement","onImageError","handleImageClick","event","preventDefault","stopPropagation","items","map","image","url","mediaType","IMAGE","startIndex","careOfImage","undefined","createElement","height","onClick","shouldPreventBackground","displayName"],"sources":["../../../../../../../src/components/list/list-item/list-item-head/list-item-image/ListItemImage.tsx"],"sourcesContent":["import { MediaType, openMedia, OpenMediaItem } from 'chayns-api';\nimport React, {\n CSSProperties,\n MouseEventHandler,\n ReactNode,\n SyntheticEvent,\n useCallback,\n} from 'react';\nimport GroupedImage from '../../../../grouped-image/GroupedImage';\n\ntype ListItemImageProps = {\n careOfLocationId?: number;\n cornerImage?: string;\n imageBackground?: CSSProperties['background'];\n images: string[];\n shouldHideBackground: boolean;\n shouldShowRoundImage: boolean;\n shouldOpenImageOnClick: boolean;\n cornerElement?: ReactNode;\n onImageError?: (event: SyntheticEvent<HTMLImageElement, Event>, index: number) => void;\n};\n\nconst ListItemImage: React.FC<ListItemImageProps> = ({\n careOfLocationId,\n cornerImage,\n imageBackground,\n images,\n shouldHideBackground,\n shouldShowRoundImage,\n shouldOpenImageOnClick,\n cornerElement,\n onImageError,\n}) => {\n const handleImageClick = useCallback<MouseEventHandler<HTMLDivElement>>(\n (event) => {\n if (!shouldOpenImageOnClick) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n\n const items: OpenMediaItem[] = images.map((image) => ({\n url: image,\n mediaType: MediaType.IMAGE,\n }));\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n void openMedia({ items, startIndex: 0 });\n },\n [images, shouldOpenImageOnClick],\n );\n\n if (images && images[0]) {\n const careOfImage = careOfLocationId\n ? `https://sub60.tobit.com/l/${careOfLocationId}?size=128`\n : undefined;\n\n return (\n <GroupedImage\n cornerElement={cornerElement}\n cornerImage={cornerImage ?? careOfImage}\n imageBackground={imageBackground}\n images={images}\n height={40}\n onImageError={onImageError}\n onClick={handleImageClick}\n shouldPreventBackground={shouldHideBackground}\n shouldShowRoundImage={shouldShowRoundImage}\n />\n );\n }\n\n return null;\n};\n\nListItemImage.displayName = 'ListItemImage';\n\nexport default ListItemImage;\n"],"mappings":"AAAA,SAASA,SAAS,EAAEC,SAAS,QAAuB,YAAY;AAChE,OAAOC,KAAK,IAKRC,WAAW,QACR,OAAO;AACd,OAAOC,YAAY,MAAM,wCAAwC;AAcjE,MAAMC,aAA2C,GAAGA,CAAC;EACjDC,gBAAgB;EAChBC,WAAW;EACXC,eAAe;EACfC,MAAM;EACNC,oBAAoB;EACpBC,oBAAoB;EACpBC,sBAAsB;EACtBC,aAAa;EACbC;AACJ,CAAC,KAAK;EACF,MAAMC,gBAAgB,GAAGZ,WAAW,CAC/Ba,KAAK,IAAK;IACP,IAAI,CAACJ,sBAAsB,EAAE;MACzB;IACJ;IAEAI,KAAK,CAACC,cAAc,CAAC,CAAC;IACtBD,KAAK,CAACE,eAAe,CAAC,CAAC;IAEvB,MAAMC,KAAsB,GAAGV,MAAM,CAACW,GAAG,CAAEC,KAAK,KAAM;MAClDC,GAAG,EAAED,KAAK;MACVE,SAAS,EAAEvB,SAAS,CAACwB;IACzB,CAAC,CAAC,CAAC;;IAEH;IACA;IACA,KAAKvB,SAAS,CAAC;MAAEkB,KAAK;MAAEM,UAAU,EAAE;IAAE,CAAC,CAAC;EAC5C,CAAC,EACD,CAAChB,MAAM,EAAEG,sBAAsB,CACnC,CAAC;EAED,IAAIH,MAAM,IAAIA,MAAM,CAAC,CAAC,CAAC,EAAE;IACrB,MAAMiB,WAAW,GAAGpB,gBAAgB,GAC9B,6BAA6BA,gBAAgB,WAAW,GACxDqB,SAAS;IAEf,oBACIzB,KAAA,CAAA0B,aAAA,CAACxB,YAAY;MACTS,aAAa,EAAEA,aAAc;MAC7BN,WAAW,EAAEA,WAAW,IAAImB,WAAY;MACxClB,eAAe,EAAEA,eAAgB;MACjCC,MAAM,EAAEA,MAAO;MACfoB,MAAM,EAAE,EAAG;MACXf,YAAY,EAAEA,YAAa;MAC3BgB,OAAO,EAAEf,gBAAiB;MAC1BgB,uBAAuB,EAAErB,oBAAqB;MAC9CC,oBAAoB,EAAEA;IAAqB,CAC9C,CAAC;EAEV;EAEA,OAAO,IAAI;AACf,CAAC;AAEDN,aAAa,CAAC2B,WAAW,GAAG,eAAe;AAE3C,eAAe3B,aAAa","ignoreList":[]}
@@ -27,7 +27,6 @@ const ListItemRightElement = ({
27
27
  return null;
28
28
  }
29
29
  return /*#__PURE__*/React.createElement(StyledListItemRightElement, {
30
- "data-right-element": "true",
31
30
  onClick: shouldPreventRightElementClick ? handlePreventClick : undefined
32
31
  }, centerElement);
33
32
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ListItemRightElement.js","names":["React","isValidElement","useMemo","StyledListItemRightElement","getElementClickEvent","ListItemRightElement","rightElements","handlePreventClick","event","stopPropagation","preventDefault","centerElement","center","undefined","shouldPreventRightElementClick","createElement","onClick","displayName"],"sources":["../../../../../../../src/components/list/list-item/list-item-head/list-item-right-element/ListItemRightElement.tsx"],"sourcesContent":["import React, { FC, isValidElement, useMemo } from 'react';\nimport type { IListItemRightElement, IListItemRightElements } from '../../../../../types/list';\nimport { StyledListItemRightElement } from './ListItemRightElement.styles';\nimport { getElementClickEvent } from '../../../../../utils/accordion';\n\ntype ListItemRightElementProps = {\n rightElements?: IListItemRightElements;\n};\n\nconst ListItemRightElement: FC<ListItemRightElementProps> = ({ rightElements }) => {\n const handlePreventClick = (event: React.MouseEvent) => {\n event.stopPropagation();\n event.preventDefault();\n };\n\n const centerElement = useMemo(() => {\n if (typeof rightElements === 'string' || isValidElement(rightElements)) {\n return rightElements;\n }\n\n if (typeof rightElements === 'object' && rightElements && 'center' in rightElements) {\n return (rightElements as unknown as IListItemRightElement).center;\n }\n\n return undefined;\n }, [rightElements]);\n\n const shouldPreventRightElementClick = useMemo(() => {\n if (centerElement) {\n return getElementClickEvent(centerElement);\n }\n\n return false;\n }, [centerElement]);\n\n if (!centerElement) {\n return null;\n }\n\n return (\n <StyledListItemRightElement\n data-right-element=\"true\"\n onClick={shouldPreventRightElementClick ? handlePreventClick : undefined}\n >\n {centerElement}\n </StyledListItemRightElement>\n );\n};\n\nListItemRightElement.displayName = 'ListItemRightElement';\n\nexport default ListItemRightElement;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAQC,cAAc,EAAEC,OAAO,QAAQ,OAAO;AAE1D,SAASC,0BAA0B,QAAQ,+BAA+B;AAC1E,SAASC,oBAAoB,QAAQ,gCAAgC;AAMrE,MAAMC,oBAAmD,GAAGA,CAAC;EAAEC;AAAc,CAAC,KAAK;EAC/E,MAAMC,kBAAkB,GAAIC,KAAuB,IAAK;IACpDA,KAAK,CAACC,eAAe,CAAC,CAAC;IACvBD,KAAK,CAACE,cAAc,CAAC,CAAC;EAC1B,CAAC;EAED,MAAMC,aAAa,GAAGT,OAAO,CAAC,MAAM;IAChC,IAAI,OAAOI,aAAa,KAAK,QAAQ,iBAAIL,cAAc,CAACK,aAAa,CAAC,EAAE;MACpE,OAAOA,aAAa;IACxB;IAEA,IAAI,OAAOA,aAAa,KAAK,QAAQ,IAAIA,aAAa,IAAI,QAAQ,IAAIA,aAAa,EAAE;MACjF,OAAQA,aAAa,CAAsCM,MAAM;IACrE;IAEA,OAAOC,SAAS;EACpB,CAAC,EAAE,CAACP,aAAa,CAAC,CAAC;EAEnB,MAAMQ,8BAA8B,GAAGZ,OAAO,CAAC,MAAM;IACjD,IAAIS,aAAa,EAAE;MACf,OAAOP,oBAAoB,CAACO,aAAa,CAAC;IAC9C;IAEA,OAAO,KAAK;EAChB,CAAC,EAAE,CAACA,aAAa,CAAC,CAAC;EAEnB,IAAI,CAACA,aAAa,EAAE;IAChB,OAAO,IAAI;EACf;EAEA,oBACIX,KAAA,CAAAe,aAAA,CAACZ,0BAA0B;IACvB,sBAAmB,MAAM;IACzBa,OAAO,EAAEF,8BAA8B,GAAGP,kBAAkB,GAAGM;EAAU,GAExEF,aACuB,CAAC;AAErC,CAAC;AAEDN,oBAAoB,CAACY,WAAW,GAAG,sBAAsB;AAEzD,eAAeZ,oBAAoB","ignoreList":[]}
1
+ {"version":3,"file":"ListItemRightElement.js","names":["React","isValidElement","useMemo","StyledListItemRightElement","getElementClickEvent","ListItemRightElement","rightElements","handlePreventClick","event","stopPropagation","preventDefault","centerElement","center","undefined","shouldPreventRightElementClick","createElement","onClick","displayName"],"sources":["../../../../../../../src/components/list/list-item/list-item-head/list-item-right-element/ListItemRightElement.tsx"],"sourcesContent":["import React, { FC, isValidElement, useMemo } from 'react';\nimport type { IListItemRightElement, IListItemRightElements } from '../../../../../types/list';\nimport { StyledListItemRightElement } from './ListItemRightElement.styles';\nimport { getElementClickEvent } from '../../../../../utils/accordion';\n\ntype ListItemRightElementProps = {\n rightElements?: IListItemRightElements;\n};\n\nconst ListItemRightElement: FC<ListItemRightElementProps> = ({ rightElements }) => {\n const handlePreventClick = (event: React.MouseEvent) => {\n event.stopPropagation();\n event.preventDefault();\n };\n\n const centerElement = useMemo(() => {\n if (typeof rightElements === 'string' || isValidElement(rightElements)) {\n return rightElements;\n }\n\n if (typeof rightElements === 'object' && rightElements && 'center' in rightElements) {\n return (rightElements as unknown as IListItemRightElement).center;\n }\n\n return undefined;\n }, [rightElements]);\n\n const shouldPreventRightElementClick = useMemo(() => {\n if (centerElement) {\n return getElementClickEvent(centerElement);\n }\n\n return false;\n }, [centerElement]);\n\n if (!centerElement) {\n return null;\n }\n\n return (\n <StyledListItemRightElement\n onClick={shouldPreventRightElementClick ? handlePreventClick : undefined}\n >\n {centerElement}\n </StyledListItemRightElement>\n );\n};\n\nListItemRightElement.displayName = 'ListItemRightElement';\n\nexport default ListItemRightElement;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAQC,cAAc,EAAEC,OAAO,QAAQ,OAAO;AAE1D,SAASC,0BAA0B,QAAQ,+BAA+B;AAC1E,SAASC,oBAAoB,QAAQ,gCAAgC;AAMrE,MAAMC,oBAAmD,GAAGA,CAAC;EAAEC;AAAc,CAAC,KAAK;EAC/E,MAAMC,kBAAkB,GAAIC,KAAuB,IAAK;IACpDA,KAAK,CAACC,eAAe,CAAC,CAAC;IACvBD,KAAK,CAACE,cAAc,CAAC,CAAC;EAC1B,CAAC;EAED,MAAMC,aAAa,GAAGT,OAAO,CAAC,MAAM;IAChC,IAAI,OAAOI,aAAa,KAAK,QAAQ,iBAAIL,cAAc,CAACK,aAAa,CAAC,EAAE;MACpE,OAAOA,aAAa;IACxB;IAEA,IAAI,OAAOA,aAAa,KAAK,QAAQ,IAAIA,aAAa,IAAI,QAAQ,IAAIA,aAAa,EAAE;MACjF,OAAQA,aAAa,CAAsCM,MAAM;IACrE;IAEA,OAAOC,SAAS;EACpB,CAAC,EAAE,CAACP,aAAa,CAAC,CAAC;EAEnB,MAAMQ,8BAA8B,GAAGZ,OAAO,CAAC,MAAM;IACjD,IAAIS,aAAa,EAAE;MACf,OAAOP,oBAAoB,CAACO,aAAa,CAAC;IAC9C;IAEA,OAAO,KAAK;EAChB,CAAC,EAAE,CAACA,aAAa,CAAC,CAAC;EAEnB,IAAI,CAACA,aAAa,EAAE;IAChB,OAAO,IAAI;EACf;EAEA,oBACIX,KAAA,CAAAe,aAAA,CAACZ,0BAA0B;IACvBa,OAAO,EAAEF,8BAA8B,GAAGP,kBAAkB,GAAGM;EAAU,GAExEF,aACuB,CAAC;AAErC,CAAC;AAEDN,oBAAoB,CAACY,WAAW,GAAG,sBAAsB;AAEzD,eAAeZ,oBAAoB","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import React, { useMemo, useRef } from 'react';
1
+ import React, { useMemo } from 'react';
2
2
  import { StyledListItemHeadSubtitleText, StyledListItemSubtitle, StyledListItemBottomRightElement } from './ListItemSubtitle.styles';
3
3
  import { getElementClickEvent } from '../../../../../utils/accordion';
4
4
  const ListItemSubtitle = ({
@@ -6,7 +6,6 @@ const ListItemSubtitle = ({
6
6
  subtitle,
7
7
  isOpen
8
8
  }) => {
9
- const bottomElementRef = useRef(null);
10
9
  const handlePreventClick = event => {
11
10
  event.stopPropagation();
12
11
  event.preventDefault();
@@ -26,8 +25,6 @@ const ListItemSubtitle = ({
26
25
  return /*#__PURE__*/React.createElement(StyledListItemSubtitle, null, /*#__PURE__*/React.createElement(StyledListItemHeadSubtitleText, {
27
26
  $isOpen: isOpen
28
27
  }, subtitle), bottomElement && /*#__PURE__*/React.createElement(StyledListItemBottomRightElement, {
29
- "data-right-element": "true",
30
- ref: bottomElementRef,
31
28
  onClick: shouldPreventRightElementClick ? handlePreventClick : undefined
32
29
  }, bottomElement));
33
30
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ListItemSubtitle.js","names":["React","useMemo","useRef","StyledListItemHeadSubtitleText","StyledListItemSubtitle","StyledListItemBottomRightElement","getElementClickEvent","ListItemSubtitle","rightElements","subtitle","isOpen","bottomElementRef","handlePreventClick","event","stopPropagation","preventDefault","bottomElement","bottom","undefined","shouldPreventRightElementClick","createElement","$isOpen","ref","onClick","displayName"],"sources":["../../../../../../../src/components/list/list-item/list-item-head/list-item-subtitle/ListItemSubtitle.tsx"],"sourcesContent":["import React, { FC, ReactNode, useMemo, useRef } from 'react';\nimport type { IListItemRightElement, IListItemRightElements } from '../../../../../types/list';\nimport {\n StyledListItemHeadSubtitleText,\n StyledListItemSubtitle,\n StyledListItemBottomRightElement,\n} from './ListItemSubtitle.styles';\nimport { getElementClickEvent } from '../../../../../utils/accordion';\n\ntype ListItemSubtitleProps = {\n rightElements?: IListItemRightElements;\n subtitle?: ReactNode;\n isOpen: boolean;\n};\n\nconst ListItemSubtitle: FC<ListItemSubtitleProps> = ({ rightElements, subtitle, isOpen }) => {\n const bottomElementRef = useRef<HTMLDivElement>(null);\n\n const handlePreventClick = (event: React.MouseEvent) => {\n event.stopPropagation();\n event.preventDefault();\n };\n\n const bottomElement = useMemo(() => {\n if (typeof rightElements === 'object' && rightElements && 'bottom' in rightElements) {\n return (rightElements as unknown as IListItemRightElement).bottom;\n }\n\n return undefined;\n }, [rightElements]);\n\n const shouldPreventRightElementClick = useMemo(() => {\n if (bottomElement) {\n return getElementClickEvent(bottomElement);\n }\n\n return false;\n }, [bottomElement]);\n\n return (\n <StyledListItemSubtitle>\n <StyledListItemHeadSubtitleText $isOpen={isOpen}>\n {subtitle}\n </StyledListItemHeadSubtitleText>\n {bottomElement && (\n <StyledListItemBottomRightElement\n data-right-element=\"true\"\n ref={bottomElementRef}\n onClick={shouldPreventRightElementClick ? handlePreventClick : undefined}\n >\n {bottomElement}\n </StyledListItemBottomRightElement>\n )}\n </StyledListItemSubtitle>\n );\n};\n\nListItemSubtitle.displayName = 'ListItemSubtitle';\n\nexport default ListItemSubtitle;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAmBC,OAAO,EAAEC,MAAM,QAAQ,OAAO;AAE7D,SACIC,8BAA8B,EAC9BC,sBAAsB,EACtBC,gCAAgC,QAC7B,2BAA2B;AAClC,SAASC,oBAAoB,QAAQ,gCAAgC;AAQrE,MAAMC,gBAA2C,GAAGA,CAAC;EAAEC,aAAa;EAAEC,QAAQ;EAAEC;AAAO,CAAC,KAAK;EACzF,MAAMC,gBAAgB,GAAGT,MAAM,CAAiB,IAAI,CAAC;EAErD,MAAMU,kBAAkB,GAAIC,KAAuB,IAAK;IACpDA,KAAK,CAACC,eAAe,CAAC,CAAC;IACvBD,KAAK,CAACE,cAAc,CAAC,CAAC;EAC1B,CAAC;EAED,MAAMC,aAAa,GAAGf,OAAO,CAAC,MAAM;IAChC,IAAI,OAAOO,aAAa,KAAK,QAAQ,IAAIA,aAAa,IAAI,QAAQ,IAAIA,aAAa,EAAE;MACjF,OAAQA,aAAa,CAAsCS,MAAM;IACrE;IAEA,OAAOC,SAAS;EACpB,CAAC,EAAE,CAACV,aAAa,CAAC,CAAC;EAEnB,MAAMW,8BAA8B,GAAGlB,OAAO,CAAC,MAAM;IACjD,IAAIe,aAAa,EAAE;MACf,OAAOV,oBAAoB,CAACU,aAAa,CAAC;IAC9C;IAEA,OAAO,KAAK;EAChB,CAAC,EAAE,CAACA,aAAa,CAAC,CAAC;EAEnB,oBACIhB,KAAA,CAAAoB,aAAA,CAAChB,sBAAsB,qBACnBJ,KAAA,CAAAoB,aAAA,CAACjB,8BAA8B;IAACkB,OAAO,EAAEX;EAAO,GAC3CD,QAC2B,CAAC,EAChCO,aAAa,iBACVhB,KAAA,CAAAoB,aAAA,CAACf,gCAAgC;IAC7B,sBAAmB,MAAM;IACzBiB,GAAG,EAAEX,gBAAiB;IACtBY,OAAO,EAAEJ,8BAA8B,GAAGP,kBAAkB,GAAGM;EAAU,GAExEF,aAC6B,CAElB,CAAC;AAEjC,CAAC;AAEDT,gBAAgB,CAACiB,WAAW,GAAG,kBAAkB;AAEjD,eAAejB,gBAAgB","ignoreList":[]}
1
+ {"version":3,"file":"ListItemSubtitle.js","names":["React","useMemo","StyledListItemHeadSubtitleText","StyledListItemSubtitle","StyledListItemBottomRightElement","getElementClickEvent","ListItemSubtitle","rightElements","subtitle","isOpen","handlePreventClick","event","stopPropagation","preventDefault","bottomElement","bottom","undefined","shouldPreventRightElementClick","createElement","$isOpen","onClick","displayName"],"sources":["../../../../../../../src/components/list/list-item/list-item-head/list-item-subtitle/ListItemSubtitle.tsx"],"sourcesContent":["import React, { FC, ReactNode, useMemo } from 'react';\nimport type { IListItemRightElement, IListItemRightElements } from '../../../../../types/list';\nimport {\n StyledListItemHeadSubtitleText,\n StyledListItemSubtitle,\n StyledListItemBottomRightElement,\n} from './ListItemSubtitle.styles';\nimport { getElementClickEvent } from '../../../../../utils/accordion';\n\ntype ListItemSubtitleProps = {\n rightElements?: IListItemRightElements;\n subtitle?: ReactNode;\n isOpen: boolean;\n};\n\nconst ListItemSubtitle: FC<ListItemSubtitleProps> = ({ rightElements, subtitle, isOpen }) => {\n const handlePreventClick = (event: React.MouseEvent) => {\n event.stopPropagation();\n event.preventDefault();\n };\n\n const bottomElement = useMemo(() => {\n if (typeof rightElements === 'object' && rightElements && 'bottom' in rightElements) {\n return (rightElements as unknown as IListItemRightElement).bottom;\n }\n\n return undefined;\n }, [rightElements]);\n\n const shouldPreventRightElementClick = useMemo(() => {\n if (bottomElement) {\n return getElementClickEvent(bottomElement);\n }\n\n return false;\n }, [bottomElement]);\n\n return (\n <StyledListItemSubtitle>\n <StyledListItemHeadSubtitleText $isOpen={isOpen}>\n {subtitle}\n </StyledListItemHeadSubtitleText>\n {bottomElement && (\n <StyledListItemBottomRightElement\n onClick={shouldPreventRightElementClick ? handlePreventClick : undefined}\n >\n {bottomElement}\n </StyledListItemBottomRightElement>\n )}\n </StyledListItemSubtitle>\n );\n};\n\nListItemSubtitle.displayName = 'ListItemSubtitle';\n\nexport default ListItemSubtitle;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAmBC,OAAO,QAAQ,OAAO;AAErD,SACIC,8BAA8B,EAC9BC,sBAAsB,EACtBC,gCAAgC,QAC7B,2BAA2B;AAClC,SAASC,oBAAoB,QAAQ,gCAAgC;AAQrE,MAAMC,gBAA2C,GAAGA,CAAC;EAAEC,aAAa;EAAEC,QAAQ;EAAEC;AAAO,CAAC,KAAK;EACzF,MAAMC,kBAAkB,GAAIC,KAAuB,IAAK;IACpDA,KAAK,CAACC,eAAe,CAAC,CAAC;IACvBD,KAAK,CAACE,cAAc,CAAC,CAAC;EAC1B,CAAC;EAED,MAAMC,aAAa,GAAGb,OAAO,CAAC,MAAM;IAChC,IAAI,OAAOM,aAAa,KAAK,QAAQ,IAAIA,aAAa,IAAI,QAAQ,IAAIA,aAAa,EAAE;MACjF,OAAQA,aAAa,CAAsCQ,MAAM;IACrE;IAEA,OAAOC,SAAS;EACpB,CAAC,EAAE,CAACT,aAAa,CAAC,CAAC;EAEnB,MAAMU,8BAA8B,GAAGhB,OAAO,CAAC,MAAM;IACjD,IAAIa,aAAa,EAAE;MACf,OAAOT,oBAAoB,CAACS,aAAa,CAAC;IAC9C;IAEA,OAAO,KAAK;EAChB,CAAC,EAAE,CAACA,aAAa,CAAC,CAAC;EAEnB,oBACId,KAAA,CAAAkB,aAAA,CAACf,sBAAsB,qBACnBH,KAAA,CAAAkB,aAAA,CAAChB,8BAA8B;IAACiB,OAAO,EAAEV;EAAO,GAC3CD,QAC2B,CAAC,EAChCM,aAAa,iBACVd,KAAA,CAAAkB,aAAA,CAACd,gCAAgC;IAC7BgB,OAAO,EAAEH,8BAA8B,GAAGP,kBAAkB,GAAGM;EAAU,GAExEF,aAC6B,CAElB,CAAC;AAEjC,CAAC;AAEDR,gBAAgB,CAACe,WAAW,GAAG,kBAAkB;AAEjD,eAAef,gBAAgB","ignoreList":[]}
@@ -61,7 +61,6 @@ const ListItemTitle = ({
61
61
  }, title), /*#__PURE__*/React.createElement(StyledListItemHeadTitleElement, {
62
62
  ref: elementWrapperRef
63
63
  }, titleElement)), topElement && /*#__PURE__*/React.createElement(StyledListItemTopRightElement, {
64
- "data-right-element": "true",
65
64
  ref: topElementWrapperRef,
66
65
  onClick: shouldPreventRightElementClick ? handlePreventClick : undefined
67
66
  }, topElement));
@@ -1 +1 @@
1
- {"version":3,"file":"ListItemTitle.js","names":["React","useEffect","useMemo","useRef","StyledListItemHeadTitleElement","StyledListItemHeadTitleText","StyledListItemTitle","StyledListItemTitleLeftWrapper","StyledListItemTopRightElement","getElementClickEvent","ListItemTitle","rightElements","titleElement","title","shouldShowMultilineTitle","isOpen","onResize","onTitleWidthChange","titleWrapperRef","wrapperRef","elementWrapperRef","topElementWrapperRef","element","current","undefined","resizeObserver","ResizeObserver","observe","disconnect","fullWidth","clientWidth","rightElementWidth","topElementWidth","width","handlePreventClick","event","stopPropagation","preventDefault","topElement","top","shouldPreventRightElementClick","createElement","ref","$isEllipsis","$shouldShowMultilineTitle","onClick","displayName"],"sources":["../../../../../../../src/components/list/list-item/list-item-head/list-item-title/ListItemTitle.tsx"],"sourcesContent":["import React, { FC, ReactNode, useEffect, useMemo, useRef } from 'react';\nimport type { IListItemRightElement, IListItemRightElements } from '../../../../../types/list';\nimport {\n StyledListItemHeadTitleElement,\n StyledListItemHeadTitleText,\n StyledListItemTitle,\n StyledListItemTitleLeftWrapper,\n StyledListItemTopRightElement,\n} from './ListItemTitle.styles';\nimport { getElementClickEvent } from '../../../../../utils/accordion';\n\ntype ListItemTitleProps = {\n rightElements?: IListItemRightElements;\n title: ReactNode;\n titleElement?: ReactNode;\n shouldShowMultilineTitle: boolean;\n isOpen: boolean;\n onResize?: (entries: ResizeObserverEntry[]) => void;\n onTitleWidthChange: (width: number) => void;\n};\n\nconst ListItemTitle: FC<ListItemTitleProps> = ({\n rightElements,\n titleElement,\n title,\n shouldShowMultilineTitle,\n isOpen,\n onResize,\n onTitleWidthChange,\n}) => {\n const titleWrapperRef = useRef<HTMLDivElement>(null);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const elementWrapperRef = useRef<HTMLDivElement>(null);\n const topElementWrapperRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const element = titleWrapperRef?.current;\n if (!element || typeof onResize !== 'function') return undefined;\n\n const resizeObserver = new ResizeObserver(onResize);\n resizeObserver.observe(element);\n\n return () => resizeObserver.disconnect();\n }, [onResize]);\n\n useEffect(() => {\n if (wrapperRef.current && elementWrapperRef.current) {\n const fullWidth = wrapperRef.current.clientWidth;\n const rightElementWidth = elementWrapperRef.current.clientWidth;\n const topElementWidth = topElementWrapperRef.current?.clientWidth;\n\n let width = fullWidth;\n\n if (rightElementWidth > 0) {\n width -= rightElementWidth + 8;\n }\n\n if (topElementWidth) {\n width -= topElementWidth + 12;\n }\n\n onTitleWidthChange(width);\n }\n }, [onTitleWidthChange]);\n\n const handlePreventClick = (event: React.MouseEvent) => {\n event.stopPropagation();\n event.preventDefault();\n };\n\n const topElement = useMemo(() => {\n if (typeof rightElements === 'object' && rightElements && 'top' in rightElements) {\n return (rightElements as unknown as IListItemRightElement).top;\n }\n\n return undefined;\n }, [rightElements]);\n\n const shouldPreventRightElementClick = useMemo(() => {\n if (topElement) {\n return getElementClickEvent(topElement);\n }\n\n return false;\n }, [topElement]);\n\n return (\n <StyledListItemTitle ref={wrapperRef}>\n <StyledListItemTitleLeftWrapper>\n <StyledListItemHeadTitleText\n $isEllipsis={!isOpen}\n ref={titleWrapperRef}\n $shouldShowMultilineTitle={shouldShowMultilineTitle}\n >\n {title}\n </StyledListItemHeadTitleText>\n <StyledListItemHeadTitleElement ref={elementWrapperRef}>\n {titleElement}\n </StyledListItemHeadTitleElement>\n </StyledListItemTitleLeftWrapper>\n {topElement && (\n <StyledListItemTopRightElement\n data-right-element=\"true\"\n ref={topElementWrapperRef}\n onClick={shouldPreventRightElementClick ? handlePreventClick : undefined}\n >\n {topElement}\n </StyledListItemTopRightElement>\n )}\n </StyledListItemTitle>\n );\n};\n\nListItemTitle.displayName = 'ListItemTitle';\n\nexport default ListItemTitle;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ListItemTitle.js","names":["React","useEffect","useMemo","useRef","StyledListItemHeadTitleElement","StyledListItemHeadTitleText","StyledListItemTitle","StyledListItemTitleLeftWrapper","StyledListItemTopRightElement","getElementClickEvent","ListItemTitle","rightElements","titleElement","title","shouldShowMultilineTitle","isOpen","onResize","onTitleWidthChange","titleWrapperRef","wrapperRef","elementWrapperRef","topElementWrapperRef","element","current","undefined","resizeObserver","ResizeObserver","observe","disconnect","fullWidth","clientWidth","rightElementWidth","topElementWidth","width","handlePreventClick","event","stopPropagation","preventDefault","topElement","top","shouldPreventRightElementClick","createElement","ref","$isEllipsis","$shouldShowMultilineTitle","onClick","displayName"],"sources":["../../../../../../../src/components/list/list-item/list-item-head/list-item-title/ListItemTitle.tsx"],"sourcesContent":["import React, { FC, ReactNode, useEffect, useMemo, useRef } from 'react';\nimport type { IListItemRightElement, IListItemRightElements } from '../../../../../types/list';\nimport {\n StyledListItemHeadTitleElement,\n StyledListItemHeadTitleText,\n StyledListItemTitle,\n StyledListItemTitleLeftWrapper,\n StyledListItemTopRightElement,\n} from './ListItemTitle.styles';\nimport { getElementClickEvent } from '../../../../../utils/accordion';\n\ntype ListItemTitleProps = {\n rightElements?: IListItemRightElements;\n title: ReactNode;\n titleElement?: ReactNode;\n shouldShowMultilineTitle: boolean;\n isOpen: boolean;\n onResize?: (entries: ResizeObserverEntry[]) => void;\n onTitleWidthChange: (width: number) => void;\n};\n\nconst ListItemTitle: FC<ListItemTitleProps> = ({\n rightElements,\n titleElement,\n title,\n shouldShowMultilineTitle,\n isOpen,\n onResize,\n onTitleWidthChange,\n}) => {\n const titleWrapperRef = useRef<HTMLDivElement>(null);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const elementWrapperRef = useRef<HTMLDivElement>(null);\n const topElementWrapperRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const element = titleWrapperRef?.current;\n if (!element || typeof onResize !== 'function') return undefined;\n\n const resizeObserver = new ResizeObserver(onResize);\n resizeObserver.observe(element);\n\n return () => resizeObserver.disconnect();\n }, [onResize]);\n\n useEffect(() => {\n if (wrapperRef.current && elementWrapperRef.current) {\n const fullWidth = wrapperRef.current.clientWidth;\n const rightElementWidth = elementWrapperRef.current.clientWidth;\n const topElementWidth = topElementWrapperRef.current?.clientWidth;\n\n let width = fullWidth;\n\n if (rightElementWidth > 0) {\n width -= rightElementWidth + 8;\n }\n\n if (topElementWidth) {\n width -= topElementWidth + 12;\n }\n\n onTitleWidthChange(width);\n }\n }, [onTitleWidthChange]);\n\n const handlePreventClick = (event: React.MouseEvent) => {\n event.stopPropagation();\n event.preventDefault();\n };\n\n const topElement = useMemo(() => {\n if (typeof rightElements === 'object' && rightElements && 'top' in rightElements) {\n return (rightElements as unknown as IListItemRightElement).top;\n }\n\n return undefined;\n }, [rightElements]);\n\n const shouldPreventRightElementClick = useMemo(() => {\n if (topElement) {\n return getElementClickEvent(topElement);\n }\n\n return false;\n }, [topElement]);\n\n return (\n <StyledListItemTitle ref={wrapperRef}>\n <StyledListItemTitleLeftWrapper>\n <StyledListItemHeadTitleText\n $isEllipsis={!isOpen}\n ref={titleWrapperRef}\n $shouldShowMultilineTitle={shouldShowMultilineTitle}\n >\n {title}\n </StyledListItemHeadTitleText>\n <StyledListItemHeadTitleElement ref={elementWrapperRef}>\n {titleElement}\n </StyledListItemHeadTitleElement>\n </StyledListItemTitleLeftWrapper>\n {topElement && (\n <StyledListItemTopRightElement\n ref={topElementWrapperRef}\n onClick={shouldPreventRightElementClick ? handlePreventClick : undefined}\n >\n {topElement}\n </StyledListItemTopRightElement>\n )}\n </StyledListItemTitle>\n );\n};\n\nListItemTitle.displayName = 'ListItemTitle';\n\nexport default ListItemTitle;\n"],"mappings":"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","ignoreList":[]}
@@ -5,13 +5,6 @@ import { MentionFinderPopupAlignment } from '../../constants/mentionFinder';
5
5
  import MentionFinderItem from './mention-finder-item/MentionFinderItem';
6
6
  import { StyledMentionFinder, StyledMentionFinderDragHandle, StyledMentionFinderDragHandleInner, StyledMentionFinderItemList, StyledMentionFinderOverlay, StyledMotionMentionFinderPopup } from './MentionFinder.styles';
7
7
  const DRAG_CLOSE_THRESHOLD_IN_PX = 60;
8
- const isTextInputElement = element => {
9
- if (!element) {
10
- return false;
11
- }
12
- const tagName = element.tagName.toLowerCase();
13
- return tagName === 'input' && element.type !== 'button' || tagName === 'textarea' || element.isContentEditable;
14
- };
15
8
  const findTouchByIdentifier = (touchList, identifier) => {
16
9
  if (identifier === null) {
17
10
  return null;
@@ -38,7 +31,6 @@ const MentionFinder = ({
38
31
  const [shouldShowPopup, setShouldShowPopup] = useState(true);
39
32
  const popupRef = useRef(null);
40
33
  const listRef = useRef(null);
41
- const inputElementRef = useRef(null);
42
34
  const dragStartYRef = useRef(null);
43
35
  const hasTriggeredDragCloseRef = useRef(false);
44
36
  const activePointerIdRef = useRef(null);
@@ -57,19 +49,7 @@ const MentionFinder = ({
57
49
  info,
58
50
  name
59
51
  }) => id.toLowerCase().includes(searchString) || info?.replace('chayns', '').toLowerCase().includes(searchString) || name.toLowerCase().includes(searchString)) : members, [members, searchString]);
60
- const shouldRenderPopup = shouldShowPopup && !!fullMatch && filteredMembers.length > 0;
61
- const handleContainerBlur = useCallback(event => {
62
- const nextFocusedElement = event.relatedTarget;
63
- const currentContainer = event.currentTarget;
64
- if (!nextFocusedElement || !currentContainer.contains(nextFocusedElement) && !popupRef.current?.contains(nextFocusedElement)) {
65
- setShouldShowPopup(false);
66
- }
67
- }, []);
68
52
  const handleKeyDown = useCallback(event => {
69
- const targetElement = event.target;
70
- if (isTextInputElement(targetElement)) {
71
- inputElementRef.current = targetElement;
72
- }
73
53
  if ((event.key === 'ArrowUp' || event.key === 'ArrowDown') && shouldRenderPopup) {
74
54
  event.preventDefault();
75
55
  const children = listRef.current?.children;
@@ -95,15 +75,8 @@ const MentionFinder = ({
95
75
  member: activeMember
96
76
  });
97
77
  }
98
- } else if (event.key === 'Escape' && shouldRenderPopup) {
99
- event.preventDefault();
100
- event.stopPropagation();
101
- setShouldShowPopup(false);
102
- window.requestAnimationFrame(() => {
103
- inputElementRef.current?.focus();
104
- });
105
78
  }
106
- }, [activeMember, filteredMembers, focusedIndex, fullMatch, onSelect, shouldRenderPopup]);
79
+ }, [activeMember, filteredMembers, focusedIndex, fullMatch, onSelect]);
107
80
  const handleMemberClick = useCallback(member => {
108
81
  if (fullMatch) {
109
82
  onSelect({
@@ -138,15 +111,6 @@ const MentionFinder = ({
138
111
  hasTriggeredDragCloseRef.current = false;
139
112
  setShouldShowPopup(true);
140
113
  }, [inputValue]);
141
- useEffect(() => {
142
- if (!shouldRenderPopup) {
143
- return;
144
- }
145
- const activeElement = document.activeElement;
146
- if (isTextInputElement(activeElement)) {
147
- inputElementRef.current = activeElement;
148
- }
149
- }, [shouldRenderPopup]);
150
114
  useEffect(() => {
151
115
  if (shouldShowPopup) {
152
116
  window.addEventListener('keydown', handleKeyDown, true);
@@ -317,6 +281,7 @@ const MentionFinder = ({
317
281
  onTouchCancel: handleDragTouchCancel
318
282
  }));
319
283
  }, [enableDragHandle, popupAlignment, dragOffset, dragProgress, isDraggingHandle, handleDragPointerDown, handleDragPointerMove, handleDragPointerUp, handleDragPointerCancel, handleDragTouchStart, handleDragTouchMove, handleDragTouchEnd, handleDragTouchCancel]);
284
+ const shouldRenderPopup = shouldShowPopup && fullMatch && items.length > 0;
320
285
  useEffect(() => {
321
286
  if (!enableDragHandle || !shouldRenderPopup) {
322
287
  setOverlayContainer(null);
@@ -347,8 +312,7 @@ const MentionFinder = ({
347
312
  onClick: handleOverlayClick
348
313
  })), overlayContainer) : null;
349
314
  return /*#__PURE__*/React.createElement(React.Fragment, null, overlayPortal, /*#__PURE__*/React.createElement(StyledMentionFinder, {
350
- className: "beta-chayns-mention-finder",
351
- onBlur: handleContainerBlur
315
+ className: "beta-chayns-mention-finder"
352
316
  }, /*#__PURE__*/React.createElement(AnimatePresence, {
353
317
  initial: false
354
318
  }, shouldRenderPopup && /*#__PURE__*/React.createElement(StyledMotionMentionFinderPopup, {