@api-client/ui 0.5.58 → 0.6.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 (1015) hide show
  1. package/INSTRUCTIONS.md +141 -0
  2. package/build/src/builders/DialogBuilder.d.ts +245 -0
  3. package/build/src/builders/DialogBuilder.d.ts.map +1 -0
  4. package/build/src/builders/DialogBuilder.js +406 -0
  5. package/build/src/builders/DialogBuilder.js.map +1 -0
  6. package/build/src/cache/Cache.d.ts +72 -0
  7. package/build/src/cache/Cache.d.ts.map +1 -0
  8. package/build/src/cache/Cache.js +221 -0
  9. package/build/src/cache/Cache.js.map +1 -0
  10. package/build/src/core/Model.d.ts +18 -64
  11. package/build/src/core/Model.d.ts.map +1 -1
  12. package/build/src/core/Model.js +47 -90
  13. package/build/src/core/Model.js.map +1 -1
  14. package/build/src/core/ServiceManager.d.ts.map +1 -1
  15. package/build/src/core/ServiceManager.js +1 -0
  16. package/build/src/core/ServiceManager.js.map +1 -1
  17. package/build/src/data/BreadcrumbsModel.d.ts +37 -0
  18. package/build/src/data/BreadcrumbsModel.d.ts.map +1 -0
  19. package/build/src/data/BreadcrumbsModel.js +77 -0
  20. package/build/src/data/BreadcrumbsModel.js.map +1 -0
  21. package/build/src/data/DataCatalogModel.d.ts +53 -0
  22. package/build/src/data/DataCatalogModel.d.ts.map +1 -0
  23. package/build/src/data/DataCatalogModel.js +174 -0
  24. package/build/src/data/DataCatalogModel.js.map +1 -0
  25. package/build/src/data/DomainBrowserModel.d.ts +30 -0
  26. package/build/src/data/DomainBrowserModel.d.ts.map +1 -0
  27. package/build/src/data/DomainBrowserModel.js +113 -0
  28. package/build/src/data/DomainBrowserModel.js.map +1 -0
  29. package/build/src/data/FileModel.d.ts +36 -0
  30. package/build/src/data/FileModel.d.ts.map +1 -0
  31. package/build/src/data/FileModel.js +71 -0
  32. package/build/src/data/FileModel.js.map +1 -0
  33. package/build/src/data/FileShareModel.d.ts +57 -0
  34. package/build/src/data/FileShareModel.d.ts.map +1 -0
  35. package/build/src/data/FileShareModel.js +238 -0
  36. package/build/src/data/FileShareModel.js.map +1 -0
  37. package/build/src/data/FilesModel.d.ts +71 -0
  38. package/build/src/data/FilesModel.d.ts.map +1 -0
  39. package/build/src/data/FilesModel.js +205 -0
  40. package/build/src/data/FilesModel.js.map +1 -0
  41. package/build/src/data/InvitationModel.d.ts +27 -0
  42. package/build/src/data/InvitationModel.d.ts.map +1 -0
  43. package/build/src/data/InvitationModel.js +66 -0
  44. package/build/src/data/InvitationModel.js.map +1 -0
  45. package/build/src/data/PatchableFileModel.d.ts +167 -0
  46. package/build/src/data/PatchableFileModel.d.ts.map +1 -0
  47. package/build/src/data/PatchableFileModel.js +243 -0
  48. package/build/src/data/PatchableFileModel.js.map +1 -0
  49. package/build/src/data/PatchableLiveDataContentModel.d.ts +8 -0
  50. package/build/src/data/PatchableLiveDataContentModel.d.ts.map +1 -0
  51. package/build/src/data/PatchableLiveDataContentModel.js +32 -0
  52. package/build/src/data/PatchableLiveDataContentModel.js.map +1 -0
  53. package/build/src/data/PatchableRawContentModel.d.ts +10 -0
  54. package/build/src/data/PatchableRawContentModel.d.ts.map +1 -0
  55. package/build/src/data/PatchableRawContentModel.js +38 -0
  56. package/build/src/data/PatchableRawContentModel.js.map +1 -0
  57. package/build/src/data/TrashModel.d.ts +51 -0
  58. package/build/src/data/TrashModel.d.ts.map +1 -0
  59. package/build/src/data/TrashModel.js +112 -0
  60. package/build/src/data/TrashModel.js.map +1 -0
  61. package/build/src/data/UserModel.d.ts +28 -0
  62. package/build/src/data/UserModel.d.ts.map +1 -0
  63. package/build/src/data/UserModel.js +98 -0
  64. package/build/src/data/UserModel.js.map +1 -0
  65. package/build/src/data/UsersModel.d.ts +84 -0
  66. package/build/src/data/UsersModel.d.ts.map +1 -0
  67. package/build/src/data/UsersModel.js +307 -0
  68. package/build/src/data/UsersModel.js.map +1 -0
  69. package/build/src/data/retry_logic.d.ts +66 -0
  70. package/build/src/data/retry_logic.d.ts.map +1 -0
  71. package/build/src/data/retry_logic.js +84 -0
  72. package/build/src/data/retry_logic.js.map +1 -0
  73. package/build/src/elements/autocomplete/internals/autocomplete.d.ts.map +1 -1
  74. package/build/src/elements/autocomplete/internals/autocomplete.js +5 -2
  75. package/build/src/elements/autocomplete/internals/autocomplete.js.map +1 -1
  76. package/build/src/elements/data-table/DataTable.d.ts +17 -0
  77. package/build/src/elements/data-table/DataTable.d.ts.map +1 -1
  78. package/build/src/elements/data-table/DataTable.js +5 -4
  79. package/build/src/elements/data-table/DataTable.js.map +1 -1
  80. package/build/src/elements/data-table/DataTable.styles.d.ts.map +1 -1
  81. package/build/src/elements/data-table/DataTable.styles.js +7 -2
  82. package/build/src/elements/data-table/DataTable.styles.js.map +1 -1
  83. package/build/src/elements/data-table/data-catalog-table.d.ts +16 -0
  84. package/build/src/elements/data-table/data-catalog-table.d.ts.map +1 -0
  85. package/build/src/elements/data-table/data-catalog-table.js +33 -0
  86. package/build/src/elements/data-table/data-catalog-table.js.map +1 -0
  87. package/build/src/elements/data-table/filesystem-table.d.ts +17 -0
  88. package/build/src/elements/data-table/filesystem-table.d.ts.map +1 -0
  89. package/build/src/elements/data-table/filesystem-table.js +35 -0
  90. package/build/src/elements/data-table/filesystem-table.js.map +1 -0
  91. package/build/src/elements/data-table/internals/DataCatalog.styles.d.ts +3 -0
  92. package/build/src/elements/data-table/internals/DataCatalog.styles.d.ts.map +1 -0
  93. package/build/src/elements/data-table/internals/DataCatalog.styles.js +29 -0
  94. package/build/src/elements/data-table/internals/DataCatalog.styles.js.map +1 -0
  95. package/build/src/elements/data-table/internals/DataCatalogTable.d.ts +44 -0
  96. package/build/src/elements/data-table/internals/DataCatalogTable.d.ts.map +1 -0
  97. package/build/src/elements/data-table/internals/DataCatalogTable.js +208 -0
  98. package/build/src/elements/data-table/internals/DataCatalogTable.js.map +1 -0
  99. package/build/src/elements/data-table/internals/Filesystem.styles.d.ts +3 -0
  100. package/build/src/elements/data-table/internals/Filesystem.styles.d.ts.map +1 -0
  101. package/build/src/elements/data-table/internals/Filesystem.styles.js +23 -0
  102. package/build/src/elements/data-table/internals/Filesystem.styles.js.map +1 -0
  103. package/build/src/elements/data-table/internals/FilesystemDataTable.d.ts +36 -0
  104. package/build/src/elements/data-table/internals/FilesystemDataTable.d.ts.map +1 -0
  105. package/build/src/elements/data-table/internals/FilesystemDataTable.js +230 -0
  106. package/build/src/elements/data-table/internals/FilesystemDataTable.js.map +1 -0
  107. package/build/src/elements/data-table/internals/TrashDataTable.d.ts +32 -0
  108. package/build/src/elements/data-table/internals/TrashDataTable.d.ts.map +1 -0
  109. package/build/src/elements/data-table/internals/TrashDataTable.js +161 -0
  110. package/build/src/elements/data-table/internals/TrashDataTable.js.map +1 -0
  111. package/build/src/elements/data-table/internals/UserData.styles.d.ts +3 -0
  112. package/build/src/elements/data-table/internals/UserData.styles.d.ts.map +1 -0
  113. package/build/src/elements/data-table/internals/UserData.styles.js +16 -0
  114. package/build/src/elements/data-table/internals/UserData.styles.js.map +1 -0
  115. package/build/src/elements/data-table/internals/UsersDataTable.d.ts +30 -0
  116. package/build/src/elements/data-table/internals/UsersDataTable.d.ts.map +1 -0
  117. package/build/src/elements/data-table/internals/UsersDataTable.js +243 -0
  118. package/build/src/elements/data-table/internals/UsersDataTable.js.map +1 -0
  119. package/build/src/elements/data-table/trash-table.d.ts +11 -0
  120. package/build/src/elements/data-table/trash-table.d.ts.map +1 -0
  121. package/build/src/elements/data-table/trash-table.js +28 -0
  122. package/build/src/elements/data-table/trash-table.js.map +1 -0
  123. package/build/src/elements/data-table/users-table.d.ts +11 -0
  124. package/build/src/elements/data-table/users-table.d.ts.map +1 -0
  125. package/build/src/elements/data-table/users-table.js +28 -0
  126. package/build/src/elements/data-table/users-table.js.map +1 -0
  127. package/build/src/elements/file-system/internals/Breadcrumbs.d.ts +0 -2
  128. package/build/src/elements/file-system/internals/Breadcrumbs.d.ts.map +1 -1
  129. package/build/src/elements/file-system/internals/Breadcrumbs.js +0 -2
  130. package/build/src/elements/file-system/internals/Breadcrumbs.js.map +1 -1
  131. package/build/src/elements/file-system/internals/QuickApiFilesystem.d.ts +197 -0
  132. package/build/src/elements/file-system/internals/QuickApiFilesystem.d.ts.map +1 -0
  133. package/build/src/elements/file-system/internals/QuickApiFilesystem.js +434 -0
  134. package/build/src/elements/file-system/internals/QuickApiFilesystem.js.map +1 -0
  135. package/build/src/elements/file-system/internals/QuickApiFilesystem.styles.d.ts +3 -0
  136. package/build/src/elements/file-system/internals/QuickApiFilesystem.styles.d.ts.map +1 -0
  137. package/build/src/elements/file-system/internals/QuickApiFilesystem.styles.js +49 -0
  138. package/build/src/elements/file-system/internals/QuickApiFilesystem.styles.js.map +1 -0
  139. package/build/src/elements/file-system/internals/ShareFile.d.ts +166 -0
  140. package/build/src/elements/file-system/internals/ShareFile.d.ts.map +1 -0
  141. package/build/src/elements/file-system/internals/ShareFile.js +581 -0
  142. package/build/src/elements/file-system/internals/ShareFile.js.map +1 -0
  143. package/build/src/elements/file-system/internals/ShareFile.styles.d.ts +3 -0
  144. package/build/src/elements/file-system/internals/ShareFile.styles.d.ts.map +1 -0
  145. package/build/src/elements/file-system/internals/ShareFile.styles.js +98 -0
  146. package/build/src/elements/file-system/internals/ShareFile.styles.js.map +1 -0
  147. package/build/src/elements/file-system/quick-api-filesystem.d.ts +11 -0
  148. package/build/src/elements/file-system/quick-api-filesystem.d.ts.map +1 -0
  149. package/build/src/elements/file-system/quick-api-filesystem.js +28 -0
  150. package/build/src/elements/file-system/quick-api-filesystem.js.map +1 -0
  151. package/build/src/elements/file-system/share-file.d.ts +20 -0
  152. package/build/src/elements/file-system/share-file.d.ts.map +1 -0
  153. package/build/src/elements/file-system/share-file.js +37 -0
  154. package/build/src/elements/file-system/share-file.js.map +1 -0
  155. package/build/src/elements/file-system/ui-breadcrumbs.d.ts +2 -0
  156. package/build/src/elements/file-system/ui-breadcrumbs.d.ts.map +1 -1
  157. package/build/src/elements/file-system/ui-breadcrumbs.js +2 -0
  158. package/build/src/elements/file-system/ui-breadcrumbs.js.map +1 -1
  159. package/build/src/elements/layout/SplitItem.d.ts.map +1 -1
  160. package/build/src/elements/layout/SplitItem.js +0 -7
  161. package/build/src/elements/layout/SplitItem.js.map +1 -1
  162. package/build/src/elements/navigation/internals/Navigation.d.ts +1 -1
  163. package/build/src/elements/navigation/internals/Navigation.d.ts.map +1 -1
  164. package/build/src/elements/navigation/internals/Navigation.js +10 -4
  165. package/build/src/elements/navigation/internals/Navigation.js.map +1 -1
  166. package/build/src/elements/search-input/internals/input.d.ts +27 -0
  167. package/build/src/elements/search-input/internals/input.d.ts.map +1 -0
  168. package/build/src/elements/search-input/internals/input.js +99 -0
  169. package/build/src/elements/search-input/internals/input.js.map +1 -0
  170. package/build/src/elements/search-input/internals/input.styles.d.ts +3 -0
  171. package/build/src/elements/search-input/internals/input.styles.d.ts.map +1 -0
  172. package/build/src/elements/search-input/internals/input.styles.js +38 -0
  173. package/build/src/elements/search-input/internals/input.styles.js.map +1 -0
  174. package/build/src/elements/search-input/search-input.d.ts +12 -0
  175. package/build/src/elements/search-input/search-input.d.ts.map +1 -0
  176. package/build/src/elements/search-input/search-input.js +30 -0
  177. package/build/src/elements/search-input/search-input.js.map +1 -0
  178. package/build/src/elements/setup/internals/InvitationScreen.d.ts +189 -0
  179. package/build/src/elements/setup/internals/InvitationScreen.d.ts.map +1 -0
  180. package/build/src/elements/setup/internals/InvitationScreen.js +466 -0
  181. package/build/src/elements/setup/internals/InvitationScreen.js.map +1 -0
  182. package/build/src/elements/setup/internals/InvitationScreen.styles.d.ts +3 -0
  183. package/build/src/elements/setup/internals/InvitationScreen.styles.d.ts.map +1 -0
  184. package/build/src/elements/setup/internals/InvitationScreen.styles.js +3 -0
  185. package/build/src/elements/setup/internals/InvitationScreen.styles.js.map +1 -0
  186. package/build/src/elements/setup/internals/LoginScreen.d.ts +61 -0
  187. package/build/src/elements/setup/internals/LoginScreen.d.ts.map +1 -0
  188. package/build/src/elements/setup/internals/LoginScreen.js +181 -0
  189. package/build/src/elements/setup/internals/LoginScreen.js.map +1 -0
  190. package/build/src/elements/setup/internals/LoginScreen.styles.d.ts +3 -0
  191. package/build/src/elements/setup/internals/LoginScreen.styles.d.ts.map +1 -0
  192. package/build/src/elements/setup/internals/LoginScreen.styles.js +3 -0
  193. package/build/src/elements/setup/internals/LoginScreen.styles.js.map +1 -0
  194. package/build/src/elements/setup/internals/OrganizationCreateScreen.d.ts +67 -0
  195. package/build/src/elements/setup/internals/OrganizationCreateScreen.d.ts.map +1 -0
  196. package/build/src/elements/setup/internals/OrganizationCreateScreen.js +194 -0
  197. package/build/src/elements/setup/internals/OrganizationCreateScreen.js.map +1 -0
  198. package/build/src/elements/setup/internals/OrganizationCreateScreen.styles.d.ts +3 -0
  199. package/build/src/elements/setup/internals/OrganizationCreateScreen.styles.d.ts.map +1 -0
  200. package/build/src/elements/setup/internals/OrganizationCreateScreen.styles.js +3 -0
  201. package/build/src/elements/setup/internals/OrganizationCreateScreen.styles.js.map +1 -0
  202. package/build/src/elements/setup/internals/OrganizationSelectionScreen.d.ts +41 -0
  203. package/build/src/elements/setup/internals/OrganizationSelectionScreen.d.ts.map +1 -0
  204. package/build/src/elements/setup/internals/OrganizationSelectionScreen.js +123 -0
  205. package/build/src/elements/setup/internals/OrganizationSelectionScreen.js.map +1 -0
  206. package/build/src/elements/setup/internals/OrganizationSelectionScreen.styles.d.ts +3 -0
  207. package/build/src/elements/setup/internals/OrganizationSelectionScreen.styles.d.ts.map +1 -0
  208. package/build/src/elements/setup/internals/OrganizationSelectionScreen.styles.js +3 -0
  209. package/build/src/elements/setup/internals/OrganizationSelectionScreen.styles.js.map +1 -0
  210. package/build/src/elements/setup/internals/OrganizationSelector.d.ts +56 -0
  211. package/build/src/elements/setup/internals/OrganizationSelector.d.ts.map +1 -0
  212. package/build/src/elements/setup/internals/OrganizationSelector.js +140 -0
  213. package/build/src/elements/setup/internals/OrganizationSelector.js.map +1 -0
  214. package/build/src/elements/setup/internals/OrganizationSelector.styles.d.ts +3 -0
  215. package/build/src/elements/setup/internals/OrganizationSelector.styles.d.ts.map +1 -0
  216. package/build/src/elements/setup/internals/OrganizationSelector.styles.js +3 -0
  217. package/build/src/elements/setup/internals/OrganizationSelector.styles.js.map +1 -0
  218. package/build/src/elements/setup/internals/common.styles.d.ts +3 -0
  219. package/build/src/elements/setup/internals/common.styles.d.ts.map +1 -0
  220. package/build/src/elements/setup/internals/common.styles.js +72 -0
  221. package/build/src/elements/setup/internals/common.styles.js.map +1 -0
  222. package/build/src/elements/setup/internals/icons.d.ts +4 -0
  223. package/build/src/elements/setup/internals/icons.d.ts.map +1 -0
  224. package/build/src/elements/setup/internals/icons.js +41 -0
  225. package/build/src/elements/setup/internals/icons.js.map +1 -0
  226. package/build/src/elements/setup/invitation-screen.d.ts +13 -0
  227. package/build/src/elements/setup/invitation-screen.d.ts.map +1 -0
  228. package/build/src/elements/setup/invitation-screen.js +32 -0
  229. package/build/src/elements/setup/invitation-screen.js.map +1 -0
  230. package/build/src/elements/setup/login-screen.d.ts +12 -0
  231. package/build/src/elements/setup/login-screen.d.ts.map +1 -0
  232. package/build/src/elements/setup/login-screen.js +31 -0
  233. package/build/src/elements/setup/login-screen.js.map +1 -0
  234. package/build/src/elements/setup/organization-create-screen.d.ts +13 -0
  235. package/build/src/elements/setup/organization-create-screen.d.ts.map +1 -0
  236. package/build/src/elements/setup/organization-create-screen.js +32 -0
  237. package/build/src/elements/setup/organization-create-screen.js.map +1 -0
  238. package/build/src/elements/setup/organization-selection-screen.d.ts +14 -0
  239. package/build/src/elements/setup/organization-selection-screen.d.ts.map +1 -0
  240. package/build/src/elements/setup/organization-selection-screen.js +33 -0
  241. package/build/src/elements/setup/organization-selection-screen.js.map +1 -0
  242. package/build/src/elements/setup/organization-selector.d.ts +32 -0
  243. package/build/src/elements/setup/organization-selector.d.ts.map +1 -0
  244. package/build/src/elements/setup/organization-selector.js +50 -0
  245. package/build/src/elements/setup/organization-selector.js.map +1 -0
  246. package/build/src/elements/user/internals/UserAvatar.d.ts +3 -1
  247. package/build/src/elements/user/internals/UserAvatar.d.ts.map +1 -1
  248. package/build/src/elements/user/internals/UserAvatar.js +5 -1
  249. package/build/src/elements/user/internals/UserAvatar.js.map +1 -1
  250. package/build/src/events/DomainEvents.d.ts +31 -0
  251. package/build/src/events/DomainEvents.d.ts.map +1 -0
  252. package/build/src/events/DomainEvents.js +65 -0
  253. package/build/src/events/DomainEvents.js.map +1 -0
  254. package/build/src/events/EventTypes.d.ts +7 -0
  255. package/build/src/events/EventTypes.d.ts.map +1 -1
  256. package/build/src/events/EventTypes.js +8 -0
  257. package/build/src/events/EventTypes.js.map +1 -1
  258. package/build/src/events/Events.d.ts +32 -25
  259. package/build/src/events/Events.d.ts.map +1 -1
  260. package/build/src/events/Events.js +2 -0
  261. package/build/src/events/Events.js.map +1 -1
  262. package/build/src/exceptions/builder.d.ts +11 -0
  263. package/build/src/exceptions/builder.d.ts.map +1 -0
  264. package/build/src/exceptions/builder.js +29 -0
  265. package/build/src/exceptions/builder.js.map +1 -0
  266. package/build/src/help/help_coordinator.d.ts +82 -0
  267. package/build/src/help/help_coordinator.d.ts.map +1 -0
  268. package/build/src/help/help_coordinator.js +206 -0
  269. package/build/src/help/help_coordinator.js.map +1 -0
  270. package/build/src/help/help_panel.d.ts +88 -0
  271. package/build/src/help/help_panel.d.ts.map +1 -0
  272. package/build/src/help/help_panel.js +323 -0
  273. package/build/src/help/help_panel.js.map +1 -0
  274. package/build/src/help/help_panel.styles.d.ts +3 -0
  275. package/build/src/help/help_panel.styles.d.ts.map +1 -0
  276. package/build/src/help/help_panel.styles.js +196 -0
  277. package/build/src/help/help_panel.styles.js.map +1 -0
  278. package/build/src/help/help_service_controller.d.ts +108 -0
  279. package/build/src/help/help_service_controller.d.ts.map +1 -0
  280. package/build/src/help/help_service_controller.js +252 -0
  281. package/build/src/help/help_service_controller.js.map +1 -0
  282. package/build/src/help/help_topic.d.ts +60 -0
  283. package/build/src/help/help_topic.d.ts.map +1 -0
  284. package/build/src/help/help_topic.js +2 -0
  285. package/build/src/help/help_topic.js.map +1 -0
  286. package/build/src/help/index.d.ts +6 -0
  287. package/build/src/help/index.d.ts.map +1 -0
  288. package/build/src/help/index.js +6 -0
  289. package/build/src/help/index.js.map +1 -0
  290. package/build/src/help/render.d.ts +14 -0
  291. package/build/src/help/render.d.ts.map +1 -0
  292. package/build/src/help/render.js +37 -0
  293. package/build/src/help/render.js.map +1 -0
  294. package/build/src/lib/Dom.d.ts +7 -0
  295. package/build/src/lib/Dom.d.ts.map +1 -1
  296. package/build/src/lib/Dom.js +33 -0
  297. package/build/src/lib/Dom.js.map +1 -1
  298. package/build/src/lib/files/Utils.d.ts +10 -0
  299. package/build/src/lib/files/Utils.d.ts.map +1 -1
  300. package/build/src/lib/files/Utils.js +47 -0
  301. package/build/src/lib/files/Utils.js.map +1 -1
  302. package/build/src/md/button/internals/base.d.ts +5 -0
  303. package/build/src/md/button/internals/base.d.ts.map +1 -1
  304. package/build/src/md/button/internals/base.js +23 -4
  305. package/build/src/md/button/internals/base.js.map +1 -1
  306. package/build/src/md/dropdown-list/internals/UiDropdownList.d.ts.map +1 -1
  307. package/build/src/md/dropdown-list/internals/UiDropdownList.js +11 -5
  308. package/build/src/md/dropdown-list/internals/UiDropdownList.js.map +1 -1
  309. package/build/src/md/icons/Icons.d.ts +2 -1
  310. package/build/src/md/icons/Icons.d.ts.map +1 -1
  311. package/build/src/md/icons/Icons.js +1 -0
  312. package/build/src/md/icons/Icons.js.map +1 -1
  313. package/build/src/md/input/Input.d.ts.map +1 -1
  314. package/build/src/md/input/Input.js +14 -9
  315. package/build/src/md/input/Input.js.map +1 -1
  316. package/build/src/md/list/internals/List.d.ts +8 -0
  317. package/build/src/md/list/internals/List.d.ts.map +1 -1
  318. package/build/src/md/list/internals/List.js +24 -2
  319. package/build/src/md/list/internals/List.js.map +1 -1
  320. package/build/src/md/list/internals/ListItem.d.ts.map +1 -1
  321. package/build/src/md/list/internals/ListItem.js +8 -4
  322. package/build/src/md/list/internals/ListItem.js.map +1 -1
  323. package/build/src/md/menu/internal/Menu.js +2 -2
  324. package/build/src/md/menu/internal/Menu.js.map +1 -1
  325. package/build/src/md/menu/internal/Menu.styles.d.ts.map +1 -1
  326. package/build/src/md/menu/internal/Menu.styles.js +4 -2
  327. package/build/src/md/menu/internal/Menu.styles.js.map +1 -1
  328. package/build/src/md/select/internals/Select.d.ts +4 -3
  329. package/build/src/md/select/internals/Select.d.ts.map +1 -1
  330. package/build/src/md/select/internals/Select.js +12 -15
  331. package/build/src/md/select/internals/Select.js.map +1 -1
  332. package/build/src/md/select/internals/Select.styles.d.ts.map +1 -1
  333. package/build/src/md/select/internals/Select.styles.js +3 -0
  334. package/build/src/md/select/internals/Select.styles.js.map +1 -1
  335. package/build/src/md/switch/internals/SwitchElement.js +3 -3
  336. package/build/src/md/switch/internals/SwitchElement.js.map +1 -1
  337. package/build/src/modeling/api-create-action-editor.d.ts +17 -0
  338. package/build/src/modeling/api-create-action-editor.d.ts.map +1 -0
  339. package/build/src/modeling/api-create-action-editor.js +34 -0
  340. package/build/src/modeling/api-create-action-editor.js.map +1 -0
  341. package/build/src/modeling/api-delete-action-editor.d.ts +21 -0
  342. package/build/src/modeling/api-delete-action-editor.d.ts.map +1 -0
  343. package/build/src/modeling/api-delete-action-editor.js +38 -0
  344. package/build/src/modeling/api-delete-action-editor.js.map +1 -0
  345. package/build/src/modeling/api-list-action-editor.d.ts +25 -0
  346. package/build/src/modeling/api-list-action-editor.d.ts.map +1 -0
  347. package/build/src/modeling/api-list-action-editor.js +42 -0
  348. package/build/src/modeling/api-list-action-editor.js.map +1 -0
  349. package/build/src/modeling/api-modeling-access-configuration.d.ts +21 -0
  350. package/build/src/modeling/api-modeling-access-configuration.d.ts.map +1 -0
  351. package/build/src/modeling/api-modeling-access-configuration.js +37 -0
  352. package/build/src/modeling/api-modeling-access-configuration.js.map +1 -0
  353. package/build/src/modeling/api-modeling-access.d.ts +19 -0
  354. package/build/src/modeling/api-modeling-access.d.ts.map +1 -0
  355. package/build/src/modeling/api-modeling-access.js +39 -0
  356. package/build/src/modeling/api-modeling-access.js.map +1 -0
  357. package/build/src/modeling/api-modeling-actions.d.ts +20 -0
  358. package/build/src/modeling/api-modeling-actions.d.ts.map +1 -0
  359. package/build/src/modeling/api-modeling-actions.js +40 -0
  360. package/build/src/modeling/api-modeling-actions.js.map +1 -0
  361. package/build/src/modeling/api-modeling-description.d.ts +15 -0
  362. package/build/src/modeling/api-modeling-description.d.ts.map +1 -0
  363. package/build/src/modeling/api-modeling-description.js +35 -0
  364. package/build/src/modeling/api-modeling-description.js.map +1 -0
  365. package/build/src/modeling/api-modeling-entity-card.d.ts +11 -0
  366. package/build/src/modeling/api-modeling-entity-card.d.ts.map +1 -0
  367. package/build/src/modeling/api-modeling-entity-card.js +28 -0
  368. package/build/src/modeling/api-modeling-entity-card.js.map +1 -0
  369. package/build/src/modeling/api-modeling-entity-editor.d.ts +17 -0
  370. package/build/src/modeling/api-modeling-entity-editor.d.ts.map +1 -0
  371. package/build/src/modeling/api-modeling-entity-editor.js +35 -0
  372. package/build/src/modeling/api-modeling-entity-editor.js.map +1 -0
  373. package/build/src/modeling/api-modeling-navigation.d.ts +13 -0
  374. package/build/src/modeling/api-modeling-navigation.d.ts.map +1 -0
  375. package/build/src/modeling/api-modeling-navigation.js +31 -0
  376. package/build/src/modeling/api-modeling-navigation.js.map +1 -0
  377. package/build/src/modeling/api-modeling-rate-limiting.d.ts +19 -0
  378. package/build/src/modeling/api-modeling-rate-limiting.d.ts.map +1 -0
  379. package/build/src/modeling/api-modeling-rate-limiting.js +35 -0
  380. package/build/src/modeling/api-modeling-rate-limiting.js.map +1 -0
  381. package/build/src/modeling/api-modeling-session.d.ts +31 -0
  382. package/build/src/modeling/api-modeling-session.d.ts.map +1 -0
  383. package/build/src/modeling/api-modeling-session.js +51 -0
  384. package/build/src/modeling/api-modeling-session.js.map +1 -0
  385. package/build/src/modeling/api-read-action-editor.d.ts +17 -0
  386. package/build/src/modeling/api-read-action-editor.d.ts.map +1 -0
  387. package/build/src/modeling/api-read-action-editor.js +34 -0
  388. package/build/src/modeling/api-read-action-editor.js.map +1 -0
  389. package/build/src/modeling/api-search-action-editor.d.ts +22 -0
  390. package/build/src/modeling/api-search-action-editor.d.ts.map +1 -0
  391. package/build/src/modeling/api-search-action-editor.js +39 -0
  392. package/build/src/modeling/api-search-action-editor.js.map +1 -0
  393. package/build/src/modeling/api-update-action-editor.d.ts +18 -0
  394. package/build/src/modeling/api-update-action-editor.d.ts.map +1 -0
  395. package/build/src/modeling/api-update-action-editor.js +35 -0
  396. package/build/src/modeling/api-update-action-editor.js.map +1 -0
  397. package/build/src/modeling/data-catalog-browser.d.ts +12 -0
  398. package/build/src/modeling/data-catalog-browser.d.ts.map +1 -0
  399. package/build/src/modeling/data-catalog-browser.js +28 -0
  400. package/build/src/modeling/data-catalog-browser.js.map +1 -0
  401. package/build/src/modeling/dialogs/CalculatedTaxonomy.d.ts +64 -0
  402. package/build/src/modeling/dialogs/CalculatedTaxonomy.d.ts.map +1 -0
  403. package/build/src/modeling/dialogs/CalculatedTaxonomy.js +299 -0
  404. package/build/src/modeling/dialogs/CalculatedTaxonomy.js.map +1 -0
  405. package/build/src/modeling/dialogs/CategoryTaxonomy.d.ts +25 -0
  406. package/build/src/modeling/dialogs/CategoryTaxonomy.d.ts.map +1 -0
  407. package/build/src/modeling/dialogs/CategoryTaxonomy.js +210 -0
  408. package/build/src/modeling/dialogs/CategoryTaxonomy.js.map +1 -0
  409. package/build/src/modeling/dialogs/CurrencyTaxonomy.d.ts +27 -0
  410. package/build/src/modeling/dialogs/CurrencyTaxonomy.d.ts.map +1 -0
  411. package/build/src/modeling/dialogs/CurrencyTaxonomy.js +212 -0
  412. package/build/src/modeling/dialogs/CurrencyTaxonomy.js.map +1 -0
  413. package/build/src/modeling/dialogs/EmailTaxonomy.d.ts +21 -0
  414. package/build/src/modeling/dialogs/EmailTaxonomy.d.ts.map +1 -0
  415. package/build/src/modeling/dialogs/EmailTaxonomy.js +166 -0
  416. package/build/src/modeling/dialogs/EmailTaxonomy.js.map +1 -0
  417. package/build/src/modeling/dialogs/GeospatialCoordinatesTaxonomy.d.ts +34 -0
  418. package/build/src/modeling/dialogs/GeospatialCoordinatesTaxonomy.d.ts.map +1 -0
  419. package/build/src/modeling/dialogs/GeospatialCoordinatesTaxonomy.js +488 -0
  420. package/build/src/modeling/dialogs/GeospatialCoordinatesTaxonomy.js.map +1 -0
  421. package/build/src/modeling/dialogs/HtmlTaxonomy.d.ts +31 -0
  422. package/build/src/modeling/dialogs/HtmlTaxonomy.d.ts.map +1 -0
  423. package/build/src/modeling/dialogs/HtmlTaxonomy.js +331 -0
  424. package/build/src/modeling/dialogs/HtmlTaxonomy.js.map +1 -0
  425. package/build/src/modeling/dialogs/MarkdownTaxonomy.d.ts +29 -0
  426. package/build/src/modeling/dialogs/MarkdownTaxonomy.d.ts.map +1 -0
  427. package/build/src/modeling/dialogs/MarkdownTaxonomy.js +290 -0
  428. package/build/src/modeling/dialogs/MarkdownTaxonomy.js.map +1 -0
  429. package/build/src/modeling/dialogs/PasswordTaxonomy.d.ts +22 -0
  430. package/build/src/modeling/dialogs/PasswordTaxonomy.d.ts.map +1 -0
  431. package/build/src/modeling/dialogs/PasswordTaxonomy.js +206 -0
  432. package/build/src/modeling/dialogs/PasswordTaxonomy.js.map +1 -0
  433. package/build/src/modeling/dialogs/PhoneTaxonomy.d.ts +21 -0
  434. package/build/src/modeling/dialogs/PhoneTaxonomy.d.ts.map +1 -0
  435. package/build/src/modeling/dialogs/PhoneTaxonomy.js +242 -0
  436. package/build/src/modeling/dialogs/PhoneTaxonomy.js.map +1 -0
  437. package/build/src/modeling/dialogs/PublicUniqueNameTaxonomy.d.ts +28 -0
  438. package/build/src/modeling/dialogs/PublicUniqueNameTaxonomy.d.ts.map +1 -0
  439. package/build/src/modeling/dialogs/PublicUniqueNameTaxonomy.js +205 -0
  440. package/build/src/modeling/dialogs/PublicUniqueNameTaxonomy.js.map +1 -0
  441. package/build/src/modeling/dialogs/SkuTaxonomy.d.ts +31 -0
  442. package/build/src/modeling/dialogs/SkuTaxonomy.d.ts.map +1 -0
  443. package/build/src/modeling/dialogs/SkuTaxonomy.js +319 -0
  444. package/build/src/modeling/dialogs/SkuTaxonomy.js.map +1 -0
  445. package/build/src/modeling/dialogs/StatusTaxonomy.d.ts +27 -0
  446. package/build/src/modeling/dialogs/StatusTaxonomy.d.ts.map +1 -0
  447. package/build/src/modeling/dialogs/StatusTaxonomy.js +138 -0
  448. package/build/src/modeling/dialogs/StatusTaxonomy.js.map +1 -0
  449. package/build/src/modeling/dialogs/TagsTaxonomy.d.ts +23 -0
  450. package/build/src/modeling/dialogs/TagsTaxonomy.d.ts.map +1 -0
  451. package/build/src/modeling/dialogs/TagsTaxonomy.js +169 -0
  452. package/build/src/modeling/dialogs/TagsTaxonomy.js.map +1 -0
  453. package/build/src/modeling/dialogs/TaxonomyDialog.d.ts +53 -0
  454. package/build/src/modeling/dialogs/TaxonomyDialog.d.ts.map +1 -0
  455. package/build/src/modeling/dialogs/TaxonomyDialog.js +176 -0
  456. package/build/src/modeling/dialogs/TaxonomyDialog.js.map +1 -0
  457. package/build/src/modeling/dialogs/UrlTaxonomy.d.ts +19 -0
  458. package/build/src/modeling/dialogs/UrlTaxonomy.d.ts.map +1 -0
  459. package/build/src/modeling/dialogs/UrlTaxonomy.js +199 -0
  460. package/build/src/modeling/dialogs/UrlTaxonomy.js.map +1 -0
  461. package/build/src/modeling/dialogs/common.d.ts +3 -0
  462. package/build/src/modeling/dialogs/common.d.ts.map +1 -0
  463. package/build/src/modeling/dialogs/common.js +52 -0
  464. package/build/src/modeling/dialogs/common.js.map +1 -0
  465. package/build/src/modeling/domain-association-editor.d.ts +20 -0
  466. package/build/src/modeling/domain-association-editor.d.ts.map +1 -0
  467. package/build/src/modeling/domain-association-editor.js +38 -0
  468. package/build/src/modeling/domain-association-editor.js.map +1 -0
  469. package/build/src/modeling/domain-auto-fields-dialog.d.ts +23 -0
  470. package/build/src/modeling/domain-auto-fields-dialog.d.ts.map +1 -0
  471. package/build/src/modeling/domain-auto-fields-dialog.js +58 -0
  472. package/build/src/modeling/domain-auto-fields-dialog.js.map +1 -0
  473. package/build/src/modeling/domain-browser.d.ts +19 -0
  474. package/build/src/modeling/domain-browser.d.ts.map +1 -0
  475. package/build/src/modeling/domain-browser.js +37 -0
  476. package/build/src/modeling/domain-browser.js.map +1 -0
  477. package/build/src/modeling/domain-entity-editor.d.ts +26 -0
  478. package/build/src/modeling/domain-entity-editor.d.ts.map +1 -0
  479. package/build/src/modeling/domain-entity-editor.js +46 -0
  480. package/build/src/modeling/domain-entity-editor.js.map +1 -0
  481. package/build/src/modeling/domain-file-import.d.ts +16 -0
  482. package/build/src/modeling/domain-file-import.d.ts.map +1 -0
  483. package/build/src/modeling/domain-file-import.js +34 -0
  484. package/build/src/modeling/domain-file-import.js.map +1 -0
  485. package/build/src/modeling/domain-model-editor.d.ts +13 -0
  486. package/build/src/modeling/domain-model-editor.d.ts.map +1 -0
  487. package/build/src/modeling/domain-model-editor.js +33 -0
  488. package/build/src/modeling/domain-model-editor.js.map +1 -0
  489. package/build/src/modeling/domain-namespace-editor.d.ts +14 -0
  490. package/build/src/modeling/domain-namespace-editor.d.ts.map +1 -0
  491. package/build/src/modeling/domain-namespace-editor.js +34 -0
  492. package/build/src/modeling/domain-namespace-editor.js.map +1 -0
  493. package/build/src/modeling/domain-navigation.d.ts +15 -0
  494. package/build/src/modeling/domain-navigation.d.ts.map +1 -0
  495. package/build/src/modeling/domain-navigation.js +33 -0
  496. package/build/src/modeling/domain-navigation.js.map +1 -0
  497. package/build/src/modeling/domain-property-editor.d.ts +14 -0
  498. package/build/src/modeling/domain-property-editor.d.ts.map +1 -0
  499. package/build/src/modeling/domain-property-editor.js +33 -0
  500. package/build/src/modeling/domain-property-editor.js.map +1 -0
  501. package/build/src/modeling/domain-template-browser.d.ts +14 -0
  502. package/build/src/modeling/domain-template-browser.d.ts.map +1 -0
  503. package/build/src/modeling/domain-template-browser.js +31 -0
  504. package/build/src/modeling/domain-template-browser.js.map +1 -0
  505. package/build/src/modeling/domain-validation-report.d.ts +13 -0
  506. package/build/src/modeling/domain-validation-report.d.ts.map +1 -0
  507. package/build/src/modeling/domain-validation-report.js +30 -0
  508. package/build/src/modeling/domain-validation-report.js.map +1 -0
  509. package/build/src/modeling/internals/ApiCreateActionEditor.d.ts +60 -0
  510. package/build/src/modeling/internals/ApiCreateActionEditor.d.ts.map +1 -0
  511. package/build/src/modeling/internals/ApiCreateActionEditor.js +216 -0
  512. package/build/src/modeling/internals/ApiCreateActionEditor.js.map +1 -0
  513. package/build/src/modeling/internals/ApiDeleteActionEditor.d.ts +70 -0
  514. package/build/src/modeling/internals/ApiDeleteActionEditor.d.ts.map +1 -0
  515. package/build/src/modeling/internals/ApiDeleteActionEditor.js +301 -0
  516. package/build/src/modeling/internals/ApiDeleteActionEditor.js.map +1 -0
  517. package/build/src/modeling/internals/ApiEditor.d.ts +59 -0
  518. package/build/src/modeling/internals/ApiEditor.d.ts.map +1 -0
  519. package/build/src/modeling/internals/ApiEditor.js +119 -0
  520. package/build/src/modeling/internals/ApiEditor.js.map +1 -0
  521. package/build/src/modeling/internals/ApiListActionEditor.d.ts +93 -0
  522. package/build/src/modeling/internals/ApiListActionEditor.d.ts.map +1 -0
  523. package/build/src/modeling/internals/ApiListActionEditor.js +505 -0
  524. package/build/src/modeling/internals/ApiListActionEditor.js.map +1 -0
  525. package/build/src/modeling/internals/ApiModelingAccessConfiguration.d.ts +100 -0
  526. package/build/src/modeling/internals/ApiModelingAccessConfiguration.d.ts.map +1 -0
  527. package/build/src/modeling/internals/ApiModelingAccessConfiguration.js +607 -0
  528. package/build/src/modeling/internals/ApiModelingAccessConfiguration.js.map +1 -0
  529. package/build/src/modeling/internals/ApiModelingAccessScreen.d.ts +36 -0
  530. package/build/src/modeling/internals/ApiModelingAccessScreen.d.ts.map +1 -0
  531. package/build/src/modeling/internals/ApiModelingAccessScreen.js +296 -0
  532. package/build/src/modeling/internals/ApiModelingAccessScreen.js.map +1 -0
  533. package/build/src/modeling/internals/ApiModelingActionsScreen.d.ts +82 -0
  534. package/build/src/modeling/internals/ApiModelingActionsScreen.d.ts.map +1 -0
  535. package/build/src/modeling/internals/ApiModelingActionsScreen.js +298 -0
  536. package/build/src/modeling/internals/ApiModelingActionsScreen.js.map +1 -0
  537. package/build/src/modeling/internals/ApiModelingDescriptionScreen.d.ts +40 -0
  538. package/build/src/modeling/internals/ApiModelingDescriptionScreen.d.ts.map +1 -0
  539. package/build/src/modeling/internals/ApiModelingDescriptionScreen.js +356 -0
  540. package/build/src/modeling/internals/ApiModelingDescriptionScreen.js.map +1 -0
  541. package/build/src/modeling/internals/ApiModelingEntityCard.d.ts +74 -0
  542. package/build/src/modeling/internals/ApiModelingEntityCard.d.ts.map +1 -0
  543. package/build/src/modeling/internals/ApiModelingEntityCard.js +225 -0
  544. package/build/src/modeling/internals/ApiModelingEntityCard.js.map +1 -0
  545. package/build/src/modeling/internals/ApiModelingEntityEditor.d.ts +50 -0
  546. package/build/src/modeling/internals/ApiModelingEntityEditor.d.ts.map +1 -0
  547. package/build/src/modeling/internals/ApiModelingEntityEditor.js +384 -0
  548. package/build/src/modeling/internals/ApiModelingEntityEditor.js.map +1 -0
  549. package/build/src/modeling/internals/ApiModelingNavigation.d.ts +36 -0
  550. package/build/src/modeling/internals/ApiModelingNavigation.d.ts.map +1 -0
  551. package/build/src/modeling/internals/ApiModelingNavigation.js +115 -0
  552. package/build/src/modeling/internals/ApiModelingNavigation.js.map +1 -0
  553. package/build/src/modeling/internals/ApiModelingRateLimiting.d.ts +59 -0
  554. package/build/src/modeling/internals/ApiModelingRateLimiting.d.ts.map +1 -0
  555. package/build/src/modeling/internals/ApiModelingRateLimiting.js +394 -0
  556. package/build/src/modeling/internals/ApiModelingRateLimiting.js.map +1 -0
  557. package/build/src/modeling/internals/ApiModelingScreen.d.ts +23 -0
  558. package/build/src/modeling/internals/ApiModelingScreen.d.ts.map +1 -0
  559. package/build/src/modeling/internals/ApiModelingScreen.js +50 -0
  560. package/build/src/modeling/internals/ApiModelingScreen.js.map +1 -0
  561. package/build/src/modeling/internals/ApiModelingSessionScreen.d.ts +79 -0
  562. package/build/src/modeling/internals/ApiModelingSessionScreen.d.ts.map +1 -0
  563. package/build/src/modeling/internals/ApiModelingSessionScreen.js +708 -0
  564. package/build/src/modeling/internals/ApiModelingSessionScreen.js.map +1 -0
  565. package/build/src/modeling/internals/ApiReadActionEditor.d.ts +60 -0
  566. package/build/src/modeling/internals/ApiReadActionEditor.d.ts.map +1 -0
  567. package/build/src/modeling/internals/ApiReadActionEditor.js +216 -0
  568. package/build/src/modeling/internals/ApiReadActionEditor.js.map +1 -0
  569. package/build/src/modeling/internals/ApiSearchActionEditor.d.ts +75 -0
  570. package/build/src/modeling/internals/ApiSearchActionEditor.d.ts.map +1 -0
  571. package/build/src/modeling/internals/ApiSearchActionEditor.js +340 -0
  572. package/build/src/modeling/internals/ApiSearchActionEditor.js.map +1 -0
  573. package/build/src/modeling/internals/ApiUpdateActionEditor.d.ts +67 -0
  574. package/build/src/modeling/internals/ApiUpdateActionEditor.d.ts.map +1 -0
  575. package/build/src/modeling/internals/ApiUpdateActionEditor.js +301 -0
  576. package/build/src/modeling/internals/ApiUpdateActionEditor.js.map +1 -0
  577. package/build/src/modeling/internals/DataCatalogBrowser.d.ts +108 -0
  578. package/build/src/modeling/internals/DataCatalogBrowser.d.ts.map +1 -0
  579. package/build/src/modeling/internals/DataCatalogBrowser.js +320 -0
  580. package/build/src/modeling/internals/DataCatalogBrowser.js.map +1 -0
  581. package/build/src/modeling/internals/DomainAssociationEditor.d.ts +116 -0
  582. package/build/src/modeling/internals/DomainAssociationEditor.d.ts.map +1 -0
  583. package/build/src/modeling/internals/DomainAssociationEditor.js +688 -0
  584. package/build/src/modeling/internals/DomainAssociationEditor.js.map +1 -0
  585. package/build/src/modeling/internals/DomainAutoFieldsDialog.d.ts +45 -0
  586. package/build/src/modeling/internals/DomainAutoFieldsDialog.d.ts.map +1 -0
  587. package/build/src/modeling/internals/DomainAutoFieldsDialog.js +290 -0
  588. package/build/src/modeling/internals/DomainAutoFieldsDialog.js.map +1 -0
  589. package/build/src/modeling/internals/DomainBrowser.d.ts +176 -0
  590. package/build/src/modeling/internals/DomainBrowser.d.ts.map +1 -0
  591. package/build/src/modeling/internals/DomainBrowser.js +492 -0
  592. package/build/src/modeling/internals/DomainBrowser.js.map +1 -0
  593. package/build/src/modeling/internals/DomainEntityEditor.d.ts +168 -0
  594. package/build/src/modeling/internals/DomainEntityEditor.d.ts.map +1 -0
  595. package/build/src/modeling/internals/DomainEntityEditor.js +1183 -0
  596. package/build/src/modeling/internals/DomainEntityEditor.js.map +1 -0
  597. package/build/src/modeling/internals/DomainFileImport.d.ts +101 -0
  598. package/build/src/modeling/internals/DomainFileImport.d.ts.map +1 -0
  599. package/build/src/modeling/internals/DomainFileImport.js +473 -0
  600. package/build/src/modeling/internals/DomainFileImport.js.map +1 -0
  601. package/build/src/modeling/internals/DomainModelEditor.d.ts +15 -0
  602. package/build/src/modeling/internals/DomainModelEditor.d.ts.map +1 -0
  603. package/build/src/modeling/internals/DomainModelEditor.js +81 -0
  604. package/build/src/modeling/internals/DomainModelEditor.js.map +1 -0
  605. package/build/src/modeling/internals/DomainNamespaceEditor.d.ts +15 -0
  606. package/build/src/modeling/internals/DomainNamespaceEditor.d.ts.map +1 -0
  607. package/build/src/modeling/internals/DomainNamespaceEditor.js +81 -0
  608. package/build/src/modeling/internals/DomainNamespaceEditor.js.map +1 -0
  609. package/build/src/modeling/internals/DomainNavigation.d.ts +352 -0
  610. package/build/src/modeling/internals/DomainNavigation.d.ts.map +1 -0
  611. package/build/src/modeling/internals/DomainNavigation.js +1734 -0
  612. package/build/src/modeling/internals/DomainNavigation.js.map +1 -0
  613. package/build/src/modeling/internals/DomainPropertyEditor.d.ts +289 -0
  614. package/build/src/modeling/internals/DomainPropertyEditor.d.ts.map +1 -0
  615. package/build/src/modeling/internals/DomainPropertyEditor.js +1478 -0
  616. package/build/src/modeling/internals/DomainPropertyEditor.js.map +1 -0
  617. package/build/src/modeling/internals/DomainTemplateBrowser.d.ts +82 -0
  618. package/build/src/modeling/internals/DomainTemplateBrowser.d.ts.map +1 -0
  619. package/build/src/modeling/internals/DomainTemplateBrowser.js +492 -0
  620. package/build/src/modeling/internals/DomainTemplateBrowser.js.map +1 -0
  621. package/build/src/modeling/internals/DomainValidationReport.d.ts +85 -0
  622. package/build/src/modeling/internals/DomainValidationReport.d.ts.map +1 -0
  623. package/build/src/modeling/internals/DomainValidationReport.js +372 -0
  624. package/build/src/modeling/internals/DomainValidationReport.js.map +1 -0
  625. package/build/src/modeling/internals/ModelingElement.d.ts +56 -0
  626. package/build/src/modeling/internals/ModelingElement.d.ts.map +1 -0
  627. package/build/src/modeling/internals/ModelingElement.js +122 -0
  628. package/build/src/modeling/internals/ModelingElement.js.map +1 -0
  629. package/build/src/modeling/internals/styles/AccessConfiguration.styles.d.ts +3 -0
  630. package/build/src/modeling/internals/styles/AccessConfiguration.styles.d.ts.map +1 -0
  631. package/build/src/modeling/internals/styles/AccessConfiguration.styles.js +106 -0
  632. package/build/src/modeling/internals/styles/AccessConfiguration.styles.js.map +1 -0
  633. package/build/src/modeling/internals/styles/ApiCreateActionEditor.styles.d.ts +3 -0
  634. package/build/src/modeling/internals/styles/ApiCreateActionEditor.styles.d.ts.map +1 -0
  635. package/build/src/modeling/internals/styles/ApiCreateActionEditor.styles.js +15 -0
  636. package/build/src/modeling/internals/styles/ApiCreateActionEditor.styles.js.map +1 -0
  637. package/build/src/modeling/internals/styles/ApiDeleteActionEditor.styles.d.ts +3 -0
  638. package/build/src/modeling/internals/styles/ApiDeleteActionEditor.styles.d.ts.map +1 -0
  639. package/build/src/modeling/internals/styles/ApiDeleteActionEditor.styles.js +15 -0
  640. package/build/src/modeling/internals/styles/ApiDeleteActionEditor.styles.js.map +1 -0
  641. package/build/src/modeling/internals/styles/ApiListActionEditor.styles.d.ts +3 -0
  642. package/build/src/modeling/internals/styles/ApiListActionEditor.styles.d.ts.map +1 -0
  643. package/build/src/modeling/internals/styles/ApiListActionEditor.styles.js +15 -0
  644. package/build/src/modeling/internals/styles/ApiListActionEditor.styles.js.map +1 -0
  645. package/build/src/modeling/internals/styles/ApiModelingActionsScreen.styles.d.ts +3 -0
  646. package/build/src/modeling/internals/styles/ApiModelingActionsScreen.styles.d.ts.map +1 -0
  647. package/build/src/modeling/internals/styles/ApiModelingActionsScreen.styles.js +31 -0
  648. package/build/src/modeling/internals/styles/ApiModelingActionsScreen.styles.js.map +1 -0
  649. package/build/src/modeling/internals/styles/ApiModelingEntityCard.d.ts +3 -0
  650. package/build/src/modeling/internals/styles/ApiModelingEntityCard.d.ts.map +1 -0
  651. package/build/src/modeling/internals/styles/ApiModelingEntityCard.js +85 -0
  652. package/build/src/modeling/internals/styles/ApiModelingEntityCard.js.map +1 -0
  653. package/build/src/modeling/internals/styles/ApiModelingEntityEditor.d.ts +3 -0
  654. package/build/src/modeling/internals/styles/ApiModelingEntityEditor.d.ts.map +1 -0
  655. package/build/src/modeling/internals/styles/ApiModelingEntityEditor.js +68 -0
  656. package/build/src/modeling/internals/styles/ApiModelingEntityEditor.js.map +1 -0
  657. package/build/src/modeling/internals/styles/ApiModelingNavigation.styles.d.ts +3 -0
  658. package/build/src/modeling/internals/styles/ApiModelingNavigation.styles.d.ts.map +1 -0
  659. package/build/src/modeling/internals/styles/ApiModelingNavigation.styles.js +23 -0
  660. package/build/src/modeling/internals/styles/ApiModelingNavigation.styles.js.map +1 -0
  661. package/build/src/modeling/internals/styles/ApiReadActionEditor.styles.d.ts +3 -0
  662. package/build/src/modeling/internals/styles/ApiReadActionEditor.styles.d.ts.map +1 -0
  663. package/build/src/modeling/internals/styles/ApiReadActionEditor.styles.js +15 -0
  664. package/build/src/modeling/internals/styles/ApiReadActionEditor.styles.js.map +1 -0
  665. package/build/src/modeling/internals/styles/ApiSearchActionEditor.styles.d.ts +3 -0
  666. package/build/src/modeling/internals/styles/ApiSearchActionEditor.styles.d.ts.map +1 -0
  667. package/build/src/modeling/internals/styles/ApiSearchActionEditor.styles.js +15 -0
  668. package/build/src/modeling/internals/styles/ApiSearchActionEditor.styles.js.map +1 -0
  669. package/build/src/modeling/internals/styles/ApiUpdateActionEditor.styles.d.ts +3 -0
  670. package/build/src/modeling/internals/styles/ApiUpdateActionEditor.styles.d.ts.map +1 -0
  671. package/build/src/modeling/internals/styles/ApiUpdateActionEditor.styles.js +15 -0
  672. package/build/src/modeling/internals/styles/ApiUpdateActionEditor.styles.js.map +1 -0
  673. package/build/src/modeling/internals/styles/DataCatalogBrowser.styles.d.ts +3 -0
  674. package/build/src/modeling/internals/styles/DataCatalogBrowser.styles.d.ts.map +1 -0
  675. package/build/src/modeling/internals/styles/DataCatalogBrowser.styles.js +53 -0
  676. package/build/src/modeling/internals/styles/DataCatalogBrowser.styles.js.map +1 -0
  677. package/build/src/modeling/internals/styles/DomainAutoFieldsDialog.d.ts +3 -0
  678. package/build/src/modeling/internals/styles/DomainAutoFieldsDialog.d.ts.map +1 -0
  679. package/build/src/modeling/internals/styles/DomainAutoFieldsDialog.js +35 -0
  680. package/build/src/modeling/internals/styles/DomainAutoFieldsDialog.js.map +1 -0
  681. package/build/src/modeling/internals/styles/DomainBrowser.styles.d.ts +3 -0
  682. package/build/src/modeling/internals/styles/DomainBrowser.styles.d.ts.map +1 -0
  683. package/build/src/modeling/internals/styles/DomainBrowser.styles.js +26 -0
  684. package/build/src/modeling/internals/styles/DomainBrowser.styles.js.map +1 -0
  685. package/build/src/modeling/internals/styles/DomainEntityEditor.styles.d.ts +3 -0
  686. package/build/src/modeling/internals/styles/DomainEntityEditor.styles.d.ts.map +1 -0
  687. package/build/src/modeling/internals/styles/DomainEntityEditor.styles.js +98 -0
  688. package/build/src/modeling/internals/styles/DomainEntityEditor.styles.js.map +1 -0
  689. package/build/src/modeling/internals/styles/DomainFileImport.styles.d.ts +3 -0
  690. package/build/src/modeling/internals/styles/DomainFileImport.styles.d.ts.map +1 -0
  691. package/build/src/modeling/internals/styles/DomainFileImport.styles.js +100 -0
  692. package/build/src/modeling/internals/styles/DomainFileImport.styles.js.map +1 -0
  693. package/build/src/modeling/internals/styles/DomainModelEditor.styles.d.ts +3 -0
  694. package/build/src/modeling/internals/styles/DomainModelEditor.styles.d.ts.map +1 -0
  695. package/build/src/modeling/internals/styles/DomainModelEditor.styles.js +7 -0
  696. package/build/src/modeling/internals/styles/DomainModelEditor.styles.js.map +1 -0
  697. package/build/src/modeling/internals/styles/DomainNamespaceEditor.styles.d.ts +3 -0
  698. package/build/src/modeling/internals/styles/DomainNamespaceEditor.styles.d.ts.map +1 -0
  699. package/build/src/modeling/internals/styles/DomainNamespaceEditor.styles.js +7 -0
  700. package/build/src/modeling/internals/styles/DomainNamespaceEditor.styles.js.map +1 -0
  701. package/build/src/modeling/internals/styles/DomainNavigation.styles.d.ts +3 -0
  702. package/build/src/modeling/internals/styles/DomainNavigation.styles.d.ts.map +1 -0
  703. package/build/src/modeling/internals/styles/DomainNavigation.styles.js +343 -0
  704. package/build/src/modeling/internals/styles/DomainNavigation.styles.js.map +1 -0
  705. package/build/src/modeling/internals/styles/DomainPropertyEditor.styles.d.ts +3 -0
  706. package/build/src/modeling/internals/styles/DomainPropertyEditor.styles.d.ts.map +1 -0
  707. package/build/src/modeling/internals/styles/DomainPropertyEditor.styles.js +18 -0
  708. package/build/src/modeling/internals/styles/DomainPropertyEditor.styles.js.map +1 -0
  709. package/build/src/modeling/internals/styles/DomainTemplateBrowser.styles.d.ts +3 -0
  710. package/build/src/modeling/internals/styles/DomainTemplateBrowser.styles.d.ts.map +1 -0
  711. package/build/src/modeling/internals/styles/DomainTemplateBrowser.styles.js +553 -0
  712. package/build/src/modeling/internals/styles/DomainTemplateBrowser.styles.js.map +1 -0
  713. package/build/src/modeling/internals/styles/DomainValidationReport.styles.d.ts +3 -0
  714. package/build/src/modeling/internals/styles/DomainValidationReport.styles.d.ts.map +1 -0
  715. package/build/src/modeling/internals/styles/DomainValidationReport.styles.js +75 -0
  716. package/build/src/modeling/internals/styles/DomainValidationReport.styles.js.map +1 -0
  717. package/build/src/modeling/internals/styles/EditorCommon.styles.d.ts +8 -0
  718. package/build/src/modeling/internals/styles/EditorCommon.styles.d.ts.map +1 -0
  719. package/build/src/modeling/internals/styles/EditorCommon.styles.js +141 -0
  720. package/build/src/modeling/internals/styles/EditorCommon.styles.js.map +1 -0
  721. package/build/src/modeling/internals/styles/RateLimiting.styles.d.ts +3 -0
  722. package/build/src/modeling/internals/styles/RateLimiting.styles.d.ts.map +1 -0
  723. package/build/src/modeling/internals/styles/RateLimiting.styles.js +83 -0
  724. package/build/src/modeling/internals/styles/RateLimiting.styles.js.map +1 -0
  725. package/build/src/modeling/internals/styles/api.styles.d.ts +3 -0
  726. package/build/src/modeling/internals/styles/api.styles.d.ts.map +1 -0
  727. package/build/src/modeling/internals/styles/api.styles.js +146 -0
  728. package/build/src/modeling/internals/styles/api.styles.js.map +1 -0
  729. package/build/src/modeling/internals/styles/form_styles.d.ts +3 -0
  730. package/build/src/modeling/internals/styles/form_styles.d.ts.map +1 -0
  731. package/build/src/modeling/internals/styles/form_styles.js +107 -0
  732. package/build/src/modeling/internals/styles/form_styles.js.map +1 -0
  733. package/build/src/modeling/internals/styles/learning.styles.d.ts +3 -0
  734. package/build/src/modeling/internals/styles/learning.styles.d.ts.map +1 -0
  735. package/build/src/modeling/internals/styles/learning.styles.js +40 -0
  736. package/build/src/modeling/internals/styles/learning.styles.js.map +1 -0
  737. package/build/src/modeling/lib/access_helpers.d.ts +8 -0
  738. package/build/src/modeling/lib/access_helpers.d.ts.map +1 -0
  739. package/build/src/modeling/lib/access_helpers.js +42 -0
  740. package/build/src/modeling/lib/access_helpers.js.map +1 -0
  741. package/build/src/modeling/lib/formula_parser.d.ts +57 -0
  742. package/build/src/modeling/lib/formula_parser.d.ts.map +1 -0
  743. package/build/src/modeling/lib/formula_parser.js +162 -0
  744. package/build/src/modeling/lib/formula_parser.js.map +1 -0
  745. package/build/src/modeling/lib/ui_mapping.d.ts +60 -0
  746. package/build/src/modeling/lib/ui_mapping.d.ts.map +1 -0
  747. package/build/src/modeling/lib/ui_mapping.js +244 -0
  748. package/build/src/modeling/lib/ui_mapping.js.map +1 -0
  749. package/build/src/modeling/lib/validators.d.ts +15 -0
  750. package/build/src/modeling/lib/validators.d.ts.map +1 -0
  751. package/build/src/modeling/lib/validators.js +26 -0
  752. package/build/src/modeling/lib/validators.js.map +1 -0
  753. package/build/src/modeling/types.d.ts +261 -0
  754. package/build/src/modeling/types.d.ts.map +1 -0
  755. package/build/src/modeling/types.js +2 -0
  756. package/build/src/modeling/types.js.map +1 -0
  757. package/build/src/providers/organization.d.ts +9 -0
  758. package/build/src/providers/organization.d.ts.map +1 -0
  759. package/build/src/providers/organization.js +6 -0
  760. package/build/src/providers/organization.js.map +1 -0
  761. package/build/src/providers/organizations.d.ts +9 -0
  762. package/build/src/providers/organizations.d.ts.map +1 -0
  763. package/build/src/providers/organizations.js +6 -0
  764. package/build/src/providers/organizations.js.map +1 -0
  765. package/build/src/providers/user.d.ts +9 -0
  766. package/build/src/providers/user.d.ts.map +1 -0
  767. package/build/src/providers/user.js +6 -0
  768. package/build/src/providers/user.js.map +1 -0
  769. package/build/src/services/CacheService.d.ts +29 -0
  770. package/build/src/services/CacheService.d.ts.map +1 -0
  771. package/build/src/services/CacheService.js +47 -0
  772. package/build/src/services/CacheService.js.map +1 -0
  773. package/build/src/services/ConfigurationService.d.ts +12 -0
  774. package/build/src/services/ConfigurationService.d.ts.map +1 -0
  775. package/build/src/services/ConfigurationService.js +23 -0
  776. package/build/src/services/ConfigurationService.js.map +1 -0
  777. package/build/src/services/LoggingService.d.ts +29 -0
  778. package/build/src/services/LoggingService.d.ts.map +1 -0
  779. package/build/src/services/LoggingService.js +49 -0
  780. package/build/src/services/LoggingService.js.map +1 -0
  781. package/build/src/services/OrganizationService.d.ts +79 -0
  782. package/build/src/services/OrganizationService.d.ts.map +1 -0
  783. package/build/src/services/OrganizationService.js +222 -0
  784. package/build/src/services/OrganizationService.js.map +1 -0
  785. package/build/src/services/SdkService.d.ts +22 -0
  786. package/build/src/services/SdkService.d.ts.map +1 -0
  787. package/build/src/services/SdkService.js +46 -0
  788. package/build/src/services/SdkService.js.map +1 -0
  789. package/build/src/services/TransmitService.d.ts +14 -0
  790. package/build/src/services/TransmitService.d.ts.map +1 -0
  791. package/build/src/services/TransmitService.js +23 -0
  792. package/build/src/services/TransmitService.js.map +1 -0
  793. package/build/src/services/UserCacheService.d.ts +22 -0
  794. package/build/src/services/UserCacheService.d.ts.map +1 -0
  795. package/build/src/services/UserCacheService.js +49 -0
  796. package/build/src/services/UserCacheService.js.map +1 -0
  797. package/build/src/services/UserService.d.ts +50 -0
  798. package/build/src/services/UserService.d.ts.map +1 -0
  799. package/build/src/services/UserService.js +199 -0
  800. package/build/src/services/UserService.js.map +1 -0
  801. package/build/src/services/api_service.d.ts +22 -0
  802. package/build/src/services/api_service.d.ts.map +1 -0
  803. package/build/src/services/api_service.js +4 -0
  804. package/build/src/services/api_service.js.map +1 -0
  805. package/build/tsconfig.tsbuildinfo +1 -1
  806. package/lit-plugin.log +7904 -0
  807. package/package.json +20 -9
  808. package/src/builders/DialogBuilder.ts +474 -0
  809. package/src/builders/README.md +272 -0
  810. package/src/cache/Cache.ts +265 -0
  811. package/src/core/Model.ts +53 -119
  812. package/src/core/ServiceManager.ts +1 -0
  813. package/src/data/BreadcrumbsModel.ts +85 -0
  814. package/src/data/DataCatalogModel.ts +199 -0
  815. package/src/data/DomainBrowserModel.ts +118 -0
  816. package/src/data/FileModel.ts +76 -0
  817. package/src/data/FileShareModel.ts +258 -0
  818. package/src/data/FilesModel.ts +226 -0
  819. package/src/data/InvitationModel.ts +69 -0
  820. package/src/data/PatchableFileModel.ts +293 -0
  821. package/src/data/PatchableLiveDataContentModel.ts +34 -0
  822. package/src/data/PatchableRawContentModel.ts +43 -0
  823. package/src/data/TrashModel.ts +125 -0
  824. package/src/data/UserModel.ts +102 -0
  825. package/src/data/UsersModel.ts +325 -0
  826. package/src/data/retry_logic.ts +111 -0
  827. package/src/elements/autocomplete/internals/autocomplete.ts +5 -2
  828. package/src/elements/data-table/DataTable.styles.ts +7 -2
  829. package/src/elements/data-table/DataTable.ts +24 -5
  830. package/src/elements/data-table/data-catalog-table.ts +22 -0
  831. package/src/elements/data-table/filesystem-table.ts +24 -0
  832. package/src/elements/data-table/internals/DataCatalog.styles.ts +29 -0
  833. package/src/elements/data-table/internals/DataCatalogTable.ts +234 -0
  834. package/src/elements/data-table/internals/Filesystem.styles.ts +23 -0
  835. package/src/elements/data-table/internals/FilesystemDataTable.ts +227 -0
  836. package/src/elements/data-table/internals/TrashDataTable.ts +157 -0
  837. package/src/elements/data-table/internals/UserData.styles.ts +16 -0
  838. package/src/elements/data-table/internals/UsersDataTable.ts +238 -0
  839. package/src/elements/data-table/trash-table.ts +16 -0
  840. package/src/elements/data-table/users-table.ts +16 -0
  841. package/src/elements/file-system/internals/Breadcrumbs.ts +0 -3
  842. package/src/elements/file-system/internals/QuickApiFilesystem.styles.ts +49 -0
  843. package/src/elements/file-system/internals/QuickApiFilesystem.ts +452 -0
  844. package/src/elements/file-system/internals/ShareFile.styles.ts +98 -0
  845. package/src/elements/file-system/internals/ShareFile.ts +540 -0
  846. package/src/elements/file-system/quick-api-filesystem.ts +16 -0
  847. package/src/elements/file-system/share-file.ts +26 -0
  848. package/src/elements/file-system/ui-breadcrumbs.ts +3 -0
  849. package/src/elements/layout/SplitItem.ts +0 -8
  850. package/src/elements/navigation/internals/Navigation.ts +9 -4
  851. package/src/elements/search-input/internals/input.styles.ts +38 -0
  852. package/src/elements/search-input/internals/input.ts +74 -0
  853. package/src/elements/search-input/search-input.ts +18 -0
  854. package/src/elements/setup/Readme.md +3 -0
  855. package/src/elements/setup/internals/InvitationScreen.styles.ts +3 -0
  856. package/src/elements/setup/internals/InvitationScreen.ts +418 -0
  857. package/src/elements/setup/internals/LoginScreen.styles.ts +3 -0
  858. package/src/elements/setup/internals/LoginScreen.ts +136 -0
  859. package/src/elements/setup/internals/OrganizationCreateScreen.styles.ts +3 -0
  860. package/src/elements/setup/internals/OrganizationCreateScreen.ts +170 -0
  861. package/src/elements/setup/internals/OrganizationSelectionScreen.styles.ts +3 -0
  862. package/src/elements/setup/internals/OrganizationSelectionScreen.ts +100 -0
  863. package/src/elements/setup/internals/OrganizationSelector.styles.ts +3 -0
  864. package/src/elements/setup/internals/OrganizationSelector.ts +133 -0
  865. package/src/elements/setup/internals/common.styles.ts +72 -0
  866. package/src/elements/setup/internals/icons.ts +43 -0
  867. package/src/elements/setup/invitation-screen.ts +20 -0
  868. package/src/elements/setup/login-screen.ts +19 -0
  869. package/src/elements/setup/organization-create-screen.ts +20 -0
  870. package/src/elements/setup/organization-selection-screen.ts +21 -0
  871. package/src/elements/setup/organization-selector.ts +38 -0
  872. package/src/elements/user/internals/UserAvatar.ts +7 -2
  873. package/src/events/DomainEvents.ts +80 -0
  874. package/src/events/EventTypes.ts +8 -0
  875. package/src/events/Events.ts +2 -0
  876. package/src/exceptions/builder.ts +28 -0
  877. package/src/help/README.md +99 -0
  878. package/src/help/help_coordinator.ts +168 -0
  879. package/src/help/help_panel.styles.ts +196 -0
  880. package/src/help/help_panel.ts +329 -0
  881. package/src/help/help_service_controller.ts +338 -0
  882. package/src/help/help_topic.ts +61 -0
  883. package/src/help/index.ts +8 -0
  884. package/src/help/render.ts +41 -0
  885. package/src/lib/Dom.ts +36 -0
  886. package/src/lib/files/Utils.ts +65 -0
  887. package/src/md/button/internals/base.ts +15 -3
  888. package/src/md/dropdown-list/internals/UiDropdownList.ts +11 -4
  889. package/src/md/icons/Icons.ts +8 -0
  890. package/src/md/input/Input.ts +14 -9
  891. package/src/md/list/internals/List.ts +17 -1
  892. package/src/md/list/internals/ListItem.ts +6 -4
  893. package/src/md/menu/internal/Menu.styles.ts +4 -2
  894. package/src/md/menu/internal/Menu.ts +2 -2
  895. package/src/md/select/internals/Select.styles.ts +3 -0
  896. package/src/md/select/internals/Select.ts +16 -18
  897. package/src/md/switch/internals/SwitchElement.ts +3 -3
  898. package/src/modeling/api-create-action-editor.ts +23 -0
  899. package/src/modeling/api-delete-action-editor.ts +27 -0
  900. package/src/modeling/api-list-action-editor.ts +31 -0
  901. package/src/modeling/api-modeling-access-configuration.ts +28 -0
  902. package/src/modeling/api-modeling-access.ts +27 -0
  903. package/src/modeling/api-modeling-actions.ts +30 -0
  904. package/src/modeling/api-modeling-description.ts +23 -0
  905. package/src/modeling/api-modeling-entity-card.ts +16 -0
  906. package/src/modeling/api-modeling-entity-editor.ts +24 -0
  907. package/src/modeling/api-modeling-navigation.ts +19 -0
  908. package/src/modeling/api-modeling-rate-limiting.ts +26 -0
  909. package/src/modeling/api-modeling-session.ts +39 -0
  910. package/src/modeling/api-read-action-editor.ts +23 -0
  911. package/src/modeling/api-search-action-editor.ts +28 -0
  912. package/src/modeling/api-update-action-editor.ts +24 -0
  913. package/src/modeling/data-catalog-browser.ts +18 -0
  914. package/src/modeling/dialogs/CalculatedTaxonomy.ts +305 -0
  915. package/src/modeling/dialogs/CategoryTaxonomy.ts +210 -0
  916. package/src/modeling/dialogs/CurrencyTaxonomy.ts +209 -0
  917. package/src/modeling/dialogs/EmailTaxonomy.ts +163 -0
  918. package/src/modeling/dialogs/GeospatialCoordinatesTaxonomy.ts +500 -0
  919. package/src/modeling/dialogs/HtmlTaxonomy.ts +333 -0
  920. package/src/modeling/dialogs/MarkdownTaxonomy.ts +290 -0
  921. package/src/modeling/dialogs/PasswordTaxonomy.ts +201 -0
  922. package/src/modeling/dialogs/PhoneTaxonomy.ts +238 -0
  923. package/src/modeling/dialogs/PublicUniqueNameTaxonomy.ts +212 -0
  924. package/src/modeling/dialogs/SkuTaxonomy.ts +321 -0
  925. package/src/modeling/dialogs/StatusTaxonomy.ts +132 -0
  926. package/src/modeling/dialogs/TagsTaxonomy.ts +163 -0
  927. package/src/modeling/dialogs/TaxonomyDialog.ts +183 -0
  928. package/src/modeling/dialogs/UrlTaxonomy.ts +194 -0
  929. package/src/modeling/dialogs/common.ts +52 -0
  930. package/src/modeling/domain-association-editor.ts +26 -0
  931. package/src/modeling/domain-auto-fields-dialog.ts +55 -0
  932. package/src/modeling/domain-browser.ts +25 -0
  933. package/src/modeling/domain-entity-editor.ts +34 -0
  934. package/src/modeling/domain-file-import.ts +22 -0
  935. package/src/modeling/domain-model-editor.ts +21 -0
  936. package/src/modeling/domain-namespace-editor.ts +22 -0
  937. package/src/modeling/domain-navigation.ts +21 -0
  938. package/src/modeling/domain-property-editor.ts +21 -0
  939. package/src/modeling/domain-template-browser.ts +19 -0
  940. package/src/modeling/domain-validation-report.ts +18 -0
  941. package/src/modeling/internals/ApiCreateActionEditor.ts +177 -0
  942. package/src/modeling/internals/ApiDeleteActionEditor.ts +269 -0
  943. package/src/modeling/internals/ApiEditor.ts +91 -0
  944. package/src/modeling/internals/ApiListActionEditor.ts +479 -0
  945. package/src/modeling/internals/ApiModelingAccessConfiguration.ts +606 -0
  946. package/src/modeling/internals/ApiModelingAccessScreen.ts +279 -0
  947. package/src/modeling/internals/ApiModelingActionsScreen.ts +333 -0
  948. package/src/modeling/internals/ApiModelingDescriptionScreen.ts +342 -0
  949. package/src/modeling/internals/ApiModelingEntityCard.ts +210 -0
  950. package/src/modeling/internals/ApiModelingEntityEditor.ts +363 -0
  951. package/src/modeling/internals/ApiModelingNavigation.ts +87 -0
  952. package/src/modeling/internals/ApiModelingRateLimiting.ts +389 -0
  953. package/src/modeling/internals/ApiModelingScreen.ts +43 -0
  954. package/src/modeling/internals/ApiModelingSessionScreen.ts +725 -0
  955. package/src/modeling/internals/ApiReadActionEditor.ts +177 -0
  956. package/src/modeling/internals/ApiSearchActionEditor.ts +302 -0
  957. package/src/modeling/internals/ApiUpdateActionEditor.ts +266 -0
  958. package/src/modeling/internals/DataCatalogBrowser.ts +286 -0
  959. package/src/modeling/internals/DomainAssociationEditor.ts +722 -0
  960. package/src/modeling/internals/DomainAutoFieldsDialog.ts +281 -0
  961. package/src/modeling/internals/DomainBrowser.ts +499 -0
  962. package/src/modeling/internals/DomainEntityEditor.ts +1245 -0
  963. package/src/modeling/internals/DomainFileImport.ts +482 -0
  964. package/src/modeling/internals/DomainModelEditor.ts +87 -0
  965. package/src/modeling/internals/DomainNamespaceEditor.ts +87 -0
  966. package/src/modeling/internals/DomainNavigation.ts +1887 -0
  967. package/src/modeling/internals/DomainPropertyEditor.ts +1506 -0
  968. package/src/modeling/internals/DomainTemplateBrowser.ts +500 -0
  969. package/src/modeling/internals/DomainValidationReport.ts +291 -0
  970. package/src/modeling/internals/ModelingElement.ts +95 -0
  971. package/src/modeling/internals/styles/AccessConfiguration.styles.ts +106 -0
  972. package/src/modeling/internals/styles/ApiCreateActionEditor.styles.ts +15 -0
  973. package/src/modeling/internals/styles/ApiDeleteActionEditor.styles.ts +15 -0
  974. package/src/modeling/internals/styles/ApiListActionEditor.styles.ts +15 -0
  975. package/src/modeling/internals/styles/ApiModelingActionsScreen.styles.ts +31 -0
  976. package/src/modeling/internals/styles/ApiModelingEntityCard.ts +85 -0
  977. package/src/modeling/internals/styles/ApiModelingEntityEditor.ts +68 -0
  978. package/src/modeling/internals/styles/ApiModelingNavigation.styles.ts +23 -0
  979. package/src/modeling/internals/styles/ApiReadActionEditor.styles.ts +15 -0
  980. package/src/modeling/internals/styles/ApiSearchActionEditor.styles.ts +15 -0
  981. package/src/modeling/internals/styles/ApiUpdateActionEditor.styles.ts +15 -0
  982. package/src/modeling/internals/styles/DataCatalogBrowser.styles.ts +53 -0
  983. package/src/modeling/internals/styles/DomainAutoFieldsDialog.ts +35 -0
  984. package/src/modeling/internals/styles/DomainBrowser.styles.ts +26 -0
  985. package/src/modeling/internals/styles/DomainEntityEditor.styles.ts +98 -0
  986. package/src/modeling/internals/styles/DomainFileImport.styles.ts +100 -0
  987. package/src/modeling/internals/styles/DomainModelEditor.styles.ts +7 -0
  988. package/src/modeling/internals/styles/DomainNamespaceEditor.styles.ts +7 -0
  989. package/src/modeling/internals/styles/DomainNavigation.styles.ts +343 -0
  990. package/src/modeling/internals/styles/DomainPropertyEditor.styles.ts +18 -0
  991. package/src/modeling/internals/styles/DomainTemplateBrowser.styles.ts +553 -0
  992. package/src/modeling/internals/styles/DomainValidationReport.styles.ts +75 -0
  993. package/src/modeling/internals/styles/EditorCommon.styles.ts +141 -0
  994. package/src/modeling/internals/styles/RateLimiting.styles.ts +83 -0
  995. package/src/modeling/internals/styles/api.styles.ts +146 -0
  996. package/src/modeling/internals/styles/form_styles.ts +107 -0
  997. package/src/modeling/internals/styles/learning.styles.ts +40 -0
  998. package/src/modeling/lib/access_helpers.ts +57 -0
  999. package/src/modeling/lib/formula_parser.ts +187 -0
  1000. package/src/modeling/lib/ui_mapping.ts +258 -0
  1001. package/src/modeling/lib/validators.ts +30 -0
  1002. package/src/modeling/types.ts +279 -0
  1003. package/src/providers/organization.ts +7 -0
  1004. package/src/providers/organizations.ts +7 -0
  1005. package/src/providers/user.ts +7 -0
  1006. package/src/services/CacheService.ts +56 -0
  1007. package/src/services/ConfigurationService.ts +28 -0
  1008. package/src/services/LoggingService.ts +60 -0
  1009. package/src/services/OrganizationService.ts +238 -0
  1010. package/src/services/SdkService.ts +57 -0
  1011. package/src/services/TransmitService.ts +28 -0
  1012. package/src/services/UserCacheService.ts +51 -0
  1013. package/src/services/UserService.ts +214 -0
  1014. package/src/services/api_service.ts +24 -0
  1015. package/tsconfig.json +19 -4
