intergalactic 15.107.0 → 15.108.0-prerelease.1

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 (639) hide show
  1. package/CHANGELOG.md +53 -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/animation/lib/cjs/Animation.js +11 -11
  6. package/animation/lib/cjs/Collapse.js +28 -28
  7. package/animation/lib/cjs/FadeInOut.js +28 -28
  8. package/animation/lib/cjs/Scale.js +28 -28
  9. package/animation/lib/cjs/Slide.js +28 -28
  10. package/animation/lib/cjs/Transform.js +28 -28
  11. package/animation/lib/es6/Animation.js +11 -11
  12. package/animation/lib/es6/Collapse.js +28 -28
  13. package/animation/lib/es6/FadeInOut.js +28 -28
  14. package/animation/lib/es6/Scale.js +28 -28
  15. package/animation/lib/es6/Slide.js +28 -28
  16. package/animation/lib/es6/Transform.js +28 -28
  17. package/animation/package.json +1 -1
  18. package/badge/lib/cjs/Badge.js +6 -6
  19. package/badge/lib/es6/Badge.js +6 -6
  20. package/badge/package.json +1 -1
  21. package/base-trigger/lib/cjs/BaseTrigger.js +18 -18
  22. package/base-trigger/lib/cjs/ButtonTrigger.js +3 -3
  23. package/base-trigger/lib/cjs/FilterTrigger.js +7 -7
  24. package/base-trigger/lib/cjs/LinkTrigger.js +12 -12
  25. package/base-trigger/lib/es6/BaseTrigger.js +18 -18
  26. package/base-trigger/lib/es6/ButtonTrigger.js +3 -3
  27. package/base-trigger/lib/es6/FilterTrigger.js +7 -7
  28. package/base-trigger/lib/es6/LinkTrigger.js +12 -12
  29. package/base-trigger/package.json +1 -1
  30. package/breadcrumbs/lib/cjs/Breadcrumbs.js +8 -8
  31. package/breadcrumbs/lib/es6/Breadcrumbs.js +8 -8
  32. package/breadcrumbs/package.json +1 -1
  33. package/breakpoints/package.json +1 -1
  34. package/button/component/AbstractButton/AbstractButton.d.ts +24 -0
  35. package/button/component/AbstractButton/AbstractButton.type.d.ts +39 -0
  36. package/button/component/AbstractButton/SpinButton.d.ts +3 -0
  37. package/button/component/Button/Button.d.ts +3 -0
  38. package/button/component/Button/Button.type.d.ts +39 -0
  39. package/button/component/ButtonLink/ButtonLink.d.ts +2 -0
  40. package/button/component/ButtonLink/ButtonLink.type.d.ts +25 -0
  41. package/button/index.d.ts +5 -68
  42. package/button/lib/cjs/component/AbstractButton/AbstractButton.js +182 -0
  43. package/button/lib/cjs/component/AbstractButton/AbstractButton.js.map +1 -0
  44. package/button/lib/cjs/component/AbstractButton/AbstractButton.type.js +2 -0
  45. package/button/lib/cjs/component/AbstractButton/AbstractButton.type.js.map +1 -0
  46. package/button/lib/cjs/component/AbstractButton/SpinButton.js.map +1 -0
  47. package/button/lib/cjs/component/Button/Button.js +94 -0
  48. package/button/lib/cjs/component/Button/Button.js.map +1 -0
  49. package/button/lib/cjs/component/Button/Button.type.js +2 -0
  50. package/button/lib/cjs/component/Button/Button.type.js.map +1 -0
  51. package/button/lib/cjs/{style → component/Button}/button.shadow.css +1 -1
  52. package/button/lib/cjs/component/ButtonLink/ButtonLink.js +92 -0
  53. package/button/lib/cjs/component/ButtonLink/ButtonLink.js.map +1 -0
  54. package/button/lib/cjs/component/ButtonLink/ButtonLink.type.js +2 -0
  55. package/button/lib/cjs/component/ButtonLink/ButtonLink.type.js.map +1 -0
  56. package/button/lib/cjs/component/ButtonLink/buttonLink.shadow.css +160 -0
  57. package/button/lib/cjs/index.js +40 -6
  58. package/button/lib/cjs/index.js.map +1 -1
  59. package/button/lib/es6/component/AbstractButton/AbstractButton.js +175 -0
  60. package/button/lib/es6/component/AbstractButton/AbstractButton.js.map +1 -0
  61. package/button/lib/es6/component/AbstractButton/AbstractButton.type.js +2 -0
  62. package/button/lib/es6/component/AbstractButton/AbstractButton.type.js.map +1 -0
  63. package/button/lib/es6/component/AbstractButton/SpinButton.js.map +1 -0
  64. package/button/lib/es6/component/Button/Button.js +87 -0
  65. package/button/lib/es6/component/Button/Button.js.map +1 -0
  66. package/button/lib/es6/component/Button/Button.type.js +2 -0
  67. package/button/lib/es6/component/Button/Button.type.js.map +1 -0
  68. package/button/lib/es6/{style → component/Button}/button.shadow.css +1 -1
  69. package/button/lib/es6/component/ButtonLink/ButtonLink.js +85 -0
  70. package/button/lib/es6/component/ButtonLink/ButtonLink.js.map +1 -0
  71. package/button/lib/es6/component/ButtonLink/ButtonLink.type.js +2 -0
  72. package/button/lib/es6/component/ButtonLink/ButtonLink.type.js.map +1 -0
  73. package/button/lib/es6/component/ButtonLink/buttonLink.shadow.css +160 -0
  74. package/button/lib/es6/index.js +5 -2
  75. package/button/lib/es6/index.js.map +1 -1
  76. package/button/lib/types/component/AbstractButton/AbstractButton.d.ts +24 -0
  77. package/button/lib/types/component/AbstractButton/AbstractButton.type.d.ts +39 -0
  78. package/button/lib/types/component/AbstractButton/SpinButton.d.ts +3 -0
  79. package/button/lib/types/component/Button/Button.d.ts +3 -0
  80. package/button/lib/types/component/Button/Button.type.d.ts +39 -0
  81. package/button/lib/types/component/ButtonLink/ButtonLink.d.ts +2 -0
  82. package/button/lib/types/component/ButtonLink/ButtonLink.type.d.ts +25 -0
  83. package/button/lib/types/index.d.ts +5 -68
  84. package/button/package.json +1 -1
  85. package/card/lib/cjs/Card.js +19 -22
  86. package/card/lib/cjs/Card.js.map +1 -1
  87. package/card/lib/cjs/style/card.shadow.css +13 -15
  88. package/card/lib/es6/Card.js +19 -22
  89. package/card/lib/es6/Card.js.map +1 -1
  90. package/card/lib/es6/style/card.shadow.css +13 -15
  91. package/card/package.json +1 -1
  92. package/carousel/lib/cjs/Carousel.js +79 -57
  93. package/carousel/lib/cjs/Carousel.js.map +1 -1
  94. package/carousel/lib/cjs/style/carousel.shadow.css +48 -4
  95. package/carousel/lib/cjs/translations/de.json +4 -2
  96. package/carousel/lib/cjs/translations/en.json +4 -2
  97. package/carousel/lib/cjs/translations/es.json +4 -2
  98. package/carousel/lib/cjs/translations/fr.json +4 -2
  99. package/carousel/lib/cjs/translations/it.json +4 -2
  100. package/carousel/lib/cjs/translations/ja.json +4 -2
  101. package/carousel/lib/cjs/translations/ko.json +4 -2
  102. package/carousel/lib/cjs/translations/nl.json +4 -2
  103. package/carousel/lib/cjs/translations/pl.json +4 -2
  104. package/carousel/lib/cjs/translations/pt.json +4 -2
  105. package/carousel/lib/cjs/translations/sv.json +4 -2
  106. package/carousel/lib/cjs/translations/tr.json +4 -2
  107. package/carousel/lib/cjs/translations/vi.json +4 -2
  108. package/carousel/lib/cjs/translations/zh.json +4 -2
  109. package/carousel/lib/es6/Carousel.js +79 -57
  110. package/carousel/lib/es6/Carousel.js.map +1 -1
  111. package/carousel/lib/es6/style/carousel.shadow.css +48 -4
  112. package/carousel/lib/es6/translations/de.json +4 -2
  113. package/carousel/lib/es6/translations/en.json +4 -2
  114. package/carousel/lib/es6/translations/es.json +4 -2
  115. package/carousel/lib/es6/translations/fr.json +4 -2
  116. package/carousel/lib/es6/translations/it.json +4 -2
  117. package/carousel/lib/es6/translations/ja.json +4 -2
  118. package/carousel/lib/es6/translations/ko.json +4 -2
  119. package/carousel/lib/es6/translations/nl.json +4 -2
  120. package/carousel/lib/es6/translations/pl.json +4 -2
  121. package/carousel/lib/es6/translations/pt.json +4 -2
  122. package/carousel/lib/es6/translations/sv.json +4 -2
  123. package/carousel/lib/es6/translations/tr.json +4 -2
  124. package/carousel/lib/es6/translations/vi.json +4 -2
  125. package/carousel/lib/es6/translations/zh.json +4 -2
  126. package/carousel/lib/types/translations/__intergalactic-dynamic-locales.d.ts +28 -0
  127. package/carousel/package.json +1 -1
  128. package/carousel/translations/__intergalactic-dynamic-locales.d.ts +28 -0
  129. package/checkbox/lib/cjs/Checkbox.js +18 -18
  130. package/checkbox/lib/es6/Checkbox.js +18 -18
  131. package/checkbox/package.json +1 -1
  132. package/color-picker/lib/cjs/ColorPicker.js +24 -24
  133. package/color-picker/lib/cjs/PaletteManager.js +24 -24
  134. package/color-picker/lib/cjs/components/InputColor.js +24 -24
  135. package/color-picker/lib/es6/ColorPicker.js +24 -24
  136. package/color-picker/lib/es6/PaletteManager.js +24 -24
  137. package/color-picker/lib/es6/components/InputColor.js +24 -24
  138. package/color-picker/package.json +1 -1
  139. package/components.json +73 -73
  140. package/core/package.json +1 -1
  141. package/counter/lib/cjs/Counter.js +11 -11
  142. package/counter/lib/es6/Counter.js +11 -11
  143. package/counter/package.json +1 -1
  144. package/d3-chart/lib/cjs/Area.js +11 -11
  145. package/d3-chart/lib/cjs/Axis.js +14 -14
  146. package/d3-chart/lib/cjs/Bar.js +16 -16
  147. package/d3-chart/lib/cjs/Bubble.js +12 -12
  148. package/d3-chart/lib/cjs/CompactHorizontalBar.js +16 -16
  149. package/d3-chart/lib/cjs/Donut.js +9 -9
  150. package/d3-chart/lib/cjs/Dots.js +8 -8
  151. package/d3-chart/lib/cjs/HorizontalBar.js +16 -16
  152. package/d3-chart/lib/cjs/Hover.js +3 -3
  153. package/d3-chart/lib/cjs/Line.js +9 -9
  154. package/d3-chart/lib/cjs/Plot.js +3 -3
  155. package/d3-chart/lib/cjs/Radar.js +19 -19
  156. package/d3-chart/lib/cjs/RadialTree.js +12 -12
  157. package/d3-chart/lib/cjs/Reference.js +12 -12
  158. package/d3-chart/lib/cjs/ScatterPlot.js +9 -9
  159. package/d3-chart/lib/cjs/Tooltip.js +9 -9
  160. package/d3-chart/lib/cjs/Venn.js +9 -9
  161. package/d3-chart/lib/cjs/a11y/PlotA11yModule.js +2 -2
  162. package/d3-chart/lib/cjs/a11y/PlotA11yView.js +2 -2
  163. package/d3-chart/lib/cjs/component/ChartLegend/LegendFlex/LegendFlex.js +4 -4
  164. package/d3-chart/lib/cjs/component/ChartLegend/LegendItem/LegendItem.js +17 -17
  165. package/d3-chart/lib/cjs/component/ChartLegend/LegendTable/LegendTable.js +6 -6
  166. package/d3-chart/lib/es6/Area.js +11 -11
  167. package/d3-chart/lib/es6/Axis.js +14 -14
  168. package/d3-chart/lib/es6/Bar.js +16 -16
  169. package/d3-chart/lib/es6/Bubble.js +12 -12
  170. package/d3-chart/lib/es6/CompactHorizontalBar.js +16 -16
  171. package/d3-chart/lib/es6/Donut.js +9 -9
  172. package/d3-chart/lib/es6/Dots.js +8 -8
  173. package/d3-chart/lib/es6/HorizontalBar.js +16 -16
  174. package/d3-chart/lib/es6/Hover.js +3 -3
  175. package/d3-chart/lib/es6/Line.js +9 -9
  176. package/d3-chart/lib/es6/Plot.js +3 -3
  177. package/d3-chart/lib/es6/Radar.js +19 -19
  178. package/d3-chart/lib/es6/RadialTree.js +12 -12
  179. package/d3-chart/lib/es6/Reference.js +12 -12
  180. package/d3-chart/lib/es6/ScatterPlot.js +9 -9
  181. package/d3-chart/lib/es6/Tooltip.js +9 -9
  182. package/d3-chart/lib/es6/Venn.js +9 -9
  183. package/d3-chart/lib/es6/a11y/PlotA11yModule.js +2 -2
  184. package/d3-chart/lib/es6/a11y/PlotA11yView.js +2 -2
  185. package/d3-chart/lib/es6/component/ChartLegend/LegendFlex/LegendFlex.js +4 -4
  186. package/d3-chart/lib/es6/component/ChartLegend/LegendItem/LegendItem.js +17 -17
  187. package/d3-chart/lib/es6/component/ChartLegend/LegendTable/LegendTable.js +6 -6
  188. package/d3-chart/package.json +1 -1
  189. package/data-table/Body.d.ts +4 -1
  190. package/data-table/DataTable.d.ts +15 -58
  191. package/data-table/Head.d.ts +8 -2
  192. package/data-table/lib/cjs/Body.js +62 -12
  193. package/data-table/lib/cjs/Body.js.map +1 -1
  194. package/data-table/lib/cjs/DataTable.js +206 -45
  195. package/data-table/lib/cjs/DataTable.js.map +1 -1
  196. package/data-table/lib/cjs/Head.js +87 -16
  197. package/data-table/lib/cjs/Head.js.map +1 -1
  198. package/data-table/lib/cjs/style/data-table.shadow.css +14 -0
  199. package/data-table/lib/cjs/translations/__intergalactic-dynamic-locales.js +39 -0
  200. package/data-table/lib/cjs/translations/__intergalactic-dynamic-locales.js.map +1 -0
  201. package/data-table/lib/cjs/translations/de.json +3 -0
  202. package/data-table/lib/cjs/translations/en.json +3 -0
  203. package/data-table/lib/cjs/translations/es.json +3 -0
  204. package/data-table/lib/cjs/translations/fr.json +3 -0
  205. package/data-table/lib/cjs/translations/it.json +3 -0
  206. package/data-table/lib/cjs/translations/ja.json +3 -0
  207. package/data-table/lib/cjs/translations/ko.json +3 -0
  208. package/data-table/lib/cjs/translations/nl.json +3 -0
  209. package/data-table/lib/cjs/translations/pl.json +3 -0
  210. package/data-table/lib/cjs/translations/pt.json +3 -0
  211. package/data-table/lib/cjs/translations/sv.json +3 -0
  212. package/data-table/lib/cjs/translations/tr.json +3 -0
  213. package/data-table/lib/cjs/translations/vi.json +3 -0
  214. package/data-table/lib/cjs/translations/zh.json +3 -0
  215. package/data-table/lib/cjs/types.js.map +1 -1
  216. package/data-table/lib/es6/Body.js +62 -12
  217. package/data-table/lib/es6/Body.js.map +1 -1
  218. package/data-table/lib/es6/DataTable.js +207 -45
  219. package/data-table/lib/es6/DataTable.js.map +1 -1
  220. package/data-table/lib/es6/Head.js +87 -16
  221. package/data-table/lib/es6/Head.js.map +1 -1
  222. package/data-table/lib/es6/style/data-table.shadow.css +14 -0
  223. package/data-table/lib/es6/translations/__intergalactic-dynamic-locales.js +31 -0
  224. package/data-table/lib/es6/translations/__intergalactic-dynamic-locales.js.map +1 -0
  225. package/data-table/lib/es6/translations/de.json +3 -0
  226. package/data-table/lib/es6/translations/en.json +3 -0
  227. package/data-table/lib/es6/translations/es.json +3 -0
  228. package/data-table/lib/es6/translations/fr.json +3 -0
  229. package/data-table/lib/es6/translations/it.json +3 -0
  230. package/data-table/lib/es6/translations/ja.json +3 -0
  231. package/data-table/lib/es6/translations/ko.json +3 -0
  232. package/data-table/lib/es6/translations/nl.json +3 -0
  233. package/data-table/lib/es6/translations/pl.json +3 -0
  234. package/data-table/lib/es6/translations/pt.json +3 -0
  235. package/data-table/lib/es6/translations/sv.json +3 -0
  236. package/data-table/lib/es6/translations/tr.json +3 -0
  237. package/data-table/lib/es6/translations/vi.json +3 -0
  238. package/data-table/lib/es6/translations/zh.json +3 -0
  239. package/data-table/lib/es6/types.js.map +1 -1
  240. package/data-table/lib/types/Body.d.ts +4 -1
  241. package/data-table/lib/types/DataTable.d.ts +15 -58
  242. package/data-table/lib/types/Head.d.ts +8 -2
  243. package/data-table/lib/types/translations/__intergalactic-dynamic-locales.d.ts +44 -0
  244. package/data-table/lib/types/types.d.ts +2 -0
  245. package/data-table/package.json +1 -1
  246. package/data-table/translations/__intergalactic-dynamic-locales.d.ts +44 -0
  247. package/data-table/types.d.ts +2 -0
  248. package/date-picker/lib/cjs/components/Calendar.js +21 -21
  249. package/date-picker/lib/cjs/components/DateRangeComparatorAbstract.js +29 -29
  250. package/date-picker/lib/cjs/components/InputTrigger.js +29 -29
  251. package/date-picker/lib/cjs/components/PickerAbstract.js +29 -29
  252. package/date-picker/lib/cjs/components/RangePickerAbstract.js +29 -29
  253. package/date-picker/lib/es6/components/Calendar.js +21 -21
  254. package/date-picker/lib/es6/components/DateRangeComparatorAbstract.js +29 -29
  255. package/date-picker/lib/es6/components/InputTrigger.js +29 -29
  256. package/date-picker/lib/es6/components/PickerAbstract.js +29 -29
  257. package/date-picker/lib/es6/components/RangePickerAbstract.js +29 -29
  258. package/date-picker/package.json +1 -1
  259. package/divider/lib/cjs/Divider.js +10 -10
  260. package/divider/lib/es6/Divider.js +10 -10
  261. package/divider/package.json +1 -1
  262. package/dot/lib/cjs/Dot.js +10 -10
  263. package/dot/lib/es6/Dot.js +10 -10
  264. package/dot/package.json +1 -1
  265. package/drag-and-drop/lib/cjs/DragAndDrop.js +16 -16
  266. package/drag-and-drop/lib/es6/DragAndDrop.js +16 -16
  267. package/drag-and-drop/package.json +1 -1
  268. package/dropdown/lib/cjs/Dropdown.js +2 -2
  269. package/dropdown/lib/es6/Dropdown.js +2 -2
  270. package/dropdown/package.json +1 -1
  271. package/dropdown-menu/lib/cjs/DropdownMenu.js +25 -25
  272. package/dropdown-menu/lib/cjs/DropdownMenuOld.js +21 -21
  273. package/dropdown-menu/lib/es6/DropdownMenu.js +25 -25
  274. package/dropdown-menu/lib/es6/DropdownMenuOld.js +21 -21
  275. package/dropdown-menu/package.json +1 -1
  276. package/ellipsis/lib/cjs/Ellipsis.js +10 -10
  277. package/ellipsis/lib/es6/Ellipsis.js +10 -10
  278. package/ellipsis/package.json +1 -1
  279. package/errors/lib/cjs/Error.js +9 -9
  280. package/errors/lib/es6/Error.js +9 -9
  281. package/errors/package.json +1 -1
  282. package/feature-popover/lib/cjs/FeaturePopover.js +11 -11
  283. package/feature-popover/lib/es6/FeaturePopover.js +11 -11
  284. package/feature-popover/package.json +1 -1
  285. package/feedback-form/lib/cjs/FeedbackForm.js +7 -7
  286. package/feedback-form/lib/cjs/component/checkbox-button/CheckboxButton.js +3 -3
  287. package/feedback-form/lib/cjs/component/feedback-rating/FeedbackRating.js +2 -2
  288. package/feedback-form/lib/cjs/component/slider-rating/SliderRating.js +6 -6
  289. package/feedback-form/lib/es6/FeedbackForm.js +7 -7
  290. package/feedback-form/lib/es6/component/checkbox-button/CheckboxButton.js +3 -3
  291. package/feedback-form/lib/es6/component/feedback-rating/FeedbackRating.js +2 -2
  292. package/feedback-form/lib/es6/component/slider-rating/SliderRating.js +6 -6
  293. package/feedback-form/package.json +1 -1
  294. package/flags/lib/cjs/Flags.js +3 -3
  295. package/flags/lib/es6/Flags.js +3 -3
  296. package/flags/lib/sprites/sprite@1x.css +256 -256
  297. package/flags/lib/sprites/sprite@2x.css +257 -257
  298. package/flags/package.json +1 -1
  299. package/flex-box/lib/cjs/Box/useBox.js +3 -3
  300. package/flex-box/lib/cjs/Flex/useFlex.js +3 -3
  301. package/flex-box/lib/cjs/invalid-state-box/InvalidStateBox.js +2 -2
  302. package/flex-box/lib/es6/Box/useBox.js +3 -3
  303. package/flex-box/lib/es6/Flex/useFlex.js +3 -3
  304. package/flex-box/lib/es6/invalid-state-box/InvalidStateBox.js +2 -2
  305. package/flex-box/package.json +1 -1
  306. package/format-text/lib/cjs/FormatText.js +5 -5
  307. package/format-text/lib/es6/FormatText.js +5 -5
  308. package/format-text/package.json +1 -1
  309. package/fullscreen-modal/lib/cjs/FullscreenModal.js +13 -13
  310. package/fullscreen-modal/lib/es6/FullscreenModal.js +13 -13
  311. package/fullscreen-modal/package.json +1 -1
  312. package/grid/lib/cjs/Grid.js +114 -114
  313. package/grid/lib/es6/Grid.js +114 -114
  314. package/grid/package.json +1 -1
  315. package/i18n-unplugin/package.json +1 -1
  316. package/icon/color/Confluence/l/index.js +4 -4
  317. package/icon/color/Confluence/l/index.mjs +4 -4
  318. package/icon/color/Confluence/m/index.js +4 -4
  319. package/icon/color/Confluence/m/index.mjs +4 -4
  320. package/icon/color/MicrosoftOffice/l/index.js +10 -10
  321. package/icon/color/MicrosoftOffice/l/index.mjs +10 -10
  322. package/icon/color/MicrosoftOffice/m/index.js +10 -10
  323. package/icon/color/MicrosoftOffice/m/index.mjs +10 -10
  324. package/icon/lib/cjs/Icon.js +6 -6
  325. package/icon/lib/es6/Icon.js +6 -6
  326. package/icon/package.json +1 -1
  327. package/icon/pay/Discover/l/index.js +1 -1
  328. package/icon/pay/Discover/l/index.mjs +1 -1
  329. package/icon/pay/Discover/m/index.js +1 -1
  330. package/icon/pay/Discover/m/index.mjs +1 -1
  331. package/icon/pay/JCB/l/index.js +10 -10
  332. package/icon/pay/JCB/l/index.mjs +10 -10
  333. package/icon/pay/JCB/m/index.js +10 -10
  334. package/icon/pay/JCB/m/index.mjs +10 -10
  335. package/icon/pay/Visa/l/index.js +2 -2
  336. package/icon/pay/Visa/l/index.mjs +2 -2
  337. package/icon/pay/Visa/m/index.js +2 -2
  338. package/icon/pay/Visa/m/index.mjs +2 -2
  339. package/illustration/lib/cjs/index.js +1 -1
  340. package/illustration/lib/es6/index.js +1 -1
  341. package/illustration/package.json +1 -1
  342. package/inline-edit/lib/cjs/InlineEdit.js +4 -4
  343. package/inline-edit/lib/es6/InlineEdit.js +4 -4
  344. package/inline-edit/package.json +1 -1
  345. package/inline-input/index.d.ts +11 -2
  346. package/inline-input/lib/cjs/InlineInput.js +31 -35
  347. package/inline-input/lib/cjs/InlineInput.js.map +1 -1
  348. package/inline-input/lib/cjs/index.d.js.map +1 -1
  349. package/inline-input/lib/cjs/style/inline-input.shadow.css +1 -1
  350. package/inline-input/lib/es6/InlineInput.js +31 -35
  351. package/inline-input/lib/es6/InlineInput.js.map +1 -1
  352. package/inline-input/lib/es6/index.d.js.map +1 -1
  353. package/inline-input/lib/es6/style/inline-input.shadow.css +1 -1
  354. package/inline-input/lib/types/index.d.ts +11 -2
  355. package/inline-input/package.json +1 -1
  356. package/input/lib/cjs/Input.js +17 -17
  357. package/input/lib/es6/Input.js +17 -17
  358. package/input/package.json +1 -1
  359. package/input-mask/lib/cjs/InputMask.js +6 -6
  360. package/input-mask/lib/es6/InputMask.js +6 -6
  361. package/input-mask/package.json +1 -1
  362. package/input-number/lib/cjs/InputNumber.js +9 -9
  363. package/input-number/lib/es6/InputNumber.js +9 -9
  364. package/input-number/package.json +1 -1
  365. package/input-tags/InputTags.d.ts +1 -0
  366. package/input-tags/lib/cjs/InputTags.js +67 -36
  367. package/input-tags/lib/cjs/InputTags.js.map +1 -1
  368. package/input-tags/lib/cjs/style/input-tag.shadow.css +2 -2
  369. package/input-tags/lib/cjs/translations/__intergalactic-dynamic-locales.js +39 -0
  370. package/input-tags/lib/cjs/translations/__intergalactic-dynamic-locales.js.map +1 -0
  371. package/input-tags/lib/cjs/translations/de.json +3 -0
  372. package/input-tags/lib/cjs/translations/en.json +3 -0
  373. package/input-tags/lib/cjs/translations/es.json +3 -0
  374. package/input-tags/lib/cjs/translations/fr.json +3 -0
  375. package/input-tags/lib/cjs/translations/it.json +3 -0
  376. package/input-tags/lib/cjs/translations/ja.json +3 -0
  377. package/input-tags/lib/cjs/translations/ko.json +3 -0
  378. package/input-tags/lib/cjs/translations/nl.json +3 -0
  379. package/input-tags/lib/cjs/translations/pl.json +3 -0
  380. package/input-tags/lib/cjs/translations/pt.json +3 -0
  381. package/input-tags/lib/cjs/translations/sv.json +3 -0
  382. package/input-tags/lib/cjs/translations/tr.json +3 -0
  383. package/input-tags/lib/cjs/translations/vi.json +3 -0
  384. package/input-tags/lib/cjs/translations/zh.json +3 -0
  385. package/input-tags/lib/es6/InputTags.js +68 -36
  386. package/input-tags/lib/es6/InputTags.js.map +1 -1
  387. package/input-tags/lib/es6/style/input-tag.shadow.css +2 -2
  388. package/input-tags/lib/es6/translations/__intergalactic-dynamic-locales.js +31 -0
  389. package/input-tags/lib/es6/translations/__intergalactic-dynamic-locales.js.map +1 -0
  390. package/input-tags/lib/es6/translations/de.json +3 -0
  391. package/input-tags/lib/es6/translations/en.json +3 -0
  392. package/input-tags/lib/es6/translations/es.json +3 -0
  393. package/input-tags/lib/es6/translations/fr.json +3 -0
  394. package/input-tags/lib/es6/translations/it.json +3 -0
  395. package/input-tags/lib/es6/translations/ja.json +3 -0
  396. package/input-tags/lib/es6/translations/ko.json +3 -0
  397. package/input-tags/lib/es6/translations/nl.json +3 -0
  398. package/input-tags/lib/es6/translations/pl.json +3 -0
  399. package/input-tags/lib/es6/translations/pt.json +3 -0
  400. package/input-tags/lib/es6/translations/sv.json +3 -0
  401. package/input-tags/lib/es6/translations/tr.json +3 -0
  402. package/input-tags/lib/es6/translations/vi.json +3 -0
  403. package/input-tags/lib/es6/translations/zh.json +3 -0
  404. package/input-tags/lib/types/InputTags.d.ts +1 -0
  405. package/input-tags/lib/types/translations/__intergalactic-dynamic-locales.d.ts +44 -0
  406. package/input-tags/package.json +1 -1
  407. package/input-tags/translations/__intergalactic-dynamic-locales.d.ts +44 -0
  408. package/link/lib/cjs/Link.js +12 -12
  409. package/link/lib/es6/Link.js +12 -12
  410. package/link/package.json +1 -1
  411. package/mini-chart/lib/cjs/component/score/Donut.js +9 -9
  412. package/mini-chart/lib/cjs/component/score/Line.js +17 -17
  413. package/mini-chart/lib/cjs/component/trend/Bar.js +7 -7
  414. package/mini-chart/lib/cjs/component/trend/Line.js +7 -7
  415. package/mini-chart/lib/es6/component/score/Donut.js +9 -9
  416. package/mini-chart/lib/es6/component/score/Line.js +17 -17
  417. package/mini-chart/lib/es6/component/trend/Bar.js +7 -7
  418. package/mini-chart/lib/es6/component/trend/Line.js +7 -7
  419. package/mini-chart/package.json +1 -1
  420. package/modal/lib/cjs/Modal.js +8 -8
  421. package/modal/lib/es6/Modal.js +8 -8
  422. package/modal/package.json +1 -1
  423. package/neighbor-location/package.json +1 -1
  424. package/notice/lib/cjs/Notice.js +14 -14
  425. package/notice/lib/es6/Notice.js +14 -14
  426. package/notice/package.json +1 -1
  427. package/notice-bubble/lib/cjs/NoticeBubble.js +15 -15
  428. package/notice-bubble/lib/es6/NoticeBubble.js +15 -15
  429. package/notice-bubble/package.json +1 -1
  430. package/notice-global/lib/cjs/NoticeGlobal.js +11 -11
  431. package/notice-global/lib/es6/NoticeGlobal.js +11 -11
  432. package/notice-global/package.json +1 -1
  433. package/outside-click/package.json +1 -1
  434. package/package.json +1 -1
  435. package/pagination/lib/cjs/Pagination.js +12 -16
  436. package/pagination/lib/cjs/Pagination.js.map +1 -1
  437. package/pagination/lib/es6/Pagination.js +12 -16
  438. package/pagination/lib/es6/Pagination.js.map +1 -1
  439. package/pagination/package.json +1 -1
  440. package/pills/lib/cjs/Pills.js +13 -13
  441. package/pills/lib/es6/Pills.js +13 -13
  442. package/pills/package.json +1 -1
  443. package/popper/lib/cjs/Popper.js +6 -6
  444. package/popper/lib/es6/Popper.js +6 -6
  445. package/popper/package.json +1 -1
  446. package/portal/package.json +1 -1
  447. package/product-head/lib/cjs/Info.js +4 -4
  448. package/product-head/lib/cjs/ProductHead.js +5 -5
  449. package/product-head/lib/cjs/Title.js +4 -4
  450. package/product-head/lib/es6/Info.js +4 -4
  451. package/product-head/lib/es6/ProductHead.js +5 -5
  452. package/product-head/lib/es6/Title.js +4 -4
  453. package/product-head/package.json +1 -1
  454. package/progress-bar/lib/cjs/ProgressBar.js +15 -15
  455. package/progress-bar/lib/es6/ProgressBar.js +15 -15
  456. package/progress-bar/package.json +1 -1
  457. package/radio/lib/cjs/Radio.js +16 -16
  458. package/radio/lib/es6/Radio.js +16 -16
  459. package/radio/package.json +1 -1
  460. package/scroll-area/lib/cjs/ScrollArea.js +21 -21
  461. package/scroll-area/lib/cjs/ScrollBar.js +6 -6
  462. package/scroll-area/lib/es6/ScrollArea.js +21 -21
  463. package/scroll-area/lib/es6/ScrollBar.js +6 -6
  464. package/scroll-area/package.json +1 -1
  465. package/select/lib/cjs/InputSearch.js +6 -6
  466. package/select/lib/cjs/Select.js +8 -8
  467. package/select/lib/es6/InputSearch.js +6 -6
  468. package/select/lib/es6/Select.js +8 -8
  469. package/select/package.json +1 -1
  470. package/side-panel/lib/cjs/SidePanel.js +23 -28
  471. package/side-panel/lib/cjs/SidePanel.js.map +1 -1
  472. package/side-panel/lib/cjs/style/side-panel.shadow.css +8 -30
  473. package/side-panel/lib/es6/SidePanel.js +23 -28
  474. package/side-panel/lib/es6/SidePanel.js.map +1 -1
  475. package/side-panel/lib/es6/style/side-panel.shadow.css +8 -30
  476. package/side-panel/package.json +1 -1
  477. package/skeleton/lib/cjs/Charts/Area.js +9 -9
  478. package/skeleton/lib/cjs/Charts/Bar.js +9 -9
  479. package/skeleton/lib/cjs/Charts/Bubble.js +9 -9
  480. package/skeleton/lib/cjs/Charts/CompactHorizontalBar.js +9 -9
  481. package/skeleton/lib/cjs/Charts/Donut.js +9 -9
  482. package/skeleton/lib/cjs/Charts/Histogram.js +9 -9
  483. package/skeleton/lib/cjs/Charts/Line.js +9 -9
  484. package/skeleton/lib/cjs/Charts/RadialTree.js +9 -9
  485. package/skeleton/lib/cjs/Charts/ScatterPlot.js +9 -9
  486. package/skeleton/lib/cjs/Charts/Venn.js +9 -9
  487. package/skeleton/lib/cjs/Skeleton.js +8 -8
  488. package/skeleton/lib/es6/Charts/Area.js +9 -9
  489. package/skeleton/lib/es6/Charts/Bar.js +9 -9
  490. package/skeleton/lib/es6/Charts/Bubble.js +9 -9
  491. package/skeleton/lib/es6/Charts/CompactHorizontalBar.js +9 -9
  492. package/skeleton/lib/es6/Charts/Donut.js +9 -9
  493. package/skeleton/lib/es6/Charts/Histogram.js +9 -9
  494. package/skeleton/lib/es6/Charts/Line.js +9 -9
  495. package/skeleton/lib/es6/Charts/RadialTree.js +9 -9
  496. package/skeleton/lib/es6/Charts/ScatterPlot.js +9 -9
  497. package/skeleton/lib/es6/Charts/Venn.js +9 -9
  498. package/skeleton/lib/es6/Skeleton.js +8 -8
  499. package/skeleton/package.json +1 -1
  500. package/slider/lib/cjs/Slider.js +8 -8
  501. package/slider/lib/es6/Slider.js +8 -8
  502. package/slider/package.json +1 -1
  503. package/spin/lib/cjs/Spin.js +13 -13
  504. package/spin/lib/es6/Spin.js +13 -13
  505. package/spin/package.json +1 -1
  506. package/spin-container/lib/cjs/SpinContainer.js +8 -8
  507. package/spin-container/lib/es6/SpinContainer.js +8 -8
  508. package/spin-container/package.json +1 -1
  509. package/sticky/lib/cjs/Sticky.js +2 -2
  510. package/sticky/lib/es6/Sticky.js +2 -2
  511. package/sticky/package.json +1 -1
  512. package/switch/lib/cjs/Switch.js +21 -21
  513. package/switch/lib/es6/Switch.js +21 -21
  514. package/switch/package.json +1 -1
  515. package/tab-line/lib/cjs/TabLine.js +13 -13
  516. package/tab-line/lib/es6/TabLine.js +13 -13
  517. package/tab-line/package.json +1 -1
  518. package/tab-panel/lib/cjs/TabPanel.js +8 -8
  519. package/tab-panel/lib/es6/TabPanel.js +8 -8
  520. package/tab-panel/package.json +1 -1
  521. package/tag/index.d.ts +2 -0
  522. package/tag/lib/cjs/Tag.js +167 -95
  523. package/tag/lib/cjs/Tag.js.map +1 -1
  524. package/tag/lib/cjs/index.d.js.map +1 -1
  525. package/tag/lib/cjs/style/tag.shadow.css +125 -90
  526. package/tag/lib/cjs/translations/de.json +1 -1
  527. package/tag/lib/cjs/translations/en.json +1 -1
  528. package/tag/lib/cjs/translations/es.json +1 -1
  529. package/tag/lib/cjs/translations/fr.json +1 -1
  530. package/tag/lib/cjs/translations/it.json +1 -1
  531. package/tag/lib/cjs/translations/ja.json +1 -1
  532. package/tag/lib/cjs/translations/ko.json +1 -1
  533. package/tag/lib/cjs/translations/nl.json +1 -1
  534. package/tag/lib/cjs/translations/pl.json +1 -1
  535. package/tag/lib/cjs/translations/pt.json +1 -1
  536. package/tag/lib/cjs/translations/sv.json +1 -1
  537. package/tag/lib/cjs/translations/tr.json +1 -1
  538. package/tag/lib/cjs/translations/vi.json +1 -1
  539. package/tag/lib/cjs/translations/zh.json +1 -1
  540. package/tag/lib/es6/Tag.js +168 -95
  541. package/tag/lib/es6/Tag.js.map +1 -1
  542. package/tag/lib/es6/index.d.js.map +1 -1
  543. package/tag/lib/es6/style/tag.shadow.css +125 -90
  544. package/tag/lib/es6/translations/de.json +1 -1
  545. package/tag/lib/es6/translations/en.json +1 -1
  546. package/tag/lib/es6/translations/es.json +1 -1
  547. package/tag/lib/es6/translations/fr.json +1 -1
  548. package/tag/lib/es6/translations/it.json +1 -1
  549. package/tag/lib/es6/translations/ja.json +1 -1
  550. package/tag/lib/es6/translations/ko.json +1 -1
  551. package/tag/lib/es6/translations/nl.json +1 -1
  552. package/tag/lib/es6/translations/pl.json +1 -1
  553. package/tag/lib/es6/translations/pt.json +1 -1
  554. package/tag/lib/es6/translations/sv.json +1 -1
  555. package/tag/lib/es6/translations/tr.json +1 -1
  556. package/tag/lib/es6/translations/vi.json +1 -1
  557. package/tag/lib/es6/translations/zh.json +1 -1
  558. package/tag/lib/types/index.d.ts +2 -0
  559. package/tag/package.json +1 -1
  560. package/textarea/lib/cjs/Textarea.js +8 -8
  561. package/textarea/lib/es6/Textarea.js +8 -8
  562. package/textarea/package.json +1 -1
  563. package/time-picker/lib/cjs/TimePicker.js +12 -12
  564. package/time-picker/lib/es6/TimePicker.js +12 -12
  565. package/time-picker/package.json +1 -1
  566. package/tooltip/lib/cjs/Tooltip.js +9 -9
  567. package/tooltip/lib/es6/Tooltip.js +9 -9
  568. package/tooltip/package.json +1 -1
  569. package/typography/lib/cjs/Blockquote.js +4 -4
  570. package/typography/lib/cjs/Hint.js +7 -7
  571. package/typography/lib/cjs/List.js +5 -5
  572. package/typography/lib/cjs/Text.js +34 -34
  573. package/typography/lib/es6/Blockquote.js +4 -4
  574. package/typography/lib/es6/Hint.js +7 -7
  575. package/typography/lib/es6/List.js +5 -5
  576. package/typography/lib/es6/Text.js +34 -34
  577. package/typography/package.json +1 -1
  578. package/utils/lib/components/invalid-state-pattern/InvalidStatePattern.js +2 -2
  579. package/utils/lib/components/invalid-state-pattern/InvalidStatePattern.mjs +2 -2
  580. package/utils/lib/focus-lock/isFocusable.js +6 -1
  581. package/utils/lib/focus-lock/isFocusable.js.map +1 -1
  582. package/utils/lib/focus-lock/isFocusable.mjs +6 -1
  583. package/utils/lib/focus-lock/isFocusable.mjs.map +1 -1
  584. package/utils/lib/injectStyle.js +1 -1
  585. package/utils/lib/injectStyle.mjs +1 -1
  586. package/widget-empty/lib/cjs/WidgetEmpty.js +5 -5
  587. package/widget-empty/lib/es6/WidgetEmpty.js +5 -5
  588. package/widget-empty/package.json +1 -1
  589. package/wizard/index.d.ts +17 -0
  590. package/wizard/lib/cjs/Wizard.js +201 -47
  591. package/wizard/lib/cjs/Wizard.js.map +1 -1
  592. package/wizard/lib/cjs/index.d.js.map +1 -1
  593. package/wizard/lib/cjs/style/wizard.shadow.css +4 -0
  594. package/wizard/lib/cjs/translations/de.json +3 -1
  595. package/wizard/lib/cjs/translations/en.json +3 -1
  596. package/wizard/lib/cjs/translations/es.json +3 -1
  597. package/wizard/lib/cjs/translations/fr.json +3 -1
  598. package/wizard/lib/cjs/translations/it.json +3 -1
  599. package/wizard/lib/cjs/translations/ja.json +3 -1
  600. package/wizard/lib/cjs/translations/ko.json +3 -1
  601. package/wizard/lib/cjs/translations/nl.json +3 -1
  602. package/wizard/lib/cjs/translations/pl.json +3 -1
  603. package/wizard/lib/cjs/translations/pt.json +3 -1
  604. package/wizard/lib/cjs/translations/sv.json +3 -1
  605. package/wizard/lib/cjs/translations/tr.json +3 -1
  606. package/wizard/lib/cjs/translations/vi.json +3 -1
  607. package/wizard/lib/cjs/translations/zh.json +3 -1
  608. package/wizard/lib/es6/Wizard.js +203 -47
  609. package/wizard/lib/es6/Wizard.js.map +1 -1
  610. package/wizard/lib/es6/index.d.js.map +1 -1
  611. package/wizard/lib/es6/style/wizard.shadow.css +4 -0
  612. package/wizard/lib/es6/translations/de.json +3 -1
  613. package/wizard/lib/es6/translations/en.json +3 -1
  614. package/wizard/lib/es6/translations/es.json +3 -1
  615. package/wizard/lib/es6/translations/fr.json +3 -1
  616. package/wizard/lib/es6/translations/it.json +3 -1
  617. package/wizard/lib/es6/translations/ja.json +3 -1
  618. package/wizard/lib/es6/translations/ko.json +3 -1
  619. package/wizard/lib/es6/translations/nl.json +3 -1
  620. package/wizard/lib/es6/translations/pl.json +3 -1
  621. package/wizard/lib/es6/translations/pt.json +3 -1
  622. package/wizard/lib/es6/translations/sv.json +3 -1
  623. package/wizard/lib/es6/translations/tr.json +3 -1
  624. package/wizard/lib/es6/translations/vi.json +3 -1
  625. package/wizard/lib/es6/translations/zh.json +3 -1
  626. package/wizard/lib/types/index.d.ts +17 -0
  627. package/wizard/package.json +1 -1
  628. package/button/lib/cjs/Button.js +0 -237
  629. package/button/lib/cjs/Button.js.map +0 -1
  630. package/button/lib/cjs/SpinButton.js.map +0 -1
  631. package/button/lib/cjs/index.d.js +0 -2
  632. package/button/lib/cjs/index.d.js.map +0 -1
  633. package/button/lib/es6/Button.js +0 -231
  634. package/button/lib/es6/Button.js.map +0 -1
  635. package/button/lib/es6/SpinButton.js.map +0 -1
  636. package/button/lib/es6/index.d.js +0 -2
  637. package/button/lib/es6/index.d.js.map +0 -1
  638. /package/button/lib/cjs/{SpinButton.js → component/AbstractButton/SpinButton.js} +0 -0
  639. /package/button/lib/es6/{SpinButton.js → component/AbstractButton/SpinButton.js} +0 -0
