intergalactic 15.122.0 → 15.124.0-prerelease.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (584) hide show
  1. package/CHANGELOG.md +62 -0
  2. package/accordion/lib/cjs/Accordion.js +9 -9
  3. package/accordion/lib/es6/Accordion.js +9 -9
  4. package/accordion/package.json +1 -1
  5. package/add-filter/AddFilter.d.ts +3 -0
  6. package/add-filter/AddFilter.types.d.ts +62 -0
  7. package/add-filter/components/AddFilterDropdown.d.ts +4 -0
  8. package/add-filter/components/AddFilterInput.d.ts +4 -0
  9. package/add-filter/components/AddFilterSelect.d.ts +3 -0
  10. package/add-filter/index.d.ts +3 -0
  11. package/add-filter/index.js +8 -0
  12. package/add-filter/index.mjs +2 -0
  13. package/add-filter/lib/cjs/AddFilter.js +336 -0
  14. package/add-filter/lib/cjs/AddFilter.js.map +1 -0
  15. package/add-filter/lib/cjs/AddFilter.types.js +2 -0
  16. package/add-filter/lib/cjs/AddFilter.types.js.map +1 -0
  17. package/add-filter/lib/cjs/components/AddFilterDropdown.js +92 -0
  18. package/add-filter/lib/cjs/components/AddFilterDropdown.js.map +1 -0
  19. package/add-filter/lib/cjs/components/AddFilterInput.js +87 -0
  20. package/add-filter/lib/cjs/components/AddFilterInput.js.map +1 -0
  21. package/add-filter/lib/cjs/components/AddFilterSelect.js +103 -0
  22. package/add-filter/lib/cjs/components/AddFilterSelect.js.map +1 -0
  23. package/add-filter/lib/cjs/index.js +38 -0
  24. package/add-filter/lib/cjs/index.js.map +1 -0
  25. package/add-filter/lib/cjs/translations/__intergalactic-dynamic-locales.js +39 -0
  26. package/add-filter/lib/cjs/translations/__intergalactic-dynamic-locales.js.map +1 -0
  27. package/add-filter/lib/cjs/translations/de.json +4 -0
  28. package/add-filter/lib/cjs/translations/en.json +5 -0
  29. package/add-filter/lib/cjs/translations/es.json +4 -0
  30. package/add-filter/lib/cjs/translations/fr.json +4 -0
  31. package/add-filter/lib/cjs/translations/it.json +4 -0
  32. package/add-filter/lib/cjs/translations/ja.json +4 -0
  33. package/add-filter/lib/cjs/translations/ko.json +4 -0
  34. package/add-filter/lib/cjs/translations/nl.json +4 -0
  35. package/add-filter/lib/cjs/translations/pl.json +4 -0
  36. package/add-filter/lib/cjs/translations/pt.json +4 -0
  37. package/add-filter/lib/cjs/translations/sv.json +4 -0
  38. package/add-filter/lib/cjs/translations/tr.json +4 -0
  39. package/add-filter/lib/cjs/translations/vi.json +4 -0
  40. package/add-filter/lib/cjs/translations/zh.json +4 -0
  41. package/add-filter/lib/es6/AddFilter.js +328 -0
  42. package/add-filter/lib/es6/AddFilter.js.map +1 -0
  43. package/add-filter/lib/es6/AddFilter.types.js +2 -0
  44. package/add-filter/lib/es6/AddFilter.types.js.map +1 -0
  45. package/add-filter/lib/es6/components/AddFilterDropdown.js +84 -0
  46. package/add-filter/lib/es6/components/AddFilterDropdown.js.map +1 -0
  47. package/add-filter/lib/es6/components/AddFilterInput.js +80 -0
  48. package/add-filter/lib/es6/components/AddFilterInput.js.map +1 -0
  49. package/add-filter/lib/es6/components/AddFilterSelect.js +95 -0
  50. package/add-filter/lib/es6/components/AddFilterSelect.js.map +1 -0
  51. package/add-filter/lib/es6/index.js +4 -0
  52. package/add-filter/lib/es6/index.js.map +1 -0
  53. package/add-filter/lib/es6/translations/__intergalactic-dynamic-locales.js +31 -0
  54. package/add-filter/lib/es6/translations/__intergalactic-dynamic-locales.js.map +1 -0
  55. package/add-filter/lib/es6/translations/de.json +4 -0
  56. package/add-filter/lib/es6/translations/en.json +5 -0
  57. package/add-filter/lib/es6/translations/es.json +4 -0
  58. package/add-filter/lib/es6/translations/fr.json +4 -0
  59. package/add-filter/lib/es6/translations/it.json +4 -0
  60. package/add-filter/lib/es6/translations/ja.json +4 -0
  61. package/add-filter/lib/es6/translations/ko.json +4 -0
  62. package/add-filter/lib/es6/translations/nl.json +4 -0
  63. package/add-filter/lib/es6/translations/pl.json +4 -0
  64. package/add-filter/lib/es6/translations/pt.json +4 -0
  65. package/add-filter/lib/es6/translations/sv.json +4 -0
  66. package/add-filter/lib/es6/translations/tr.json +4 -0
  67. package/add-filter/lib/es6/translations/vi.json +4 -0
  68. package/add-filter/lib/es6/translations/zh.json +4 -0
  69. package/add-filter/lib/types/AddFilter.d.ts +3 -0
  70. package/add-filter/lib/types/AddFilter.types.d.ts +62 -0
  71. package/add-filter/lib/types/components/AddFilterDropdown.d.ts +4 -0
  72. package/add-filter/lib/types/components/AddFilterInput.d.ts +4 -0
  73. package/add-filter/lib/types/components/AddFilterSelect.d.ts +3 -0
  74. package/add-filter/lib/types/index.d.ts +3 -0
  75. package/add-filter/lib/types/translations/__intergalactic-dynamic-locales.d.ts +59 -0
  76. package/add-filter/package.json +1 -0
  77. package/add-filter/translations/__intergalactic-dynamic-locales.d.ts +59 -0
  78. package/animation/lib/cjs/Animation.js +11 -11
  79. package/animation/lib/cjs/Collapse.js +28 -28
  80. package/animation/lib/cjs/FadeInOut.js +28 -28
  81. package/animation/lib/cjs/Scale.js +28 -28
  82. package/animation/lib/cjs/Slide.js +28 -28
  83. package/animation/lib/cjs/Transform.js +28 -28
  84. package/animation/lib/es6/Animation.js +11 -11
  85. package/animation/lib/es6/Collapse.js +28 -28
  86. package/animation/lib/es6/FadeInOut.js +28 -28
  87. package/animation/lib/es6/Scale.js +28 -28
  88. package/animation/lib/es6/Slide.js +28 -28
  89. package/animation/lib/es6/Transform.js +28 -28
  90. package/animation/package.json +1 -1
  91. package/badge/lib/cjs/Badge.js +6 -6
  92. package/badge/lib/es6/Badge.js +6 -6
  93. package/badge/package.json +1 -1
  94. package/base-trigger/lib/cjs/BaseTrigger.js +18 -18
  95. package/base-trigger/lib/cjs/ButtonTrigger.js +3 -3
  96. package/base-trigger/lib/cjs/FilterTrigger.js +7 -7
  97. package/base-trigger/lib/cjs/LinkTrigger.js +12 -12
  98. package/base-trigger/lib/es6/BaseTrigger.js +18 -18
  99. package/base-trigger/lib/es6/ButtonTrigger.js +3 -3
  100. package/base-trigger/lib/es6/FilterTrigger.js +7 -7
  101. package/base-trigger/lib/es6/LinkTrigger.js +12 -12
  102. package/base-trigger/package.json +1 -1
  103. package/breadcrumbs/lib/cjs/Breadcrumbs.js +8 -8
  104. package/breadcrumbs/lib/es6/Breadcrumbs.js +8 -8
  105. package/breadcrumbs/package.json +1 -1
  106. package/breakpoints/package.json +1 -1
  107. package/bulk-textarea/BulkTextarea.d.ts +3 -0
  108. package/bulk-textarea/BulkTextarea.types.d.ts +33 -0
  109. package/bulk-textarea/components/ClearAll.d.ts +7 -0
  110. package/bulk-textarea/components/Counter.d.ts +10 -0
  111. package/bulk-textarea/components/ErrorsNavigation.d.ts +15 -0
  112. package/bulk-textarea/components/InputField/InputField.d.ts +98 -0
  113. package/bulk-textarea/components/InputField/InputField.types.d.ts +157 -0
  114. package/bulk-textarea/index.d.ts +3 -0
  115. package/bulk-textarea/index.js +8 -0
  116. package/bulk-textarea/index.mjs +2 -0
  117. package/bulk-textarea/lib/cjs/BulkTextarea.js +318 -0
  118. package/bulk-textarea/lib/cjs/BulkTextarea.js.map +1 -0
  119. package/bulk-textarea/lib/cjs/BulkTextarea.types.js +2 -0
  120. package/bulk-textarea/lib/cjs/BulkTextarea.types.js.map +1 -0
  121. package/bulk-textarea/lib/cjs/components/ClearAll.js +23 -0
  122. package/bulk-textarea/lib/cjs/components/ClearAll.js.map +1 -0
  123. package/bulk-textarea/lib/cjs/components/Counter.js +27 -0
  124. package/bulk-textarea/lib/cjs/components/Counter.js.map +1 -0
  125. package/bulk-textarea/lib/cjs/components/ErrorsNavigation.js +57 -0
  126. package/bulk-textarea/lib/cjs/components/ErrorsNavigation.js.map +1 -0
  127. package/bulk-textarea/lib/cjs/components/InputField/InputField.js +1110 -0
  128. package/bulk-textarea/lib/cjs/components/InputField/InputField.js.map +1 -0
  129. package/bulk-textarea/lib/cjs/components/InputField/InputField.types.js +2 -0
  130. package/bulk-textarea/lib/cjs/components/InputField/InputField.types.js.map +1 -0
  131. package/bulk-textarea/lib/cjs/components/InputField/inputField.shadow.css +160 -0
  132. package/bulk-textarea/lib/cjs/index.js +14 -0
  133. package/bulk-textarea/lib/cjs/index.js.map +1 -0
  134. package/bulk-textarea/lib/cjs/translations/__intergalactic-dynamic-locales.js +39 -0
  135. package/bulk-textarea/lib/cjs/translations/__intergalactic-dynamic-locales.js.map +1 -0
  136. package/bulk-textarea/lib/cjs/translations/de.json +10 -0
  137. package/bulk-textarea/lib/cjs/translations/en.json +10 -0
  138. package/bulk-textarea/lib/cjs/translations/es.json +10 -0
  139. package/bulk-textarea/lib/cjs/translations/fr.json +10 -0
  140. package/bulk-textarea/lib/cjs/translations/it.json +10 -0
  141. package/bulk-textarea/lib/cjs/translations/ja.json +10 -0
  142. package/bulk-textarea/lib/cjs/translations/ko.json +10 -0
  143. package/bulk-textarea/lib/cjs/translations/nl.json +10 -0
  144. package/bulk-textarea/lib/cjs/translations/pl.json +10 -0
  145. package/bulk-textarea/lib/cjs/translations/pt.json +10 -0
  146. package/bulk-textarea/lib/cjs/translations/sv.json +10 -0
  147. package/bulk-textarea/lib/cjs/translations/tr.json +10 -0
  148. package/bulk-textarea/lib/cjs/translations/vi.json +10 -0
  149. package/bulk-textarea/lib/cjs/translations/zh.json +10 -0
  150. package/bulk-textarea/lib/es6/BulkTextarea.js +310 -0
  151. package/bulk-textarea/lib/es6/BulkTextarea.js.map +1 -0
  152. package/bulk-textarea/lib/es6/BulkTextarea.types.js +2 -0
  153. package/bulk-textarea/lib/es6/BulkTextarea.types.js.map +1 -0
  154. package/bulk-textarea/lib/es6/components/ClearAll.js +17 -0
  155. package/bulk-textarea/lib/es6/components/ClearAll.js.map +1 -0
  156. package/bulk-textarea/lib/es6/components/Counter.js +21 -0
  157. package/bulk-textarea/lib/es6/components/Counter.js.map +1 -0
  158. package/bulk-textarea/lib/es6/components/ErrorsNavigation.js +50 -0
  159. package/bulk-textarea/lib/es6/components/ErrorsNavigation.js.map +1 -0
  160. package/bulk-textarea/lib/es6/components/InputField/InputField.js +1104 -0
  161. package/bulk-textarea/lib/es6/components/InputField/InputField.js.map +1 -0
  162. package/bulk-textarea/lib/es6/components/InputField/InputField.types.js +2 -0
  163. package/bulk-textarea/lib/es6/components/InputField/InputField.types.js.map +1 -0
  164. package/bulk-textarea/lib/es6/components/InputField/inputField.shadow.css +160 -0
  165. package/bulk-textarea/lib/es6/index.js +2 -0
  166. package/bulk-textarea/lib/es6/index.js.map +1 -0
  167. package/bulk-textarea/lib/es6/translations/__intergalactic-dynamic-locales.js +31 -0
  168. package/bulk-textarea/lib/es6/translations/__intergalactic-dynamic-locales.js.map +1 -0
  169. package/bulk-textarea/lib/es6/translations/de.json +10 -0
  170. package/bulk-textarea/lib/es6/translations/en.json +10 -0
  171. package/bulk-textarea/lib/es6/translations/es.json +10 -0
  172. package/bulk-textarea/lib/es6/translations/fr.json +10 -0
  173. package/bulk-textarea/lib/es6/translations/it.json +10 -0
  174. package/bulk-textarea/lib/es6/translations/ja.json +10 -0
  175. package/bulk-textarea/lib/es6/translations/ko.json +10 -0
  176. package/bulk-textarea/lib/es6/translations/nl.json +10 -0
  177. package/bulk-textarea/lib/es6/translations/pl.json +10 -0
  178. package/bulk-textarea/lib/es6/translations/pt.json +10 -0
  179. package/bulk-textarea/lib/es6/translations/sv.json +10 -0
  180. package/bulk-textarea/lib/es6/translations/tr.json +10 -0
  181. package/bulk-textarea/lib/es6/translations/vi.json +10 -0
  182. package/bulk-textarea/lib/es6/translations/zh.json +10 -0
  183. package/bulk-textarea/lib/types/BulkTextarea.d.ts +3 -0
  184. package/bulk-textarea/lib/types/BulkTextarea.types.d.ts +33 -0
  185. package/bulk-textarea/lib/types/components/ClearAll.d.ts +7 -0
  186. package/bulk-textarea/lib/types/components/Counter.d.ts +10 -0
  187. package/bulk-textarea/lib/types/components/ErrorsNavigation.d.ts +15 -0
  188. package/bulk-textarea/lib/types/components/InputField/InputField.d.ts +98 -0
  189. package/bulk-textarea/lib/types/components/InputField/InputField.types.d.ts +157 -0
  190. package/bulk-textarea/lib/types/index.d.ts +3 -0
  191. package/bulk-textarea/lib/types/translations/__intergalactic-dynamic-locales.d.ts +142 -0
  192. package/bulk-textarea/package.json +1 -0
  193. package/bulk-textarea/translations/__intergalactic-dynamic-locales.d.ts +142 -0
  194. package/button/lib/cjs/component/Button/Button.js +27 -27
  195. package/button/lib/cjs/component/Button/button.shadow.css +1 -1
  196. package/button/lib/cjs/component/ButtonLink/ButtonLink.js +20 -20
  197. package/button/lib/es6/component/Button/Button.js +27 -27
  198. package/button/lib/es6/component/Button/button.shadow.css +1 -1
  199. package/button/lib/es6/component/ButtonLink/ButtonLink.js +20 -20
  200. package/button/package.json +1 -1
  201. package/card/lib/cjs/Card.js +6 -6
  202. package/card/lib/es6/Card.js +6 -6
  203. package/card/package.json +1 -1
  204. package/carousel/lib/cjs/Carousel.js +21 -21
  205. package/carousel/lib/es6/Carousel.js +21 -21
  206. package/carousel/package.json +1 -1
  207. package/checkbox/lib/cjs/Checkbox.js +18 -18
  208. package/checkbox/lib/es6/Checkbox.js +18 -18
  209. package/checkbox/package.json +1 -1
  210. package/color-picker/lib/cjs/ColorPicker.js +24 -24
  211. package/color-picker/lib/cjs/PaletteManager.js +24 -24
  212. package/color-picker/lib/cjs/components/InputColor.js +24 -24
  213. package/color-picker/lib/es6/ColorPicker.js +24 -24
  214. package/color-picker/lib/es6/PaletteManager.js +24 -24
  215. package/color-picker/lib/es6/components/InputColor.js +24 -24
  216. package/color-picker/package.json +1 -1
  217. package/components.json +75 -73
  218. package/core/package.json +1 -1
  219. package/counter/lib/cjs/Counter.js +11 -11
  220. package/counter/lib/cjs/style/counter.shadow.css +1 -0
  221. package/counter/lib/es6/Counter.js +11 -11
  222. package/counter/lib/es6/style/counter.shadow.css +1 -0
  223. package/counter/package.json +1 -1
  224. package/d3-chart/lib/cjs/Area.js +11 -11
  225. package/d3-chart/lib/cjs/Axis.js +14 -14
  226. package/d3-chart/lib/cjs/Bar.js +16 -16
  227. package/d3-chart/lib/cjs/Bubble.js +12 -12
  228. package/d3-chart/lib/cjs/CompactHorizontalBar.js +16 -16
  229. package/d3-chart/lib/cjs/Donut.js +9 -9
  230. package/d3-chart/lib/cjs/Dots.js +8 -8
  231. package/d3-chart/lib/cjs/HorizontalBar.js +16 -16
  232. package/d3-chart/lib/cjs/Hover.js +3 -3
  233. package/d3-chart/lib/cjs/Line.js +9 -9
  234. package/d3-chart/lib/cjs/Plot.js +3 -3
  235. package/d3-chart/lib/cjs/Radar.js +19 -19
  236. package/d3-chart/lib/cjs/RadialTree.js +12 -12
  237. package/d3-chart/lib/cjs/Reference.js +12 -12
  238. package/d3-chart/lib/cjs/ScatterPlot.js +9 -9
  239. package/d3-chart/lib/cjs/Tooltip.js +9 -9
  240. package/d3-chart/lib/cjs/Venn.js +9 -9
  241. package/d3-chart/lib/cjs/a11y/PlotA11yModule.js +2 -2
  242. package/d3-chart/lib/cjs/a11y/PlotA11yView.js +2 -2
  243. package/d3-chart/lib/cjs/component/ChartLegend/LegendFlex/LegendFlex.js +4 -4
  244. package/d3-chart/lib/cjs/component/ChartLegend/LegendItem/LegendItem.js +17 -17
  245. package/d3-chart/lib/cjs/component/ChartLegend/LegendTable/LegendTable.js +6 -6
  246. package/d3-chart/lib/es6/Area.js +11 -11
  247. package/d3-chart/lib/es6/Axis.js +14 -14
  248. package/d3-chart/lib/es6/Bar.js +16 -16
  249. package/d3-chart/lib/es6/Bubble.js +12 -12
  250. package/d3-chart/lib/es6/CompactHorizontalBar.js +16 -16
  251. package/d3-chart/lib/es6/Donut.js +9 -9
  252. package/d3-chart/lib/es6/Dots.js +8 -8
  253. package/d3-chart/lib/es6/HorizontalBar.js +16 -16
  254. package/d3-chart/lib/es6/Hover.js +3 -3
  255. package/d3-chart/lib/es6/Line.js +9 -9
  256. package/d3-chart/lib/es6/Plot.js +3 -3
  257. package/d3-chart/lib/es6/Radar.js +19 -19
  258. package/d3-chart/lib/es6/RadialTree.js +12 -12
  259. package/d3-chart/lib/es6/Reference.js +12 -12
  260. package/d3-chart/lib/es6/ScatterPlot.js +9 -9
  261. package/d3-chart/lib/es6/Tooltip.js +9 -9
  262. package/d3-chart/lib/es6/Venn.js +9 -9
  263. package/d3-chart/lib/es6/a11y/PlotA11yModule.js +2 -2
  264. package/d3-chart/lib/es6/a11y/PlotA11yView.js +2 -2
  265. package/d3-chart/lib/es6/component/ChartLegend/LegendFlex/LegendFlex.js +4 -4
  266. package/d3-chart/lib/es6/component/ChartLegend/LegendItem/LegendItem.js +17 -17
  267. package/d3-chart/lib/es6/component/ChartLegend/LegendTable/LegendTable.js +6 -6
  268. package/d3-chart/package.json +1 -1
  269. package/data-table/lib/cjs/Body.js +4 -4
  270. package/data-table/lib/cjs/Body.js.map +1 -1
  271. package/data-table/lib/cjs/DataTable.js +36 -36
  272. package/data-table/lib/es6/Body.js +4 -4
  273. package/data-table/lib/es6/Body.js.map +1 -1
  274. package/data-table/lib/es6/DataTable.js +36 -36
  275. package/data-table/package.json +1 -1
  276. package/date-picker/lib/cjs/components/Calendar.js +21 -21
  277. package/date-picker/lib/cjs/components/DateRangeComparatorAbstract.js +29 -29
  278. package/date-picker/lib/cjs/components/InputTrigger.js +31 -30
  279. package/date-picker/lib/cjs/components/InputTrigger.js.map +1 -1
  280. package/date-picker/lib/cjs/components/PickerAbstract.js +29 -29
  281. package/date-picker/lib/cjs/components/RangePickerAbstract.js +29 -29
  282. package/date-picker/lib/es6/components/Calendar.js +21 -21
  283. package/date-picker/lib/es6/components/DateRangeComparatorAbstract.js +29 -29
  284. package/date-picker/lib/es6/components/InputTrigger.js +31 -30
  285. package/date-picker/lib/es6/components/InputTrigger.js.map +1 -1
  286. package/date-picker/lib/es6/components/PickerAbstract.js +29 -29
  287. package/date-picker/lib/es6/components/RangePickerAbstract.js +29 -29
  288. package/date-picker/package.json +1 -1
  289. package/divider/lib/cjs/Divider.js +10 -10
  290. package/divider/lib/es6/Divider.js +10 -10
  291. package/divider/package.json +1 -1
  292. package/dot/lib/cjs/Dot.js +10 -10
  293. package/dot/lib/es6/Dot.js +10 -10
  294. package/dot/package.json +1 -1
  295. package/drag-and-drop/lib/cjs/DragAndDrop.js +17 -17
  296. package/drag-and-drop/lib/es6/DragAndDrop.js +17 -17
  297. package/drag-and-drop/package.json +1 -1
  298. package/dropdown/lib/cjs/Dropdown.js +16 -16
  299. package/dropdown/lib/es6/Dropdown.js +16 -16
  300. package/dropdown/package.json +1 -1
  301. package/dropdown-menu/lib/cjs/DropdownMenu.js +18 -18
  302. package/dropdown-menu/lib/es6/DropdownMenu.js +18 -18
  303. package/dropdown-menu/package.json +1 -1
  304. package/ellipsis/lib/cjs/Ellipsis.js +10 -10
  305. package/ellipsis/lib/es6/Ellipsis.js +10 -10
  306. package/ellipsis/package.json +1 -1
  307. package/errors/lib/cjs/Error.js +9 -9
  308. package/errors/lib/es6/Error.js +9 -9
  309. package/errors/package.json +1 -1
  310. package/feature-popover/lib/cjs/FeaturePopover.js +11 -11
  311. package/feature-popover/lib/es6/FeaturePopover.js +11 -11
  312. package/feature-popover/package.json +1 -1
  313. package/feedback-form/component/feedback-rating/FeedbackRating.type.d.ts +3 -1
  314. package/feedback-form/lib/cjs/FeedbackForm.js +7 -7
  315. package/feedback-form/lib/cjs/component/checkbox-button/CheckboxButton.js +3 -3
  316. package/feedback-form/lib/cjs/component/feedback-rating/FeedbackRating.js +14 -9
  317. package/feedback-form/lib/cjs/component/feedback-rating/FeedbackRating.js.map +1 -1
  318. package/feedback-form/lib/cjs/component/feedback-rating/FeedbackRating.type.js.map +1 -1
  319. package/feedback-form/lib/cjs/component/slider-rating/SliderRating.js +7 -7
  320. package/feedback-form/lib/es6/FeedbackForm.js +7 -7
  321. package/feedback-form/lib/es6/component/checkbox-button/CheckboxButton.js +3 -3
  322. package/feedback-form/lib/es6/component/feedback-rating/FeedbackRating.js +14 -9
  323. package/feedback-form/lib/es6/component/feedback-rating/FeedbackRating.js.map +1 -1
  324. package/feedback-form/lib/es6/component/feedback-rating/FeedbackRating.type.js.map +1 -1
  325. package/feedback-form/lib/es6/component/slider-rating/SliderRating.js +7 -7
  326. package/feedback-form/lib/types/component/feedback-rating/FeedbackRating.type.d.ts +3 -1
  327. package/feedback-form/package.json +1 -1
  328. package/flags/lib/cjs/Flags.js +3 -3
  329. package/flags/lib/es6/Flags.js +3 -3
  330. package/flags/lib/sprites/sprite@1x.css +256 -256
  331. package/flags/lib/sprites/sprite@2x.css +257 -257
  332. package/flags/package.json +1 -1
  333. package/flex-box/lib/cjs/Box/useBox.js +3 -3
  334. package/flex-box/lib/cjs/Flex/useFlex.js +3 -3
  335. package/flex-box/lib/cjs/invalid-state-box/InvalidStateBox.js +2 -2
  336. package/flex-box/lib/cjs/screen-reader-only-box/ScreenReaderOnlyBox.js +2 -2
  337. package/flex-box/lib/es6/Box/useBox.js +3 -3
  338. package/flex-box/lib/es6/Flex/useFlex.js +3 -3
  339. package/flex-box/lib/es6/invalid-state-box/InvalidStateBox.js +2 -2
  340. package/flex-box/lib/es6/screen-reader-only-box/ScreenReaderOnlyBox.js +2 -2
  341. package/flex-box/package.json +1 -1
  342. package/format-text/lib/cjs/FormatText.js +5 -5
  343. package/format-text/lib/es6/FormatText.js +5 -5
  344. package/format-text/package.json +1 -1
  345. package/fullscreen-modal/lib/cjs/FullscreenModal.js +13 -13
  346. package/fullscreen-modal/lib/es6/FullscreenModal.js +13 -13
  347. package/fullscreen-modal/package.json +1 -1
  348. package/grid/lib/cjs/Grid.js +114 -114
  349. package/grid/lib/es6/Grid.js +114 -114
  350. package/grid/package.json +1 -1
  351. package/i18n-unplugin/package.json +1 -1
  352. package/icon/color/Confluence/l/index.js +4 -4
  353. package/icon/color/Confluence/l/index.mjs +4 -4
  354. package/icon/color/Confluence/m/index.js +4 -4
  355. package/icon/color/Confluence/m/index.mjs +4 -4
  356. package/icon/color/Copilot/l/index.d.ts +6 -0
  357. package/icon/color/Copilot/l/index.js +79 -0
  358. package/icon/color/Copilot/l/index.mjs +67 -0
  359. package/icon/color/Copilot/m/index.d.ts +6 -0
  360. package/icon/color/Copilot/m/index.js +79 -0
  361. package/icon/color/Copilot/m/index.mjs +67 -0
  362. package/icon/color/MetaColored/l/index.js +4 -4
  363. package/icon/color/MetaColored/l/index.mjs +4 -4
  364. package/icon/color/MetaColored/m/index.js +4 -4
  365. package/icon/color/MetaColored/m/index.mjs +4 -4
  366. package/icon/color/MicrosoftOffice/l/index.js +10 -10
  367. package/icon/color/MicrosoftOffice/l/index.mjs +10 -10
  368. package/icon/color/MicrosoftOffice/m/index.js +10 -10
  369. package/icon/color/MicrosoftOffice/m/index.mjs +10 -10
  370. package/icon/lib/cjs/Icon.js +5 -5
  371. package/icon/lib/es6/Icon.js +5 -5
  372. package/icon/package.json +1 -1
  373. package/icon/pay/Discover/l/index.js +1 -1
  374. package/icon/pay/Discover/l/index.mjs +1 -1
  375. package/icon/pay/Discover/m/index.js +1 -1
  376. package/icon/pay/Discover/m/index.mjs +1 -1
  377. package/icon/pay/JCB/l/index.js +10 -10
  378. package/icon/pay/JCB/l/index.mjs +10 -10
  379. package/icon/pay/JCB/m/index.js +10 -10
  380. package/icon/pay/JCB/m/index.mjs +10 -10
  381. package/icon/pay/Visa/l/index.js +2 -2
  382. package/icon/pay/Visa/l/index.mjs +2 -2
  383. package/icon/pay/Visa/m/index.js +2 -2
  384. package/icon/pay/Visa/m/index.mjs +2 -2
  385. package/illustration/lib/cjs/index.js +1 -1
  386. package/illustration/lib/es6/index.js +1 -1
  387. package/illustration/package.json +1 -1
  388. package/inline-edit/lib/cjs/InlineEdit.js +4 -4
  389. package/inline-edit/lib/es6/InlineEdit.js +4 -4
  390. package/inline-edit/package.json +1 -1
  391. package/inline-input/lib/cjs/InlineInput.js +14 -14
  392. package/inline-input/lib/es6/InlineInput.js +14 -14
  393. package/inline-input/package.json +1 -1
  394. package/input/lib/cjs/Input.js +17 -17
  395. package/input/lib/es6/Input.js +17 -17
  396. package/input/package.json +1 -1
  397. package/input-mask/InputMask.d.ts +1 -1
  398. package/input-mask/lib/cjs/InputMask.js +6 -6
  399. package/input-mask/lib/cjs/InputMask.js.map +1 -1
  400. package/input-mask/lib/es6/InputMask.js +6 -6
  401. package/input-mask/lib/es6/InputMask.js.map +1 -1
  402. package/input-mask/lib/types/InputMask.d.ts +1 -1
  403. package/input-mask/package.json +1 -1
  404. package/input-number/lib/cjs/InputNumber.js +10 -10
  405. package/input-number/lib/cjs/InputNumber.js.map +1 -1
  406. package/input-number/lib/es6/InputNumber.js +10 -10
  407. package/input-number/lib/es6/InputNumber.js.map +1 -1
  408. package/input-number/package.json +1 -1
  409. package/input-tags/lib/cjs/InputTags.js +12 -12
  410. package/input-tags/lib/es6/InputTags.js +12 -12
  411. package/input-tags/package.json +1 -1
  412. package/link/lib/cjs/Link.js +12 -12
  413. package/link/lib/es6/Link.js +12 -12
  414. package/link/package.json +1 -1
  415. package/mini-chart/lib/cjs/component/score/Donut.js +9 -9
  416. package/mini-chart/lib/cjs/component/score/Line.js +18 -18
  417. package/mini-chart/lib/cjs/component/trend/Bar.js +7 -7
  418. package/mini-chart/lib/cjs/component/trend/Line.js +7 -7
  419. package/mini-chart/lib/es6/component/score/Donut.js +9 -9
  420. package/mini-chart/lib/es6/component/score/Line.js +18 -18
  421. package/mini-chart/lib/es6/component/trend/Bar.js +7 -7
  422. package/mini-chart/lib/es6/component/trend/Line.js +7 -7
  423. package/mini-chart/package.json +1 -1
  424. package/modal/lib/cjs/Modal.js +8 -8
  425. package/modal/lib/es6/Modal.js +8 -8
  426. package/modal/package.json +1 -1
  427. package/neighbor-location/package.json +1 -1
  428. package/notice/lib/cjs/Notice.js +16 -16
  429. package/notice/lib/es6/Notice.js +16 -16
  430. package/notice/package.json +1 -1
  431. package/notice-bubble/lib/cjs/NoticeBubble.js +15 -15
  432. package/notice-bubble/lib/es6/NoticeBubble.js +15 -15
  433. package/notice-bubble/package.json +1 -1
  434. package/notice-global/lib/cjs/NoticeGlobal.js +11 -11
  435. package/notice-global/lib/es6/NoticeGlobal.js +11 -11
  436. package/notice-global/package.json +1 -1
  437. package/outside-click/package.json +1 -1
  438. package/package.json +3 -1
  439. package/pagination/lib/cjs/Pagination.js +10 -10
  440. package/pagination/lib/es6/Pagination.js +10 -10
  441. package/pagination/package.json +1 -1
  442. package/pills/lib/cjs/Pills.js +13 -13
  443. package/pills/lib/es6/Pills.js +13 -13
  444. package/pills/package.json +1 -1
  445. package/popper/index.d.ts +3 -1
  446. package/popper/lib/cjs/Popper.js +16 -6
  447. package/popper/lib/cjs/Popper.js.map +1 -1
  448. package/popper/lib/cjs/createPopper.js +3 -1
  449. package/popper/lib/cjs/createPopper.js.map +1 -1
  450. package/popper/lib/cjs/index.d.js.map +1 -1
  451. package/popper/lib/cjs/modifiers/applyMaxSize.js +34 -0
  452. package/popper/lib/cjs/modifiers/applyMaxSize.js.map +1 -0
  453. package/popper/lib/cjs/style/popper.shadow.css +1 -1
  454. package/popper/lib/es6/Popper.js +16 -6
  455. package/popper/lib/es6/Popper.js.map +1 -1
  456. package/popper/lib/es6/createPopper.js +3 -1
  457. package/popper/lib/es6/createPopper.js.map +1 -1
  458. package/popper/lib/es6/index.d.js.map +1 -1
  459. package/popper/lib/es6/modifiers/applyMaxSize.js +26 -0
  460. package/popper/lib/es6/modifiers/applyMaxSize.js.map +1 -0
  461. package/popper/lib/es6/style/popper.shadow.css +1 -1
  462. package/popper/lib/types/index.d.ts +3 -1
  463. package/popper/package.json +1 -1
  464. package/portal/package.json +1 -1
  465. package/product-head/lib/cjs/Info.js +4 -4
  466. package/product-head/lib/cjs/ProductHead.js +5 -5
  467. package/product-head/lib/cjs/Title.js +4 -4
  468. package/product-head/lib/es6/Info.js +4 -4
  469. package/product-head/lib/es6/ProductHead.js +5 -5
  470. package/product-head/lib/es6/Title.js +4 -4
  471. package/product-head/package.json +1 -1
  472. package/progress-bar/lib/cjs/ProgressBar.js +15 -15
  473. package/progress-bar/lib/es6/ProgressBar.js +15 -15
  474. package/progress-bar/package.json +1 -1
  475. package/radio/lib/cjs/Radio.js +16 -16
  476. package/radio/lib/es6/Radio.js +16 -16
  477. package/radio/package.json +1 -1
  478. package/scroll-area/lib/cjs/ScrollArea.js +21 -21
  479. package/scroll-area/lib/cjs/ScrollBar.js +6 -6
  480. package/scroll-area/lib/es6/ScrollArea.js +21 -21
  481. package/scroll-area/lib/es6/ScrollBar.js +6 -6
  482. package/scroll-area/package.json +1 -1
  483. package/select/lib/cjs/InputSearch.js +6 -6
  484. package/select/lib/cjs/Select.js +8 -8
  485. package/select/lib/es6/InputSearch.js +6 -6
  486. package/select/lib/es6/Select.js +8 -8
  487. package/select/package.json +1 -1
  488. package/side-panel/lib/cjs/SidePanel.js +16 -16
  489. package/side-panel/lib/es6/SidePanel.js +16 -16
  490. package/side-panel/package.json +1 -1
  491. package/skeleton/lib/cjs/Charts/Area.js +9 -9
  492. package/skeleton/lib/cjs/Charts/Bar.js +9 -9
  493. package/skeleton/lib/cjs/Charts/Bubble.js +9 -9
  494. package/skeleton/lib/cjs/Charts/CompactHorizontalBar.js +9 -9
  495. package/skeleton/lib/cjs/Charts/Donut.js +9 -9
  496. package/skeleton/lib/cjs/Charts/Histogram.js +9 -9
  497. package/skeleton/lib/cjs/Charts/Line.js +9 -9
  498. package/skeleton/lib/cjs/Charts/RadialTree.js +9 -9
  499. package/skeleton/lib/cjs/Charts/ScatterPlot.js +9 -9
  500. package/skeleton/lib/cjs/Charts/Venn.js +9 -9
  501. package/skeleton/lib/cjs/Skeleton.js +8 -8
  502. package/skeleton/lib/es6/Charts/Area.js +9 -9
  503. package/skeleton/lib/es6/Charts/Bar.js +9 -9
  504. package/skeleton/lib/es6/Charts/Bubble.js +9 -9
  505. package/skeleton/lib/es6/Charts/CompactHorizontalBar.js +9 -9
  506. package/skeleton/lib/es6/Charts/Donut.js +9 -9
  507. package/skeleton/lib/es6/Charts/Histogram.js +9 -9
  508. package/skeleton/lib/es6/Charts/Line.js +9 -9
  509. package/skeleton/lib/es6/Charts/RadialTree.js +9 -9
  510. package/skeleton/lib/es6/Charts/ScatterPlot.js +9 -9
  511. package/skeleton/lib/es6/Charts/Venn.js +9 -9
  512. package/skeleton/lib/es6/Skeleton.js +8 -8
  513. package/skeleton/package.json +1 -1
  514. package/slider/lib/cjs/Slider.js +8 -8
  515. package/slider/lib/es6/Slider.js +8 -8
  516. package/slider/package.json +1 -1
  517. package/spin/lib/cjs/Spin.js +13 -13
  518. package/spin/lib/es6/Spin.js +13 -13
  519. package/spin/package.json +1 -1
  520. package/spin-container/lib/cjs/SpinContainer.js +42 -12
  521. package/spin-container/lib/cjs/SpinContainer.js.map +1 -1
  522. package/spin-container/lib/es6/SpinContainer.js +42 -12
  523. package/spin-container/lib/es6/SpinContainer.js.map +1 -1
  524. package/spin-container/package.json +1 -1
  525. package/sticky/lib/cjs/Sticky.js +2 -2
  526. package/sticky/lib/es6/Sticky.js +2 -2
  527. package/sticky/package.json +1 -1
  528. package/switch/lib/cjs/Switch.js +21 -21
  529. package/switch/lib/es6/Switch.js +21 -21
  530. package/switch/package.json +1 -1
  531. package/tab-line/lib/cjs/TabLine.js +13 -13
  532. package/tab-line/lib/es6/TabLine.js +13 -13
  533. package/tab-line/package.json +1 -1
  534. package/tab-panel/lib/cjs/TabPanel.js +8 -8
  535. package/tab-panel/lib/es6/TabPanel.js +8 -8
  536. package/tab-panel/package.json +1 -1
  537. package/tag/lib/cjs/Tag.js +23 -23
  538. package/tag/lib/es6/Tag.js +23 -23
  539. package/tag/package.json +1 -1
  540. package/textarea/lib/cjs/Textarea.js +8 -8
  541. package/textarea/lib/es6/Textarea.js +8 -8
  542. package/textarea/package.json +1 -1
  543. package/time-picker/lib/cjs/PickerInput.js +1 -0
  544. package/time-picker/lib/cjs/PickerInput.js.map +1 -1
  545. package/time-picker/lib/cjs/TimePicker.js +12 -12
  546. package/time-picker/lib/es6/PickerInput.js +1 -0
  547. package/time-picker/lib/es6/PickerInput.js.map +1 -1
  548. package/time-picker/lib/es6/TimePicker.js +12 -12
  549. package/time-picker/package.json +1 -1
  550. package/tooltip/lib/cjs/Tooltip.js +9 -9
  551. package/tooltip/lib/es6/Tooltip.js +9 -9
  552. package/tooltip/package.json +1 -1
  553. package/typography/lib/cjs/Blockquote.js +4 -4
  554. package/typography/lib/cjs/Hint.js +7 -7
  555. package/typography/lib/cjs/List.js +5 -5
  556. package/typography/lib/cjs/Text.js +34 -34
  557. package/typography/lib/es6/Blockquote.js +4 -4
  558. package/typography/lib/es6/Hint.js +7 -7
  559. package/typography/lib/es6/List.js +5 -5
  560. package/typography/lib/es6/Text.js +34 -34
  561. package/typography/package.json +1 -1
  562. package/utils/lib/components/invalid-state-pattern/InvalidStatePattern.js +2 -2
  563. package/utils/lib/components/invalid-state-pattern/InvalidStatePattern.mjs +2 -2
  564. package/utils/lib/enhances/WithI18n.js +15 -5
  565. package/utils/lib/enhances/WithI18n.js.map +1 -1
  566. package/utils/lib/enhances/WithI18n.mjs +16 -6
  567. package/utils/lib/enhances/WithI18n.mjs.map +1 -1
  568. package/utils/lib/enhances/i18nEnhance.d.ts +0 -1
  569. package/utils/lib/enhances/i18nEnhance.js +1 -33
  570. package/utils/lib/enhances/i18nEnhance.js.map +1 -1
  571. package/utils/lib/enhances/i18nEnhance.mjs +0 -30
  572. package/utils/lib/enhances/i18nEnhance.mjs.map +1 -1
  573. package/utils/lib/injectStyle.js +1 -1
  574. package/utils/lib/injectStyle.mjs +1 -1
  575. package/utils/lib/inputProps.js +1 -1
  576. package/utils/lib/inputProps.js.map +1 -1
  577. package/utils/lib/inputProps.mjs +1 -1
  578. package/utils/lib/inputProps.mjs.map +1 -1
  579. package/widget-empty/lib/cjs/WidgetEmpty.js +5 -5
  580. package/widget-empty/lib/es6/WidgetEmpty.js +5 -5
  581. package/widget-empty/package.json +1 -1
  582. package/wizard/lib/cjs/Wizard.js +12 -12
  583. package/wizard/lib/es6/Wizard.js +12 -12
  584. package/wizard/package.json +1 -1
