@sap-ux/ui-components 1.0.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 (450) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +20 -0
  3. package/dist/components/Icons.d.ts +105 -0
  4. package/dist/components/Icons.d.ts.map +1 -0
  5. package/dist/components/Icons.js +401 -0
  6. package/dist/components/Icons.js.map +1 -0
  7. package/dist/components/UIBreadcrumb/UIBreadcrumb.d.ts +23 -0
  8. package/dist/components/UIBreadcrumb/UIBreadcrumb.d.ts.map +1 -0
  9. package/dist/components/UIBreadcrumb/UIBreadcrumb.js +38 -0
  10. package/dist/components/UIBreadcrumb/UIBreadcrumb.js.map +1 -0
  11. package/dist/components/UIBreadcrumb/index.d.ts +2 -0
  12. package/dist/components/UIBreadcrumb/index.d.ts.map +1 -0
  13. package/dist/components/UIBreadcrumb/index.js +14 -0
  14. package/dist/components/UIBreadcrumb/index.js.map +1 -0
  15. package/dist/components/UIButton/UIActionButton.d.ts +23 -0
  16. package/dist/components/UIButton/UIActionButton.d.ts.map +1 -0
  17. package/dist/components/UIButton/UIActionButton.js +97 -0
  18. package/dist/components/UIButton/UIActionButton.js.map +1 -0
  19. package/dist/components/UIButton/UIDefaultButton.d.ts +23 -0
  20. package/dist/components/UIButton/UIDefaultButton.d.ts.map +1 -0
  21. package/dist/components/UIButton/UIDefaultButton.js +227 -0
  22. package/dist/components/UIButton/UIDefaultButton.js.map +1 -0
  23. package/dist/components/UIButton/UIIconButton.d.ts +37 -0
  24. package/dist/components/UIButton/UIIconButton.d.ts.map +1 -0
  25. package/dist/components/UIButton/UIIconButton.js +106 -0
  26. package/dist/components/UIButton/UIIconButton.js.map +1 -0
  27. package/dist/components/UIButton/UISplitButton.d.ts +36 -0
  28. package/dist/components/UIButton/UISplitButton.d.ts.map +1 -0
  29. package/dist/components/UIButton/UISplitButton.js +67 -0
  30. package/dist/components/UIButton/UISplitButton.js.map +1 -0
  31. package/dist/components/UIButton/index.d.ts +7 -0
  32. package/dist/components/UIButton/index.d.ts.map +1 -0
  33. package/dist/components/UIButton/index.js +17 -0
  34. package/dist/components/UIButton/index.js.map +1 -0
  35. package/dist/components/UICallout/UICallout.d.ts +37 -0
  36. package/dist/components/UICallout/UICallout.d.ts.map +1 -0
  37. package/dist/components/UICallout/UICallout.js +90 -0
  38. package/dist/components/UICallout/UICallout.js.map +1 -0
  39. package/dist/components/UICallout/index.d.ts +2 -0
  40. package/dist/components/UICallout/index.d.ts.map +1 -0
  41. package/dist/components/UICallout/index.js +14 -0
  42. package/dist/components/UICallout/index.js.map +1 -0
  43. package/dist/components/UICheckbox/UICheckbox.d.ts +34 -0
  44. package/dist/components/UICheckbox/UICheckbox.d.ts.map +1 -0
  45. package/dist/components/UICheckbox/UICheckbox.js +135 -0
  46. package/dist/components/UICheckbox/UICheckbox.js.map +1 -0
  47. package/dist/components/UICheckbox/index.d.ts +2 -0
  48. package/dist/components/UICheckbox/index.d.ts.map +1 -0
  49. package/dist/components/UICheckbox/index.js +14 -0
  50. package/dist/components/UICheckbox/index.js.map +1 -0
  51. package/dist/components/UIChoiceGroup/UIChoiceGroup.d.ts +28 -0
  52. package/dist/components/UIChoiceGroup/UIChoiceGroup.d.ts.map +1 -0
  53. package/dist/components/UIChoiceGroup/UIChoiceGroup.js +182 -0
  54. package/dist/components/UIChoiceGroup/UIChoiceGroup.js.map +1 -0
  55. package/dist/components/UIChoiceGroup/index.d.ts +2 -0
  56. package/dist/components/UIChoiceGroup/index.d.ts.map +1 -0
  57. package/dist/components/UIChoiceGroup/index.js +14 -0
  58. package/dist/components/UIChoiceGroup/index.js.map +1 -0
  59. package/dist/components/UIComboBox/Callout.scss +7 -0
  60. package/dist/components/UIComboBox/UIComboBox.d.ts +190 -0
  61. package/dist/components/UIComboBox/UIComboBox.d.ts.map +1 -0
  62. package/dist/components/UIComboBox/UIComboBox.js +468 -0
  63. package/dist/components/UIComboBox/UIComboBox.js.map +1 -0
  64. package/dist/components/UIComboBox/UIComboBox.scss +245 -0
  65. package/dist/components/UIComboBox/_mixins.scss +24 -0
  66. package/dist/components/UIComboBox/index.d.ts +2 -0
  67. package/dist/components/UIComboBox/index.d.ts.map +1 -0
  68. package/dist/components/UIComboBox/index.js +14 -0
  69. package/dist/components/UIComboBox/index.js.map +1 -0
  70. package/dist/components/UIContextualMenu/UIContextualMenu.d.ts +32 -0
  71. package/dist/components/UIContextualMenu/UIContextualMenu.d.ts.map +1 -0
  72. package/dist/components/UIContextualMenu/UIContextualMenu.js +124 -0
  73. package/dist/components/UIContextualMenu/UIContextualMenu.js.map +1 -0
  74. package/dist/components/UIContextualMenu/UIContextualMenu.scss +211 -0
  75. package/dist/components/UIContextualMenu/UIHighlightMenuOption.d.ts +20 -0
  76. package/dist/components/UIContextualMenu/UIHighlightMenuOption.d.ts.map +1 -0
  77. package/dist/components/UIContextualMenu/UIHighlightMenuOption.js +51 -0
  78. package/dist/components/UIContextualMenu/UIHighlightMenuOption.js.map +1 -0
  79. package/dist/components/UIContextualMenu/UIHighlightMenuOption.scss +23 -0
  80. package/dist/components/UIContextualMenu/_variables.scss +30 -0
  81. package/dist/components/UIContextualMenu/index.d.ts +3 -0
  82. package/dist/components/UIContextualMenu/index.d.ts.map +1 -0
  83. package/dist/components/UIContextualMenu/index.js +15 -0
  84. package/dist/components/UIContextualMenu/index.js.map +1 -0
  85. package/dist/components/UIDatePicker/UIDatePicker.d.ts +49 -0
  86. package/dist/components/UIDatePicker/UIDatePicker.d.ts.map +1 -0
  87. package/dist/components/UIDatePicker/UIDatePicker.js +72 -0
  88. package/dist/components/UIDatePicker/UIDatePicker.js.map +1 -0
  89. package/dist/components/UIDatePicker/UIDatePicker.scss +38 -0
  90. package/dist/components/UIDatePicker/index.d.ts +2 -0
  91. package/dist/components/UIDatePicker/index.d.ts.map +1 -0
  92. package/dist/components/UIDatePicker/index.js +14 -0
  93. package/dist/components/UIDatePicker/index.js.map +1 -0
  94. package/dist/components/UIDialog/UIDialog.d.ts +102 -0
  95. package/dist/components/UIDialog/UIDialog.d.ts.map +1 -0
  96. package/dist/components/UIDialog/UIDialog.js +250 -0
  97. package/dist/components/UIDialog/UIDialog.js.map +1 -0
  98. package/dist/components/UIDialog/index.d.ts +2 -0
  99. package/dist/components/UIDialog/index.d.ts.map +1 -0
  100. package/dist/components/UIDialog/index.js +14 -0
  101. package/dist/components/UIDialog/index.js.map +1 -0
  102. package/dist/components/UIDropdown/UIDropdown.d.ts +76 -0
  103. package/dist/components/UIDropdown/UIDropdown.d.ts.map +1 -0
  104. package/dist/components/UIDropdown/UIDropdown.js +166 -0
  105. package/dist/components/UIDropdown/UIDropdown.js.map +1 -0
  106. package/dist/components/UIDropdown/UIDropdown.scss +80 -0
  107. package/dist/components/UIDropdown/index.d.ts +2 -0
  108. package/dist/components/UIDropdown/index.d.ts.map +1 -0
  109. package/dist/components/UIDropdown/index.js +14 -0
  110. package/dist/components/UIDropdown/index.js.map +1 -0
  111. package/dist/components/UIFlexibleTable/RowActions.d.ts +17 -0
  112. package/dist/components/UIFlexibleTable/RowActions.d.ts.map +1 -0
  113. package/dist/components/UIFlexibleTable/RowActions.js +68 -0
  114. package/dist/components/UIFlexibleTable/RowActions.js.map +1 -0
  115. package/dist/components/UIFlexibleTable/RowData.d.ts +16 -0
  116. package/dist/components/UIFlexibleTable/RowData.d.ts.map +1 -0
  117. package/dist/components/UIFlexibleTable/RowData.js +109 -0
  118. package/dist/components/UIFlexibleTable/RowData.js.map +1 -0
  119. package/dist/components/UIFlexibleTable/UIFlexibleTable.d.ts +12 -0
  120. package/dist/components/UIFlexibleTable/UIFlexibleTable.d.ts.map +1 -0
  121. package/dist/components/UIFlexibleTable/UIFlexibleTable.js +256 -0
  122. package/dist/components/UIFlexibleTable/UIFlexibleTable.js.map +1 -0
  123. package/dist/components/UIFlexibleTable/UIFlexibleTable.scss +408 -0
  124. package/dist/components/UIFlexibleTable/UIFlexibleTableActionButton.d.ts +20 -0
  125. package/dist/components/UIFlexibleTable/UIFlexibleTableActionButton.d.ts.map +1 -0
  126. package/dist/components/UIFlexibleTable/UIFlexibleTableActionButton.js +20 -0
  127. package/dist/components/UIFlexibleTable/UIFlexibleTableActionButton.js.map +1 -0
  128. package/dist/components/UIFlexibleTable/UIFlexibleTableRow.d.ts +28 -0
  129. package/dist/components/UIFlexibleTable/UIFlexibleTableRow.d.ts.map +1 -0
  130. package/dist/components/UIFlexibleTable/UIFlexibleTableRow.js +165 -0
  131. package/dist/components/UIFlexibleTable/UIFlexibleTableRow.js.map +1 -0
  132. package/dist/components/UIFlexibleTable/UIFlexibleTableRowActionButton.d.ts +21 -0
  133. package/dist/components/UIFlexibleTable/UIFlexibleTableRowActionButton.d.ts.map +1 -0
  134. package/dist/components/UIFlexibleTable/UIFlexibleTableRowActionButton.js +20 -0
  135. package/dist/components/UIFlexibleTable/UIFlexibleTableRowActionButton.js.map +1 -0
  136. package/dist/components/UIFlexibleTable/index.d.ts +6 -0
  137. package/dist/components/UIFlexibleTable/index.d.ts.map +1 -0
  138. package/dist/components/UIFlexibleTable/index.js +18 -0
  139. package/dist/components/UIFlexibleTable/index.js.map +1 -0
  140. package/dist/components/UIFlexibleTable/types.d.ts +103 -0
  141. package/dist/components/UIFlexibleTable/types.d.ts.map +1 -0
  142. package/dist/components/UIFlexibleTable/types.js +9 -0
  143. package/dist/components/UIFlexibleTable/types.js.map +1 -0
  144. package/dist/components/UIFlexibleTable/utils.d.ts +29 -0
  145. package/dist/components/UIFlexibleTable/utils.d.ts.map +1 -0
  146. package/dist/components/UIFlexibleTable/utils.js +53 -0
  147. package/dist/components/UIFlexibleTable/utils.js.map +1 -0
  148. package/dist/components/UIFocusZone/UIFocusTrapZone.d.ts +22 -0
  149. package/dist/components/UIFocusZone/UIFocusTrapZone.d.ts.map +1 -0
  150. package/dist/components/UIFocusZone/UIFocusTrapZone.js +33 -0
  151. package/dist/components/UIFocusZone/UIFocusTrapZone.js.map +1 -0
  152. package/dist/components/UIFocusZone/UIFocusZone.d.ts +23 -0
  153. package/dist/components/UIFocusZone/UIFocusZone.d.ts.map +1 -0
  154. package/dist/components/UIFocusZone/UIFocusZone.js +35 -0
  155. package/dist/components/UIFocusZone/UIFocusZone.js.map +1 -0
  156. package/dist/components/UIFocusZone/index.d.ts +3 -0
  157. package/dist/components/UIFocusZone/index.d.ts.map +1 -0
  158. package/dist/components/UIFocusZone/index.js +15 -0
  159. package/dist/components/UIFocusZone/index.js.map +1 -0
  160. package/dist/components/UIIcon/UIIcon.d.ts +24 -0
  161. package/dist/components/UIIcon/UIIcon.d.ts.map +1 -0
  162. package/dist/components/UIIcon/UIIcon.js +37 -0
  163. package/dist/components/UIIcon/UIIcon.js.map +1 -0
  164. package/dist/components/UIIcon/UIIcon.scss +3 -0
  165. package/dist/components/UIIcon/index.d.ts +2 -0
  166. package/dist/components/UIIcon/index.d.ts.map +1 -0
  167. package/dist/components/UIIcon/index.js +14 -0
  168. package/dist/components/UIIcon/index.js.map +1 -0
  169. package/dist/components/UIInput/UITextInput.d.ts +25 -0
  170. package/dist/components/UIInput/UITextInput.d.ts.map +1 -0
  171. package/dist/components/UIInput/UITextInput.js +180 -0
  172. package/dist/components/UIInput/UITextInput.js.map +1 -0
  173. package/dist/components/UIInput/index.d.ts +2 -0
  174. package/dist/components/UIInput/index.d.ts.map +1 -0
  175. package/dist/components/UIInput/index.js +14 -0
  176. package/dist/components/UIInput/index.js.map +1 -0
  177. package/dist/components/UILabel/UILabel.d.ts +30 -0
  178. package/dist/components/UILabel/UILabel.d.ts.map +1 -0
  179. package/dist/components/UILabel/UILabel.js +64 -0
  180. package/dist/components/UILabel/UILabel.js.map +1 -0
  181. package/dist/components/UILabel/index.d.ts +2 -0
  182. package/dist/components/UILabel/index.d.ts.map +1 -0
  183. package/dist/components/UILabel/index.js +14 -0
  184. package/dist/components/UILabel/index.js.map +1 -0
  185. package/dist/components/UILink/UILink.d.ts +22 -0
  186. package/dist/components/UILink/UILink.d.ts.map +1 -0
  187. package/dist/components/UILink/UILink.js +58 -0
  188. package/dist/components/UILink/UILink.js.map +1 -0
  189. package/dist/components/UILink/index.d.ts +2 -0
  190. package/dist/components/UILink/index.d.ts.map +1 -0
  191. package/dist/components/UILink/index.js +14 -0
  192. package/dist/components/UILink/index.js.map +1 -0
  193. package/dist/components/UIList/UIList.d.ts +31 -0
  194. package/dist/components/UIList/UIList.d.ts.map +1 -0
  195. package/dist/components/UIList/UIList.js +120 -0
  196. package/dist/components/UIList/UIList.js.map +1 -0
  197. package/dist/components/UIList/UIList.scss +16 -0
  198. package/dist/components/UIList/index.d.ts +2 -0
  199. package/dist/components/UIList/index.d.ts.map +1 -0
  200. package/dist/components/UIList/index.js +14 -0
  201. package/dist/components/UIList/index.js.map +1 -0
  202. package/dist/components/UILoader/UILoader.d.ts +27 -0
  203. package/dist/components/UILoader/UILoader.d.ts.map +1 -0
  204. package/dist/components/UILoader/UILoader.js +78 -0
  205. package/dist/components/UILoader/UILoader.js.map +1 -0
  206. package/dist/components/UILoader/UILoader.scss +32 -0
  207. package/dist/components/UILoader/index.d.ts +2 -0
  208. package/dist/components/UILoader/index.d.ts.map +1 -0
  209. package/dist/components/UILoader/index.js +14 -0
  210. package/dist/components/UILoader/index.js.map +1 -0
  211. package/dist/components/UIMessageBar/UIMessageBar.d.ts +25 -0
  212. package/dist/components/UIMessageBar/UIMessageBar.d.ts.map +1 -0
  213. package/dist/components/UIMessageBar/UIMessageBar.js +59 -0
  214. package/dist/components/UIMessageBar/UIMessageBar.js.map +1 -0
  215. package/dist/components/UIMessageBar/index.d.ts +2 -0
  216. package/dist/components/UIMessageBar/index.d.ts.map +1 -0
  217. package/dist/components/UIMessageBar/index.js +14 -0
  218. package/dist/components/UIMessageBar/index.js.map +1 -0
  219. package/dist/components/UIModal/UIModal.d.ts +23 -0
  220. package/dist/components/UIModal/UIModal.d.ts.map +1 -0
  221. package/dist/components/UIModal/UIModal.js +43 -0
  222. package/dist/components/UIModal/UIModal.js.map +1 -0
  223. package/dist/components/UIModal/index.d.ts +2 -0
  224. package/dist/components/UIModal/index.d.ts.map +1 -0
  225. package/dist/components/UIModal/index.js +14 -0
  226. package/dist/components/UIModal/index.js.map +1 -0
  227. package/dist/components/UIOverlay/UIOverlay.d.ts +22 -0
  228. package/dist/components/UIOverlay/UIOverlay.d.ts.map +1 -0
  229. package/dist/components/UIOverlay/UIOverlay.js +38 -0
  230. package/dist/components/UIOverlay/UIOverlay.js.map +1 -0
  231. package/dist/components/UIOverlay/index.d.ts +2 -0
  232. package/dist/components/UIOverlay/index.d.ts.map +1 -0
  233. package/dist/components/UIOverlay/index.js +14 -0
  234. package/dist/components/UIOverlay/index.js.map +1 -0
  235. package/dist/components/UISearchBox/UISearchBox.d.ts +22 -0
  236. package/dist/components/UISearchBox/UISearchBox.d.ts.map +1 -0
  237. package/dist/components/UISearchBox/UISearchBox.js +155 -0
  238. package/dist/components/UISearchBox/UISearchBox.js.map +1 -0
  239. package/dist/components/UISearchBox/index.d.ts +4 -0
  240. package/dist/components/UISearchBox/index.d.ts.map +1 -0
  241. package/dist/components/UISearchBox/index.js +14 -0
  242. package/dist/components/UISearchBox/index.js.map +1 -0
  243. package/dist/components/UISection/UISection.d.ts +33 -0
  244. package/dist/components/UISection/UISection.d.ts.map +1 -0
  245. package/dist/components/UISection/UISection.js +47 -0
  246. package/dist/components/UISection/UISection.js.map +1 -0
  247. package/dist/components/UISection/UISection.scss +76 -0
  248. package/dist/components/UISection/UISections.d.ts +251 -0
  249. package/dist/components/UISection/UISections.d.ts.map +1 -0
  250. package/dist/components/UISection/UISections.js +709 -0
  251. package/dist/components/UISection/UISections.js.map +1 -0
  252. package/dist/components/UISection/UISections.scss +62 -0
  253. package/dist/components/UISection/UISplitter.d.ts +97 -0
  254. package/dist/components/UISection/UISplitter.d.ts.map +1 -0
  255. package/dist/components/UISection/UISplitter.js +221 -0
  256. package/dist/components/UISection/UISplitter.js.map +1 -0
  257. package/dist/components/UISection/UISplitter.scss +212 -0
  258. package/dist/components/UISection/_mixins.scss +14 -0
  259. package/dist/components/UISection/_variables.scss +1 -0
  260. package/dist/components/UISection/index.d.ts +4 -0
  261. package/dist/components/UISection/index.d.ts.map +1 -0
  262. package/dist/components/UISection/index.js +16 -0
  263. package/dist/components/UISection/index.js.map +1 -0
  264. package/dist/components/UITable/UITable-helper.d.ts +85 -0
  265. package/dist/components/UITable/UITable-helper.d.ts.map +1 -0
  266. package/dist/components/UITable/UITable-helper.js +267 -0
  267. package/dist/components/UITable/UITable-helper.js.map +1 -0
  268. package/dist/components/UITable/UITable.d.ts +212 -0
  269. package/dist/components/UITable/UITable.d.ts.map +1 -0
  270. package/dist/components/UITable/UITable.js +762 -0
  271. package/dist/components/UITable/UITable.js.map +1 -0
  272. package/dist/components/UITable/UITable.scss +194 -0
  273. package/dist/components/UITable/index.d.ts +3 -0
  274. package/dist/components/UITable/index.d.ts.map +1 -0
  275. package/dist/components/UITable/index.js +15 -0
  276. package/dist/components/UITable/index.js.map +1 -0
  277. package/dist/components/UITable/types.d.ts +76 -0
  278. package/dist/components/UITable/types.d.ts.map +1 -0
  279. package/dist/components/UITable/types.js +27 -0
  280. package/dist/components/UITable/types.js.map +1 -0
  281. package/dist/components/UITabs/UITabs.d.ts +28 -0
  282. package/dist/components/UITabs/UITabs.d.ts.map +1 -0
  283. package/dist/components/UITabs/UITabs.js +70 -0
  284. package/dist/components/UITabs/UITabs.js.map +1 -0
  285. package/dist/components/UITabs/index.d.ts +2 -0
  286. package/dist/components/UITabs/index.d.ts.map +1 -0
  287. package/dist/components/UITabs/index.js +14 -0
  288. package/dist/components/UITabs/index.js.map +1 -0
  289. package/dist/components/UIToggle/UIToggle.d.ts +39 -0
  290. package/dist/components/UIToggle/UIToggle.d.ts.map +1 -0
  291. package/dist/components/UIToggle/UIToggle.js +181 -0
  292. package/dist/components/UIToggle/UIToggle.js.map +1 -0
  293. package/dist/components/UIToggle/index.d.ts +2 -0
  294. package/dist/components/UIToggle/index.d.ts.map +1 -0
  295. package/dist/components/UIToggle/index.js +14 -0
  296. package/dist/components/UIToggle/index.js.map +1 -0
  297. package/dist/components/UIToggleGroup/UIToggleGroup.d.ts +31 -0
  298. package/dist/components/UIToggleGroup/UIToggleGroup.d.ts.map +1 -0
  299. package/dist/components/UIToggleGroup/UIToggleGroup.js +132 -0
  300. package/dist/components/UIToggleGroup/UIToggleGroup.js.map +1 -0
  301. package/dist/components/UIToggleGroup/UIToggleGroup.scss +13 -0
  302. package/dist/components/UIToggleGroup/UIToggleGroup.types.d.ts +23 -0
  303. package/dist/components/UIToggleGroup/UIToggleGroup.types.d.ts.map +1 -0
  304. package/dist/components/UIToggleGroup/UIToggleGroup.types.js +3 -0
  305. package/dist/components/UIToggleGroup/UIToggleGroup.types.js.map +1 -0
  306. package/dist/components/UIToggleGroup/UIToggleGroupOption/UIToggleGroupOption.d.ts +26 -0
  307. package/dist/components/UIToggleGroup/UIToggleGroupOption/UIToggleGroupOption.d.ts.map +1 -0
  308. package/dist/components/UIToggleGroup/UIToggleGroupOption/UIToggleGroupOption.js +74 -0
  309. package/dist/components/UIToggleGroup/UIToggleGroupOption/UIToggleGroupOption.js.map +1 -0
  310. package/dist/components/UIToggleGroup/UIToggleGroupOption/UIToggleGroupOption.scss +74 -0
  311. package/dist/components/UIToggleGroup/UIToggleGroupOption/UIToggleGroupOption.types.d.ts +11 -0
  312. package/dist/components/UIToggleGroup/UIToggleGroupOption/UIToggleGroupOption.types.d.ts.map +1 -0
  313. package/dist/components/UIToggleGroup/UIToggleGroupOption/UIToggleGroupOption.types.js +3 -0
  314. package/dist/components/UIToggleGroup/UIToggleGroupOption/UIToggleGroupOption.types.js.map +1 -0
  315. package/dist/components/UIToggleGroup/UIToggleGroupOption/index.d.ts +3 -0
  316. package/dist/components/UIToggleGroup/UIToggleGroupOption/index.d.ts.map +1 -0
  317. package/dist/components/UIToggleGroup/UIToggleGroupOption/index.js +15 -0
  318. package/dist/components/UIToggleGroup/UIToggleGroupOption/index.js.map +1 -0
  319. package/dist/components/UIToggleGroup/index.d.ts +3 -0
  320. package/dist/components/UIToggleGroup/index.d.ts.map +1 -0
  321. package/dist/components/UIToggleGroup/index.js +15 -0
  322. package/dist/components/UIToggleGroup/index.js.map +1 -0
  323. package/dist/components/UIToolbar/UIToolbar.d.ts +37 -0
  324. package/dist/components/UIToolbar/UIToolbar.d.ts.map +1 -0
  325. package/dist/components/UIToolbar/UIToolbar.js +101 -0
  326. package/dist/components/UIToolbar/UIToolbar.js.map +1 -0
  327. package/dist/components/UIToolbar/UIToolbar.scss +48 -0
  328. package/dist/components/UIToolbar/UIToolbarColumn.d.ts +8 -0
  329. package/dist/components/UIToolbar/UIToolbarColumn.d.ts.map +1 -0
  330. package/dist/components/UIToolbar/UIToolbarColumn.js +30 -0
  331. package/dist/components/UIToolbar/UIToolbarColumn.js.map +1 -0
  332. package/dist/components/UIToolbar/UIToolbarDivider.d.ts +26 -0
  333. package/dist/components/UIToolbar/UIToolbarDivider.d.ts.map +1 -0
  334. package/dist/components/UIToolbar/UIToolbarDivider.js +51 -0
  335. package/dist/components/UIToolbar/UIToolbarDivider.js.map +1 -0
  336. package/dist/components/UIToolbar/index.d.ts +4 -0
  337. package/dist/components/UIToolbar/index.d.ts.map +1 -0
  338. package/dist/components/UIToolbar/index.js +16 -0
  339. package/dist/components/UIToolbar/index.js.map +1 -0
  340. package/dist/components/UITooltip/UITooltip.d.ts +29 -0
  341. package/dist/components/UITooltip/UITooltip.d.ts.map +1 -0
  342. package/dist/components/UITooltip/UITooltip.js +79 -0
  343. package/dist/components/UITooltip/UITooltip.js.map +1 -0
  344. package/dist/components/UITooltip/UITooltipUtils.d.ts +17 -0
  345. package/dist/components/UITooltip/UITooltipUtils.d.ts.map +1 -0
  346. package/dist/components/UITooltip/UITooltipUtils.js +47 -0
  347. package/dist/components/UITooltip/UITooltipUtils.js.map +1 -0
  348. package/dist/components/UITooltip/index.d.ts +3 -0
  349. package/dist/components/UITooltip/index.d.ts.map +1 -0
  350. package/dist/components/UITooltip/index.js +15 -0
  351. package/dist/components/UITooltip/index.js.map +1 -0
  352. package/dist/components/UITreeDropdown/UITreeDropdown.d.ts +255 -0
  353. package/dist/components/UITreeDropdown/UITreeDropdown.d.ts.map +1 -0
  354. package/dist/components/UITreeDropdown/UITreeDropdown.js +638 -0
  355. package/dist/components/UITreeDropdown/UITreeDropdown.js.map +1 -0
  356. package/dist/components/UITreeDropdown/UITreeDropdown.scss +82 -0
  357. package/dist/components/UITreeDropdown/index.d.ts +2 -0
  358. package/dist/components/UITreeDropdown/index.d.ts.map +1 -0
  359. package/dist/components/UITreeDropdown/index.js +14 -0
  360. package/dist/components/UITreeDropdown/index.js.map +1 -0
  361. package/dist/components/UIVerticalDivider/UIVerticalDivider.d.ts +24 -0
  362. package/dist/components/UIVerticalDivider/UIVerticalDivider.d.ts.map +1 -0
  363. package/dist/components/UIVerticalDivider/UIVerticalDivider.js +42 -0
  364. package/dist/components/UIVerticalDivider/UIVerticalDivider.js.map +1 -0
  365. package/dist/components/UIVerticalDivider/index.d.ts +2 -0
  366. package/dist/components/UIVerticalDivider/index.d.ts.map +1 -0
  367. package/dist/components/UIVerticalDivider/index.js +14 -0
  368. package/dist/components/UIVerticalDivider/index.js.map +1 -0
  369. package/dist/components/UIVirtualList/UIAutoSizer.d.ts +22 -0
  370. package/dist/components/UIVirtualList/UIAutoSizer.d.ts.map +1 -0
  371. package/dist/components/UIVirtualList/UIAutoSizer.js +33 -0
  372. package/dist/components/UIVirtualList/UIAutoSizer.js.map +1 -0
  373. package/dist/components/UIVirtualList/UICellMeasurer.d.ts +23 -0
  374. package/dist/components/UIVirtualList/UICellMeasurer.d.ts.map +1 -0
  375. package/dist/components/UIVirtualList/UICellMeasurer.js +33 -0
  376. package/dist/components/UIVirtualList/UICellMeasurer.js.map +1 -0
  377. package/dist/components/UIVirtualList/UIVirtualList.d.ts +43 -0
  378. package/dist/components/UIVirtualList/UIVirtualList.d.ts.map +1 -0
  379. package/dist/components/UIVirtualList/UIVirtualList.js +70 -0
  380. package/dist/components/UIVirtualList/UIVirtualList.js.map +1 -0
  381. package/dist/components/UIVirtualList/index.d.ts +4 -0
  382. package/dist/components/UIVirtualList/index.d.ts.map +1 -0
  383. package/dist/components/UIVirtualList/index.js +16 -0
  384. package/dist/components/UIVirtualList/index.js.map +1 -0
  385. package/dist/components/index.d.ts +34 -0
  386. package/dist/components/index.d.ts.map +1 -0
  387. package/dist/components/index.js +46 -0
  388. package/dist/components/index.js.map +1 -0
  389. package/dist/helper/ValidationMessage/MessageWrapper.d.ts +18 -0
  390. package/dist/helper/ValidationMessage/MessageWrapper.d.ts.map +1 -0
  391. package/dist/helper/ValidationMessage/MessageWrapper.js +35 -0
  392. package/dist/helper/ValidationMessage/MessageWrapper.js.map +1 -0
  393. package/dist/helper/ValidationMessage/MessageWrapper.scss +44 -0
  394. package/dist/helper/ValidationMessage/index.d.ts +3 -0
  395. package/dist/helper/ValidationMessage/index.d.ts.map +1 -0
  396. package/dist/helper/ValidationMessage/index.js +15 -0
  397. package/dist/helper/ValidationMessage/index.js.map +1 -0
  398. package/dist/helper/ValidationMessage/utils.d.ts +32 -0
  399. package/dist/helper/ValidationMessage/utils.d.ts.map +1 -0
  400. package/dist/helper/ValidationMessage/utils.js +124 -0
  401. package/dist/helper/ValidationMessage/utils.js.map +1 -0
  402. package/dist/index.d.ts +3 -0
  403. package/dist/index.d.ts.map +1 -0
  404. package/dist/index.js +15 -0
  405. package/dist/index.js.map +1 -0
  406. package/dist/styles/_color.scss +435 -0
  407. package/dist/styles/_mixins.scss +15 -0
  408. package/dist/styles/_theia_materialcolors.scss +279 -0
  409. package/dist/styles/_typography.scss +72 -0
  410. package/dist/styles/_variables.scss +24 -0
  411. package/dist/styles/ui-components.scss +5 -0
  412. package/dist/utilities/DeepMerge.d.ts +10 -0
  413. package/dist/utilities/DeepMerge.d.ts.map +1 -0
  414. package/dist/utilities/DeepMerge.js +43 -0
  415. package/dist/utilities/DeepMerge.js.map +1 -0
  416. package/dist/utilities/Focus.d.ts +5 -0
  417. package/dist/utilities/Focus.d.ts.map +1 -0
  418. package/dist/utilities/Focus.js +8 -0
  419. package/dist/utilities/Focus.js.map +1 -0
  420. package/dist/utilities/Id.d.ts +3 -0
  421. package/dist/utilities/Id.d.ts.map +1 -0
  422. package/dist/utilities/Id.js +6 -0
  423. package/dist/utilities/Id.js.map +1 -0
  424. package/dist/utilities/Keys.d.ts +3 -0
  425. package/dist/utilities/Keys.d.ts.map +1 -0
  426. package/dist/utilities/Keys.js +6 -0
  427. package/dist/utilities/Keys.js.map +1 -0
  428. package/dist/utilities/index.d.ts +4 -0
  429. package/dist/utilities/index.d.ts.map +1 -0
  430. package/dist/utilities/index.js +16 -0
  431. package/dist/utilities/index.js.map +1 -0
  432. package/package.json +78 -0
  433. package/storybook/509.1060f8f464e74d7e89e3.manager.bundle.js +17 -0
  434. package/storybook/685.6d7c03ae84f4f4910fd8.manager.bundle.js +10 -0
  435. package/storybook/720.3f79f56f8617ba9b098b.manager.bundle.js +1 -0
  436. package/storybook/730.e07ff5529508942d85d4.manager.bundle.js +15 -0
  437. package/storybook/759.8ae5af3b1b3b446a9919.manager.bundle.js +296 -0
  438. package/storybook/906.cf93a831.iframe.bundle.js +1 -0
  439. package/storybook/93.4e7a890e.iframe.bundle.js +301 -0
  440. package/storybook/975.15c711f75c0452ae9e9f.manager.bundle.js +2 -0
  441. package/storybook/978.a517622963996a3b8256.manager.bundle.js +894 -0
  442. package/storybook/983.515d3eedbfaed61e9ae7.manager.bundle.js +1 -0
  443. package/storybook/favicon.ico +0 -0
  444. package/storybook/iframe.html +380 -0
  445. package/storybook/index.html +177 -0
  446. package/storybook/main.e843f431b2692c06059a.manager.bundle.js +1 -0
  447. package/storybook/main.fd2077c6.iframe.bundle.js +98 -0
  448. package/storybook/project.json +1 -0
  449. package/storybook/runtime~main.1118f177d5097a42d314.manager.bundle.js +2 -0
  450. package/storybook/runtime~main.e0688c57.iframe.bundle.js +2 -0
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ import type { UIFlexibleTableProps } from './types';
3
+ export interface RowActionsProps<T> {
4
+ rowIndex: number;
5
+ onMoveDownClick?: () => void;
6
+ onMoveUpClick?: () => void;
7
+ onFocusRowAction: (name: string) => void;
8
+ tableProps: UIFlexibleTableProps<T>;
9
+ }
10
+ /**
11
+ * RowActions component.
12
+ *
13
+ * @param {RowActionsProps<T>} props
14
+ * @returns {React.ReactElement}
15
+ */
16
+ export declare function RowActions<T>(props: RowActionsProps<T>): React.ReactElement;
17
+ //# sourceMappingURL=RowActions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RowActions.d.ts","sourceRoot":"","sources":["../../../src/components/UIFlexibleTable/RowActions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,oBAAoB,EAAkC,MAAM,SAAS,CAAC;AAGpF,MAAM,WAAW,eAAe,CAAC,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,UAAU,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;CACvC;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,YAAY,CA6E3E"}
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.RowActions = void 0;
7
+ const react_1 = __importDefault(require("react"));
8
+ const UIFlexibleTableRowActionButton_1 = require("./UIFlexibleTableRowActionButton");
9
+ const __1 = require("..");
10
+ /**
11
+ * RowActions component.
12
+ *
13
+ * @param {RowActionsProps<T>} props
14
+ * @returns {React.ReactElement}
15
+ */
16
+ function RowActions(props) {
17
+ const { rowIndex, tableProps } = props;
18
+ const rows = props.tableProps.rows;
19
+ const rowKey = rows[rowIndex].key;
20
+ const cells = rows[rowIndex].cells;
21
+ const upArrowDisabled = rowIndex <= 0;
22
+ const downArrowDisabled = rowIndex >= rows.length - 1;
23
+ const isShowReorderButtons = !tableProps.readonly && tableProps.onTableReorder;
24
+ const additionalActions = [];
25
+ const isShowDeleteAction = tableProps.onDeleteRow && !tableProps.readonly;
26
+ const divider = react_1.default.createElement(__1.UIVerticalDivider, { className: "flexible-table-content-table-row-item-actions-divider" });
27
+ if (tableProps.onRenderActions) {
28
+ const customActions = tableProps.onRenderActions({ rowIndex, rowKey, cells, readonly: !!tableProps.readonly });
29
+ additionalActions.push(...customActions.map((actionElement, idx) => {
30
+ return (react_1.default.createElement(react_1.default.Fragment, { key: `action-${actionElement.key}` },
31
+ react_1.default.createElement("div", { className: "flexible-table-content-table-row-item-actions-item-wrapper" }, actionElement),
32
+ idx < customActions.length - 1 && divider));
33
+ }));
34
+ }
35
+ const reorderButtons = isShowReorderButtons && (react_1.default.createElement("div", { className: "flexible-table-content-table-row-item-actions-item-wrapper" },
36
+ react_1.default.createElement(UIFlexibleTableRowActionButton_1.UIFlexibleTableRowActionButton, { key: "up-action", actionName: "up", disabled: upArrowDisabled || tableProps.isContentLoading, iconName: __1.UiIcons.ArrowUp, rowNumber: rowIndex, tableId: tableProps.id, onClick: props.onMoveUpClick, onFocus: () => {
37
+ props.onFocusRowAction('up');
38
+ } }),
39
+ react_1.default.createElement(UIFlexibleTableRowActionButton_1.UIFlexibleTableRowActionButton, { key: "down-action", actionName: "down", disabled: downArrowDisabled || tableProps.isContentLoading, iconName: __1.UiIcons.ArrowDown, rowNumber: rowIndex, tableId: tableProps.id, onClick: props.onMoveDownClick, onFocus: () => {
40
+ props.onFocusRowAction('down');
41
+ } })));
42
+ const deleteRowAction = isShowDeleteAction && (react_1.default.createElement("div", { className: "flexible-table-content-table-row-item-actions-item-wrapper" }, getDeleteRowAction(tableProps, { rowIndex, rowKey, cells, readonly: false })));
43
+ return (react_1.default.createElement(react_1.default.Fragment, null,
44
+ additionalActions,
45
+ additionalActions.length > 0 && (isShowReorderButtons || isShowDeleteAction) && divider,
46
+ reorderButtons,
47
+ isShowReorderButtons && isShowDeleteAction && divider,
48
+ deleteRowAction));
49
+ }
50
+ exports.RowActions = RowActions;
51
+ /**
52
+ * Get delete row action.
53
+ *
54
+ * @param {UIFlexibleTableProps<T>} props
55
+ * @param {TableRowEventHandlerParameters<T>} params
56
+ * @returns {React.ReactNode}
57
+ */
58
+ function getDeleteRowAction(props, params) {
59
+ const { isDeleteDisabled } = props.onRenderDeleteAction
60
+ ? props.onRenderDeleteAction(params)
61
+ : { isDeleteDisabled: false };
62
+ return (react_1.default.createElement(UIFlexibleTableRowActionButton_1.UIFlexibleTableRowActionButton, { key: "delete-action", actionName: "delete", iconName: __1.UiIcons.TrashCan, disabled: !!isDeleteDisabled || props.isContentLoading, rowNumber: params.rowIndex, onClick: () => {
63
+ if (props.onDeleteRow) {
64
+ props.onDeleteRow(params);
65
+ }
66
+ }, tableId: props.id }));
67
+ }
68
+ //# sourceMappingURL=RowActions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RowActions.js","sourceRoot":"","sources":["../../../src/components/UIFlexibleTable/RowActions.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ import type { UIFlexibleTableProps, UIFlexibleTableRowType } from './types';
3
+ interface RowDataCellsProps<T> {
4
+ tableProps: UIFlexibleTableProps<T>;
5
+ row: UIFlexibleTableRowType<T>;
6
+ rowIndex: number;
7
+ isInRowLayout: boolean;
8
+ }
9
+ /**
10
+ * RowDataCells component.
11
+ * @param {RowDataCellsProps<T>} props
12
+ * @returns {React.ReactElement}
13
+ */
14
+ export declare function RowDataCells<T>(props: RowDataCellsProps<T>): React.ReactElement;
15
+ export {};
16
+ //# sourceMappingURL=RowData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RowData.d.ts","sourceRoot":"","sources":["../../../src/components/UIFlexibleTable/RowData.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAG5E,UAAU,iBAAiB,CAAC,CAAC;IACzB,UAAU,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;IACpC,GAAG,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;CAC1B;AAwED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,YAAY,CA4C/E"}
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.RowDataCells = void 0;
7
+ const react_1 = __importDefault(require("react"));
8
+ const types_1 = require("./types");
9
+ const utils_1 = require("./utils");
10
+ /**
11
+ * Get cell title element.
12
+ *
13
+ * @param {UIFlexibleTableProps<T>} tableProps
14
+ * @param {React.ReactNode} title
15
+ * @param {boolean} inRowLayout
16
+ * @returns {React.ReactNode}
17
+ */
18
+ function getCellTitleElement(tableProps, title, inRowLayout) {
19
+ const wrappingLayout = tableProps.layout === types_1.UIFlexibleTableLayout.Wrapping;
20
+ const isFlexContent = wrappingLayout || !inRowLayout || tableProps.showColumnTitlesInCells;
21
+ if (tableProps.showColumnTitles && isFlexContent) {
22
+ return react_1.default.createElement("div", { className: "flexible-table-content-table-row-item-title" }, title);
23
+ }
24
+ else {
25
+ return react_1.default.createElement(react_1.default.Fragment, null);
26
+ }
27
+ }
28
+ /**
29
+ * Gets row data cells.
30
+ *
31
+ * @param {RowDataCellsProps<T>} props
32
+ * @returns {Array<React.ReactNode>}
33
+ */
34
+ function getRowDataCells(props) {
35
+ const { isInRowLayout, row, rowIndex, tableProps } = props;
36
+ const result = [];
37
+ for (let i = 0; i < tableProps.columns.length; i++) {
38
+ if (tableProps.columns[i].hidden) {
39
+ continue;
40
+ }
41
+ const colKey = tableProps.columns[i].key;
42
+ const { content, isSpan, cellClassNames, title } = tableProps.onRenderCell({
43
+ cells: row.cells,
44
+ colIndex: i,
45
+ colKey,
46
+ readonly: !!tableProps.readonly,
47
+ rowIndex,
48
+ rowKey: row.key,
49
+ value: row.cells[colKey],
50
+ isInRowLayout
51
+ });
52
+ if (tableProps.layout === types_1.UIFlexibleTableLayout.InlineFlex || content) {
53
+ const classNameStr = utils_1.composeClassNames('flexible-table-content-table-row-item-data-cells-wrapper', [
54
+ cellClassNames,
55
+ tableProps.columns[i].className
56
+ ]);
57
+ const cellId = `cell-${colKey}`;
58
+ result.push(react_1.default.createElement("div", { key: isSpan ? `cell-unknown` : `cell-${colKey}-${i}`, className: classNameStr, id: cellId },
59
+ getCellTitleElement(tableProps, title || tableProps.columns[i].title, isInRowLayout),
60
+ react_1.default.createElement("div", { className: "flexible-table-content-table-row-item-data-cells-value" }, content)));
61
+ }
62
+ if (isSpan) {
63
+ break;
64
+ }
65
+ }
66
+ return result;
67
+ }
68
+ /**
69
+ * RowDataCells component.
70
+ * @param {RowDataCellsProps<T>} props
71
+ * @returns {React.ReactElement}
72
+ */
73
+ function RowDataCells(props) {
74
+ const { isInRowLayout, row, rowIndex, tableProps } = props;
75
+ const rowCells = [];
76
+ const rowCellsData = [];
77
+ let alternativeContent;
78
+ if (tableProps.onRenderRowDataContent) {
79
+ alternativeContent = tableProps.onRenderRowDataContent({
80
+ cells: row.cells,
81
+ readonly: !!tableProps.readonly,
82
+ rowIndex,
83
+ rowKey: row.key
84
+ });
85
+ }
86
+ if (tableProps.showIndexColumn) {
87
+ // Add index cell
88
+ rowCells.push(react_1.default.createElement("div", { key: `cell-index-${rowIndex}`, className: "flexible-table-content-table-row-item-index" },
89
+ react_1.default.createElement("span", { className: "flexible-table-content-table-row-item-index-value" }, row.key)));
90
+ }
91
+ if (!alternativeContent) {
92
+ rowCellsData.push(...getRowDataCells(props));
93
+ }
94
+ else {
95
+ rowCellsData.push(alternativeContent);
96
+ }
97
+ // Add data cells
98
+ const classNames = ['flexible-table-content-table-row-item-data-cells'];
99
+ if (tableProps.layout === types_1.UIFlexibleTableLayout.Wrapping) {
100
+ classNames.push('dynamic');
101
+ }
102
+ else {
103
+ classNames.push(isInRowLayout ? 'in-row' : 'in-column');
104
+ }
105
+ rowCells.push(react_1.default.createElement("div", { key: `flexible-table-content-table-row-item-${rowIndex}`, className: classNames.join(' ') }, rowCellsData));
106
+ return react_1.default.createElement("div", { className: "flexible-table-content-table-row-item-wrapper" }, rowCells);
107
+ }
108
+ exports.RowDataCells = RowDataCells;
109
+ //# sourceMappingURL=RowData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RowData.js","sourceRoot":"","sources":["../../../src/components/UIFlexibleTable/RowData.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import type { UIFlexibleTableProps } from './types';
3
+ import './UIFlexibleTable.scss';
4
+ /**
5
+ * UIFlexibleTable component.
6
+ *
7
+ * @exports
8
+ * @param {UIFlexibleTableProps<T>} props
9
+ * @returns {React.ReactElement}
10
+ */
11
+ export declare function UIFlexibleTable<T>(props: UIFlexibleTableProps<T>): React.ReactElement;
12
+ //# sourceMappingURL=UIFlexibleTable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UIFlexibleTable.d.ts","sourceRoot":"","sources":["../../../src/components/UIFlexibleTable/UIFlexibleTable.tsx"],"names":[],"mappings":"AACA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAM3D,OAAO,KAAK,EAAgC,oBAAoB,EAA0B,MAAM,SAAS,CAAC;AAE1G,OAAO,wBAAwB,CAAC;AAiBhC;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,YAAY,CAiOrF"}
@@ -0,0 +1,256 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.UIFlexibleTable = void 0;
23
+ const react_1 = __importStar(require("react"));
24
+ const react_movable_1 = require("react-movable");
25
+ const __1 = require("..");
26
+ const UIFlexibleTableRow_1 = require("./UIFlexibleTableRow");
27
+ const types_1 = require("./types");
28
+ require("./UIFlexibleTable.scss");
29
+ const utils_1 = require("./utils");
30
+ const RowActions_1 = require("./RowActions");
31
+ const RowData_1 = require("./RowData");
32
+ /**
33
+ * UIFlexibleTable component.
34
+ *
35
+ * @exports
36
+ * @param {UIFlexibleTableProps<T>} props
37
+ * @returns {React.ReactElement}
38
+ */
39
+ function UIFlexibleTable(props) {
40
+ const [currentFocusedRowIndex, setCurrentFocusedRowIndex] = react_1.useState();
41
+ const [currentFocusedRowAction, setCurrentFocusedRowAction] = react_1.useState('');
42
+ const [isInRowLayout, setIsInRowLayout] = react_1.useState(props.layout === types_1.UIFlexibleTableLayout.InlineFlex);
43
+ const [titleRowRightPadding, setTitleRowRightPadding] = react_1.useState(0);
44
+ const [rowToNavigate, setRowToNavigate] = react_1.useState();
45
+ const scrollableElement = react_1.useRef(null);
46
+ const tableRootElementRef = react_1.useRef(null);
47
+ const contentElementRef = react_1.useRef(null);
48
+ const tableBodyElementRef = react_1.useRef(null);
49
+ const scrollTargetRef = react_1.useRef(null);
50
+ const onResize = (element) => {
51
+ setIsInRowLayout(props.layout === types_1.UIFlexibleTableLayout.InlineFlex &&
52
+ isRowFitsContainer(props.inRowLayoutMinWidth, tableRootElementRef));
53
+ const rootContainer = tableRootElementRef.current;
54
+ if (element && props.onContentSizeChange && rootContainer) {
55
+ props.onContentSizeChange({ height: rootContainer.clientHeight, width: rootContainer.clientWidth });
56
+ }
57
+ };
58
+ const onScrollBarStateChange = () => {
59
+ const content = contentElementRef
60
+ .current;
61
+ const scrollableContent = scrollableElement.current;
62
+ const scrollBarSize = content && scrollableContent ? content.clientWidth - scrollableContent.clientWidth : 0;
63
+ setTitleRowRightPadding(scrollBarSize);
64
+ };
65
+ const [resizeObserver] = react_1.useState(new ResizeObserver(onResize));
66
+ const scrollBarObserver = react_1.useRef(new ResizeObserver(onScrollBarStateChange));
67
+ react_1.useEffect(() => {
68
+ if (tableRootElementRef.current) {
69
+ resizeObserver.observe(tableRootElementRef.current);
70
+ onResize();
71
+ }
72
+ }, [tableRootElementRef.current]);
73
+ react_1.useEffect(() => {
74
+ if (currentFocusedRowIndex !== undefined) {
75
+ restoreFocus(currentFocusedRowAction, currentFocusedRowIndex, props.id);
76
+ }
77
+ if (!props.isContentLoading && scrollTargetRef.current) {
78
+ scrollTargetRef.current.scrollIntoView({ behavior: 'smooth', block: 'nearest' });
79
+ setRowToNavigate(undefined);
80
+ }
81
+ }, [props.isContentLoading, props.rows]);
82
+ react_1.useEffect(() => {
83
+ return () => {
84
+ resizeObserver.disconnect();
85
+ };
86
+ }, []);
87
+ react_1.useEffect(() => {
88
+ onResize();
89
+ }, [props.layout, props.maxWidth]);
90
+ const reorderTable = (oldIndex, newIndex) => {
91
+ if (props.onTableReorder) {
92
+ props.onTableReorder({ oldIndex, newIndex });
93
+ setCurrentFocusedRowIndex(newIndex);
94
+ }
95
+ };
96
+ const addNewRow = () => {
97
+ if (props.addRowButton?.onClick) {
98
+ const result = props.addRowButton.onClick();
99
+ if (result instanceof Promise) {
100
+ result.then((data) => setRowToNavigate(data?.scrollToRow)).catch(() => undefined);
101
+ }
102
+ else {
103
+ setRowToNavigate(result?.scrollToRow);
104
+ }
105
+ }
106
+ };
107
+ const onFocusRowAction = (rowIndex, actionName = '') => {
108
+ setCurrentFocusedRowIndex(rowIndex);
109
+ setCurrentFocusedRowAction(actionName);
110
+ };
111
+ const renderRowActions = (rowIndex) => {
112
+ return (react_1.default.createElement(RowActions_1.RowActions, { rowIndex: rowIndex, tableProps: props, onFocusRowAction: (actionName) => onFocusRowAction(rowIndex, actionName), onMoveDownClick: () => reorderTable(rowIndex, rowIndex + 1), onMoveUpClick: () => reorderTable(rowIndex, rowIndex - 1) }));
113
+ };
114
+ const renderRowData = (params) => (react_1.default.createElement(RowData_1.RowDataCells, { key: params.index || 0, isInRowLayout: isInRowLayout, row: params.value, rowIndex: params.index || 0, tableProps: props }));
115
+ /**
116
+ * Renders row.
117
+ *
118
+ * @param {NodeDragAndDropSortingParams} params
119
+ * @returns {React.ReactElement<UIFlexibleTableRowProps<T>, 'UIFlexibleTableRow'>}
120
+ */
121
+ function renderRow(params) {
122
+ const rowIndex = params.index;
123
+ return (react_1.default.createElement(UIFlexibleTableRow_1.UIFlexibleTableRow, { key: `row-${rowIndex}`, dragAndDropParams: params, rowActions: renderRowActions(rowIndex || 0), rowData: renderRowData(params), tableProps: props, rowRef: typeof rowToNavigate === 'number' && rowIndex === rowToNavigate ? scrollTargetRef : undefined }));
124
+ }
125
+ const renderTable = (params) => {
126
+ const ulElement = params.props.ref?.current;
127
+ if (ulElement && scrollableElement.current !== ulElement) {
128
+ scrollableElement.current = ulElement;
129
+ scrollBarObserver.current.observe(ulElement);
130
+ }
131
+ return (react_1.default.createElement("ul", { ref: params.props.ref, className: `flexible-table-content-table${params.isDragged ? ' dragged' : ''}`, style: {
132
+ cursor: params.isDragged ? 'grabbing' : 'default',
133
+ maxHeight: props.maxScrollableContentHeight ? `${props.maxScrollableContentHeight}px` : undefined
134
+ } }, params.children));
135
+ };
136
+ const tableBody = getTableBody(props, renderTable, renderRow, reorderTable, tableBodyElementRef);
137
+ const tableClasses = utils_1.composeClassNames('flexible-table', [
138
+ props.layout === types_1.UIFlexibleTableLayout.InlineFlex ? 'inline-layout' : 'wrapping-layout',
139
+ props.readonly ? 'readonly' : ''
140
+ ]);
141
+ const contentClasses = utils_1.composeClassNames('flexible-table-content', [
142
+ props.rows.length === 0 ? 'empty-table' : '',
143
+ props.isContentLoading ? 'loading' : ''
144
+ ]);
145
+ const showTitleRow = props.showColumnTitles && isInRowLayout && !props.showColumnTitlesInCells;
146
+ const tableRootElementStyle = {
147
+ maxWidth: props.maxWidth ? `${props.maxWidth}px` : '100%'
148
+ };
149
+ const primaryTableActions = [];
150
+ const secondaryTableActions = [];
151
+ const getActionFragment = (actionElement) => (react_1.default.createElement(react_1.default.Fragment, { key: `table-action-${actionElement.key}` },
152
+ react_1.default.createElement("div", { className: "flexible-table-header-action" }, actionElement)));
153
+ if (props.onRenderPrimaryTableActions) {
154
+ const customActions = props.onRenderPrimaryTableActions({ readonly: !!props.readonly });
155
+ primaryTableActions.push(...customActions.map((item) => getActionFragment(item)));
156
+ }
157
+ if (props.onRenderSecondaryTableActions) {
158
+ const customActions = props.onRenderSecondaryTableActions({ readonly: !!props.readonly });
159
+ secondaryTableActions.push(...customActions.map((item) => getActionFragment(item)));
160
+ }
161
+ return (react_1.default.createElement("div", { className: tableClasses, ref: tableRootElementRef, id: props.id, style: tableRootElementStyle, onBlur: () => {
162
+ onFocusRowAction();
163
+ } },
164
+ react_1.default.createElement("div", { className: "flexible-table-header" },
165
+ react_1.default.createElement("div", { className: "flexible-table-header-primary-actions" },
166
+ props.addRowButton && (react_1.default.createElement("div", { className: "flexible-table-header-action" },
167
+ react_1.default.createElement(__1.UIDefaultButton, { iconProps: { iconName: 'Add' }, className: "flexible-table-btn-add", id: utils_1.getTableActionButtonId(props.id, 'add-row'), primary: true, disabled: props.isAddItemDisabled || props.isContentLoading || props.readonly, onClick: addNewRow, title: props.addRowButton.title }, props.addRowButton.label))),
168
+ primaryTableActions),
169
+ react_1.default.createElement("div", { className: "flexible-table-header-secondary-actions" }, secondaryTableActions)),
170
+ react_1.default.createElement("div", { className: contentClasses, ref: contentElementRef },
171
+ showTitleRow && UIFlexibleTableRow_1.renderTitleRow(props, titleRowRightPadding),
172
+ tableBody,
173
+ props.isContentLoading && (react_1.default.createElement(__1.UILoader, { className: 'uiLoaderXLarge flexible-table-overlay-loader', blockDOM: true })))));
174
+ }
175
+ exports.UIFlexibleTable = UIFlexibleTable;
176
+ /**
177
+ * Gets table body.
178
+ *
179
+ * @param {UIFlexibleTableProps<T>} props
180
+ * @param {(params: { children: React.ReactNode; isDragged: boolean; props: { ref?: React.RefObject<any>; }; }) => React.ReactNode} renderTable
181
+ * @param {( params: NodeDragAndDropSortingParams) => React.ReactElement<UIFlexibleTableRowProps<T>, 'UIFlexibleTableRow'>} renderRow
182
+ * @param { (oldIndex: number, newIndex: number) => void} reorderTable
183
+ * @param {React.MutableRefObject<any>} tableBodyElementRef
184
+ * @returns {React.ReactNode}
185
+ */
186
+ function getTableBody(props, renderTable, renderRow, reorderTable, tableBodyElementRef) {
187
+ let tableBody;
188
+ if (props.onTableReorder && !props.readonly) {
189
+ tableBody = (react_1.default.createElement(react_movable_1.List, { values: props.rows, lockVertically: props.lockVertically, onChange: ({ oldIndex, newIndex }) => {
190
+ reorderTable(oldIndex, newIndex);
191
+ }, renderList: (params) => renderTable(params), renderItem: (params) => renderRow(params), removableByMove: true }));
192
+ }
193
+ else {
194
+ const children = props.rows.map((row, index) => {
195
+ const rowProps = {
196
+ key: index
197
+ };
198
+ const dragAndDropParams = {
199
+ index,
200
+ isDragged: false,
201
+ isOutOfBounds: false,
202
+ isSelected: false,
203
+ props: rowProps,
204
+ value: row
205
+ };
206
+ return renderRow(dragAndDropParams);
207
+ });
208
+ tableBody = renderTable({ children, isDragged: false, props: { ...props, ref: tableBodyElementRef } });
209
+ }
210
+ return tableBody;
211
+ }
212
+ /**
213
+ * Restore focus.
214
+ *
215
+ * @param {string} currentFocusedRowAction
216
+ * @param {number | undefined} currentFocusedRowIndex
217
+ * @param {string} tableId
218
+ */
219
+ function restoreFocus(currentFocusedRowAction, currentFocusedRowIndex, tableId) {
220
+ if (currentFocusedRowAction) {
221
+ let actionElement = document.getElementById(utils_1.getRowActionButtonId(tableId, currentFocusedRowIndex, currentFocusedRowAction));
222
+ if (actionElement) {
223
+ if (!actionElement.hasAttribute('disabled')) {
224
+ actionElement.focus();
225
+ }
226
+ else {
227
+ if (currentFocusedRowAction === 'up') {
228
+ actionElement = document.getElementById(utils_1.getRowActionButtonId(tableId, currentFocusedRowIndex, 'down'));
229
+ }
230
+ else {
231
+ actionElement = document.getElementById(utils_1.getRowActionButtonId(tableId, currentFocusedRowIndex, 'up'));
232
+ }
233
+ if (actionElement) {
234
+ actionElement.focus();
235
+ }
236
+ }
237
+ }
238
+ }
239
+ }
240
+ /**
241
+ * Check row fit container.
242
+ *
243
+ * @param {number | undefined} propThreshold
244
+ * @param {React.MutableRefObject<HTMLDivElement | null>} containerRef
245
+ * @returns {boolean}
246
+ */
247
+ function isRowFitsContainer(propThreshold, containerRef) {
248
+ let result = true;
249
+ const inRowMinWidth = propThreshold ?? 600;
250
+ const containerWidth = containerRef?.current?.clientWidth ?? 0;
251
+ if (containerWidth) {
252
+ result = containerWidth >= inRowMinWidth;
253
+ }
254
+ return result;
255
+ }
256
+ //# sourceMappingURL=UIFlexibleTable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UIFlexibleTable.js","sourceRoot":"","sources":["../../../src/components/UIFlexibleTable/UIFlexibleTable.tsx"],"names":[],"mappings":"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"}