@@ -0,0 +1,1506 @@
1
+ import { nothing, html, type PropertyValues, type TemplateResult } from 'lit'
2
+ import { state } from 'lit/decorators.js'
3
+ import { ifDefined } from 'lit/directives/if-defined.js'
4
+ import { live } from 'lit/directives/live.js'
5
+ import type { UiCheckboxElement } from '../../md/checkbox/ui-checkbox.js'
6
+ import { getFormatInfo, getPropertyInputOptions } from '../lib/ui_mapping.js'
7
+ import { DomainProperty } from '@api-client/core/modeling/DomainProperty.js'
8
+ import { cancelEvent } from '@api-client/core/lib/events/Utils.js'
9
+ import { BinaryFormats, type DomainPropertyFormat, NumberFormats } from '@api-client/core/modeling/DataFormat.js'
10
+ import {
11
+ PropertySemantic,
12
+ SemanticCategory,
13
+ SemanticScope,
14
+ SemanticType,
15
+ getSemanticsByCategory,
16
+ } from '@api-client/core/modeling/Semantics.js'
17
+ import { ModelingElement } from './ModelingElement.js'
18
+ import type { DomainPropertyInputConfig } from '../types.js'
19
+ import { renderHelp } from '../../help/render.js'
20
+ import type { TaxonomyDialog } from '../dialogs/TaxonomyDialog.js'
21
+ import { PasswordTaxonomy } from '../dialogs/PasswordTaxonomy.js'
22
+ import { MarkdownTaxonomy } from '../dialogs/MarkdownTaxonomy.js'
23
+ import { HtmlTaxonomy } from '../dialogs/HtmlTaxonomy.js'
24
+ import { CurrencyTaxonomy } from '../dialogs/CurrencyTaxonomy.js'
25
+ import { StatusTaxonomy } from '../dialogs/StatusTaxonomy.js'
26
+ import { SkuTaxonomy } from '../dialogs/SkuTaxonomy.js'
27
+ import { EmailTaxonomy } from '../dialogs/EmailTaxonomy.js'
28
+ import { PhoneTaxonomy } from '../dialogs/PhoneTaxonomy.js'
29
+ import { UrlTaxonomy } from '../dialogs/UrlTaxonomy.js'
30
+ import { PublicUniqueNameTaxonomy } from '../dialogs/PublicUniqueNameTaxonomy.js'
31
+ import { GeospatialCoordinatesTaxonomy } from '../dialogs/GeospatialCoordinatesTaxonomy.js'
32
+ import { CalculatedTaxonomy } from '../dialogs/CalculatedTaxonomy.js'
33
+ import type { UiSelectElement } from '../../md/select/ui-select.js'
34
+
35
+ /**
36
+ * Dispatched when the user deletes a property.
37
+ *
38
+ * @event DomainPropertyEditor#delete
39
+ * @type {CustomEvent}
40
+ * @property {object} detail - The event details.
41
+ * @property {string} detail.key - The key of the parent entity to navigate to.
42
+ * @property {string} detail.kind - The kind of the parent entity. It will always be `DomainEntityKind`.
43
+ */
44
+
45
+ /**
46
+ * `DomainPropertyEditor` is a LitElement-based web component that provides a user interface for editing
47
+ * properties of a `DomainProperty` object. It allows users to modify various aspects of a data property,
48
+ * including its metadata, attributes, schema, and enum values.
49
+ *
50
+ * ## Features
51
+ *
52
+ * - **Metadata Editing**: Allows editing of the property's name, display name, and description.
53
+ * - **Attribute Management**: Provides controls for setting data type, format, and other attributes
54
+ * like `required`, `multiple`, `primary`, `index`, and `readOnly`.
55
+ * - **Schema Definition**: Enables defining the schema for the property, including default values
56
+ * and enum values.
57
+ * - **Enum Editor**: Supports enabling and disabling an enum editor for predefined values, with
58
+ * options to add, update, and delete enum values.
59
+ * - **Default Value Setting**: Allows setting a default value for the property, either as a literal
60
+ * value or a function.
61
+ * - **Data Type and Format Selection**: Provides dropdowns for selecting the data type and format
62
+ * of the property.
63
+ * - **Validation**: Includes input validation to ensure data integrity.
64
+ * - **Change Notification**: Dispatches a `change` event whenever a property is modified.
65
+ *
66
+ * ## Usage
67
+ *
68
+ * The `DomainPropertyEditor` is typically used within a larger application that manages data models.
69
+ *
70
+ * ```html
71
+ * <domain-property-editor .root="${this.domainNamespace}" selected="property-key"></domain-property-editor>
72
+ * ```
73
+ *
74
+ * @fires DomainPropertyEditor#delete - A custom event with the `key` and `type` when a property was selected.
75
+ */
76
+ export default class DomainPropertyEditor extends ModelingElement {
77
+ /**
78
+ * The `DomainProperty` object being edited.
79
+ * This is updated when the `selected` property changes.
80
+ */
81
+ @state() private accessor domainElement: DomainProperty | undefined
82
+ /**
83
+ * Indicates whether the default value input field is visible.
84
+ * This is set to `true` when the user selects the "Literal" option in the default value select.
85
+ */
86
+ @state() private accessor hasDefaultValueInput = false
87
+ /**
88
+ * Whether the enum options are enabled.
89
+ * When `true` the user can add, update, and delete enum values.
90
+ */
91
+ @state() private accessor enumEnabled = false
92
+
93
+ /**
94
+ * A fields that holds in memory enum values after disabling the enum editor.
95
+ * When that happens the values are removed from the model but kept in memory.
96
+ * As long as the property stays the same, the user can reopen the enum editor
97
+ * and restore the previous value.
98
+ */
99
+ protected cachedEnumValues: string[] | undefined
100
+ /**
101
+ * A cached value of the schema-sensitive input configuration.
102
+ * These are the default value and enum value inputs.
103
+ */
104
+ protected cachedSchemaInputConfig?: DomainPropertyInputConfig
105
+
106
+ /**
107
+ * A configuration for a schema-sensitive HTML input.
108
+ */
109
+ get schemaInputConfig(): DomainPropertyInputConfig {
110
+ return this.cachedSchemaInputConfig || { type: 'text' }
111
+ }
112
+
113
+ protected override willUpdate(cp: PropertyValues<this>): void {
114
+ if (cp.has('selected') || cp.has('root') || cp.has('namespace')) {
115
+ this.computeProperty()
116
+ }
117
+ super.willUpdate(cp)
118
+ }
119
+
120
+ protected async computeProperty(): Promise<void> {
121
+ const { root, selected, namespace } = this
122
+ this.domainElement = undefined
123
+ if (!root || !selected) {
124
+ return
125
+ }
126
+ await this.updateComplete
127
+ const value = root.findProperty(selected, namespace)
128
+ this.domainElement = value
129
+ const schema = value?.ensureSchema()
130
+ if (schema && schema.defaultValue) {
131
+ this.hasDefaultValueInput = schema.defaultValue.type === 'literal'
132
+ } else {
133
+ this.hasDefaultValueInput = false
134
+ }
135
+ if (schema && schema.enum) {
136
+ this.enumEnabled = true
137
+ } else {
138
+ this.enumEnabled = false
139
+ }
140
+ this.cachedEnumValues = undefined
141
+ this.updateSchemaInputConfig()
142
+ }
143
+
144
+ /**
145
+ * Toggles the state of the enum editor.
146
+ *
147
+ * If the editor was disabled, it enables it and vice-versa.
148
+ *
149
+ * It ensures the property has the schema and then:
150
+ * - When enabling:
151
+ * - If `cachedEnumValues` is set it restores them.
152
+ * - Otherwise it sets the default enum value `['']`
153
+ * - When disabling:
154
+ * - It sets the `cachedEnumValues` to the current enum value.
155
+ * - Removes the enum from the model
156
+ * - Requests the model update.
157
+ *
158
+ * @fires change - Dispatched when the enum editor state changes.
159
+ */
160
+ toggleEnum(): void {
161
+ const { domainElement } = this
162
+ if (!domainElement) {
163
+ return
164
+ }
165
+ this.enumEnabled = !this.enumEnabled
166
+ const schema = domainElement.ensureSchema()
167
+ if (!this.enumEnabled) {
168
+ this.cachedEnumValues = schema.enum
169
+ schema.enum = undefined
170
+ } else if (this.cachedEnumValues) {
171
+ schema.enum = this.cachedEnumValues || ['']
172
+ this.cachedEnumValues = undefined
173
+ } else {
174
+ schema.enum = ['']
175
+ }
176
+ this.requestUpdate()
177
+ this.notifyChange()
178
+ }
179
+
180
+ /**
181
+ * Updates an enum value.
182
+ *
183
+ * @param index The index at which to update the value.
184
+ * @param value The value to set. Empty string is acceptable. The type is determined by the property type.
185
+ * @throws {RangeError} When the index is out of bounds.
186
+ * @throws {TypeError} When the value is not a string.
187
+ * @fires change - Dispatched when the enum value is updated.
188
+ */
189
+ updateEnum(index: number, value: string): void {
190
+ if (index < 0) {
191
+ throw new RangeError(`Enum array index cannot be negative.`)
192
+ }
193
+ if (typeof value !== 'string') {
194
+ throw new TypeError(`Expected a string for the enum value, got ${typeof value}.`)
195
+ }
196
+ const { domainElement } = this
197
+ if (!domainElement) {
198
+ return
199
+ }
200
+ const schema = domainElement.ensureSchema()
201
+ if (!schema.enum) {
202
+ schema.enum = [value]
203
+ } else {
204
+ if (schema.enum.length - 1 < index) {
205
+ throw new RangeError(`Invalid enum array index: ${index}.`)
206
+ }
207
+ schema.enum[index] = value
208
+ }
209
+ this.notifyChange()
210
+ }
211
+
212
+ /**
213
+ * Adds a new enum value to the property.
214
+ *
215
+ * @param value The value to add. Defaults to an empty string.
216
+ * @throws {TypeError} When the value is not a string.
217
+ * @fires change - Dispatched when a new enum value is added.
218
+ */
219
+ addEnum(value = ''): void {
220
+ if (typeof value !== 'string') {
221
+ throw new TypeError(`Expected a string for the enum value, got ${typeof value}.`)
222
+ }
223
+ const { domainElement } = this
224
+ if (!domainElement) {
225
+ return
226
+ }
227
+ const schema = domainElement.ensureSchema()
228
+ if (!schema.enum) {
229
+ schema.enum = [value]
230
+ } else {
231
+ schema.enum.push(value)
232
+ }
233
+ this.requestUpdate()
234
+ // this should be immediately propagated to other clients.
235
+ this.notifyChange()
236
+ }
237
+
238
+ /**
239
+ * Deletes an enum value at a position.
240
+ *
241
+ * @param index The index at which to delete an enum property.
242
+ * @throws {RangeError} When the index is out of bounds.
243
+ * @fires change - Dispatched when an enum value is deleted.
244
+ */
245
+ deleteEnum(index: number): void {
246
+ if (index < 0) {
247
+ throw new RangeError(`Enum array index cannot be negative.`)
248
+ }
249
+ const { domainElement } = this
250
+ if (!domainElement) {
251
+ return
252
+ }
253
+ const schema = domainElement.ensureSchema()
254
+ if (!schema.enum) {
255
+ return
256
+ }
257
+ if (schema.enum.length - 1 < index) {
258
+ throw new RangeError(`Invalid enum array index: ${index}.`)
259
+ }
260
+ schema.enum.splice(index, 1)
261
+ this.requestUpdate()
262
+ this.notifyChange()
263
+ }
264
+
265
+ /**
266
+ * Sets a new defaultValue on the property schema.
267
+ *
268
+ * @param value The default value to set. Empty to remove.
269
+ * @param type The type of the value.
270
+ * @param dataType Optional data type to set. Defaults to string. Only used with `type` equal `literal`.
271
+ * @fires change - Dispatched when the default value is updated.
272
+ */
273
+ setDefaultValue(value?: string, type: 'function' | 'literal' = 'function'): void {
274
+ const { domainElement } = this
275
+ if (!domainElement) {
276
+ return
277
+ }
278
+ const schema = domainElement.ensureSchema()
279
+ if (value === schema.defaultValue?.value) {
280
+ return
281
+ }
282
+ if (value || (type === 'literal' && value === '')) {
283
+ schema.defaultValue = {
284
+ type,
285
+ value: value,
286
+ }
287
+ } else {
288
+ delete schema.defaultValue
289
+ }
290
+ this.notifyChange()
291
+ this.requestUpdate()
292
+ }
293
+
294
+ /**
295
+ * Updates the property's data type.
296
+ *
297
+ * It sets the `format` for `number`, `datetime`, and `binary` data types.
298
+ *
299
+ * @param value The value to set.
300
+ * @throws {TypeError} When the passed value is not a valid data type.
301
+ * @fires change - Dispatched when the data type is updated.
302
+ */
303
+ setDataType(value: string): void {
304
+ const { domainElement } = this
305
+ if (!domainElement) {
306
+ return
307
+ }
308
+ if (!DomainProperty.isValidType(value)) {
309
+ throw new TypeError(`Invalid data type: ${value}.`)
310
+ }
311
+ domainElement.type = value
312
+ const binding = domainElement.getWebBinding()
313
+ if (value === 'number') {
314
+ binding.format = 'int64'
315
+ } else if (value === 'binary') {
316
+ binding.format = 'base64'
317
+ } else {
318
+ binding.format = undefined
319
+ }
320
+ this.notifyChange()
321
+ this.requestUpdate()
322
+ this.updateSchemaInputConfig()
323
+ }
324
+
325
+ /**
326
+ * Sets the value of one of the "attribute" fields.
327
+ * These are the checkboxes located in the "Attributes" section.
328
+ *
329
+ * @param name The name of the attribute to set.
330
+ * @param value The boolean option to set as the value.
331
+ * @throws {TypeError} When the passed name is not a valid attribute name.
332
+ * @throws {TypeError} When the passed value is not a boolean value.
333
+ * @fires change - Dispatched when an attribute value is updated.
334
+ */
335
+ setModelAttribute(name: string, value: boolean): void {
336
+ if (!DomainProperty.isValidAttribute(name)) {
337
+ throw new TypeError(`Invalid attribute name: ${name}.`)
338
+ }
339
+ if (typeof value !== 'boolean') {
340
+ throw new TypeError(`Invalid attribute value: ${value}.`)
341
+ }
342
+ const { domainElement } = this
343
+ if (!domainElement) {
344
+ return
345
+ }
346
+ domainElement[name] = value
347
+ this.notifyChange()
348
+ this.requestUpdate()
349
+ }
350
+
351
+ /**
352
+ * Sets the `format` value on the model.
353
+ *
354
+ * @param format The format value to set.
355
+ * @throws {TypeError} When the passed format value is not supported.
356
+ * @fires change - Dispatched when the format value is updated.
357
+ */
358
+ setFormat(format?: string): void {
359
+ if (!DomainProperty.isValidFormat(format)) {
360
+ throw new TypeError(`Invalid format value: ${format}.`)
361
+ }
362
+ const { domainElement } = this
363
+ if (!domainElement) {
364
+ return
365
+ }
366
+ const binding = domainElement.getWebBinding()
367
+ if (binding.format === format) {
368
+ return
369
+ }
370
+ binding.format = format
371
+ this.requestUpdate()
372
+ this.notifyChange()
373
+ this.updateSchemaInputConfig()
374
+ }
375
+
376
+ /**
377
+ * Sets an example value on the schema.
378
+ * @param value The value to set. Removes the examples array if not set.
379
+ */
380
+ setExampleValue(value?: string): void {
381
+ const { domainElement } = this
382
+ if (!domainElement) {
383
+ return
384
+ }
385
+ // @TODO: Eventually, support multiple examples
386
+ const schema = domainElement.ensureSchema()
387
+ if (value) {
388
+ schema.examples = [value]
389
+ } else {
390
+ delete schema.examples
391
+ }
392
+ this.requestUpdate()
393
+ this.notifyChange()
394
+ }
395
+
396
+ /**
397
+ * A method to be called when a schema property changes.
398
+ * It caches the schema-sensitive input configuration.
399
+ */
400
+ protected updateSchemaInputConfig(): void {
401
+ const { domainElement } = this
402
+ if (!domainElement) {
403
+ return
404
+ }
405
+ this.cachedSchemaInputConfig = getPropertyInputOptions(domainElement)
406
+ }
407
+
408
+ /**
409
+ * A handler for the one of the metadata inputs value change.
410
+ *
411
+ * It supports the following fields:
412
+ *
413
+ * - `name`
414
+ * - `displayName`
415
+ * - `description`
416
+ * - `literalDefaultValue`
417
+ */
418
+ protected handleMetaChange(e: Event): void {
419
+ const { domainElement } = this
420
+ if (!domainElement) {
421
+ return
422
+ }
423
+ const node = e.target as HTMLInputElement
424
+ const { name, value } = node
425
+ if (value && !node.reportValidity()) {
426
+ return
427
+ }
428
+ if (!['name', 'displayName', 'description'].includes(name as string)) {
429
+ return
430
+ }
431
+ if (name === 'name' && !value) {
432
+ return
433
+ }
434
+ domainElement.info[name as 'name' | 'description' | 'displayName'] = value
435
+ this.notifyChange()
436
+ }
437
+
438
+ protected handleSchemaChange(e: Event): void {
439
+ const { domainElement } = this
440
+ if (!domainElement) {
441
+ return
442
+ }
443
+ const node = e.target as HTMLInputElement
444
+ const { name, value, checked } = node
445
+ if ((value || checked) && !node.reportValidity()) {
446
+ return
447
+ }
448
+ if (name === 'literalDefaultValue') {
449
+ this.setDefaultValue(value, 'literal')
450
+ return
451
+ }
452
+ if (['minimum', 'maximum', 'multipleOf'].includes(name as string)) {
453
+ const schema = domainElement.ensureSchema()
454
+ schema[name as 'minimum' | 'maximum' | 'multipleOf'] = Number(value) || undefined
455
+ } else if (['exclusiveMinimum', 'exclusiveMaximum'].includes(name as string)) {
456
+ const schema = domainElement.ensureSchema()
457
+ schema[name as 'exclusiveMinimum' | 'exclusiveMaximum'] = checked
458
+ }
459
+ this.updateSchemaInputConfig()
460
+ this.notifyChange()
461
+ }
462
+
463
+ /**
464
+ * A handler for the data type select input change
465
+ */
466
+ protected handleDataTypeChange(e: Event): void {
467
+ const select = e.target as UiSelectElement
468
+ const { value, name } = select
469
+ if (name !== 'datatype' || !value) {
470
+ return
471
+ }
472
+ this.setDataType(value)
473
+ }
474
+
475
+ /**
476
+ * A handler for any of the checkboxes in the `attributes` section.
477
+ * It calls the `setModelAttribute()` method.
478
+ */
479
+ protected handleAttributeOptionChange(e: Event): void {
480
+ const checkbox = e.target as UiCheckboxElement
481
+ const { name = '', checked } = checkbox
482
+ this.setModelAttribute(name, !!checked)
483
+ }
484
+
485
+ /**
486
+ * A handler for the default value select input change.
487
+ * Depending on the selected options it calls the `setDefaultValue()`
488
+ * with appropriate arguments.
489
+ */
490
+ protected handleDefaultValueChange(e: Event): void {
491
+ const { domainElement } = this
492
+ if (!domainElement) {
493
+ return
494
+ }
495
+ const select = e.target as UiSelectElement
496
+ const { value = '' } = select
497
+ if (!value) {
498
+ this.setDefaultValue()
499
+ this.hasDefaultValueInput = false
500
+ return
501
+ }
502
+ if (value.startsWith('function.')) {
503
+ const fName = value.substring(9)
504
+ this.setDefaultValue(fName, 'function')
505
+ this.hasDefaultValueInput = false
506
+ return
507
+ }
508
+ if (value.startsWith('literal.')) {
509
+ const setValue = value.substring(8)
510
+ this.setDefaultValue(setValue, 'literal')
511
+ this.hasDefaultValueInput = false
512
+ return
513
+ }
514
+ if (value === 'literal') {
515
+ this.hasDefaultValueInput = true
516
+ this.setDefaultValue('', 'literal')
517
+ }
518
+ }
519
+
520
+ /**
521
+ * A handler for the format select input change.
522
+ * Calls the `setFormat()` with the appropriate value.
523
+ */
524
+ protected handleFormatChange(e: Event): void {
525
+ const { domainElement } = this
526
+ if (!domainElement) {
527
+ return
528
+ }
529
+ const select = e.target as UiSelectElement
530
+ const { value } = select
531
+ this.setFormat(value)
532
+ }
533
+
534
+ /**
535
+ * Handles the toggle button for the enum editor.
536
+ * It calls the toggleEnum() whenever activated.
537
+ */
538
+ protected handleEnumOptionChange(): void {
539
+ this.toggleEnum()
540
+ }
541
+
542
+ /**
543
+ * A handler for the enum input change.
544
+ * It calls the `updateEnum()` method
545
+ */
546
+ protected handleEnumChange(e: Event): void {
547
+ const input = e.target as HTMLInputElement
548
+ if (!input.reportValidity()) {
549
+ return
550
+ }
551
+ const { value, dataset } = input
552
+ const index = Number(dataset.index)
553
+ if (isNaN(index)) {
554
+ return
555
+ }
556
+ this.updateEnum(index, value)
557
+ }
558
+
559
+ /**
560
+ * A handler for the add enum button.
561
+ */
562
+ protected handleAddEnum(): void {
563
+ this.addEnum()
564
+ }
565
+
566
+ /**
567
+ * A handler for the delete enum value button click.
568
+ */
569
+ protected handleDeleteEnum(e: Event): void {
570
+ const button = e.currentTarget as HTMLElement
571
+ const { dataset } = button
572
+ const index = Number(dataset.index)
573
+ if (isNaN(index)) {
574
+ return
575
+ }
576
+ this.deleteEnum(index)
577
+ }
578
+
579
+ /**
580
+ * Handles a change on the example input.
581
+ */
582
+ protected handleExampleChange(e: Event): void {
583
+ const node = e.target as HTMLInputElement
584
+ const { name, value } = node
585
+ if (value && !node.reportValidity()) {
586
+ return
587
+ }
588
+ if (name !== 'example') {
589
+ return
590
+ }
591
+ this.setExampleValue(value)
592
+ }
593
+
594
+ // protected handleTaxonomyChange(e: Event): void {
595
+ // const node = e.currentTarget as MdOutlinedSelect
596
+ // const { value } = node
597
+ // if (!value) {
598
+ // return
599
+ // }
600
+ // node.displayText = ''
601
+ // this.domainElement?.addSemantic({
602
+ // id: value as SemanticType,
603
+ // })
604
+ // this.requestUpdate()
605
+ // }
606
+
607
+ protected handleDeleteTaxonomy(e: Event): void {
608
+ const button = e.currentTarget as HTMLButtonElement
609
+ const { id } = button.dataset
610
+ if (!id) {
611
+ return
612
+ }
613
+ this.domainElement?.removeSemantic(id as SemanticType)
614
+ }
615
+
616
+ protected handleTaxonomySelect(e: CustomEvent<{ item: HTMLElement }>): void {
617
+ const { value } = e.detail.item.dataset
618
+ if (value) {
619
+ this.domainElement?.addSemantic({
620
+ id: value as SemanticType,
621
+ })
622
+ this.requestUpdate()
623
+ }
624
+ }
625
+
626
+ protected handleConfigureTaxonomy(e: Event): void {
627
+ const button = e.currentTarget as HTMLButtonElement
628
+ const { id } = button.dataset
629
+ if (!id) {
630
+ return
631
+ }
632
+ const element = this.domainElement
633
+ if (!element) {
634
+ return
635
+ }
636
+ let dialog: TaxonomyDialog
637
+ if (id === SemanticType.Password) {
638
+ dialog = new PasswordTaxonomy(element)
639
+ } else if (id === SemanticType.Markdown) {
640
+ dialog = new MarkdownTaxonomy(element)
641
+ } else if (id === SemanticType.HTML) {
642
+ dialog = new HtmlTaxonomy(element)
643
+ } else if (id === SemanticType.Status) {
644
+ dialog = new StatusTaxonomy(element)
645
+ } else if (id === SemanticType.Currency) {
646
+ dialog = new CurrencyTaxonomy(element)
647
+ } else if (id === SemanticType.SKU) {
648
+ dialog = new SkuTaxonomy(element)
649
+ } else if (id === SemanticType.Email) {
650
+ dialog = new EmailTaxonomy(element)
651
+ } else if (id === SemanticType.Phone) {
652
+ dialog = new PhoneTaxonomy(element)
653
+ } else if (id === SemanticType.URL) {
654
+ dialog = new UrlTaxonomy(element)
655
+ } else if (id === SemanticType.PublicUniqueName) {
656
+ dialog = new PublicUniqueNameTaxonomy(element)
657
+ } else if (id === SemanticType.GeospatialCoordinates) {
658
+ dialog = new GeospatialCoordinatesTaxonomy(element)
659
+ } else if (id === SemanticType.Calculated) {
660
+ dialog = new CalculatedTaxonomy(element)
661
+ } else {
662
+ throw new TypeError(`Unsupported taxonomy type: ${id}.`)
663
+ }
664
+ dialog.run()
665
+ }
666
+
667
+ protected override render(): TemplateResult | typeof nothing {
668
+ const { domainElement } = this
669
+ if (!domainElement) {
670
+ return nothing
671
+ }
672
+ return this.renderForm(domainElement)
673
+ }
674
+
675
+ protected renderForm(model: DomainProperty): TemplateResult {
676
+ return html`
677
+ <form name="property" @submit="${cancelEvent}" data-key="${model.key}" class="modeling-form">
678
+ ${this.renderMetaInputs(model)} ${this.renderAttributes(model)} ${this.renderSchema(model)}
679
+ ${this.renderDataGovernanceSection(model)}
680
+ </form>
681
+ `
682
+ }
683
+
684
+ protected renderMetaInputs(model: DomainProperty): TemplateResult {
685
+ const disabled = !this.canEdit
686
+ const formatError =
687
+ 'Name must start with a letter or underscore and can only contain letters, numbers, and underscores.'
688
+ return html`
689
+ <div class="editor-section">
690
+ <div class="row input-row">
691
+ <ui-outlined-text-field
692
+ class="input"
693
+ name="name"
694
+ .value="${live(model.info.name || '')}"
695
+ label="Name"
696
+ required
697
+ minLength="2"
698
+ maxLength="59"
699
+ pattern="[a-zA-Z_][a-zA-Z0-9_]+"
700
+ .invalidText="${formatError}"
701
+ ?disabled="${disabled}"
702
+ @change="${this.handleMetaChange}"
703
+ ></ui-outlined-text-field>
704
+ ${renderHelp('property', 'name-input')}
705
+ </div>
706
+ <div class="row input-row">
707
+ <ui-outlined-text-field
708
+ class="input"
709
+ name="displayName"
710
+ .value="${live(model.info.displayName || '')}"
711
+ label="Display name (optional)"
712
+ ?disabled="${disabled}"
713
+ @change="${this.handleMetaChange}"
714
+ ></ui-outlined-text-field>
715
+ ${renderHelp('property', 'displayName-input')}
716
+ </div>
717
+ <div class="row input-row">
718
+ <ui-outlined-text-field
719
+ class="input"
720
+ name="description"
721
+ .value="${live(model.info.description || '')}"
722
+ label="Description (optional)"
723
+ ?disabled="${disabled}"
724
+ @change="${this.handleMetaChange}"
725
+ ></ui-outlined-text-field>
726
+ ${renderHelp('property', 'description-input')}
727
+ </div>
728
+ </div>
729
+ `
730
+ }
731
+
732
+ protected renderAttributes(model: DomainProperty): TemplateResult {
733
+ return html`<div class="editor-section">
734
+ <div class="section-title title-medium">Attributes</div>
735
+ ${this.renderDataTypeInput(model)} ${this.renderFormat(model)} ${this.renderAttributeOptions(model)}
736
+ </div>`
737
+ }
738
+
739
+ protected renderTaxonomy(): TemplateResult {
740
+ return html`<div class="editor-section"></div>`
741
+ }
742
+
743
+ protected renderSchema(model: DomainProperty): TemplateResult | typeof nothing {
744
+ if (model.type === 'binary') {
745
+ return nothing
746
+ }
747
+ let content: (TemplateResult | typeof nothing)[] | typeof nothing
748
+ switch (model.type) {
749
+ case 'string':
750
+ content = this.renderStringSchema(model)
751
+ break
752
+ case 'number':
753
+ content = this.renderNumberSchema(model)
754
+ break
755
+ case 'boolean':
756
+ content = this.renderBooleanSchema(model)
757
+ break
758
+ case 'date':
759
+ content = this.renderDateSchema(model)
760
+ break
761
+ case 'time':
762
+ content = this.renderTimeSchema(model)
763
+ break
764
+ case 'datetime':
765
+ content = this.renderDateTimeSchema(model)
766
+ break
767
+ // case 'binary':
768
+ // content = this.renderBinarySchema(model)
769
+ // break
770
+ default:
771
+ content = nothing
772
+ }
773
+ return html`<div class="editor-section">
774
+ <div class="section-title title-medium">Schema</div>
775
+ ${content}
776
+ </div>`
777
+ }
778
+
779
+ protected renderDataTypeInput(model: DomainProperty): TemplateResult {
780
+ const disabled = !this.canEdit
781
+ const { type } = model
782
+ return html`<div class="row input-row">
783
+ <ui-select
784
+ label="Data Type"
785
+ class="input"
786
+ required
787
+ name="datatype"
788
+ ?disabled="${disabled}"
789
+ @change="${this.handleDataTypeChange}"
790
+ >
791
+ <ui-option ?selected="${type === 'string'}" value="string">
792
+ <div>String</div>
793
+ </ui-option>
794
+ <ui-option ?selected="${type === 'number'}" value="number">
795
+ <div>Number</div>
796
+ </ui-option>
797
+ <ui-option ?selected="${type === 'boolean'}" value="boolean">
798
+ <div>Boolean</div>
799
+ </ui-option>
800
+ <ui-option ?selected="${type === 'date'}" value="date">
801
+ <div>Date</div>
802
+ </ui-option>
803
+ <ui-option ?selected="${type === 'time'}" value="time">
804
+ <div>Time</div>
805
+ </ui-option>
806
+ <ui-option ?selected="${type === 'datetime'}" value="datetime">
807
+ <div>Date and time</div>
808
+ </ui-option>
809
+ <ui-option ?selected="${type === 'binary'}" value="binary">
810
+ <div>Binary</div>
811
+ </ui-option>
812
+ </ui-select>
813
+ ${renderHelp('property', 'datatype-select')}
814
+ </div>`
815
+ }
816
+
817
+ protected renderAttributeOptions(model: DomainProperty): TemplateResult {
818
+ const { primary = false, index = false, required = false, multiple = false, readOnly = false } = model
819
+ const disabled = !this.canEdit
820
+ return html`<div class="checkbox-group">
821
+ <div class="row">
822
+ <div class="input checkbox metadata">
823
+ <ui-checkbox
824
+ id="att-identifier"
825
+ .checked="${primary}"
826
+ name="primary"
827
+ @change="${this.handleAttributeOptionChange}"
828
+ ?disabled="${disabled}"
829
+ ></ui-checkbox>
830
+ <div class="label">
831
+ <label for="att-identifier" class="body-medium">Identifier</label>
832
+ <span class="body-small meta">The primary key in the data store.</span>
833
+ </div>
834
+ </div>
835
+ ${renderHelp('property', 'primary-checkbox')}
836
+ </div>
837
+ <div class="row">
838
+ <div class="input checkbox metadata">
839
+ <ui-checkbox
840
+ id="att-index"
841
+ .checked="${index}"
842
+ name="index"
843
+ ?disabled="${disabled}"
844
+ @change="${this.handleAttributeOptionChange}"
845
+ ></ui-checkbox>
846
+ <div class="label">
847
+ <label for="att-index" class="body-medium">Search field</label>
848
+ <span class="body-small meta">Marks this field as index and enables searching on it.</span>
849
+ </div>
850
+ </div>
851
+ ${renderHelp('property', 'index-checkbox')}
852
+ </div>
853
+ <div class="row">
854
+ <div class="input checkbox">
855
+ <ui-checkbox
856
+ id="att-required"
857
+ .checked="${required}"
858
+ name="required"
859
+ ?disabled="${disabled}"
860
+ @change="${this.handleAttributeOptionChange}"
861
+ ></ui-checkbox>
862
+ <div class="label">
863
+ <label for="att-required" class="body-medium">Required</label>
864
+ </div>
865
+ </div>
866
+ ${renderHelp('property', 'required-checkbox')}
867
+ </div>
868
+ <div class="row">
869
+ <div class="input checkbox metadata">
870
+ <ui-checkbox
871
+ id="att-multiple"
872
+ .checked="${multiple}"
873
+ name="multiple"
874
+ ?disabled="${disabled}"
875
+ @change="${this.handleAttributeOptionChange}"
876
+ ></ui-checkbox>
877
+ <div class="label">
878
+ <label for="att-multiple" class="body-medium">Multiple values</label>
879
+ <span class="body-small meta">Creates an array of values.</span>
880
+ </div>
881
+ </div>
882
+ ${renderHelp('property', 'multiple-checkbox')}
883
+ </div>
884
+ <div class="row">
885
+ <div class="input checkbox metadata">
886
+ <ui-checkbox
887
+ id="att-readOnly"
888
+ .checked="${readOnly}"
889
+ name="readOnly"
890
+ ?disabled="${disabled}"
891
+ @change="${this.handleAttributeOptionChange}"
892
+ ></ui-checkbox>
893
+ <div class="label">
894
+ <label for="att-readOnly" class="body-medium">Read only</label>
895
+ <span class="body-small meta">The value can only be set when object is created.</span>
896
+ </div>
897
+ </div>
898
+ ${renderHelp('property', 'readOnly-checkbox')}
899
+ </div>
900
+ </div>`
901
+ }
902
+
903
+ protected renderStringSchema(model: DomainProperty): (TemplateResult | typeof nothing)[] {
904
+ return [
905
+ this.renderDefaultValueInput(model),
906
+ this.renderLiteralDefaultValueInput(model),
907
+ this.renderExampleValueInput(model),
908
+ this.renderEnumEditor(model),
909
+ this.renderMinimumValueInput(model),
910
+ this.renderExclusiveMinimumInput(model),
911
+ this.renderMaximumValueInput(model),
912
+ this.renderExclusiveMaximumInput(model),
913
+ ]
914
+ }
915
+
916
+ protected renderNumberSchema(model: DomainProperty): (TemplateResult | typeof nothing)[] {
917
+ return [
918
+ this.renderMultipleOfInput(model),
919
+ this.renderDefaultValueInput(model),
920
+ this.renderLiteralDefaultValueInput(model),
921
+ this.renderExampleValueInput(model),
922
+ this.renderEnumEditor(model),
923
+ this.renderMinimumValueInput(model),
924
+ this.renderExclusiveMinimumInput(model),
925
+ this.renderMaximumValueInput(model),
926
+ this.renderExclusiveMaximumInput(model),
927
+ ]
928
+ }
929
+
930
+ protected renderBooleanSchema(model: DomainProperty): (TemplateResult | typeof nothing)[] {
931
+ return [this.renderDefaultValueInput(model)]
932
+ }
933
+
934
+ protected renderDateSchema(model: DomainProperty): (TemplateResult | typeof nothing)[] {
935
+ return [
936
+ this.renderDefaultValueInput(model),
937
+ this.renderLiteralDefaultValueInput(model),
938
+ this.renderExampleValueInput(model),
939
+ this.renderMinimumValueInput(model),
940
+ this.renderExclusiveMinimumInput(model),
941
+ this.renderMaximumValueInput(model),
942
+ this.renderExclusiveMaximumInput(model),
943
+ ]
944
+ }
945
+
946
+ protected renderTimeSchema(model: DomainProperty): (TemplateResult | typeof nothing)[] {
947
+ return [
948
+ this.renderDefaultValueInput(model),
949
+ this.renderLiteralDefaultValueInput(model),
950
+ this.renderExampleValueInput(model),
951
+ this.renderMinimumValueInput(model),
952
+ this.renderExclusiveMinimumInput(model),
953
+ this.renderMaximumValueInput(model),
954
+ this.renderExclusiveMaximumInput(model),
955
+ ]
956
+ }
957
+
958
+ protected renderDateTimeSchema(model: DomainProperty): (TemplateResult | typeof nothing)[] {
959
+ return [
960
+ this.renderDefaultValueInput(model),
961
+ this.renderLiteralDefaultValueInput(model),
962
+ this.renderExampleValueInput(model),
963
+ this.renderMinimumValueInput(model),
964
+ this.renderExclusiveMinimumInput(model),
965
+ this.renderMaximumValueInput(model),
966
+ this.renderExclusiveMaximumInput(model),
967
+ ]
968
+ }
969
+
970
+ /**
971
+ * Renders the input for the default value.
972
+ *
973
+ * Note, when defining a new function, add support for it generation in the
974
+ * `src/modeling/value_generator.ts` file.
975
+ */
976
+ protected renderDefaultValueInput(model: DomainProperty): TemplateResult | typeof nothing {
977
+ const { type } = model
978
+ // || type === 'any' || type === 'nil'
979
+ if (type === 'binary') {
980
+ return nothing
981
+ }
982
+ const schema = model.schema || {}
983
+ const { defaultValue } = schema
984
+ let isNone = true
985
+ let isLiteral = false
986
+ if (defaultValue) {
987
+ if (defaultValue.type === 'literal') {
988
+ isNone = false
989
+ isLiteral = true
990
+ } else if (defaultValue.value) {
991
+ isNone = false
992
+ }
993
+ }
994
+
995
+ let allowLiteral = false
996
+ const options: TemplateResult[] = [
997
+ html`<ui-option ?selected="${isNone}" value="">
998
+ <div>None</div>
999
+ </ui-option>`,
1000
+ html`<ui-divider></ui-divider>`,
1001
+ ]
1002
+ if (type === 'string') {
1003
+ options.push(
1004
+ html`<ui-option ?selected="${defaultValue?.value === 'random'}" value="function.random">
1005
+ <div>Random string</div>
1006
+ <div slot="supporting-text">Generates a random string.</div>
1007
+ </ui-option>`
1008
+ )
1009
+ options.push(
1010
+ html`<ui-option ?selected="${defaultValue?.value === 'uuid-v4'}" value="function.uuid-v4">
1011
+ <div>UUID</div>
1012
+ <div slot="supporting-text">Random UUID v4 value.</div>
1013
+ </ui-option>`
1014
+ )
1015
+ allowLiteral = true
1016
+ } else if (type === 'number') {
1017
+ options.push(
1018
+ html`<ui-option ?selected="${defaultValue?.value === 'incremental'}" value="function.incremental">
1019
+ <div>Incremental</div>
1020
+ <div slot="supporting-text">Increments the value with each new object.</div>
1021
+ </ui-option>`
1022
+ )
1023
+ allowLiteral = true
1024
+ } else if (type === 'boolean') {
1025
+ options.push(
1026
+ html`<ui-option ?selected="${defaultValue?.value === 'false'}" value="literal.false">
1027
+ <div>FALSE</div>
1028
+ </ui-option>`
1029
+ )
1030
+ options.push(
1031
+ html`<ui-option ?selected="${defaultValue?.value === 'true'}" value="literal.true">
1032
+ <div>TRUE</div>
1033
+ </ui-option>`
1034
+ )
1035
+ } else if (type === 'date') {
1036
+ options.push(
1037
+ html`<ui-option ?selected="${defaultValue?.value === 'now'}" value="function.now">
1038
+ <div>Current date</div>
1039
+ <div slot="supporting-text">YYYY-MM-DD format</div>
1040
+ </ui-option>`
1041
+ )
1042
+ allowLiteral = true
1043
+ } else if (type === 'time') {
1044
+ options.push(
1045
+ html`<ui-option ?selected="${defaultValue?.value === 'now'}" value="function.now">
1046
+ <div>Current time</div>
1047
+ <div slot="supporting-text">HH:mm:ss format.</div>
1048
+ </ui-option>`
1049
+ )
1050
+ allowLiteral = true
1051
+ } else if (type === 'datetime') {
1052
+ options.push(
1053
+ html`<ui-option ?selected="${defaultValue?.value === 'now'}" value="function.now">
1054
+ <div>Current date and time</div>
1055
+ <div slot="supporting-text">YYYY-MM-DDTHH:mm:ss format.</div>
1056
+ </ui-option>`
1057
+ )
1058
+ allowLiteral = true
1059
+ }
1060
+
1061
+ if (allowLiteral) {
1062
+ // options.push(html`<ui-divider></ui-divider>`)
1063
+ options.push(
1064
+ html`<ui-option ?selected="${isLiteral}" value="literal">
1065
+ <div>Literal</div>
1066
+ <div slot="supporting-text">Enter custom value.</div>
1067
+ </ui-option>`
1068
+ )
1069
+ }
1070
+ const disabled = !this.canEdit
1071
+ const supportingText = 'Used when creating the object.'
1072
+ return html`<div class="row input-row">
1073
+ <ui-select
1074
+ label="Default value"
1075
+ class="input"
1076
+ name="defaultValue"
1077
+ .supportingText="${supportingText}"
1078
+ ?disabled="${disabled}"
1079
+ @change="${this.handleDefaultValueChange}"
1080
+ >
1081
+ ${options}
1082
+ </ui-select>
1083
+ ${renderHelp('property', 'defaultValue-select')}
1084
+ </div>`
1085
+ }
1086
+
1087
+ protected renderLiteralDefaultValueInput(model: DomainProperty): TemplateResult | typeof nothing {
1088
+ if (!this.hasDefaultValueInput) {
1089
+ return nothing
1090
+ }
1091
+ const schema = model.schema || {}
1092
+ const { defaultValue } = schema
1093
+ const currentValue = defaultValue?.value || ''
1094
+ const info = this.schemaInputConfig
1095
+ const disabled = !this.canEdit
1096
+ return html`<div class="row input-row">
1097
+ <ui-outlined-text-field
1098
+ class="input"
1099
+ name="literalDefaultValue"
1100
+ .value="${live(currentValue)}"
1101
+ label="Literal value"
1102
+ required
1103
+ type="${info.type}"
1104
+ pattern="${ifDefined(info.pattern)}"
1105
+ min="${ifDefined(info.min)}"
1106
+ max="${ifDefined(info.max)}"
1107
+ step="${ifDefined(info.step)}"
1108
+ .supportingText="${info.help || ''}"
1109
+ @change="${this.handleSchemaChange}"
1110
+ ?disabled="${disabled}"
1111
+ ></ui-outlined-text-field>
1112
+ ${renderHelp('property', 'literalDefaultValue-input')}
1113
+ </div>`
1114
+ }
1115
+
1116
+ protected renderFormat(model: DomainProperty): TemplateResult | typeof nothing {
1117
+ const { type } = model
1118
+ if (type === 'number') {
1119
+ return this.renderFormatInput(model, NumberFormats)
1120
+ }
1121
+ if (type === 'binary') {
1122
+ return this.renderFormatInput(model, BinaryFormats)
1123
+ }
1124
+ return nothing
1125
+ }
1126
+
1127
+ protected renderFormatInput(model: DomainProperty, formats: DomainPropertyFormat[]): TemplateResult {
1128
+ const binding = model.getWebBinding()
1129
+ const options = formats.map((format) => {
1130
+ const info = getFormatInfo(format)
1131
+ return html`<ui-option ?selected="${format === binding.format}" value="${format}">
1132
+ <div>${info.label}</div>
1133
+ <div slot="supporting-text">${info.help}</div>
1134
+ </ui-option>`
1135
+ })
1136
+ const disabled = !this.canEdit
1137
+ return html`<div class="row input-row">
1138
+ <ui-select
1139
+ label="Format"
1140
+ class="input"
1141
+ name="format"
1142
+ ?disabled="${disabled}"
1143
+ @change="${this.handleFormatChange}"
1144
+ >
1145
+ ${options}
1146
+ </ui-select>
1147
+ ${renderHelp('property', 'format-select')}
1148
+ </div>`
1149
+ }
1150
+
1151
+ /**
1152
+ * Renders the enum editing editor section.
1153
+ */
1154
+ protected renderEnumEditor(model: DomainProperty): TemplateResult {
1155
+ return html`<div class="row">${this.renderEnumToggle()} ${renderHelp('property', 'enumValues-switch')}</div>
1156
+ ${this.renderEnumValues(model)} ${this.renderAddEnumButton()}`
1157
+ }
1158
+
1159
+ /**
1160
+ * Renders the enum toggle button.
1161
+ */
1162
+ protected renderEnumToggle(): TemplateResult {
1163
+ const disabled = !this.canEdit
1164
+ return html`<div class="input enum">
1165
+ <ui-switch
1166
+ .checked="${this.enumEnabled}"
1167
+ id="enumValues"
1168
+ ?disabled="${disabled}"
1169
+ @change="${this.handleEnumOptionChange}"
1170
+ ></ui-switch>
1171
+ <label for="enumValues" class="body-medium">Pre-defined values (enum)</label>
1172
+ </div>`
1173
+ }
1174
+
1175
+ /**
1176
+ * Renders the list of enum inputs or nothing when not required.
1177
+ */
1178
+ protected renderEnumValues(model: DomainProperty): TemplateResult[] | typeof nothing {
1179
+ if (!this.enumEnabled) {
1180
+ return nothing
1181
+ }
1182
+ const schema = model.schema || {}
1183
+ // We use the default value to render the first input when no enum was set.
1184
+ const { enum: enumValues = [''] } = schema
1185
+ if (!enumValues.length) {
1186
+ return nothing
1187
+ }
1188
+ return enumValues.map((value, index) => this.renderEnumItem(value, index))
1189
+ }
1190
+
1191
+ /**
1192
+ * Renders the text field to edit an enum value.
1193
+ * @param value The enum value to render in the input
1194
+ * @param index The enum's index in the enum array.
1195
+ */
1196
+ protected renderEnumItem(value: string, index: number): TemplateResult {
1197
+ const info = this.schemaInputConfig
1198
+ const disabled = !this.canEdit
1199
+ return html`<div class="enum-input row">
1200
+ <ui-outlined-text-field
1201
+ class="input"
1202
+ name="enum"
1203
+ .value="${live(value)}"
1204
+ label="Value"
1205
+ data-index="${index}"
1206
+ @change="${this.handleEnumChange}"
1207
+ type="${info.type}"
1208
+ pattern="${ifDefined(info.pattern)}"
1209
+ min="${ifDefined(info.min)}"
1210
+ max="${ifDefined(info.max)}"
1211
+ step="${ifDefined(info.step)}"
1212
+ ?disabled="${disabled}"
1213
+ .supportingText="${info.help || ''}"
1214
+ ></ui-outlined-text-field>
1215
+ <ui-icon-button type="button" data-index="${index}" @click="${this.handleDeleteEnum}"
1216
+ ><ui-icon icon="deleteOutline"></ui-icon
1217
+ ></ui-icon-button>
1218
+ </div>`
1219
+ }
1220
+
1221
+ /**
1222
+ * Renders the "add" value value button.
1223
+ */
1224
+ protected renderAddEnumButton(): TemplateResult | typeof nothing {
1225
+ if (!this.enumEnabled || !this.canEdit) {
1226
+ return nothing
1227
+ }
1228
+ return html`<div class="enum-input row">
1229
+ <ui-button color="outlined" @click="${this.handleAddEnum}">
1230
+ <ui-icon slot="icon" icon="add"></ui-icon>Add
1231
+ </ui-button>
1232
+ </div>`
1233
+ }
1234
+
1235
+ protected renderExampleValueInput(model: DomainProperty): TemplateResult {
1236
+ const schema = model.schema || {}
1237
+ const { examples = [] } = schema
1238
+ const [example = ''] = examples
1239
+ const info = this.schemaInputConfig
1240
+ const disabled = !this.canEdit
1241
+ return html`<div class="row input-row">
1242
+ <ui-outlined-text-field
1243
+ class="input"
1244
+ name="example"
1245
+ .value="${live(example)}"
1246
+ label="Example value"
1247
+ @change="${this.handleExampleChange}"
1248
+ pattern="${ifDefined(info.pattern)}"
1249
+ min="${ifDefined(info.min)}"
1250
+ max="${ifDefined(info.max)}"
1251
+ step="${ifDefined(info.step)}"
1252
+ .supportingText="${info.help || 'Used with documentation.'}"
1253
+ .type="${info.type}"
1254
+ ?disabled="${disabled}"
1255
+ ></ui-outlined-text-field>
1256
+ ${renderHelp('property', 'example-input')}
1257
+ </div>`
1258
+ }
1259
+
1260
+ protected renderMinimumValueInput(model: DomainProperty): TemplateResult | typeof nothing {
1261
+ const schema = model.schema || {}
1262
+ const { minimum } = schema
1263
+ let label = 'Minimum length'
1264
+ if (model.type === 'number') {
1265
+ label = 'Minimum value'
1266
+ } else if (model.type === 'date' || model.type === 'datetime') {
1267
+ label = 'Minimum date'
1268
+ } else if (model.type === 'time') {
1269
+ label = 'Minimum time'
1270
+ }
1271
+ const info = this.schemaInputConfig
1272
+ const disabled = !this.canEdit
1273
+ return html`<div class="row input-row">
1274
+ <ui-outlined-text-field
1275
+ class="input"
1276
+ name="minimum"
1277
+ .value="${live((minimum as unknown as string) ?? '')}"
1278
+ label="${label}"
1279
+ type="${info.type}"
1280
+ pattern="${ifDefined(info.pattern)}"
1281
+ min="${ifDefined(info.min)}"
1282
+ max="${ifDefined(info.max)}"
1283
+ step="${ifDefined(info.step)}"
1284
+ .supportingText="${info.help || ''}"
1285
+ @change="${this.handleSchemaChange}"
1286
+ ?disabled="${disabled}"
1287
+ ></ui-outlined-text-field>
1288
+ ${renderHelp('property', 'schema:minimum-input')}
1289
+ </div>`
1290
+ }
1291
+
1292
+ protected renderExclusiveMinimumInput(model: DomainProperty): TemplateResult | typeof nothing {
1293
+ const schema = model.schema || {}
1294
+ const { exclusiveMinimum = false } = schema
1295
+ const disabled = !this.canEdit
1296
+ return html`<div class="checkbox row">
1297
+ <div class="input checkbox metadata">
1298
+ <ui-checkbox
1299
+ id="exclusive-minimum"
1300
+ .checked="${exclusiveMinimum}"
1301
+ name="exclusiveMinimum"
1302
+ @change="${this.handleSchemaChange}"
1303
+ ?disabled="${disabled}"
1304
+ ></ui-checkbox>
1305
+ <div class="label">
1306
+ <label for="exclusive-minimum" class="body-medium">Exclude minimum value</label>
1307
+ <span class="body-small meta">The value must be greater than, but not equal to, the minimum.</span>
1308
+ </div>
1309
+ </div>
1310
+ ${renderHelp('property', 'schema:exclusive-minimum-checkbox')}
1311
+ </div>`
1312
+ }
1313
+
1314
+ protected renderExclusiveMaximumInput(model: DomainProperty): TemplateResult | typeof nothing {
1315
+ const schema = model.schema || {}
1316
+ const { exclusiveMaximum } = schema
1317
+ const disabled = !this.canEdit
1318
+ return html`<div class="checkbox row">
1319
+ <div class="input checkbox metadata">
1320
+ <ui-checkbox
1321
+ id="exclusive-maximum"
1322
+ .checked="${exclusiveMaximum || false}"
1323
+ name="exclusiveMaximum"
1324
+ @change="${this.handleSchemaChange}"
1325
+ ?disabled="${disabled}"
1326
+ ></ui-checkbox>
1327
+ <div class="label">
1328
+ <label for="exclusive-maximum" class="body-medium">Exclude maximum value</label>
1329
+ <span class="body-small meta">The value must be less than, but not equal to, the maximum.</span>
1330
+ </div>
1331
+ </div>
1332
+ ${renderHelp('property', 'schema:exclusive-maximum-checkbox')}
1333
+ </div>`
1334
+ }
1335
+
1336
+ protected renderMaximumValueInput(model: DomainProperty): TemplateResult | typeof nothing {
1337
+ const schema = model.schema || {}
1338
+ const { maximum } = schema
1339
+ let label = 'Maximum length'
1340
+ if (model.type === 'number') {
1341
+ label = 'Maximum value'
1342
+ } else if (model.type === 'date' || model.type === 'datetime') {
1343
+ label = 'Maximum date'
1344
+ } else if (model.type === 'time') {
1345
+ label = 'Maximum time'
1346
+ }
1347
+ const info = this.schemaInputConfig
1348
+ const disabled = !this.canEdit
1349
+ return html`<div class="row input-row">
1350
+ <ui-outlined-text-field
1351
+ class="input"
1352
+ name="maximum"
1353
+ .value="${live((maximum as unknown as string) ?? '')}"
1354
+ label="${label}"
1355
+ type="${info.type}"
1356
+ pattern="${ifDefined(info.pattern)}"
1357
+ min="${ifDefined(info.min)}"
1358
+ max="${ifDefined(info.max)}"
1359
+ step="${ifDefined(info.step)}"
1360
+ .supportingText="${info.help || ''}"
1361
+ @change="${this.handleSchemaChange}"
1362
+ ?disabled="${disabled}"
1363
+ ></ui-outlined-text-field>
1364
+ ${renderHelp('property', 'schema:maximum-input')}
1365
+ </div>`
1366
+ }
1367
+
1368
+ protected renderMultipleOfInput(model: DomainProperty): TemplateResult | typeof nothing {
1369
+ const schema = model.schema || {}
1370
+ const { multipleOf } = schema
1371
+ const disabled = !this.canEdit
1372
+ const supportingText = 'The number must be divisible by this value. E.g., 2 for even numbers.'
1373
+ return html`<div class="row input-row">
1374
+ <ui-outlined-text-field
1375
+ class="input"
1376
+ name="multipleOf"
1377
+ .value="${live((multipleOf as unknown as string) || '')}"
1378
+ label="Value increment"
1379
+ .supportingText="${supportingText}"
1380
+ type="number"
1381
+ @change="${this.handleSchemaChange}"
1382
+ ?disabled="${disabled}"
1383
+ ></ui-outlined-text-field>
1384
+ ${renderHelp('property', 'schema:multipleOf-input')}
1385
+ </div>`
1386
+ }
1387
+
1388
+ protected renderDataGovernanceSection(model: DomainProperty): TemplateResult | typeof nothing {
1389
+ // TODO: Add classification UI (data tagging)
1390
+ const tax = this.renderTaxonomyInput(model)
1391
+ if (tax === nothing) {
1392
+ return nothing
1393
+ }
1394
+ return html`<div class="editor-section">
1395
+ <div class="section-title title-medium">Data Governance</div>
1396
+ ${tax}
1397
+ </div>`
1398
+ }
1399
+
1400
+ protected renderTaxonomyInput(model: DomainProperty): TemplateResult | typeof nothing {
1401
+ const allCategories = getSemanticsByCategory(SemanticScope.Property)
1402
+ const selectedSemantics: PropertySemantic[] = []
1403
+ const filteredCategories: Record<string, PropertySemantic[]> = {}
1404
+
1405
+ // Filter categories and semantics, excluding already selected ones
1406
+ for (const category of Object.keys(allCategories)) {
1407
+ const semantics = allCategories[category as SemanticCategory].filter((s) => {
1408
+ if (s.applicableDataTypes && !s.applicableDataTypes.includes(model.type)) {
1409
+ return false
1410
+ }
1411
+ // Check if this semantic is already selected
1412
+ if (model.semantics.some((ms) => ms.id === s.id)) {
1413
+ selectedSemantics.push(s as PropertySemantic)
1414
+ return false
1415
+ }
1416
+ return true
1417
+ }) as PropertySemantic[]
1418
+
1419
+ if (semantics.length > 0) {
1420
+ filteredCategories[category] = semantics
1421
+ }
1422
+ }
1423
+
1424
+ if (Object.keys(filteredCategories).length === 0 && selectedSemantics.length === 0) {
1425
+ return nothing
1426
+ }
1427
+
1428
+ return html`<div class="taxonomy">
1429
+ <ui-button
1430
+ id="taxonomy-menu-anchor"
1431
+ popoverTarget="taxonomy-menu"
1432
+ color="outlined"
1433
+ aria-label="Add property taxonomy"
1434
+ ?disabled="${!this.canEdit}"
1435
+ >
1436
+ <ui-icon slot="icon">add</ui-icon>Add taxonomy
1437
+ </ui-button>
1438
+ <ui-menu popover="auto" id="taxonomy-menu" class="taxonomy-menu" @select="${this.handleTaxonomySelect}">
1439
+ ${this.renderTaxonomyCategories(filteredCategories)}
1440
+ </ui-menu>
1441
+ ${renderHelp('property', 'taxonomy-select')}
1442
+ </div>
1443
+ ${this.renderSelectedSemantics(selectedSemantics)}`
1444
+ }
1445
+
1446
+ protected renderSelectedSemantics(selected: PropertySemantic[]): TemplateResult | typeof nothing {
1447
+ if (selected.length === 0) {
1448
+ return nothing
1449
+ }
1450
+ const items = selected.map((semantic) => this.renderTaxonomyItem(semantic))
1451
+ return html`<div class="enabled-taxonomy">${items}</div>`
1452
+ }
1453
+
1454
+ protected renderTaxonomyItem(semantic: PropertySemantic): TemplateResult {
1455
+ const canEdit = this.canEdit
1456
+ return html`<div class="taxonomy-item">
1457
+ <span class="label body-large">${semantic.displayName}</span>
1458
+ ${semantic.hasConfig
1459
+ ? html`<ui-button
1460
+ color="text"
1461
+ data-id="${semantic.id}"
1462
+ @click="${this.handleConfigureTaxonomy}"
1463
+ ?disabled="${!canEdit}"
1464
+ >Configure</ui-button
1465
+ >`
1466
+ : nothing}
1467
+ ${canEdit
1468
+ ? html`<ui-icon-button
1469
+ type="button"
1470
+ data-id="${semantic.id}"
1471
+ @click="${this.handleDeleteTaxonomy}"
1472
+ ?disabled="${!canEdit}"
1473
+ ><ui-icon icon="deleteOutline"></ui-icon
1474
+ ></ui-icon-button>`
1475
+ : nothing}
1476
+ </div>`
1477
+ }
1478
+
1479
+ protected renderTaxonomyCategories(categories: Record<string, PropertySemantic[]>): TemplateResult[] {
1480
+ const items: TemplateResult[] = []
1481
+ const entries = Object.entries(categories)
1482
+ const cLen = entries.length
1483
+
1484
+ entries.forEach(([categoryName, semantics], categoryIndex) => {
1485
+ // Add category title as a non-selectable menu item
1486
+ items.push(html` <div class="menu-category-title title-small">${categoryName}</div> `)
1487
+
1488
+ // Add semantics from this category
1489
+ for (const semantic of semantics) {
1490
+ items.push(html`
1491
+ <ui-menu-item data-value="${semantic.id}" lines="two">
1492
+ <div>${semantic.displayName}</div>
1493
+ <div slot="supporting-text">${semantic.description}</div>
1494
+ </ui-menu-item>
1495
+ `)
1496
+ }
1497
+
1498
+ // Add divider after each category except the last one
1499
+ if (categoryIndex < cLen - 1) {
1500
+ items.push(html`<ui-divider></ui-divider>`)
1501
+ }
1502
+ })
1503
+
1504
+ return items
1505
+ }
1506
+ }