@@ -0,0 +1,1110 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.InputField = void 0;
8
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
+ var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/createForOfIteratorHelper"));
10
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
12
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
14
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
+ var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
16
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
+ var _index = require("intergalactic/utils/lib/core/index");
18
+ var _core = require("intergalactic/core");
19
+ var _react = _interopRequireDefault(require("react"));
20
+ var _flexBox = require("intergalactic/flex-box");
21
+ var _tooltip = _interopRequireDefault(require("intergalactic/tooltip"));
22
+ var _ariaProps = require("intergalactic/utils/lib/ariaProps");
23
+ var _uniqueID = _interopRequireDefault(require("intergalactic/utils/lib/uniqueID"));
24
+ var _dompurify = _interopRequireDefault(require("dompurify"));
25
+ /*__reshadow-styles__:"./inputField.shadow.css"*/
26
+ var style = ( /*__reshadow_css_start__*/_index.sstyled.insert( /*__inner_css_start__*/".___SInputField_h7hpq_gg_>div{box-sizing:content-box;outline:0;border-radius:var(--intergalactic-control-rounded, 6px);border-color:var(--intergalactic-border-primary, #c4c7cf);border-style:solid;border-width:1px;overflow:auto;position:relative;color:var(--intergalactic-text-primary, #191b23);word-wrap:break-word;word-break:break-word;font-family:inherit}.___SInputField_h7hpq_gg_>div:empty::before{content:\"1. \"attr(placeholder);color:var(--intergalactic-text-placeholder, #8a8e9b);position:absolute}.___SInputField_h7hpq_gg_>div:nth-child(even){color:red;counter-increment:row;margin-bottom:var(--intergalactic-spacing-1x, 4px);position:relative;word-break:break-all}.___SInputField_h7hpq_gg_>div:nth-child(even)::before{content:counter(row)\".\";display:inline-block;white-space:nowrap;text-align:right;color:var(--intergalactic-text-secondary, #6c6e79);margin-right:var(--intergalactic-spacing-1x, 4px)}.___SInputField_h7hpq_gg_>div>p{counter-increment:row;display:flex;margin:0 0 var(--intergalactic-spacing-1x, 4px)0;position:relative;word-break:break-all;white-space:pre-wrap;padding-right:20px}.___SInputField_h7hpq_gg_>div>p:last-of-type{margin-bottom:0}.___SInputField_h7hpq_gg_>div>p:not(:empty)::before{content:counter(row)\".\";display:inline-block;white-space:nowrap;text-align:right;color:var(--intergalactic-text-secondary, #6c6e79);margin-right:var(--intergalactic-spacing-1x, 4px)}.___SInputField_h7hpq_gg_>div>p[data-over-max-rows=true]{background-color:var(--intergalactic-bg-secondary-critical, #fff0f7)}.___SInputField_h7hpq_gg_>div:has(p:nth-child(n+10))>p:nth-child(-n+9)::before{padding-left:8px}.___SInputField_h7hpq_gg_>div:has(p:nth-child(n+100))>p:nth-child(-n+9)::before{padding-left:16px}.___SInputField_h7hpq_gg_>div:has(p:nth-child(n+100))>p:nth-child(n+10)::before{padding-left:8px}.___SInputField_h7hpq_gg_>div:has(p:nth-child(n+100))>p:nth-child(n+100)::before{padding-left:0}.___SInputField_h7hpq_gg_.__showErrors_h7hpq_gg_>div[aria-invalid]>p[aria-invalid]:after{content:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBmaWxsPSIjZDEwMDJmIj48cGF0aCBkPSJNNyA2aDJ2NEg3VjZabTIgN3YtMkg3djJoMloiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTYuMTUyIDEuMTcyYy43MTktMS41NjMgMi45NzctMS41NjMgMy42OTYgMGw2LjA0MyAxMy4xNDFjLjM2My43OTEtLjIyNSAxLjY4Ny0xLjEwOSAxLjY4N0gxLjIxOGMtLjg4NCAwLTEuNDcyLS44OTYtMS4xMDktMS42ODdMNi4xNTIgMS4xNzJabTcuMzc0IDEyLjgzN0w4IDEuOTkgMi40NzQgMTQuMDFoMTEuMDUyWiIvPjwvc3ZnPgo=\\ );position:absolute;right:0}.___SInputField_h7hpq_gg_._size_m_h7hpq_gg_>div{padding:var(--intergalactic-spacing-2x, 8px) var(--intergalactic-spacing-4x, 16px);font-size:var(--intergalactic-fs-200, 14px);line-height:var(--intergalactic-lh-200, 142%);min-height:calc(var(--minRows_h7hpq)*20px);max-height:calc((var(--maxRows_h7hpq) - 1)*(20px + var(--intergalactic-spacing-1x, 4px)) + 18px)}.___SInputField_h7hpq_gg_._size_l_h7hpq_gg_>div:empty,.___SInputField_h7hpq_gg_._size_m_h7hpq_gg_>div:empty{padding-left:var(--intergalactic-spacing-8x, 32px)}.___SInputField_h7hpq_gg_._size_m_h7hpq_gg_>div:empty::before{left:var(--intergalactic-spacing-4x, 16px)}.___SInputField_h7hpq_gg_._size_l_h7hpq_gg_>div{padding:var(--intergalactic-spacing-3x, 12px) var(--intergalactic-spacing-4x, 16px);font-size:var(--intergalactic-fs-300, 16px);line-height:var(--intergalactic-lh-300, 150%);min-height:calc(var(--minRows_h7hpq)*24px);max-height:calc((var(--maxRows_h7hpq) - 1)*(24px + var(--intergalactic-spacing-1x, 4px)) + 20px)}.___SInputField_h7hpq_gg_._size_l_h7hpq_gg_>div:empty::before{left:calc(var(--intergalactic-spacing-4x, 16px) - var(--intergalactic-spacing-05x, 2px))}.___SInputField_h7hpq_gg_._state_normal_h7hpq_gg_:not(.__disabled_h7hpq_gg_)>div:focus:focus{box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5));border-color:var(--intergalactic-border-info-active, #006dca)}.___SInputField_h7hpq_gg_._state_valid_h7hpq_gg_>div{border-color:var(--intergalactic-border-success-active, #007c65)}.___SInputField_h7hpq_gg_._state_valid_h7hpq_gg_>div:focus{box-shadow:var(--intergalactic-keyboard-focus-valid, 0px 0px 0px 3px rgba(0, 159, 129, 0.5))}.___SInputField_h7hpq_gg_._state_invalid_h7hpq_gg_>div{border-color:var(--intergalactic-border-critical-active, #d1002f);background-image:var(--intergalactic-border-critical-pattern, repeating-linear-gradient(315deg, rgba(209, 0, 47, 1) 0, rgba(209, 0, 47, 1) 2px, transparent 0, transparent 50%));background-size:6px 6px;background-color:var(--intergalactic-bg-primary-neutral, #ffffff);border-bottom-left-radius:var(--intergalactic-control-rounded, 6px);border-top-left-radius:var(--intergalactic-control-rounded, 6px);background-repeat:repeat-y}.___SInputField_h7hpq_gg_._state_invalid_h7hpq_gg_>div:focus{box-shadow:var(--intergalactic-keyboard-focus-invalid, 0px 0px 0px 3px rgba(255, 73, 83, 0.5))}.___SInputField_h7hpq_gg_.__readonly_h7hpq_gg_>div{background-color:var(--intergalactic-bg-secondary-neutral, #f4f5f9)}.___SInputField_h7hpq_gg_.__disabled_h7hpq_gg_>div{opacity:var(--intergalactic-disabled-opacity, 0.3)}" /*__inner_css_end__*/, "h7hpq_gg_") /*__reshadow_css_end__*/, {
27
+ "__SInputField": "___SInputField_h7hpq_gg_",
28
+ "_showErrors": "__showErrors_h7hpq_gg_",
29
+ "_readonly": "__readonly_h7hpq_gg_",
30
+ "_disabled": "__disabled_h7hpq_gg_",
31
+ "_size_m": "_size_m_h7hpq_gg_",
32
+ "--minRows": "--minRows_h7hpq",
33
+ "--maxRows": "--maxRows_h7hpq",
34
+ "_size_l": "_size_l_h7hpq_gg_",
35
+ "_state_normal": "_state_normal_h7hpq_gg_",
36
+ "_state_valid": "_state_valid_h7hpq_gg_",
37
+ "_state_invalid": "_state_invalid_h7hpq_gg_"
38
+ });
39
+ var InputField = /*#__PURE__*/function (_Component) {
40
+ (0, _inherits2["default"])(InputField, _Component);
41
+ var _super = (0, _createSuper2["default"])(InputField);
42
+ function InputField(props) {
43
+ var _this;
44
+ (0, _classCallCheck2["default"])(this, InputField);
45
+ _this = _super.call(this, props);
46
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "delimiter", '\n');
47
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "skipEmptyLines", true);
48
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "emptyLineValue", '');
49
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "spaceLineValue", ' ');
50
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "containerRef", /*#__PURE__*/_react["default"].createRef());
51
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "textarea", void 0);
52
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "popper", null);
53
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "setPopperTrigger", null);
54
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "errorByInteraction", null);
55
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeTriggerTimeout", 0);
56
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "isScrolling", false);
57
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "scrollingTimeout", 0);
58
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "toggleErrorsPopperTimeout", 0);
59
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "isFocusing", false);
60
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "linesCountTimeout", 0);
61
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "state", {
62
+ visibleErrorPopper: false,
63
+ keyboardLineIndex: -1,
64
+ mouseLineIndex: -1
65
+ });
66
+ _this.handlePaste = _this.handlePaste.bind((0, _assertThisInitialized2["default"])(_this));
67
+ _this.handleChange = _this.handleChange.bind((0, _assertThisInitialized2["default"])(_this));
68
+ _this.handleFocus = _this.handleFocus.bind((0, _assertThisInitialized2["default"])(_this));
69
+ _this.handleBlur = _this.handleBlur.bind((0, _assertThisInitialized2["default"])(_this));
70
+ _this.handleKeyDown = _this.handleKeyDown.bind((0, _assertThisInitialized2["default"])(_this));
71
+ _this.handleMouseDown = _this.handleMouseDown.bind((0, _assertThisInitialized2["default"])(_this));
72
+ _this.handleMouseMove = _this.handleMouseMove.bind((0, _assertThisInitialized2["default"])(_this));
73
+ _this.handleMouseLeave = _this.handleMouseLeave.bind((0, _assertThisInitialized2["default"])(_this));
74
+ _this.handleScroll = _this.handleScroll.bind((0, _assertThisInitialized2["default"])(_this));
75
+ _this.handleSelectAll = _this.handleSelectAll.bind((0, _assertThisInitialized2["default"])(_this));
76
+ _this.textarea = _this.createContentEditableElement(props);
77
+ return _this;
78
+ }
79
+ (0, _createClass2["default"])(InputField, [{
80
+ key: "uncontrolledProps",
81
+ value: function uncontrolledProps() {
82
+ return {
83
+ value: null,
84
+ linesCount: null,
85
+ errorIndex: null
86
+ };
87
+ }
88
+ }, {
89
+ key: "componentDidMount",
90
+ value: function componentDidMount() {
91
+ var _this$containerRef$cu;
92
+ (_this$containerRef$cu = this.containerRef.current) === null || _this$containerRef$cu === void 0 ? void 0 : _this$containerRef$cu.append(this.textarea);
93
+ this.handleValueOutChange();
94
+ }
95
+ }, {
96
+ key: "componentDidUpdate",
97
+ value: function componentDidUpdate(prevProps, prevState) {
98
+ var _this2 = this;
99
+ var _this$props = this.props,
100
+ value = _this$props.value,
101
+ errors = _this$props.errors,
102
+ errorIndex = _this$props.errorIndex,
103
+ showErrors = _this$props.showErrors,
104
+ disabled = _this$props.disabled,
105
+ readonly = _this$props.readonly,
106
+ highlightErrorIndex = _this$props.highlightErrorIndex,
107
+ lineProcessing = _this$props.lineProcessing,
108
+ _this$props$ariaDesc = _this$props['aria-describedby'],
109
+ ariaDescribedby = _this$props$ariaDesc === void 0 ? '' : _this$props$ariaDesc;
110
+ if (prevProps.value !== value && value !== this.getValues().join(this.delimiter)) {
111
+ this.handleValueOutChange();
112
+ }
113
+ if (prevProps.showErrors !== showErrors || prevProps.errors.length !== errors.length) {
114
+ this.toggleAriaInvalid(showErrors, errors.length);
115
+ if (showErrors === false) {
116
+ this.textarea.setAttribute('aria-describedby', ariaDescribedby);
117
+ }
118
+ }
119
+ if (prevProps.errorIndex !== errorIndex && highlightErrorIndex) {
120
+ this.handleChangeErrorIndex(errorIndex);
121
+ }
122
+ if (prevProps.disabled !== disabled || prevProps.readonly !== readonly) {
123
+ if (this.isDisabled) {
124
+ this.textarea.setAttribute('contenteditable', 'false');
125
+ this.removeEventListeners(this.textarea);
126
+ } else {
127
+ this.textarea.setAttribute('contenteditable', 'true');
128
+ this.addEventListeners(this.textarea);
129
+ }
130
+ if (disabled) {
131
+ this.textarea.setAttribute('tabindex', '-1');
132
+ } else {
133
+ this.textarea.setAttribute('tabindex', '0');
134
+ }
135
+ }
136
+ var keyboardLineIndex = this.state.keyboardLineIndex;
137
+ if (prevState.keyboardLineIndex !== -1 && prevState.keyboardLineIndex !== keyboardLineIndex) {
138
+ if (lineProcessing) {
139
+ var _lines$prevState$keyb;
140
+ var lines = this.getValues();
141
+ var newValue = lineProcessing((_lines$prevState$keyb = lines[prevState.keyboardLineIndex]) !== null && _lines$prevState$keyb !== void 0 ? _lines$prevState$keyb : '', lines);
142
+ var newValueTextNode = document.createTextNode(newValue);
143
+ var paragraph = this.textarea.childNodes.item(prevState.keyboardLineIndex);
144
+ if (paragraph instanceof HTMLParagraphElement) {
145
+ if (newValue === '') {
146
+ paragraph.innerHTML = this.emptyLineValue;
147
+ } else {
148
+ paragraph.replaceChild(newValueTextNode, paragraph.childNodes.item(0));
149
+ }
150
+ }
151
+ this.validateLine(paragraph);
152
+ setTimeout(function () {
153
+ var newNode = _this2.textarea.childNodes.item(keyboardLineIndex);
154
+ if (newNode) {
155
+ _this2.setErrorIndex(newNode);
156
+ }
157
+ }, 0); // need this timeout to update errorIndex to the new (usually empty) line
158
+ }
159
+
160
+ if (!showErrors) {
161
+ this.recalculateErrors();
162
+ }
163
+ this.recalculateLinesCount();
164
+ this.asProps.onChangeLineIndex(keyboardLineIndex);
165
+ }
166
+ }
167
+ }, {
168
+ key: "componentWillUnmount",
169
+ value: function componentWillUnmount() {
170
+ this.removeEventListeners(this.textarea);
171
+ }
172
+ }, {
173
+ key: "isDisabled",
174
+ get: function get() {
175
+ var _this$asProps = this.asProps,
176
+ disabled = _this$asProps.disabled,
177
+ readonly = _this$asProps.readonly;
178
+ return Boolean(disabled || readonly);
179
+ }
180
+ }, {
181
+ key: "popperDescribedId",
182
+ get: function get() {
183
+ var uid = this.asProps.uid;
184
+ return "bulk-textarea-".concat(uid, "-popper-describedby");
185
+ }
186
+ }, {
187
+ key: "errorMessage",
188
+ get: function get() {
189
+ var _ref3, _errorItem$errorMessa, _errorItem, _errorItem2;
190
+ var _this$asProps2 = this.asProps,
191
+ errors = _this$asProps2.errors,
192
+ errorIndex = _this$asProps2.errorIndex,
193
+ commonErrorMessage = _this$asProps2.commonErrorMessage,
194
+ lastError = _this$asProps2.lastError;
195
+ var _this$state = this.state,
196
+ mouseLineIndex = _this$state.mouseLineIndex,
197
+ keyboardLineIndex = _this$state.keyboardLineIndex;
198
+ var currentLineIndex = this.errorByInteraction === 'keyboard' ? keyboardLineIndex : this.errorByInteraction === 'mouse' ? mouseLineIndex : -1;
199
+ var errorItem = errors[errorIndex];
200
+ if (currentLineIndex !== -1) {
201
+ errorItem = errors.find(function (e) {
202
+ return (e === null || e === void 0 ? void 0 : e.lineIndex) === currentLineIndex;
203
+ });
204
+ }
205
+ var errorMessage = errors.length === 0 && !lastError // show any errors only if there are at least one error
206
+ ? null : (_ref3 = (_errorItem$errorMessa = (_errorItem = errorItem) === null || _errorItem === void 0 ? void 0 : _errorItem.errorMessage) !== null && _errorItem$errorMessa !== void 0 ? _errorItem$errorMessa : lastError === null || lastError === void 0 ? void 0 : lastError.errorMessage) !== null && _ref3 !== void 0 ? _ref3 : commonErrorMessage;
207
+ var isCommonError = !((_errorItem2 = errorItem) !== null && _errorItem2 !== void 0 && _errorItem2.errorMessage) && !(lastError !== null && lastError !== void 0 && lastError.errorMessage);
208
+ return {
209
+ errorMessage: errorMessage,
210
+ isCommonError: isCommonError
211
+ };
212
+ }
213
+ }, {
214
+ key: "createContentEditableElement",
215
+ value: function createContentEditableElement(props) {
216
+ var textarea = document.createElement('div');
217
+ textarea.setAttribute('contentEditable', props.disabled || props.readonly ? 'false' : 'true');
218
+ textarea.setAttribute('role', 'textbox');
219
+ textarea.setAttribute('classname', 'editable');
220
+ if (props.id) {
221
+ textarea.setAttribute('id', props.id);
222
+ }
223
+ if (props.placeholder) {
224
+ textarea.setAttribute('placeholder', props.placeholder);
225
+ }
226
+ var _extractAriaProps = (0, _ariaProps.extractAriaProps)(props),
227
+ extractedAriaProps = _extractAriaProps.extractedAriaProps;
228
+ for (var key in extractedAriaProps) {
229
+ var ariaProp = props[key];
230
+ if (ariaProp) {
231
+ textarea.setAttribute(key, ariaProp);
232
+ }
233
+ }
234
+ if (!props.disabled) {
235
+ textarea.setAttribute('tabIndex', '0');
236
+ } else {
237
+ textarea.setAttribute('tabIndex', '-1');
238
+ }
239
+ if (!props.disabled && !props.readonly) {
240
+ this.addEventListeners(textarea);
241
+ } else {
242
+ textarea.addEventListener('keydown', this.handleSelectAll.bind(this));
243
+ }
244
+ return textarea;
245
+ }
246
+ }, {
247
+ key: "handleValueOutChange",
248
+ value: function handleValueOutChange() {
249
+ var _this$props2 = this.props,
250
+ value = _this$props2.value,
251
+ onChangeLinesCount = _this$props2.onChangeLinesCount;
252
+ if (value === '') {
253
+ this.textarea.textContent = '';
254
+ onChangeLinesCount(0);
255
+ } else {
256
+ var _this$textarea;
257
+ var listOfNodes = this.prepareNodesForPaste(value);
258
+ (_this$textarea = this.textarea).replaceChildren.apply(_this$textarea, (0, _toConsumableArray2["default"])(listOfNodes));
259
+ this.recalculateLinesCount();
260
+ }
261
+ }
262
+ }, {
263
+ key: "handleScroll",
264
+ value: function handleScroll() {
265
+ var _this3 = this;
266
+ if (this.scrollingTimeout) {
267
+ clearTimeout(this.scrollingTimeout);
268
+ }
269
+ this.isScrolling = true;
270
+ this.scrollingTimeout = window.setTimeout(function () {
271
+ _this3.isScrolling = false;
272
+ }, 50);
273
+ }
274
+ }, {
275
+ key: "handleMouseDown",
276
+ value: function handleMouseDown(event) {
277
+ // we need to change keyboardLineIndex, because the caret in real on that current row
278
+ this.errorByInteraction = 'keyboard';
279
+ var element = event.target;
280
+ if (element instanceof HTMLElement) {
281
+ // we need to change keyboardLineIndex, because the caret in real on that current row
282
+ this.toggleErrorsPopper('keyboardLineIndex', element);
283
+ this.setErrorIndex(element);
284
+ }
285
+ }
286
+ }, {
287
+ key: "handleMouseMove",
288
+ value: function handleMouseMove(event) {
289
+ this.errorByInteraction = 'mouse';
290
+ var element = event.target;
291
+ if (element !== this.textarea) {
292
+ if (this.isFocusing || element instanceof HTMLElement && element.getAttribute('aria-invalid') === 'true') {
293
+ this.toggleErrorsPopper('mouseLineIndex', element);
294
+ } else {
295
+ this.setState({
296
+ visibleErrorPopper: false
297
+ });
298
+ }
299
+ }
300
+ }
301
+ }, {
302
+ key: "handleMouseLeave",
303
+ value: function handleMouseLeave(event) {
304
+ if (this.changeTriggerTimeout) {
305
+ clearTimeout(this.changeTriggerTimeout);
306
+ }
307
+ if (this.isFocusing) {
308
+ this.errorByInteraction = 'keyboard';
309
+ var rowNode = this.getNodeFromSelection();
310
+ this.toggleErrorsPopper('keyboardLineIndex', rowNode, 0);
311
+ this.setState({
312
+ mouseLineIndex: -1
313
+ });
314
+ } else {
315
+ this.setState({
316
+ visibleErrorPopper: false
317
+ });
318
+ }
319
+ }
320
+ }, {
321
+ key: "handlePaste",
322
+ value: function handlePaste(event) {
323
+ var _event$clipboardData;
324
+ event.preventDefault();
325
+ var validateOn = this.asProps.validateOn;
326
+ var value = (_event$clipboardData = event.clipboardData) === null || _event$clipboardData === void 0 ? void 0 : _event$clipboardData.getData('text/plain');
327
+ var listOfNodes = value ? this.prepareNodesForPaste(value) : [];
328
+ var selection = document.getSelection();
329
+ if (selection !== null && selection !== void 0 && selection.anchorNode && selection !== null && selection !== void 0 && selection.focusNode) {
330
+ var anchorOffset = selection.anchorOffset;
331
+ var focusOffset = selection.focusOffset;
332
+ var documentPosition = selection.anchorNode.compareDocumentPosition(selection.focusNode);
333
+ var direction = this.getSelectionDirection();
334
+ var anchorElement = direction === 'forward' ? selection.anchorNode : selection.focusNode;
335
+ var focusElement = direction === 'forward' ? selection.focusNode : selection.anchorNode;
336
+ var fromOffset = direction === 'forward' ? anchorOffset : focusOffset;
337
+ var toOffset = direction === 'forward' ? focusOffset : anchorOffset;
338
+ var anchorNode = anchorElement instanceof Text ? anchorElement.parentElement : anchorElement;
339
+ var focusNode = focusElement instanceof Text ? focusElement.parentElement : focusElement;
340
+ var textNode = null;
341
+ var position = null;
342
+ if (focusElement === this.textarea) {
343
+ var _this$textarea2, _lastNodeToInsert$tex;
344
+ (_this$textarea2 = this.textarea).replaceChildren.apply(_this$textarea2, (0, _toConsumableArray2["default"])(listOfNodes));
345
+ var lastNodeToInsert = listOfNodes[listOfNodes.length - 1];
346
+ textNode = lastNodeToInsert.childNodes.item(0);
347
+ position = ((_lastNodeToInsert$tex = lastNodeToInsert.textContent) !== null && _lastNodeToInsert$tex !== void 0 ? _lastNodeToInsert$tex : '').length;
348
+ } else if (focusNode instanceof HTMLParagraphElement && anchorNode instanceof HTMLParagraphElement) {
349
+ var _anchorNode$textConte, _anchorNode$textConte2, _focusNode$textConten, _focusNode$textConten2, _ref4;
350
+ var before = (_anchorNode$textConte = anchorNode === null || anchorNode === void 0 ? void 0 : (_anchorNode$textConte2 = anchorNode.textContent) === null || _anchorNode$textConte2 === void 0 ? void 0 : _anchorNode$textConte2.substring(0, fromOffset)) !== null && _anchorNode$textConte !== void 0 ? _anchorNode$textConte : '';
351
+ var after = (_focusNode$textConten = focusNode === null || focusNode === void 0 ? void 0 : (_focusNode$textConten2 = focusNode.textContent) === null || _focusNode$textConten2 === void 0 ? void 0 : _focusNode$textConten2.substring(toOffset)) !== null && _focusNode$textConten !== void 0 ? _focusNode$textConten : '';
352
+ selection.deleteFromDocument();
353
+ if (documentPosition !== 0) {
354
+ this.textarea.removeChild(focusNode);
355
+ }
356
+ var firstNodeToInsert = listOfNodes.splice(0, 1)[0];
357
+ var _lastNodeToInsert = listOfNodes[listOfNodes.length - 1];
358
+ anchorNode.textContent = (_ref4 = before + (firstNodeToInsert === null || firstNodeToInsert === void 0 ? void 0 : firstNodeToInsert.textContent)) !== null && _ref4 !== void 0 ? _ref4 : '';
359
+ anchorNode.after.apply(anchorNode, (0, _toConsumableArray2["default"])(listOfNodes));
360
+ if (_lastNodeToInsert) {
361
+ var _lastNodeToInsert$tex2, _lastNodeToInsert$tex3;
362
+ _lastNodeToInsert.textContent = ((_lastNodeToInsert$tex2 = _lastNodeToInsert.textContent) !== null && _lastNodeToInsert$tex2 !== void 0 ? _lastNodeToInsert$tex2 : '') + after;
363
+ textNode = _lastNodeToInsert.childNodes.item(0);
364
+ position = ((_lastNodeToInsert$tex3 = _lastNodeToInsert.textContent) !== null && _lastNodeToInsert$tex3 !== void 0 ? _lastNodeToInsert$tex3 : '').length;
365
+ this.validateLine(_lastNodeToInsert);
366
+ this.setErrorIndex(_lastNodeToInsert);
367
+ } else {
368
+ var _anchorNode$textConte3, _anchorNode$textConte4;
369
+ position = ((_anchorNode$textConte3 = anchorNode.textContent) !== null && _anchorNode$textConte3 !== void 0 ? _anchorNode$textConte3 : '').length;
370
+ anchorNode.textContent = ((_anchorNode$textConte4 = anchorNode.textContent) !== null && _anchorNode$textConte4 !== void 0 ? _anchorNode$textConte4 : '') + after;
371
+ textNode = anchorNode.childNodes.item(0);
372
+ this.validateLine(anchorNode);
373
+ this.setErrorIndex(anchorNode);
374
+ }
375
+ }
376
+ if (textNode instanceof Text) {
377
+ var _position, _position2;
378
+ this.setSelection(textNode, (_position = position) !== null && _position !== void 0 ? _position : 1, (_position2 = position) !== null && _position2 !== void 0 ? _position2 : 1);
379
+ this.toggleErrorsPopper('keyboardLineIndex', textNode.parentNode);
380
+ } else {
381
+ var _textNode;
382
+ console.warn('incorrect child type', textNode, (_textNode = textNode) === null || _textNode === void 0 ? void 0 : _textNode.parentNode);
383
+ }
384
+ }
385
+ this.recalculateLinesCount();
386
+ if (validateOn.includes('paste') || this.asProps.showErrors) {
387
+ this.recalculateErrors();
388
+ }
389
+ }
390
+ }, {
391
+ key: "handleChange",
392
+ value: function handleChange(event) {
393
+ var target = event.target;
394
+ if (target instanceof HTMLDivElement && event instanceof InputEvent) {
395
+ var _firstNode$textConten2;
396
+ var nodes = this.textarea.childNodes;
397
+ var firstNode = nodes.item(0);
398
+ var secondNode = nodes.item(1);
399
+ var selection = document.getSelection();
400
+ if (firstNode instanceof Text) {
401
+ var _firstNode$textConten;
402
+ var nodeText = (_firstNode$textConten = firstNode.textContent) !== null && _firstNode$textConten !== void 0 ? _firstNode$textConten : '';
403
+ var firstRow = document.createElement('p');
404
+ var text = document.createTextNode(nodeText);
405
+ firstRow.append(text);
406
+ firstNode.replaceWith(firstRow);
407
+ selection === null || selection === void 0 ? void 0 : selection.setPosition(firstRow, nodeText.length);
408
+ } else if (!firstNode || firstNode instanceof HTMLBRElement && nodes.length === 1) {
409
+ this.textarea.textContent = '';
410
+ this.setState({
411
+ keyboardLineIndex: 0
412
+ });
413
+ } else if (firstNode instanceof HTMLParagraphElement && !((_firstNode$textConten2 = firstNode.textContent) !== null && _firstNode$textConten2 !== void 0 && _firstNode$textConten2.trim())) {
414
+ if (nodes.length <= 1 || secondNode instanceof HTMLBRElement) {
415
+ this.textarea.textContent = '';
416
+ this.setState({
417
+ keyboardLineIndex: 0
418
+ });
419
+ }
420
+ }
421
+ var maxDeep = 10;
422
+ var rowNode = selection === null || selection === void 0 ? void 0 : selection.focusNode;
423
+ while (((_rowNode = rowNode) === null || _rowNode === void 0 ? void 0 : _rowNode.parentNode) !== this.textarea && maxDeep > 0) {
424
+ var _rowNode, _rowNode2;
425
+ rowNode = (_rowNode2 = rowNode) === null || _rowNode2 === void 0 ? void 0 : _rowNode2.parentNode;
426
+ maxDeep--;
427
+ }
428
+ if (rowNode instanceof HTMLParagraphElement) {
429
+ var _rowNode$textContent, _this$popper;
430
+ var childNodes = rowNode.childNodes;
431
+ var textContent = (_rowNode$textContent = rowNode.textContent) !== null && _rowNode$textContent !== void 0 ? _rowNode$textContent : '';
432
+ if (childNodes.length > 1) {
433
+ var _childNodes$item$text;
434
+ var offset = (_childNodes$item$text = childNodes.item(0).textContent) === null || _childNodes$item$text === void 0 ? void 0 : _childNodes$item$text.length;
435
+ rowNode.textContent = textContent;
436
+ if (offset) {
437
+ this.setSelection(rowNode.childNodes.item(0), offset, offset);
438
+ }
439
+ }
440
+ if (textContent.length > 0) {
441
+ var firstSymbol = textContent.at(0);
442
+ var lastSymbol = textContent.at(textContent.length - 1);
443
+ if (firstSymbol === this.getEmptyParagraph().textContent || lastSymbol === this.getEmptyParagraph().textContent) {
444
+ var _offset = null;
445
+ if (firstSymbol === this.getEmptyParagraph().textContent) {
446
+ rowNode.textContent = textContent.substring(1);
447
+ _offset = event.inputType === 'deleteContentBackward' || event.inputType === 'deleteContentForward' ? 0 : rowNode.textContent.length;
448
+ } else if (lastSymbol === this.getEmptyParagraph().textContent) {
449
+ rowNode.textContent = textContent.substring(0, textContent.length - 1);
450
+ _offset = rowNode.textContent.length;
451
+ }
452
+ if (_offset) {
453
+ this.setSelection(rowNode.childNodes.item(0), _offset, _offset);
454
+ }
455
+ }
456
+ } else if (childNodes.length === 1 && childNodes[0] instanceof HTMLBRElement) {
457
+ rowNode.innerHTML = this.emptyLineValue;
458
+ }
459
+ var _this$asProps3 = this.asProps,
460
+ errors = _this$asProps3.errors,
461
+ showErrors = _this$asProps3.showErrors;
462
+ var isValid = this.validateLine(rowNode);
463
+ this.recalculateErrors();
464
+ this.setErrorIndex(rowNode);
465
+ if (!isValid && showErrors) {
466
+ this.toggleErrorsPopper('keyboardLineIndex', rowNode, 0);
467
+ }
468
+ var trigger = !isValid || isValid && errors.length === 1 && errors[0].lineNode === rowNode ? rowNode : this.textarea;
469
+ if (showErrors && ((_this$popper = this.popper) === null || _this$popper === void 0 ? void 0 : _this$popper.current.state.elements.reference) !== trigger) {
470
+ var _this$setPopperTrigge;
471
+ (_this$setPopperTrigge = this.setPopperTrigger) === null || _this$setPopperTrigge === void 0 ? void 0 : _this$setPopperTrigge.call(this, trigger);
472
+ }
473
+ } else if (rowNode === null) {
474
+ var _this$setPopperTrigge2;
475
+ (_this$setPopperTrigge2 = this.setPopperTrigger) === null || _this$setPopperTrigge2 === void 0 ? void 0 : _this$setPopperTrigge2.call(this, this.textarea);
476
+ if ((selection === null || selection === void 0 ? void 0 : selection.focusNode) === this.textarea && this.textarea.childNodes.length > 1) {
477
+ var nodeIndex = selection.focusOffset;
478
+ var emptyParagraph = this.textarea.childNodes.item(nodeIndex - 1);
479
+ var emptyBr = this.textarea.childNodes.item(nodeIndex);
480
+ this.textarea.removeChild(emptyBr);
481
+ if (emptyParagraph instanceof HTMLParagraphElement) {
482
+ emptyParagraph.innerHTML = this.emptyLineValue;
483
+ }
484
+ if (emptyParagraph) {
485
+ this.setSelection(emptyParagraph, 0, 0);
486
+ }
487
+ } else {
488
+ this.setSelection(this.textarea, 0, 0);
489
+ }
490
+ }
491
+ this.recalculateLinesCount();
492
+ }
493
+ }
494
+ }, {
495
+ key: "handleFocus",
496
+ value: function handleFocus(event) {
497
+ this.isFocusing = true;
498
+ this.errorByInteraction = 'keyboard';
499
+ if (this.asProps.showErrors) {
500
+ this.toggleErrorsPopperByKeyboard(150);
501
+ } else {
502
+ this.toggleErrorsPopper('keyboardLineIndex', this.textarea);
503
+ }
504
+ }
505
+ }, {
506
+ key: "handleBlur",
507
+ value: function handleBlur(event) {
508
+ var _this4 = this;
509
+ this.isFocusing = false;
510
+ this.setState({
511
+ visibleErrorPopper: false
512
+ });
513
+ var _this$asProps4 = this.asProps,
514
+ validateOn = _this$asProps4.validateOn,
515
+ onBlur = _this$asProps4.onBlur;
516
+ if (validateOn.includes('blur')) {
517
+ this.recalculateErrors();
518
+ }
519
+ onBlur(this.getValues().join(this.delimiter), event);
520
+ setTimeout(function () {
521
+ _this4.setState({
522
+ keyboardLineIndex: -1
523
+ });
524
+ }, 200);
525
+ }
526
+ }, {
527
+ key: "handleKeyDown",
528
+ value: function handleKeyDown(event) {
529
+ var _this5 = this;
530
+ this.errorByInteraction = 'keyboard';
531
+ var linesDelimiters = this.asProps.linesDelimiters;
532
+ var currentNode = this.getNodeFromSelection();
533
+ if (event.key === 'Enter' || linesDelimiters !== null && linesDelimiters !== void 0 && linesDelimiters.includes(event.key)) {
534
+ if (currentNode === this.textarea) {
535
+ event.preventDefault();
536
+ }
537
+ if (currentNode instanceof HTMLParagraphElement) {
538
+ var _currentNode$textCont;
539
+ var currentRowValue = (_currentNode$textCont = currentNode.textContent) === null || _currentNode$textCont === void 0 ? void 0 : _currentNode$textCont.trim();
540
+ if (!currentRowValue) {
541
+ event.preventDefault();
542
+ } else {
543
+ var _selection$focusNode, _selectionNode$textCo, _currentNode$textCont2, _row$textContent;
544
+ event.preventDefault();
545
+ var selection = document.getSelection();
546
+ var selectionNode = (selection === null || selection === void 0 ? void 0 : selection.focusNode) instanceof Text ? selection.focusNode : selection === null || selection === void 0 ? void 0 : (_selection$focusNode = selection.focusNode) === null || _selection$focusNode === void 0 ? void 0 : _selection$focusNode.childNodes.item(0);
547
+ var selectionOffset = selection === null || selection === void 0 ? void 0 : selection.focusOffset;
548
+ var newRowValue = '';
549
+ if (selectionNode instanceof Text && selectionOffset !== undefined && selectionOffset !== ((_selectionNode$textCo = selectionNode.textContent) === null || _selectionNode$textCo === void 0 ? void 0 : _selectionNode$textCo.length)) {
550
+ var _selectionNode$textCo2, _selectionNode$textCo3;
551
+ newRowValue = (_selectionNode$textCo2 = (_selectionNode$textCo3 = selectionNode.textContent) === null || _selectionNode$textCo3 === void 0 ? void 0 : _selectionNode$textCo3.substring(selectionOffset)) !== null && _selectionNode$textCo2 !== void 0 ? _selectionNode$textCo2 : this.emptyLineValue;
552
+ if (selectionNode.textContent) {
553
+ selectionNode.textContent = selectionNode.textContent.substring(0, selectionOffset);
554
+ }
555
+ }
556
+ if (((_currentNode$textCont2 = currentNode.textContent) === null || _currentNode$textCont2 === void 0 ? void 0 : _currentNode$textCont2.trim()) === '') {
557
+ currentNode.innerHTML = this.emptyLineValue;
558
+ }
559
+ var row = document.createElement('p');
560
+ if (newRowValue) {
561
+ row.textContent = newRowValue;
562
+ } else {
563
+ row.innerHTML = this.emptyLineValue;
564
+ }
565
+ currentNode.after(row);
566
+ this.setSelection(row, 0, 0);
567
+ this.validateLine(currentNode);
568
+ this.validateLine(row);
569
+ if (currentNode.previousSibling) {
570
+ this.validateLine(currentNode.previousSibling);
571
+ }
572
+ this.setErrorIndex(row);
573
+ if (((_row$textContent = row.textContent) === null || _row$textContent === void 0 ? void 0 : _row$textContent.trim()) !== '') {
574
+ this.recalculateLinesCount();
575
+ }
576
+ setTimeout(function () {
577
+ _this5.recalculateErrors();
578
+ }, 0);
579
+ this.toggleErrorsPopperByKeyboard(0);
580
+ }
581
+ }
582
+ } else if (event.key === 'ArrowDown' || event.key === 'ArrowUp' || event.key === 'ArrowLeft' || event.key === 'ArrowRight') {
583
+ if (currentNode instanceof HTMLParagraphElement) {
584
+ this.handleCursorMovement(currentNode, event);
585
+ }
586
+ this.toggleErrorsPopperByKeyboard(200);
587
+ } else if (this.isDeleteKey(event) && currentNode instanceof HTMLParagraphElement) {
588
+ var _currentNode$textCont3;
589
+ if (((_currentNode$textCont3 = currentNode.textContent) === null || _currentNode$textCont3 === void 0 ? void 0 : _currentNode$textCont3.trim()) === '' && !this.isRangeSelection()) {
590
+ // Backspace on empty row
591
+ var prevNode = currentNode.previousSibling;
592
+ if (prevNode instanceof HTMLParagraphElement) {
593
+ var _prevNode$textContent;
594
+ event.preventDefault();
595
+ this.textarea.removeChild(currentNode);
596
+ this.toggleErrorsPopperByKeyboard(0);
597
+ if (((_prevNode$textContent = prevNode.textContent) === null || _prevNode$textContent === void 0 ? void 0 : _prevNode$textContent.trim()) === '' && prevNode.previousSibling === null && this.textarea.childNodes.length === 1) {
598
+ this.textarea.textContent = '';
599
+ this.setSelection(this.textarea, 0, 0);
600
+ } else {
601
+ if (prevNode instanceof HTMLParagraphElement) {
602
+ var _text$textContent$len, _text$textContent;
603
+ var text = prevNode.childNodes.item(0);
604
+ var offset = (_text$textContent$len = (_text$textContent = text.textContent) === null || _text$textContent === void 0 ? void 0 : _text$textContent.length) !== null && _text$textContent$len !== void 0 ? _text$textContent$len : 0;
605
+ this.setSelection(text, offset, offset);
606
+ } else {
607
+ console.warn('incorrect prevNode type', prevNode);
608
+ }
609
+ }
610
+ setTimeout(function () {
611
+ _this5.recalculateErrors();
612
+ }, 0);
613
+ this.toggleErrorsPopperByKeyboard(0);
614
+ }
615
+ } else if (this.isRangeSelection()) {
616
+ var _currentNode$textCont4, _focusElement$parentN, _anchorElement$parent, _focusElement$parentN2, _focusElement$parentN3;
617
+ var _selection = document.getSelection();
618
+ var direction = this.getSelectionDirection();
619
+ var anchorElement = direction === 'backward' ? _selection === null || _selection === void 0 ? void 0 : _selection.focusNode : _selection === null || _selection === void 0 ? void 0 : _selection.anchorNode;
620
+ var focusElement = direction === 'backward' ? _selection === null || _selection === void 0 ? void 0 : _selection.anchorNode : _selection === null || _selection === void 0 ? void 0 : _selection.focusNode;
621
+ var anchorOffset = direction === 'backward' ? _selection === null || _selection === void 0 ? void 0 : _selection.focusOffset : _selection === null || _selection === void 0 ? void 0 : _selection.anchorOffset;
622
+ var focusOffset = direction === 'backward' ? _selection === null || _selection === void 0 ? void 0 : _selection.anchorOffset : _selection === null || _selection === void 0 ? void 0 : _selection.focusOffset;
623
+
624
+ // Backspace on selected full row
625
+ if (anchorElement === focusElement && anchorOffset === 0 && (focusElement === currentNode && focusOffset === 1 || focusOffset === ((_currentNode$textCont4 = currentNode.textContent) === null || _currentNode$textCont4 === void 0 ? void 0 : _currentNode$textCont4.length))) {
626
+ event.preventDefault();
627
+ var anchorParagraph = anchorElement === null || anchorElement === void 0 ? void 0 : anchorElement.parentElement;
628
+ var focusParagraph = focusElement === null || focusElement === void 0 ? void 0 : focusElement.parentElement;
629
+ var childNodes = this.textarea.childNodes;
630
+ if (anchorParagraph === childNodes.item(0) && focusParagraph === childNodes.item(childNodes.length - 1)) {
631
+ this.textarea.textContent = '';
632
+ this.setSelection(this.textarea, 0, 0);
633
+ } else {
634
+ currentNode.innerHTML = this.emptyLineValue;
635
+ this.validateLine(currentNode);
636
+ }
637
+ this.setErrorIndex(currentNode);
638
+ this.recalculateLinesCount();
639
+ setTimeout(function () {
640
+ _this5.recalculateErrors();
641
+ }, 0);
642
+ this.toggleErrorsPopperByKeyboard(0);
643
+ }
644
+ // Backspace on selected few full rows
645
+ else if (focusElement !== anchorElement && focusElement instanceof Text && anchorElement instanceof Text && (focusElement === null || focusElement === void 0 ? void 0 : focusElement.textContent) === (focusElement === null || focusElement === void 0 ? void 0 : (_focusElement$parentN = focusElement.parentNode) === null || _focusElement$parentN === void 0 ? void 0 : _focusElement$parentN.textContent) && (anchorElement === null || anchorElement === void 0 ? void 0 : anchorElement.textContent) === (anchorElement === null || anchorElement === void 0 ? void 0 : (_anchorElement$parent = anchorElement.parentNode) === null || _anchorElement$parent === void 0 ? void 0 : _anchorElement$parent.textContent) && anchorOffset === 0 && focusOffset === (focusElement === null || focusElement === void 0 ? void 0 : (_focusElement$parentN2 = focusElement.parentNode) === null || _focusElement$parentN2 === void 0 ? void 0 : (_focusElement$parentN3 = _focusElement$parentN2.textContent) === null || _focusElement$parentN3 === void 0 ? void 0 : _focusElement$parentN3.length)) {
646
+ event.preventDefault();
647
+ var paragraphs = Array.from(this.textarea.children);
648
+ var _anchorParagraph = anchorElement.parentElement;
649
+ var _focusParagraph = focusElement.parentElement;
650
+ var _childNodes = this.textarea.childNodes;
651
+ if (_anchorParagraph === _childNodes.item(0) && _focusParagraph === _childNodes.item(_childNodes.length - 1)) {
652
+ this.textarea.textContent = '';
653
+ this.setSelection(this.textarea, 0, 0);
654
+ } else {
655
+ var isCleaning = false;
656
+ var _iterator = (0, _createForOfIteratorHelper2["default"])(paragraphs),
657
+ _step;
658
+ try {
659
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
660
+ var paragraph = _step.value;
661
+ if (paragraph === _anchorParagraph || isCleaning) {
662
+ isCleaning = true;
663
+ if (paragraph === _focusParagraph) {
664
+ _focusParagraph.innerHTML = this.emptyLineValue;
665
+ this.setSelection(_focusParagraph, 0, 0);
666
+ break;
667
+ } else {
668
+ this.textarea.removeChild(paragraph);
669
+ }
670
+ }
671
+ }
672
+ } catch (err) {
673
+ _iterator.e(err);
674
+ } finally {
675
+ _iterator.f();
676
+ }
677
+ this.validateLine(currentNode);
678
+ }
679
+ this.setErrorIndex(currentNode);
680
+ this.recalculateLinesCount();
681
+ setTimeout(function () {
682
+ _this5.recalculateErrors();
683
+ }, 0);
684
+ this.toggleErrorsPopperByKeyboard(0);
685
+ }
686
+ }
687
+ } else if (event.key === 'z' && (event.ctrlKey || event.metaKey)) {
688
+ event.preventDefault();
689
+ }
690
+ }
691
+ }, {
692
+ key: "render",
693
+ value: function render() {
694
+ var _ref = this.asProps,
695
+ _ref2,
696
+ _this$containerRef$cu2,
697
+ _this6 = this;
698
+ var SInputField = _flexBox.Box;
699
+ var _this$asProps5 = this.asProps,
700
+ styles = _this$asProps5.styles,
701
+ showErrors = _this$asProps5.showErrors;
702
+ var visibleErrorPopper = this.state.visibleErrorPopper;
703
+ var _this$errorMessage = this.errorMessage,
704
+ errorMessage = _this$errorMessage.errorMessage,
705
+ isCommonError = _this$errorMessage.isCommonError;
706
+ var visibleErrorTooltip = showErrors && visibleErrorPopper && Boolean(errorMessage) && !this.isDisabled;
707
+ var _extractAriaProps2 = (0, _ariaProps.extractAriaProps)(this.asProps),
708
+ __excludeProps = _extractAriaProps2.__excludeProps;
709
+ return _ref2 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_tooltip["default"], _ref2.cn("Tooltip", {
710
+ "interaction": 'none',
711
+ "placement": isCommonError ? 'right-start' : 'right',
712
+ "visible": visibleErrorTooltip,
713
+ "theme": 'warning',
714
+ "offset": isCommonError ? undefined : [0, 26],
715
+ "preventOverflow": {
716
+ boundary: (_this$containerRef$cu2 = this.containerRef.current) !== null && _this$containerRef$cu2 !== void 0 ? _this$containerRef$cu2 : undefined,
717
+ tether: false
718
+ }
719
+ }), function (_ref5) {
720
+ var popper = _ref5.popper,
721
+ setTrigger = _ref5.setTrigger;
722
+ if (!_this6.popper) {
723
+ _this6.setPopperTrigger = setTrigger;
724
+ // @ts-ignore
725
+ _this6.popper = popper;
726
+ }
727
+ return /*#__PURE__*/_react["default"].createElement(_tooltip["default"].Popper, {
728
+ id: _this6.popperDescribedId
729
+ }, errorMessage);
730
+ }), /*#__PURE__*/_react["default"].createElement(SInputField, _ref2.cn("SInputField", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
731
+ "ref": this.containerRef,
732
+ "__excludeProps": ['onBlur', 'value'].concat((0, _toConsumableArray2["default"])(__excludeProps))
733
+ }, _ref)))));
734
+ }
735
+ }, {
736
+ key: "prepareNodesForPaste",
737
+ value: function prepareNodesForPaste(value) {
738
+ var _pasteProps$lineProce,
739
+ _pasteProps$skipEmpty,
740
+ _pasteProps$delimiter,
741
+ _this7 = this;
742
+ var listOfNodes = [];
743
+ var pasteProps = this.asProps.pasteProps;
744
+ var lineProcessing = (_pasteProps$lineProce = pasteProps === null || pasteProps === void 0 ? void 0 : pasteProps.lineProcessing) !== null && _pasteProps$lineProce !== void 0 ? _pasteProps$lineProce : function (line) {
745
+ var trimmedLine = line.trim();
746
+ return trimmedLine === '' ? line : trimmedLine;
747
+ };
748
+ var skipEmptyLines = (_pasteProps$skipEmpty = pasteProps === null || pasteProps === void 0 ? void 0 : pasteProps.skipEmptyLines) !== null && _pasteProps$skipEmpty !== void 0 ? _pasteProps$skipEmpty : this.skipEmptyLines;
749
+ var delimiter = (_pasteProps$delimiter = pasteProps === null || pasteProps === void 0 ? void 0 : pasteProps.delimiter) !== null && _pasteProps$delimiter !== void 0 ? _pasteProps$delimiter : this.delimiter;
750
+ value.split(delimiter).forEach(function (line) {
751
+ var preparedLine = lineProcessing(line);
752
+ if (preparedLine === '' && skipEmptyLines === false || preparedLine !== '') {
753
+ var node = document.createElement('p');
754
+ if (preparedLine === '') {
755
+ node.innerHTML = _this7.emptyLineValue;
756
+ } else if (preparedLine.trim() === '') {
757
+ var allSpacesRegExp = new RegExp('\\s', 'g');
758
+ node.innerHTML = _dompurify["default"].sanitize(preparedLine.replace(allSpacesRegExp, _this7.spaceLineValue));
759
+ } else {
760
+ node.append(document.createTextNode(preparedLine));
761
+ }
762
+ listOfNodes.push(node);
763
+ _this7.validateLine(node);
764
+ }
765
+ });
766
+ return listOfNodes;
767
+ }
768
+ }, {
769
+ key: "recalculateErrors",
770
+ value: function recalculateErrors() {
771
+ var errors = [];
772
+ this.textarea.childNodes.forEach(function (node, index) {
773
+ if (node instanceof HTMLParagraphElement && node.getAttribute('aria-invalid') === 'true') {
774
+ var _node$dataset$errorme;
775
+ var errorItem = {
776
+ errorMessage: (_node$dataset$errorme = node.dataset.errormessage) !== null && _node$dataset$errorme !== void 0 ? _node$dataset$errorme : '',
777
+ lineNode: node,
778
+ lineIndex: index
779
+ };
780
+ errors.push(errorItem);
781
+ }
782
+ });
783
+ this.asProps.onErrorsChange(errors);
784
+ }
785
+ }, {
786
+ key: "recalculateLinesCount",
787
+ value: function recalculateLinesCount() {
788
+ var _this8 = this;
789
+ if (this.linesCountTimeout) {
790
+ clearTimeout(this.linesCountTimeout);
791
+ }
792
+ this.linesCountTimeout = window.setTimeout(function () {
793
+ var lines = 0;
794
+ var _this8$asProps = _this8.asProps,
795
+ maxLines = _this8$asProps.maxLines,
796
+ linesCount = _this8$asProps.linesCount;
797
+ _this8.textarea.childNodes.forEach(function (node, index) {
798
+ if (node instanceof HTMLParagraphElement) {
799
+ node.dataset.overMaxRows = 'false';
800
+ if (node.textContent !== _this8.getEmptyParagraph().textContent && node.textContent !== '') {
801
+ lines++;
802
+ if (lines > maxLines) {
803
+ node.dataset.overMaxRows = 'true';
804
+ }
805
+ }
806
+ }
807
+ });
808
+ if (linesCount !== lines) {
809
+ _this8.asProps.onChangeLinesCount(lines);
810
+ }
811
+ }, 100);
812
+ }
813
+ }, {
814
+ key: "getValues",
815
+ value: function getValues() {
816
+ var values = [];
817
+ this.textarea.childNodes.forEach(function (node) {
818
+ var _node$textContent;
819
+ values.push((_node$textContent = node.textContent) !== null && _node$textContent !== void 0 ? _node$textContent : '');
820
+ });
821
+ return values;
822
+ }
823
+ }, {
824
+ key: "toggleErrorsPopperByKeyboard",
825
+ value: function toggleErrorsPopperByKeyboard(timer) {
826
+ var _this9 = this;
827
+ if (this.toggleErrorsPopperTimeout) {
828
+ clearTimeout(this.toggleErrorsPopperTimeout);
829
+ }
830
+ if (!this.isScrolling) {
831
+ setTimeout(function () {
832
+ var rowNode = _this9.getNodeFromSelection();
833
+ _this9.toggleErrorsPopper('keyboardLineIndex', rowNode, timer);
834
+ }, 0);
835
+ } else {
836
+ this.toggleErrorsPopperTimeout = window.setTimeout(function () {
837
+ _this9.toggleErrorsPopperByKeyboard(timer);
838
+ }, 50);
839
+ }
840
+ }
841
+ }, {
842
+ key: "toggleErrorsPopper",
843
+ value: function toggleErrorsPopper(key, target, timer) {
844
+ var _this10 = this;
845
+ if (target instanceof HTMLDivElement || target instanceof HTMLParagraphElement) {
846
+ if (this.changeTriggerTimeout) {
847
+ clearTimeout(this.changeTriggerTimeout);
848
+ }
849
+ this.changeTriggerTimeout = window.setTimeout(function () {
850
+ var targetElement = target === _this10.textarea ? _this10.getNodeFromSelection() : target;
851
+ var lineIndex = -1;
852
+ var isInvalidRow = false;
853
+ if (targetElement instanceof HTMLParagraphElement) {
854
+ isInvalidRow = targetElement.getAttribute('aria-invalid') === 'true';
855
+ lineIndex = Array.from(_this10.textarea.childNodes).indexOf(targetElement);
856
+ } else if (targetElement === _this10.textarea) {
857
+ lineIndex = 0;
858
+ }
859
+ if (targetElement instanceof HTMLElement) {
860
+ _this10.setState(function (prevState) {
861
+ var newState = {
862
+ visibleErrorPopper: _this10.isFocusing ? true : isInvalidRow,
863
+ mouseLineIndex: prevState.mouseLineIndex,
864
+ keyboardLineIndex: prevState.keyboardLineIndex
865
+ };
866
+ if (_this10.isFocusing || key === 'mouseLineIndex' && isInvalidRow) {
867
+ newState[key] = lineIndex;
868
+ }
869
+ return newState;
870
+ }, function () {
871
+ var _this10$setPopperTrig;
872
+ var trigger = isInvalidRow ? targetElement : _this10.textarea;
873
+ (_this10$setPopperTrig = _this10.setPopperTrigger) === null || _this10$setPopperTrig === void 0 ? void 0 : _this10$setPopperTrig.call(_this10, trigger);
874
+ _this10.forceUpdate();
875
+ });
876
+ }
877
+ }, timer !== null && timer !== void 0 ? timer : 50);
878
+ } else {
879
+ this.setState({
880
+ visibleErrorPopper: false
881
+ });
882
+ }
883
+ }
884
+ }, {
885
+ key: "toggleAriaInvalid",
886
+ value: function toggleAriaInvalid(showErrors, errorsLength) {
887
+ if (showErrors && errorsLength > 0) {
888
+ this.textarea.setAttribute('aria-describedby', this.popperDescribedId);
889
+ this.textarea.setAttribute('aria-invalid', 'true');
890
+ } else {
891
+ this.textarea.removeAttribute('aria-invalid');
892
+ this.textarea.removeAttribute('aria-describedby');
893
+ }
894
+ }
895
+ }, {
896
+ key: "handleChangeErrorIndex",
897
+ value: function handleChangeErrorIndex(errorIndex) {
898
+ var _error$lineNode,
899
+ _this11 = this;
900
+ var error = this.asProps.errors[errorIndex];
901
+ var childNodes = this.textarea.childNodes;
902
+ var node = error ? (_error$lineNode = error.lineNode) !== null && _error$lineNode !== void 0 ? _error$lineNode : childNodes.item(error.lineIndex) : null;
903
+ var selection = document.getSelection();
904
+ if (selection && node instanceof HTMLParagraphElement) {
905
+ this.setState({
906
+ visibleErrorPopper: false
907
+ });
908
+ setTimeout(function () {
909
+ var text = node.childNodes.item(0);
910
+ if (text instanceof Text) {
911
+ _this11.setSelection(text, 0, text.length);
912
+ } else {
913
+ _this11.setSelection(node, 0, 1);
914
+ }
915
+ }, 150);
916
+ }
917
+ }
918
+ }, {
919
+ key: "validateLine",
920
+ value: function validateLine(node) {
921
+ var lineValidation = this.asProps.lineValidation;
922
+ if (lineValidation && node instanceof HTMLElement) {
923
+ var _node$textContent2;
924
+ var _lineValidation = lineValidation((_node$textContent2 = node.textContent) !== null && _node$textContent2 !== void 0 ? _node$textContent2 : '', this.getValues()),
925
+ isValid = _lineValidation.isValid,
926
+ errorMessage = _lineValidation.errorMessage;
927
+ if (!isValid) {
928
+ node.setAttribute('aria-invalid', 'true');
929
+ node.dataset.errormessage = errorMessage;
930
+ } else {
931
+ node.removeAttribute('aria-invalid');
932
+ node.dataset.errormessage = undefined;
933
+ }
934
+ return isValid;
935
+ }
936
+ return true;
937
+ }
938
+ }, {
939
+ key: "setSelection",
940
+ value: function setSelection(node, start, end) {
941
+ var scrollType = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'center';
942
+ var selection = document.getSelection();
943
+ var range = document.createRange();
944
+ range.setStart(node, start);
945
+ range.setEnd(node, end);
946
+ selection === null || selection === void 0 ? void 0 : selection.removeAllRanges();
947
+ selection === null || selection === void 0 ? void 0 : selection.addRange(range);
948
+ var nodeToScroll = node instanceof Text ? node.parentNode : node;
949
+ if (nodeToScroll instanceof HTMLElement) {
950
+ nodeToScroll.scrollIntoView({
951
+ block: scrollType,
952
+ inline: scrollType,
953
+ behavior: 'smooth'
954
+ });
955
+ }
956
+ }
957
+ }, {
958
+ key: "getNodeFromSelection",
959
+ value: function getNodeFromSelection() {
960
+ var selection = document.getSelection();
961
+ var rowNode = (selection === null || selection === void 0 ? void 0 : selection.focusNode) instanceof Text ? selection.focusNode.parentNode : selection === null || selection === void 0 ? void 0 : selection.focusNode;
962
+ return rowNode !== null && rowNode !== void 0 ? rowNode : null;
963
+ }
964
+ }, {
965
+ key: "handleCursorMovement",
966
+ value: function handleCursorMovement(currentNode, event) {
967
+ var nextNode = null;
968
+ switch (event.key) {
969
+ case 'ArrowUp':
970
+ event.preventDefault();
971
+ nextNode = currentNode.previousSibling;
972
+ break;
973
+ case 'ArrowDown':
974
+ event.preventDefault();
975
+ nextNode = currentNode.nextSibling;
976
+ break;
977
+ case 'ArrowLeft':
978
+ {
979
+ if (currentNode.textContent === this.getEmptyParagraph().textContent) {
980
+ event.preventDefault();
981
+ nextNode = currentNode.previousSibling;
982
+ }
983
+ break;
984
+ }
985
+ case 'ArrowRight':
986
+ {
987
+ if (currentNode.textContent === this.getEmptyParagraph().textContent) {
988
+ event.preventDefault();
989
+ nextNode = currentNode.nextSibling;
990
+ }
991
+ }
992
+ }
993
+ if (nextNode instanceof HTMLParagraphElement) {
994
+ var _nextNode$textContent, _nextNode$textContent2, _selection$focusOffse;
995
+ var selection = document.getSelection();
996
+ var firstNode = nextNode.childNodes.item(0);
997
+ var nodeToSetSelection = firstNode instanceof Text ? firstNode : nextNode;
998
+ var textNode = (_nextNode$textContent = (_nextNode$textContent2 = nextNode.textContent) === null || _nextNode$textContent2 === void 0 ? void 0 : _nextNode$textContent2.trim()) !== null && _nextNode$textContent !== void 0 ? _nextNode$textContent : '';
999
+ var currentOffset = (_selection$focusOffse = selection === null || selection === void 0 ? void 0 : selection.focusOffset) !== null && _selection$focusOffse !== void 0 ? _selection$focusOffse : 0;
1000
+ var offset = currentOffset <= textNode.length ? currentOffset : textNode.length;
1001
+
1002
+ // it only works if node is empty, that's why here we could set 0 or node.length
1003
+ if (event.key === 'ArrowLeft') {
1004
+ offset = textNode.length;
1005
+ } else if (event.key === 'ArrowRight') {
1006
+ offset = 0;
1007
+ }
1008
+ this.setSelection(nodeToSetSelection, offset, offset, 'nearest');
1009
+ }
1010
+ }
1011
+ }, {
1012
+ key: "setErrorIndex",
1013
+ value: function setErrorIndex(nodeToCompare) {
1014
+ var errorIndex = Array.from(this.textarea.childNodes).filter(function (node) {
1015
+ return node instanceof Element && node.getAttribute('aria-invalid') === 'true';
1016
+ }).findIndex(function (node) {
1017
+ return node === nodeToCompare;
1018
+ });
1019
+ this.handlers.errorIndex(errorIndex);
1020
+ }
1021
+ }, {
1022
+ key: "isDeleteKey",
1023
+ value: function isDeleteKey(event) {
1024
+ return event.key === 'Backspace' || event.key === 'x' && (event.ctrlKey || event.metaKey);
1025
+ }
1026
+ }, {
1027
+ key: "getEmptyParagraph",
1028
+ value: function getEmptyParagraph() {
1029
+ var element = document.createElement('p');
1030
+ element.innerHTML = this.emptyLineValue;
1031
+ return element;
1032
+ }
1033
+ }, {
1034
+ key: "addEventListeners",
1035
+ value: function addEventListeners(textarea) {
1036
+ textarea.addEventListener('paste', this.handlePaste);
1037
+ textarea.addEventListener('input', this.handleChange);
1038
+ textarea.addEventListener('focus', this.handleFocus);
1039
+ textarea.addEventListener('blur', this.handleBlur);
1040
+ textarea.addEventListener('keydown', this.handleKeyDown);
1041
+ textarea.addEventListener('mousedown', this.handleMouseDown);
1042
+ textarea.addEventListener('mousemove', this.handleMouseMove);
1043
+ textarea.addEventListener('mouseleave', this.handleMouseLeave);
1044
+ textarea.addEventListener('scroll', this.handleScroll);
1045
+ textarea.removeEventListener('keydown', this.handleSelectAll);
1046
+ }
1047
+ }, {
1048
+ key: "removeEventListeners",
1049
+ value: function removeEventListeners(textarea) {
1050
+ textarea.removeEventListener('paste', this.handlePaste);
1051
+ textarea.removeEventListener('input', this.handleChange);
1052
+ textarea.removeEventListener('focus', this.handleFocus);
1053
+ textarea.removeEventListener('blur', this.handleBlur);
1054
+ textarea.removeEventListener('keydown', this.handleKeyDown);
1055
+ textarea.removeEventListener('mousedown', this.handleMouseDown);
1056
+ textarea.removeEventListener('mousemove', this.handleMouseMove);
1057
+ textarea.removeEventListener('mouseleave', this.handleMouseLeave);
1058
+ textarea.removeEventListener('scroll', this.handleScroll);
1059
+ textarea.addEventListener('keydown', this.handleSelectAll);
1060
+ }
1061
+ }, {
1062
+ key: "handleSelectAll",
1063
+ value: function handleSelectAll(event) {
1064
+ if (event.key === 'a' && (event.metaKey || event.ctrlKey)) {
1065
+ event.preventDefault();
1066
+ var node = event.target;
1067
+ if (node instanceof HTMLElement && node === this.textarea) {
1068
+ this.setSelection(node, 0, node.childNodes.length);
1069
+ }
1070
+ }
1071
+ }
1072
+ }, {
1073
+ key: "isRangeSelection",
1074
+ value: function isRangeSelection() {
1075
+ var selection = document.getSelection();
1076
+ return (selection === null || selection === void 0 ? void 0 : selection.focusNode) !== (selection === null || selection === void 0 ? void 0 : selection.anchorNode) || (selection === null || selection === void 0 ? void 0 : selection.focusOffset) !== (selection === null || selection === void 0 ? void 0 : selection.anchorOffset);
1077
+ }
1078
+ }, {
1079
+ key: "getSelectionDirection",
1080
+ value: function getSelectionDirection() {
1081
+ var selection = document.getSelection();
1082
+ if (selection !== null && selection !== void 0 && selection.anchorNode && selection !== null && selection !== void 0 && selection.focusNode) {
1083
+ var documentPosition = selection.anchorNode.compareDocumentPosition(selection.focusNode);
1084
+ if (documentPosition === 0 && selection.anchorOffset > selection.focusOffset ||
1085
+ // if nodes are the same
1086
+ documentPosition === Node.DOCUMENT_POSITION_PRECEDING) {
1087
+ return 'backward';
1088
+ }
1089
+ return 'forward';
1090
+ }
1091
+ return null;
1092
+ }
1093
+ }]);
1094
+ return InputField;
1095
+ }(_core.Component);
1096
+ exports.InputField = InputField;
1097
+ (0, _defineProperty2["default"])(InputField, "displayName", 'Textarea');
1098
+ (0, _defineProperty2["default"])(InputField, "style", style);
1099
+ (0, _defineProperty2["default"])(InputField, "enhance", [(0, _uniqueID["default"])()]);
1100
+ (0, _defineProperty2["default"])(InputField, "defaultProps", {
1101
+ defaultValue: '',
1102
+ size: 'm',
1103
+ state: 'normal',
1104
+ minRows: 2,
1105
+ maxRows: 10,
1106
+ defaultShowErrors: false,
1107
+ defaultErrorIndex: -1,
1108
+ defaultLinesCount: 0
1109
+ });
1110
+ //# sourceMappingURL=InputField.js.map