@@ -23,6 +23,8 @@ var _assignProps2 = require("intergalactic/utils/lib/assignProps");
23
23
  var _utils = require("./utils");
24
24
  var _logger = _interopRequireDefault(require("intergalactic/utils/lib/logger"));
25
25
  var _ref4 = require("intergalactic/utils/lib/ref");
26
+ var _getFocusableIn = require("intergalactic/utils/lib/focus-lock/getFocusableIn");
27
+ var _ScreenReaderOnly = require("intergalactic/utils/lib/ScreenReaderOnly");
26
28
  var SORT_ICON_WIDTH = 20;
27
29
  exports.SORT_ICON_WIDTH = SORT_ICON_WIDTH;
28
30
  var SORTING_ICON = {
@@ -55,8 +57,57 @@ var Head = /*#__PURE__*/function (_Component) {
55
57
  }
56
58
  _this = _super.call.apply(_super, [this].concat(args));
57
59
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "columns", []);
60
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "headCellMap", new Map());
61
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "lockedCell", [null, false]);
58
62
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "sortWrapperRefs", new Map());
59
63
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "defaultWidths", new Map());
64
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleKeyDown", function (e) {
65
+ if (e.currentTarget === _this.lockedCell[0]) {
66
+ var focusableChildren = Array.from(_this.lockedCell[0].children).flatMap(function (node) {
67
+ return (0, _getFocusableIn.getFocusableIn)(node);
68
+ });
69
+ if (_this.lockedCell[1]) {
70
+ if (e.key === 'Escape') {
71
+ var _this$lockedCell$;
72
+ (_this$lockedCell$ = _this.lockedCell[0]) === null || _this$lockedCell$ === void 0 ? void 0 : _this$lockedCell$.focus();
73
+ _this.lockedCell[1] = false;
74
+ }
75
+ if (e.key.startsWith('Arrow')) {
76
+ e.stopPropagation();
77
+ }
78
+ if (e.key === 'Tab') {
79
+ if (e.target === focusableChildren[0] && e.shiftKey) {
80
+ var _focusableChildren;
81
+ (_focusableChildren = focusableChildren[focusableChildren.length - 1]) === null || _focusableChildren === void 0 ? void 0 : _focusableChildren.focus();
82
+ e.preventDefault();
83
+ } else if (e.target === focusableChildren[focusableChildren.length - 1] && !e.shiftKey) {
84
+ var _focusableChildren$;
85
+ (_focusableChildren$ = focusableChildren[0]) === null || _focusableChildren$ === void 0 ? void 0 : _focusableChildren$.focus();
86
+ e.preventDefault();
87
+ }
88
+ }
89
+ } else if (e.key === 'Enter') {
90
+ var _focusableChildren$2;
91
+ _this.lockedCell[1] = true;
92
+ (_focusableChildren$2 = focusableChildren[0]) === null || _focusableChildren$2 === void 0 ? void 0 : _focusableChildren$2.focus();
93
+ } else if (e.key === 'Tab') {
94
+ var _this$lockedCell$2;
95
+ (_this$lockedCell$2 = _this.lockedCell[0]) === null || _this$lockedCell$2 === void 0 ? void 0 : _this$lockedCell$2.setAttribute('inert', '');
96
+ }
97
+ }
98
+ });
99
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onFocusCell", function (e) {
100
+ if (e.target === e.currentTarget) {
101
+ var focusableChildren = Array.from(e.currentTarget.children).flatMap(function (node) {
102
+ return (0, _getFocusableIn.getFocusableIn)(node);
103
+ });
104
+ if (focusableChildren.length === 1) {
105
+ focusableChildren[0].focus();
106
+ } else if (focusableChildren.length > 1) {
107
+ _this.lockedCell = [e.currentTarget, false];
108
+ }
109
+ }
110
+ });
60
111
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "bindHandlerSortClick", function (name) {
61
112
  return function (event) {
62
113
  _this.asProps.$onSortClick(name, event);
@@ -77,9 +128,10 @@ var Head = /*#__PURE__*/function (_Component) {
77
128
  }
78
129
  };
79
130
  });
