@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,72 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { Button, EmptyState, IconTile, Input, Spinner } from '@adminium/ui';
3
+ import { KeyRound, Send, Sparkles } from 'lucide-react';
4
+ import { useState } from 'react';
5
+ import { chatRowsOf, fmtClock, formatAbsoluteTime, localeOf, sortBySentAt, sourceOf, stringField, CHAT_DEMO_EPOCH, } from './chat-lib.js';
6
+ // Config schema + deterministic demo payload live in the pure
7
+ // `communication-config` module so the registry metadata graph never eagerly
8
+ // pulls this component's @adminium/ui deps (acceptance #3); re-exported here so
9
+ // the family barrel, stories, and tests keep one import point per widget.
10
+ export { aiChatPanelConfigSchema, aiChatPanelDemoData } from './communication-config.js';
11
+ export function AiChatPanel({ turns, suggestions = [], providerConfigured = true, providerLabel, assistantName, composerPlaceholder, sendLabel, pending = false, pendingLabel, configureTitle, configureBody, configureCtaLabel, emptyTitle, emptyBody, onSend, onConfigure, locale: localeProp, dir, testId, }) {
12
+ // `format.locale` is a free-string in the shared config, so '' / 'x-1' are
13
+ // schema-valid and would throw out of every Intl call. Normalize at the edge.
14
+ const locale = localeOf(localeProp);
15
+ const [draft, setDraft] = useState('');
16
+ const ordered = sortBySentAt(turns.map((turn) => ({ ...turn, own: turn.role === 'user', sentAt: turn.sentAt ?? '' })));
17
+ const send = (prompt) => {
18
+ const body = prompt.trim();
19
+ if (body === '')
20
+ return;
21
+ onSend?.(body);
22
+ setDraft('');
23
+ };
24
+ const submit = (event) => {
25
+ event.preventDefault();
26
+ send(draft);
27
+ };
28
+ return (_jsxs("div", { "data-widget": "ai-chat-panel", "data-testid": testId, "data-provider-configured": providerConfigured ? '' : undefined, ...(dir === undefined ? {} : { dir }), className: "flex h-full flex-col", children: [_jsxs("div", { className: "flex items-center gap-2.5 border-b border-border/60 px-4 py-3", children: [_jsx(IconTile, { size: "sm", tone: "accent", icon: _jsx(Sparkles, {}) }), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsx("div", { className: "truncate text-body-sm font-bold text-fg", children: assistantName ?? 'Assistant' }), providerLabel !== undefined && (_jsx("div", { className: "truncate font-mono text-caption text-fg-subtle", children: providerLabel }))] })] }), !providerConfigured ? (
29
+ // No provider → the panel is inert by design: no composer, no callbacks
30
+ // that could imply a request is possible (06 §4 — the server owns keys).
31
+ _jsx("div", { "data-part": "configure-provider", className: "flex-1", children: _jsx(EmptyState, { compact: true, icon: _jsx(KeyRound, {}), tone: "warn", title: configureTitle ?? 'No AI provider configured', body: configureBody ??
32
+ 'Add an Anthropic or OpenAI key — or point Adminium at your own endpoint — to ask questions about your schema.', actions: onConfigure === undefined ? undefined : (_jsx(Button, { variant: "primary", size: "sm", onClick: onConfigure, children: configureCtaLabel ?? 'Configure a provider' })) }) })) : (_jsxs(_Fragment, { children: [ordered.length === 0 ? (_jsx("div", { className: "flex-1", children: _jsx(EmptyState, { compact: true, icon: _jsx(Sparkles, {}), tone: "accent", title: emptyTitle ?? 'Ask about your data', body: emptyBody ?? 'Ask a question about your schema, tables, or metrics to get started.' }) })) : (_jsxs("div", { "data-part": "ai-transcript", className: "flex flex-1 flex-col gap-2 overflow-auto p-4", children: [ordered.map((turn) => (_jsx(AiBubble, { turn: turn, locale: locale }, turn.id))), pending && (_jsxs("div", { "data-part": "ai-pending", className: "flex items-center gap-2 py-1", children: [_jsx(Spinner, { size: "sm" }), _jsx("span", { className: "text-caption italic text-fg-subtle", children: pendingLabel ?? 'Thinking…' })] }))] })), suggestions.length > 0 && (_jsx("ul", { "data-part": "suggestion-chips", className: "flex flex-wrap gap-1.5 px-4 pb-2", children: suggestions.map((suggestion) => (_jsx("li", { children: _jsx("button", { type: "button", "data-part": "suggestion-chip", disabled: pending, onClick: () => send(suggestion), className: "rounded-full border border-border bg-surface-2 px-2.5 py-1 text-caption font-semibold text-fg-muted hover:border-accent hover:text-accent focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent disabled:pointer-events-none disabled:opacity-40", children: suggestion }) }, suggestion))) })), _jsxs("form", { "data-part": "composer", onSubmit: submit, className: "flex items-center gap-2 border-t border-border/60 p-3", children: [_jsx(Input, { "aria-label": composerPlaceholder ?? 'Ask a question', placeholder: composerPlaceholder ?? 'Ask a question…', value: draft, disabled: pending, onChange: (event) => setDraft(event.currentTarget.value) }), _jsx("button", { type: "submit", "data-part": "send-button", "aria-label": sendLabel ?? 'Send', disabled: pending || draft.trim() === '', className: "grid size-9 shrink-0 place-items-center rounded-md bg-accent text-accent-fg hover:opacity-90 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent disabled:pointer-events-none disabled:opacity-40", children: _jsx(Send, { className: "size-4 rtl:-scale-x-100", "aria-hidden": "true" }) })] })] }))] }));
33
+ }
34
+ function AiBubble({ turn, locale }) {
35
+ const own = turn.own;
36
+ const stamp = turn.sentAt !== undefined && turn.sentAt !== '' ? turn.sentAt : undefined;
37
+ return (_jsxs("div", { "data-part": "ai-turn", "data-role": turn.role, className: `flex items-start gap-2 ${own ? 'justify-end' : 'justify-start'}`, children: [!own && _jsx(IconTile, { size: "sm", tone: "accent", icon: _jsx(Sparkles, {}), className: "mt-0.5 shrink-0" }), _jsxs("div", { "data-part": "ai-bubble", className: `max-w-[80%] rounded-2xl px-3 py-2 text-body-sm leading-relaxed ${own ? 'rounded-ee-sm bg-accent text-accent-fg' : 'rounded-es-sm border border-border bg-surface text-fg'}`, children: [_jsx("p", { className: "whitespace-pre-wrap break-words", children: turn.body }), stamp !== undefined && (_jsx("time", { dateTime: stamp, title: formatAbsoluteTime(stamp, locale), "data-part": "ai-time", className: `mt-1 block font-mono text-[9.5px] tabular-nums ${own ? 'text-end text-accent-fg/70' : 'text-start text-fg-subtle'}`, children: fmtClock(locale, stamp) }))] })] }));
38
+ }
39
+ function turnsOf(data, config) {
40
+ return chatRowsOf(data).map((row, index) => {
41
+ const sentAt = stringField(row, config.sentAtField);
42
+ return {
43
+ id: row['id'] ?? index,
44
+ role: stringField(row, config.roleField) === 'user' ? 'user' : 'assistant',
45
+ body: stringField(row, config.bodyField) ?? '',
46
+ sentAt: sentAt ?? new Date(CHAT_DEMO_EPOCH).toISOString(),
47
+ };
48
+ });
49
+ }
50
+ export function AiChatPanelWidget({ config, data, onEvent }) {
51
+ const turns = turnsOf(data, config);
52
+ const source = sourceOf(config.binding);
53
+ return (_jsx(AiChatPanel, { turns: turns, suggestions: config.suggestions, providerConfigured: config.providerConfigured, pending: config.pending, ...(config.providerLabel === undefined ? {} : { providerLabel: config.providerLabel }), ...(config.assistantName === undefined ? {} : { assistantName: config.assistantName }), ...(config.composerPlaceholder === undefined ? {} : { composerPlaceholder: config.composerPlaceholder }), ...(config.sendLabel === undefined ? {} : { sendLabel: config.sendLabel }), ...(config.pendingLabel === undefined ? {} : { pendingLabel: config.pendingLabel }), ...(config.configureTitle === undefined ? {} : { configureTitle: config.configureTitle }), ...(config.configureBody === undefined ? {} : { configureBody: config.configureBody }), ...(config.configureCtaLabel === undefined ? {} : { configureCtaLabel: config.configureCtaLabel }), ...(config.emptyTitle === undefined ? {} : { emptyTitle: config.emptyTitle }), ...(config.emptyBody === undefined ? {} : { emptyBody: config.emptyBody }), ...(config.format?.locale === undefined ? {} : { locale: config.format.locale }), ...(config.testId === undefined ? {} : { testId: config.testId }),
54
+ // The host owns the LLM run (POST /api/v1/llm/…): the widget only reports
55
+ // the prompt as an insert intent against the transcript table.
56
+ onSend: (prompt) => {
57
+ onEvent({
58
+ type: 'mutate',
59
+ intent: 'insert',
60
+ ...(source.connectionId === undefined ? {} : { connectionId: source.connectionId }),
61
+ table: source.table,
62
+ values: { [config.roleField]: 'user', [config.bodyField]: prompt },
63
+ });
64
+ }, ...(config.configureHref === undefined
65
+ ? {}
66
+ : {
67
+ onConfigure: () => {
68
+ onEvent({ type: 'drill-through', href: config.configureHref });
69
+ },
70
+ }) }));
71
+ }
72
+ //# sourceMappingURL=AiChatPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AiChatPanel.js","sourceRoot":"","sources":["../../../src/families/communication/AiChatPanel.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ import type { CallKind, CallState } from './chat-lib.js';
2
+ import type { CallWidgetConfig } from './communication-config.js';
3
+ import type { WidgetProps } from '../../registry/types.js';
4
+ export { callWidgetConfigSchema, callWidgetDemoData } from './communication-config.js';
5
+ export type { CallWidgetConfig };
6
+ /**
7
+ * `call-widget` (annex §9) — the ringing state: a large avatar wrapped in an
8
+ * expanding accent ring, the voice/video kind label, and accept/decline
9
+ * controls. The annex flags it as niche and says why it is kept: marketplace
10
+ * apps (a POS support line, a telehealth micro-SaaS).
11
+ *
12
+ * A SHELL, NOT A CALL STACK: it renders `{kind, peer, state}` and emits accept /
13
+ * decline / hang-up as `mutate` intents through `onEvent` (the host runs them
14
+ * through the CRUD API with audit + undo, 04 §2.1). It never opens a media
15
+ * device or a peer connection — a marketplace app that wants real WebRTC owns
16
+ * that and drives this widget's `state` column.
17
+ *
18
+ * MOTION: the expanding ring is `motion-safe:animate-ping`, so it is inert under
19
+ * `prefers-reduced-motion` (02 §6) — the static ring still reads as "ringing",
20
+ * and the state label carries the meaning for anyone who never sees the
21
+ * animation at all.
22
+ *
23
+ * RTL: centered column flow with logical gaps only; nothing to mirror.
24
+ */
25
+ export interface CallWidgetProps {
26
+ peer: string;
27
+ kind: CallKind;
28
+ state: CallState;
29
+ actions?: boolean | undefined;
30
+ /** Already-translated copy (the host resolves the i18n keys). */
31
+ kindLabel?: string | undefined;
32
+ stateLabel?: string | undefined;
33
+ acceptLabel?: string | undefined;
34
+ declineLabel?: string | undefined;
35
+ endLabel?: string | undefined;
36
+ emptyTitle?: string | undefined;
37
+ emptyBody?: string | undefined;
38
+ onAccept?: (() => void) | undefined;
39
+ onDecline?: (() => void) | undefined;
40
+ locale?: string | undefined;
41
+ testId?: string | undefined;
42
+ }
43
+ export declare function CallWidget({ peer, kind, state, actions, kindLabel, stateLabel, acceptLabel, declineLabel, endLabel, emptyTitle, emptyBody, onAccept, onDecline, locale: localeProp, testId, }: CallWidgetProps): import("react").JSX.Element;
44
+ export declare function CallWidgetWidget({ config, data, onEvent }: WidgetProps<CallWidgetConfig>): import("react").JSX.Element;
45
+ //# sourceMappingURL=CallWidget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CallWidget.d.ts","sourceRoot":"","sources":["../../../src/families/communication/CallWidget.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAM3D,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACvF,YAAY,EAAE,gBAAgB,EAAE,CAAC;AAEjC;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,SAAS,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,iEAAiE;IACjE,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,QAAQ,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IACpC,SAAS,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IACrC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B;AAKD,wBAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,OAAc,EACd,SAAS,EACT,UAAU,EACV,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,UAAU,EACV,SAAS,EACT,QAAQ,EACR,SAAS,EACT,MAAM,EAAE,UAAU,EAClB,MAAM,GACP,EAAE,eAAe,+BAkEjB;AAgBD,wBAAgB,gBAAgB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,WAAW,CAAC,gBAAgB,CAAC,+BA8CxF"}
@@ -0,0 +1,64 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Avatar, Button, EmptyState } from '@adminium/ui';
3
+ import { Phone, PhoneOff, Video } from 'lucide-react';
4
+ import { callKindOf, callStateOf, localeOf, recordRowOf, sourceOf, stringField } from './chat-lib.js';
5
+ // Config schema + deterministic demo payload live in the pure
6
+ // `communication-config` module so the registry metadata graph never eagerly
7
+ // pulls this component's @adminium/ui deps (acceptance #3); re-exported here so
8
+ // the family barrel, stories, and tests keep one import point per widget.
9
+ export { callWidgetConfigSchema, callWidgetDemoData } from './communication-config.js';
10
+ /** Ringing is the only state that pulses; a live call is steady. */
11
+ const RINGS = { ringing: true, connecting: true, active: false, ended: false };
12
+ export function CallWidget({ peer, kind, state, actions = true, kindLabel, stateLabel, acceptLabel, declineLabel, endLabel, emptyTitle, emptyBody, onAccept, onDecline, locale: localeProp, testId, }) {
13
+ // `format.locale` is a free-string in the shared config, so '' / 'x-1' are
14
+ // schema-valid and would throw out of Avatar's `toLocaleUpperCase`.
15
+ const locale = localeOf(localeProp);
16
+ if (peer.trim() === '') {
17
+ return (_jsx(EmptyState, { compact: true, preset: "all-caught-up", title: emptyTitle ?? 'No active call', body: emptyBody ?? 'An incoming call will appear here.' }));
18
+ }
19
+ const ringing = RINGS[state];
20
+ const ended = state === 'ended';
21
+ const KindIcon = kind === 'video' ? Video : Phone;
22
+ return (_jsxs("div", { "data-widget": "call-widget", "data-testid": testId, "data-call-state": state, "data-call-kind": kind, className: "flex h-full flex-col items-center justify-center gap-4 p-6 text-center compact:gap-3 compact:p-4", children: [_jsxs("div", { className: "relative flex items-center justify-center", children: [ringing && (_jsx("span", { "aria-hidden": "true", "data-part": "call-ring", className: "absolute inset-0 rounded-full border-2 border-accent motion-safe:animate-ping" })), _jsx(Avatar, { name: peer, size: "2xl", locale: locale })] }), _jsxs("div", { className: "flex flex-col items-center gap-1", children: [_jsx("p", { className: "text-body font-bold text-fg", children: peer }), _jsxs("p", { "data-part": "call-kind", className: "flex items-center gap-1.5 text-caption font-medium text-fg-muted", children: [_jsx(KindIcon, { "aria-hidden": "true", className: "size-3.5" }), kindLabel ?? (kind === 'video' ? 'Video call' : 'Voice call')] }), _jsx("p", { "data-part": "call-state", className: "text-caption text-fg-subtle", children: stateLabel ?? state })] }), actions && !ended && (_jsxs("div", { className: "flex items-center gap-3", children: [state === 'ringing' && (_jsx(Button, { size: "sm", variant: "primary", iconLeft: _jsx(Phone, {}), onClick: onAccept, children: acceptLabel ?? 'Accept' })), _jsx(Button, { size: "sm", variant: "destructive", iconLeft: _jsx(PhoneOff, {}), onClick: onDecline, children: state === 'active' ? (endLabel ?? 'End call') : (declineLabel ?? 'Decline') })] }))] }));
23
+ }
24
+ /** The already-translated label for a call state, from the per-state config keys. */
25
+ function stateLabelOf(state, config) {
26
+ switch (state) {
27
+ case 'ringing':
28
+ return config.ringingLabel;
29
+ case 'connecting':
30
+ return config.connectingLabel;
31
+ case 'active':
32
+ return config.activeLabel;
33
+ case 'ended':
34
+ return config.endedLabel;
35
+ }
36
+ }
37
+ export function CallWidgetWidget({ config, data, onEvent }) {
38
+ const row = recordRowOf(data);
39
+ const kind = callKindOf(row?.[config.kindField]);
40
+ const state = callStateOf(row?.[config.stateField]);
41
+ const peer = row === null ? '' : (stringField(row, config.peerField) ?? '');
42
+ const source = sourceOf(config.binding);
43
+ const rawId = row?.['id'];
44
+ const recordId = typeof rawId === 'string' || typeof rawId === 'number' ? rawId : undefined;
45
+ /** Accept/decline are state transitions on the call row — the host writes them. */
46
+ const transition = (next) => {
47
+ onEvent({
48
+ type: 'mutate',
49
+ intent: 'update',
50
+ ...(source.connectionId === undefined ? {} : { connectionId: source.connectionId }),
51
+ table: source.table,
52
+ ...(recordId === undefined ? {} : { recordId }),
53
+ values: { [config.stateField]: next },
54
+ });
55
+ };
56
+ return (_jsx(CallWidget, { peer: peer, kind: kind, state: state, actions: config.actions, ...(kind === 'video'
57
+ ? config.videoLabel === undefined
58
+ ? {}
59
+ : { kindLabel: config.videoLabel }
60
+ : config.voiceLabel === undefined
61
+ ? {}
62
+ : { kindLabel: config.voiceLabel }), ...(stateLabelOf(state, config) === undefined ? {} : { stateLabel: stateLabelOf(state, config) }), ...(config.acceptLabel === undefined ? {} : { acceptLabel: config.acceptLabel }), ...(config.declineLabel === undefined ? {} : { declineLabel: config.declineLabel }), ...(config.endLabel === undefined ? {} : { endLabel: config.endLabel }), ...(config.emptyTitle === undefined ? {} : { emptyTitle: config.emptyTitle }), ...(config.emptyBody === undefined ? {} : { emptyBody: config.emptyBody }), ...(config.format?.locale === undefined ? {} : { locale: config.format.locale }), ...(config.testId === undefined ? {} : { testId: config.testId }), onAccept: () => transition('active'), onDecline: () => transition('ended') }));
63
+ }
64
+ //# sourceMappingURL=CallWidget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CallWidget.js","sourceRoot":"","sources":["../../../src/families/communication/CallWidget.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import type { ChatMessage } from './chat-lib.js';
2
+ import type { ChatThreadConfig } from './communication-config.js';
3
+ import type { WidgetProps } from '../../registry/types.js';
4
+ export { chatThreadConfigSchema, chatThreadDemoData } from './communication-config.js';
5
+ export type { ChatThreadConfig };
6
+ /**
7
+ * `chat-thread` (annex §9) — grouped message bubbles for one conversation:
8
+ * sender-aware styling, an avatar on the first message of each author-run, a
9
+ * mono timestamp on the last, day separators between day groups, attachment
10
+ * chips, and a composer.
11
+ *
12
+ * RTL IS STRUCTURAL, NOT COSMETIC (10 §5.2 / acceptance #9): own messages align
13
+ * to the INLINE-END edge via `justify-end` — flexbox `flex-end` resolves along
14
+ * the writing direction, so the bubbles genuinely swap sides under `dir="rtl"`
15
+ * rather than merely re-labelling. The asymmetric bubble corner uses the LOGICAL
16
+ * corner utilities (`rounded-ee-*` on own, `rounded-es-*` on other), so the
17
+ * "tail" corner tracks the same edge the bubble is docked to in both directions.
18
+ * There is not one physical `ml-/mr-/left-/right-/rounded-br-` utility in here.
19
+ *
20
+ * Binds to an ordered `record-list` of messages whose author/body/sentAt/
21
+ * attachments columns are named in config. Ports designs/Chat.dc.html (thread).
22
+ */
23
+ export interface ChatThreadProps {
24
+ messages: readonly ChatMessage[];
25
+ peerName?: string | undefined;
26
+ peerStatus?: string | undefined;
27
+ peerOnline?: boolean | undefined;
28
+ composer?: boolean | undefined;
29
+ composerPlaceholder?: string | undefined;
30
+ sendLabel?: string | undefined;
31
+ attachments?: boolean | undefined;
32
+ attachLabel?: string | undefined;
33
+ typingIndicator?: boolean | undefined;
34
+ typingLabel?: string | undefined;
35
+ daySeparators?: boolean | undefined;
36
+ emptyTitle?: string | undefined;
37
+ emptyBody?: string | undefined;
38
+ onSend?: ((body: string) => void) | undefined;
39
+ onAttach?: (() => void) | undefined;
40
+ /** Injectable clock for deterministic "Today"/"Yesterday" separators. */
41
+ now?: number | undefined;
42
+ locale?: string | undefined;
43
+ /** Story/VRT only: render inside an explicit direction context. */
44
+ dir?: 'ltr' | 'rtl' | undefined;
45
+ testId?: string | undefined;
46
+ }
47
+ export declare function ChatThread({ messages, peerName, peerStatus, peerOnline, composer, composerPlaceholder, sendLabel, attachments, attachLabel, typingIndicator, typingLabel, daySeparators, emptyTitle, emptyBody, onSend, onAttach, now, locale: localeProp, dir, testId, }: ChatThreadProps): import("react").JSX.Element;
48
+ export declare function ChatThreadWidget({ config, data, onEvent }: WidgetProps<ChatThreadConfig>): import("react").JSX.Element;
49
+ //# sourceMappingURL=ChatThread.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatThread.d.ts","sourceRoot":"","sources":["../../../src/families/communication/ChatThread.tsx"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAA8B,WAAW,EAAE,MAAM,eAAe,CAAC;AAC7E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAM3D,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACvF,YAAY,EAAE,gBAAgB,EAAE,CAAC;AAEjC;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,SAAS,WAAW,EAAE,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACjC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,mBAAmB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,eAAe,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACtC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACpC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC9C,QAAQ,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IACpC,yEAAyE;IACzE,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,mEAAmE;IACnE,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B;AAED,wBAAgB,UAAU,CAAC,EACzB,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,UAAkB,EAClB,QAAe,EACf,mBAAmB,EACnB,SAAS,EACT,WAAkB,EAClB,WAAW,EACX,eAAuB,EACvB,WAAW,EACX,aAAoB,EACpB,UAAU,EACV,SAAS,EACT,MAAM,EACN,QAAQ,EACR,GAAqB,EACrB,MAAM,EAAE,UAAU,EAClB,GAAG,EACH,MAAM,GACP,EAAE,eAAe,+BAmHjB;AAkGD,wBAAgB,gBAAgB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,WAAW,CAAC,gBAAgB,CAAC,+BAkCxF"}
@@ -0,0 +1,71 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Avatar, EmptyState, Input, Tag } from '@adminium/ui';
3
+ import { Paperclip, Send } from 'lucide-react';
4
+ import { useState } from 'react';
5
+ import { TypingIndicator } from './TypingIndicator.js';
6
+ import { chatRowsOf, fmtClock, fmtDaySeparator, formatAbsoluteTime, groupMessages, localeOf, sourceOf, toChatMessage, CHAT_DEMO_EPOCH, } from './chat-lib.js';
7
+ // Config schema + deterministic demo payload live in the pure
8
+ // `communication-config` module so the registry metadata graph never eagerly
9
+ // pulls this component's @adminium/ui deps (acceptance #3); re-exported here so
10
+ // the family barrel, stories, and tests keep one import point per widget.
11
+ export { chatThreadConfigSchema, chatThreadDemoData } from './communication-config.js';
12
+ export function ChatThread({ messages, peerName, peerStatus, peerOnline = false, composer = true, composerPlaceholder, sendLabel, attachments = true, attachLabel, typingIndicator = false, typingLabel, daySeparators = true, emptyTitle, emptyBody, onSend, onAttach, now = CHAT_DEMO_EPOCH, locale: localeProp, dir, testId, }) {
13
+ // `format.locale` is a free-string in the shared config, so '' / 'x-1' are
14
+ // schema-valid and would throw out of every Intl call. Normalize at the edge.
15
+ const locale = localeOf(localeProp);
16
+ const [draft, setDraft] = useState('');
17
+ const groups = groupMessages(messages);
18
+ const submit = (event) => {
19
+ event.preventDefault();
20
+ const body = draft.trim();
21
+ if (body === '')
22
+ return;
23
+ onSend?.(body);
24
+ setDraft('');
25
+ };
26
+ return (_jsxs("div", { "data-widget": "chat-thread", "data-testid": testId, ...(dir === undefined ? {} : { dir }), className: "flex h-full flex-col", children: [peerName !== undefined && (_jsxs("div", { className: "flex items-center gap-3 border-b border-border/60 px-4 py-3", children: [_jsx(Avatar, { name: peerName, size: "md", locale: locale, ...(peerOnline ? { presence: 'pos' } : {}) }), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsx("div", { className: "truncate text-body-sm font-bold text-fg", children: peerName }), peerStatus !== undefined && (_jsx("div", { className: `truncate text-caption ${peerOnline ? 'text-pos' : 'text-fg-subtle'}`, children: peerStatus }))] })] })), messages.length === 0 ? (_jsx("div", { className: "flex-1", children: _jsx(EmptyState, { compact: true, preset: "no-data", title: emptyTitle ?? 'No messages yet', body: emptyBody ?? 'Messages in this conversation will appear here.' }) })) : (_jsxs("div", { "data-part": "thread-scroll", className: "flex flex-1 flex-col gap-1 overflow-auto p-4", children: [groups.map((group) => (_jsxs("div", { "data-part": "day-group", "data-day": group.key, children: [daySeparators && (_jsxs("div", { "data-part": "day-separator", className: "flex items-center gap-3 py-3", children: [_jsx("span", { className: "h-px flex-1 bg-border" }), _jsx("span", { className: "whitespace-nowrap font-mono text-caption font-bold uppercase tracking-wide text-fg-subtle", children: fmtDaySeparator(locale, group.date, now) }), _jsx("span", { className: "h-px flex-1 bg-border" })] })), group.bubbles.map((bubble) => (_jsx(Bubble, { bubble: bubble, locale: locale, showAttachments: attachments }, bubble.id)))] }, group.key))), _jsx(TypingIndicator, { typing: typingIndicator, typists: peerName === undefined ? [] : [peerName], locale: locale, ...(typingLabel === undefined ? {} : { label: typingLabel }) })] })), composer && (_jsxs("form", { "data-part": "composer", onSubmit: submit, className: "flex items-center gap-2 border-t border-border/60 p-3", children: [attachments && (_jsx("button", { type: "button", "data-part": "attach-button", "aria-label": attachLabel ?? 'Add attachment', onClick: onAttach, className: "grid size-8 shrink-0 place-items-center rounded-md text-fg-subtle hover:bg-surface-2 hover:text-fg-muted focus-visible:outline-2 focus-visible:outline-accent", children: _jsx(Paperclip, { className: "size-4", "aria-hidden": "true" }) })), _jsx(Input, { "aria-label": composerPlaceholder ?? 'Message', placeholder: composerPlaceholder ?? 'Write a message…', value: draft, onChange: (event) => setDraft(event.currentTarget.value) }), _jsx("button", { type: "submit", "data-part": "send-button", "aria-label": sendLabel ?? 'Send', disabled: draft.trim() === '', className: "grid size-9 shrink-0 place-items-center rounded-md bg-accent text-accent-fg hover:opacity-90 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent disabled:pointer-events-none disabled:opacity-40", children: _jsx(Send, { className: "size-4 rtl:-scale-x-100", "aria-hidden": "true" }) })] }))] }));
27
+ }
28
+ /**
29
+ * One message bubble. `justify-end` docks own messages to the inline-end edge
30
+ * (mirrors under RTL); the squared "tail" corner is the LOGICAL end-end corner
31
+ * on own bubbles and the end-start corner on incoming ones.
32
+ */
33
+ function Bubble({ bubble, locale, showAttachments, }) {
34
+ const own = bubble.own;
35
+ return (_jsxs("div", { "data-part": "message-row", "data-own": own ? '' : undefined, "data-starts-run": bubble.startsRun ? '' : undefined, className: `flex items-end gap-2 ${own ? 'justify-end' : 'justify-start'} ${bubble.startsRun ? 'mt-2.5' : 'mt-0.5'}`, children: [!own &&
36
+ (bubble.startsRun ? (_jsx(Avatar, { name: bubble.author ?? '', size: "sm", locale: locale, className: "mb-0.5" })) : (
37
+ // Keeps the run's bubbles flush with the first one's inline edge.
38
+ _jsx("span", { "data-part": "avatar-spacer", className: "size-6 shrink-0", "aria-hidden": "true" }))), _jsxs("div", { "data-part": "message-bubble", className: `max-w-[68%] rounded-2xl px-3 py-2 text-body-sm leading-relaxed ${own
39
+ ? 'rounded-ee-sm bg-accent text-accent-fg'
40
+ : 'rounded-es-sm border border-border bg-surface text-fg'}`, children: [!own && bubble.startsRun && bubble.author !== undefined && (_jsx("div", { "data-part": "message-author", className: "mb-0.5 text-caption font-bold text-fg-muted", children: bubble.author })), _jsx("p", { className: "whitespace-pre-wrap break-words", children: bubble.body }), showAttachments && bubble.attachments !== undefined && bubble.attachments.length > 0 && (_jsx("ul", { "data-part": "attachment-chips", className: "mt-1.5 flex flex-wrap gap-1", children: bubble.attachments.map((file) => (_jsx("li", { children: _jsx(AttachmentChip, { file: file, own: own }) }, file.name))) })), bubble.endsRun && (_jsx("time", { dateTime: bubble.sentAt, title: formatAbsoluteTime(bubble.sentAt, locale), "data-part": "message-time", className: `mt-1 block font-mono text-[9.5px] tabular-nums ${own ? 'text-end text-accent-fg/70' : 'text-start text-fg-subtle'}`, children: fmtClock(locale, bubble.sentAt) }))] })] }));
41
+ }
42
+ function AttachmentChip({ file, own }) {
43
+ return (_jsxs(Tag, { "data-part": "attachment-chip", tone: own ? 'neutral' : 'accent', className: own ? 'bg-accent-fg/15 text-accent-fg' : '', children: [_jsx(Paperclip, { className: "size-2.5", "aria-hidden": "true" }), _jsx("span", { className: "max-w-[10rem] truncate", children: file.name }), file.size !== undefined && _jsx("span", { className: "font-mono tabular-nums opacity-70", children: file.size })] }));
44
+ }
45
+ function messagesOf(data, config) {
46
+ return chatRowsOf(data).map((row, index) => toChatMessage(row, index, {
47
+ authorField: config.authorField,
48
+ bodyField: config.bodyField,
49
+ sentAtField: config.sentAtField,
50
+ attachmentsField: config.attachmentsField,
51
+ ownField: config.ownField,
52
+ ...(config.ownAuthor === undefined ? {} : { ownAuthor: config.ownAuthor }),
53
+ }));
54
+ }
55
+ export function ChatThreadWidget({ config, data, onEvent }) {
56
+ const messages = messagesOf(data, config);
57
+ const source = sourceOf(config.binding);
58
+ return (_jsx(ChatThread, { messages: messages, composer: config.composer, attachments: config.attachments, typingIndicator: config.typingIndicator, daySeparators: config.daySeparators, peerOnline: config.peerOnline, ...(config.peerName === undefined ? {} : { peerName: config.peerName }), ...(config.peerStatus === undefined ? {} : { peerStatus: config.peerStatus }), ...(config.composerPlaceholder === undefined ? {} : { composerPlaceholder: config.composerPlaceholder }), ...(config.sendLabel === undefined ? {} : { sendLabel: config.sendLabel }), ...(config.typingLabel === undefined ? {} : { typingLabel: config.typingLabel }), ...(config.emptyTitle === undefined ? {} : { emptyTitle: config.emptyTitle }), ...(config.emptyBody === undefined ? {} : { emptyBody: config.emptyBody }), ...(config.format?.locale === undefined ? {} : { locale: config.format.locale }), ...(config.format?.referenceTime === undefined ? {} : { now: config.format.referenceTime }), ...(config.testId === undefined ? {} : { testId: config.testId }),
59
+ // Sending is a mutation INTENT — the host runs the INSERT through the CRUD
60
+ // API (with audit + undo); the widget never writes (04 §2.1).
61
+ onSend: (body) => {
62
+ onEvent({
63
+ type: 'mutate',
64
+ intent: 'insert',
65
+ ...(source.connectionId === undefined ? {} : { connectionId: source.connectionId }),
66
+ table: source.table,
67
+ values: { [config.bodyField]: body },
68
+ });
69
+ } }));
70
+ }
71
+ //# sourceMappingURL=ChatThread.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatThread.js","sourceRoot":"","sources":["../../../src/families/communication/ChatThread.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ import type { ConversationInboxConfig } from './communication-config.js';
2
+ import type { WidgetProps } from '../../registry/types.js';
3
+ export { conversationInboxConfigSchema, conversationInboxDemoData } from './communication-config.js';
4
+ export type { ConversationInboxConfig };
5
+ /**
6
+ * `conversation-inbox` (annex §9) — selectable conversation rows: avatar with a
7
+ * presence dot, name, relative time, last-message preview (bold when unread),
8
+ * and an unread count pill. Selecting a row clears its unread state and emits
9
+ * `onSelect(id)`, which the page wires to a sibling `chat-thread` (annex §14:
10
+ * conversations + messages tables → an inbox + thread page).
11
+ *
12
+ * The selected row is marked by a `border-s-2` accent rail + accent-soft tint —
13
+ * a LOGICAL inline-start border, so it moves to the right edge under `dir="rtl"`
14
+ * (10 §5.2). Ports designs/Chat.dc.html (conversation list pane).
15
+ */
16
+ export interface ConversationRow {
17
+ id: string | number;
18
+ name: string;
19
+ preview?: string | undefined;
20
+ /** ISO 8601 timestamp of the last message. */
21
+ ts?: string | undefined;
22
+ unread?: number | undefined;
23
+ online?: boolean | undefined;
24
+ group?: boolean | undefined;
25
+ }
26
+ export interface ConversationInboxProps {
27
+ conversations: readonly ConversationRow[];
28
+ /** Controlled selection; falls back to the first row when unset. */
29
+ selectedId?: string | number | undefined;
30
+ onSelect?: ((id: string | number) => void) | undefined;
31
+ presence?: boolean | undefined;
32
+ groupChats?: boolean | undefined;
33
+ searchable?: boolean | undefined;
34
+ searchLabel?: string | undefined;
35
+ searchPlaceholder?: string | undefined;
36
+ clearUnreadOnSelect?: boolean | undefined;
37
+ emptyTitle?: string | undefined;
38
+ emptyBody?: string | undefined;
39
+ noMatchesTitle?: string | undefined;
40
+ /** Injectable clock for deterministic relative timestamps. */
41
+ now?: number | undefined;
42
+ locale?: string | undefined;
43
+ testId?: string | undefined;
44
+ }
45
+ export declare function ConversationInbox({ conversations, selectedId, onSelect, presence, groupChats, searchable, searchLabel, searchPlaceholder, clearUnreadOnSelect, emptyTitle, emptyBody, noMatchesTitle, now, locale: localeProp, testId, }: ConversationInboxProps): import("react").JSX.Element;
46
+ export declare function ConversationInboxWidget({ config, data, onEvent }: WidgetProps<ConversationInboxConfig>): import("react").JSX.Element;
47
+ //# sourceMappingURL=ConversationInbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConversationInbox.d.ts","sourceRoot":"","sources":["../../../src/families/communication/ConversationInbox.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAM3D,OAAO,EAAE,6BAA6B,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACrG,YAAY,EAAE,uBAAuB,EAAE,CAAC;AAExC;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,8CAA8C;IAC9C,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC7B;AAED,MAAM,WAAW,sBAAsB;IACrC,aAAa,EAAE,SAAS,eAAe,EAAE,CAAC;IAC1C,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACvD,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACjC,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,mBAAmB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,8DAA8D;IAC9D,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B;AAED,wBAAgB,iBAAiB,CAAC,EAChC,aAAa,EACb,UAAU,EACV,QAAQ,EACR,QAAe,EACf,UAAiB,EACjB,UAAkB,EAClB,WAAW,EACX,iBAAiB,EACjB,mBAA0B,EAC1B,UAAU,EACV,SAAS,EACT,cAAc,EACd,GAAG,EACH,MAAM,EAAE,UAAU,EAClB,MAAM,GACP,EAAE,sBAAsB,+BA8HxB;AAkBD,wBAAgB,uBAAuB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,WAAW,CAAC,uBAAuB,CAAC,+BA6BtG"}
@@ -0,0 +1,74 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Avatar, CountBadge, EmptyState, SearchInput } from '@adminium/ui';
3
+ import { Users } from 'lucide-react';
4
+ import { useMemo, useState } from 'react';
5
+ import { boolField, chatRowsOf, fmtCount, formatAbsoluteTime, formatRelativeTime, localeOf, numberField, sourceOf, stringField, } from './chat-lib.js';
6
+ // Config schema + deterministic demo payload live in the pure
7
+ // `communication-config` module so the registry metadata graph never eagerly
8
+ // pulls this component's @adminium/ui deps (acceptance #3); re-exported here so
9
+ // the family barrel, stories, and tests keep one import point per widget.
10
+ export { conversationInboxConfigSchema, conversationInboxDemoData } from './communication-config.js';
11
+ export function ConversationInbox({ conversations, selectedId, onSelect, presence = true, groupChats = true, searchable = false, searchLabel, searchPlaceholder, clearUnreadOnSelect = true, emptyTitle, emptyBody, noMatchesTitle, now, locale: localeProp, testId, }) {
12
+ // `format.locale` is a free-string in the shared config, so '' / 'x-1' are
13
+ // schema-valid and would throw out of every Intl call (and out of
14
+ // toLocaleLowerCase below). Normalize once, at the boundary.
15
+ const locale = localeOf(localeProp);
16
+ const [query, setQuery] = useState('');
17
+ // Uncontrolled selection + locally-cleared unread ids: the widget owns its
18
+ // interaction state; the host learns about it through `onSelect`.
19
+ const [internalId, setInternalId] = useState(undefined);
20
+ const [readIds, setReadIds] = useState(new Set());
21
+ const activeId = selectedId ?? internalId ?? conversations[0]?.id;
22
+ const visible = useMemo(() => {
23
+ const needle = query.trim().toLocaleLowerCase(locale);
24
+ if (needle === '')
25
+ return conversations;
26
+ return conversations.filter((row) => row.name.toLocaleLowerCase(locale).includes(needle) ||
27
+ (row.preview ?? '').toLocaleLowerCase(locale).includes(needle));
28
+ }, [conversations, query, locale]);
29
+ if (conversations.length === 0) {
30
+ return (_jsx(EmptyState, { compact: true, preset: "all-caught-up", title: emptyTitle ?? 'No conversations', body: emptyBody ?? 'Conversations will appear here as messages arrive.' }));
31
+ }
32
+ const select = (id) => {
33
+ if (selectedId === undefined)
34
+ setInternalId(id);
35
+ if (clearUnreadOnSelect)
36
+ setReadIds((previous) => new Set(previous).add(id));
37
+ onSelect?.(id);
38
+ };
39
+ return (_jsxs("div", { "data-widget": "conversation-inbox", "data-testid": testId, className: "flex h-full flex-col", children: [searchable && (_jsx("div", { className: "border-b border-border/60 p-3", children: _jsx(SearchInput, { "aria-label": searchLabel ?? 'Search conversations', placeholder: searchPlaceholder ?? 'Search conversations…', value: query, onChange: (event) => setQuery(event.currentTarget.value), onClear: () => setQuery(''), clearLabel: searchLabel ?? 'Search conversations' }) })), visible.length === 0 ? (_jsx(EmptyState, { compact: true, preset: "no-matches", title: noMatchesTitle ?? 'No conversations match', body: emptyBody ?? undefined })) : (_jsx("ul", { className: "flex-1 overflow-auto", children: visible.map((row) => {
40
+ const selected = row.id === activeId;
41
+ const unread = readIds.has(row.id) ? 0 : (row.unread ?? 0);
42
+ return (_jsx("li", { children: _jsxs("button", { type: "button", "data-part": "conversation-row", "data-conversation-id": String(row.id), "data-selected": selected ? '' : undefined, "data-unread": unread > 0 ? '' : undefined, "aria-current": selected ? 'true' : undefined, onClick: () => select(row.id), className: `flex w-full items-center gap-3 border-s-2 px-3 py-3 text-start transition-colors focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-accent ${selected ? 'border-s-accent bg-accent-soft' : 'border-s-transparent hover:bg-surface-2/60'}`, children: [_jsx(Avatar, { name: row.name, size: "lg", locale: locale, ...(presence && row.online === true ? { presence: 'pos' } : {}) }), _jsxs("span", { className: "flex min-w-0 flex-1 flex-col gap-0.5", children: [_jsxs("span", { className: "flex items-center gap-1.5", children: [groupChats && row.group === true && (_jsx(Users, { "data-part": "group-glyph", className: "size-3 shrink-0 text-fg-subtle", "aria-hidden": "true" })), _jsx("span", { className: "min-w-0 flex-1 truncate text-body-sm font-bold text-fg", children: row.name }), row.ts !== undefined && (_jsx("time", { dateTime: row.ts, title: formatAbsoluteTime(row.ts, locale), className: "shrink-0 whitespace-nowrap font-mono text-caption tabular-nums text-fg-subtle", children: formatRelativeTime(row.ts, { locale, ...(now === undefined ? {} : { now }) }) }))] }), _jsxs("span", { className: "flex items-center gap-1.5", children: [_jsx("span", { "data-part": "conversation-preview", className: `min-w-0 flex-1 truncate text-caption ${unread > 0 ? 'font-bold text-fg' : 'font-medium text-fg-muted'}`, children: row.preview ?? '' }), unread > 0 && (_jsx(CountBadge, { active: true, "data-part": "unread-pill", className: "shrink-0", children: fmtCount(locale, unread) }))] })] })] }) }, row.id));
43
+ }) }))] }));
44
+ }
45
+ function conversationsOf(data, config) {
46
+ return chatRowsOf(data).map((row, index) => {
47
+ const preview = stringField(row, config.previewField);
48
+ const ts = stringField(row, config.sentAtField);
49
+ return {
50
+ id: row['id'] ?? index,
51
+ name: stringField(row, config.nameField) ?? '',
52
+ ...(preview === undefined ? {} : { preview }),
53
+ ...(ts === undefined ? {} : { ts }),
54
+ unread: numberField(row, config.unreadField),
55
+ online: boolField(row, config.onlineField),
56
+ group: boolField(row, config.groupField),
57
+ };
58
+ });
59
+ }
60
+ export function ConversationInboxWidget({ config, data, onEvent }) {
61
+ const conversations = conversationsOf(data, config);
62
+ const source = sourceOf(config.binding);
63
+ return (_jsx(ConversationInbox, { conversations: conversations, presence: config.presence, groupChats: config.groupChats, searchable: config.searchable, clearUnreadOnSelect: config.clearUnreadOnSelect, ...(config.searchLabel === undefined ? {} : { searchLabel: config.searchLabel }), ...(config.searchPlaceholder === undefined ? {} : { searchPlaceholder: config.searchPlaceholder }), ...(config.emptyTitle === undefined ? {} : { emptyTitle: config.emptyTitle }), ...(config.emptyBody === undefined ? {} : { emptyBody: config.emptyBody }), ...(config.format?.locale === undefined ? {} : { locale: config.format.locale }), ...(config.format?.referenceTime === undefined ? {} : { now: config.format.referenceTime }), ...(config.testId === undefined ? {} : { testId: config.testId }), onSelect: (id) => {
64
+ // Selection is a record-open intent: the page host focuses the sibling
65
+ // chat-thread on this conversation (annex §14 inbox + thread pairing).
66
+ onEvent({
67
+ type: 'record-open',
68
+ ...(source.connectionId === undefined ? {} : { connectionId: source.connectionId }),
69
+ table: source.table,
70
+ recordId: id,
71
+ });
72
+ } }));
73
+ }
74
+ //# sourceMappingURL=ConversationInbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConversationInbox.js","sourceRoot":"","sources":["../../../src/families/communication/ConversationInbox.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import type { TypingIndicatorConfig } from './communication-config.js';
2
+ import type { WidgetProps } from '../../registry/types.js';
3
+ export { typingIndicatorConfigSchema, typingIndicatorDemoData } from './communication-config.js';
4
+ export type { TypingIndicatorConfig };
5
+ /**
6
+ * `typing-indicator` (annex §9) — "Avatar + italic 'typing…' row bound to a
7
+ * boolean". Binds to a `boolean-map` keyed by conversation id and renders the
8
+ * peer's avatar (or the group's typists) beside an italic label and three
9
+ * staggered pulsing dots.
10
+ *
11
+ * ALSO THE THREAD'S OWN TYPING ROW: `chat-thread` renders this same component
12
+ * for its inline `typingIndicator` config rather than duplicating the markup —
13
+ * the annex places this widget as a "child of thread", so one implementation
14
+ * serves both the registered standalone instance and the embedded row. Both live
15
+ * in the family's single lazy chunk, so the reuse costs no extra bytes.
16
+ *
17
+ * IDLE RENDERS NOTHING, DELIBERATELY: a typing indicator is ephemeral, and it is
18
+ * a `placement: 'inline'` widget (no WidgetFrame card of its own), so an idle
19
+ * instance must occupy no space rather than leave a titled empty box in the
20
+ * thread. The `aria-live="polite"` wrapper stays mounted across the transition
21
+ * so assistive tech announces the row when it appears — an element that is
22
+ * itself inserted with `aria-live` on it is not reliably announced.
23
+ *
24
+ * RTL: pure logical flow (`flex` + `gap`), so the row mirrors with the thread.
25
+ */
26
+ export interface TypingIndicatorProps {
27
+ /** Whether anyone is currently typing (the bound boolean). */
28
+ typing: boolean;
29
+ /** Names to show avatars for; empty → label only. */
30
+ typists?: readonly string[] | undefined;
31
+ /** Italic copy; already translated by the host. */
32
+ label?: string | undefined;
33
+ showAvatar?: boolean | undefined;
34
+ maxAvatars?: number | undefined;
35
+ locale?: string | undefined;
36
+ testId?: string | undefined;
37
+ }
38
+ export declare function TypingIndicator({ typing, typists, label, showAvatar, maxAvatars, locale: localeProp, testId, }: TypingIndicatorProps): import("react").JSX.Element;
39
+ export declare function TypingIndicatorWidget({ config, data }: WidgetProps<TypingIndicatorConfig>): import("react").JSX.Element;
40
+ //# sourceMappingURL=TypingIndicator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TypingIndicator.d.ts","sourceRoot":"","sources":["../../../src/families/communication/TypingIndicator.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAM3D,OAAO,EAAE,2BAA2B,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACjG,YAAY,EAAE,qBAAqB,EAAE,CAAC;AAEtC;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,MAAM,WAAW,oBAAoB;IACnC,8DAA8D;IAC9D,MAAM,EAAE,OAAO,CAAC;IAChB,qDAAqD;IACrD,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IACxC,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B;AAkBD,wBAAgB,eAAe,CAAC,EAC9B,MAAM,EACN,OAAO,EACP,KAAK,EACL,UAAiB,EACjB,UAAc,EACd,MAAM,EAAE,UAAU,EAClB,MAAM,GACP,EAAE,oBAAoB,+BA+BtB;AAED,wBAAgB,qBAAqB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,WAAW,CAAC,qBAAqB,CAAC,+BAkBzF"}