@talxis/base-controls 0.0.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 (516) hide show
  1. package/README.md +41 -0
  2. package/dist/components/DatasetControl/DatasetControl.d.ts +3 -0
  3. package/dist/components/DatasetControl/DatasetControl.js +72 -0
  4. package/dist/components/DatasetControl/DatasetControl.js.map +1 -0
  5. package/dist/components/DatasetControl/Paging/DatasetPaging.d.ts +3 -0
  6. package/dist/components/DatasetControl/Paging/DatasetPaging.js +69 -0
  7. package/dist/components/DatasetControl/Paging/DatasetPaging.js.map +1 -0
  8. package/dist/components/DatasetControl/Paging/Paging.d.ts +26 -0
  9. package/dist/components/DatasetControl/Paging/Paging.js +80 -0
  10. package/dist/components/DatasetControl/Paging/Paging.js.map +1 -0
  11. package/dist/components/DatasetControl/Paging/index.d.ts +3 -0
  12. package/dist/components/DatasetControl/Paging/index.js +3 -0
  13. package/dist/components/DatasetControl/Paging/index.js.map +1 -0
  14. package/dist/components/DatasetControl/Paging/interfaces.d.ts +16 -0
  15. package/dist/components/DatasetControl/Paging/styles.d.ts +35 -0
  16. package/dist/components/DatasetControl/Paging/styles.js +41 -0
  17. package/dist/components/DatasetControl/Paging/styles.js.map +1 -0
  18. package/dist/components/DatasetControl/Paging/translations.d.ts +38 -0
  19. package/dist/components/DatasetControl/Paging/translations.js +14 -0
  20. package/dist/components/DatasetControl/Paging/translations.js.map +1 -0
  21. package/dist/components/DatasetControl/QuickFind/QuickFind.d.ts +13 -0
  22. package/dist/components/DatasetControl/QuickFind/QuickFind.js +59 -0
  23. package/dist/components/DatasetControl/QuickFind/QuickFind.js.map +1 -0
  24. package/dist/components/DatasetControl/QuickFind/styles.d.ts +8 -0
  25. package/dist/components/DatasetControl/QuickFind/styles.js +15 -0
  26. package/dist/components/DatasetControl/QuickFind/styles.js.map +1 -0
  27. package/dist/components/DatasetControl/index.d.ts +3 -0
  28. package/dist/components/DatasetControl/index.js +4 -0
  29. package/dist/components/DatasetControl/index.js.map +1 -0
  30. package/dist/components/DatasetControl/interfaces.d.ts +32 -0
  31. package/dist/components/DatasetControl/styles.d.ts +18 -0
  32. package/dist/components/DatasetControl/styles.js +29 -0
  33. package/dist/components/DatasetControl/styles.js.map +1 -0
  34. package/dist/components/DatasetControl/translations.d.ts +18 -0
  35. package/dist/components/DatasetControl/translations.js +9 -0
  36. package/dist/components/DatasetControl/translations.js.map +1 -0
  37. package/dist/components/DateTime/DateTime.d.ts +3 -0
  38. package/dist/components/DateTime/DateTime.js +149 -0
  39. package/dist/components/DateTime/DateTime.js.map +1 -0
  40. package/dist/components/DateTime/components/Calendar.d.ts +17 -0
  41. package/dist/components/DateTime/components/Calendar.js +63 -0
  42. package/dist/components/DateTime/components/Calendar.js.map +1 -0
  43. package/dist/components/DateTime/hooks/useDateTime.d.ts +32 -0
  44. package/dist/components/DateTime/hooks/useDateTime.js +150 -0
  45. package/dist/components/DateTime/hooks/useDateTime.js.map +1 -0
  46. package/dist/components/DateTime/index.d.ts +3 -0
  47. package/dist/components/DateTime/index.js +3 -0
  48. package/dist/components/DateTime/index.js.map +1 -0
  49. package/dist/components/DateTime/interfaces.d.ts +23 -0
  50. package/dist/components/DateTime/styles.d.ts +31 -0
  51. package/dist/components/DateTime/styles.js +37 -0
  52. package/dist/components/DateTime/styles.js.map +1 -0
  53. package/dist/components/DateTime/translations.d.ts +19 -0
  54. package/dist/components/DateTime/translations.js +23 -0
  55. package/dist/components/DateTime/translations.js.map +1 -0
  56. package/dist/components/Decimal/Decimal.d.ts +3 -0
  57. package/dist/components/Decimal/Decimal.js +204 -0
  58. package/dist/components/Decimal/Decimal.js.map +1 -0
  59. package/dist/components/Decimal/components/ArrowButtons.d.ts +10 -0
  60. package/dist/components/Decimal/components/ArrowButtons.js +38 -0
  61. package/dist/components/Decimal/components/ArrowButtons.js.map +1 -0
  62. package/dist/components/Decimal/components/styles.d.ts +20 -0
  63. package/dist/components/Decimal/components/styles.js +26 -0
  64. package/dist/components/Decimal/components/styles.js.map +1 -0
  65. package/dist/components/Decimal/index.d.ts +2 -0
  66. package/dist/components/Decimal/index.js +2 -0
  67. package/dist/components/Decimal/index.js.map +1 -0
  68. package/dist/components/Decimal/interfaces.d.ts +13 -0
  69. package/dist/components/Duration/Duration.d.ts +3 -0
  70. package/dist/components/Duration/Duration.js +155 -0
  71. package/dist/components/Duration/Duration.js.map +1 -0
  72. package/dist/components/Duration/durationOptions.d.ts +2 -0
  73. package/dist/components/Duration/durationOptions.js +27 -0
  74. package/dist/components/Duration/durationOptions.js.map +1 -0
  75. package/dist/components/Duration/index.d.ts +2 -0
  76. package/dist/components/Duration/index.js +2 -0
  77. package/dist/components/Duration/index.js.map +1 -0
  78. package/dist/components/Duration/interfaces.d.ts +13 -0
  79. package/dist/components/Duration/translations.d.ts +26 -0
  80. package/dist/components/Duration/translations.js +31 -0
  81. package/dist/components/Duration/translations.js.map +1 -0
  82. package/dist/components/Grid/Grid.d.ts +3 -0
  83. package/dist/components/Grid/Grid.js +37 -0
  84. package/dist/components/Grid/Grid.js.map +1 -0
  85. package/dist/components/Grid/GridContext.d.ts +3 -0
  86. package/dist/components/Grid/GridContext.js +6 -0
  87. package/dist/components/Grid/GridContext.js.map +1 -0
  88. package/dist/components/Grid/aggregation/Aggregation.d.ts +18 -0
  89. package/dist/components/Grid/aggregation/Aggregation.js +129 -0
  90. package/dist/components/Grid/aggregation/Aggregation.js.map +1 -0
  91. package/dist/components/Grid/constants.d.ts +1 -0
  92. package/dist/components/Grid/constants.js +4 -0
  93. package/dist/components/Grid/constants.js.map +1 -0
  94. package/dist/components/Grid/core/components/AgGrid/AgGrid.d.ts +5 -0
  95. package/dist/components/Grid/core/components/AgGrid/AgGrid.js +203 -0
  96. package/dist/components/Grid/core/components/AgGrid/AgGrid.js.map +1 -0
  97. package/dist/components/Grid/core/components/AgGrid/components/EmptyRecordsOverlay/EmptyRecords.d.ts +2 -0
  98. package/dist/components/Grid/core/components/AgGrid/components/EmptyRecordsOverlay/EmptyRecords.js +12 -0
  99. package/dist/components/Grid/core/components/AgGrid/components/EmptyRecordsOverlay/EmptyRecords.js.map +1 -0
  100. package/dist/components/Grid/core/components/AgGrid/components/EmptyRecordsOverlay/styles.d.ts +18 -0
  101. package/dist/components/Grid/core/components/AgGrid/components/EmptyRecordsOverlay/styles.js +23 -0
  102. package/dist/components/Grid/core/components/AgGrid/components/EmptyRecordsOverlay/styles.js.map +1 -0
  103. package/dist/components/Grid/core/components/AgGrid/components/LoadingOverlay/LoadingOverlay.d.ts +2 -0
  104. package/dist/components/Grid/core/components/AgGrid/components/LoadingOverlay/LoadingOverlay.js +10 -0
  105. package/dist/components/Grid/core/components/AgGrid/components/LoadingOverlay/LoadingOverlay.js.map +1 -0
  106. package/dist/components/Grid/core/components/AgGrid/context.d.ts +3 -0
  107. package/dist/components/Grid/core/components/AgGrid/context.js +6 -0
  108. package/dist/components/Grid/core/components/AgGrid/context.js.map +1 -0
  109. package/dist/components/Grid/core/components/AgGrid/model/AgGrid.d.ts +52 -0
  110. package/dist/components/Grid/core/components/AgGrid/model/AgGrid.js +343 -0
  111. package/dist/components/Grid/core/components/AgGrid/model/AgGrid.js.map +1 -0
  112. package/dist/components/Grid/core/components/AgGrid/model/Comparator.d.ts +9 -0
  113. package/dist/components/Grid/core/components/AgGrid/model/Comparator.js +86 -0
  114. package/dist/components/Grid/core/components/AgGrid/model/Comparator.js.map +1 -0
  115. package/dist/components/Grid/core/components/AgGrid/styles.d.ts +72 -0
  116. package/dist/components/Grid/core/components/AgGrid/styles.js +78 -0
  117. package/dist/components/Grid/core/components/AgGrid/styles.js.map +1 -0
  118. package/dist/components/Grid/core/components/Cell/Cell.d.ts +13 -0
  119. package/dist/components/Grid/core/components/Cell/Cell.js +158 -0
  120. package/dist/components/Grid/core/components/Cell/Cell.js.map +1 -0
  121. package/dist/components/Grid/core/components/Cell/CellContent/CellContent.d.ts +8 -0
  122. package/dist/components/Grid/core/components/Cell/CellContent/CellContent.js +230 -0
  123. package/dist/components/Grid/core/components/Cell/CellContent/CellContent.js.map +1 -0
  124. package/dist/components/Grid/core/components/Cell/CellContent/styles.d.ts +33 -0
  125. package/dist/components/Grid/core/components/Cell/CellContent/styles.js +39 -0
  126. package/dist/components/Grid/core/components/Cell/CellContent/styles.js.map +1 -0
  127. package/dist/components/Grid/core/components/Cell/Notifications/Notifications.d.ts +12 -0
  128. package/dist/components/Grid/core/components/Cell/Notifications/Notifications.js +112 -0
  129. package/dist/components/Grid/core/components/Cell/Notifications/Notifications.js.map +1 -0
  130. package/dist/components/Grid/core/components/Cell/Notifications/styles.d.ts +39 -0
  131. package/dist/components/Grid/core/components/Cell/Notifications/styles.js +46 -0
  132. package/dist/components/Grid/core/components/Cell/Notifications/styles.js.map +1 -0
  133. package/dist/components/Grid/core/components/Cell/styles.d.ts +40 -0
  134. package/dist/components/Grid/core/components/Cell/styles.js +59 -0
  135. package/dist/components/Grid/core/components/Cell/styles.js.map +1 -0
  136. package/dist/components/Grid/core/components/ColumnHeader/ColumnHeader.d.ts +6 -0
  137. package/dist/components/Grid/core/components/ColumnHeader/ColumnHeader.js +61 -0
  138. package/dist/components/Grid/core/components/ColumnHeader/ColumnHeader.js.map +1 -0
  139. package/dist/components/Grid/core/components/ColumnHeader/components/GlobalCheckbox/GlobalCheckbox.d.ts +2 -0
  140. package/dist/components/Grid/core/components/ColumnHeader/components/GlobalCheckbox/GlobalCheckbox.js +50 -0
  141. package/dist/components/Grid/core/components/ColumnHeader/components/GlobalCheckbox/GlobalCheckbox.js.map +1 -0
  142. package/dist/components/Grid/core/components/ColumnHeader/components/GlobalCheckbox/styles.d.ts +14 -0
  143. package/dist/components/Grid/core/components/ColumnHeader/components/GlobalCheckbox/styles.js +20 -0
  144. package/dist/components/Grid/core/components/ColumnHeader/components/GlobalCheckbox/styles.js.map +1 -0
  145. package/dist/components/Grid/core/components/ColumnHeader/styles.d.ts +42 -0
  146. package/dist/components/Grid/core/components/ColumnHeader/styles.js +48 -0
  147. package/dist/components/Grid/core/components/ColumnHeader/styles.js.map +1 -0
  148. package/dist/components/Grid/core/components/Dialog/Constants.d.ts +2 -0
  149. package/dist/components/Grid/core/components/Dialog/Constants.js +9 -0
  150. package/dist/components/Grid/core/components/Dialog/Constants.js.map +1 -0
  151. package/dist/components/Grid/core/components/Dialog/Styles.d.ts +2 -0
  152. package/dist/components/Grid/core/components/Dialog/Styles.js +61 -0
  153. package/dist/components/Grid/core/components/Dialog/Styles.js.map +1 -0
  154. package/dist/components/Grid/core/components/Dialog/index.d.ts +4 -0
  155. package/dist/components/Grid/core/components/Dialog/index.js +16 -0
  156. package/dist/components/Grid/core/components/Dialog/index.js.map +1 -0
  157. package/dist/components/Grid/core/components/Dialog/interfaces/index.d.ts +6 -0
  158. package/dist/components/Grid/core/components/Dialog/interfaces/index.js +2 -0
  159. package/dist/components/Grid/core/components/Dialog/interfaces/index.js.map +1 -0
  160. package/dist/components/Grid/core/components/Save/Save.d.ts +2 -0
  161. package/dist/components/Grid/core/components/Save/Save.js +59 -0
  162. package/dist/components/Grid/core/components/Save/Save.js.map +1 -0
  163. package/dist/components/Grid/core/components/Save/components/ChangeEditor/ChangeEditor.d.ts +7 -0
  164. package/dist/components/Grid/core/components/Save/components/ChangeEditor/ChangeEditor.js +73 -0
  165. package/dist/components/Grid/core/components/Save/components/ChangeEditor/ChangeEditor.js.map +1 -0
  166. package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/ChangeGrid.d.ts +11 -0
  167. package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/ChangeGrid.js +231 -0
  168. package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/ChangeGrid.js.map +1 -0
  169. package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/styles.d.ts +39 -0
  170. package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/styles.js +45 -0
  171. package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/styles.js.map +1 -0
  172. package/dist/components/Grid/core/components/Save/components/ChangeEditor/styles.d.ts +31 -0
  173. package/dist/components/Grid/core/components/Save/components/ChangeEditor/styles.js +37 -0
  174. package/dist/components/Grid/core/components/Save/components/ChangeEditor/styles.js.map +1 -0
  175. package/dist/components/Grid/core/components/Save/styles.d.ts +35 -0
  176. package/dist/components/Grid/core/components/Save/styles.js +42 -0
  177. package/dist/components/Grid/core/components/Save/styles.js.map +1 -0
  178. package/dist/components/Grid/core/controllers/useGridController.d.ts +7 -0
  179. package/dist/components/Grid/core/controllers/useGridController.js +29 -0
  180. package/dist/components/Grid/core/controllers/useGridController.js.map +1 -0
  181. package/dist/components/Grid/core/enums/ConditionOperator.d.ts +48 -0
  182. package/dist/components/Grid/core/enums/ConditionOperator.js +52 -0
  183. package/dist/components/Grid/core/enums/ConditionOperator.js.map +1 -0
  184. package/dist/components/Grid/core/enums/DataType.d.ts +25 -0
  185. package/dist/components/Grid/core/enums/DataType.js +30 -0
  186. package/dist/components/Grid/core/enums/DataType.js.map +1 -0
  187. package/dist/components/Grid/core/hooks/useGridInstance.d.ts +2 -0
  188. package/dist/components/Grid/core/hooks/useGridInstance.js +9 -0
  189. package/dist/components/Grid/core/hooks/useGridInstance.js.map +1 -0
  190. package/dist/components/Grid/core/hooks/useRefreshCallback.d.ts +2 -0
  191. package/dist/components/Grid/core/hooks/useRefreshCallback.js +20 -0
  192. package/dist/components/Grid/core/hooks/useRefreshCallback.js.map +1 -0
  193. package/dist/components/Grid/core/interfaces/IGridColumn.d.ts +13 -0
  194. package/dist/components/Grid/core/interfaces/IGridContext.d.ts +4 -0
  195. package/dist/components/Grid/core/model/Grid.d.ts +81 -0
  196. package/dist/components/Grid/core/model/Grid.js +513 -0
  197. package/dist/components/Grid/core/model/Grid.js.map +1 -0
  198. package/dist/components/Grid/core/model/GridDependency.d.ts +13 -0
  199. package/dist/components/Grid/core/model/GridDependency.js +28 -0
  200. package/dist/components/Grid/core/model/GridDependency.js.map +1 -0
  201. package/dist/components/Grid/core/services/KeyListener.d.ts +12 -0
  202. package/dist/components/Grid/core/services/KeyListener.js +31 -0
  203. package/dist/components/Grid/core/services/KeyListener.js.map +1 -0
  204. package/dist/components/Grid/filtering/components/FilterCallout/FilterCallout.d.ts +8 -0
  205. package/dist/components/Grid/filtering/components/FilterCallout/FilterCallout.js +59 -0
  206. package/dist/components/Grid/filtering/components/FilterCallout/FilterCallout.js.map +1 -0
  207. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionOperator/ConditionOperator.d.ts +7 -0
  208. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionOperator/ConditionOperator.js +56 -0
  209. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionOperator/ConditionOperator.js.map +1 -0
  210. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValue.d.ts +7 -0
  211. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValue.js +73 -0
  212. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValue.js.map +1 -0
  213. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValueBetween.d.ts +7 -0
  214. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValueBetween.js +90 -0
  215. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValueBetween.js.map +1 -0
  216. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/model/ConditionComponentValue.d.ts +48 -0
  217. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/model/ConditionComponentValue.js +146 -0
  218. package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/model/ConditionComponentValue.js.map +1 -0
  219. package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/Component.d.ts +11 -0
  220. package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/Component.js +53 -0
  221. package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/Component.js.map +1 -0
  222. package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/controller/useComponentController.d.ts +9 -0
  223. package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/controller/useComponentController.js +31 -0
  224. package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/controller/useComponentController.js.map +1 -0
  225. package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/model/Component.d.ts +10 -0
  226. package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/model/Component.js +294 -0
  227. package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/model/Component.js.map +1 -0
  228. package/dist/components/Grid/filtering/components/FilterCallout/styles.d.ts +35 -0
  229. package/dist/components/Grid/filtering/components/FilterCallout/styles.js +40 -0
  230. package/dist/components/Grid/filtering/components/FilterCallout/styles.js.map +1 -0
  231. package/dist/components/Grid/filtering/constants.d.ts +5 -0
  232. package/dist/components/Grid/filtering/constants.js +53 -0
  233. package/dist/components/Grid/filtering/constants.js.map +1 -0
  234. package/dist/components/Grid/filtering/controller/useColumnFilterConditionController.d.ts +21 -0
  235. package/dist/components/Grid/filtering/controller/useColumnFilterConditionController.js +44 -0
  236. package/dist/components/Grid/filtering/controller/useColumnFilterConditionController.js.map +1 -0
  237. package/dist/components/Grid/filtering/model/Condition.d.ts +49 -0
  238. package/dist/components/Grid/filtering/model/Condition.js +347 -0
  239. package/dist/components/Grid/filtering/model/Condition.js.map +1 -0
  240. package/dist/components/Grid/filtering/model/Filtering.d.ts +11 -0
  241. package/dist/components/Grid/filtering/model/Filtering.js +78 -0
  242. package/dist/components/Grid/filtering/model/Filtering.js.map +1 -0
  243. package/dist/components/Grid/filtering/utils/FilteringUtilts.d.ts +34 -0
  244. package/dist/components/Grid/filtering/utils/FilteringUtilts.js +195 -0
  245. package/dist/components/Grid/filtering/utils/FilteringUtilts.js.map +1 -0
  246. package/dist/components/Grid/index.d.ts +2 -0
  247. package/dist/components/Grid/index.js +2 -0
  248. package/dist/components/Grid/index.js.map +1 -0
  249. package/dist/components/Grid/interfaces.d.ts +36 -0
  250. package/dist/components/Grid/selection/model/Selection.d.ts +12 -0
  251. package/dist/components/Grid/selection/model/Selection.js +54 -0
  252. package/dist/components/Grid/selection/model/Selection.js.map +1 -0
  253. package/dist/components/Grid/sorting/Sorting.d.ts +10 -0
  254. package/dist/components/Grid/sorting/Sorting.js +31 -0
  255. package/dist/components/Grid/sorting/Sorting.js.map +1 -0
  256. package/dist/components/Grid/sorting/components/SortingContextualMenu/SortingContextualMenu.d.ts +8 -0
  257. package/dist/components/Grid/sorting/components/SortingContextualMenu/SortingContextualMenu.js +157 -0
  258. package/dist/components/Grid/sorting/components/SortingContextualMenu/SortingContextualMenu.js.map +1 -0
  259. package/dist/components/Grid/sorting/components/SortingContextualMenu/styles.d.ts +9 -0
  260. package/dist/components/Grid/sorting/components/SortingContextualMenu/styles.js +15 -0
  261. package/dist/components/Grid/sorting/components/SortingContextualMenu/styles.js.map +1 -0
  262. package/dist/components/Grid/sorting/controllers/useColumnSortingController.d.ts +9 -0
  263. package/dist/components/Grid/sorting/controllers/useColumnSortingController.js +22 -0
  264. package/dist/components/Grid/sorting/controllers/useColumnSortingController.js.map +1 -0
  265. package/dist/components/Grid/translations.d.ts +366 -0
  266. package/dist/components/Grid/translations.js +99 -0
  267. package/dist/components/Grid/translations.js.map +1 -0
  268. package/dist/components/GridCellRenderer/DefaultContentRenderer/DefaultContentRenderer.d.ts +2 -0
  269. package/dist/components/GridCellRenderer/DefaultContentRenderer/DefaultContentRenderer.js +11 -0
  270. package/dist/components/GridCellRenderer/DefaultContentRenderer/DefaultContentRenderer.js.map +1 -0
  271. package/dist/components/GridCellRenderer/DefaultContentRenderer/index.d.ts +1 -0
  272. package/dist/components/GridCellRenderer/DefaultContentRenderer/index.js +2 -0
  273. package/dist/components/GridCellRenderer/DefaultContentRenderer/index.js.map +1 -0
  274. package/dist/components/GridCellRenderer/GridCellRenderer.d.ts +3 -0
  275. package/dist/components/GridCellRenderer/GridCellRenderer.js +293 -0
  276. package/dist/components/GridCellRenderer/GridCellRenderer.js.map +1 -0
  277. package/dist/components/GridCellRenderer/OptionSet/OptionSet.d.ts +5 -0
  278. package/dist/components/GridCellRenderer/OptionSet/OptionSet.js +75 -0
  279. package/dist/components/GridCellRenderer/OptionSet/OptionSet.js.map +1 -0
  280. package/dist/components/GridCellRenderer/OptionSet/index.d.ts +1 -0
  281. package/dist/components/GridCellRenderer/OptionSet/index.js +2 -0
  282. package/dist/components/GridCellRenderer/OptionSet/index.js.map +1 -0
  283. package/dist/components/GridCellRenderer/OptionSet/styles.d.ts +20 -0
  284. package/dist/components/GridCellRenderer/OptionSet/styles.js +29 -0
  285. package/dist/components/GridCellRenderer/OptionSet/styles.js.map +1 -0
  286. package/dist/components/GridCellRenderer/RecordCommands/Icon.d.ts +7 -0
  287. package/dist/components/GridCellRenderer/RecordCommands/Icon.js +32 -0
  288. package/dist/components/GridCellRenderer/RecordCommands/Icon.js.map +1 -0
  289. package/dist/components/GridCellRenderer/RecordCommands/RecordCommands.d.ts +13 -0
  290. package/dist/components/GridCellRenderer/RecordCommands/RecordCommands.js +103 -0
  291. package/dist/components/GridCellRenderer/RecordCommands/RecordCommands.js.map +1 -0
  292. package/dist/components/GridCellRenderer/RecordCommands/styles.d.ts +13 -0
  293. package/dist/components/GridCellRenderer/RecordCommands/styles.js +32 -0
  294. package/dist/components/GridCellRenderer/RecordCommands/styles.js.map +1 -0
  295. package/dist/components/GridCellRenderer/index.d.ts +2 -0
  296. package/dist/components/GridCellRenderer/index.js +2 -0
  297. package/dist/components/GridCellRenderer/index.js.map +1 -0
  298. package/dist/components/GridCellRenderer/interfaces.d.ts +66 -0
  299. package/dist/components/GridCellRenderer/styles.d.ts +85 -0
  300. package/dist/components/GridCellRenderer/styles.js +119 -0
  301. package/dist/components/GridCellRenderer/styles.js.map +1 -0
  302. package/dist/components/GridCellRenderer/translations.d.ts +30 -0
  303. package/dist/components/GridCellRenderer/translations.js +35 -0
  304. package/dist/components/GridCellRenderer/translations.js.map +1 -0
  305. package/dist/components/GridCellRenderer/useComponentProps.d.ts +6 -0
  306. package/dist/components/GridCellRenderer/useComponentProps.js +10 -0
  307. package/dist/components/GridCellRenderer/useComponentProps.js.map +1 -0
  308. package/dist/components/Lookup/Lookup.d.ts +3 -0
  309. package/dist/components/Lookup/Lookup.js +222 -0
  310. package/dist/components/Lookup/Lookup.js.map +1 -0
  311. package/dist/components/Lookup/components/RecordCreator.d.ts +10 -0
  312. package/dist/components/Lookup/components/RecordCreator.js +37 -0
  313. package/dist/components/Lookup/components/RecordCreator.js.map +1 -0
  314. package/dist/components/Lookup/components/TargetSelector.d.ts +9 -0
  315. package/dist/components/Lookup/components/TargetSelector.js +19 -0
  316. package/dist/components/Lookup/components/TargetSelector.js.map +1 -0
  317. package/dist/components/Lookup/hooks/useFetchXml.d.ts +6 -0
  318. package/dist/components/Lookup/hooks/useFetchXml.js +52 -0
  319. package/dist/components/Lookup/hooks/useFetchXml.js.map +1 -0
  320. package/dist/components/Lookup/hooks/useLoadedEntities.d.ts +6 -0
  321. package/dist/components/Lookup/hooks/useLoadedEntities.js +20 -0
  322. package/dist/components/Lookup/hooks/useLoadedEntities.js.map +1 -0
  323. package/dist/components/Lookup/hooks/useLookup.d.ts +43 -0
  324. package/dist/components/Lookup/hooks/useLookup.js +120 -0
  325. package/dist/components/Lookup/hooks/useLookup.js.map +1 -0
  326. package/dist/components/Lookup/index.d.ts +3 -0
  327. package/dist/components/Lookup/index.js +3 -0
  328. package/dist/components/Lookup/index.js.map +1 -0
  329. package/dist/components/Lookup/interfaces.d.ts +75 -0
  330. package/dist/components/Lookup/styles.d.ts +95 -0
  331. package/dist/components/Lookup/styles.js +112 -0
  332. package/dist/components/Lookup/styles.js.map +1 -0
  333. package/dist/components/Lookup/translations.d.ts +30 -0
  334. package/dist/components/Lookup/translations.js +33 -0
  335. package/dist/components/Lookup/translations.js.map +1 -0
  336. package/dist/components/MultiSelectOptionSet/ColofulOptions/ColorfulOptions.d.ts +8 -0
  337. package/dist/components/MultiSelectOptionSet/ColofulOptions/ColorfulOptions.js +42 -0
  338. package/dist/components/MultiSelectOptionSet/ColofulOptions/ColorfulOptions.js.map +1 -0
  339. package/dist/components/MultiSelectOptionSet/ColofulOptions/styles.d.ts +17 -0
  340. package/dist/components/MultiSelectOptionSet/ColofulOptions/styles.js +24 -0
  341. package/dist/components/MultiSelectOptionSet/ColofulOptions/styles.js.map +1 -0
  342. package/dist/components/MultiSelectOptionSet/MultiSelectOptionSet.d.ts +3 -0
  343. package/dist/components/MultiSelectOptionSet/MultiSelectOptionSet.js +132 -0
  344. package/dist/components/MultiSelectOptionSet/MultiSelectOptionSet.js.map +1 -0
  345. package/dist/components/MultiSelectOptionSet/index.d.ts +2 -0
  346. package/dist/components/MultiSelectOptionSet/index.js +2 -0
  347. package/dist/components/MultiSelectOptionSet/index.js.map +1 -0
  348. package/dist/components/MultiSelectOptionSet/interfaces.d.ts +13 -0
  349. package/dist/components/MultiSelectOptionSet/styles.d.ts +31 -0
  350. package/dist/components/MultiSelectOptionSet/styles.js +42 -0
  351. package/dist/components/MultiSelectOptionSet/styles.js.map +1 -0
  352. package/dist/components/NestedControlRenderer/NestedControl.d.ts +86 -0
  353. package/dist/components/NestedControlRenderer/NestedControl.js +456 -0
  354. package/dist/components/NestedControlRenderer/NestedControl.js.map +1 -0
  355. package/dist/components/NestedControlRenderer/NestedControlError.d.ts +4 -0
  356. package/dist/components/NestedControlRenderer/NestedControlError.js +13 -0
  357. package/dist/components/NestedControlRenderer/NestedControlError.js.map +1 -0
  358. package/dist/components/NestedControlRenderer/NestedControlRenderer.d.ts +3 -0
  359. package/dist/components/NestedControlRenderer/NestedControlRenderer.js +194 -0
  360. package/dist/components/NestedControlRenderer/NestedControlRenderer.js.map +1 -0
  361. package/dist/components/NestedControlRenderer/index.d.ts +1 -0
  362. package/dist/components/NestedControlRenderer/index.js +2 -0
  363. package/dist/components/NestedControlRenderer/index.js.map +1 -0
  364. package/dist/components/NestedControlRenderer/interfaces.d.ts +122 -0
  365. package/dist/components/NestedControlRenderer/manifest/Control.d.ts +16 -0
  366. package/dist/components/NestedControlRenderer/manifest/Control.js +40 -0
  367. package/dist/components/NestedControlRenderer/manifest/Control.js.map +1 -0
  368. package/dist/components/NestedControlRenderer/manifest/Manifest.d.ts +5 -0
  369. package/dist/components/NestedControlRenderer/manifest/Manifest.js +12 -0
  370. package/dist/components/NestedControlRenderer/manifest/Manifest.js.map +1 -0
  371. package/dist/components/NestedControlRenderer/manifest/TypeGroup.d.ts +6 -0
  372. package/dist/components/NestedControlRenderer/manifest/TypeGroup.js +13 -0
  373. package/dist/components/NestedControlRenderer/manifest/TypeGroup.js.map +1 -0
  374. package/dist/components/NestedControlRenderer/manifest/index.d.ts +1 -0
  375. package/dist/components/NestedControlRenderer/manifest/index.js +2 -0
  376. package/dist/components/NestedControlRenderer/manifest/index.js.map +1 -0
  377. package/dist/components/NestedControlRenderer/manifest/property/Property.d.ts +16 -0
  378. package/dist/components/NestedControlRenderer/manifest/property/Property.js +34 -0
  379. package/dist/components/NestedControlRenderer/manifest/property/Property.js.map +1 -0
  380. package/dist/components/NestedControlRenderer/manifest/property/Value.d.ts +8 -0
  381. package/dist/components/NestedControlRenderer/manifest/property/Value.js +12 -0
  382. package/dist/components/NestedControlRenderer/manifest/property/Value.js.map +1 -0
  383. package/dist/components/NestedControlRenderer/properties/DateProperty.d.ts +5 -0
  384. package/dist/components/NestedControlRenderer/properties/DateProperty.js +20 -0
  385. package/dist/components/NestedControlRenderer/properties/DateProperty.js.map +1 -0
  386. package/dist/components/NestedControlRenderer/properties/FileProperty.d.ts +5 -0
  387. package/dist/components/NestedControlRenderer/properties/FileProperty.js +14 -0
  388. package/dist/components/NestedControlRenderer/properties/FileProperty.js.map +1 -0
  389. package/dist/components/NestedControlRenderer/properties/LookupProperty.d.ts +6 -0
  390. package/dist/components/NestedControlRenderer/properties/LookupProperty.js +35 -0
  391. package/dist/components/NestedControlRenderer/properties/LookupProperty.js.map +1 -0
  392. package/dist/components/NestedControlRenderer/properties/NumberProperty.d.ts +5 -0
  393. package/dist/components/NestedControlRenderer/properties/NumberProperty.js +15 -0
  394. package/dist/components/NestedControlRenderer/properties/NumberProperty.js.map +1 -0
  395. package/dist/components/NestedControlRenderer/properties/OptionSetProperty.d.ts +5 -0
  396. package/dist/components/NestedControlRenderer/properties/OptionSetProperty.js +18 -0
  397. package/dist/components/NestedControlRenderer/properties/OptionSetProperty.js.map +1 -0
  398. package/dist/components/NestedControlRenderer/properties/Property.d.ts +17 -0
  399. package/dist/components/NestedControlRenderer/properties/Property.js +46 -0
  400. package/dist/components/NestedControlRenderer/properties/Property.js.map +1 -0
  401. package/dist/components/NestedControlRenderer/properties/TextProperty.d.ts +5 -0
  402. package/dist/components/NestedControlRenderer/properties/TextProperty.js +15 -0
  403. package/dist/components/NestedControlRenderer/properties/TextProperty.js.map +1 -0
  404. package/dist/components/NestedControlRenderer/styles.d.ts +14 -0
  405. package/dist/components/NestedControlRenderer/styles.js +21 -0
  406. package/dist/components/NestedControlRenderer/styles.js.map +1 -0
  407. package/dist/components/NestedControlRenderer/translations.d.ts +14 -0
  408. package/dist/components/NestedControlRenderer/translations.js +19 -0
  409. package/dist/components/NestedControlRenderer/translations.js.map +1 -0
  410. package/dist/components/OptionSet/OptionSet.d.ts +3 -0
  411. package/dist/components/OptionSet/OptionSet.js +80 -0
  412. package/dist/components/OptionSet/OptionSet.js.map +1 -0
  413. package/dist/components/OptionSet/index.d.ts +2 -0
  414. package/dist/components/OptionSet/index.js +2 -0
  415. package/dist/components/OptionSet/index.js.map +1 -0
  416. package/dist/components/OptionSet/interfaces.d.ts +13 -0
  417. package/dist/components/OptionSet/shared.d.ts +5 -0
  418. package/dist/components/OptionSet/shared.js +19 -0
  419. package/dist/components/OptionSet/shared.js.map +1 -0
  420. package/dist/components/OptionSet/styles.d.ts +11 -0
  421. package/dist/components/OptionSet/styles.js +18 -0
  422. package/dist/components/OptionSet/styles.js.map +1 -0
  423. package/dist/components/OptionSet/useComboBoxTheme.d.ts +3 -0
  424. package/dist/components/OptionSet/useComboBoxTheme.js +61 -0
  425. package/dist/components/OptionSet/useComboBoxTheme.js.map +1 -0
  426. package/dist/components/TextField/TextField.d.ts +3 -0
  427. package/dist/components/TextField/TextField.js +120 -0
  428. package/dist/components/TextField/TextField.js.map +1 -0
  429. package/dist/components/TextField/index.d.ts +2 -0
  430. package/dist/components/TextField/index.js +2 -0
  431. package/dist/components/TextField/index.js.map +1 -0
  432. package/dist/components/TextField/interfaces.d.ts +14 -0
  433. package/dist/components/TwoOptions/TwoOptions.d.ts +3 -0
  434. package/dist/components/TwoOptions/TwoOptions.js +55 -0
  435. package/dist/components/TwoOptions/TwoOptions.js.map +1 -0
  436. package/dist/components/TwoOptions/index.d.ts +2 -0
  437. package/dist/components/TwoOptions/index.js +2 -0
  438. package/dist/components/TwoOptions/index.js.map +1 -0
  439. package/dist/components/TwoOptions/interfaces.d.ts +13 -0
  440. package/dist/components/index.d.ts +13 -0
  441. package/dist/components/index.js +17 -0
  442. package/dist/components/index.js.map +1 -0
  443. package/dist/constants.d.ts +15 -0
  444. package/dist/constants.js +35 -0
  445. package/dist/constants.js.map +1 -0
  446. package/dist/hooks/index.d.ts +7 -0
  447. package/dist/hooks/index.js +8 -0
  448. package/dist/hooks/index.js.map +1 -0
  449. package/dist/hooks/useControl.d.ts +17 -0
  450. package/dist/hooks/useControl.js +67 -0
  451. package/dist/hooks/useControl.js.map +1 -0
  452. package/dist/hooks/useControlLabels.d.ts +14 -0
  453. package/dist/hooks/useControlLabels.js +47 -0
  454. package/dist/hooks/useControlLabels.js.map +1 -0
  455. package/dist/hooks/useControlSizing.d.ts +5 -0
  456. package/dist/hooks/useControlSizing.js +15 -0
  457. package/dist/hooks/useControlSizing.js.map +1 -0
  458. package/dist/hooks/useFocusIn.d.ts +1 -0
  459. package/dist/hooks/useFocusIn.js +33 -0
  460. package/dist/hooks/useFocusIn.js.map +1 -0
  461. package/dist/hooks/useInputBasedControl.d.ts +37 -0
  462. package/dist/hooks/useInputBasedControl.js +36 -0
  463. package/dist/hooks/useInputBasedControl.js.map +1 -0
  464. package/dist/hooks/useMouseOver.d.ts +1 -0
  465. package/dist/hooks/useMouseOver.js +23 -0
  466. package/dist/hooks/useMouseOver.js.map +1 -0
  467. package/dist/hooks/usePrevious.d.ts +1 -0
  468. package/dist/index.d.ts +1504 -0
  469. package/dist/index.js +30 -0
  470. package/dist/index.js.map +1 -0
  471. package/dist/interfaces/context.d.ts +27 -0
  472. package/dist/interfaces/index.d.ts +9 -0
  473. package/dist/interfaces/index.js +2 -0
  474. package/dist/interfaces/index.js.map +1 -0
  475. package/dist/interfaces/parameters.d.ts +25 -0
  476. package/dist/interfaces/property.d.ts +67 -0
  477. package/dist/utils/BaseControls.d.ts +16 -0
  478. package/dist/utils/BaseControls.js +82 -0
  479. package/dist/utils/BaseControls.js.map +1 -0
  480. package/dist/utils/dataset/adapters/DatasetAdapter.d.ts +59 -0
  481. package/dist/utils/dataset/adapters/DatasetAdapter.js +229 -0
  482. package/dist/utils/dataset/adapters/DatasetAdapter.js.map +1 -0
  483. package/dist/utils/dataset/adapters/VirtualDatasetAdapter.d.ts +48 -0
  484. package/dist/utils/dataset/adapters/VirtualDatasetAdapter.js +169 -0
  485. package/dist/utils/dataset/adapters/VirtualDatasetAdapter.js.map +1 -0
  486. package/dist/utils/dataset/adapters/index.d.ts +2 -0
  487. package/dist/utils/dataset/adapters/index.js +3 -0
  488. package/dist/utils/dataset/adapters/index.js.map +1 -0
  489. package/dist/utils/dataset/index.d.ts +1 -0
  490. package/dist/utils/dataset/index.js +3 -0
  491. package/dist/utils/dataset/index.js.map +1 -0
  492. package/dist/utils/index.d.ts +3 -0
  493. package/dist/utils/index.js +8 -0
  494. package/dist/utils/index.js.map +1 -0
  495. package/dist/utils/theme/ControlTheme.d.ts +21 -0
  496. package/dist/utils/theme/ControlTheme.js +39 -0
  497. package/dist/utils/theme/ControlTheme.js.map +1 -0
  498. package/dist/utils/theme/components/ThemeWrapper.d.ts +9 -0
  499. package/dist/utils/theme/components/ThemeWrapper.js +11 -0
  500. package/dist/utils/theme/components/ThemeWrapper.js.map +1 -0
  501. package/dist/utils/theme/components/index.d.ts +1 -0
  502. package/dist/utils/theme/components/index.js +2 -0
  503. package/dist/utils/theme/components/index.js.map +1 -0
  504. package/dist/utils/theme/hooks/index.d.ts +2 -0
  505. package/dist/utils/theme/hooks/index.js +3 -0
  506. package/dist/utils/theme/hooks/index.js.map +1 -0
  507. package/dist/utils/theme/hooks/useControlTheme.d.ts +3 -0
  508. package/dist/utils/theme/hooks/useControlTheme.js +12 -0
  509. package/dist/utils/theme/hooks/useControlTheme.js.map +1 -0
  510. package/dist/utils/theme/hooks/useControlThemeGenerator.d.ts +14 -0
  511. package/dist/utils/theme/hooks/useControlThemeGenerator.js +11 -0
  512. package/dist/utils/theme/hooks/useControlThemeGenerator.js.map +1 -0
  513. package/dist/utils/theme/index.d.ts +3 -0
  514. package/dist/utils/theme/index.js +5 -0
  515. package/dist/utils/theme/index.js.map +1 -0
  516. package/package.json +94 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NestedControl.js","sources":["../../../src/components/NestedControlRenderer/NestedControl.ts"],"sourcesContent":["import { DataType, DataTypes, PromiseCache } from \"@talxis/client-libraries\";\nimport { Property } from \"./properties/Property\";\nimport { TextProperty } from \"./properties/TextProperty\";\nimport { OptionSetProperty } from \"./properties/OptionSetProperty\";\nimport { NumberProperty } from \"./properties/NumberProperty\";\nimport { DateProperty } from \"./properties/DateProperty\";\nimport { LookupProperty } from \"./properties/LookupProperty\";\nimport { IControl, IParameters, IProperty } from \"../../interfaces\";\nimport { ControlTheme, IFluentDesignState } from \"../../utils\";\nimport { Manifest } from \"./manifest\";\nimport { FileProperty } from \"./properties/FileProperty\";\nimport { NestedControlError } from \"./NestedControlError\";\nimport { IBinding, IControlStates } from \"./interfaces\";\n\n\nconst manifestCache = new PromiseCache();\nconst LOADED_CONTROLS = new Set<string>();\n\n\nexport interface IOptions {\n onGetBindings: () => {\n [key: string]: IBinding;\n }\n /**\n * PCF Context of parent control using this class. It will be used as base for nested control PCF context.\n */\n parentPcfContext: ComponentFramework.Context<any, any>;\n\n /**\n * Custom PCF to be rendered, if not provided you will get Base Control props.\n */\n /**\n* Container element into which the control will be rendered in.\n*/\n onGetContainerElement?: () => HTMLDivElement;\n onGetControlName?: () => string;\n callbacks?: {\n onInit?: (instance: NestedControl) => void;\n onGetControlStates?: () => IControlStates | undefined\n onNotifyOutputChanged?: (ouputs: any) => void;\n\n /**\n * Triggers when the control changes a state that should be visible in control renderer UI (for example loading)\n */\n onControlStateChanged?: () => void;\n },\n overrides?: {\n onGetProps?: (props: IControl<any, any, any, any>) => IControl<any, any, any, any>;\n onRender?: (control: NestedControl, defaultRender: () => Promise<void>) => void;\n onUnmount?: (control: NestedControl, defaultUnmount: () => void) => void;\n }\n}\n\nexport class NestedControl {\n private _options: IOptions;\n private _pendingInitialRender: boolean = false;\n private _errorMessage: string = '';\n private _properties: Map<string, Property> = new Map();\n private _lastRenderedControlName: string = '';\n private _hasCustomPcfBeenMounted: boolean = false;\n private _customControlInstance: ComponentFramework.StandardControl<any, any> | null = null;\n private _customControlId: string = '';\n private _manifest: Manifest | null = null;\n private _loading: boolean = false;\n private _props: IControl<IParameters, any, any, any> | undefined;\n private _mutationObserver: MutationObserver | null = new MutationObserver((mutations) => this._checkIfControlLoadedToDom(mutations));\n private _destroyed: boolean = false;\n private _initialized: boolean = false;\n private _container: HTMLDivElement | null = null;\n private _hasControlBeenPatched: boolean = false;\n\n constructor(options: IOptions) {\n this._options = options;\n this._getPropertiesFromBindings()\n }\n\n public getProps(): IControl<IParameters, any, any, any> {\n if (!this._props) {\n return this.refreshProps()\n }\n return this._props;\n }\n\n public refreshProps() {\n const parameters: { [name: string]: IProperty } = this.getParameters();\n const props: IControl<any, any, any, any> = {\n context: {\n ...this.getOptions().parentPcfContext,\n parameters: parameters,\n mode: Object.create(this.getOptions().parentPcfContext.mode, {\n isControlDisabled: {\n value: this.getOptions().callbacks?.onGetControlStates?.()?.isControlDisabled ?? false\n }\n }),\n factory: {\n ...this.getOptions().parentPcfContext.factory,\n requestRender: () => this.render()\n },\n fluentDesignLanguage: this._getFluentDesignLanguage(this.getOptions().parentPcfContext.fluentDesignLanguage)\n },\n parameters: parameters,\n onNotifyOutputChanged: (outputs: any) => {\n Object.entries(outputs).map(([name, output]) => {\n this.getOptions().onGetBindings()[name]?.onNotifyOutputChanged?.(output)\n })\n this.getOptions().callbacks?.onNotifyOutputChanged?.(outputs);\n }\n }\n const result = this._overrideDecorator(() => props, this.getOptions().overrides?.onGetProps, () => [props] as any);\n this._props = result;\n return result;\n }\n\n public getParameters() {\n const parameters: { [name: string]: IProperty } = {};\n [...this._properties.entries()].map(([name, prop]) => {\n const binding = this.getOptions().onGetBindings()[name];\n //binding might not exist if we have switched controls\n if (binding) {\n parameters[name] = {\n ...prop.getParameter(),\n error: binding.error ?? false,\n errorMessage: binding.errorMessage ?? null,\n type: prop.dataType\n };\n }\n })\n return parameters;\n }\n\n public isLoading() {\n return this._loading;\n }\n\n public setLoading(loading: boolean) {\n this._loading = loading;\n }\n\n public getOptions() {\n return this._options;\n }\n\n public async render() {\n if (this._pendingInitialRender || this._destroyed) {\n return;\n }\n await this._getPropertiesFromBindings();\n if (this._destroyed) {\n return;\n }\n this.refreshProps();\n //if we detect a change in name, unmount the component before render\n if (this._lastRenderedControlName && this._lastRenderedControlName !== this.getControlName()) {\n this.unmount(true)\n }\n if (!this._customControlId) {\n this._customControlId = crypto.randomUUID();\n }\n await this._overrideDecorator(async () => this._render(), this.getOptions().overrides?.onRender, () => [this, async () => this._render()] as any);\n if (this._destroyed) {\n return;\n }\n this._lastRenderedControlName = this.getControlName();\n }\n public unmount(softUnmount?: boolean) {\n this._overrideDecorator(() => this._unmount(), this.getOptions().overrides?.onUnmount, () => [this, () => this._unmount()] as any)\n this._lastRenderedControlName = '';\n this._hasCustomPcfBeenMounted = false;\n this._hasControlBeenPatched = false;\n this._customControlId = '';\n this._mutationObserver?.disconnect();\n if (!softUnmount) {\n this._mutationObserver = null;\n this._customControlInstance = null;\n this._props = undefined;\n this._container = null;\n this._properties.clear();\n this._destroyed = true;\n }\n }\n public getErrorMessage(): string {\n return this._errorMessage;\n }\n public setError(message?: string) {\n this._errorMessage = message ?? '';\n }\n public isMountedPcfComponent() {\n return this._hasCustomPcfBeenMounted;\n }\n\n public getContainer() {\n let container = this.getOptions().onGetContainerElement?.();\n if (container) {\n this._container = container;\n return container;\n }\n if (this._container) {\n return this._container;\n }\n if (!container && this._container) {\n return this._container;\n }\n throw new Error('Cannot render control if no container is specified!');\n }\n\n public getControlName() {\n const controlName = this.getOptions().onGetControlName?.();\n if (!controlName) {\n throw new Error(\"Cannot render control if it's name is not specified!\");\n }\n return controlName;\n }\n\n public getBindings() {\n return this.getOptions().onGetBindings();\n }\n\n public getCustomControlId() {\n return this._customControlId;\n }\n\n private _overrideDecorator<T extends any[], K>(defaultMethod: () => K | Promise<K>, override?: (...args: T) => any, getOverrideArgs?: () => T) {\n if (override && getOverrideArgs) {\n return override(...getOverrideArgs());\n }\n else {\n return defaultMethod();\n }\n }\n\n private _unmount() {\n (this.getOptions().parentPcfContext as any).factory.unbindDOMComponent(this._customControlId)\n\n }\n private async _render(): Promise<void> {\n try {\n if (!this._lastRenderedControlName) {\n this._errorMessage = '';\n this._pendingInitialRender = true;\n const controlName = this.getControlName();\n if (!LOADED_CONTROLS.has(controlName)) {\n this._loading = true;\n this.getOptions().callbacks?.onControlStateChanged?.();\n }\n this._mutationObserver?.observe(this.getContainer(), { childList: true, subtree: true });\n try {\n this._manifest = await this._getManifest(controlName);\n }\n catch (err) {\n throw new NestedControlError({\n message: `Could not find control named ${controlName} on this environment.`\n }, this);\n }\n if (this._destroyed) {\n return;\n }\n try {\n const properties: any = {\n controlstates: this.getOptions().callbacks?.onGetControlStates?.() ?? {},\n parameters: this._getCustomControlParameters(this._manifest!),\n childeventlisteners: [{\n eventname: \"onInit\",\n eventhandler: (control: ComponentFramework.StandardControl<any, any>) => {\n LOADED_CONTROLS.add(this._lastRenderedControlName);\n this._customControlInstance = control;\n this._patchUpdateView(this._customControlInstance!, this._manifest!);\n this._loading = false;\n this.getOptions().callbacks?.onControlStateChanged?.();\n }\n }]\n };\n const component = (this.getOptions().parentPcfContext as any).factory.createComponent(controlName, this._customControlId, properties);\n (this.getOptions().parentPcfContext as any).factory.bindDOMElement(component, this.getContainer());\n this._hasCustomPcfBeenMounted = true;\n }\n catch (err) {\n throw new NestedControlError(err as any, this);\n }\n this._pendingInitialRender = false;\n }\n //the PCF did not change, just call updateView\n else {\n this._customControlInstance?.updateView?.(this.getProps().context)\n }\n }\n catch (err) {\n this._pendingInitialRender = false;\n this._pendingInitialRender = false;\n console.error(err);\n }\n }\n\n private _getCustomControlNameWithoutPrefix() {\n const parts = this._lastRenderedControlName.split('_');\n return parts[1] ?? parts[0];\n }\n\n private _checkIfControlLoadedToDom(mutations: MutationRecord[]) {\n try {\n mutations.map(mutation => {\n const target = mutation.target as HTMLElement;\n if (target.classList.contains(this._getCustomControlNameWithoutPrefix())) {\n this._loading = false;\n LOADED_CONTROLS.add(this._lastRenderedControlName);\n this._mutationObserver?.disconnect();\n if (!this._customControlInstance) {\n this._unmount();\n throw new NestedControlError({\n message: `Custom control ${this._lastRenderedControlName} does not expose it's instance through fireEvent. Please add fireEvent to init() to avoid unintentional behavior.`\n }, this)\n }\n }\n });\n }\n catch(err) {\n console.error(err);\n }\n }\n\n private async _getPropertiesFromBindings() {\n const promises: Promise<boolean>[] = [];\n Object.entries(this.getOptions().onGetBindings()).map(([name, binding]) => {\n if (!this._properties.get(name)) {\n const getBinding = () => this.getOptions().onGetBindings()[name];\n const propertyInstance = this._getPropertyInstance(getBinding);\n const metadata = getBinding()?.metadata;\n //push to promise only if we need to fetch the metadata asynchronously\n if (metadata?.attributeName && metadata.entityName) {\n promises.push(propertyInstance.init());\n }\n else {\n propertyInstance.init();\n }\n this._properties.set(name, propertyInstance);\n }\n })\n if (promises.length > 0) {\n await Promise.all(promises);\n }\n if (!this._initialized) {\n this._initialized = true;\n this.getOptions().callbacks?.onInit?.(this)\n }\n }\n\n private _getPropertyInstance(onGetBinding: () => IBinding) {\n switch (onGetBinding().type) {\n case DataTypes.TwoOptions:\n case DataTypes.OptionSet:\n case DataTypes.MultiSelectOptionSet: {\n return new OptionSetProperty(this.getOptions(), onGetBinding);\n }\n case DataTypes.DateAndTimeDateAndTime:\n case DataTypes.DateAndTimeDateOnly: {\n return new DateProperty(this.getOptions(), onGetBinding);\n }\n case DataTypes.WholeNone:\n case DataTypes.Decimal:\n case DataTypes.Currency:\n case DataTypes.WholeDuration: {\n return new NumberProperty(this.getOptions(), onGetBinding);\n }\n case DataTypes.LookupSimple:\n case DataTypes.LookupOwner:\n case DataTypes.LookupCustomer:\n case DataTypes.LookupRegarding: {\n return new LookupProperty(this.getOptions(), onGetBinding);\n }\n case DataTypes.File:\n case DataTypes.Image: {\n return new FileProperty(this.getOptions(), onGetBinding)\n }\n default: {\n return new TextProperty(this.getOptions(), onGetBinding);\n }\n }\n }\n private _getPrimaryBindingName(): string {\n const primaryBinding = Object.entries(this.getOptions().onGetBindings()).find(([key, binding]) => !binding.isStatic)?.[0];\n if (!primaryBinding) {\n throw new Error('Control needs to have atleast one non-static binding!');\n }\n return primaryBinding;\n }\n private _getManifestPrimaryBinding(manifest: Manifest) {\n return [...manifest.control.properties.values()].find(prop => prop.isBindingProperty)!;\n }\n private async _getManifest(controlName: string) {\n return manifestCache.get(controlName, async () => {\n const result = await this.getOptions().parentPcfContext.webAPI.retrieveMultipleRecords('customcontrol', `?$select=name,manifest&$filter=name eq '${controlName}'`);\n const manifestXmlString = result.entities[0].manifest;\n return new Manifest(manifestXmlString);\n })\n }\n private _getCustomControlParameters(manifest: Manifest) {\n const result: { [name: string]: any } = {};\n const bindingParameters = this.getProps().parameters;\n const manifestProperties = [...manifest.control.properties.values()];\n manifestProperties.map(property => {\n result[property.name] = {\n Static: property.usage === 'input',\n Primary: property.isBindingProperty,\n //if no ofType is present, there is a type group and we need to get the type from the passed parameters above\n Type: property.ofType ?? bindingParameters[property.name]?.type ?? 'SingleLine.Text',\n //if static, we take the value that came from the parameter above\n Value: (() => {\n const binding = bindingParameters[property.name];\n if (binding) {\n return binding.raw;\n }\n if (property.usage === 'input') {\n return property.defaultValue;\n }\n if (property.isBindingProperty) {\n return bindingParameters[this._getPrimaryBindingName()].raw;\n }\n })(),\n Usage: (() => {\n switch (property.usage) {\n case 'bound': {\n return 3;\n }\n case 'input':\n case 'output': {\n return 0;\n }\n }\n })(),\n Attributes: (() => {\n const getBindingMetadata = (bindingName: string) => {\n const binding = this.getOptions().onGetBindings()[bindingName];\n return binding?.metadata ? {\n EntityLogicalName: binding.metadata.entityName,\n LogicalName: binding.metadata.attributeName\n } : undefined;\n };\n const propertyBindingMetadata = getBindingMetadata(property.name);\n\n if (propertyBindingMetadata) {\n return propertyBindingMetadata;\n }\n\n if (property.isBindingProperty) {\n return getBindingMetadata(this._getPrimaryBindingName());\n }\n\n return undefined;\n })(),\n Callback: (value: any) => {\n let binding = this.getOptions().onGetBindings()[property.name];\n let bindingName = property.name;\n if (!binding && !property.isBindingProperty) {\n return;\n }\n if (!binding) {\n bindingName = this._getPrimaryBindingName();\n binding = this.getOptions().onGetBindings()[bindingName]\n }\n binding.onNotifyOutputChanged?.(value);\n const boundBindings = Object.entries(this.getOptions().onGetBindings()).filter(([key, binding]) => !binding.isStatic);\n const outputs: any = {};\n boundBindings.map(([key, binding]) => {\n outputs[key] = key === bindingName ? value : this.getProps().parameters[bindingName].raw\n })\n this.getOptions().callbacks?.onNotifyOutputChanged?.(outputs)\n }\n }\n })\n const nonManifestParameters = Object.entries(bindingParameters).filter(([key, value]) => !manifest.control.properties.get(key));\n nonManifestParameters.map(([key, parameter]) => {\n result[key] = {\n Static: true,\n Primary: false,\n Type: parameter.type ?? 'SingleLine.Text',\n Value: parameter.raw,\n Usage: 0\n }\n })\n return result;\n }\n private _patchUpdateView(control: ComponentFramework.StandardControl<any, any>, manifest: Manifest) {\n if (this._hasControlBeenPatched) {\n return;\n }\n let originalContext: ComponentFramework.Context<any, any> | null = null;\n const originalUpdateView = control.updateView.bind(control);\n control.updateView = (context) => {\n if (!originalContext) {\n originalContext = context;\n }\n originalUpdateView(this._patchContext(manifest, originalContext));\n }\n this._hasControlBeenPatched = true;\n }\n private _patchContext(manifest: Manifest, originalContext: ComponentFramework.Context<any, any>) {\n const context = this.getProps().context;\n const contextParameters = originalContext.parameters;\n const parameters = this.getProps().parameters;\n const manifestBindingProperty = this._getManifestPrimaryBinding(manifest);\n const primaryBindingName = this._getPrimaryBindingName();\n context.resources = originalContext.resources;\n context.events = originalContext.events;\n context.parameters = {\n ...contextParameters,\n ...parameters,\n [manifestBindingProperty.name]: parameters[primaryBindingName]\n }\n\n return context;\n }\n private _getFluentDesignLanguage(fluentDesignLanguage?: IFluentDesignState): IFluentDesignState {\n const v8Theme = ControlTheme.GetV8ThemeFromFluentDesignLanguage(fluentDesignLanguage);\n return ControlTheme.GenerateFluentDesignLanguage(v8Theme.palette.themePrimary, v8Theme.semanticColors.bodyBackground, v8Theme.semanticColors.bodyText, {\n v8FluentOverrides: fluentDesignLanguage?.v8FluentOverrides,\n applicationTheme: fluentDesignLanguage?.applicationTheme ?? v8Theme\n })\n }\n}"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { NestedControl } from "./NestedControl";