80
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "makeColumnRefHandler", function (column) {
131
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "makeColumnRefHandler", function (column, index) {
81
132
  return function (ref) {
82
133
  (0, _ref4.setRef)(column.props.ref, ref);
134
+ _this.headCellMap.set(index, ref);
83
135
  if (column.props.forwardRef) {
84
136
  (0, _ref4.setRef)(column.props.forwardRef, ref);
85
137
  }
@@ -174,6 +226,12 @@ var Head = /*#__PURE__*/function (_Component) {
174
226
  return _this;
175
227
  }
176
228
  (0, _createClass2["default"])(Head, [{
229
+ key: "sortableColumnDescribeId",
230
+ value: function sortableColumnDescribeId() {
231
+ var uid = this.asProps.uid;
232
+ return "".concat(uid, "-column-sortable-describer");
233
+ }
234
+ }, {
177
235
  key: "componentDidUpdate",
178
236
  value: function componentDidUpdate() {
179
237
  var _this2 = this;
@@ -221,7 +279,6 @@ var Head = /*#__PURE__*/function (_Component) {
221
279
  _getFixedStyle2 = (0, _slicedToArray2["default"])(_getFixedStyle, 2),
222
280
  name = _getFixedStyle2[0],
223
281
  value = _getFixedStyle2[1];
224
- _logger["default"].warn(column.props.wMax && column.props.sortSizeRecalculation, "You can't use 'sortSizeRecalculation' property with 'wMax' property", "".concat(this.asProps['data-ui-name'] || Head.displayName, "_column_").concat(column.name));
225
282
  var style = (0, _objectSpread2["default"])({
226
283
  flexBasis: column.props.flex === undefined && "".concat(width * cSize, "%")
227
284
  }, column.props.style);
@@ -231,6 +288,17 @@ var Head = /*#__PURE__*/function (_Component) {
231
288
  if (!column.setVar) {
232
289
  style['flexBasis'] = "var(".concat(column.varWidth, ")");
233
290
  }
291
+ var ariaDescribedBy = [];
292
+ if (column.sortable && !column.active) {
293
+ ariaDescribedBy.push(this.sortableColumnDescribeId());
294
+ }
295
+ if (column.parentColumns.length > 0) {
296
+ var parentName = column.parentColumns[0].name;
297
+ ariaDescribedBy.push("igc-table-".concat(uid, "-").concat(parentName, "-group"));
298
+ }
299
+ var index = this.columns.findIndex(function (flattenCol) {
300
+ return flattenCol.name === column.name;
301
+ });
234
302
  return _ref2 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SColumn, _ref2.cn("SColumn", (0, _objectSpread2["default"])((0, _objectSpread2["default"])({
235
303
  "role": isGroup ? undefined : 'columnheader',
236
304
  "scope": isGroup ? 'colgroup' : 'col',
@@ -244,17 +312,20 @@ var Head = /*#__PURE__*/function (_Component) {
244
312
  "borderRight": isGroup ? false : column.borderRight,
245
313
  "active": isGroup ? false : column.active,
246
314
  "group": isGroup,
247
- "tabIndex": column.sortable ? 0 : undefined,
315
+ "tabIndex": -1,
248
316
  "__excludeProps": ['hidden']
249
317
  }, column.props), {}, {
250
- "ref": this.makeColumnRefHandler(column),
318
+ "ref": this.makeColumnRefHandler(column, index),
251
319
  "onClick": (0, _assignProps2.callAllEventHandlers)(column.props.onClick, column.sortable ? this.bindHandlerSortClick(column.name) : undefined),
252
- "onKeyDown": (0, _assignProps2.callAllEventHandlers)(column.props.onKeyDown, column.sortable ? this.bindHandlerKeyDown(column.name) : undefined),
320
+ "onKeyDown": (0, _assignProps2.callAllEventHandlers)(column.props.onKeyDown, column.sortable ? this.bindHandlerKeyDown(column.name) : undefined, this.handleKeyDown),
253
321
  "style": style,
254
322
  "hidden": hidden,
255
- "aria-sort": ariaSortValue
323
+ "aria-sort": ariaSortValue,
324
+ "aria-colindex": index + 1,
325
+ "onFocus": this.onFocusCell,
326
+ "aria-describedby": ariaDescribedBy.length > 0 ? ariaDescribedBy.join(' ') : undefined
256
327
  })), isGroup ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(SColumn, _ref2.cn("SColumn", {
257
- "role": 'columnheader',
328
+ "id": "igc-table-".concat(uid, "-").concat(column.name, "-group"),
258
329
  "groupHead": true,
259
330
  "use": use,
260
331
  "active": column.active,
@@ -279,7 +350,8 @@ var Head = /*#__PURE__*/function (_Component) {
279
350
  $scrollRef = _this$asProps2.$scrollRef,
280
351
  sticky = _this$asProps2.sticky,
281
352
  withScrollBar = _this$asProps2.withScrollBar,
282
- animationsDisabled = _this$asProps2.animationsDisabled;
353
+ animationsDisabled = _this$asProps2.animationsDisabled,
354
+ getI18nText = _this$asProps2.getI18nText;
283
355
  this.columns = (0, _utils.flattenColumns)(columnsChildren);
284
356
  var _getScrollOffsetValue = (0, _utils.getScrollOffsetValue)(this.columns),
285
357
  _getScrollOffsetValue2 = (0, _slicedToArray2["default"])(_getScrollOffsetValue, 2),
@@ -301,20 +373,19 @@ var Head = /*#__PURE__*/function (_Component) {
301
373
  zIndex: 2
302
374
  }, /*#__PURE__*/_react["default"].createElement(SHead, _ref3.cn("SHead", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
303
375
  "role": 'row',
304
- "aria-rowindex": '1',
305
376
  "__excludeProps": ['hidden']
306
377
  }, _ref))), this.renderColumns(columnsChildren, 100 / this.columns.length))), Boolean(withScrollBar) && /*#__PURE__*/_react["default"].createElement("div", _ref3.cn("div", {
307
- "style": displayContents,
308
- "role": 'rowgroup'
378
+ "style": displayContents
309
379
  }), /*#__PURE__*/_react["default"].createElement("div", _ref3.cn("div", {
310
- "style": displayContents,
311
- "role": 'row'
380
+ "style": displayContents
312
381
  }), /*#__PURE__*/_react["default"].createElement("div", _ref3.cn("div", {
313
- "style": displayContents,
314
- "role": 'cell'
382
+ "style": displayContents
315
383
  }), /*#__PURE__*/_react["default"].createElement(_scrollArea["default"].Bar, {
316
384
  orientation: "horizontal"
317
- }))))), Children.origin);
385
+ }))))), Children.origin, /*#__PURE__*/_react["default"].createElement(_ScreenReaderOnly.ScreenReaderOnly, _ref3.cn("ScreenReaderOnly", {
386
+ "aria-hidden": true,
387
+ "id": this.sortableColumnDescribeId()
388
+ }), getI18nText === null || getI18nText === void 0 ? void 0 : getI18nText('sortableColumn')));
318
389
  }
