@adminiumjs/widgets 0.1.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1324) hide show
  1. package/LICENSE +661 -0
  2. package/dist/binding/StreamTransportContext.d.ts +18 -0
  3. package/dist/binding/StreamTransportContext.d.ts.map +1 -0
  4. package/dist/binding/StreamTransportContext.js +19 -0
  5. package/dist/binding/StreamTransportContext.js.map +1 -0
  6. package/dist/binding/demo-stream.d.ts +59 -0
  7. package/dist/binding/demo-stream.d.ts.map +1 -0
  8. package/dist/binding/demo-stream.js +90 -0
  9. package/dist/binding/demo-stream.js.map +1 -0
  10. package/dist/binding/index.d.ts +14 -0
  11. package/dist/binding/index.d.ts.map +1 -0
  12. package/dist/binding/index.js +13 -0
  13. package/dist/binding/index.js.map +1 -0
  14. package/dist/binding/stream-buffer.d.ts +44 -0
  15. package/dist/binding/stream-buffer.d.ts.map +1 -0
  16. package/dist/binding/stream-buffer.js +65 -0
  17. package/dist/binding/stream-buffer.js.map +1 -0
  18. package/dist/binding/stream-channel.d.ts +24 -0
  19. package/dist/binding/stream-channel.d.ts.map +1 -0
  20. package/dist/binding/stream-channel.js +27 -0
  21. package/dist/binding/stream-channel.js.map +1 -0
  22. package/dist/binding/stream-types.d.ts +67 -0
  23. package/dist/binding/stream-types.d.ts.map +1 -0
  24. package/dist/binding/stream-types.js +19 -0
  25. package/dist/binding/stream-types.js.map +1 -0
  26. package/dist/binding/useWidgetStream.d.ts +56 -0
  27. package/dist/binding/useWidgetStream.d.ts.map +1 -0
  28. package/dist/binding/useWidgetStream.js +144 -0
  29. package/dist/binding/useWidgetStream.js.map +1 -0
  30. package/dist/families/boards/BoardCard.d.ts +48 -0
  31. package/dist/families/boards/BoardCard.d.ts.map +1 -0
  32. package/dist/families/boards/BoardCard.js +58 -0
  33. package/dist/families/boards/BoardCard.js.map +1 -0
  34. package/dist/families/boards/InlineComposeCard.d.ts +35 -0
  35. package/dist/families/boards/InlineComposeCard.d.ts.map +1 -0
  36. package/dist/families/boards/InlineComposeCard.js +65 -0
  37. package/dist/families/boards/InlineComposeCard.js.map +1 -0
  38. package/dist/families/boards/KanbanBoard.d.ts +30 -0
  39. package/dist/families/boards/KanbanBoard.d.ts.map +1 -0
  40. package/dist/families/boards/KanbanBoard.js +141 -0
  41. package/dist/families/boards/KanbanBoard.js.map +1 -0
  42. package/dist/families/boards/KanbanSwimlaneGrid.d.ts +40 -0
  43. package/dist/families/boards/KanbanSwimlaneGrid.d.ts.map +1 -0
  44. package/dist/families/boards/KanbanSwimlaneGrid.js +162 -0
  45. package/dist/families/boards/KanbanSwimlaneGrid.js.map +1 -0
  46. package/dist/families/boards/board-dnd.d.ts +131 -0
  47. package/dist/families/boards/board-dnd.d.ts.map +1 -0
  48. package/dist/families/boards/board-dnd.js +186 -0
  49. package/dist/families/boards/board-dnd.js.map +1 -0
  50. package/dist/families/boards/board-lib.d.ts +124 -0
  51. package/dist/families/boards/board-lib.d.ts.map +1 -0
  52. package/dist/families/boards/board-lib.js +170 -0
  53. package/dist/families/boards/board-lib.js.map +1 -0
  54. package/dist/families/boards/boards-config.d.ts +712 -0
  55. package/dist/families/boards/boards-config.d.ts.map +1 -0
  56. package/dist/families/boards/boards-config.js +220 -0
  57. package/dist/families/boards/boards-config.js.map +1 -0
  58. package/dist/families/boards/boards-track-components.d.ts +13 -0
  59. package/dist/families/boards/boards-track-components.d.ts.map +1 -0
  60. package/dist/families/boards/boards-track-components.js +14 -0
  61. package/dist/families/boards/boards-track-components.js.map +1 -0
  62. package/dist/families/boards/boards-track.definitions.d.ts +20 -0
  63. package/dist/families/boards/boards-track.definitions.d.ts.map +1 -0
  64. package/dist/families/boards/boards-track.definitions.js +80 -0
  65. package/dist/families/boards/boards-track.definitions.js.map +1 -0
  66. package/dist/families/boards/index.d.ts +15 -0
  67. package/dist/families/boards/index.d.ts.map +1 -0
  68. package/dist/families/boards/index.js +15 -0
  69. package/dist/families/boards/index.js.map +1 -0
  70. package/dist/families/calendar/CalendarLegendFilter.d.ts +41 -0
  71. package/dist/families/calendar/CalendarLegendFilter.d.ts.map +1 -0
  72. package/dist/families/calendar/CalendarLegendFilter.js +54 -0
  73. package/dist/families/calendar/CalendarLegendFilter.js.map +1 -0
  74. package/dist/families/calendar/CalendarMonth.d.ts +35 -0
  75. package/dist/families/calendar/CalendarMonth.d.ts.map +1 -0
  76. package/dist/families/calendar/CalendarMonth.js +123 -0
  77. package/dist/families/calendar/CalendarMonth.js.map +1 -0
  78. package/dist/families/calendar/CapacityBoard.d.ts +29 -0
  79. package/dist/families/calendar/CapacityBoard.d.ts.map +1 -0
  80. package/dist/families/calendar/CapacityBoard.js +61 -0
  81. package/dist/families/calendar/CapacityBoard.js.map +1 -0
  82. package/dist/families/calendar/DateRangePicker.d.ts +50 -0
  83. package/dist/families/calendar/DateRangePicker.d.ts.map +1 -0
  84. package/dist/families/calendar/DateRangePicker.js +119 -0
  85. package/dist/families/calendar/DateRangePicker.js.map +1 -0
  86. package/dist/families/calendar/DayAgenda.d.ts +26 -0
  87. package/dist/families/calendar/DayAgenda.d.ts.map +1 -0
  88. package/dist/families/calendar/DayAgenda.js +65 -0
  89. package/dist/families/calendar/DayAgenda.js.map +1 -0
  90. package/dist/families/calendar/ScheduleMatrix.d.ts +37 -0
  91. package/dist/families/calendar/ScheduleMatrix.d.ts.map +1 -0
  92. package/dist/families/calendar/ScheduleMatrix.js +114 -0
  93. package/dist/families/calendar/ScheduleMatrix.js.map +1 -0
  94. package/dist/families/calendar/ScheduledJobsList.d.ts +40 -0
  95. package/dist/families/calendar/ScheduledJobsList.d.ts.map +1 -0
  96. package/dist/families/calendar/ScheduledJobsList.js +72 -0
  97. package/dist/families/calendar/ScheduledJobsList.js.map +1 -0
  98. package/dist/families/calendar/UpcomingEventsList.d.ts +54 -0
  99. package/dist/families/calendar/UpcomingEventsList.d.ts.map +1 -0
  100. package/dist/families/calendar/UpcomingEventsList.js +80 -0
  101. package/dist/families/calendar/UpcomingEventsList.js.map +1 -0
  102. package/dist/families/calendar/calendar-config.d.ts +1267 -0
  103. package/dist/families/calendar/calendar-config.d.ts.map +1 -0
  104. package/dist/families/calendar/calendar-config.js +386 -0
  105. package/dist/families/calendar/calendar-config.js.map +1 -0
  106. package/dist/families/calendar/calendar-lib.d.ts +200 -0
  107. package/dist/families/calendar/calendar-lib.d.ts.map +1 -0
  108. package/dist/families/calendar/calendar-lib.js +365 -0
  109. package/dist/families/calendar/calendar-lib.js.map +1 -0
  110. package/dist/families/calendar/calendar-track-components.d.ts +16 -0
  111. package/dist/families/calendar/calendar-track-components.d.ts.map +1 -0
  112. package/dist/families/calendar/calendar-track-components.js +17 -0
  113. package/dist/families/calendar/calendar-track-components.js.map +1 -0
  114. package/dist/families/calendar/calendar-track.definitions.d.ts +24 -0
  115. package/dist/families/calendar/calendar-track.definitions.d.ts.map +1 -0
  116. package/dist/families/calendar/calendar-track.definitions.js +133 -0
  117. package/dist/families/calendar/calendar-track.definitions.js.map +1 -0
  118. package/dist/families/calendar/calendar-types.d.ts +135 -0
  119. package/dist/families/calendar/calendar-types.d.ts.map +1 -0
  120. package/dist/families/calendar/calendar-types.js +9 -0
  121. package/dist/families/calendar/calendar-types.js.map +1 -0
  122. package/dist/families/calendar/index.d.ts +20 -0
  123. package/dist/families/calendar/index.d.ts.map +1 -0
  124. package/dist/families/calendar/index.js +20 -0
  125. package/dist/families/calendar/index.js.map +1 -0
  126. package/dist/families/charts/BarsRankingWidgets.d.ts +10 -0
  127. package/dist/families/charts/BarsRankingWidgets.d.ts.map +1 -0
  128. package/dist/families/charts/BarsRankingWidgets.js +74 -0
  129. package/dist/families/charts/BarsRankingWidgets.js.map +1 -0
  130. package/dist/families/charts/ChartWidgets.d.ts +23 -0
  131. package/dist/families/charts/ChartWidgets.d.ts.map +1 -0
  132. package/dist/families/charts/ChartWidgets.js +82 -0
  133. package/dist/families/charts/ChartWidgets.js.map +1 -0
  134. package/dist/families/charts/DistributionCorrelationWidgets.d.ts +18 -0
  135. package/dist/families/charts/DistributionCorrelationWidgets.d.ts.map +1 -0
  136. package/dist/families/charts/DistributionCorrelationWidgets.js +132 -0
  137. package/dist/families/charts/DistributionCorrelationWidgets.js.map +1 -0
  138. package/dist/families/charts/MatrixGeoWidgets.d.ts +794 -0
  139. package/dist/families/charts/MatrixGeoWidgets.d.ts.map +1 -0
  140. package/dist/families/charts/MatrixGeoWidgets.js +213 -0
  141. package/dist/families/charts/MatrixGeoWidgets.js.map +1 -0
  142. package/dist/families/charts/PartWholeWidgets.d.ts +10 -0
  143. package/dist/families/charts/PartWholeWidgets.d.ts.map +1 -0
  144. package/dist/families/charts/PartWholeWidgets.js +67 -0
  145. package/dist/families/charts/PartWholeWidgets.js.map +1 -0
  146. package/dist/families/charts/TimeFlowWidgets.d.ts +10 -0
  147. package/dist/families/charts/TimeFlowWidgets.d.ts.map +1 -0
  148. package/dist/families/charts/TimeFlowWidgets.js +73 -0
  149. package/dist/families/charts/TimeFlowWidgets.js.map +1 -0
  150. package/dist/families/charts/bars-ranking-components.d.ts +8 -0
  151. package/dist/families/charts/bars-ranking-components.d.ts.map +1 -0
  152. package/dist/families/charts/bars-ranking-components.js +8 -0
  153. package/dist/families/charts/bars-ranking-components.js.map +1 -0
  154. package/dist/families/charts/bars-ranking-config.d.ts +1035 -0
  155. package/dist/families/charts/bars-ranking-config.d.ts.map +1 -0
  156. package/dist/families/charts/bars-ranking-config.js +72 -0
  157. package/dist/families/charts/bars-ranking-config.js.map +1 -0
  158. package/dist/families/charts/bars-ranking-definitions.d.ts +3 -0
  159. package/dist/families/charts/bars-ranking-definitions.d.ts.map +1 -0
  160. package/dist/families/charts/bars-ranking-definitions.js +107 -0
  161. package/dist/families/charts/bars-ranking-definitions.js.map +1 -0
  162. package/dist/families/charts/bars-ranking-demo.d.ts +41 -0
  163. package/dist/families/charts/bars-ranking-demo.d.ts.map +1 -0
  164. package/dist/families/charts/bars-ranking-demo.js +91 -0
  165. package/dist/families/charts/bars-ranking-demo.js.map +1 -0
  166. package/dist/families/charts/bars-ranking-shapes.d.ts +39 -0
  167. package/dist/families/charts/bars-ranking-shapes.d.ts.map +1 -0
  168. package/dist/families/charts/bars-ranking-shapes.js +115 -0
  169. package/dist/families/charts/bars-ranking-shapes.js.map +1 -0
  170. package/dist/families/charts/charts-config.d.ts +607 -0
  171. package/dist/families/charts/charts-config.d.ts.map +1 -0
  172. package/dist/families/charts/charts-config.js +56 -0
  173. package/dist/families/charts/charts-config.js.map +1 -0
  174. package/dist/families/charts/components.d.ts +6 -0
  175. package/dist/families/charts/components.d.ts.map +1 -0
  176. package/dist/families/charts/components.js +6 -0
  177. package/dist/families/charts/components.js.map +1 -0
  178. package/dist/families/charts/def.part-whole.d.ts +63 -0
  179. package/dist/families/charts/def.part-whole.d.ts.map +1 -0
  180. package/dist/families/charts/def.part-whole.js +203 -0
  181. package/dist/families/charts/def.part-whole.js.map +1 -0
  182. package/dist/families/charts/definitions.d.ts +37 -0
  183. package/dist/families/charts/definitions.d.ts.map +1 -0
  184. package/dist/families/charts/definitions.distribution-correlation.d.ts +3 -0
  185. package/dist/families/charts/definitions.distribution-correlation.d.ts.map +1 -0
  186. package/dist/families/charts/definitions.distribution-correlation.js +124 -0
  187. package/dist/families/charts/definitions.distribution-correlation.js.map +1 -0
  188. package/dist/families/charts/definitions.js +89 -0
  189. package/dist/families/charts/definitions.js.map +1 -0
  190. package/dist/families/charts/defs.matrix-geo.d.ts +63 -0
  191. package/dist/families/charts/defs.matrix-geo.d.ts.map +1 -0
  192. package/dist/families/charts/defs.matrix-geo.js +201 -0
  193. package/dist/families/charts/defs.matrix-geo.js.map +1 -0
  194. package/dist/families/charts/distributionShapes.d.ts +1049 -0
  195. package/dist/families/charts/distributionShapes.d.ts.map +1 -0
  196. package/dist/families/charts/distributionShapes.js +321 -0
  197. package/dist/families/charts/distributionShapes.js.map +1 -0
  198. package/dist/families/charts/index.d.ts +18 -0
  199. package/dist/families/charts/index.d.ts.map +1 -0
  200. package/dist/families/charts/index.js +15 -0
  201. package/dist/families/charts/index.js.map +1 -0
  202. package/dist/families/charts/part-whole-config.d.ts +1058 -0
  203. package/dist/families/charts/part-whole-config.d.ts.map +1 -0
  204. package/dist/families/charts/part-whole-config.js +127 -0
  205. package/dist/families/charts/part-whole-config.js.map +1 -0
  206. package/dist/families/charts/part-whole-shapes.d.ts +40 -0
  207. package/dist/families/charts/part-whole-shapes.d.ts.map +1 -0
  208. package/dist/families/charts/part-whole-shapes.js +89 -0
  209. package/dist/families/charts/part-whole-shapes.js.map +1 -0
  210. package/dist/families/charts/time-flow-adapters.d.ts +73 -0
  211. package/dist/families/charts/time-flow-adapters.d.ts.map +1 -0
  212. package/dist/families/charts/time-flow-adapters.js +196 -0
  213. package/dist/families/charts/time-flow-adapters.js.map +1 -0
  214. package/dist/families/charts/time-flow-components.d.ts +8 -0
  215. package/dist/families/charts/time-flow-components.d.ts.map +1 -0
  216. package/dist/families/charts/time-flow-components.js +8 -0
  217. package/dist/families/charts/time-flow-components.js.map +1 -0
  218. package/dist/families/charts/time-flow-config.d.ts +1014 -0
  219. package/dist/families/charts/time-flow-config.d.ts.map +1 -0
  220. package/dist/families/charts/time-flow-config.js +98 -0
  221. package/dist/families/charts/time-flow-config.js.map +1 -0
  222. package/dist/families/charts/time-flow-definitions.d.ts +3 -0
  223. package/dist/families/charts/time-flow-definitions.d.ts.map +1 -0
  224. package/dist/families/charts/time-flow-definitions.js +107 -0
  225. package/dist/families/charts/time-flow-definitions.js.map +1 -0
  226. package/dist/families/charts/time-flow-demo.d.ts +48 -0
  227. package/dist/families/charts/time-flow-demo.d.ts.map +1 -0
  228. package/dist/families/charts/time-flow-demo.js +179 -0
  229. package/dist/families/charts/time-flow-demo.js.map +1 -0
  230. package/dist/families/chrome/AvatarStackWidget.d.ts +32 -0
  231. package/dist/families/chrome/AvatarStackWidget.d.ts.map +1 -0
  232. package/dist/families/chrome/AvatarStackWidget.js +42 -0
  233. package/dist/families/chrome/AvatarStackWidget.js.map +1 -0
  234. package/dist/families/chrome/Breadcrumb.d.ts +22 -0
  235. package/dist/families/chrome/Breadcrumb.d.ts.map +1 -0
  236. package/dist/families/chrome/Breadcrumb.js +47 -0
  237. package/dist/families/chrome/Breadcrumb.js.map +1 -0
  238. package/dist/families/chrome/CommandPaletteWidget.d.ts +46 -0
  239. package/dist/families/chrome/CommandPaletteWidget.d.ts.map +1 -0
  240. package/dist/families/chrome/CommandPaletteWidget.js +121 -0
  241. package/dist/families/chrome/CommandPaletteWidget.js.map +1 -0
  242. package/dist/families/chrome/GlobalSearch.d.ts +63 -0
  243. package/dist/families/chrome/GlobalSearch.d.ts.map +1 -0
  244. package/dist/families/chrome/GlobalSearch.js +106 -0
  245. package/dist/families/chrome/GlobalSearch.js.map +1 -0
  246. package/dist/families/chrome/NavCard.d.ts +37 -0
  247. package/dist/families/chrome/NavCard.d.ts.map +1 -0
  248. package/dist/families/chrome/NavCard.js +67 -0
  249. package/dist/families/chrome/NavCard.js.map +1 -0
  250. package/dist/families/chrome/ShortcutsPanel.d.ts +42 -0
  251. package/dist/families/chrome/ShortcutsPanel.d.ts.map +1 -0
  252. package/dist/families/chrome/ShortcutsPanel.js +37 -0
  253. package/dist/families/chrome/ShortcutsPanel.js.map +1 -0
  254. package/dist/families/chrome/SidebarNav.d.ts +55 -0
  255. package/dist/families/chrome/SidebarNav.d.ts.map +1 -0
  256. package/dist/families/chrome/SidebarNav.js +90 -0
  257. package/dist/families/chrome/SidebarNav.js.map +1 -0
  258. package/dist/families/chrome/TabBar.d.ts +29 -0
  259. package/dist/families/chrome/TabBar.d.ts.map +1 -0
  260. package/dist/families/chrome/TabBar.js +61 -0
  261. package/dist/families/chrome/TabBar.js.map +1 -0
  262. package/dist/families/chrome/chrome-config.d.ts +1372 -0
  263. package/dist/families/chrome/chrome-config.d.ts.map +1 -0
  264. package/dist/families/chrome/chrome-config.js +356 -0
  265. package/dist/families/chrome/chrome-config.js.map +1 -0
  266. package/dist/families/chrome/chrome-icons.d.ts +6 -0
  267. package/dist/families/chrome/chrome-icons.d.ts.map +1 -0
  268. package/dist/families/chrome/chrome-icons.js +37 -0
  269. package/dist/families/chrome/chrome-icons.js.map +1 -0
  270. package/dist/families/chrome/chrome-lib.d.ts +82 -0
  271. package/dist/families/chrome/chrome-lib.d.ts.map +1 -0
  272. package/dist/families/chrome/chrome-lib.js +202 -0
  273. package/dist/families/chrome/chrome-lib.js.map +1 -0
  274. package/dist/families/chrome/chrome-track-components.d.ts +16 -0
  275. package/dist/families/chrome/chrome-track-components.d.ts.map +1 -0
  276. package/dist/families/chrome/chrome-track-components.js +16 -0
  277. package/dist/families/chrome/chrome-track-components.js.map +1 -0
  278. package/dist/families/chrome/chrome-track.definitions.d.ts +36 -0
  279. package/dist/families/chrome/chrome-track.definitions.d.ts.map +1 -0
  280. package/dist/families/chrome/chrome-track.definitions.js +138 -0
  281. package/dist/families/chrome/chrome-track.definitions.js.map +1 -0
  282. package/dist/families/chrome/index.d.ts +22 -0
  283. package/dist/families/chrome/index.d.ts.map +1 -0
  284. package/dist/families/chrome/index.js +22 -0
  285. package/dist/families/chrome/index.js.map +1 -0
  286. package/dist/families/communication/AiChatPanel.d.ts +51 -0
  287. package/dist/families/communication/AiChatPanel.d.ts.map +1 -0
  288. package/dist/families/communication/AiChatPanel.js +72 -0
  289. package/dist/families/communication/AiChatPanel.js.map +1 -0
  290. package/dist/families/communication/CallWidget.d.ts +45 -0
  291. package/dist/families/communication/CallWidget.d.ts.map +1 -0
  292. package/dist/families/communication/CallWidget.js +64 -0
  293. package/dist/families/communication/CallWidget.js.map +1 -0
  294. package/dist/families/communication/ChatThread.d.ts +49 -0
  295. package/dist/families/communication/ChatThread.d.ts.map +1 -0
  296. package/dist/families/communication/ChatThread.js +71 -0
  297. package/dist/families/communication/ChatThread.js.map +1 -0
  298. package/dist/families/communication/ConversationInbox.d.ts +47 -0
  299. package/dist/families/communication/ConversationInbox.d.ts.map +1 -0
  300. package/dist/families/communication/ConversationInbox.js +74 -0
  301. package/dist/families/communication/ConversationInbox.js.map +1 -0
  302. package/dist/families/communication/TypingIndicator.d.ts +40 -0
  303. package/dist/families/communication/TypingIndicator.d.ts.map +1 -0
  304. package/dist/families/communication/TypingIndicator.js +30 -0
  305. package/dist/families/communication/TypingIndicator.js.map +1 -0
  306. package/dist/families/communication/chat-lib.d.ts +159 -0
  307. package/dist/families/communication/chat-lib.d.ts.map +1 -0
  308. package/dist/families/communication/chat-lib.js +307 -0
  309. package/dist/families/communication/chat-lib.js.map +1 -0
  310. package/dist/families/communication/communication-config.d.ts +849 -0
  311. package/dist/families/communication/communication-config.d.ts.map +1 -0
  312. package/dist/families/communication/communication-config.js +331 -0
  313. package/dist/families/communication/communication-config.js.map +1 -0
  314. package/dist/families/communication/communication-track-components.d.ts +13 -0
  315. package/dist/families/communication/communication-track-components.d.ts.map +1 -0
  316. package/dist/families/communication/communication-track-components.js +13 -0
  317. package/dist/families/communication/communication-track-components.js.map +1 -0
  318. package/dist/families/communication/communication-track.definitions.d.ts +23 -0
  319. package/dist/families/communication/communication-track.definitions.d.ts.map +1 -0
  320. package/dist/families/communication/communication-track.definitions.js +99 -0
  321. package/dist/families/communication/communication-track.definitions.js.map +1 -0
  322. package/dist/families/communication/index.d.ts +16 -0
  323. package/dist/families/communication/index.d.ts.map +1 -0
  324. package/dist/families/communication/index.js +16 -0
  325. package/dist/families/communication/index.js.map +1 -0
  326. package/dist/families/domain/ApiKeysPanel.d.ts +57 -0
  327. package/dist/families/domain/ApiKeysPanel.d.ts.map +1 -0
  328. package/dist/families/domain/ApiKeysPanel.js +121 -0
  329. package/dist/families/domain/ApiKeysPanel.js.map +1 -0
  330. package/dist/families/domain/ApiPlayground.d.ts +51 -0
  331. package/dist/families/domain/ApiPlayground.d.ts.map +1 -0
  332. package/dist/families/domain/ApiPlayground.js +110 -0
  333. package/dist/families/domain/ApiPlayground.js.map +1 -0
  334. package/dist/families/domain/BlockContent.d.ts +11 -0
  335. package/dist/families/domain/BlockContent.d.ts.map +1 -0
  336. package/dist/families/domain/BlockContent.js +42 -0
  337. package/dist/families/domain/BlockContent.js.map +1 -0
  338. package/dist/families/domain/BlockFinancial.d.ts +32 -0
  339. package/dist/families/domain/BlockFinancial.d.ts.map +1 -0
  340. package/dist/families/domain/BlockFinancial.js +205 -0
  341. package/dist/families/domain/BlockFinancial.js.map +1 -0
  342. package/dist/families/domain/BlockReport.d.ts +11 -0
  343. package/dist/families/domain/BlockReport.d.ts.map +1 -0
  344. package/dist/families/domain/BlockReport.js +129 -0
  345. package/dist/families/domain/BlockReport.js.map +1 -0
  346. package/dist/families/domain/BlockShell.d.ts +60 -0
  347. package/dist/families/domain/BlockShell.d.ts.map +1 -0
  348. package/dist/families/domain/BlockShell.js +76 -0
  349. package/dist/families/domain/BlockShell.js.map +1 -0
  350. package/dist/families/domain/BlockStatus.d.ts +30 -0
  351. package/dist/families/domain/BlockStatus.d.ts.map +1 -0
  352. package/dist/families/domain/BlockStatus.js +143 -0
  353. package/dist/families/domain/BlockStatus.js.map +1 -0
  354. package/dist/families/domain/CreditCardTile.d.ts +44 -0
  355. package/dist/families/domain/CreditCardTile.d.ts.map +1 -0
  356. package/dist/families/domain/CreditCardTile.js +105 -0
  357. package/dist/families/domain/CreditCardTile.js.map +1 -0
  358. package/dist/families/domain/DocumentCanvas.d.ts +7 -0
  359. package/dist/families/domain/DocumentCanvas.d.ts.map +1 -0
  360. package/dist/families/domain/DocumentCanvas.js +144 -0
  361. package/dist/families/domain/DocumentCanvas.js.map +1 -0
  362. package/dist/families/domain/ExperimentVariantCompare.d.ts +41 -0
  363. package/dist/families/domain/ExperimentVariantCompare.d.ts.map +1 -0
  364. package/dist/families/domain/ExperimentVariantCompare.js +90 -0
  365. package/dist/families/domain/ExperimentVariantCompare.js.map +1 -0
  366. package/dist/families/domain/GanttChart.d.ts +60 -0
  367. package/dist/families/domain/GanttChart.d.ts.map +1 -0
  368. package/dist/families/domain/GanttChart.js +112 -0
  369. package/dist/families/domain/GanttChart.js.map +1 -0
  370. package/dist/families/domain/OpsApi.d.ts +45 -0
  371. package/dist/families/domain/OpsApi.d.ts.map +1 -0
  372. package/dist/families/domain/OpsApi.js +167 -0
  373. package/dist/families/domain/OpsApi.js.map +1 -0
  374. package/dist/families/domain/OpsEmpty.d.ts +21 -0
  375. package/dist/families/domain/OpsEmpty.d.ts.map +1 -0
  376. package/dist/families/domain/OpsEmpty.js +6 -0
  377. package/dist/families/domain/OpsEmpty.js.map +1 -0
  378. package/dist/families/domain/OpsMonitoring.d.ts +71 -0
  379. package/dist/families/domain/OpsMonitoring.d.ts.map +1 -0
  380. package/dist/families/domain/OpsMonitoring.js +179 -0
  381. package/dist/families/domain/OpsMonitoring.js.map +1 -0
  382. package/dist/families/domain/OpsOnboarding.d.ts +29 -0
  383. package/dist/families/domain/OpsOnboarding.d.ts.map +1 -0
  384. package/dist/families/domain/OpsOnboarding.js +191 -0
  385. package/dist/families/domain/OpsOnboarding.js.map +1 -0
  386. package/dist/families/domain/OpsTrust.d.ts +43 -0
  387. package/dist/families/domain/OpsTrust.d.ts.map +1 -0
  388. package/dist/families/domain/OpsTrust.js +153 -0
  389. package/dist/families/domain/OpsTrust.js.map +1 -0
  390. package/dist/families/domain/OrgChart.d.ts +45 -0
  391. package/dist/families/domain/OrgChart.d.ts.map +1 -0
  392. package/dist/families/domain/OrgChart.js +110 -0
  393. package/dist/families/domain/OrgChart.js.map +1 -0
  394. package/dist/families/domain/PlanPricingCards.d.ts +43 -0
  395. package/dist/families/domain/PlanPricingCards.d.ts.map +1 -0
  396. package/dist/families/domain/PlanPricingCards.js +85 -0
  397. package/dist/families/domain/PlanPricingCards.js.map +1 -0
  398. package/dist/families/domain/SloMonitorCard.d.ts +43 -0
  399. package/dist/families/domain/SloMonitorCard.d.ts.map +1 -0
  400. package/dist/families/domain/SloMonitorCard.js +76 -0
  401. package/dist/families/domain/SloMonitorCard.js.map +1 -0
  402. package/dist/families/domain/UptimeSegmentBar.d.ts +42 -0
  403. package/dist/families/domain/UptimeSegmentBar.d.ts.map +1 -0
  404. package/dist/families/domain/UptimeSegmentBar.js +81 -0
  405. package/dist/families/domain/UptimeSegmentBar.js.map +1 -0
  406. package/dist/families/domain/block-lib.d.ts +159 -0
  407. package/dist/families/domain/block-lib.d.ts.map +1 -0
  408. package/dist/families/domain/block-lib.js +390 -0
  409. package/dist/families/domain/block-lib.js.map +1 -0
  410. package/dist/families/domain/block-types.d.ts +227 -0
  411. package/dist/families/domain/block-types.d.ts.map +1 -0
  412. package/dist/families/domain/block-types.js +23 -0
  413. package/dist/families/domain/block-types.js.map +1 -0
  414. package/dist/families/domain/blocks-config.d.ts +3510 -0
  415. package/dist/families/domain/blocks-config.d.ts.map +1 -0
  416. package/dist/families/domain/blocks-config.js +645 -0
  417. package/dist/families/domain/blocks-config.js.map +1 -0
  418. package/dist/families/domain/blocks-track-components.d.ts +16 -0
  419. package/dist/families/domain/blocks-track-components.d.ts.map +1 -0
  420. package/dist/families/domain/blocks-track-components.js +16 -0
  421. package/dist/families/domain/blocks-track-components.js.map +1 -0
  422. package/dist/families/domain/blocks-track.definitions.d.ts +66 -0
  423. package/dist/families/domain/blocks-track.definitions.d.ts.map +1 -0
  424. package/dist/families/domain/blocks-track.definitions.js +379 -0
  425. package/dist/families/domain/blocks-track.definitions.js.map +1 -0
  426. package/dist/families/domain/domain-config.d.ts +352 -0
  427. package/dist/families/domain/domain-config.d.ts.map +1 -0
  428. package/dist/families/domain/domain-config.js +187 -0
  429. package/dist/families/domain/domain-config.js.map +1 -0
  430. package/dist/families/domain/domain-lib.d.ts +227 -0
  431. package/dist/families/domain/domain-lib.d.ts.map +1 -0
  432. package/dist/families/domain/domain-lib.js +494 -0
  433. package/dist/families/domain/domain-lib.js.map +1 -0
  434. package/dist/families/domain/domain-ops-config.d.ts +2939 -0
  435. package/dist/families/domain/domain-ops-config.d.ts.map +1 -0
  436. package/dist/families/domain/domain-ops-config.js +976 -0
  437. package/dist/families/domain/domain-ops-config.js.map +1 -0
  438. package/dist/families/domain/domain-ops-lib.d.ts +214 -0
  439. package/dist/families/domain/domain-ops-lib.d.ts.map +1 -0
  440. package/dist/families/domain/domain-ops-lib.js +489 -0
  441. package/dist/families/domain/domain-ops-lib.js.map +1 -0
  442. package/dist/families/domain/domain-ops-track-components.d.ts +28 -0
  443. package/dist/families/domain/domain-ops-track-components.d.ts.map +1 -0
  444. package/dist/families/domain/domain-ops-track-components.js +28 -0
  445. package/dist/families/domain/domain-ops-track-components.js.map +1 -0
  446. package/dist/families/domain/domain-ops-track.definitions.d.ts +56 -0
  447. package/dist/families/domain/domain-ops-track.definitions.d.ts.map +1 -0
  448. package/dist/families/domain/domain-ops-track.definitions.js +364 -0
  449. package/dist/families/domain/domain-ops-track.definitions.js.map +1 -0
  450. package/dist/families/domain/domain-ops-types.d.ts +226 -0
  451. package/dist/families/domain/domain-ops-types.d.ts.map +1 -0
  452. package/dist/families/domain/domain-ops-types.js +29 -0
  453. package/dist/families/domain/domain-ops-types.js.map +1 -0
  454. package/dist/families/domain/domain-track-components.d.ts +10 -0
  455. package/dist/families/domain/domain-track-components.d.ts.map +1 -0
  456. package/dist/families/domain/domain-track-components.js +10 -0
  457. package/dist/families/domain/domain-track-components.js.map +1 -0
  458. package/dist/families/domain/domain-track.definitions.d.ts +22 -0
  459. package/dist/families/domain/domain-track.definitions.d.ts.map +1 -0
  460. package/dist/families/domain/domain-track.definitions.js +66 -0
  461. package/dist/families/domain/domain-track.definitions.js.map +1 -0
  462. package/dist/families/domain/domain-types.d.ts +86 -0
  463. package/dist/families/domain/domain-types.d.ts.map +1 -0
  464. package/dist/families/domain/domain-types.js +18 -0
  465. package/dist/families/domain/domain-types.js.map +1 -0
  466. package/dist/families/domain/index.d.ts +44 -0
  467. package/dist/families/domain/index.d.ts.map +1 -0
  468. package/dist/families/domain/index.js +45 -0
  469. package/dist/families/domain/index.js.map +1 -0
  470. package/dist/families/feeds/ActivityFeed.d.ts +28 -0
  471. package/dist/families/feeds/ActivityFeed.d.ts.map +1 -0
  472. package/dist/families/feeds/ActivityFeed.js +41 -0
  473. package/dist/families/feeds/ActivityFeed.js.map +1 -0
  474. package/dist/families/feeds/LoadOlderPaginator.d.ts +45 -0
  475. package/dist/families/feeds/LoadOlderPaginator.d.ts.map +1 -0
  476. package/dist/families/feeds/LoadOlderPaginator.js +59 -0
  477. package/dist/families/feeds/LoadOlderPaginator.js.map +1 -0
  478. package/dist/families/feeds/NotificationFeed.d.ts +33 -0
  479. package/dist/families/feeds/NotificationFeed.d.ts.map +1 -0
  480. package/dist/families/feeds/NotificationFeed.js +122 -0
  481. package/dist/families/feeds/NotificationFeed.js.map +1 -0
  482. package/dist/families/feeds/RealtimeFeed.d.ts +29 -0
  483. package/dist/families/feeds/RealtimeFeed.d.ts.map +1 -0
  484. package/dist/families/feeds/RealtimeFeed.js +110 -0
  485. package/dist/families/feeds/RealtimeFeed.js.map +1 -0
  486. package/dist/families/feeds/TimelineVertical.d.ts +28 -0
  487. package/dist/families/feeds/TimelineVertical.d.ts.map +1 -0
  488. package/dist/families/feeds/TimelineVertical.js +64 -0
  489. package/dist/families/feeds/TimelineVertical.js.map +1 -0
  490. package/dist/families/feeds/ToastStack.d.ts +42 -0
  491. package/dist/families/feeds/ToastStack.d.ts.map +1 -0
  492. package/dist/families/feeds/ToastStack.js +120 -0
  493. package/dist/families/feeds/ToastStack.js.map +1 -0
  494. package/dist/families/feeds/UnreadBadge.d.ts +23 -0
  495. package/dist/families/feeds/UnreadBadge.d.ts.map +1 -0
  496. package/dist/families/feeds/UnreadBadge.js +42 -0
  497. package/dist/families/feeds/UnreadBadge.js.map +1 -0
  498. package/dist/families/feeds/feed-demo-lib.d.ts +22 -0
  499. package/dist/families/feeds/feed-demo-lib.d.ts.map +1 -0
  500. package/dist/families/feeds/feed-demo-lib.js +33 -0
  501. package/dist/families/feeds/feed-demo-lib.js.map +1 -0
  502. package/dist/families/feeds/feed-icons.d.ts +4 -0
  503. package/dist/families/feeds/feed-icons.d.ts.map +1 -0
  504. package/dist/families/feeds/feed-icons.js +39 -0
  505. package/dist/families/feeds/feed-icons.js.map +1 -0
  506. package/dist/families/feeds/feed-lib.d.ts +42 -0
  507. package/dist/families/feeds/feed-lib.d.ts.map +1 -0
  508. package/dist/families/feeds/feed-lib.js +61 -0
  509. package/dist/families/feeds/feed-lib.js.map +1 -0
  510. package/dist/families/feeds/feeds-config.d.ts +1114 -0
  511. package/dist/families/feeds/feeds-config.d.ts.map +1 -0
  512. package/dist/families/feeds/feeds-config.js +278 -0
  513. package/dist/families/feeds/feeds-config.js.map +1 -0
  514. package/dist/families/feeds/feeds-track-f-components.d.ts +15 -0
  515. package/dist/families/feeds/feeds-track-f-components.d.ts.map +1 -0
  516. package/dist/families/feeds/feeds-track-f-components.js +16 -0
  517. package/dist/families/feeds/feeds-track-f-components.js.map +1 -0
  518. package/dist/families/feeds/feeds-track-f.definitions.d.ts +39 -0
  519. package/dist/families/feeds/feeds-track-f.definitions.d.ts.map +1 -0
  520. package/dist/families/feeds/feeds-track-f.definitions.js +129 -0
  521. package/dist/families/feeds/feeds-track-f.definitions.js.map +1 -0
  522. package/dist/families/feeds/feeds-types.d.ts +85 -0
  523. package/dist/families/feeds/feeds-types.d.ts.map +1 -0
  524. package/dist/families/feeds/feeds-types.js +12 -0
  525. package/dist/families/feeds/feeds-types.js.map +1 -0
  526. package/dist/families/feeds/index.d.ts +16 -0
  527. package/dist/families/feeds/index.d.ts.map +1 -0
  528. package/dist/families/feeds/index.js +16 -0
  529. package/dist/families/feeds/index.js.map +1 -0
  530. package/dist/families/forms/ColumnMappingTable.d.ts +37 -0
  531. package/dist/families/forms/ColumnMappingTable.d.ts.map +1 -0
  532. package/dist/families/forms/ColumnMappingTable.js +76 -0
  533. package/dist/families/forms/ColumnMappingTable.js.map +1 -0
  534. package/dist/families/forms/ConnectionStringField.d.ts +74 -0
  535. package/dist/families/forms/ConnectionStringField.d.ts.map +1 -0
  536. package/dist/families/forms/ConnectionStringField.js +103 -0
  537. package/dist/families/forms/ConnectionStringField.js.map +1 -0
  538. package/dist/families/forms/DrawerForm.d.ts +20 -0
  539. package/dist/families/forms/DrawerForm.d.ts.map +1 -0
  540. package/dist/families/forms/DrawerForm.js +60 -0
  541. package/dist/families/forms/DrawerForm.js.map +1 -0
  542. package/dist/families/forms/ExportBuilder.d.ts +31 -0
  543. package/dist/families/forms/ExportBuilder.d.ts.map +1 -0
  544. package/dist/families/forms/ExportBuilder.js +76 -0
  545. package/dist/families/forms/ExportBuilder.js.map +1 -0
  546. package/dist/families/forms/FilterChipBar.d.ts +49 -0
  547. package/dist/families/forms/FilterChipBar.d.ts.map +1 -0
  548. package/dist/families/forms/FilterChipBar.js +82 -0
  549. package/dist/families/forms/FilterChipBar.js.map +1 -0
  550. package/dist/families/forms/FlowBuilder.d.ts +40 -0
  551. package/dist/families/forms/FlowBuilder.d.ts.map +1 -0
  552. package/dist/families/forms/FlowBuilder.js +128 -0
  553. package/dist/families/forms/FlowBuilder.js.map +1 -0
  554. package/dist/families/forms/FormFields.d.ts +28 -0
  555. package/dist/families/forms/FormFields.d.ts.map +1 -0
  556. package/dist/families/forms/FormFields.js +60 -0
  557. package/dist/families/forms/FormFields.js.map +1 -0
  558. package/dist/families/forms/InlineEditableField.d.ts +28 -0
  559. package/dist/families/forms/InlineEditableField.d.ts.map +1 -0
  560. package/dist/families/forms/InlineEditableField.js +130 -0
  561. package/dist/families/forms/InlineEditableField.js.map +1 -0
  562. package/dist/families/forms/InputWidgets.d.ts +35 -0
  563. package/dist/families/forms/InputWidgets.d.ts.map +1 -0
  564. package/dist/families/forms/InputWidgets.js +116 -0
  565. package/dist/families/forms/InputWidgets.js.map +1 -0
  566. package/dist/families/forms/ModalWizard.d.ts +28 -0
  567. package/dist/families/forms/ModalWizard.d.ts.map +1 -0
  568. package/dist/families/forms/ModalWizard.js +77 -0
  569. package/dist/families/forms/ModalWizard.js.map +1 -0
  570. package/dist/families/forms/OptionCards.d.ts +26 -0
  571. package/dist/families/forms/OptionCards.d.ts.map +1 -0
  572. package/dist/families/forms/OptionCards.js +73 -0
  573. package/dist/families/forms/OptionCards.js.map +1 -0
  574. package/dist/families/forms/ProgressBarWidget.d.ts +17 -0
  575. package/dist/families/forms/ProgressBarWidget.d.ts.map +1 -0
  576. package/dist/families/forms/ProgressBarWidget.js +28 -0
  577. package/dist/families/forms/ProgressBarWidget.js.map +1 -0
  578. package/dist/families/forms/QuestionBuilder.d.ts +35 -0
  579. package/dist/families/forms/QuestionBuilder.d.ts.map +1 -0
  580. package/dist/families/forms/QuestionBuilder.js +133 -0
  581. package/dist/families/forms/QuestionBuilder.js.map +1 -0
  582. package/dist/families/forms/RuleBuilder.d.ts +42 -0
  583. package/dist/families/forms/RuleBuilder.d.ts.map +1 -0
  584. package/dist/families/forms/RuleBuilder.js +150 -0
  585. package/dist/families/forms/RuleBuilder.js.map +1 -0
  586. package/dist/families/forms/StepperWidget.d.ts +33 -0
  587. package/dist/families/forms/StepperWidget.d.ts.map +1 -0
  588. package/dist/families/forms/StepperWidget.js +70 -0
  589. package/dist/families/forms/StepperWidget.js.map +1 -0
  590. package/dist/families/forms/TableInclusionChecklist.d.ts +71 -0
  591. package/dist/families/forms/TableInclusionChecklist.d.ts.map +1 -0
  592. package/dist/families/forms/TableInclusionChecklist.js +119 -0
  593. package/dist/families/forms/TableInclusionChecklist.js.map +1 -0
  594. package/dist/families/forms/ToggleSwitchList.d.ts +21 -0
  595. package/dist/families/forms/ToggleSwitchList.d.ts.map +1 -0
  596. package/dist/families/forms/ToggleSwitchList.js +78 -0
  597. package/dist/families/forms/ToggleSwitchList.js.map +1 -0
  598. package/dist/families/forms/ValidationIssuesList.d.ts +35 -0
  599. package/dist/families/forms/ValidationIssuesList.d.ts.map +1 -0
  600. package/dist/families/forms/ValidationIssuesList.js +64 -0
  601. package/dist/families/forms/ValidationIssuesList.js.map +1 -0
  602. package/dist/families/forms/forms-builders.d.ts +106 -0
  603. package/dist/families/forms/forms-builders.d.ts.map +1 -0
  604. package/dist/families/forms/forms-builders.js +211 -0
  605. package/dist/families/forms/forms-builders.js.map +1 -0
  606. package/dist/families/forms/forms-config.d.ts +3399 -0
  607. package/dist/families/forms/forms-config.d.ts.map +1 -0
  608. package/dist/families/forms/forms-config.js +695 -0
  609. package/dist/families/forms/forms-config.js.map +1 -0
  610. package/dist/families/forms/forms-dsn.d.ts +88 -0
  611. package/dist/families/forms/forms-dsn.d.ts.map +1 -0
  612. package/dist/families/forms/forms-dsn.js +173 -0
  613. package/dist/families/forms/forms-dsn.js.map +1 -0
  614. package/dist/families/forms/forms-icons.d.ts +13 -0
  615. package/dist/families/forms/forms-icons.d.ts.map +1 -0
  616. package/dist/families/forms/forms-icons.js +65 -0
  617. package/dist/families/forms/forms-icons.js.map +1 -0
  618. package/dist/families/forms/forms-lib.d.ts +74 -0
  619. package/dist/families/forms/forms-lib.d.ts.map +1 -0
  620. package/dist/families/forms/forms-lib.js +176 -0
  621. package/dist/families/forms/forms-lib.js.map +1 -0
  622. package/dist/families/forms/forms-state.d.ts +62 -0
  623. package/dist/families/forms/forms-state.d.ts.map +1 -0
  624. package/dist/families/forms/forms-state.js +103 -0
  625. package/dist/families/forms/forms-state.js.map +1 -0
  626. package/dist/families/forms/forms-tables.d.ts +49 -0
  627. package/dist/families/forms/forms-tables.d.ts.map +1 -0
  628. package/dist/families/forms/forms-tables.js +42 -0
  629. package/dist/families/forms/forms-tables.js.map +1 -0
  630. package/dist/families/forms/forms-track-components.d.ts +25 -0
  631. package/dist/families/forms/forms-track-components.d.ts.map +1 -0
  632. package/dist/families/forms/forms-track-components.js +25 -0
  633. package/dist/families/forms/forms-track-components.js.map +1 -0
  634. package/dist/families/forms/forms-track.definitions.d.ts +64 -0
  635. package/dist/families/forms/forms-track.definitions.d.ts.map +1 -0
  636. package/dist/families/forms/forms-track.definitions.js +333 -0
  637. package/dist/families/forms/forms-track.definitions.js.map +1 -0
  638. package/dist/families/forms/index.d.ts +37 -0
  639. package/dist/families/forms/index.d.ts.map +1 -0
  640. package/dist/families/forms/index.js +39 -0
  641. package/dist/families/forms/index.js.map +1 -0
  642. package/dist/families/geo/MapBubble.d.ts +27 -0
  643. package/dist/families/geo/MapBubble.d.ts.map +1 -0
  644. package/dist/families/geo/MapBubble.js +209 -0
  645. package/dist/families/geo/MapBubble.js.map +1 -0
  646. package/dist/families/geo/MapChoroplethGrid.d.ts +53 -0
  647. package/dist/families/geo/MapChoroplethGrid.d.ts.map +1 -0
  648. package/dist/families/geo/MapChoroplethGrid.js +42 -0
  649. package/dist/families/geo/MapChoroplethGrid.js.map +1 -0
  650. package/dist/families/geo/geo-config.d.ts +375 -0
  651. package/dist/families/geo/geo-config.d.ts.map +1 -0
  652. package/dist/families/geo/geo-config.js +177 -0
  653. package/dist/families/geo/geo-config.js.map +1 -0
  654. package/dist/families/geo/geo-lib.d.ts +108 -0
  655. package/dist/families/geo/geo-lib.d.ts.map +1 -0
  656. package/dist/families/geo/geo-lib.js +228 -0
  657. package/dist/families/geo/geo-lib.js.map +1 -0
  658. package/dist/families/geo/geo-track-components.d.ts +16 -0
  659. package/dist/families/geo/geo-track-components.d.ts.map +1 -0
  660. package/dist/families/geo/geo-track-components.js +16 -0
  661. package/dist/families/geo/geo-track-components.js.map +1 -0
  662. package/dist/families/geo/geo-track.definitions.d.ts +21 -0
  663. package/dist/families/geo/geo-track.definitions.d.ts.map +1 -0
  664. package/dist/families/geo/geo-track.definitions.js +54 -0
  665. package/dist/families/geo/geo-track.definitions.js.map +1 -0
  666. package/dist/families/geo/index.d.ts +17 -0
  667. package/dist/families/geo/index.d.ts.map +1 -0
  668. package/dist/families/geo/index.js +17 -0
  669. package/dist/families/geo/index.js.map +1 -0
  670. package/dist/families/kpi/AutoInsights.d.ts +47 -0
  671. package/dist/families/kpi/AutoInsights.d.ts.map +1 -0
  672. package/dist/families/kpi/AutoInsights.js +126 -0
  673. package/dist/families/kpi/AutoInsights.js.map +1 -0
  674. package/dist/families/kpi/GaugeArc.d.ts +31 -0
  675. package/dist/families/kpi/GaugeArc.d.ts.map +1 -0
  676. package/dist/families/kpi/GaugeArc.js +121 -0
  677. package/dist/families/kpi/GaugeArc.js.map +1 -0
  678. package/dist/families/kpi/GaugeRing.d.ts +28 -0
  679. package/dist/families/kpi/GaugeRing.d.ts.map +1 -0
  680. package/dist/families/kpi/GaugeRing.js +96 -0
  681. package/dist/families/kpi/GaugeRing.js.map +1 -0
  682. package/dist/families/kpi/KpiStatCard.d.ts +13 -0
  683. package/dist/families/kpi/KpiStatCard.d.ts.map +1 -0
  684. package/dist/families/kpi/KpiStatCard.js +43 -0
  685. package/dist/families/kpi/KpiStatCard.js.map +1 -0
  686. package/dist/families/kpi/KpiStatTileCompact.d.ts +13 -0
  687. package/dist/families/kpi/KpiStatTileCompact.d.ts.map +1 -0
  688. package/dist/families/kpi/KpiStatTileCompact.js +29 -0
  689. package/dist/families/kpi/KpiStatTileCompact.js.map +1 -0
  690. package/dist/families/kpi/MetricHero.d.ts +25 -0
  691. package/dist/families/kpi/MetricHero.d.ts.map +1 -0
  692. package/dist/families/kpi/MetricHero.js +85 -0
  693. package/dist/families/kpi/MetricHero.js.map +1 -0
  694. package/dist/families/kpi/MicroKpiSubtitle.d.ts +24 -0
  695. package/dist/families/kpi/MicroKpiSubtitle.d.ts.map +1 -0
  696. package/dist/families/kpi/MicroKpiSubtitle.js +46 -0
  697. package/dist/families/kpi/MicroKpiSubtitle.js.map +1 -0
  698. package/dist/families/kpi/PeriodComparison.d.ts +20 -0
  699. package/dist/families/kpi/PeriodComparison.d.ts.map +1 -0
  700. package/dist/families/kpi/PeriodComparison.js +49 -0
  701. package/dist/families/kpi/PeriodComparison.js.map +1 -0
  702. package/dist/families/kpi/StatPairCard.d.ts +26 -0
  703. package/dist/families/kpi/StatPairCard.d.ts.map +1 -0
  704. package/dist/families/kpi/StatPairCard.js +54 -0
  705. package/dist/families/kpi/StatPairCard.js.map +1 -0
  706. package/dist/families/kpi/UsageMeter.d.ts +12 -0
  707. package/dist/families/kpi/UsageMeter.d.ts.map +1 -0
  708. package/dist/families/kpi/UsageMeter.js +31 -0
  709. package/dist/families/kpi/UsageMeter.js.map +1 -0
  710. package/dist/families/kpi/components.d.ts +19 -0
  711. package/dist/families/kpi/components.d.ts.map +1 -0
  712. package/dist/families/kpi/components.js +19 -0
  713. package/dist/families/kpi/components.js.map +1 -0
  714. package/dist/families/kpi/definitions.d.ts +22 -0
  715. package/dist/families/kpi/definitions.d.ts.map +1 -0
  716. package/dist/families/kpi/definitions.js +159 -0
  717. package/dist/families/kpi/definitions.js.map +1 -0
  718. package/dist/families/kpi/kpi-config.d.ts +1700 -0
  719. package/dist/families/kpi/kpi-config.d.ts.map +1 -0
  720. package/dist/families/kpi/kpi-config.js +418 -0
  721. package/dist/families/kpi/kpi-config.js.map +1 -0
  722. package/dist/families/kpi/kpi-icons.d.ts +7 -0
  723. package/dist/families/kpi/kpi-icons.d.ts.map +1 -0
  724. package/dist/families/kpi/kpi-icons.js +28 -0
  725. package/dist/families/kpi/kpi-icons.js.map +1 -0
  726. package/dist/families/kpi/kpi-lib.d.ts +173 -0
  727. package/dist/families/kpi/kpi-lib.d.ts.map +1 -0
  728. package/dist/families/kpi/kpi-lib.js +243 -0
  729. package/dist/families/kpi/kpi-lib.js.map +1 -0
  730. package/dist/families/media/AttachmentList.d.ts +43 -0
  731. package/dist/families/media/AttachmentList.d.ts.map +1 -0
  732. package/dist/families/media/AttachmentList.js +52 -0
  733. package/dist/families/media/AttachmentList.js.map +1 -0
  734. package/dist/families/media/FileBrowser.d.ts +57 -0
  735. package/dist/families/media/FileBrowser.d.ts.map +1 -0
  736. package/dist/families/media/FileBrowser.js +158 -0
  737. package/dist/families/media/FileBrowser.js.map +1 -0
  738. package/dist/families/media/ImageBoard.d.ts +41 -0
  739. package/dist/families/media/ImageBoard.d.ts.map +1 -0
  740. package/dist/families/media/ImageBoard.js +67 -0
  741. package/dist/families/media/ImageBoard.js.map +1 -0
  742. package/dist/families/media/LinkList.d.ts +48 -0
  743. package/dist/families/media/LinkList.d.ts.map +1 -0
  744. package/dist/families/media/LinkList.js +89 -0
  745. package/dist/families/media/LinkList.js.map +1 -0
  746. package/dist/families/media/UploadDropzone.d.ts +41 -0
  747. package/dist/families/media/UploadDropzone.d.ts.map +1 -0
  748. package/dist/families/media/UploadDropzone.js +54 -0
  749. package/dist/families/media/UploadDropzone.js.map +1 -0
  750. package/dist/families/media/UploadProgressList.d.ts +58 -0
  751. package/dist/families/media/UploadProgressList.d.ts.map +1 -0
  752. package/dist/families/media/UploadProgressList.js +81 -0
  753. package/dist/families/media/UploadProgressList.js.map +1 -0
  754. package/dist/families/media/index.d.ts +20 -0
  755. package/dist/families/media/index.d.ts.map +1 -0
  756. package/dist/families/media/index.js +20 -0
  757. package/dist/families/media/index.js.map +1 -0
  758. package/dist/families/media/media-config.d.ts +1035 -0
  759. package/dist/families/media/media-config.d.ts.map +1 -0
  760. package/dist/families/media/media-config.js +362 -0
  761. package/dist/families/media/media-config.js.map +1 -0
  762. package/dist/families/media/media-icons.d.ts +14 -0
  763. package/dist/families/media/media-icons.d.ts.map +1 -0
  764. package/dist/families/media/media-icons.js +44 -0
  765. package/dist/families/media/media-icons.js.map +1 -0
  766. package/dist/families/media/media-lib.d.ts +149 -0
  767. package/dist/families/media/media-lib.d.ts.map +1 -0
  768. package/dist/families/media/media-lib.js +333 -0
  769. package/dist/families/media/media-lib.js.map +1 -0
  770. package/dist/families/media/media-track-components.d.ts +14 -0
  771. package/dist/families/media/media-track-components.d.ts.map +1 -0
  772. package/dist/families/media/media-track-components.js +14 -0
  773. package/dist/families/media/media-track-components.js.map +1 -0
  774. package/dist/families/media/media-track.definitions.d.ts +26 -0
  775. package/dist/families/media/media-track.definitions.d.ts.map +1 -0
  776. package/dist/families/media/media-track.definitions.js +107 -0
  777. package/dist/families/media/media-track.definitions.js.map +1 -0
  778. package/dist/families/system/AlertBanner.d.ts +31 -0
  779. package/dist/families/system/AlertBanner.d.ts.map +1 -0
  780. package/dist/families/system/AlertBanner.js +69 -0
  781. package/dist/families/system/AlertBanner.js.map +1 -0
  782. package/dist/families/system/AutosaveIndicatorWidget.d.ts +43 -0
  783. package/dist/families/system/AutosaveIndicatorWidget.d.ts.map +1 -0
  784. package/dist/families/system/AutosaveIndicatorWidget.js +51 -0
  785. package/dist/families/system/AutosaveIndicatorWidget.js.map +1 -0
  786. package/dist/families/system/ConnectionStatus.d.ts +28 -0
  787. package/dist/families/system/ConnectionStatus.d.ts.map +1 -0
  788. package/dist/families/system/ConnectionStatus.js +53 -0
  789. package/dist/families/system/ConnectionStatus.js.map +1 -0
  790. package/dist/families/system/DiagnosticsReadout.d.ts +31 -0
  791. package/dist/families/system/DiagnosticsReadout.d.ts.map +1 -0
  792. package/dist/families/system/DiagnosticsReadout.js +49 -0
  793. package/dist/families/system/DiagnosticsReadout.js.map +1 -0
  794. package/dist/families/system/EmptyStateWidget.d.ts +25 -0
  795. package/dist/families/system/EmptyStateWidget.d.ts.map +1 -0
  796. package/dist/families/system/EmptyStateWidget.js +44 -0
  797. package/dist/families/system/EmptyStateWidget.js.map +1 -0
  798. package/dist/families/system/ProgressLogConsole.d.ts +58 -0
  799. package/dist/families/system/ProgressLogConsole.d.ts.map +1 -0
  800. package/dist/families/system/ProgressLogConsole.js +111 -0
  801. package/dist/families/system/ProgressLogConsole.js.map +1 -0
  802. package/dist/families/system/StateHero.d.ts +34 -0
  803. package/dist/families/system/StateHero.d.ts.map +1 -0
  804. package/dist/families/system/StateHero.js +102 -0
  805. package/dist/families/system/StateHero.js.map +1 -0
  806. package/dist/families/system/StatusBannerHero.d.ts +35 -0
  807. package/dist/families/system/StatusBannerHero.d.ts.map +1 -0
  808. package/dist/families/system/StatusBannerHero.js +65 -0
  809. package/dist/families/system/StatusBannerHero.js.map +1 -0
  810. package/dist/families/system/StatusPill.d.ts +38 -0
  811. package/dist/families/system/StatusPill.d.ts.map +1 -0
  812. package/dist/families/system/StatusPill.js +42 -0
  813. package/dist/families/system/StatusPill.js.map +1 -0
  814. package/dist/families/system/index.d.ts +24 -0
  815. package/dist/families/system/index.d.ts.map +1 -0
  816. package/dist/families/system/index.js +24 -0
  817. package/dist/families/system/index.js.map +1 -0
  818. package/dist/families/system/system-config.d.ts +1505 -0
  819. package/dist/families/system/system-config.d.ts.map +1 -0
  820. package/dist/families/system/system-config.js +339 -0
  821. package/dist/families/system/system-config.js.map +1 -0
  822. package/dist/families/system/system-icons.d.ts +10 -0
  823. package/dist/families/system/system-icons.d.ts.map +1 -0
  824. package/dist/families/system/system-icons.js +58 -0
  825. package/dist/families/system/system-icons.js.map +1 -0
  826. package/dist/families/system/system-lib.d.ts +108 -0
  827. package/dist/families/system/system-lib.d.ts.map +1 -0
  828. package/dist/families/system/system-lib.js +181 -0
  829. package/dist/families/system/system-lib.js.map +1 -0
  830. package/dist/families/system/system-track-components.d.ts +17 -0
  831. package/dist/families/system/system-track-components.d.ts.map +1 -0
  832. package/dist/families/system/system-track-components.js +17 -0
  833. package/dist/families/system/system-track-components.js.map +1 -0
  834. package/dist/families/system/system-track.definitions.d.ts +36 -0
  835. package/dist/families/system/system-track.definitions.d.ts.map +1 -0
  836. package/dist/families/system/system-track.definitions.js +155 -0
  837. package/dist/families/system/system-track.definitions.js.map +1 -0
  838. package/dist/families/tables/AccordionList.d.ts +36 -0
  839. package/dist/families/tables/AccordionList.d.ts.map +1 -0
  840. package/dist/families/tables/AccordionList.js +56 -0
  841. package/dist/families/tables/AccordionList.js.map +1 -0
  842. package/dist/families/tables/BulkActionToolbar.d.ts +35 -0
  843. package/dist/families/tables/BulkActionToolbar.d.ts.map +1 -0
  844. package/dist/families/tables/BulkActionToolbar.js +8 -0
  845. package/dist/families/tables/BulkActionToolbar.js.map +1 -0
  846. package/dist/families/tables/CardGallery.d.ts +30 -0
  847. package/dist/families/tables/CardGallery.d.ts.map +1 -0
  848. package/dist/families/tables/CardGallery.js +80 -0
  849. package/dist/families/tables/CardGallery.js.map +1 -0
  850. package/dist/families/tables/ChipCloud.d.ts +46 -0
  851. package/dist/families/tables/ChipCloud.d.ts.map +1 -0
  852. package/dist/families/tables/ChipCloud.js +72 -0
  853. package/dist/families/tables/ChipCloud.js.map +1 -0
  854. package/dist/families/tables/ComparisonMatrix.d.ts +41 -0
  855. package/dist/families/tables/ComparisonMatrix.d.ts.map +1 -0
  856. package/dist/families/tables/ComparisonMatrix.js +76 -0
  857. package/dist/families/tables/ComparisonMatrix.js.map +1 -0
  858. package/dist/families/tables/DataGrid.d.ts +50 -0
  859. package/dist/families/tables/DataGrid.d.ts.map +1 -0
  860. package/dist/families/tables/DataGrid.js +89 -0
  861. package/dist/families/tables/DataGrid.js.map +1 -0
  862. package/dist/families/tables/DetailKeyValue.d.ts +18 -0
  863. package/dist/families/tables/DetailKeyValue.d.ts.map +1 -0
  864. package/dist/families/tables/DetailKeyValue.js +14 -0
  865. package/dist/families/tables/DetailKeyValue.js.map +1 -0
  866. package/dist/families/tables/GroupedSummaryTable.d.ts +25 -0
  867. package/dist/families/tables/GroupedSummaryTable.d.ts.map +1 -0
  868. package/dist/families/tables/GroupedSummaryTable.js +87 -0
  869. package/dist/families/tables/GroupedSummaryTable.js.map +1 -0
  870. package/dist/families/tables/LogTable.d.ts +36 -0
  871. package/dist/families/tables/LogTable.d.ts.map +1 -0
  872. package/dist/families/tables/LogTable.js +115 -0
  873. package/dist/families/tables/LogTable.js.map +1 -0
  874. package/dist/families/tables/MasterList.d.ts +29 -0
  875. package/dist/families/tables/MasterList.d.ts.map +1 -0
  876. package/dist/families/tables/MasterList.js +77 -0
  877. package/dist/families/tables/MasterList.js.map +1 -0
  878. package/dist/families/tables/MiniTable.d.ts +25 -0
  879. package/dist/families/tables/MiniTable.d.ts.map +1 -0
  880. package/dist/families/tables/MiniTable.js +14 -0
  881. package/dist/families/tables/MiniTable.js.map +1 -0
  882. package/dist/families/tables/PaginationFooter.d.ts +36 -0
  883. package/dist/families/tables/PaginationFooter.d.ts.map +1 -0
  884. package/dist/families/tables/PaginationFooter.js +21 -0
  885. package/dist/families/tables/PaginationFooter.js.map +1 -0
  886. package/dist/families/tables/RankedEntityList.d.ts +41 -0
  887. package/dist/families/tables/RankedEntityList.d.ts.map +1 -0
  888. package/dist/families/tables/RankedEntityList.js +74 -0
  889. package/dist/families/tables/RankedEntityList.js.map +1 -0
  890. package/dist/families/tables/SchemaTree.d.ts +23 -0
  891. package/dist/families/tables/SchemaTree.d.ts.map +1 -0
  892. package/dist/families/tables/SchemaTree.js +89 -0
  893. package/dist/families/tables/SchemaTree.js.map +1 -0
  894. package/dist/families/tables/SparklineTable.d.ts +35 -0
  895. package/dist/families/tables/SparklineTable.d.ts.map +1 -0
  896. package/dist/families/tables/SparklineTable.js +54 -0
  897. package/dist/families/tables/SparklineTable.js.map +1 -0
  898. package/dist/families/tables/ToggleMatrixWidget.d.ts +26 -0
  899. package/dist/families/tables/ToggleMatrixWidget.d.ts.map +1 -0
  900. package/dist/families/tables/ToggleMatrixWidget.js +95 -0
  901. package/dist/families/tables/ToggleMatrixWidget.js.map +1 -0
  902. package/dist/families/tables/TopMoversList.d.ts +37 -0
  903. package/dist/families/tables/TopMoversList.d.ts.map +1 -0
  904. package/dist/families/tables/TopMoversList.js +51 -0
  905. package/dist/families/tables/TopMoversList.js.map +1 -0
  906. package/dist/families/tables/cells.d.ts +38 -0
  907. package/dist/families/tables/cells.d.ts.map +1 -0
  908. package/dist/families/tables/cells.js +107 -0
  909. package/dist/families/tables/cells.js.map +1 -0
  910. package/dist/families/tables/column-spec.d.ts +53 -0
  911. package/dist/families/tables/column-spec.d.ts.map +1 -0
  912. package/dist/families/tables/column-spec.js +158 -0
  913. package/dist/families/tables/column-spec.js.map +1 -0
  914. package/dist/families/tables/definitions.d.ts +12 -0
  915. package/dist/families/tables/definitions.d.ts.map +1 -0
  916. package/dist/families/tables/definitions.js +81 -0
  917. package/dist/families/tables/definitions.js.map +1 -0
  918. package/dist/families/tables/demo-data.d.ts +15 -0
  919. package/dist/families/tables/demo-data.d.ts.map +1 -0
  920. package/dist/families/tables/demo-data.js +97 -0
  921. package/dist/families/tables/demo-data.js.map +1 -0
  922. package/dist/families/tables/index.d.ts +31 -0
  923. package/dist/families/tables/index.d.ts.map +1 -0
  924. package/dist/families/tables/index.js +33 -0
  925. package/dist/families/tables/index.js.map +1 -0
  926. package/dist/families/tables/tables-config.d.ts +908 -0
  927. package/dist/families/tables/tables-config.d.ts.map +1 -0
  928. package/dist/families/tables/tables-config.js +51 -0
  929. package/dist/families/tables/tables-config.js.map +1 -0
  930. package/dist/families/tables/tables-tail-components.d.ts +14 -0
  931. package/dist/families/tables/tables-tail-components.d.ts.map +1 -0
  932. package/dist/families/tables/tables-tail-components.js +14 -0
  933. package/dist/families/tables/tables-tail-components.js.map +1 -0
  934. package/dist/families/tables/tables-tail-config.d.ts +947 -0
  935. package/dist/families/tables/tables-tail-config.d.ts.map +1 -0
  936. package/dist/families/tables/tables-tail-config.js +328 -0
  937. package/dist/families/tables/tables-tail-config.js.map +1 -0
  938. package/dist/families/tables/tables-tail-icons.d.ts +6 -0
  939. package/dist/families/tables/tables-tail-icons.d.ts.map +1 -0
  940. package/dist/families/tables/tables-tail-icons.js +33 -0
  941. package/dist/families/tables/tables-tail-icons.js.map +1 -0
  942. package/dist/families/tables/tables-tail-lib.d.ts +77 -0
  943. package/dist/families/tables/tables-tail-lib.d.ts.map +1 -0
  944. package/dist/families/tables/tables-tail-lib.js +176 -0
  945. package/dist/families/tables/tables-tail-lib.js.map +1 -0
  946. package/dist/families/tables/tables-tail-types.d.ts +129 -0
  947. package/dist/families/tables/tables-tail-types.d.ts.map +1 -0
  948. package/dist/families/tables/tables-tail-types.js +16 -0
  949. package/dist/families/tables/tables-tail-types.js.map +1 -0
  950. package/dist/families/tables/tables-tail.definitions.d.ts +26 -0
  951. package/dist/families/tables/tables-tail.definitions.d.ts.map +1 -0
  952. package/dist/families/tables/tables-tail.definitions.js +108 -0
  953. package/dist/families/tables/tables-tail.definitions.js.map +1 -0
  954. package/dist/families/tables/tables-track-f-components.d.ts +14 -0
  955. package/dist/families/tables/tables-track-f-components.d.ts.map +1 -0
  956. package/dist/families/tables/tables-track-f-components.js +14 -0
  957. package/dist/families/tables/tables-track-f-components.js.map +1 -0
  958. package/dist/families/tables/tables-track-f-config.d.ts +956 -0
  959. package/dist/families/tables/tables-track-f-config.d.ts.map +1 -0
  960. package/dist/families/tables/tables-track-f-config.js +329 -0
  961. package/dist/families/tables/tables-track-f-config.js.map +1 -0
  962. package/dist/families/tables/tables-track-f-types.d.ts +95 -0
  963. package/dist/families/tables/tables-track-f-types.d.ts.map +1 -0
  964. package/dist/families/tables/tables-track-f-types.js +13 -0
  965. package/dist/families/tables/tables-track-f-types.js.map +1 -0
  966. package/dist/families/tables/tables-track-f.definitions.d.ts +19 -0
  967. package/dist/families/tables/tables-track-f.definitions.d.ts.map +1 -0
  968. package/dist/families/tables/tables-track-f.definitions.js +98 -0
  969. package/dist/families/tables/tables-track-f.definitions.js.map +1 -0
  970. package/dist/families/tables/widgets.d.ts +17 -0
  971. package/dist/families/tables/widgets.d.ts.map +1 -0
  972. package/dist/families/tables/widgets.js +132 -0
  973. package/dist/families/tables/widgets.js.map +1 -0
  974. package/dist/frame/ChartDirectionBridge.d.ts +6 -0
  975. package/dist/frame/ChartDirectionBridge.d.ts.map +1 -0
  976. package/dist/frame/ChartDirectionBridge.js +21 -0
  977. package/dist/frame/ChartDirectionBridge.js.map +1 -0
  978. package/dist/frame/SkeletonSilhouette.d.ts +12 -0
  979. package/dist/frame/SkeletonSilhouette.d.ts.map +1 -0
  980. package/dist/frame/SkeletonSilhouette.js +6 -0
  981. package/dist/frame/SkeletonSilhouette.js.map +1 -0
  982. package/dist/frame/WidgetErrorBoundary.d.ts +26 -0
  983. package/dist/frame/WidgetErrorBoundary.d.ts.map +1 -0
  984. package/dist/frame/WidgetErrorBoundary.js +24 -0
  985. package/dist/frame/WidgetErrorBoundary.js.map +1 -0
  986. package/dist/frame/WidgetFrame.d.ts +51 -0
  987. package/dist/frame/WidgetFrame.d.ts.map +1 -0
  988. package/dist/frame/WidgetFrame.js +33 -0
  989. package/dist/frame/WidgetFrame.js.map +1 -0
  990. package/dist/frame/WidgetHost.d.ts +54 -0
  991. package/dist/frame/WidgetHost.d.ts.map +1 -0
  992. package/dist/frame/WidgetHost.js +84 -0
  993. package/dist/frame/WidgetHost.js.map +1 -0
  994. package/dist/frame/WidgetRuntimeContext.d.ts +58 -0
  995. package/dist/frame/WidgetRuntimeContext.d.ts.map +1 -0
  996. package/dist/frame/WidgetRuntimeContext.js +62 -0
  997. package/dist/frame/WidgetRuntimeContext.js.map +1 -0
  998. package/dist/generate/crud-body.d.ts +93 -0
  999. package/dist/generate/crud-body.d.ts.map +1 -0
  1000. package/dist/generate/crud-body.js +323 -0
  1001. package/dist/generate/crud-body.js.map +1 -0
  1002. package/dist/generate/dashboard-domain.d.ts +65 -0
  1003. package/dist/generate/dashboard-domain.d.ts.map +1 -0
  1004. package/dist/generate/dashboard-domain.js +269 -0
  1005. package/dist/generate/dashboard-domain.js.map +1 -0
  1006. package/dist/generate/index.d.ts +51 -0
  1007. package/dist/generate/index.d.ts.map +1 -0
  1008. package/dist/generate/index.js +55 -0
  1009. package/dist/generate/index.js.map +1 -0
  1010. package/dist/grid/DashboardGrid.d.ts +53 -0
  1011. package/dist/grid/DashboardGrid.d.ts.map +1 -0
  1012. package/dist/grid/DashboardGrid.js +278 -0
  1013. package/dist/grid/DashboardGrid.js.map +1 -0
  1014. package/dist/grid/grid-edit.d.ts +95 -0
  1015. package/dist/grid/grid-edit.d.ts.map +1 -0
  1016. package/dist/grid/grid-edit.js +82 -0
  1017. package/dist/grid/grid-edit.js.map +1 -0
  1018. package/dist/grid/index.d.ts +12 -0
  1019. package/dist/grid/index.d.ts.map +1 -0
  1020. package/dist/grid/index.js +12 -0
  1021. package/dist/grid/index.js.map +1 -0
  1022. package/dist/grid/layout-edit.d.ts +114 -0
  1023. package/dist/grid/layout-edit.d.ts.map +1 -0
  1024. package/dist/grid/layout-edit.js +167 -0
  1025. package/dist/grid/layout-edit.js.map +1 -0
  1026. package/dist/grid/layout-math.d.ts +28 -0
  1027. package/dist/grid/layout-math.d.ts.map +1 -0
  1028. package/dist/grid/layout-math.js +45 -0
  1029. package/dist/grid/layout-math.js.map +1 -0
  1030. package/dist/grid/layout-schema.d.ts +31 -0
  1031. package/dist/grid/layout-schema.d.ts.map +1 -0
  1032. package/dist/grid/layout-schema.js +19 -0
  1033. package/dist/grid/layout-schema.js.map +1 -0
  1034. package/dist/index.d.ts +63 -0
  1035. package/dist/index.d.ts.map +1 -0
  1036. package/dist/index.js +104 -0
  1037. package/dist/index.js.map +1 -0
  1038. package/dist/lib/format.d.ts +47 -0
  1039. package/dist/lib/format.d.ts.map +1 -0
  1040. package/dist/lib/format.js +95 -0
  1041. package/dist/lib/format.js.map +1 -0
  1042. package/dist/lib/shapes.d.ts +44 -0
  1043. package/dist/lib/shapes.d.ts.map +1 -0
  1044. package/dist/lib/shapes.js +91 -0
  1045. package/dist/lib/shapes.js.map +1 -0
  1046. package/dist/page-config/data-shapes.d.ts +28 -0
  1047. package/dist/page-config/data-shapes.d.ts.map +1 -0
  1048. package/dist/page-config/data-shapes.js +27 -0
  1049. package/dist/page-config/data-shapes.js.map +1 -0
  1050. package/dist/page-config/grid-column-spec.d.ts +135 -0
  1051. package/dist/page-config/grid-column-spec.d.ts.map +1 -0
  1052. package/dist/page-config/grid-column-spec.js +142 -0
  1053. package/dist/page-config/grid-column-spec.js.map +1 -0
  1054. package/dist/page-config/index.d.ts +16 -0
  1055. package/dist/page-config/index.d.ts.map +1 -0
  1056. package/dist/page-config/index.js +16 -0
  1057. package/dist/page-config/index.js.map +1 -0
  1058. package/dist/page-config/layout.d.ts +31 -0
  1059. package/dist/page-config/layout.d.ts.map +1 -0
  1060. package/dist/page-config/layout.js +23 -0
  1061. package/dist/page-config/layout.js.map +1 -0
  1062. package/dist/page-config/query-descriptor.d.ts +154 -0
  1063. package/dist/page-config/query-descriptor.d.ts.map +1 -0
  1064. package/dist/page-config/query-descriptor.js +72 -0
  1065. package/dist/page-config/query-descriptor.js.map +1 -0
  1066. package/dist/registry/WidgetMissingCard.d.ts +18 -0
  1067. package/dist/registry/WidgetMissingCard.d.ts.map +1 -0
  1068. package/dist/registry/WidgetMissingCard.js +14 -0
  1069. package/dist/registry/WidgetMissingCard.js.map +1 -0
  1070. package/dist/registry/archetypes.d.ts +81 -0
  1071. package/dist/registry/archetypes.d.ts.map +1 -0
  1072. package/dist/registry/archetypes.js +374 -0
  1073. package/dist/registry/archetypes.js.map +1 -0
  1074. package/dist/registry/candidates.d.ts +294 -0
  1075. package/dist/registry/candidates.d.ts.map +1 -0
  1076. package/dist/registry/candidates.js +1408 -0
  1077. package/dist/registry/candidates.js.map +1 -0
  1078. package/dist/registry/data-empty.d.ts +10 -0
  1079. package/dist/registry/data-empty.d.ts.map +1 -0
  1080. package/dist/registry/data-empty.js +52 -0
  1081. package/dist/registry/data-empty.js.map +1 -0
  1082. package/dist/registry/index.d.ts +50 -0
  1083. package/dist/registry/index.d.ts.map +1 -0
  1084. package/dist/registry/index.js +198 -0
  1085. package/dist/registry/index.js.map +1 -0
  1086. package/dist/registry/llm-allowlist.d.ts +56 -0
  1087. package/dist/registry/llm-allowlist.d.ts.map +1 -0
  1088. package/dist/registry/llm-allowlist.js +100 -0
  1089. package/dist/registry/llm-allowlist.js.map +1 -0
  1090. package/dist/registry/offline.d.ts +74 -0
  1091. package/dist/registry/offline.d.ts.map +1 -0
  1092. package/dist/registry/offline.js +68 -0
  1093. package/dist/registry/offline.js.map +1 -0
  1094. package/dist/registry/page-templates.d.ts +79 -0
  1095. package/dist/registry/page-templates.d.ts.map +1 -0
  1096. package/dist/registry/page-templates.js +103 -0
  1097. package/dist/registry/page-templates.js.map +1 -0
  1098. package/dist/registry/registered-ids.d.ts +27 -0
  1099. package/dist/registry/registered-ids.d.ts.map +1 -0
  1100. package/dist/registry/registered-ids.js +208 -0
  1101. package/dist/registry/registered-ids.js.map +1 -0
  1102. package/dist/registry/shared-config.d.ts +146 -0
  1103. package/dist/registry/shared-config.d.ts.map +1 -0
  1104. package/dist/registry/shared-config.js +41 -0
  1105. package/dist/registry/shared-config.js.map +1 -0
  1106. package/dist/registry/types.d.ts +94 -0
  1107. package/dist/registry/types.d.ts.map +1 -0
  1108. package/dist/registry/types.js +27 -0
  1109. package/dist/registry/types.js.map +1 -0
  1110. package/dist/registry/widget-missing.d.ts +150 -0
  1111. package/dist/registry/widget-missing.d.ts.map +1 -0
  1112. package/dist/registry/widget-missing.js +28 -0
  1113. package/dist/registry/widget-missing.js.map +1 -0
  1114. package/dist/templates/compose.d.ts +127 -0
  1115. package/dist/templates/compose.d.ts.map +1 -0
  1116. package/dist/templates/compose.js +216 -0
  1117. package/dist/templates/compose.js.map +1 -0
  1118. package/dist/templates/crosscheck.d.ts +68 -0
  1119. package/dist/templates/crosscheck.d.ts.map +1 -0
  1120. package/dist/templates/crosscheck.js +155 -0
  1121. package/dist/templates/crosscheck.js.map +1 -0
  1122. package/dist/templates/index.d.ts +17 -0
  1123. package/dist/templates/index.d.ts.map +1 -0
  1124. package/dist/templates/index.js +17 -0
  1125. package/dist/templates/index.js.map +1 -0
  1126. package/dist/templates/manifests.d.ts +13 -0
  1127. package/dist/templates/manifests.d.ts.map +1 -0
  1128. package/dist/templates/manifests.js +110 -0
  1129. package/dist/templates/manifests.js.map +1 -0
  1130. package/dist/templates/page-board/PageBoard.d.ts +46 -0
  1131. package/dist/templates/page-board/PageBoard.d.ts.map +1 -0
  1132. package/dist/templates/page-board/PageBoard.js +220 -0
  1133. package/dist/templates/page-board/PageBoard.js.map +1 -0
  1134. package/dist/templates/page-board/index.d.ts +6 -0
  1135. package/dist/templates/page-board/index.d.ts.map +1 -0
  1136. package/dist/templates/page-board/index.js +6 -0
  1137. package/dist/templates/page-board/index.js.map +1 -0
  1138. package/dist/templates/page-board.json +12 -0
  1139. package/dist/templates/page-builder/PageBuilder.d.ts +71 -0
  1140. package/dist/templates/page-builder/PageBuilder.d.ts.map +1 -0
  1141. package/dist/templates/page-builder/PageBuilder.js +209 -0
  1142. package/dist/templates/page-builder/PageBuilder.js.map +1 -0
  1143. package/dist/templates/page-builder/builder-config.d.ts +187 -0
  1144. package/dist/templates/page-builder/builder-config.d.ts.map +1 -0
  1145. package/dist/templates/page-builder/builder-config.js +441 -0
  1146. package/dist/templates/page-builder/builder-config.js.map +1 -0
  1147. package/dist/templates/page-builder/index.d.ts +8 -0
  1148. package/dist/templates/page-builder/index.d.ts.map +1 -0
  1149. package/dist/templates/page-builder/index.js +8 -0
  1150. package/dist/templates/page-builder/index.js.map +1 -0
  1151. package/dist/templates/page-builder.json +17 -0
  1152. package/dist/templates/page-calendar/PageCalendar.d.ts +46 -0
  1153. package/dist/templates/page-calendar/PageCalendar.d.ts.map +1 -0
  1154. package/dist/templates/page-calendar/PageCalendar.js +201 -0
  1155. package/dist/templates/page-calendar/PageCalendar.js.map +1 -0
  1156. package/dist/templates/page-calendar/index.d.ts +6 -0
  1157. package/dist/templates/page-calendar/index.d.ts.map +1 -0
  1158. package/dist/templates/page-calendar/index.js +6 -0
  1159. package/dist/templates/page-calendar/index.js.map +1 -0
  1160. package/dist/templates/page-calendar.json +21 -0
  1161. package/dist/templates/page-chat/PageChat.d.ts +69 -0
  1162. package/dist/templates/page-chat/PageChat.d.ts.map +1 -0
  1163. package/dist/templates/page-chat/PageChat.js +128 -0
  1164. package/dist/templates/page-chat/PageChat.js.map +1 -0
  1165. package/dist/templates/page-chat/chat-mapping.d.ts +45 -0
  1166. package/dist/templates/page-chat/chat-mapping.d.ts.map +1 -0
  1167. package/dist/templates/page-chat/chat-mapping.js +120 -0
  1168. package/dist/templates/page-chat/chat-mapping.js.map +1 -0
  1169. package/dist/templates/page-chat/demo-layout.d.ts +11 -0
  1170. package/dist/templates/page-chat/demo-layout.d.ts.map +1 -0
  1171. package/dist/templates/page-chat/demo-layout.js +41 -0
  1172. package/dist/templates/page-chat/demo-layout.js.map +1 -0
  1173. package/dist/templates/page-chat/index.d.ts +9 -0
  1174. package/dist/templates/page-chat/index.d.ts.map +1 -0
  1175. package/dist/templates/page-chat/index.js +9 -0
  1176. package/dist/templates/page-chat/index.js.map +1 -0
  1177. package/dist/templates/page-chat.json +16 -0
  1178. package/dist/templates/page-crud/PageCrud.d.ts +83 -0
  1179. package/dist/templates/page-crud/PageCrud.d.ts.map +1 -0
  1180. package/dist/templates/page-crud/PageCrud.js +327 -0
  1181. package/dist/templates/page-crud/PageCrud.js.map +1 -0
  1182. package/dist/templates/page-crud/RecordDetail.d.ts +24 -0
  1183. package/dist/templates/page-crud/RecordDetail.d.ts.map +1 -0
  1184. package/dist/templates/page-crud/RecordDetail.js +85 -0
  1185. package/dist/templates/page-crud/RecordDetail.js.map +1 -0
  1186. package/dist/templates/page-crud/RecordForm.d.ts +30 -0
  1187. package/dist/templates/page-crud/RecordForm.d.ts.map +1 -0
  1188. package/dist/templates/page-crud/RecordForm.js +131 -0
  1189. package/dist/templates/page-crud/RecordForm.js.map +1 -0
  1190. package/dist/templates/page-crud/crud-api.d.ts +154 -0
  1191. package/dist/templates/page-crud/crud-api.d.ts.map +1 -0
  1192. package/dist/templates/page-crud/crud-api.js +39 -0
  1193. package/dist/templates/page-crud/crud-api.js.map +1 -0
  1194. package/dist/templates/page-crud/field-mapping.d.ts +20 -0
  1195. package/dist/templates/page-crud/field-mapping.d.ts.map +1 -0
  1196. package/dist/templates/page-crud/field-mapping.js +93 -0
  1197. package/dist/templates/page-crud/field-mapping.js.map +1 -0
  1198. package/dist/templates/page-crud/index.d.ts +12 -0
  1199. package/dist/templates/page-crud/index.d.ts.map +1 -0
  1200. package/dist/templates/page-crud/index.js +12 -0
  1201. package/dist/templates/page-crud/index.js.map +1 -0
  1202. package/dist/templates/page-crud.json +23 -0
  1203. package/dist/templates/page-dashboard/PageDashboard.d.ts +30 -0
  1204. package/dist/templates/page-dashboard/PageDashboard.d.ts.map +1 -0
  1205. package/dist/templates/page-dashboard/PageDashboard.js +34 -0
  1206. package/dist/templates/page-dashboard/PageDashboard.js.map +1 -0
  1207. package/dist/templates/page-dashboard/data-adapter.d.ts +38 -0
  1208. package/dist/templates/page-dashboard/data-adapter.d.ts.map +1 -0
  1209. package/dist/templates/page-dashboard/data-adapter.js +119 -0
  1210. package/dist/templates/page-dashboard/data-adapter.js.map +1 -0
  1211. package/dist/templates/page-dashboard/demo-layout.d.ts +15 -0
  1212. package/dist/templates/page-dashboard/demo-layout.d.ts.map +1 -0
  1213. package/dist/templates/page-dashboard/demo-layout.js +121 -0
  1214. package/dist/templates/page-dashboard/demo-layout.js.map +1 -0
  1215. package/dist/templates/page-dashboard.json +20 -0
  1216. package/dist/templates/page-directory/PageDirectory.d.ts +49 -0
  1217. package/dist/templates/page-directory/PageDirectory.d.ts.map +1 -0
  1218. package/dist/templates/page-directory/PageDirectory.js +141 -0
  1219. package/dist/templates/page-directory/PageDirectory.js.map +1 -0
  1220. package/dist/templates/page-directory/index.d.ts +8 -0
  1221. package/dist/templates/page-directory/index.d.ts.map +1 -0
  1222. package/dist/templates/page-directory/index.js +8 -0
  1223. package/dist/templates/page-directory/index.js.map +1 -0
  1224. package/dist/templates/page-directory.json +15 -0
  1225. package/dist/templates/page-files/PageFiles.d.ts +77 -0
  1226. package/dist/templates/page-files/PageFiles.d.ts.map +1 -0
  1227. package/dist/templates/page-files/PageFiles.js +114 -0
  1228. package/dist/templates/page-files/PageFiles.js.map +1 -0
  1229. package/dist/templates/page-files/demo-layout.d.ts +11 -0
  1230. package/dist/templates/page-files/demo-layout.d.ts.map +1 -0
  1231. package/dist/templates/page-files/demo-layout.js +32 -0
  1232. package/dist/templates/page-files/demo-layout.js.map +1 -0
  1233. package/dist/templates/page-files/file-mapping.d.ts +10 -0
  1234. package/dist/templates/page-files/file-mapping.d.ts.map +1 -0
  1235. package/dist/templates/page-files/file-mapping.js +68 -0
  1236. package/dist/templates/page-files/file-mapping.js.map +1 -0
  1237. package/dist/templates/page-files/index.d.ts +9 -0
  1238. package/dist/templates/page-files/index.d.ts.map +1 -0
  1239. package/dist/templates/page-files/index.js +9 -0
  1240. package/dist/templates/page-files/index.js.map +1 -0
  1241. package/dist/templates/page-files.json +16 -0
  1242. package/dist/templates/page-log-viewer/PageLogViewer.d.ts +70 -0
  1243. package/dist/templates/page-log-viewer/PageLogViewer.d.ts.map +1 -0
  1244. package/dist/templates/page-log-viewer/PageLogViewer.js +109 -0
  1245. package/dist/templates/page-log-viewer/PageLogViewer.js.map +1 -0
  1246. package/dist/templates/page-log-viewer/demo-layout.d.ts +11 -0
  1247. package/dist/templates/page-log-viewer/demo-layout.d.ts.map +1 -0
  1248. package/dist/templates/page-log-viewer/demo-layout.js +50 -0
  1249. package/dist/templates/page-log-viewer/demo-layout.js.map +1 -0
  1250. package/dist/templates/page-log-viewer/index.d.ts +10 -0
  1251. package/dist/templates/page-log-viewer/index.d.ts.map +1 -0
  1252. package/dist/templates/page-log-viewer/index.js +10 -0
  1253. package/dist/templates/page-log-viewer/index.js.map +1 -0
  1254. package/dist/templates/page-log-viewer/log-mapping.d.ts +77 -0
  1255. package/dist/templates/page-log-viewer/log-mapping.d.ts.map +1 -0
  1256. package/dist/templates/page-log-viewer/log-mapping.js +159 -0
  1257. package/dist/templates/page-log-viewer/log-mapping.js.map +1 -0
  1258. package/dist/templates/page-log-viewer.json +17 -0
  1259. package/dist/templates/page-master-detail/PageMasterDetail.d.ts +55 -0
  1260. package/dist/templates/page-master-detail/PageMasterDetail.d.ts.map +1 -0
  1261. package/dist/templates/page-master-detail/PageMasterDetail.js +192 -0
  1262. package/dist/templates/page-master-detail/PageMasterDetail.js.map +1 -0
  1263. package/dist/templates/page-master-detail/index.d.ts +8 -0
  1264. package/dist/templates/page-master-detail/index.d.ts.map +1 -0
  1265. package/dist/templates/page-master-detail/index.js +8 -0
  1266. package/dist/templates/page-master-detail/index.js.map +1 -0
  1267. package/dist/templates/page-master-detail.json +14 -0
  1268. package/dist/templates/page-queue-inbox/PageQueueInbox.d.ts +77 -0
  1269. package/dist/templates/page-queue-inbox/PageQueueInbox.d.ts.map +1 -0
  1270. package/dist/templates/page-queue-inbox/PageQueueInbox.js +292 -0
  1271. package/dist/templates/page-queue-inbox/PageQueueInbox.js.map +1 -0
  1272. package/dist/templates/page-queue-inbox/index.d.ts +11 -0
  1273. package/dist/templates/page-queue-inbox/index.d.ts.map +1 -0
  1274. package/dist/templates/page-queue-inbox/index.js +10 -0
  1275. package/dist/templates/page-queue-inbox/index.js.map +1 -0
  1276. package/dist/templates/page-queue-inbox/queue-api.d.ts +22 -0
  1277. package/dist/templates/page-queue-inbox/queue-api.d.ts.map +1 -0
  1278. package/dist/templates/page-queue-inbox/queue-api.js +13 -0
  1279. package/dist/templates/page-queue-inbox/queue-api.js.map +1 -0
  1280. package/dist/templates/page-queue-inbox.json +17 -0
  1281. package/dist/templates/page-scheduler/PageScheduler.d.ts +68 -0
  1282. package/dist/templates/page-scheduler/PageScheduler.d.ts.map +1 -0
  1283. package/dist/templates/page-scheduler/PageScheduler.js +289 -0
  1284. package/dist/templates/page-scheduler/PageScheduler.js.map +1 -0
  1285. package/dist/templates/page-scheduler/ShiftMatrix.d.ts +49 -0
  1286. package/dist/templates/page-scheduler/ShiftMatrix.d.ts.map +1 -0
  1287. package/dist/templates/page-scheduler/ShiftMatrix.js +144 -0
  1288. package/dist/templates/page-scheduler/ShiftMatrix.js.map +1 -0
  1289. package/dist/templates/page-scheduler/index.d.ts +8 -0
  1290. package/dist/templates/page-scheduler/index.d.ts.map +1 -0
  1291. package/dist/templates/page-scheduler/index.js +8 -0
  1292. package/dist/templates/page-scheduler/index.js.map +1 -0
  1293. package/dist/templates/page-scheduler.json +17 -0
  1294. package/dist/templates/page-settings/PageSettings.d.ts +62 -0
  1295. package/dist/templates/page-settings/PageSettings.d.ts.map +1 -0
  1296. package/dist/templates/page-settings/PageSettings.js +0 -0
  1297. package/dist/templates/page-settings/PageSettings.js.map +1 -0
  1298. package/dist/templates/page-settings/index.d.ts +6 -0
  1299. package/dist/templates/page-settings/index.d.ts.map +1 -0
  1300. package/dist/templates/page-settings/index.js +6 -0
  1301. package/dist/templates/page-settings/index.js.map +1 -0
  1302. package/dist/templates/page-settings.json +14 -0
  1303. package/dist/templates/page-wizard/PageWizard.d.ts +28 -0
  1304. package/dist/templates/page-wizard/PageWizard.d.ts.map +1 -0
  1305. package/dist/templates/page-wizard/PageWizard.js +55 -0
  1306. package/dist/templates/page-wizard/PageWizard.js.map +1 -0
  1307. package/dist/templates/page-wizard/index.d.ts +9 -0
  1308. package/dist/templates/page-wizard/index.d.ts.map +1 -0
  1309. package/dist/templates/page-wizard/index.js +9 -0
  1310. package/dist/templates/page-wizard/index.js.map +1 -0
  1311. package/dist/templates/page-wizard.json +19 -0
  1312. package/dist/templates/planning/planning-lib.d.ts +54 -0
  1313. package/dist/templates/planning/planning-lib.d.ts.map +1 -0
  1314. package/dist/templates/planning/planning-lib.js +154 -0
  1315. package/dist/templates/planning/planning-lib.js.map +1 -0
  1316. package/dist/templates/stored-config.d.ts +107 -0
  1317. package/dist/templates/stored-config.d.ts.map +1 -0
  1318. package/dist/templates/stored-config.js +212 -0
  1319. package/dist/templates/stored-config.js.map +1 -0
  1320. package/dist/templates/template-schema.d.ts +215 -0
  1321. package/dist/templates/template-schema.d.ts.map +1 -0
  1322. package/dist/templates/template-schema.js +111 -0
  1323. package/dist/templates/template-schema.js.map +1 -0
  1324. package/package.json +54 -0