2
+ export declare class NestedControlError extends Error {
3
+ constructor(error: Omit<Error, 'name'>, control: NestedControl);
4
+ }
@@ -0,0 +1,13 @@
1
+ class NestedControlError extends Error {
2
+ constructor(error, control) {
3
+ super(error.message);
4
+ this.name = 'NestedControlError';
5
+ this.stack = error.stack;
6
+ control.setError(error.message);
7
+ control.setLoading(false);
8
+ control.getOptions().callbacks?.onControlStateChanged?.();
9
+ }
10
+ }
11
+
12
+ export { NestedControlError };
13
+ //# sourceMappingURL=NestedControlError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NestedControlError.js","sources":["../../../src/components/NestedControlRenderer/NestedControlError.ts"],"sourcesContent":["import { NestedControl } from \"./NestedControl\";\n\nexport class NestedControlError extends Error {\n constructor(error: Omit<Error, 'name'>, control: NestedControl) {\n super(error.message)\n this.name = 'NestedControlError';\n this.stack = error.stack;\n control.setError(error.message);\n control.setLoading(false);\n control.getOptions().callbacks?.onControlStateChanged?.();\n }\n}"],"names":[],"mappings":"AAEM,MAAO,kBAAmB,SAAQ,KAAK,CAAA;IACzC,WAAY,CAAA,KAA0B,EAAE,OAAsB,EAAA;AAC1D,QAAA,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;AACpB,QAAA,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;AACjC,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;AACzB,QAAA,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAChC,QAAA,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC1B,OAAO,CAAC,UAAU,EAAE,CAAC,SAAS,EAAE,qBAAqB,IAAI,CAAC;KAC7D;AACJ;;;;"}
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import { INestedControlRenderer } from './interfaces';
3
+ export declare const NestedControlRenderer: (props: INestedControlRenderer) => JSX.Element;
@@ -0,0 +1,194 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import React__default, { forwardRef, useRef, useImperativeHandle, useMemo, useEffect } from 'react';
3
+ import { NestedControl } from './NestedControl.js';
4
+ import { GridCellRenderer } from '../GridCellRenderer/GridCellRenderer.js';
5
+ import { getNestedControlStyles } from './styles.js';
6
+ import { useRerender, Spinner } from '@talxis/react-components';
7
+ import { MessageBar, MessageBarType, MessageBarButton, SpinnerSize, Shimmer } from '@fluentui/react';
8
+ import ReactDOM from 'react-dom';
9
+ import { getDefaultNestedControlRendererTranslations } from './translations.js';
10
+ import { useControlLabels } from '../../hooks/useControlLabels.js';
11
+ import { BaseControls } from '../../utils/BaseControls.js';
12
+ import { Duration } from '../Duration/Duration.js';
13
+ import { Decimal } from '../Decimal/Decimal.js';
14
+ import { DateTime } from '../DateTime/DateTime.js';
15
+ import { TwoOptions } from '../TwoOptions/TwoOptions.js';
16
+ import { MultiSelectOptionSet } from '../MultiSelectOptionSet/MultiSelectOptionSet.js';
17
+ import { Lookup } from '../Lookup/Lookup.js';
18
+ import { OptionSet } from '../OptionSet/OptionSet.js';
19
+ import { TextField } from '../TextField/TextField.js';
20
+
21
+ const NestedControlRenderer = (props) => {
22
+ const onOverrideComponentProps = props.onOverrideComponentProps ?? ((props) => props);
23
+ const labels = useControlLabels({
24
+ translations: props.translations,
25
+ languageId: props.context.userSettings.languageId,
26
+ defaultTranslations: getDefaultNestedControlRendererTranslations()
27
+ });
28
+ const rerender = useRerender();
29
+ const isBaseControl = useMemo(() => {
30
+ return BaseControls.IsBaseControl(props.parameters.ControlName);
31
+ }, [props.parameters.ControlName]);
32
+ const styles = useMemo(() => getNestedControlStyles(isBaseControl), [isBaseControl]);
33
+ const internalControlRendererRef = useRef(null);
34
+ const ref = useRef();
35
+ ref.current = {
36
+ ...ref.current,
37
+ props: props,
38
+ isBaseControl: isBaseControl,
39
+ controlName: props.parameters.ControlName
40
+ };
41
+ ref.current.componentProps = onOverrideComponentProps({
42
+ rootContainerProps: {},
43
+ controlContainerProps: {},
44
+ messageBarProps: {
45
+ //@ts-ignore - typescript
46
+ messageBarType: MessageBarType.error,
47
+ buttonProps: {
48
+ className: styles.messageBarBtn
49
+ }
50
+ },
51
+ loadingProps: {
52
+ containerProps: {},
53
+ spinnerProps: {
54
+ size: SpinnerSize.xSmall
55
+ },
56
+ shimmerProps: {
57
+ styles: {
58
+ root: styles.shimmerRoot,
59
+ shimmerWrapper: {
60
+ height: 32
61
+ }
62
+ }
63
+ },
64
+ },
65
+ onOverrideRender: (control, isCustomPcfComponent, defaultRender) => defaultRender(),
66
+ onOverrideUnmount: (control, defaultUnmount) => defaultUnmount(),
67
+ onOverrideControlProps: (props) => props,
68
+ });
69
+ const getRef = () => {
70
+ return ref.current;
71
+ };
72
+ const getBaseControl = () => {
73
+ switch (getRef().controlName) {
74
+ case 'TextField':
75
+ return TextField;
76
+ case 'OptionSet':
77
+ return OptionSet;
78
+ case 'Lookup':
79
+ return Lookup;
80
+ case 'MultiSelectOptionSet':
81
+ return MultiSelectOptionSet;
82
+ case 'TwoOptions':
83
+ return TwoOptions;
84
+ case 'DateTime':
85
+ return DateTime;
86
+ case 'Decimal':
87
+ return Decimal;
88
+ case 'Duration':
89
+ return Duration;
90
+ case 'GridCellRenderer':
91
+ return GridCellRenderer;
92
+ default:
93
+ return GridCellRenderer;
94
+ }
95
+ };
96
+ const onRender = (control, defaultRender) => {
97
+ if (getRef().isBaseControl) {
98
+ const controlProps = control.getProps();
99
+ return ReactDOM.render(React__default.createElement(getBaseControl(), controlProps), control.getContainer());
100
+ }
101
+ return defaultRender();
102
+ };
103
+ const onUmount = (control, defaultUnmount) => {
104
+ if (control.isMountedPcfComponent()) {
105
+ return defaultUnmount();
106
+ }
107
+ return ReactDOM.unmountComponentAtNode(control.getContainer());
108
+ };
109
+ const createControlInstance = () => {
110
+ new NestedControl({
111
+ parentPcfContext: getRef().props.context,
112
+ onGetContainerElement: () => getRef().controlContainer,
113
+ onGetControlName: () => getRef().controlName,
114
+ onGetBindings: () => {
115
+ return getRef().props.parameters.Bindings ?? {};
116
+ },
117
+ callbacks: {
118
+ //onInit could either by sync or async
119
+ onInit: (instance) => {
120
+ getRef().control = instance;
121
+ //if we are already mounted, we need to rerender
122
+ if (getRef().mounted) {
123
+ rerender();
124
+ }
125
+ },
126
+ onControlStateChanged: () => internalControlRendererRef.current?.rerender(),
127
+ onGetControlStates: () => getRef().props.parameters.ControlStates,
128
+ onNotifyOutputChanged: (outputs) => getRef().props.onNotifyOutputChanged?.(outputs)
129
+ },
130
+ overrides: {
131
+ onGetProps: getRef().componentProps.onOverrideControlProps,
132
+ onRender: (control, defaultRender) => {
133
+ getRef().componentProps.onOverrideRender(control, !getRef().isBaseControl, () => {
134
+ onRender(control, defaultRender);
135
+ });
136
+ },
137
+ onUnmount: (control, defaultUnmount) => {
138
+ getRef().componentProps.onOverrideUnmount(control, () => onUmount(control, defaultUnmount));
139
+ }
140
+ },
141
+ });
142
+ };
143
+ useMemo(() => {
144
+ createControlInstance();
145
+ }, []);
146
+ useEffect(() => {
147
+ const ref = getRef();
148
+ ref.mounted = true;
149
+ ref.controlContainer = internalControlRendererRef.current.getContainer();
150
+ return () => {
151
+ const ref = getRef();
152
+ ref.control?.unmount();
153
+ ref.controlContainer = null;
154
+ ref.control = null;
155
+ };
156
+ }, []);
157
+ useEffect(() => {
158
+ getRef().control?.render();
159
+ });
160
+ return jsx(InternalNestedControlRenderer, { ref: internalControlRendererRef, labels: labels, control: getRef().control ?? undefined, parameters: getRef().props.parameters, componentProps: getRef().componentProps });
161
+ };
162
+ const InternalNestedControlRenderer = forwardRef((props, ref) => {
163
+ //once control is defined, it is initialized
164
+ const { control, parameters, componentProps, labels } = props;
165
+ const customControlContainerRef = useRef(null);
166
+ const errorMessage = control?.getErrorMessage();
167
+ const rerender = useRerender();
168
+ useImperativeHandle(ref, () => {
169
+ return {
170
+ getContainer: () => customControlContainerRef.current,
171
+ rerender: () => rerender()
172
+ };
173
+ });
174
+ const renderLoading = () => {
175
+ if (parameters.LoadingType === 'shimmer') {
176
+ return jsx(Shimmer, { ...componentProps?.loadingProps?.shimmerProps });
177
+ }
178
+ return jsx(Spinner, { ...componentProps?.loadingProps?.spinnerProps });
179
+ };
180
+ const onShowErrorDialog = () => {
181
+ if (window.Xrm?.Navigation) {
182
+ window.Xrm.Navigation.openErrorDialog({
183
+ message: errorMessage
184
+ });
185
+ return;
186
+ }
187
+ alert(errorMessage);
188
+ };
189
+ return (jsxs("div", { ...componentProps.rootContainerProps, children: [(!control || control.isLoading()) && jsx("div", { ...componentProps?.loadingProps?.containerProps, children: renderLoading() }), errorMessage &&
190
+ jsxs(MessageBar, { messageBarType: MessageBarType.error, isMultiline: false, actions: jsx("div", { children: jsx(MessageBarButton, { className: componentProps.messageBarProps.buttonProps.className, onClick: () => onShowErrorDialog(), children: labels.detail() }) }), ...componentProps?.messageBarProps, children: [labels.control(), " ", jsx("b", { children: parameters.ControlName }), " ", labels.failedToLoad(), "."] }), jsx("div", { ref: customControlContainerRef, style: errorMessage ? { display: 'none' } : undefined, ...componentProps.controlContainerProps })] }));
191
+ });
192
+
193
+ export { NestedControlRenderer };
194
+ //# sourceMappingURL=NestedControlRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NestedControlRenderer.js","sources":["../../../src/components/NestedControlRenderer/NestedControlRenderer.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useImperativeHandle, useMemo, useRef } from 'react';\nimport { NestedControl } from './NestedControl';\nimport { INestedControlRenderer, INestedControlRendererComponentProps, INestedControlRendererParameters } from './interfaces';\nimport { TextField } from '../TextField';\nimport { Decimal } from '../Decimal';\nimport { Duration } from '../Duration';\nimport { TwoOptions } from '../TwoOptions';\nimport { DateTime } from '../DateTime';\nimport { MultiSelectOptionSet } from '../MultiSelectOptionSet';\nimport { Lookup } from '../Lookup';\nimport { OptionSet } from '../OptionSet';\nimport { GridCellRenderer } from '../GridCellRenderer/GridCellRenderer';\nimport { BaseControls } from '../../utils';\nimport { getNestedControlStyles } from './styles';\nimport { Spinner, useRerender } from '@talxis/react-components';\nimport { MessageBar, MessageBarButton, MessageBarType, Shimmer, SpinnerSize } from '@fluentui/react';\nimport ReactDOM from 'react-dom';\nimport { useControlLabels } from '../../hooks';\nimport { getDefaultNestedControlRendererTranslations } from './translations';\n\ninterface IRef {\n control: NestedControl | null;\n props: INestedControlRenderer;\n controlName: string;\n componentProps: INestedControlRendererComponentProps;\n isBaseControl: boolean;\n mounted: boolean;\n controlContainer: HTMLDivElement | null;\n}\n\nexport const NestedControlRenderer = (props: INestedControlRenderer) => {\n const onOverrideComponentProps = props.onOverrideComponentProps ?? ((props) => props);\n const labels = useControlLabels({\n translations: props.translations,\n languageId : props.context.userSettings.languageId,\n defaultTranslations: getDefaultNestedControlRendererTranslations()\n })\n const rerender = useRerender();\n const isBaseControl = useMemo(() => {\n return BaseControls.IsBaseControl(props.parameters.ControlName);\n }, [props.parameters.ControlName]);\n\n const styles = useMemo(() => getNestedControlStyles(isBaseControl), [isBaseControl]);\n const internalControlRendererRef = useRef<IInternalNestedControlRendererRef>(null);\n const ref = useRef<Partial<IRef>>();\n \n ref.current = {\n ...ref.current,\n props: props,\n isBaseControl: isBaseControl,\n controlName: props.parameters.ControlName \n }\n\n ref.current.componentProps = onOverrideComponentProps({\n rootContainerProps: {},\n controlContainerProps: {},\n messageBarProps: {\n //@ts-ignore - typescript\n messageBarType: MessageBarType.error,\n buttonProps: {\n className: styles.messageBarBtn\n }\n },\n loadingProps: {\n containerProps: {},\n spinnerProps: {\n size: SpinnerSize.xSmall\n },\n shimmerProps: {\n styles: {\n root: styles.shimmerRoot,\n shimmerWrapper: {\n height: 32\n }\n }\n },\n },\n onOverrideRender: (control, isCustomPcfComponent, defaultRender) => defaultRender(),\n onOverrideUnmount: (control, defaultUnmount) => defaultUnmount(),\n onOverrideControlProps: (props) => props,\n });\n\n const getRef = (): IRef => {\n return ref.current as any;\n }\n\n const getBaseControl = (): any => {\n switch (getRef().controlName) {\n case 'TextField':\n return TextField\n case 'OptionSet':\n return OptionSet;\n case 'Lookup':\n return Lookup;\n case 'MultiSelectOptionSet':\n return MultiSelectOptionSet;\n case 'TwoOptions':\n return TwoOptions;\n case 'DateTime':\n return DateTime;\n case 'Decimal':\n return Decimal;\n case 'Duration':\n return Duration;\n case 'GridCellRenderer':\n return GridCellRenderer;\n default:\n return GridCellRenderer;\n }\n };\n\n const onRender = (control: NestedControl, defaultRender: () => Promise<void>) => {\n if (getRef().isBaseControl) {\n const controlProps = control.getProps();\n return ReactDOM.render(React.createElement(getBaseControl(), controlProps), control.getContainer());\n }\n return defaultRender();\n }\n\n const onUmount = (control: NestedControl, defaultUnmount: () => void) => {\n if (control.isMountedPcfComponent()) {\n return defaultUnmount();\n }\n return ReactDOM.unmountComponentAtNode(control.getContainer())\n }\n\n const createControlInstance = () => {\n new NestedControl({\n parentPcfContext: getRef().props.context,\n onGetContainerElement: () => getRef().controlContainer!,\n onGetControlName: () => getRef().controlName,\n onGetBindings: () => {\n return getRef().props.parameters.Bindings ?? {};\n },\n callbacks: {\n //onInit could either by sync or async\n onInit: (instance) => {\n getRef().control = instance;\n //if we are already mounted, we need to rerender\n if (getRef().mounted) {\n rerender();\n }\n },\n onControlStateChanged: () => internalControlRendererRef.current?.rerender(),\n onGetControlStates: () => getRef().props.parameters.ControlStates,\n onNotifyOutputChanged: (outputs) => getRef().props.onNotifyOutputChanged?.(outputs)\n },\n overrides: {\n onGetProps: getRef().componentProps.onOverrideControlProps,\n onRender: (control: NestedControl, defaultRender) => {\n getRef().componentProps.onOverrideRender(control, !getRef().isBaseControl, () => {\n onRender(control, defaultRender);\n })\n },\n onUnmount: (control, defaultUnmount) => {\n getRef().componentProps.onOverrideUnmount(control, () => onUmount(control, defaultUnmount))\n }\n },\n })\n\n }\n useMemo(() => {\n createControlInstance();\n }, []);\n\n useEffect(() => {\n const ref = getRef();\n ref.mounted = true;\n ref.controlContainer = internalControlRendererRef.current!.getContainer();\n return () => {\n const ref = getRef();\n ref.control?.unmount();\n ref.controlContainer = null;\n ref.control = null;\n }\n }, []);\n\n useEffect(() => {\n getRef().control?.render();\n })\n\n return <InternalNestedControlRenderer\n ref={internalControlRendererRef}\n labels={labels}\n control={getRef().control ?? undefined}\n parameters={getRef().props.parameters}\n componentProps={getRef().componentProps} />\n}\n\ninterface IInternalNestedControlRendererProps {\n parameters: INestedControlRendererParameters;\n componentProps: INestedControlRendererComponentProps;\n labels: any;\n loadingType?: 'spinner' | 'shimmer';\n control?: NestedControl;\n\n}\n\ninterface IInternalNestedControlRendererRef {\n getContainer: () => HTMLDivElement;\n rerender: () => void;\n}\n\n\nconst InternalNestedControlRenderer = forwardRef<IInternalNestedControlRendererRef, IInternalNestedControlRendererProps>((props, ref) => {\n //once control is defined, it is initialized\n const { control, parameters, componentProps, labels } = props;\n const customControlContainerRef = useRef<HTMLDivElement>(null);\n const errorMessage = control?.getErrorMessage();\n const rerender = useRerender();\n\n useImperativeHandle(ref, () => {\n return {\n getContainer: () => customControlContainerRef.current!,\n rerender: () => rerender()\n }\n })\n\n const renderLoading = () => {\n if (parameters.LoadingType === 'shimmer') {\n return <Shimmer {...componentProps?.loadingProps?.shimmerProps} />\n }\n return <Spinner {...componentProps?.loadingProps?.spinnerProps} />\n }\n\n const onShowErrorDialog = () => {\n if(window.Xrm?.Navigation) {\n window.Xrm.Navigation.openErrorDialog({\n message: errorMessage\n })\n return;\n }\n alert(errorMessage);\n }\n\n return (\n <div {...componentProps.rootContainerProps}>\n {(!control || control.isLoading()) && <div {...componentProps?.loadingProps?.containerProps}>{renderLoading()}</div>\n }\n {errorMessage &&\n <MessageBar messageBarType={MessageBarType.error} isMultiline={false} actions={<div>\n <MessageBarButton className={componentProps.messageBarProps.buttonProps.className} onClick={() => onShowErrorDialog()}>{labels.detail()}</MessageBarButton>\n </div>} {...componentProps?.messageBarProps}>\n {labels.control()} <b>{parameters.ControlName}</b> {labels.failedToLoad()}.\n </MessageBar>\n }\n <div ref={customControlContainerRef} style={errorMessage ? {display: 'none'} : undefined} {...componentProps.controlContainerProps} />\n </div>)\n})\n"],"names":["React","_jsx","_jsxs"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export * from './NestedControlRenderer';
@@ -0,0 +1,2 @@
1
+ export { NestedControlRenderer } from './NestedControlRenderer.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,122 @@
1
+ /// <reference types="react" />
2
+ import { IButtonProps, IMessageBar, IShimmerProps, ISpinnerProps } from "@fluentui/react";
3
+ import { IParameters } from "../../interfaces";
4
+ import { IControl, IOutputs } from "../../interfaces/context";
5
+ import { NestedControl } from "./NestedControl";
6
+ import { DataType } from "@talxis/client-libraries";
7
+ import { getDefaultNestedControlRendererTranslations } from "./translations";
8
+ type ControlNameOptions = 'TextField' | 'OptionSet' | 'MultiSelectOptionSet' | 'Lookup' | 'Decimal' | 'Duration' | 'DateTime' | 'GridCellRenderer' | (string & {});
9
+ export interface INestedControlRenderer extends IControl<INestedControlRendererParameters, IOutputs, ReturnType<typeof getDefaultNestedControlRendererTranslations>, INestedControlRendererComponentProps> {
10
+ }
11
+ export interface INestedControlRendererParameters extends IParameters {
12
+ /**
13
+ * Specifies the name of the control to be rendered. This can be either a custom PCF control or a base control.
14
+ */
15
+ ControlName: ControlNameOptions;
16
+ /**
17
+ * Optional bindings that will be passed to the control. These bindings provide data and metadata to the control.
18
+ */
19
+ Bindings?: {
20
+ [key: string]: IBinding;
21
+ };
22
+ /**
23
+ * Specifies the type of loading indicator to display before the control is fully loaded.
24
+ * Options include 'spinner', 'shimmer', or 'none' for no loading indicator.
25
+ */
26
+ LoadingType?: 'spinner' | 'shimmer' | 'none';
27
+ /**
28
+ * Optional configuration to set the control's state, such as enabling or disabling the control.
29
+ */
30
+ ControlStates?: IControlStates;
31
+ }
32
+ export interface INestedControlRendererComponentProps {
33
+ /**
34
+ * Props for the loading indicator that appears before the control is fully loaded.
35
+ */
36
+ loadingProps: {
37
+ spinnerProps: ISpinnerProps;
38
+ shimmerProps: IShimmerProps;
39
+ containerProps: React.HTMLAttributes<HTMLDivElement>;
40
+ };
41
+ /**
42
+ * Props for the message bar that displays error messages.
43
+ */
44
+ messageBarProps: IMessageBar & {
45
+ buttonProps: IButtonProps;
46
+ };
47
+ /**
48
+ * Props for the top-level container that wraps the control and other elements like the loading indicator.
49
+ */
50
+ rootContainerProps: React.HTMLAttributes<HTMLDivElement>;
51
+ /**
52
+ * Props for the container used to render the control.
53
+ */
54
+ controlContainerProps: React.HTMLAttributes<HTMLDivElement>;
55
+ /**
56
+ * Callback function that allows you to override the generated control props.
57
+ */
58
+ onOverrideControlProps: (props: IControl<any, any, any, any>) => IControl<any, any, any, any>;
59
+ /**
60
+ * Callback function that allows you to override the default control render.
61
+ */
62
+ onOverrideRender: (control: NestedControl, isCustomPcfComponent: boolean, defaultRender: () => void) => void;
63
+ /**
64
+ * Callback function that allows you to override the default control unmount behavior.
65
+ */
66
+ onOverrideUnmount: (control: NestedControl, defaultUnmount: () => void) => void;
67
+ }
68
+ export interface IBinding {
69
+ /**
70
+ * The data type of the binding.
71
+ */
72
+ type: DataType;
73
+ /**
74
+ * Indicates whether the binding is static or bound.
75
+ */
76
+ isStatic: boolean;
77
+ /**
78
+ * The value of the binding.
79
+ */
80
+ value: any;
81
+ /**
82
+ * Formatted value of the binding
83
+ */
84
+ formattedValue?: string | null;
85
+ /**
86
+ * Indicates whether the binding has an error.
87
+ */
88
+ error?: boolean;
89
+ /**
90
+ * The error message associated with the binding, if any.
91
+ */
92
+ errorMessage?: string;
93
+ /**
94
+ * Optional metadata for the binding.
95
+ */
96
+ metadata?: {
97
+ /**
98
+ * The entity name associated with the binding.
99
+ */
100
+ entityName?: string;
101
+ /**
102
+ * The logical name of the attribute associated with the binding.
103
+ */
104
+ attributeName?: string;
105
+ /**
106
+ * Callback function to override the metadata for the binding.
107
+ * Always return the spread metadata attribute to ensure proper merging.
108
+ */
109
+ onOverrideMetadata?: (metadata: any) => any;
110
+ };
111
+ /**
112
+ * Callback function to notify when the binding's output value changes.
113
+ */
114
+ onNotifyOutputChanged?: (newValue: any) => void;
115
+ }
116
+ export interface IControlStates {
117
+ /**
118
+ * Indicates whether the control is disabled.
119
+ */
120
+ isControlDisabled?: boolean;
121
+ }
122
+ export {};
@@ -0,0 +1,16 @@
1
+ import { Property } from "./property/Property";
2
+ import { TypeGroup } from "./TypeGroup";
3
+ export declare class Control {
4
+ readonly namespace: string;
5
+ readonly constructorName: string;
6
+ readonly version: string;
7
+ readonly displayNameKey: string;
8
+ readonly descriptionKey: string;
9
+ readonly controlType: string;
10
+ readonly previewImage: string;
11
+ readonly properties: Map<string, Property>;
12
+ readonly typegroups: Map<string, TypeGroup>;
13
+ constructor(controlElement: Element);
14
+ private _createProperties;
15
+ private _createTypeGroups;
16
+ }
@@ -0,0 +1,40 @@
1
+ import { Property } from './property/Property.js';
2
+ import { TypeGroup } from './TypeGroup.js';
3
+
4
+ class Control {
5
+ constructor(controlElement) {
6
+ this.properties = new Map();
7
+ this.typegroups = new Map();
8
+ this.namespace = controlElement.getAttribute('namespace');
9
+ this.constructorName = controlElement.getAttribute('constructor');
10
+ this.version = controlElement.getAttribute('version');
11
+ this.displayNameKey = controlElement.getAttribute('display-name-key');
12
+ this.descriptionKey = controlElement.getAttribute('description-key');
13
+ this.controlType = controlElement.getAttribute('control-type');
14
+ this.previewImage = controlElement.getAttribute('previewImage');
15
+ this._createProperties(controlElement);
16
+ this._createTypeGroups(controlElement);
17
+ }
18
+ _createProperties(controlElement) {
19
+ const propertyElements = controlElement.querySelectorAll(':scope>property');
20
+ let bindingPropertyFound = false;
21
+ for (const propertyElement of propertyElements) {
22
+ const usage = propertyElement.getAttribute('usage');
23
+ let isBindingProperty = false;
24
+ if (usage === 'bound' && !bindingPropertyFound) {
25
+ bindingPropertyFound = true;
26
+ isBindingProperty = true;
27
+ }
28
+ this.properties.set(propertyElement.getAttribute('name'), new Property(propertyElement, isBindingProperty));
29
+ }
30
+ }
31
+ _createTypeGroups(controlElement) {
32
+ const typeGroupElements = controlElement.querySelectorAll(':scope>type-group');
33
+ for (const typeGroupElement of typeGroupElements) {
34
+ this.typegroups.set(typeGroupElement.getAttribute('name'), new TypeGroup(typeGroupElement));
35
+ }
36
+ }
37
+ }
38
+
39
+ export { Control };
40
+ //# sourceMappingURL=Control.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Control.js","sources":["../../../../src/components/NestedControlRenderer/manifest/Control.ts"],"sourcesContent":["import { Property } from \"./property/Property\";\nimport { TypeGroup } from \"./TypeGroup\";\n\nexport class Control {\n public readonly namespace: string;\n public readonly constructorName: string;\n public readonly version: string;\n public readonly displayNameKey: string;\n public readonly descriptionKey: string;\n public readonly controlType: string;\n public readonly previewImage: string;\n public readonly properties: Map<string, Property> = new Map();\n public readonly typegroups: Map<string, TypeGroup> = new Map();\n\n constructor(controlElement: Element) {\n this.namespace = controlElement.getAttribute('namespace')!;\n this.constructorName = controlElement.getAttribute('constructor')!;\n this.version = controlElement.getAttribute('version')!;\n this.displayNameKey = controlElement.getAttribute('display-name-key')!;\n this.descriptionKey = controlElement.getAttribute('description-key')!;\n this.controlType = controlElement.getAttribute('control-type')!;\n this.previewImage = controlElement.getAttribute('previewImage')!;\n this._createProperties(controlElement);\n this._createTypeGroups(controlElement);\n }\n \n private _createProperties(controlElement: Element) {\n const propertyElements = controlElement.querySelectorAll(':scope>property');\n let bindingPropertyFound = false;\n for (const propertyElement of propertyElements) {\n const usage = propertyElement.getAttribute('usage');\n let isBindingProperty = false;\n if (usage === 'bound' && !bindingPropertyFound) {\n bindingPropertyFound = true;\n isBindingProperty = true;\n }\n this.properties.set(propertyElement.getAttribute('name')!, new Property(propertyElement, isBindingProperty));\n }\n }\n private _createTypeGroups(controlElement: Element) {\n const typeGroupElements = controlElement.querySelectorAll(':scope>type-group');\n for (const typeGroupElement of typeGroupElements) {\n this.typegroups.set(typeGroupElement.getAttribute('name')!, new TypeGroup(typeGroupElement));\n }\n }\n}"],"names":[],"mappings":";;;MAGa,OAAO,CAAA;AAWhB,IAAA,WAAA,CAAY,cAAuB,EAAA;AAHnB,QAAA,IAAA,CAAA,UAAU,GAA0B,IAAI,GAAG,EAAE,CAAC;AAC9C,QAAA,IAAA,CAAA,UAAU,GAA2B,IAAI,GAAG,EAAE,CAAC;QAG3D,IAAI,CAAC,SAAS,GAAG,cAAc,CAAC,YAAY,CAAC,WAAW,CAAE,CAAC;QAC3D,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC,YAAY,CAAC,aAAa,CAAE,CAAC;QACnE,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC,YAAY,CAAC,SAAS,CAAE,CAAC;QACvD,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC,YAAY,CAAC,kBAAkB,CAAE,CAAC;QACvE,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC,YAAY,CAAC,iBAAiB,CAAE,CAAC;QACtE,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC,YAAY,CAAC,cAAc,CAAE,CAAC;QAChE,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC,YAAY,CAAC,cAAc,CAAE,CAAC;AACjE,QAAA,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;AACvC,QAAA,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;KAC1C;AAEO,IAAA,iBAAiB,CAAC,cAAuB,EAAA;QAC7C,MAAM,gBAAgB,GAAG,cAAc,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;QAC5E,IAAI,oBAAoB,GAAG,KAAK,CAAC;AACjC,QAAA,KAAK,MAAM,eAAe,IAAI,gBAAgB,EAAE;YAC5C,MAAM,KAAK,GAAG,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YACpD,IAAI,iBAAiB,GAAG,KAAK,CAAC;AAC9B,YAAA,IAAI,KAAK,KAAK,OAAO,IAAI,CAAC,oBAAoB,EAAE;gBAC5C,oBAAoB,GAAG,IAAI,CAAC;gBAC5B,iBAAiB,GAAG,IAAI,CAAC;AAC5B,aAAA;YACD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,eAAe,CAAC,YAAY,CAAC,MAAM,CAAE,EAAE,IAAI,QAAQ,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC,CAAC;AAChH,SAAA;KACJ;AACO,IAAA,iBAAiB,CAAC,cAAuB,EAAA;QAC7C,MAAM,iBAAiB,GAAG,cAAc,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;AAC/E,QAAA,KAAK,MAAM,gBAAgB,IAAI,iBAAiB,EAAE;AAC9C,YAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,gBAAgB,CAAC,YAAY,CAAC,MAAM,CAAE,EAAE,IAAI,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAChG,SAAA;KACJ;AACJ;;;;"}
@@ -0,0 +1,5 @@
1
+ import { Control } from "./Control";
2
+ export declare class Manifest {
3
+ readonly control: Control;
4
+ constructor(manifestXmlString: string);
5
+ }
@@ -0,0 +1,12 @@
1
+ import { Control } from './Control.js';
2
+
3
+ class Manifest {
4
+ constructor(manifestXmlString) {
5
+ const xmlDoc = new DOMParser().parseFromString(manifestXmlString, "text/xml");
6
+ const controlElement = xmlDoc.querySelector("control");
7
+ this.control = new Control(controlElement);
8
+ }
9
+ }
10
+
11
+ export { Manifest };
12
+ //# sourceMappingURL=Manifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Manifest.js","sources":["../../../../src/components/NestedControlRenderer/manifest/Manifest.ts"],"sourcesContent":["import { Control } from \"./Control\";\n\nexport class Manifest {\n public readonly control: Control;\n\n constructor(manifestXmlString: string) {\n const xmlDoc = new DOMParser().parseFromString(manifestXmlString, \"text/xml\");\n const controlElement = xmlDoc.querySelector(\"control\")!;\n this.control = new Control(controlElement);\n }\n}"],"names":[],"mappings":";;MAEa,QAAQ,CAAA;AAGjB,IAAA,WAAA,CAAY,iBAAyB,EAAA;AACjC,QAAA,MAAM,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC,eAAe,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;QAC9E,MAAM,cAAc,GAAG,MAAM,CAAC,aAAa,CAAC,SAAS,CAAE,CAAC;QACxD,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC;KAC9C;AACJ;;;;"}
@@ -0,0 +1,6 @@
1
+ import { DataType } from "@talxis/client-libraries";
2
+ export declare class TypeGroup {
3
+ readonly name: string;
4
+ readonly types: DataType[];
5
+ constructor(typeGroupElement: Element);
6
+ }
@@ -0,0 +1,13 @@
1
+ class TypeGroup {
2
+ constructor(typeGroupElement) {
3
+ this.types = [];
4
+ this.name = typeGroupElement.getAttribute('name');
5
+ const types = typeGroupElement.querySelectorAll(':scope>type');
6
+ for (const type of types) {
7
+ this.types.push(type.innerHTML);
8
+ }
9
+ }
10
+ }
11
+
12
+ export { TypeGroup };
13
+ //# sourceMappingURL=TypeGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TypeGroup.js","sources":["../../../../src/components/NestedControlRenderer/manifest/TypeGroup.ts"],"sourcesContent":["import { DataType } from \"@talxis/client-libraries\";\n\n\nexport class TypeGroup {\n public readonly name: string;\n public readonly types: DataType[] = [];\n\n constructor(typeGroupElement: Element) {\n this.name = typeGroupElement.getAttribute('name')!;\n const types = typeGroupElement.querySelectorAll(':scope>type');\n for (const type of types as any) {\n this.types.push(type.innerHTML);\n }\n }\n}"],"names":[],"mappings":"MAGa,SAAS,CAAA;AAIlB,IAAA,WAAA,CAAY,gBAAyB,EAAA;QAFrB,IAAK,CAAA,KAAA,GAAe,EAAE,CAAC;QAGnC,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC,YAAY,CAAC,MAAM,CAAE,CAAC;QACnD,MAAM,KAAK,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;AAC/D,QAAA,KAAK,MAAM,IAAI,IAAI,KAAY,EAAE;YAC7B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACnC,SAAA;KACJ;AACJ;;;;"}
@@ -0,0 +1 @@
1
+ export * from './Manifest';
@@ -0,0 +1,2 @@
1
+ export { Manifest } from './Manifest.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}