319
390
  }]);
320
391
  return Head;
@@ -1 +1 @@
1
- {"version":3,"file":"Head.js","names":["_core","require","_react","_interopRequireDefault","_flexBox","_scrollArea","_m","_m2","_assignProps2","_utils","_logger","_ref4","SORT_ICON_WIDTH","exports","SORTING_ICON","desc","SortDesc","asc","SortAsc","ariaSort","displayContents","display","cssToIntDefault","value","defaultValue","arguments","length","undefined","result","parseFloat","Number","isNaN","Math","round","Head","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","Map","name","event","asProps","$onSortClick","key","preventDefault","active","ref","sortWrapperRefs","set","column","setRef","props","forwardRef","getAttribute","defaultWidths","has","computedStyle","window","getComputedStyle","minWidth","getPropertyValue","computedWidth","maxWidth","useForRecalculation","Boolean","sortSizeRecalculation","diff","exceptNode","lastMaxWidth","node","recalculatedNodes","forEach","push","setNodeMinWidth","_this$defaultWidths$g","_this$defaultWidths$g2","defaultNodeWidth","get","defaultNodeMinWidth","style","setProperty","diffPart","_this$defaultWidths$g3","_this$defaultWidths$g4","defaultNodeMaxWidth","removeProperty","_this$defaultWidths$g5","_this$defaultWidths$g6","clonedColumn","document","createElement","childNodes","append","cloneNode","styles","getPropertyPriority","body","appendChild","ceil","getBoundingClientRect","width","removeChild","changeMaxNodeWidth","freeSpace","_createClass2","componentDidUpdate","_this2","activeColumn","columns","_column$props","changeSortSize","current","backToColumnDefaults","calculateActiveColumnMinWidth","renderColumns","_this3","map","renderColumn","_ref2","_column$columns","_this$asProps","use","hidden","uid","SColumn","Flex","SHead","Box","SSortWrapper","SSortIcon","sortDirection","ariaSortValue","sortable","isGroup","cSize","flattenColumns","_getFixedStyle","getFixedStyle","_getFixedStyle2","_slicedToArray2","logger","warn","wMax","displayName","_objectSpread2","flexBasis","flex","setVar","varWidth","sstyled","cn","fixed","resizable","borderLeft","borderRight","makeColumnRefHandler","callAllEventHandlers","onClick","bindHandlerSortClick","onKeyDown","bindHandlerKeyDown","Fragment","children","makeSortRefHandler","render","_ref","_ref3","SHeadWrapper","_this$asProps2","Children","columnsChildren","onResize","$scrollRef","sticky","withScrollBar","animationsDisabled","_getScrollOffsetValue","getScrollOffsetValue","_getScrollOffsetValue2","offsetLeftSum","offsetRightSum","Container","role","tabIndex","zIndex","assignProps","Bar","orientation","origin","Component","_default"],"sources":["../../src/Head.tsx"],"sourcesContent":["import React from 'react';\nimport { Component, sstyled, Root } from '@semcore/core';\nimport { Box, Flex } from '@semcore/flex-box';\nimport ScrollArea from '@semcore/scroll-area';\nimport SortDesc from '@semcore/icon/SortDesc/m';\nimport SortAsc from '@semcore/icon/SortAsc/m';\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport { flattenColumns, getFixedStyle, getScrollOffsetValue } from './utils';\nimport type { Column } from './types';\nimport logger from '@semcore/utils/lib/logger';\nimport { setRef } from '@semcore/utils/lib/ref';\n\nexport const SORT_ICON_WIDTH = 20;\n\nconst SORTING_ICON = {\n desc: SortDesc,\n asc: SortAsc,\n} as const;\nconst ariaSort = {\n desc: 'descending',\n asc: 'ascending',\n} as const;\nconst displayContents = { display: 'contents' };\n\nfunction cssToIntDefault(value: string, defaultValue = 0) {\n let result = parseFloat(value);\n if (Number.isNaN(result)) {\n result = defaultValue;\n }\n\n return Math.round(result);\n}\n\ntype AsProps = {\n $onSortClick: (name: string, event: React.MouseEvent | React.KeyboardEvent) => void;\n $scrollRef: (instance: unknown) => void;\n use: 'primary' | 'secondary';\n columnsChildren: Column[];\n onResize: ResizeObserverCallback;\n sticky: boolean;\n ['data-ui-name']: string;\n uid?: string;\n withScrollBar?: boolean;\n animationsDisabled?: boolean;\n};\n\nclass Head extends Component<AsProps> {\n columns: Column[] = [];\n\n static displayName: string;\n\n sortWrapperRefs = new Map<Node, boolean>();\n defaultWidths = new Map<\n HTMLElement,\n {\n minWidth: number;\n maxWidth: number | null;\n computedWidth: number;\n useForRecalculation: boolean;\n }\n >();\n\n bindHandlerSortClick = (name: string) => (event: React.MouseEvent) => {\n this.asProps.$onSortClick(name, event);\n };\n\n bindHandlerKeyDown = (name: string) => (event: React.KeyboardEvent) => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n this.asProps.$onSortClick(name, event);\n }\n };\n\n makeSortRefHandler = (active: boolean) => (ref: HTMLElement | null) => {\n if (ref) {\n this.sortWrapperRefs.set(ref, active);\n }\n };\n\n makeColumnRefHandler = (column: Column) => (ref: HTMLElement | null) => {\n setRef(column.props.ref, ref);\n if (column.props.forwardRef) {\n setRef(column.props.forwardRef, ref);\n }\n\n if (ref && ref.getAttribute('scope') === 'col') {\n if (!this.defaultWidths.has(ref)) {\n const computedStyle = window.getComputedStyle(ref);\n\n this.defaultWidths.set(ref, {\n minWidth: cssToIntDefault(computedStyle.getPropertyValue('min-width')),\n computedWidth: cssToIntDefault(computedStyle.getPropertyValue('width')),\n maxWidth: cssToIntDefault(computedStyle.getPropertyValue('max-width')) || null,\n useForRecalculation: Boolean(column.props.sortSizeRecalculation),\n });\n }\n }\n };\n\n componentDidUpdate() {\n let activeColumn: HTMLElement | null = null;\n\n this.columns.forEach((column) => {\n const { changeSortSize, ref } = column.props;\n\n if (column.active && changeSortSize && ref.current) {\n activeColumn = ref.current;\n }\n\n if (ref.current) {\n this.backToColumnDefaults(ref.current);\n }\n });\n\n if (activeColumn) {\n this.calculateActiveColumnMinWidth(activeColumn);\n }\n }\n\n changeMaxNodeWidth = (diff: number, exceptNode: HTMLElement) => {\n let lastMaxWidth = 0;\n let node: HTMLElement | null = null;\n const recalculatedNodes: HTMLElement[] = [];\n\n this.defaultWidths.forEach((value, key) => {\n if (value.computedWidth > lastMaxWidth && key !== exceptNode) {\n node = key;\n lastMaxWidth = value.computedWidth;\n }\n if (value.useForRecalculation) {\n recalculatedNodes.push(key);\n }\n });\n\n const setNodeMinWidth = (node: HTMLElement, diff: number) => {\n const defaultNodeWidth = this.defaultWidths.get(node)?.computedWidth;\n const defaultNodeMinWidth = this.defaultWidths.get(node)?.minWidth;\n\n if (defaultNodeWidth) {\n const maxWidth = defaultNodeWidth - diff;\n node.style.setProperty('max-width', `${maxWidth}px`);\n\n if (defaultNodeMinWidth) {\n node.style.setProperty('min-width', `min(${maxWidth}px, ${defaultNodeMinWidth}px)`);\n }\n }\n };\n\n if (recalculatedNodes.length > 0) {\n const diffPart = diff / recalculatedNodes.length;\n\n recalculatedNodes.forEach((node) => {\n setNodeMinWidth(node, diffPart);\n });\n } else if (node !== null) {\n setNodeMinWidth(node, diff);\n }\n };\n\n backToColumnDefaults = (node: HTMLElement) => {\n const defaultNodeMinWidth = this.defaultWidths.get(node)?.minWidth;\n const defaultNodeMaxWidth = this.defaultWidths.get(node)?.maxWidth;\n\n node.style.setProperty('min-width', defaultNodeMinWidth + 'px');\n\n if (defaultNodeMaxWidth) {\n node.style.setProperty('max-width', defaultNodeMaxWidth + 'px');\n } else {\n node.style.removeProperty('max-width');\n }\n };\n\n calculateActiveColumnMinWidth = (node: HTMLElement) => {\n const clonedColumn = document.createElement('div');\n const computedStyle = window.getComputedStyle(node);\n\n node.childNodes.forEach((node) => {\n if (!this.sortWrapperRefs.get(node)) {\n clonedColumn.append(node.cloneNode(true));\n }\n });\n\n clonedColumn.style.setProperty('visibility', 'hidden', 'important');\n\n const styles = [\n 'display',\n 'flex',\n 'margin',\n 'padding',\n 'background',\n 'font-style',\n 'font-width',\n 'font-size',\n 'font-weight',\n ];\n\n styles.forEach((key) => {\n clonedColumn.style.setProperty(\n key,\n computedStyle.getPropertyValue(key),\n computedStyle.getPropertyPriority(key),\n );\n });\n\n clonedColumn.style.setProperty('width', 'fit-content', 'important');\n\n document.body.appendChild(clonedColumn);\n\n const computedWidth = Math.ceil(clonedColumn.getBoundingClientRect().width);\n\n document.body.removeChild(clonedColumn);\n\n const defaultNodeWidth = this.defaultWidths.get(node)?.computedWidth ?? 0;\n\n if (computedWidth >= defaultNodeWidth) {\n node.style.setProperty('min-width', defaultNodeWidth + SORT_ICON_WIDTH + 'px');\n this.changeMaxNodeWidth(SORT_ICON_WIDTH, node);\n } else {\n const freeSpace = defaultNodeWidth - computedWidth;\n\n if (freeSpace < SORT_ICON_WIDTH) {\n node.style.setProperty('min-width', computedWidth + SORT_ICON_WIDTH + 'px');\n this.changeMaxNodeWidth(freeSpace, node);\n }\n }\n };\n\n renderColumns(columns: Column[], width: number) {\n return columns.map((column) => this.renderColumn(column, width));\n }\n\n renderColumn(column: Column, width: number) {\n const { styles, use, hidden, uid } = this.asProps;\n const SColumn = Flex as any;\n const SHead = Box;\n const SSortWrapper = 'div';\n const SSortIcon = SORTING_ICON[column.sortDirection];\n const ariaSortValue =\n column.sortable && column.active ? ariaSort[column.sortDirection] : undefined;\n const isGroup = column.columns?.length > 0;\n const cSize = isGroup ? flattenColumns(column.columns).length : 1;\n const [name, value] = getFixedStyle(column, this.columns);\n\n logger.warn(\n column.props.wMax && column.props.sortSizeRecalculation,\n \"You can't use 'sortSizeRecalculation' property with 'wMax' property\",\n `${this.asProps['data-ui-name'] || Head.displayName}_column_${column.name}`,\n );\n\n const style = {\n flexBasis: column.props.flex === undefined && `${width * cSize}%`,\n ...column.props.style,\n };\n\n if (name !== undefined && value !== undefined) {\n style[name] = value;\n }\n\n if (!column.setVar) {\n style['flexBasis'] = `var(${column.varWidth})`;\n }\n\n return sstyled(styles)(\n <SColumn\n role={isGroup ? undefined : 'columnheader'}\n scope={isGroup ? 'colgroup' : 'col'}\n key={column.name}\n id={`igc-table-${uid}-${column.name}`}\n use={use}\n fixed={column.fixed}\n resizable={column.resizable}\n sortable={column.sortable}\n borderLeft={isGroup ? false : column.borderLeft}\n borderRight={isGroup ? false : column.borderRight}\n active={isGroup ? false : column.active}\n group={isGroup}\n tabIndex={column.sortable ? 0 : undefined}\n __excludeProps={['hidden']}\n {...column.props}\n ref={this.makeColumnRefHandler(column)}\n onClick={callAllEventHandlers(\n column.props.onClick,\n column.sortable ? this.bindHandlerSortClick(column.name) : undefined,\n )}\n onKeyDown={callAllEventHandlers(\n column.props.onKeyDown,\n column.sortable ? this.bindHandlerKeyDown(column.name) : undefined,\n )}\n style={style}\n hidden={hidden}\n aria-sort={ariaSortValue}\n >\n {isGroup ? (\n <>\n <SColumn\n role='columnheader'\n groupHead\n use={use}\n active={column.active}\n borderLeft={column.borderLeft}\n borderRight={column.borderRight}\n >\n <div>{column.props.children}</div>\n </SColumn>\n <SHead>{this.renderColumns(column.columns, 100 / cSize)}</SHead>\n </>\n ) : (\n <>\n {column.props.children}\n {column.sortable ? (\n <SSortWrapper ref={this.makeSortRefHandler(column.active)}>\n <SSortIcon />\n </SSortWrapper>\n ) : null}\n </>\n )}\n </SColumn>,\n );\n }\n\n render() {\n const SHead = Root;\n const SHeadWrapper = Box as any;\n const {\n Children,\n styles,\n columnsChildren,\n onResize,\n $scrollRef,\n sticky,\n withScrollBar,\n animationsDisabled,\n } = this.asProps;\n\n this.columns = flattenColumns(columnsChildren);\n\n const [offsetLeftSum, offsetRightSum] = getScrollOffsetValue(this.columns);\n\n logger.warn(\n sticky,\n \"'sticky' property is deprecated, use '<Sticky/>' wrapper\",\n this.asProps['data-ui-name'] || Head.displayName,\n );\n\n return sstyled(styles)(\n <SHeadWrapper sticky={sticky} animationsDisabled={animationsDisabled}>\n <ScrollArea\n leftOffset={offsetLeftSum}\n rightOffset={offsetRightSum}\n shadow\n onResize={onResize}\n >\n <ScrollArea.Container ref={$scrollRef} role='rowgroup' tabIndex={-1} zIndex={2}>\n <SHead render={Box} role='row' aria-rowindex='1' __excludeProps={['hidden']}>\n {this.renderColumns(columnsChildren, 100 / this.columns.length)}\n </SHead>\n </ScrollArea.Container>\n {Boolean(withScrollBar) && (\n <div style={displayContents} role='rowgroup'>\n <div style={displayContents} role='row'>\n <div style={displayContents} role='cell'>\n <ScrollArea.Bar orientation='horizontal' />\n </div>\n </div>\n </div>\n )}\n </ScrollArea>\n {Children.origin}\n </SHeadWrapper>,\n );\n }\n}\n\nexport default Head;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Head.js","names":["_core","require","_react","_interopRequireDefault","_flexBox","_scrollArea","_m","_m2","_assignProps2","_utils","_logger","_ref4","_getFocusableIn","_ScreenReaderOnly","SORT_ICON_WIDTH","exports","SORTING_ICON","desc","SortDesc","asc","SortAsc","ariaSort","displayContents","display","cssToIntDefault","value","defaultValue","arguments","length","undefined","result","parseFloat","Number","isNaN","Math","round","Head","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","Map","e","currentTarget","lockedCell","focusableChildren","from","children","flatMap","node","getFocusableIn","key","_this$lockedCell$","focus","startsWith","stopPropagation","target","shiftKey","_focusableChildren","preventDefault","_focusableChildren$","_focusableChildren$2","_this$lockedCell$2","setAttribute","name","event","asProps","$onSortClick","active","ref","sortWrapperRefs","set","column","index","setRef","props","headCellMap","forwardRef","getAttribute","defaultWidths","has","computedStyle","window","getComputedStyle","minWidth","getPropertyValue","computedWidth","maxWidth","useForRecalculation","Boolean","sortSizeRecalculation","diff","exceptNode","lastMaxWidth","recalculatedNodes","forEach","push","setNodeMinWidth","_this$defaultWidths$g","_this$defaultWidths$g2","defaultNodeWidth","get","defaultNodeMinWidth","style","setProperty","diffPart","_this$defaultWidths$g3","_this$defaultWidths$g4","defaultNodeMaxWidth","removeProperty","_this$defaultWidths$g5","_this$defaultWidths$g6","clonedColumn","document","createElement","childNodes","append","cloneNode","styles","getPropertyPriority","body","appendChild","ceil","getBoundingClientRect","width","removeChild","changeMaxNodeWidth","freeSpace","_createClass2","sortableColumnDescribeId","uid","componentDidUpdate","_this2","activeColumn","columns","_column$props","changeSortSize","current","backToColumnDefaults","calculateActiveColumnMinWidth","renderColumns","_this3","map","renderColumn","_ref2","_column$columns","_this$asProps","use","hidden","SColumn","Flex","SHead","Box","SSortWrapper","SSortIcon","sortDirection","ariaSortValue","sortable","isGroup","cSize","flattenColumns","_getFixedStyle","getFixedStyle","_getFixedStyle2","_slicedToArray2","_objectSpread2","flexBasis","flex","setVar","varWidth","ariaDescribedBy","parentColumns","parentName","findIndex","flattenCol","sstyled","cn","fixed","resizable","borderLeft","borderRight","makeColumnRefHandler","callAllEventHandlers","onClick","bindHandlerSortClick","onKeyDown","bindHandlerKeyDown","handleKeyDown","onFocusCell","join","Fragment","makeSortRefHandler","render","_ref","_ref3","SHeadWrapper","_this$asProps2","Children","columnsChildren","onResize","$scrollRef","sticky","withScrollBar","animationsDisabled","getI18nText","_getScrollOffsetValue","getScrollOffsetValue","_getScrollOffsetValue2","offsetLeftSum","offsetRightSum","logger","warn","displayName","Container","role","tabIndex","zIndex","assignProps","Bar","orientation","origin","ScreenReaderOnly","Component","_default"],"sources":["../../src/Head.tsx"],"sourcesContent":["import React from 'react';\nimport { Component, sstyled, Root } from '@semcore/core';\nimport { Box, Flex } from '@semcore/flex-box';\nimport ScrollArea from '@semcore/scroll-area';\nimport SortDesc from '@semcore/icon/SortDesc/m';\nimport SortAsc from '@semcore/icon/SortAsc/m';\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport { flattenColumns, getFixedStyle, getScrollOffsetValue } from './utils';\nimport { ColIndex, Column } from './types';\nimport logger from '@semcore/utils/lib/logger';\nimport { setRef } from '@semcore/utils/lib/ref';\nimport { getFocusableIn } from '@semcore/utils/lib/focus-lock/getFocusableIn';\nimport { ScreenReaderOnly } from '@semcore/utils/lib/ScreenReaderOnly';\n\nexport const SORT_ICON_WIDTH = 20;\n\nconst SORTING_ICON = {\n desc: SortDesc,\n asc: SortAsc,\n} as const;\nconst ariaSort = {\n desc: 'descending',\n asc: 'ascending',\n} as const;\nconst displayContents = { display: 'contents' };\n\nfunction cssToIntDefault(value: string, defaultValue = 0) {\n let result = parseFloat(value);\n if (Number.isNaN(result)) {\n result = defaultValue;\n }\n\n return Math.round(result);\n}\n\ntype AsProps = {\n $onSortClick: (name: string, event: React.MouseEvent | React.KeyboardEvent) => void;\n $scrollRef: (instance: unknown) => void;\n use: 'primary' | 'secondary';\n columnsChildren: Column[];\n onResize: ResizeObserverCallback;\n sticky: boolean;\n ['data-ui-name']: string;\n uid?: string;\n withScrollBar?: boolean;\n animationsDisabled?: boolean;\n getI18nText?: (str: string) => string;\n};\n\nclass Head extends Component<AsProps> {\n columns: Column[] = [];\n\n static displayName: string;\n\n headCellMap = new Map<ColIndex, HTMLElement | null>();\n lockedCell: [HTMLElement | null, boolean] = [null, false];\n\n sortWrapperRefs = new Map<Node, boolean>();\n defaultWidths = new Map<\n HTMLElement,\n {\n minWidth: number;\n maxWidth: number | null;\n computedWidth: number;\n useForRecalculation: boolean;\n }\n >();\n\n sortableColumnDescribeId() {\n const { uid } = this.asProps;\n return `${uid}-column-sortable-describer`;\n }\n\n handleKeyDown = (e: React.KeyboardEvent) => {\n if (e.currentTarget === this.lockedCell[0]) {\n const focusableChildren = Array.from(this.lockedCell[0].children).flatMap((node) =>\n getFocusableIn(node as HTMLElement),\n );\n\n if (this.lockedCell[1]) {\n if (e.key === 'Escape') {\n this.lockedCell[0]?.focus();\n this.lockedCell[1] = false;\n }\n if (e.key.startsWith('Arrow')) {\n e.stopPropagation();\n }\n if (e.key === 'Tab') {\n if (e.target === focusableChildren[0] && e.shiftKey) {\n focusableChildren[focusableChildren.length - 1]?.focus();\n e.preventDefault();\n } else if (e.target === focusableChildren[focusableChildren.length - 1] && !e.shiftKey) {\n focusableChildren[0]?.focus();\n e.preventDefault();\n }\n }\n } else if (e.key === 'Enter') {\n this.lockedCell[1] = true;\n focusableChildren[0]?.focus();\n } else if (e.key === 'Tab') {\n this.lockedCell[0]?.setAttribute('inert', '');\n }\n }\n };\n\n onFocusCell = (e: React.FocusEvent<HTMLElement, HTMLElement>) => {\n if (e.target === e.currentTarget) {\n const focusableChildren = Array.from(e.currentTarget.children).flatMap((node) =>\n getFocusableIn(node as HTMLElement),\n );\n\n if (focusableChildren.length === 1) {\n focusableChildren[0].focus();\n } else if (focusableChildren.length > 1) {\n this.lockedCell = [e.currentTarget, false];\n }\n }\n };\n\n bindHandlerSortClick = (name: string) => (event: React.MouseEvent) => {\n this.asProps.$onSortClick(name, event);\n };\n\n bindHandlerKeyDown = (name: string) => (event: React.KeyboardEvent) => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n this.asProps.$onSortClick(name, event);\n }\n };\n\n makeSortRefHandler = (active: boolean) => (ref: HTMLElement | null) => {\n if (ref) {\n this.sortWrapperRefs.set(ref, active);\n }\n };\n\n makeColumnRefHandler = (column: Column, index: number) => (ref: HTMLElement | null) => {\n setRef(column.props.ref, ref);\n this.headCellMap.set(index, ref);\n if (column.props.forwardRef) {\n setRef(column.props.forwardRef, ref);\n }\n\n if (ref && ref.getAttribute('scope') === 'col') {\n if (!this.defaultWidths.has(ref)) {\n const computedStyle = window.getComputedStyle(ref);\n\n this.defaultWidths.set(ref, {\n minWidth: cssToIntDefault(computedStyle.getPropertyValue('min-width')),\n computedWidth: cssToIntDefault(computedStyle.getPropertyValue('width')),\n maxWidth: cssToIntDefault(computedStyle.getPropertyValue('max-width')) || null,\n useForRecalculation: Boolean(column.props.sortSizeRecalculation),\n });\n }\n }\n };\n\n componentDidUpdate() {\n let activeColumn: HTMLElement | null = null;\n\n this.columns.forEach((column) => {\n const { changeSortSize, ref } = column.props;\n\n if (column.active && changeSortSize && ref.current) {\n activeColumn = ref.current;\n }\n\n if (ref.current) {\n this.backToColumnDefaults(ref.current);\n }\n });\n\n if (activeColumn) {\n this.calculateActiveColumnMinWidth(activeColumn);\n }\n }\n\n changeMaxNodeWidth = (diff: number, exceptNode: HTMLElement) => {\n let lastMaxWidth = 0;\n let node: HTMLElement | null = null;\n const recalculatedNodes: HTMLElement[] = [];\n\n this.defaultWidths.forEach((value, key) => {\n if (value.computedWidth > lastMaxWidth && key !== exceptNode) {\n node = key;\n lastMaxWidth = value.computedWidth;\n }\n if (value.useForRecalculation) {\n recalculatedNodes.push(key);\n }\n });\n\n const setNodeMinWidth = (node: HTMLElement, diff: number) => {\n const defaultNodeWidth = this.defaultWidths.get(node)?.computedWidth;\n const defaultNodeMinWidth = this.defaultWidths.get(node)?.minWidth;\n\n if (defaultNodeWidth) {\n const maxWidth = defaultNodeWidth - diff;\n node.style.setProperty('max-width', `${maxWidth}px`);\n\n if (defaultNodeMinWidth) {\n node.style.setProperty('min-width', `min(${maxWidth}px, ${defaultNodeMinWidth}px)`);\n }\n }\n };\n\n if (recalculatedNodes.length > 0) {\n const diffPart = diff / recalculatedNodes.length;\n\n recalculatedNodes.forEach((node) => {\n setNodeMinWidth(node, diffPart);\n });\n } else if (node !== null) {\n setNodeMinWidth(node, diff);\n }\n };\n\n backToColumnDefaults = (node: HTMLElement) => {\n const defaultNodeMinWidth = this.defaultWidths.get(node)?.minWidth;\n const defaultNodeMaxWidth = this.defaultWidths.get(node)?.maxWidth;\n\n node.style.setProperty('min-width', defaultNodeMinWidth + 'px');\n\n if (defaultNodeMaxWidth) {\n node.style.setProperty('max-width', defaultNodeMaxWidth + 'px');\n } else {\n node.style.removeProperty('max-width');\n }\n };\n\n calculateActiveColumnMinWidth = (node: HTMLElement) => {\n const clonedColumn = document.createElement('div');\n const computedStyle = window.getComputedStyle(node);\n\n node.childNodes.forEach((node) => {\n if (!this.sortWrapperRefs.get(node)) {\n clonedColumn.append(node.cloneNode(true));\n }\n });\n\n clonedColumn.style.setProperty('visibility', 'hidden', 'important');\n\n const styles = [\n 'display',\n 'flex',\n 'margin',\n 'padding',\n 'background',\n 'font-style',\n 'font-width',\n 'font-size',\n 'font-weight',\n ];\n\n styles.forEach((key) => {\n clonedColumn.style.setProperty(\n key,\n computedStyle.getPropertyValue(key),\n computedStyle.getPropertyPriority(key),\n );\n });\n\n clonedColumn.style.setProperty('width', 'fit-content', 'important');\n\n document.body.appendChild(clonedColumn);\n\n const computedWidth = Math.ceil(clonedColumn.getBoundingClientRect().width);\n\n document.body.removeChild(clonedColumn);\n\n const defaultNodeWidth = this.defaultWidths.get(node)?.computedWidth ?? 0;\n\n if (computedWidth >= defaultNodeWidth) {\n node.style.setProperty('min-width', defaultNodeWidth + SORT_ICON_WIDTH + 'px');\n this.changeMaxNodeWidth(SORT_ICON_WIDTH, node);\n } else {\n const freeSpace = defaultNodeWidth - computedWidth;\n\n if (freeSpace < SORT_ICON_WIDTH) {\n node.style.setProperty('min-width', computedWidth + SORT_ICON_WIDTH + 'px');\n this.changeMaxNodeWidth(freeSpace, node);\n }\n }\n };\n\n renderColumns(columns: Column[], width: number) {\n return columns.map((column) => this.renderColumn(column, width));\n }\n\n renderColumn(column: Column, width: number) {\n const { styles, use, hidden, uid } = this.asProps;\n const SColumn = Flex as any;\n const SHead = Box;\n const SSortWrapper = 'div';\n const SSortIcon = SORTING_ICON[column.sortDirection];\n const ariaSortValue =\n column.sortable && column.active ? ariaSort[column.sortDirection] : undefined;\n const isGroup = column.columns?.length > 0;\n const cSize = isGroup ? flattenColumns(column.columns).length : 1;\n const [name, value] = getFixedStyle(column, this.columns);\n\n const style = {\n flexBasis: column.props.flex === undefined && `${width * cSize}%`,\n ...column.props.style,\n };\n\n if (name !== undefined && value !== undefined) {\n style[name] = value;\n }\n\n if (!column.setVar) {\n style['flexBasis'] = `var(${column.varWidth})`;\n }\n\n const ariaDescribedBy = [];\n if (column.sortable && !column.active) {\n ariaDescribedBy.push(this.sortableColumnDescribeId());\n }\n if (column.parentColumns.length > 0) {\n const parentName = column.parentColumns[0].name;\n ariaDescribedBy.push(`igc-table-${uid}-${parentName}-group`);\n }\n\n const index = this.columns.findIndex((flattenCol) => flattenCol.name === column.name);\n\n return sstyled(styles)(\n <SColumn\n role={isGroup ? undefined : 'columnheader'}\n scope={isGroup ? 'colgroup' : 'col'}\n key={column.name}\n id={`igc-table-${uid}-${column.name}`}\n use={use}\n fixed={column.fixed}\n resizable={column.resizable}\n sortable={column.sortable}\n borderLeft={isGroup ? false : column.borderLeft}\n borderRight={isGroup ? false : column.borderRight}\n active={isGroup ? false : column.active}\n group={isGroup}\n tabIndex={-1}\n __excludeProps={['hidden']}\n {...column.props}\n ref={this.makeColumnRefHandler(column, index)}\n onClick={callAllEventHandlers(\n column.props.onClick,\n column.sortable ? this.bindHandlerSortClick(column.name) : undefined,\n )}\n onKeyDown={callAllEventHandlers(\n column.props.onKeyDown,\n column.sortable ? this.bindHandlerKeyDown(column.name) : undefined,\n this.handleKeyDown,\n )}\n style={style}\n hidden={hidden}\n aria-sort={ariaSortValue}\n aria-colindex={index + 1}\n onFocus={this.onFocusCell}\n aria-describedby={ariaDescribedBy.length > 0 ? ariaDescribedBy.join(' ') : undefined}\n >\n {isGroup ? (\n <>\n <SColumn\n id={`igc-table-${uid}-${column.name}-group`}\n groupHead\n use={use}\n active={column.active}\n borderLeft={column.borderLeft}\n borderRight={column.borderRight}\n >\n <div>{column.props.children}</div>\n </SColumn>\n <SHead>{this.renderColumns(column.columns, 100 / cSize)}</SHead>\n </>\n ) : (\n <>\n {column.props.children}\n {column.sortable ? (\n <SSortWrapper ref={this.makeSortRefHandler(column.active)}>\n <SSortIcon />\n </SSortWrapper>\n ) : null}\n </>\n )}\n </SColumn>,\n );\n }\n\n render() {\n const SHead = Root;\n const SHeadWrapper = Box as any;\n const {\n Children,\n styles,\n columnsChildren,\n onResize,\n $scrollRef,\n sticky,\n withScrollBar,\n animationsDisabled,\n getI18nText,\n } = this.asProps;\n\n this.columns = flattenColumns(columnsChildren);\n\n const [offsetLeftSum, offsetRightSum] = getScrollOffsetValue(this.columns);\n\n logger.warn(\n sticky,\n \"'sticky' property is deprecated, use '<Sticky/>' wrapper\",\n this.asProps['data-ui-name'] || Head.displayName,\n );\n\n return sstyled(styles)(\n <SHeadWrapper sticky={sticky} animationsDisabled={animationsDisabled}>\n <ScrollArea\n leftOffset={offsetLeftSum}\n rightOffset={offsetRightSum}\n shadow\n onResize={onResize}\n >\n <ScrollArea.Container ref={$scrollRef} role='rowgroup' tabIndex={-1} zIndex={2}>\n <SHead render={Box} role='row' __excludeProps={['hidden']}>\n {this.renderColumns(columnsChildren, 100 / this.columns.length)}\n </SHead>\n </ScrollArea.Container>\n {Boolean(withScrollBar) && (\n <div style={displayContents}>\n <div style={displayContents}>\n <div style={displayContents}>\n <ScrollArea.Bar orientation='horizontal' />\n </div>\n </div>\n </div>\n )}\n </ScrollArea>\n {Children.origin}\n <ScreenReaderOnly aria-hidden={true} id={this.sortableColumnDescribeId()}>\n {getI18nText?.('sortableColumn')}\n </ScreenReaderOnly>\n </SHeadWrapper>,\n );\n }\n}\n\nexport default Head;\n"],"mappings":"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"}
@@ -350,6 +350,7 @@ SCell {
350
350
  white-space: nowrap;
351
351
  font-variant-numeric: tabular-nums;
352
352
  transition: width calc(var(--intergalactic-duration-extra-fast, 100) * 1ms) ease-in-out;
353
+ outline: none;
353
354
  }
354
355
 
355
356
  SCell[use='primary'] {
@@ -389,6 +390,19 @@ SCell[theme='danger'] {
389
390
  background-color: var(--intergalactic-table-td-cell-critical, #fff0f7);
390
391
  }
391
392
 
393
+ SCell:focus-visible {
394
+ position: relative;
395
+
396
+ &:after {
397
+ position: absolute;
398
+ display: block;
399
+ content: '';
400
+ inset: 3px;
401
+ box-shadow: var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5));
402
+ pointer-events: none;
403
+ }
404
+ }
405
+
392
406
  SHeightHold {
393
407
  position: absolute;
394
408
  top: 0;
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.localizedMessages = void 0;
8
+ var _de = _interopRequireDefault(require("./de.json"));
9
+ var _en = _interopRequireDefault(require("./en.json"));
10
+ var _es = _interopRequireDefault(require("./es.json"));
11
+ var _fr = _interopRequireDefault(require("./fr.json"));
12
+ var _it = _interopRequireDefault(require("./it.json"));
13
+ var _ja = _interopRequireDefault(require("./ja.json"));
14
+ var _ko = _interopRequireDefault(require("./ko.json"));
15
+ var _nl = _interopRequireDefault(require("./nl.json"));
16
+ var _pt = _interopRequireDefault(require("./pt.json"));
17
+ var _tr = _interopRequireDefault(require("./tr.json"));
18
+ var _vi = _interopRequireDefault(require("./vi.json"));
19
+ var _zh = _interopRequireDefault(require("./zh.json"));
20
+ var _pl = _interopRequireDefault(require("./pl.json"));
21
+ var _sv = _interopRequireDefault(require("./sv.json"));
22
+ var localizedMessages = {
23
+ de: _de["default"],
24
+ en: _en["default"],
25
+ es: _es["default"],
26
+ fr: _fr["default"],
27
+ it: _it["default"],
28
+ ja: _ja["default"],
29
+ ko: _ko["default"],
30
+ nl: _nl["default"],
31
+ pt: _pt["default"],
32
+ tr: _tr["default"],
33
+ vi: _vi["default"],
34
+ zh: _zh["default"],
35
+ pl: _pl["default"],
36
+ sv: _sv["default"]
37
+ };
38
+ exports.localizedMessages = localizedMessages;
39
+ //# sourceMappingURL=__intergalactic-dynamic-locales.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"__intergalactic-dynamic-locales.js","names":["_de","_interopRequireDefault","require","_en","_es","_fr","_it","_ja","_ko","_nl","_pt","_tr","_vi","_zh","_pl","_sv","localizedMessages","de","en","es","fr","it","ja","ko","nl","pt","tr","vi","zh","pl","sv","exports"],"sources":["../../../src/translations/__intergalactic-dynamic-locales.ts"],"sourcesContent":["import de from './de.json';\nimport en from './en.json';\nimport es from './es.json';\nimport fr from './fr.json';\nimport it from './it.json';\nimport ja from './ja.json';\nimport ko from './ko.json';\nimport nl from './nl.json';\nimport pt from './pt.json';\nimport tr from './tr.json';\nimport vi from './vi.json';\nimport zh from './zh.json';\nimport pl from './pl.json';\nimport sv from './sv.json';\n\nexport const localizedMessages = {\n de,\n en,\n es,\n fr,\n it,\n ja,\n ko,\n nl,\n pt,\n tr,\n vi,\n zh,\n pl,\n sv,\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,GAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,GAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,GAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,GAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,GAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,GAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,GAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,GAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,GAAA,GAAAT,sBAAA,CAAAC,OAAA;AACA,IAAAS,GAAA,GAAAV,sBAAA,CAAAC,OAAA;AACA,IAAAU,GAAA,GAAAX,sBAAA,CAAAC,OAAA;AACA,IAAAW,GAAA,GAAAZ,sBAAA,CAAAC,OAAA;AACA,IAAAY,GAAA,GAAAb,sBAAA,CAAAC,OAAA;AACA,IAAAa,GAAA,GAAAd,sBAAA,CAAAC,OAAA;AAEO,IAAMc,iBAAiB,GAAG;EAC/BC,EAAE,EAAFA,cAAE;EACFC,EAAE,EAAFA,cAAE;EACFC,EAAE,EAAFA,cAAE;EACFC,EAAE,EAAFA,cAAE;EACFC,EAAE,EAAFA,cAAE;EACFC,EAAE,EAAFA,cAAE;EACFC,EAAE,EAAFA,cAAE;EACFC,EAAE,EAAFA,cAAE;EACFC,EAAE,EAAFA,cAAE;EACFC,EAAE,EAAFA,cAAE;EACFC,EAAE,EAAFA,cAAE;EACFC,EAAE,EAAFA,cAAE;EACFC,EAAE,EAAFA,cAAE;EACFC,EAAE,EAAFA;AACF,CAAC;AAACC,OAAA,CAAAf,iBAAA,GAAAA,iBAAA"}
@@ -0,0 +1,3 @@
1
+ {
2
+ "sortableColumn": "Sortierbar"
3
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "sortableColumn": "Sortable"
3
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "sortableColumn": "Ordenable"
3
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "sortableColumn": "Triable"
3
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "sortableColumn": "Ordinabile"
3
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "sortableColumn": "分類可能"
3
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "sortableColumn": "정렬 가능"
3
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "sortableColumn": "Sorteerbaar"
3
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "sortableColumn": "Umożliwia sortowanie"
3
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "sortableColumn": "Classificável"
3
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "sortableColumn": "Sorterbar"
3
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "sortableColumn": "Sıralanabilir"
3
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "sortableColumn": "Có thể sắp xếp"
3
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "sortableColumn": "可排序"
3
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":["_DataTable","require"],"sources":["../../src/types.ts"],"sourcesContent":["import React from 'react';\nimport { ROW_GROUP } from './DataTable';\nimport { Property } from 'csstype';\nimport { FlexProps } from '@semcore/flex-box';\n\nexport type PseudoChildPropsGetter = (\n props: { [propName: string]: unknown },\n rowData: { [columnName: string]: unknown },\n index: number,\n) => { [propName: string]: unknown };\nexport type PropsLayer = {\n childrenPropsGetter?: PseudoChildPropsGetter;\n [propName: string]: unknown;\n};\n\nexport type SortDirection = 'asc' | 'desc';\nexport type Column<\n Props extends { [propName: string]: unknown } = { [propName: string]: unknown },\n> = {\n name: string;\n active: boolean;\n width: number;\n fixed?: 'left' | 'right';\n resizable?: boolean;\n sortable?: boolean | SortDirection;\n sortDirection: SortDirection;\n varWidth: string;\n setVar: boolean;\n data?: unknown;\n vBorders?: boolean;\n borderLeft?: boolean;\n borderRight?: boolean;\n props: {\n name: string;\n ref: React.RefObject<HTMLElement>;\n } & FlexProps &\n Partial<{\n flex: Property.Flex;\n onClick: (event: React.MouseEvent) => void;\n onKeyDown: (event: React.KeyboardEvent) => void;\n forwardRef: React.Ref<HTMLElement>;\n style: React.CSSProperties;\n fixed: 'left' | 'right';\n resizable: boolean;\n sortable: boolean | SortDirection;\n sortDirection: SortDirection;\n vBorders: boolean;\n borderLeft: Property.BorderLeft;\n borderRight: Property.BorderLeft;\n changeSortSize?: boolean;\n sortSizeRecalculation?: boolean;\n }> &\n Props;\n columns: Column[];\n parentColumns: Column[];\n};\nexport type Cell = Pick<Column, 'name' | 'fixed' | 'data'> & {\n cssVar: string | string[];\n cellPropsLayers: PropsLayer[];\n};\nexport type RowData<\n Data extends { [columnName: string]: unknown } = { [columnName: string]: unknown },\n> = Data &\n Partial<{\n name: string;\n [ROW_GROUP]: RowData[];\n }>;\nexport type NestedCells = (Cell | NestedCells)[] & { flatRowData?: RowData };\n"],"mappings":";;AACA,IAAAA,UAAA,GAAAC,OAAA"}
1
+ {"version":3,"file":"types.js","names":["_DataTable","require"],"sources":["../../src/types.ts"],"sourcesContent":["import React from 'react';\nimport { ROW_GROUP } from './DataTable';\nimport { Property } from 'csstype';\nimport { FlexProps } from '@semcore/flex-box';\n\nexport type PseudoChildPropsGetter = (\n props: { [propName: string]: unknown },\n rowData: { [columnName: string]: unknown },\n index: number,\n) => { [propName: string]: unknown };\nexport type PropsLayer = {\n childrenPropsGetter?: PseudoChildPropsGetter;\n [propName: string]: unknown;\n};\n\nexport type SortDirection = 'asc' | 'desc';\nexport type Column<\n Props extends { [propName: string]: unknown } = { [propName: string]: unknown },\n> = {\n name: string;\n active: boolean;\n width: number;\n fixed?: 'left' | 'right';\n resizable?: boolean;\n sortable?: boolean | SortDirection;\n sortDirection: SortDirection;\n varWidth: string;\n setVar: boolean;\n data?: unknown;\n vBorders?: boolean;\n borderLeft?: boolean;\n borderRight?: boolean;\n props: {\n name: string;\n ref: React.RefObject<HTMLElement>;\n } & FlexProps &\n Partial<{\n flex: Property.Flex;\n onClick: (event: React.MouseEvent) => void;\n onKeyDown: (event: React.KeyboardEvent) => void;\n forwardRef: React.Ref<HTMLElement>;\n style: React.CSSProperties;\n fixed: 'left' | 'right';\n resizable: boolean;\n sortable: boolean | SortDirection;\n sortDirection: SortDirection;\n vBorders: boolean;\n borderLeft: Property.BorderLeft;\n borderRight: Property.BorderLeft;\n changeSortSize?: boolean;\n sortSizeRecalculation?: boolean;\n }> &\n Props;\n columns: Column[];\n parentColumns: Column[];\n};\nexport type Cell = Pick<Column, 'name' | 'fixed' | 'data'> & {\n cssVar: string | string[];\n cellPropsLayers: PropsLayer[];\n};\nexport type RowData<\n Data extends { [columnName: string]: unknown } = { [columnName: string]: unknown },\n> = Data &\n Partial<{\n name: string;\n [ROW_GROUP]: RowData[];\n }>;\nexport type NestedCells = (Cell | NestedCells)[] & { flatRowData?: RowData };\n\nexport type RowIndex = number;\nexport type ColIndex = number;\n"],"mappings":";;AACA,IAAAA,UAAA,GAAAC,OAAA"}
@@ -25,10 +25,11 @@ import { forkRef } from 'intergalactic/utils/lib/ref';
25
25
  import canUseDOM from 'intergalactic/utils/lib/canUseDOM';
26
26
  import { SORT_ICON_WIDTH } from './Head';
27
27
  /*__reshadow-styles__:"./style/scroll-shadows.shadow.css"*/
28
- var scrollStyles = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SShadowHorizontal_3384d_gg_:after,.___SShadowHorizontal_3384d_gg_:before,.___SShadowVertical_3384d_gg_:after,.___SShadowVertical_3384d_gg_:before{z-index:1}" /*__inner_css_end__*/, "3384d_gg_") /*__reshadow_css_end__*/, {
29
- "__SShadowHorizontal": "___SShadowHorizontal_3384d_gg_",
30
- "__SShadowVertical": "___SShadowVertical_3384d_gg_"
28
+ var scrollStyles = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SShadowHorizontal_1m7h6_gg_:after,.___SShadowHorizontal_1m7h6_gg_:before,.___SShadowVertical_1m7h6_gg_:after,.___SShadowVertical_1m7h6_gg_:before{z-index:1}" /*__inner_css_end__*/, "1m7h6_gg_") /*__reshadow_css_end__*/, {
29
+ "__SShadowHorizontal": "___SShadowHorizontal_1m7h6_gg_",
30
+ "__SShadowVertical": "___SShadowVertical_1m7h6_gg_"
31
31
  });
32
+ import { getFocusableIn } from 'intergalactic/utils/lib/focus-lock/getFocusableIn';
32
33
  var testEnv = process.env.NODE_ENV === 'test';
33
34
  var getCellsByColumn = function getCellsByColumn(cells) {
34
35
  var flattenCells = cells.flat(20);
@@ -57,11 +58,58 @@ var Body = /*#__PURE__*/function (_Component) {
57
58
  _defineProperty(_assertThisInitialized(_this), "scrollContainerRef", /*#__PURE__*/React.createRef());
58
59
  _defineProperty(_assertThisInitialized(_this), "firstRowRef", /*#__PURE__*/React.createRef());
59
60
  _defineProperty(_assertThisInitialized(_this), "firstRowResizeObserver", null);
61
+ _defineProperty(_assertThisInitialized(_this), "lockedCell", [null, false]);
60
62
  _defineProperty(_assertThisInitialized(_this), "getRowHeight", function () {
61
63
  var virtualScroll = _this.asProps.virtualScroll;
62
64
  var rowHeightFromProps = _typeof(virtualScroll) === 'object' && (virtualScroll === null || virtualScroll === void 0 ? void 0 : virtualScroll.rowHeight);
63
65
  return rowHeightFromProps || _this.state.rowHeight;
64
66
  });
67
+ _defineProperty(_assertThisInitialized(_this), "handleKeyDown", function (e) {
68
+ if (e.currentTarget === _this.lockedCell[0]) {
69
+ var focusableChildren = Array.from(_this.lockedCell[0].children).flatMap(function (node) {
70
+ return getFocusableIn(node);
71
+ });
72
+ if (_this.lockedCell[1]) {
73
+ if (e.key === 'Escape') {
74
+ var _this$lockedCell$;
75
+ (_this$lockedCell$ = _this.lockedCell[0]) === null || _this$lockedCell$ === void 0 ? void 0 : _this$lockedCell$.focus();
76
+ _this.lockedCell[1] = false;
77
+ }
78
+ if (e.key.startsWith('Arrow')) {
79
+ e.stopPropagation();
80
+ e.preventDefault();
81
+ }
82
+ if (e.key === 'Tab') {
83
+ if (e.target === focusableChildren[0] && e.shiftKey) {
84
+ var _focusableChildren;
85
+ (_focusableChildren = focusableChildren[focusableChildren.length - 1]) === null || _focusableChildren === void 0 ? void 0 : _focusableChildren.focus();
86
+ e.preventDefault();
87
+ } else if (e.target === focusableChildren[focusableChildren.length - 1] && !e.shiftKey) {
88
+ var _focusableChildren$;
89
+ (_focusableChildren$ = focusableChildren[0]) === null || _focusableChildren$ === void 0 ? void 0 : _focusableChildren$.focus();
90
+ e.preventDefault();
91
+ }
92
+ e.stopPropagation();
93
+ }
94
+ } else if (e.key === 'Enter') {
95
+ var _focusableChildren$2;
96
+ _this.lockedCell[1] = true;
97
+ (_focusableChildren$2 = focusableChildren[0]) === null || _focusableChildren$2 === void 0 ? void 0 : _focusableChildren$2.focus();
98
+ }
99
+ }
100
+ });
101
+ _defineProperty(_assertThisInitialized(_this), "onFocusCell", function (e) {
102
+ if (e.target === e.currentTarget) {
103
+ var focusableChildren = Array.from(e.currentTarget.children).flatMap(function (node) {
104
+ return getFocusableIn(node);
105
+ });
106
+ if (focusableChildren.length === 1) {
107
+ focusableChildren[0].focus();
108
+ } else if (focusableChildren.length > 1) {
109
+ _this.lockedCell = [e.currentTarget, false];
110
+ }
111
+ }
112
+ });
65
113
  _defineProperty(_assertThisInitialized(_this), "handleFirstRowResize", trottle(function (entries) {
66
114
  var contentRect = entries[0].contentRect;
67
115
  var height = contentRect.height;
@@ -196,7 +244,7 @@ var Body = /*#__PURE__*/function (_Component) {
196
244
  });
197
245
  return _ref3 = sstyled(styles), /*#__PURE__*/React.createElement(SCell, _ref3.cn("SCell", _objectSpread(_objectSpread({
198
246
  "key": cell.name,
199
- "role": 'cell',
247
+ "role": 'gridcell',
200
248
  "headers": headerIds.join(' '),
201
249
  "__excludeProps": ['data']
202
250
  }, _props), {}, {
@@ -204,7 +252,11 @@ var Body = /*#__PURE__*/function (_Component) {
204
252
  "theme": _props.theme,
205
253
  "use": use,
206
254
  "borderLeft": _props.borderLeft,
207
- "borderRight": _props.borderRight
255
+ "borderRight": _props.borderRight,
256
+ "tabIndex": -1,
257
+ "onKeyDown": _this2.handleKeyDown,
258
+ "onFocus": _this2.onFocusCell,
259
+ "aria-colindex": cellIndex + 1
208
260
  })));
209
261
  }
210
262
  }, []);
@@ -384,16 +436,14 @@ var Body = /*#__PURE__*/function (_Component) {
384
436
  }), /*#__PURE__*/React.createElement(ScrollArea.Container, {
385
437
  ref: forkRef.apply(void 0, scrollContainerRefs),
386
438
  role: "rowgroup",
387
- focusRingTopOffset: '3px'
439
+ focusRingTopOffset: '3px',
440
+ tabIndex: -1
388
441
  }, body), /*#__PURE__*/React.createElement("div", _ref5.cn("div", {
389
- "style": displayContents,
390
- "role": 'rowgroup'
442
+ "style": displayContents
391
443
  }), /*#__PURE__*/React.createElement("div", _ref5.cn("div", {
392
- "style": displayContents,
393
- "role": 'row'
444
+ "style": displayContents
394
445
  }), /*#__PURE__*/React.createElement("div", _ref5.cn("div", {
395
- "style": displayContents,
396
- "role": 'cell'
446
+ "style": displayContents
397
447
  }), /*#__PURE__*/React.createElement(ScrollArea.Bar, {
398
448
  orientation: "horizontal",
399
449
  bottom: 0,