@@ -0,0 +1,158 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Breadcrumbs, Checkbox, EmptyState, IconButton, IconTile, MonoText, SegmentedControl } from '@adminium/ui';
3
+ import { LayoutGrid, List, Star } from 'lucide-react';
4
+ import { useMemo, useState } from 'react';
5
+ import { fileIconFor } from './media-icons.js';
6
+ import { FILE_KIND_TONE, ROOT_ID, bindingSourceOf, booleanField, breadcrumbTrail, childrenOf, descendantCount, fileRowsOf, formatCount, formatModified, formatModifiedFull, formatSize, kindOf, numberField, resolveLocale, stringField, } from './media-lib.js';
7
+ import { fileBrowserConfigSchema, fileBrowserDemoData } from './media-config.js';
8
+ export { fileBrowserConfigSchema, fileBrowserDemoData };
9
+ /** Placeholder for a folder's size cell — folders have no byte size. */
10
+ const EM_DASH = '—';
11
+ export function FileBrowser({ nodes, views = 'both', defaultView = 'grid', starrable = true, selectable = false, smartFolders, typeIconMap, locale, rootLabel, breadcrumbLabel, gridViewLabel, listViewLabel, nameHeader, sizeHeader, modifiedHeader, starLabel, itemsLabel, emptyTitle, emptyBody, folderId, onFolderChange, onOpenFile, onToggleStar, onSelectionChange, testId, }) {
12
+ const tag = resolveLocale(locale);
13
+ const [localFolder, setLocalFolder] = useState(ROOT_ID);
14
+ const [view, setView] = useState(views === 'both' ? defaultView : views);
15
+ const [smartKey, setSmartKey] = useState(null);
16
+ const [selected, setSelected] = useState([]);
17
+ const current = folderId ?? localFolder;
18
+ const effectiveView = views === 'both' ? view : views;
19
+ const collator = useMemo(() => new Intl.Collator(tag, { numeric: true }), [tag]);
20
+ const smart = smartFolders?.find((entry) => entry.key === smartKey);
21
+ const trail = useMemo(() => breadcrumbTrail(nodes, current), [nodes, current]);
22
+ /**
23
+ * The rows on screen. A smart folder REPLACES the hierarchy view with a flat
24
+ * filtered list (the File Manager rail's semantics: "Starred" spans folders);
25
+ * otherwise it is the current folder's direct children, folders first.
26
+ */
27
+ const visible = useMemo(() => {
28
+ if (smart !== undefined && smart.filter !== 'folder') {
29
+ return flatFilter(nodes, smart.filter, collator);
30
+ }
31
+ const target = smart?.filter === 'folder' && smart.folderId !== undefined ? smart.folderId : current;
32
+ return childrenOf(nodes, target, collator);
33
+ }, [nodes, smart, current, collator]);
34
+ const navigate = (next) => {
35
+ setSmartKey(null);
36
+ if (folderId === undefined)
37
+ setLocalFolder(next);
38
+ onFolderChange?.(next);
39
+ };
40
+ const openNode = (node) => {
41
+ if (node.kind === 'folder')
42
+ navigate(node.id);
43
+ else
44
+ onOpenFile?.(node);
45
+ };
46
+ const toggleSelected = (id) => {
47
+ const next = selected.includes(id) ? selected.filter((value) => value !== id) : [...selected, id];
48
+ setSelected(next);
49
+ onSelectionChange?.(next);
50
+ };
51
+ const crumbs = [
52
+ { label: rootLabel ?? 'Files', onClick: () => navigate(ROOT_ID) },
53
+ ...trail.map((node) => ({ label: node.name, onClick: () => navigate(node.id) })),
54
+ ];
55
+ return (_jsxs("div", { "data-widget": "file-browser", "data-testid": testId, className: "flex h-full min-h-0 flex-col", children: [_jsxs("div", { className: "flex items-center gap-3 border-b border-border px-4 py-2.5", children: [_jsx(Breadcrumbs, { items: crumbs, label: breadcrumbLabel ?? 'Breadcrumb', className: "flex-1" }), views === 'both' && (_jsx(SegmentedControl, { value: effectiveView, onValueChange: (next) => setView(next === 'list' ? 'list' : 'grid'), options: [
56
+ { value: 'grid', ariaLabel: gridViewLabel ?? 'Grid view', icon: _jsx(LayoutGrid, { className: "size-4" }) },
57
+ { value: 'list', ariaLabel: listViewLabel ?? 'List view', icon: _jsx(List, { className: "size-4" }) },
58
+ ] }))] }), _jsxs("div", { className: "flex min-h-0 flex-1", children: [smartFolders !== undefined && smartFolders.length > 0 && (_jsx("nav", { className: "w-48 shrink-0 space-y-0.5 overflow-auto border-e border-border p-2", "aria-label": rootLabel ?? 'Files', children: smartFolders.map((entry) => {
59
+ const active = entry.key === smartKey;
60
+ const count = flatFilter(nodes, entry.filter, collator, entry.folderId).length;
61
+ return (_jsxs("button", { type: "button", "data-part": "smart-folder", "data-active": active ? '' : undefined, "aria-current": active ? 'true' : undefined, onClick: () => setSmartKey(active ? null : entry.key), className: 'flex w-full items-center gap-2.5 rounded-md px-2.5 py-2 text-body-sm font-semibold ' +
62
+ 'focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-accent ' +
63
+ (active ? 'bg-accent-soft text-accent' : 'text-fg-muted hover:bg-surface-2 hover:text-fg'), children: [_jsx("span", { className: "flex-1 text-start", children: entry.label ?? entry.key }), _jsx(MonoText, { className: "text-caption text-fg-subtle", children: formatCount(count, tag) })] }, entry.key));
64
+ }) })), _jsx("div", { className: "min-w-0 flex-1 overflow-auto", children: visible.length === 0 ? (_jsx(EmptyState, { compact: true, preset: "no-data", title: emptyTitle ?? 'This folder is empty', body: emptyBody ?? 'Upload files or create a folder to get started.' })) : effectiveView === 'grid' ? (_jsx("ul", { className: "grid grid-cols-[repeat(auto-fill,minmax(10.5rem,1fr))] gap-3.5 p-4", children: visible.map((node) => (_jsxs("li", { className: "relative", children: [_jsxs("button", { type: "button", "data-part": "file-tile", "data-kind": node.kind, onClick: () => openNode(node), className: 'group flex w-full flex-col rounded-lg border border-border bg-surface p-4 text-start ' +
65
+ 'transition-shadow duration-150 hover:border-border-strong hover:shadow-md ' +
66
+ 'focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent', children: [_jsx(IconTile, { size: "lg", tone: FILE_KIND_TONE[node.kind], icon: fileIconFor(node.kind, undefined, node.name, typeIconMap) }), _jsx("span", { className: "mt-3 truncate text-body-sm font-bold text-fg", children: node.name }), _jsx("span", { className: "mt-0.5 truncate text-caption text-fg-subtle", children: metaLine(node, nodes, tag, itemsLabel) })] }), starrable && _jsx(StarToggle, { node: node, label: starLabel, onToggle: onToggleStar, className: "absolute end-3 top-3" }), selectable && (_jsx("span", { className: "absolute start-3 top-3", children: _jsx(Checkbox, { checked: selected.includes(node.id), onCheckedChange: () => toggleSelected(node.id), "aria-label": node.name }) }))] }, node.id))) })) : (_jsxs("table", { "data-part": "file-table", className: "w-full border-collapse", children: [_jsx("thead", { children: _jsxs("tr", { className: "border-b border-border text-caption font-bold uppercase tracking-wide text-fg-subtle", children: [selectable && _jsx("th", { scope: "col", className: "w-10 px-4 py-2.5" }), _jsx("th", { scope: "col", className: "px-4 py-2.5 text-start", children: nameHeader ?? 'Name' }), _jsx("th", { scope: "col", className: "w-28 px-4 py-2.5 text-start", children: sizeHeader ?? 'Size' }), _jsx("th", { scope: "col", className: "w-32 px-4 py-2.5 text-start", children: modifiedHeader ?? 'Modified' }), starrable && _jsx("th", { scope: "col", className: "w-12 px-4 py-2.5" })] }) }), _jsx("tbody", { children: visible.map((node) => (_jsxs("tr", { "data-part": "file-row", "data-kind": node.kind, className: "border-b border-border hover:bg-surface-2", children: [selectable && (_jsx("td", { className: "px-4 py-2.5", children: _jsx(Checkbox, { checked: selected.includes(node.id), onCheckedChange: () => toggleSelected(node.id), "aria-label": node.name }) })), _jsx("td", { className: "px-4 py-2.5", children: _jsxs("button", { type: "button", onClick: () => openNode(node), className: 'flex w-full min-w-0 items-center gap-3 text-start ' +
67
+ 'focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent', children: [_jsx(IconTile, { size: "sm", tone: FILE_KIND_TONE[node.kind], icon: fileIconFor(node.kind, undefined, node.name, typeIconMap) }), _jsx("span", { className: "truncate text-body-sm font-semibold text-fg", children: node.name })] }) }), _jsx("td", { className: "px-4 py-2.5", children: _jsx(MonoText, { className: "text-body-sm text-fg-muted", children: node.kind === 'folder' ? EM_DASH : (formatSize(node.size, tag) ?? EM_DASH) }) }), _jsx("td", { className: "px-4 py-2.5 text-body-sm text-fg-muted", children: node.modified === undefined ? (EM_DASH) : (_jsx("time", { dateTime: node.modified, title: formatModifiedFull(node.modified, tag), children: formatModified(node.modified, tag) ?? EM_DASH })) }), starrable && (_jsx("td", { className: "px-4 py-2.5", children: _jsx(StarToggle, { node: node, label: starLabel, onToggle: onToggleStar }) }))] }, node.id))) })] })) })] })] }));
68
+ }
69
+ /**
70
+ * The hover star toggle. Optimistic-free: the widget renders `node.starred` and
71
+ * reports the intent — the host owns the write (04 §2, `capabilities.editsData`).
72
+ */
73
+ function StarToggle({ node, label, onToggle, className, }) {
74
+ return (_jsx(IconButton, { size: "sm", "data-part": "star-toggle", "data-starred": node.starred ? '' : undefined, "aria-pressed": node.starred, label: label ?? 'Star', onClick: () => onToggle?.(node, !node.starred), className: `${node.starred ? 'text-warn' : 'text-fg-subtle'} ${className ?? ''}`, children: _jsx(Star, { className: "size-3.5", ...(node.starred ? { fill: 'currentColor' } : {}) }) }));
75
+ }
76
+ /**
77
+ * Tile sub-label: "12 items" for a folder, "2.4 MB · Sep 12" for a file.
78
+ *
79
+ * `count` is OPTIONAL in the annex §8 contract — a real file table (name + size
80
+ * + parent self-FK) has no materialized count column — so a folder with no
81
+ * `countField` binding falls back to counting its children in the payload's own
82
+ * self-FK hierarchy rather than asserting a false "0 items".
83
+ */
84
+ function metaLine(node, nodes, locale, itemsLabel) {
85
+ if (node.kind === 'folder') {
86
+ return `${formatCount(node.count ?? descendantCount(nodes, node.id), locale)} ${itemsLabel ?? 'items'}`;
87
+ }
88
+ return [formatSize(node.size, locale), formatModified(node.modified, locale)].filter((part) => part !== undefined).join(' · ');
89
+ }
90
+ /** Rows for a smart-folder rail entry (also drives its live count). */
91
+ function flatFilter(nodes, filter, collator, folderId) {
92
+ if (filter === 'folder')
93
+ return childrenOf(nodes, folderId ?? ROOT_ID, collator);
94
+ if (filter === 'starred')
95
+ return nodes.filter((node) => node.starred);
96
+ if (filter === 'recent') {
97
+ return [...nodes]
98
+ .filter((node) => node.kind !== 'folder' && node.modified !== undefined)
99
+ .sort((a, b) => (b.modified ?? '').localeCompare(a.modified ?? ''))
100
+ .slice(0, 8);
101
+ }
102
+ // 'all' spans the WHOLE hierarchy, like its `starred`/`recent` siblings — the
103
+ // rail's "All files · N" must not stop at the root folder's direct children.
104
+ return nodes
105
+ .filter((node) => node.kind !== 'folder')
106
+ .sort((a, b) => collator.compare(a.name, b.name));
107
+ }
108
+ /**
109
+ * Project an untrusted `record-list` onto `FileNode`s using the config's field
110
+ * naming. Rows without a usable id are dropped (a React key must be stable);
111
+ * everything else degrades to a sensible default rather than throwing.
112
+ */
113
+ export function fileNodesOf(data, config) {
114
+ return fileRowsOf(data)
115
+ .map((row, index) => {
116
+ const id = stringField(row, config.idField) ?? `row-${index}`;
117
+ const name = stringField(row, config.nameField) ?? id;
118
+ const rawParent = row[config.parentField];
119
+ return {
120
+ id,
121
+ name,
122
+ kind: kindOf(row[config.typeField], row[config.mimeField], name),
123
+ parentId: typeof rawParent === 'string' && rawParent !== '' ? rawParent : null,
124
+ size: numberField(row, config.sizeField),
125
+ count: numberField(row, config.countField),
126
+ modified: stringField(row, config.modifiedField),
127
+ starred: booleanField(row, config.starredField),
128
+ url: stringField(row, config.urlField),
129
+ };
130
+ })
131
+ .filter((node) => node !== null);
132
+ }
133
+ export function FileBrowserWidget({ config, data, onEvent }) {
134
+ const nodes = fileNodesOf(data, config);
135
+ const source = bindingSourceOf(config.binding);
136
+ return (_jsx(FileBrowser, { nodes: nodes, views: config.views, defaultView: config.defaultView, starrable: config.starrable, selectable: config.selectable, ...(config.smartFolders === undefined ? {} : { smartFolders: config.smartFolders }), ...(config.typeIconMap === undefined ? {} : { typeIconMap: config.typeIconMap }), ...(config.format?.locale === undefined ? {} : { locale: config.format.locale }), ...(config.rootLabel === undefined ? {} : { rootLabel: config.rootLabel }), ...(config.breadcrumbLabel === undefined ? {} : { breadcrumbLabel: config.breadcrumbLabel }), ...(config.gridViewLabel === undefined ? {} : { gridViewLabel: config.gridViewLabel }), ...(config.listViewLabel === undefined ? {} : { listViewLabel: config.listViewLabel }), ...(config.nameHeader === undefined ? {} : { nameHeader: config.nameHeader }), ...(config.sizeHeader === undefined ? {} : { sizeHeader: config.sizeHeader }), ...(config.modifiedHeader === undefined ? {} : { modifiedHeader: config.modifiedHeader }), ...(config.starLabel === undefined ? {} : { starLabel: config.starLabel }), ...(config.itemsLabel === undefined ? {} : { itemsLabel: config.itemsLabel }), ...(config.emptyTitle === undefined ? {} : { emptyTitle: config.emptyTitle }), ...(config.emptyBody === undefined ? {} : { emptyBody: config.emptyBody }), onOpenFile: (node) => {
137
+ // Bound → let the host open the record (preview/download/route is its
138
+ // call); unbound demo data → the row's own url is the only target.
139
+ if (source !== null) {
140
+ onEvent({ type: 'record-open', connectionId: source.connectionId, table: source.table, recordId: node.id });
141
+ }
142
+ else if (node.url !== undefined) {
143
+ onEvent({ type: 'drill-through', href: node.url });
144
+ }
145
+ }, onToggleStar: (node, next) => {
146
+ if (source === null)
147
+ return; // unbound: nothing to write to
148
+ onEvent({
149
+ type: 'mutate',
150
+ intent: 'update',
151
+ connectionId: source.connectionId,
152
+ table: source.table,
153
+ recordId: node.id,
154
+ values: { [config.starredField]: next },
155
+ });
156
+ } }));
157
+ }
158
+ //# sourceMappingURL=FileBrowser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileBrowser.js","sourceRoot":"","sources":["../../../src/families/media/FileBrowser.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import { imageBoardConfigSchema, imageBoardDemoData } from './media-config.js';
2
+ import type { ImageBoardConfig } from './media-config.js';
3
+ import type { WidgetProps } from '../../registry/types.js';
4
+ export { imageBoardConfigSchema, imageBoardDemoData };
5
+ export type { ImageBoardConfig };
6
+ /**
7
+ * `image-board` (annex §8) — the moodboard grid of droppable image slots with
8
+ * captions and an Add-image slot. Niche but broadly useful: any table with an
9
+ * image-URL column (product photos, property listings, design refs) auto-
10
+ * instantiates onto it (annex §8).
11
+ *
12
+ * An EMPTY slot is a first-class state, not a loading artefact: the annex's
13
+ * droppable placeholder ("Drop reference") is what an unfilled row renders. A
14
+ * broken/blocked image URL degrades to the same placeholder via `onError` rather
15
+ * than showing the browser's torn-image glyph.
16
+ */
17
+ export interface BoardImage {
18
+ id: string;
19
+ imageUrl?: string | undefined;
20
+ caption?: string | undefined;
21
+ placeholder?: string | undefined;
22
+ }
23
+ export interface ImageBoardProps {
24
+ images: readonly BoardImage[];
25
+ columns?: number | undefined;
26
+ editableCaptions?: boolean | undefined;
27
+ allowAdd?: boolean | undefined;
28
+ addLabel?: string | undefined;
29
+ captionLabel?: string | undefined;
30
+ emptyTitle?: string | undefined;
31
+ emptyBody?: string | undefined;
32
+ onCaptionChange?: ((image: BoardImage, caption: string) => void) | undefined;
33
+ onAdd?: (() => void) | undefined;
34
+ onOpen?: ((image: BoardImage) => void) | undefined;
35
+ testId?: string | undefined;
36
+ }
37
+ export declare function ImageBoard({ images, columns, editableCaptions, allowAdd, addLabel, captionLabel, emptyTitle, emptyBody, onCaptionChange, onAdd, onOpen, testId, }: ImageBoardProps): import("react").JSX.Element;
38
+ /** Project an untrusted `record-list` onto `BoardImage`s via the field naming. */
39
+ export declare function boardImagesOf(data: unknown, config: ImageBoardConfig): BoardImage[];
40
+ export declare function ImageBoardWidget({ config, data, onEvent }: WidgetProps<ImageBoardConfig>): import("react").JSX.Element;
41
+ //# sourceMappingURL=ImageBoard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ImageBoard.d.ts","sourceRoot":"","sources":["../../../src/families/media/ImageBoard.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,CAAC;AACtD,YAAY,EAAE,gBAAgB,EAAE,CAAC;AAEjC;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,SAAS,UAAU,EAAE,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,eAAe,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC7E,KAAK,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IACjC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACnD,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B;AAgBD,wBAAgB,UAAU,CAAC,EACzB,MAAM,EACN,OAAW,EACX,gBAAwB,EACxB,QAAgB,EAChB,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,SAAS,EACT,eAAe,EACf,KAAK,EACL,MAAM,EACN,MAAM,GACP,EAAE,eAAe,+BAsFjB;AAED,kFAAkF;AAClF,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,GAAG,UAAU,EAAE,CAOnF;AAED,wBAAgB,gBAAgB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,WAAW,CAAC,gBAAgB,CAAC,+BA+BxF"}
@@ -0,0 +1,67 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { EmptyState, IconTile } from '@adminium/ui';
3
+ import { ImageIcon, Plus } from 'lucide-react';
4
+ import { useState } from 'react';
5
+ import { bindingSourceOf, fileRowsOf, stringField } from './media-lib.js';
6
+ import { imageBoardConfigSchema, imageBoardDemoData } from './media-config.js';
7
+ export { imageBoardConfigSchema, imageBoardDemoData };
8
+ /**
9
+ * Column count → a static Tailwind grid class. A template literal
10
+ * (`grid-cols-${n}`) would not survive Tailwind's static extraction — the class
11
+ * must appear verbatim in the source to be emitted.
12
+ */
13
+ const COLUMN_CLASS = {
14
+ 1: 'grid-cols-1',
15
+ 2: 'grid-cols-2',
16
+ 3: 'grid-cols-3',
17
+ 4: 'grid-cols-4',
18
+ 5: 'grid-cols-5',
19
+ 6: 'grid-cols-6',
20
+ };
21
+ export function ImageBoard({ images, columns = 2, editableCaptions = false, allowAdd = false, addLabel, captionLabel, emptyTitle, emptyBody, onCaptionChange, onAdd, onOpen, testId, }) {
22
+ // Slots whose image failed to load fall back to the placeholder.
23
+ const [broken, setBroken] = useState([]);
24
+ if (images.length === 0 && !allowAdd) {
25
+ return (_jsx(EmptyState, { compact: true, preset: "no-data", title: emptyTitle ?? 'No images yet', body: emptyBody ?? 'Reference images will appear on this board.' }));
26
+ }
27
+ return (_jsx("div", { "data-widget": "image-board", "data-testid": testId, className: "h-full overflow-auto p-4", children: _jsxs("ul", { className: `grid gap-3.5 ${COLUMN_CLASS[columns] ?? COLUMN_CLASS[2]}`, children: [images.map((image) => {
28
+ const failed = broken.includes(image.id);
29
+ const src = failed ? undefined : image.imageUrl;
30
+ return (_jsxs("li", { "data-part": "image-slot", "data-filled": src === undefined ? undefined : '', children: [_jsx("div", { className: "relative aspect-[4/3] w-full overflow-hidden rounded-lg border border-border bg-surface-2", children: src === undefined ? (_jsxs("div", { className: "flex h-full flex-col items-center justify-center gap-2 text-fg-subtle", children: [_jsx(ImageIcon, { "aria-hidden": "true", className: "size-6" }), _jsx("span", { className: "text-caption font-semibold", children: image.placeholder ?? 'Drop reference' })] })) : (_jsx("button", { type: "button", onClick: () => onOpen?.(image), className: "block size-full focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-accent", children: _jsx("img", { src: src, alt: image.caption ?? '', loading: "lazy", onError: () => setBroken((prev) => (prev.includes(image.id) ? prev : [...prev, image.id])), className: "size-full object-cover" }) })) }), editableCaptions ? (_jsx("input", { "data-part": "image-caption", "aria-label": captionLabel ?? 'Caption', defaultValue: image.caption ?? '', onBlur: (event) => onCaptionChange?.(image, event.currentTarget.value), className: 'mt-2 w-full rounded-md border border-transparent bg-transparent px-1.5 py-1 text-caption ' +
31
+ 'font-semibold text-fg-muted hover:border-border focus:border-accent focus:outline-none' })) : (image.caption !== undefined && (_jsx("p", { "data-part": "image-caption", className: "mt-2 text-caption font-semibold text-fg-muted", children: image.caption })))] }, image.id));
32
+ }), allowAdd && (_jsx("li", { children: _jsxs("button", { type: "button", "data-part": "image-add", onClick: onAdd, className: 'flex aspect-[4/3] w-full flex-col items-center justify-center gap-2 rounded-lg border-2 ' +
33
+ 'border-dashed border-border-strong text-fg-subtle transition-colors duration-150 ' +
34
+ 'hover:border-accent hover:text-accent focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent', children: [_jsx(IconTile, { size: "md", tone: "accent", icon: _jsx(Plus, {}) }), _jsx("span", { className: "text-caption font-bold", children: addLabel ?? 'Add image' })] }) }))] }) }));
35
+ }
36
+ /** Project an untrusted `record-list` onto `BoardImage`s via the field naming. */
37
+ export function boardImagesOf(data, config) {
38
+ return fileRowsOf(data).map((row, index) => ({
39
+ id: stringField(row, config.idField) ?? `image-${index}`,
40
+ imageUrl: stringField(row, config.imageField),
41
+ caption: stringField(row, config.captionField),
42
+ placeholder: stringField(row, config.placeholderField),
43
+ }));
44
+ }
45
+ export function ImageBoardWidget({ config, data, onEvent }) {
46
+ const source = bindingSourceOf(config.binding);
47
+ return (_jsx(ImageBoard, { images: boardImagesOf(data, config), columns: config.columns,
48
+ // An editable caption is a write: only offer it when a binding exists to
49
+ // write to, else the field would silently swallow every edit.
50
+ editableCaptions: config.editableCaptions && source !== null, allowAdd: config.allowAdd, ...(config.addLabel === undefined ? {} : { addLabel: config.addLabel }), ...(config.captionLabel === undefined ? {} : { captionLabel: config.captionLabel }), ...(config.emptyTitle === undefined ? {} : { emptyTitle: config.emptyTitle }), ...(config.emptyBody === undefined ? {} : { emptyBody: config.emptyBody }), onOpen: (image) => {
51
+ const href = image.imageUrl ?? config.href;
52
+ if (href !== undefined)
53
+ onEvent({ type: 'drill-through', href });
54
+ }, onCaptionChange: (image, caption) => {
55
+ if (source === null || caption === (image.caption ?? ''))
56
+ return; // no-op blur
57
+ onEvent({
58
+ type: 'mutate',
59
+ intent: 'update',
60
+ connectionId: source.connectionId,
61
+ table: source.table,
62
+ recordId: image.id,
63
+ values: { [config.captionField]: caption },
64
+ });
65
+ } }));
66
+ }
67
+ //# sourceMappingURL=ImageBoard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ImageBoard.js","sourceRoot":"","sources":["../../../src/families/media/ImageBoard.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ import { linkListConfigSchema, linkListDemoData } from './media-config.js';
2
+ import type { LinkListConfig } from './media-config.js';
3
+ import type { WidgetProps } from '../../registry/types.js';
4
+ export { linkListConfigSchema, linkListDemoData };
5
+ export type { LinkListConfig };
6
+ /**
7
+ * `link-list` (annex §8) — reference-link rows: an icon chip, the title, the mono
8
+ * URL, an external-link arrow, a hover delete, and an inline add-composer. The
9
+ * read-only "resources" variant (`editable: false`) is what Workspace Onboarding
10
+ * and the 404 quick-links render; the auto-instantiation target for URL columns
11
+ * (annex §8).
12
+ *
13
+ * SAFETY: rows carry URLs from a database column — untrusted input. Only
14
+ * `http(s)` links become anchors (a `javascript:`/`data:` URL would otherwise be
15
+ * a stored-XSS sink via `href`); anything else renders as inert text. External
16
+ * links always get `rel="noreferrer noopener"` so the target can never reach back
17
+ * through `window.opener`.
18
+ */
19
+ export interface ReferenceLink {
20
+ id: string;
21
+ title: string;
22
+ url: string;
23
+ }
24
+ export interface LinkListProps {
25
+ links: readonly ReferenceLink[];
26
+ editable?: boolean | undefined;
27
+ newTab?: boolean | undefined;
28
+ addLabel?: string | undefined;
29
+ titlePlaceholder?: string | undefined;
30
+ urlPlaceholder?: string | undefined;
31
+ submitLabel?: string | undefined;
32
+ deleteLabel?: string | undefined;
33
+ emptyTitle?: string | undefined;
34
+ emptyBody?: string | undefined;
35
+ onAdd?: ((link: {
36
+ title: string;
37
+ url: string;
38
+ }) => void) | undefined;
39
+ onDelete?: ((link: ReferenceLink) => void) | undefined;
40
+ testId?: string | undefined;
41
+ }
42
+ /** Only `http(s)` URLs may become an `href` — everything else renders inert. */
43
+ export declare function isSafeHref(url: string): boolean;
44
+ export declare function LinkList({ links, editable, newTab, addLabel, titlePlaceholder, urlPlaceholder, submitLabel, deleteLabel, emptyTitle, emptyBody, onAdd, onDelete, testId, }: LinkListProps): import("react").JSX.Element;
45
+ /** Project an untrusted `record-list` onto `ReferenceLink`s via the field naming. */
46
+ export declare function referenceLinksOf(data: unknown, config: LinkListConfig): ReferenceLink[];
47
+ export declare function LinkListWidget({ config, data, onEvent }: WidgetProps<LinkListConfig>): import("react").JSX.Element;
48
+ //# sourceMappingURL=LinkList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LinkList.d.ts","sourceRoot":"","sources":["../../../src/families/media/LinkList.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,CAAC;AAClD,YAAY,EAAE,cAAc,EAAE,CAAC;AAE/B;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,SAAS,aAAa,EAAE,CAAC;IAChC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACrE,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACvD,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B;AAED,gFAAgF;AAChF,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAO/C;AAED,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,QAAgB,EAChB,MAAa,EACb,QAAQ,EACR,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,WAAW,EACX,UAAU,EACV,SAAS,EACT,KAAK,EACL,QAAQ,EACR,MAAM,GACP,EAAE,aAAa,+BAiIf;AAED,qFAAqF;AACrF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,GAAG,aAAa,EAAE,CAMvF;AAED,wBAAgB,cAAc,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,WAAW,CAAC,cAAc,CAAC,+BAqCpF"}
@@ -0,0 +1,89 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { Button, EmptyState, IconButton, IconTile, Input, MonoText } from '@adminium/ui';
3
+ import { ArrowUpRight, Plus, X } from 'lucide-react';
4
+ import { useState } from 'react';
5
+ import { linkIcon } from './media-icons.js';
6
+ import { bindingSourceOf, displayUrl, fileRowsOf, stringField } from './media-lib.js';
7
+ import { linkListConfigSchema, linkListDemoData } from './media-config.js';
8
+ export { linkListConfigSchema, linkListDemoData };
9
+ /** Only `http(s)` URLs may become an `href` — everything else renders inert. */
10
+ export function isSafeHref(url) {
11
+ try {
12
+ const protocol = new URL(url, 'https://placeholder.invalid').protocol;
13
+ return protocol === 'http:' || protocol === 'https:';
14
+ }
15
+ catch {
16
+ return false;
17
+ }
18
+ }
19
+ export function LinkList({ links, editable = false, newTab = true, addLabel, titlePlaceholder, urlPlaceholder, submitLabel, deleteLabel, emptyTitle, emptyBody, onAdd, onDelete, testId, }) {
20
+ const [composing, setComposing] = useState(false);
21
+ const [title, setTitle] = useState('');
22
+ const [url, setUrl] = useState('');
23
+ const submit = () => {
24
+ const nextTitle = title.trim();
25
+ const nextUrl = url.trim();
26
+ if (nextUrl === '')
27
+ return;
28
+ onAdd?.({ title: nextTitle === '' ? nextUrl : nextTitle, url: nextUrl });
29
+ setTitle('');
30
+ setUrl('');
31
+ setComposing(false);
32
+ };
33
+ if (links.length === 0 && !editable) {
34
+ return (_jsx(EmptyState, { compact: true, preset: "no-data", title: emptyTitle ?? 'No links yet', body: emptyBody ?? 'Reference links will appear here.' }));
35
+ }
36
+ return (_jsxs("div", { "data-widget": "link-list", "data-testid": testId, className: "flex h-full flex-col", children: [editable && (_jsx("div", { className: "border-b border-border p-2", children: composing ? (_jsxs("div", { className: "flex items-center gap-2", "data-part": "link-composer", children: [_jsx(Input, { autoFocus: true, value: title, "aria-label": titlePlaceholder ?? 'Title', placeholder: titlePlaceholder ?? 'Title', onChange: (event) => setTitle(event.currentTarget.value), onKeyDown: (event) => {
37
+ if (event.key === 'Enter')
38
+ submit();
39
+ if (event.key === 'Escape')
40
+ setComposing(false);
41
+ }, className: "flex-1" }), _jsx(Input, { value: url, "aria-label": urlPlaceholder ?? 'https://…', placeholder: urlPlaceholder ?? 'https://…', onChange: (event) => setUrl(event.currentTarget.value), onKeyDown: (event) => {
42
+ if (event.key === 'Enter')
43
+ submit();
44
+ if (event.key === 'Escape')
45
+ setComposing(false);
46
+ }, className: "flex-[1.3] font-mono" }), _jsx(Button, { size: "sm", onClick: submit, "data-part": "link-submit", children: submitLabel ?? 'Add' })] })) : (_jsx(Button, { size: "sm", variant: "ghost", iconLeft: _jsx(Plus, {}), onClick: () => setComposing(true), "data-part": "link-add", children: addLabel ?? 'Add link' })) })), links.length === 0 ? (_jsx(EmptyState, { compact: true, preset: "no-data", title: emptyTitle ?? 'No links yet', body: emptyBody ?? 'Reference links will appear here.' })) : (_jsx("ul", { className: "flex-1 space-y-0.5 overflow-auto p-2", children: links.map((link) => {
47
+ const safe = isSafeHref(link.url);
48
+ const body = (_jsxs(_Fragment, { children: [_jsx(IconTile, { size: "md", tone: "neutral", icon: linkIcon() }), _jsxs("span", { className: "min-w-0 flex-1", children: [_jsx("span", { className: "block truncate text-body-sm font-bold text-fg", children: link.title }), _jsx(MonoText, { className: "block truncate text-caption text-accent", children: displayUrl(link.url) })] })] }));
49
+ return (_jsxs("li", { "data-part": "link-row", "data-unsafe": safe ? undefined : '', className: "group flex items-center gap-3 rounded-lg px-2.5 py-2.5 hover:bg-surface-2", children: [safe ? (_jsx("a", { href: link.url, ...(newTab ? { target: '_blank' } : {}), rel: "noreferrer noopener", className: 'flex min-w-0 flex-1 items-center gap-3 rounded-md ' +
50
+ 'focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent', children: body })) : (
51
+ // Non-http(s) URL from an untrusted column: show it, never link it.
52
+ _jsx("span", { className: "flex min-w-0 flex-1 items-center gap-3", children: body })), editable && (_jsx(IconButton, { size: "sm", "data-part": "link-delete", label: deleteLabel ?? 'Remove', onClick: () => onDelete?.(link), className: "opacity-0 transition-opacity duration-100 hover:text-danger group-hover:opacity-100 focus-visible:opacity-100", children: _jsx(X, { className: "size-3.5" }) })), safe && _jsx(ArrowUpRight, { "aria-hidden": "true", className: "size-4 shrink-0 text-fg-subtle rtl:-scale-x-100" })] }, link.id));
53
+ }) }))] }));
54
+ }
55
+ /** Project an untrusted `record-list` onto `ReferenceLink`s via the field naming. */
56
+ export function referenceLinksOf(data, config) {
57
+ return fileRowsOf(data).map((row, index) => {
58
+ const id = stringField(row, config.idField) ?? `link-${index}`;
59
+ const url = stringField(row, config.urlField) ?? '';
60
+ return { id, title: stringField(row, config.titleField) ?? url, url };
61
+ });
62
+ }
63
+ export function LinkListWidget({ config, data, onEvent }) {
64
+ const source = bindingSourceOf(config.binding);
65
+ return (_jsx(LinkList, { links: referenceLinksOf(data, config),
66
+ // Editing is a write: only offer it when there is a table to write to.
67
+ editable: config.editable && source !== null, newTab: config.newTab, ...(config.addLabel === undefined ? {} : { addLabel: config.addLabel }), ...(config.titlePlaceholder === undefined ? {} : { titlePlaceholder: config.titlePlaceholder }), ...(config.urlPlaceholder === undefined ? {} : { urlPlaceholder: config.urlPlaceholder }), ...(config.submitLabel === undefined ? {} : { submitLabel: config.submitLabel }), ...(config.deleteLabel === undefined ? {} : { deleteLabel: config.deleteLabel }), ...(config.emptyTitle === undefined ? {} : { emptyTitle: config.emptyTitle }), ...(config.emptyBody === undefined ? {} : { emptyBody: config.emptyBody }), onAdd: (link) => {
68
+ if (source === null)
69
+ return;
70
+ onEvent({
71
+ type: 'mutate',
72
+ intent: 'insert',
73
+ connectionId: source.connectionId,
74
+ table: source.table,
75
+ values: { [config.titleField]: link.title, [config.urlField]: link.url },
76
+ });
77
+ }, onDelete: (link) => {
78
+ if (source === null)
79
+ return;
80
+ onEvent({
81
+ type: 'mutate',
82
+ intent: 'delete',
83
+ connectionId: source.connectionId,
84
+ table: source.table,
85
+ recordId: link.id,
86
+ });
87
+ } }));
88
+ }
89
+ //# sourceMappingURL=LinkList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LinkList.js","sourceRoot":"","sources":["../../../src/families/media/LinkList.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import { uploadDropzoneConfigSchema, uploadDropzoneDemoData } from './media-config.js';
2
+ import type { UploadDropzoneConfig } from './media-config.js';
3
+ import type { WidgetProps } from '../../registry/types.js';
4
+ export { uploadDropzoneConfigSchema, uploadDropzoneDemoData };
5
+ export type { UploadDropzoneConfig };
6
+ /**
7
+ * `upload-dropzone` (annex §8) — the dashed-border drag-and-drop target: icon
8
+ * tile, "Drop files to upload", a format/size hint, an "or browse" micro-CTA, and
9
+ * an accent hover/drag-over state. Generalises the Studio-local
10
+ * `apps/dashboard/src/studio/connect/Dropzone.tsx` (09 §8.2 mode c) into the
11
+ * reusable registry widget.
12
+ *
13
+ * NO TRANSPORT: this widget renders state and EMITS files through `onFiles` — it
14
+ * never uploads. There are no files routes yet (08 §2.11), so the host owns the
15
+ * transport; when they land, the dashboard wires `onFiles` to them and pipes the
16
+ * resulting job rows into `upload-progress-list`. Data contract is `static`
17
+ * (annex §8: "none (emits files); constraints from config").
18
+ *
19
+ * The `maxSize` constraint is enforced here (oversize files are reported through
20
+ * `onReject`, never silently dropped) because it is the one check that needs no
21
+ * backend — everything else is the server's job.
22
+ */
23
+ export interface UploadDropzoneProps {
24
+ accept?: string | undefined;
25
+ /** Max bytes per file; oversize picks are routed to `onReject`. */
26
+ maxSize?: number | undefined;
27
+ multiple?: boolean | undefined;
28
+ disabled?: boolean | undefined;
29
+ locale?: string | undefined;
30
+ dropTitle?: string | undefined;
31
+ browsePrefix?: string | undefined;
32
+ browseLabel?: string | undefined;
33
+ hint?: string | undefined;
34
+ onFiles?: ((files: readonly File[]) => void) | undefined;
35
+ /** Files rejected by the `maxSize` constraint, with the limit that failed. */
36
+ onReject?: ((files: readonly File[], reason: 'max-size') => void) | undefined;
37
+ testId?: string | undefined;
38
+ }
39
+ export declare function UploadDropzone({ accept, maxSize, multiple, disabled, locale, dropTitle, browsePrefix, browseLabel, hint, onFiles, onReject, testId, }: UploadDropzoneProps): import("react").JSX.Element;
40
+ export declare function UploadDropzoneWidget({ config }: WidgetProps<UploadDropzoneConfig>): import("react").JSX.Element;
41
+ //# sourceMappingURL=UploadDropzone.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UploadDropzone.d.ts","sourceRoot":"","sources":["../../../src/families/media/UploadDropzone.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,0BAA0B,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AACvF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,EAAE,0BAA0B,EAAE,sBAAsB,EAAE,CAAC;AAC9D,YAAY,EAAE,oBAAoB,EAAE,CAAC;AAErC;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,mEAAmE;IACnE,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACzD,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC9E,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B;AAED,wBAAgB,cAAc,CAAC,EAC7B,MAAM,EACN,OAAO,EACP,QAAe,EACf,QAAgB,EAChB,MAAM,EACN,SAAS,EACT,YAAY,EACZ,WAAW,EACX,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,MAAM,GACP,EAAE,mBAAmB,+BA0ErB;AAED,wBAAgB,oBAAoB,CAAC,EAAE,MAAM,EAAE,EAAE,WAAW,CAAC,oBAAoB,CAAC,+BAoBjF"}
@@ -0,0 +1,54 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { IconTile } from '@adminium/ui';
3
+ import { CloudUpload } from 'lucide-react';
4
+ import { useRef, useState } from 'react';
5
+ import { formatSize, resolveLocale } from './media-lib.js';
6
+ import { uploadDropzoneConfigSchema, uploadDropzoneDemoData } from './media-config.js';
7
+ export { uploadDropzoneConfigSchema, uploadDropzoneDemoData };
8
+ export function UploadDropzone({ accept, maxSize, multiple = true, disabled = false, locale, dropTitle, browsePrefix, browseLabel, hint, onFiles, onReject, testId, }) {
9
+ const inputRef = useRef(null);
10
+ const [dragging, setDragging] = useState(false);
11
+ const tag = resolveLocale(locale);
12
+ const pick = (list) => {
13
+ if (list === null || list.length === 0)
14
+ return;
15
+ const files = multiple ? [...list] : [...list].slice(0, 1);
16
+ if (maxSize === undefined) {
17
+ onFiles?.(files);
18
+ return;
19
+ }
20
+ const accepted = files.filter((file) => file.size <= maxSize);
21
+ const rejected = files.filter((file) => file.size > maxSize);
22
+ if (rejected.length > 0)
23
+ onReject?.(rejected, 'max-size');
24
+ if (accepted.length > 0)
25
+ onFiles?.(accepted);
26
+ };
27
+ const onDrop = (event) => {
28
+ event.preventDefault();
29
+ setDragging(false);
30
+ if (!disabled)
31
+ pick(event.dataTransfer.files);
32
+ };
33
+ const sizeHint = maxSize === undefined ? undefined : formatSize(maxSize, tag);
34
+ return (_jsxs("div", { "data-widget": "upload-dropzone", "data-testid": testId, className: "flex h-full flex-col p-3", children: [_jsxs("button", { type: "button", "data-part": "dropzone", disabled: disabled, "data-dragging": dragging ? '' : undefined, onClick: () => inputRef.current?.click(), onDragOver: (event) => {
35
+ event.preventDefault();
36
+ setDragging(true);
37
+ }, onDragLeave: () => setDragging(false), onDrop: onDrop, className: 'flex h-full w-full flex-col items-center justify-center gap-1 rounded-lg border-2 border-dashed ' +
38
+ 'border-border-strong bg-surface-2 px-6 py-8 text-center transition-colors duration-150 ' +
39
+ 'hover:border-fg-subtle focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent ' +
40
+ 'disabled:pointer-events-none disabled:opacity-40 data-[dragging]:border-accent data-[dragging]:bg-accent-soft', children: [_jsx(IconTile, { size: "xl", tone: "accent", icon: _jsx(CloudUpload, {}), className: "mb-2" }), _jsx("span", { className: "text-body-sm font-bold text-fg", children: dropTitle ?? 'Drop files to upload' }), _jsxs("span", { className: "text-caption text-fg-muted", children: [browsePrefix ?? 'or', " ", _jsx("span", { className: "font-bold text-accent", children: browseLabel ?? 'browse' })] }), (hint !== undefined || sizeHint !== undefined) && (_jsx("span", { className: "mt-2 text-caption text-fg-subtle", "data-part": "dropzone-hint", children: [hint, sizeHint].filter((part) => part !== undefined).join(' · ') }))] }), _jsx("input", { ref: inputRef, type: "file", tabIndex: -1, "aria-hidden": "true", "data-part": "dropzone-input", multiple: multiple, ...(accept === undefined ? {} : { accept }), className: "hidden", onChange: (event) => {
41
+ pick(event.currentTarget.files);
42
+ event.currentTarget.value = '';
43
+ } })] }));
44
+ }
45
+ export function UploadDropzoneWidget({ config }) {
46
+ // No `onFiles` sink: `WidgetEvent` (04 §2.1) models drill-through/record-open/
47
+ // mutate — it has no "here are some File handles" case, and inventing one is a
48
+ // registry-contract change, not a widget decision. The dashboard composes the
49
+ // exported <UploadDropzone> directly (import pages: dropzone +
50
+ // column-mapping-table + validation-issues-list, annex §10) where it can hold
51
+ // the File objects. Registry-placed, this instance is the visual affordance.
52
+ return (_jsx(UploadDropzone, { ...(config.accept === undefined ? {} : { accept: config.accept }), ...(config.maxSize === undefined ? {} : { maxSize: config.maxSize }), multiple: config.multiple, disabled: config.disabled, ...(config.format?.locale === undefined ? {} : { locale: config.format.locale }), ...(config.dropTitle === undefined ? {} : { dropTitle: config.dropTitle }), ...(config.browsePrefix === undefined ? {} : { browsePrefix: config.browsePrefix }), ...(config.browseLabel === undefined ? {} : { browseLabel: config.browseLabel }), ...(config.hint === undefined ? {} : { hint: config.hint }) }));
53
+ }
54
+ //# sourceMappingURL=UploadDropzone.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UploadDropzone.js","sourceRoot":"","sources":["../../../src/families/media/UploadDropzone.tsx"],"names":[],"mappings":"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"}