@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.
- package/LICENSE +661 -0
- package/dist/binding/StreamTransportContext.d.ts +18 -0
- package/dist/binding/StreamTransportContext.d.ts.map +1 -0
- package/dist/binding/StreamTransportContext.js +19 -0
- package/dist/binding/StreamTransportContext.js.map +1 -0
- package/dist/binding/demo-stream.d.ts +59 -0
- package/dist/binding/demo-stream.d.ts.map +1 -0
- package/dist/binding/demo-stream.js +90 -0
- package/dist/binding/demo-stream.js.map +1 -0
- package/dist/binding/index.d.ts +14 -0
- package/dist/binding/index.d.ts.map +1 -0
- package/dist/binding/index.js +13 -0
- package/dist/binding/index.js.map +1 -0
- package/dist/binding/stream-buffer.d.ts +44 -0
- package/dist/binding/stream-buffer.d.ts.map +1 -0
- package/dist/binding/stream-buffer.js +65 -0
- package/dist/binding/stream-buffer.js.map +1 -0
- package/dist/binding/stream-channel.d.ts +24 -0
- package/dist/binding/stream-channel.d.ts.map +1 -0
- package/dist/binding/stream-channel.js +27 -0
- package/dist/binding/stream-channel.js.map +1 -0
- package/dist/binding/stream-types.d.ts +67 -0
- package/dist/binding/stream-types.d.ts.map +1 -0
- package/dist/binding/stream-types.js +19 -0
- package/dist/binding/stream-types.js.map +1 -0
- package/dist/binding/useWidgetStream.d.ts +56 -0
- package/dist/binding/useWidgetStream.d.ts.map +1 -0
- package/dist/binding/useWidgetStream.js +144 -0
- package/dist/binding/useWidgetStream.js.map +1 -0
- package/dist/families/boards/BoardCard.d.ts +48 -0
- package/dist/families/boards/BoardCard.d.ts.map +1 -0
- package/dist/families/boards/BoardCard.js +58 -0
- package/dist/families/boards/BoardCard.js.map +1 -0
- package/dist/families/boards/InlineComposeCard.d.ts +35 -0
- package/dist/families/boards/InlineComposeCard.d.ts.map +1 -0
- package/dist/families/boards/InlineComposeCard.js +65 -0
- package/dist/families/boards/InlineComposeCard.js.map +1 -0
- package/dist/families/boards/KanbanBoard.d.ts +30 -0
- package/dist/families/boards/KanbanBoard.d.ts.map +1 -0
- package/dist/families/boards/KanbanBoard.js +141 -0
- package/dist/families/boards/KanbanBoard.js.map +1 -0
- package/dist/families/boards/KanbanSwimlaneGrid.d.ts +40 -0
- package/dist/families/boards/KanbanSwimlaneGrid.d.ts.map +1 -0
- package/dist/families/boards/KanbanSwimlaneGrid.js +162 -0
- package/dist/families/boards/KanbanSwimlaneGrid.js.map +1 -0
- package/dist/families/boards/board-dnd.d.ts +131 -0
- package/dist/families/boards/board-dnd.d.ts.map +1 -0
- package/dist/families/boards/board-dnd.js +186 -0
- package/dist/families/boards/board-dnd.js.map +1 -0
- package/dist/families/boards/board-lib.d.ts +124 -0
- package/dist/families/boards/board-lib.d.ts.map +1 -0
- package/dist/families/boards/board-lib.js +170 -0
- package/dist/families/boards/board-lib.js.map +1 -0
- package/dist/families/boards/boards-config.d.ts +712 -0
- package/dist/families/boards/boards-config.d.ts.map +1 -0
- package/dist/families/boards/boards-config.js +220 -0
- package/dist/families/boards/boards-config.js.map +1 -0
- package/dist/families/boards/boards-track-components.d.ts +13 -0
- package/dist/families/boards/boards-track-components.d.ts.map +1 -0
- package/dist/families/boards/boards-track-components.js +14 -0
- package/dist/families/boards/boards-track-components.js.map +1 -0
- package/dist/families/boards/boards-track.definitions.d.ts +20 -0
- package/dist/families/boards/boards-track.definitions.d.ts.map +1 -0
- package/dist/families/boards/boards-track.definitions.js +80 -0
- package/dist/families/boards/boards-track.definitions.js.map +1 -0
- package/dist/families/boards/index.d.ts +15 -0
- package/dist/families/boards/index.d.ts.map +1 -0
- package/dist/families/boards/index.js +15 -0
- package/dist/families/boards/index.js.map +1 -0
- package/dist/families/calendar/CalendarLegendFilter.d.ts +41 -0
- package/dist/families/calendar/CalendarLegendFilter.d.ts.map +1 -0
- package/dist/families/calendar/CalendarLegendFilter.js +54 -0
- package/dist/families/calendar/CalendarLegendFilter.js.map +1 -0
- package/dist/families/calendar/CalendarMonth.d.ts +35 -0
- package/dist/families/calendar/CalendarMonth.d.ts.map +1 -0
- package/dist/families/calendar/CalendarMonth.js +123 -0
- package/dist/families/calendar/CalendarMonth.js.map +1 -0
- package/dist/families/calendar/CapacityBoard.d.ts +29 -0
- package/dist/families/calendar/CapacityBoard.d.ts.map +1 -0
- package/dist/families/calendar/CapacityBoard.js +61 -0
- package/dist/families/calendar/CapacityBoard.js.map +1 -0
- package/dist/families/calendar/DateRangePicker.d.ts +50 -0
- package/dist/families/calendar/DateRangePicker.d.ts.map +1 -0
- package/dist/families/calendar/DateRangePicker.js +119 -0
- package/dist/families/calendar/DateRangePicker.js.map +1 -0
- package/dist/families/calendar/DayAgenda.d.ts +26 -0
- package/dist/families/calendar/DayAgenda.d.ts.map +1 -0
- package/dist/families/calendar/DayAgenda.js +65 -0
- package/dist/families/calendar/DayAgenda.js.map +1 -0
- package/dist/families/calendar/ScheduleMatrix.d.ts +37 -0
- package/dist/families/calendar/ScheduleMatrix.d.ts.map +1 -0
- package/dist/families/calendar/ScheduleMatrix.js +114 -0
- package/dist/families/calendar/ScheduleMatrix.js.map +1 -0
- package/dist/families/calendar/ScheduledJobsList.d.ts +40 -0
- package/dist/families/calendar/ScheduledJobsList.d.ts.map +1 -0
- package/dist/families/calendar/ScheduledJobsList.js +72 -0
- package/dist/families/calendar/ScheduledJobsList.js.map +1 -0
- package/dist/families/calendar/UpcomingEventsList.d.ts +54 -0
- package/dist/families/calendar/UpcomingEventsList.d.ts.map +1 -0
- package/dist/families/calendar/UpcomingEventsList.js +80 -0
- package/dist/families/calendar/UpcomingEventsList.js.map +1 -0
- package/dist/families/calendar/calendar-config.d.ts +1267 -0
- package/dist/families/calendar/calendar-config.d.ts.map +1 -0
- package/dist/families/calendar/calendar-config.js +386 -0
- package/dist/families/calendar/calendar-config.js.map +1 -0
- package/dist/families/calendar/calendar-lib.d.ts +200 -0
- package/dist/families/calendar/calendar-lib.d.ts.map +1 -0
- package/dist/families/calendar/calendar-lib.js +365 -0
- package/dist/families/calendar/calendar-lib.js.map +1 -0
- package/dist/families/calendar/calendar-track-components.d.ts +16 -0
- package/dist/families/calendar/calendar-track-components.d.ts.map +1 -0
- package/dist/families/calendar/calendar-track-components.js +17 -0
- package/dist/families/calendar/calendar-track-components.js.map +1 -0
- package/dist/families/calendar/calendar-track.definitions.d.ts +24 -0
- package/dist/families/calendar/calendar-track.definitions.d.ts.map +1 -0
- package/dist/families/calendar/calendar-track.definitions.js +133 -0
- package/dist/families/calendar/calendar-track.definitions.js.map +1 -0
- package/dist/families/calendar/calendar-types.d.ts +135 -0
- package/dist/families/calendar/calendar-types.d.ts.map +1 -0
- package/dist/families/calendar/calendar-types.js +9 -0
- package/dist/families/calendar/calendar-types.js.map +1 -0
- package/dist/families/calendar/index.d.ts +20 -0
- package/dist/families/calendar/index.d.ts.map +1 -0
- package/dist/families/calendar/index.js +20 -0
- package/dist/families/calendar/index.js.map +1 -0
- package/dist/families/charts/BarsRankingWidgets.d.ts +10 -0
- package/dist/families/charts/BarsRankingWidgets.d.ts.map +1 -0
- package/dist/families/charts/BarsRankingWidgets.js +74 -0
- package/dist/families/charts/BarsRankingWidgets.js.map +1 -0
- package/dist/families/charts/ChartWidgets.d.ts +23 -0
- package/dist/families/charts/ChartWidgets.d.ts.map +1 -0
- package/dist/families/charts/ChartWidgets.js +82 -0
- package/dist/families/charts/ChartWidgets.js.map +1 -0
- package/dist/families/charts/DistributionCorrelationWidgets.d.ts +18 -0
- package/dist/families/charts/DistributionCorrelationWidgets.d.ts.map +1 -0
- package/dist/families/charts/DistributionCorrelationWidgets.js +132 -0
- package/dist/families/charts/DistributionCorrelationWidgets.js.map +1 -0
- package/dist/families/charts/MatrixGeoWidgets.d.ts +794 -0
- package/dist/families/charts/MatrixGeoWidgets.d.ts.map +1 -0
- package/dist/families/charts/MatrixGeoWidgets.js +213 -0
- package/dist/families/charts/MatrixGeoWidgets.js.map +1 -0
- package/dist/families/charts/PartWholeWidgets.d.ts +10 -0
- package/dist/families/charts/PartWholeWidgets.d.ts.map +1 -0
- package/dist/families/charts/PartWholeWidgets.js +67 -0
- package/dist/families/charts/PartWholeWidgets.js.map +1 -0
- package/dist/families/charts/TimeFlowWidgets.d.ts +10 -0
- package/dist/families/charts/TimeFlowWidgets.d.ts.map +1 -0
- package/dist/families/charts/TimeFlowWidgets.js +73 -0
- package/dist/families/charts/TimeFlowWidgets.js.map +1 -0
- package/dist/families/charts/bars-ranking-components.d.ts +8 -0
- package/dist/families/charts/bars-ranking-components.d.ts.map +1 -0
- package/dist/families/charts/bars-ranking-components.js +8 -0
- package/dist/families/charts/bars-ranking-components.js.map +1 -0
- package/dist/families/charts/bars-ranking-config.d.ts +1035 -0
- package/dist/families/charts/bars-ranking-config.d.ts.map +1 -0
- package/dist/families/charts/bars-ranking-config.js +72 -0
- package/dist/families/charts/bars-ranking-config.js.map +1 -0
- package/dist/families/charts/bars-ranking-definitions.d.ts +3 -0
- package/dist/families/charts/bars-ranking-definitions.d.ts.map +1 -0
- package/dist/families/charts/bars-ranking-definitions.js +107 -0
- package/dist/families/charts/bars-ranking-definitions.js.map +1 -0
- package/dist/families/charts/bars-ranking-demo.d.ts +41 -0
- package/dist/families/charts/bars-ranking-demo.d.ts.map +1 -0
- package/dist/families/charts/bars-ranking-demo.js +91 -0
- package/dist/families/charts/bars-ranking-demo.js.map +1 -0
- package/dist/families/charts/bars-ranking-shapes.d.ts +39 -0
- package/dist/families/charts/bars-ranking-shapes.d.ts.map +1 -0
- package/dist/families/charts/bars-ranking-shapes.js +115 -0
- package/dist/families/charts/bars-ranking-shapes.js.map +1 -0
- package/dist/families/charts/charts-config.d.ts +607 -0
- package/dist/families/charts/charts-config.d.ts.map +1 -0
- package/dist/families/charts/charts-config.js +56 -0
- package/dist/families/charts/charts-config.js.map +1 -0
- package/dist/families/charts/components.d.ts +6 -0
- package/dist/families/charts/components.d.ts.map +1 -0
- package/dist/families/charts/components.js +6 -0
- package/dist/families/charts/components.js.map +1 -0
- package/dist/families/charts/def.part-whole.d.ts +63 -0
- package/dist/families/charts/def.part-whole.d.ts.map +1 -0
- package/dist/families/charts/def.part-whole.js +203 -0
- package/dist/families/charts/def.part-whole.js.map +1 -0
- package/dist/families/charts/definitions.d.ts +37 -0
- package/dist/families/charts/definitions.d.ts.map +1 -0
- package/dist/families/charts/definitions.distribution-correlation.d.ts +3 -0
- package/dist/families/charts/definitions.distribution-correlation.d.ts.map +1 -0
- package/dist/families/charts/definitions.distribution-correlation.js +124 -0
- package/dist/families/charts/definitions.distribution-correlation.js.map +1 -0
- package/dist/families/charts/definitions.js +89 -0
- package/dist/families/charts/definitions.js.map +1 -0
- package/dist/families/charts/defs.matrix-geo.d.ts +63 -0
- package/dist/families/charts/defs.matrix-geo.d.ts.map +1 -0
- package/dist/families/charts/defs.matrix-geo.js +201 -0
- package/dist/families/charts/defs.matrix-geo.js.map +1 -0
- package/dist/families/charts/distributionShapes.d.ts +1049 -0
- package/dist/families/charts/distributionShapes.d.ts.map +1 -0
- package/dist/families/charts/distributionShapes.js +321 -0
- package/dist/families/charts/distributionShapes.js.map +1 -0
- package/dist/families/charts/index.d.ts +18 -0
- package/dist/families/charts/index.d.ts.map +1 -0
- package/dist/families/charts/index.js +15 -0
- package/dist/families/charts/index.js.map +1 -0
- package/dist/families/charts/part-whole-config.d.ts +1058 -0
- package/dist/families/charts/part-whole-config.d.ts.map +1 -0
- package/dist/families/charts/part-whole-config.js +127 -0
- package/dist/families/charts/part-whole-config.js.map +1 -0
- package/dist/families/charts/part-whole-shapes.d.ts +40 -0
- package/dist/families/charts/part-whole-shapes.d.ts.map +1 -0
- package/dist/families/charts/part-whole-shapes.js +89 -0
- package/dist/families/charts/part-whole-shapes.js.map +1 -0
- package/dist/families/charts/time-flow-adapters.d.ts +73 -0
- package/dist/families/charts/time-flow-adapters.d.ts.map +1 -0
- package/dist/families/charts/time-flow-adapters.js +196 -0
- package/dist/families/charts/time-flow-adapters.js.map +1 -0
- package/dist/families/charts/time-flow-components.d.ts +8 -0
- package/dist/families/charts/time-flow-components.d.ts.map +1 -0
- package/dist/families/charts/time-flow-components.js +8 -0
- package/dist/families/charts/time-flow-components.js.map +1 -0
- package/dist/families/charts/time-flow-config.d.ts +1014 -0
- package/dist/families/charts/time-flow-config.d.ts.map +1 -0
- package/dist/families/charts/time-flow-config.js +98 -0
- package/dist/families/charts/time-flow-config.js.map +1 -0
- package/dist/families/charts/time-flow-definitions.d.ts +3 -0
- package/dist/families/charts/time-flow-definitions.d.ts.map +1 -0
- package/dist/families/charts/time-flow-definitions.js +107 -0
- package/dist/families/charts/time-flow-definitions.js.map +1 -0
- package/dist/families/charts/time-flow-demo.d.ts +48 -0
- package/dist/families/charts/time-flow-demo.d.ts.map +1 -0
- package/dist/families/charts/time-flow-demo.js +179 -0
- package/dist/families/charts/time-flow-demo.js.map +1 -0
- package/dist/families/chrome/AvatarStackWidget.d.ts +32 -0
- package/dist/families/chrome/AvatarStackWidget.d.ts.map +1 -0
- package/dist/families/chrome/AvatarStackWidget.js +42 -0
- package/dist/families/chrome/AvatarStackWidget.js.map +1 -0
- package/dist/families/chrome/Breadcrumb.d.ts +22 -0
- package/dist/families/chrome/Breadcrumb.d.ts.map +1 -0
- package/dist/families/chrome/Breadcrumb.js +47 -0
- package/dist/families/chrome/Breadcrumb.js.map +1 -0
- package/dist/families/chrome/CommandPaletteWidget.d.ts +46 -0
- package/dist/families/chrome/CommandPaletteWidget.d.ts.map +1 -0
- package/dist/families/chrome/CommandPaletteWidget.js +121 -0
- package/dist/families/chrome/CommandPaletteWidget.js.map +1 -0
- package/dist/families/chrome/GlobalSearch.d.ts +63 -0
- package/dist/families/chrome/GlobalSearch.d.ts.map +1 -0
- package/dist/families/chrome/GlobalSearch.js +106 -0
- package/dist/families/chrome/GlobalSearch.js.map +1 -0
- package/dist/families/chrome/NavCard.d.ts +37 -0
- package/dist/families/chrome/NavCard.d.ts.map +1 -0
- package/dist/families/chrome/NavCard.js +67 -0
- package/dist/families/chrome/NavCard.js.map +1 -0
- package/dist/families/chrome/ShortcutsPanel.d.ts +42 -0
- package/dist/families/chrome/ShortcutsPanel.d.ts.map +1 -0
- package/dist/families/chrome/ShortcutsPanel.js +37 -0
- package/dist/families/chrome/ShortcutsPanel.js.map +1 -0
- package/dist/families/chrome/SidebarNav.d.ts +55 -0
- package/dist/families/chrome/SidebarNav.d.ts.map +1 -0
- package/dist/families/chrome/SidebarNav.js +90 -0
- package/dist/families/chrome/SidebarNav.js.map +1 -0
- package/dist/families/chrome/TabBar.d.ts +29 -0
- package/dist/families/chrome/TabBar.d.ts.map +1 -0
- package/dist/families/chrome/TabBar.js +61 -0
- package/dist/families/chrome/TabBar.js.map +1 -0
- package/dist/families/chrome/chrome-config.d.ts +1372 -0
- package/dist/families/chrome/chrome-config.d.ts.map +1 -0
- package/dist/families/chrome/chrome-config.js +356 -0
- package/dist/families/chrome/chrome-config.js.map +1 -0
- package/dist/families/chrome/chrome-icons.d.ts +6 -0
- package/dist/families/chrome/chrome-icons.d.ts.map +1 -0
- package/dist/families/chrome/chrome-icons.js +37 -0
- package/dist/families/chrome/chrome-icons.js.map +1 -0
- package/dist/families/chrome/chrome-lib.d.ts +82 -0
- package/dist/families/chrome/chrome-lib.d.ts.map +1 -0
- package/dist/families/chrome/chrome-lib.js +202 -0
- package/dist/families/chrome/chrome-lib.js.map +1 -0
- package/dist/families/chrome/chrome-track-components.d.ts +16 -0
- package/dist/families/chrome/chrome-track-components.d.ts.map +1 -0
- package/dist/families/chrome/chrome-track-components.js +16 -0
- package/dist/families/chrome/chrome-track-components.js.map +1 -0
- package/dist/families/chrome/chrome-track.definitions.d.ts +36 -0
- package/dist/families/chrome/chrome-track.definitions.d.ts.map +1 -0
- package/dist/families/chrome/chrome-track.definitions.js +138 -0
- package/dist/families/chrome/chrome-track.definitions.js.map +1 -0
- package/dist/families/chrome/index.d.ts +22 -0
- package/dist/families/chrome/index.d.ts.map +1 -0
- package/dist/families/chrome/index.js +22 -0
- package/dist/families/chrome/index.js.map +1 -0
- package/dist/families/communication/AiChatPanel.d.ts +51 -0
- package/dist/families/communication/AiChatPanel.d.ts.map +1 -0
- package/dist/families/communication/AiChatPanel.js +72 -0
- package/dist/families/communication/AiChatPanel.js.map +1 -0
- package/dist/families/communication/CallWidget.d.ts +45 -0
- package/dist/families/communication/CallWidget.d.ts.map +1 -0
- package/dist/families/communication/CallWidget.js +64 -0
- package/dist/families/communication/CallWidget.js.map +1 -0
- package/dist/families/communication/ChatThread.d.ts +49 -0
- package/dist/families/communication/ChatThread.d.ts.map +1 -0
- package/dist/families/communication/ChatThread.js +71 -0
- package/dist/families/communication/ChatThread.js.map +1 -0
- package/dist/families/communication/ConversationInbox.d.ts +47 -0
- package/dist/families/communication/ConversationInbox.d.ts.map +1 -0
- package/dist/families/communication/ConversationInbox.js +74 -0
- package/dist/families/communication/ConversationInbox.js.map +1 -0
- package/dist/families/communication/TypingIndicator.d.ts +40 -0
- package/dist/families/communication/TypingIndicator.d.ts.map +1 -0
- package/dist/families/communication/TypingIndicator.js +30 -0
- package/dist/families/communication/TypingIndicator.js.map +1 -0
- package/dist/families/communication/chat-lib.d.ts +159 -0
- package/dist/families/communication/chat-lib.d.ts.map +1 -0
- package/dist/families/communication/chat-lib.js +307 -0
- package/dist/families/communication/chat-lib.js.map +1 -0
- package/dist/families/communication/communication-config.d.ts +849 -0
- package/dist/families/communication/communication-config.d.ts.map +1 -0
- package/dist/families/communication/communication-config.js +331 -0
- package/dist/families/communication/communication-config.js.map +1 -0
- package/dist/families/communication/communication-track-components.d.ts +13 -0
- package/dist/families/communication/communication-track-components.d.ts.map +1 -0
- package/dist/families/communication/communication-track-components.js +13 -0
- package/dist/families/communication/communication-track-components.js.map +1 -0
- package/dist/families/communication/communication-track.definitions.d.ts +23 -0
- package/dist/families/communication/communication-track.definitions.d.ts.map +1 -0
- package/dist/families/communication/communication-track.definitions.js +99 -0
- package/dist/families/communication/communication-track.definitions.js.map +1 -0
- package/dist/families/communication/index.d.ts +16 -0
- package/dist/families/communication/index.d.ts.map +1 -0
- package/dist/families/communication/index.js +16 -0
- package/dist/families/communication/index.js.map +1 -0
- package/dist/families/domain/ApiKeysPanel.d.ts +57 -0
- package/dist/families/domain/ApiKeysPanel.d.ts.map +1 -0
- package/dist/families/domain/ApiKeysPanel.js +121 -0
- package/dist/families/domain/ApiKeysPanel.js.map +1 -0
- package/dist/families/domain/ApiPlayground.d.ts +51 -0
- package/dist/families/domain/ApiPlayground.d.ts.map +1 -0
- package/dist/families/domain/ApiPlayground.js +110 -0
- package/dist/families/domain/ApiPlayground.js.map +1 -0
- package/dist/families/domain/BlockContent.d.ts +11 -0
- package/dist/families/domain/BlockContent.d.ts.map +1 -0
- package/dist/families/domain/BlockContent.js +42 -0
- package/dist/families/domain/BlockContent.js.map +1 -0
- package/dist/families/domain/BlockFinancial.d.ts +32 -0
- package/dist/families/domain/BlockFinancial.d.ts.map +1 -0
- package/dist/families/domain/BlockFinancial.js +205 -0
- package/dist/families/domain/BlockFinancial.js.map +1 -0
- package/dist/families/domain/BlockReport.d.ts +11 -0
- package/dist/families/domain/BlockReport.d.ts.map +1 -0
- package/dist/families/domain/BlockReport.js +129 -0
- package/dist/families/domain/BlockReport.js.map +1 -0
- package/dist/families/domain/BlockShell.d.ts +60 -0
- package/dist/families/domain/BlockShell.d.ts.map +1 -0
- package/dist/families/domain/BlockShell.js +76 -0
- package/dist/families/domain/BlockShell.js.map +1 -0
- package/dist/families/domain/BlockStatus.d.ts +30 -0
- package/dist/families/domain/BlockStatus.d.ts.map +1 -0
- package/dist/families/domain/BlockStatus.js +143 -0
- package/dist/families/domain/BlockStatus.js.map +1 -0
- package/dist/families/domain/CreditCardTile.d.ts +44 -0
- package/dist/families/domain/CreditCardTile.d.ts.map +1 -0
- package/dist/families/domain/CreditCardTile.js +105 -0
- package/dist/families/domain/CreditCardTile.js.map +1 -0
- package/dist/families/domain/DocumentCanvas.d.ts +7 -0
- package/dist/families/domain/DocumentCanvas.d.ts.map +1 -0
- package/dist/families/domain/DocumentCanvas.js +144 -0
- package/dist/families/domain/DocumentCanvas.js.map +1 -0
- package/dist/families/domain/ExperimentVariantCompare.d.ts +41 -0
- package/dist/families/domain/ExperimentVariantCompare.d.ts.map +1 -0
- package/dist/families/domain/ExperimentVariantCompare.js +90 -0
- package/dist/families/domain/ExperimentVariantCompare.js.map +1 -0
- package/dist/families/domain/GanttChart.d.ts +60 -0
- package/dist/families/domain/GanttChart.d.ts.map +1 -0
- package/dist/families/domain/GanttChart.js +112 -0
- package/dist/families/domain/GanttChart.js.map +1 -0
- package/dist/families/domain/OpsApi.d.ts +45 -0
- package/dist/families/domain/OpsApi.d.ts.map +1 -0
- package/dist/families/domain/OpsApi.js +167 -0
- package/dist/families/domain/OpsApi.js.map +1 -0
- package/dist/families/domain/OpsEmpty.d.ts +21 -0
- package/dist/families/domain/OpsEmpty.d.ts.map +1 -0
- package/dist/families/domain/OpsEmpty.js +6 -0
- package/dist/families/domain/OpsEmpty.js.map +1 -0
- package/dist/families/domain/OpsMonitoring.d.ts +71 -0
- package/dist/families/domain/OpsMonitoring.d.ts.map +1 -0
- package/dist/families/domain/OpsMonitoring.js +179 -0
- package/dist/families/domain/OpsMonitoring.js.map +1 -0
- package/dist/families/domain/OpsOnboarding.d.ts +29 -0
- package/dist/families/domain/OpsOnboarding.d.ts.map +1 -0
- package/dist/families/domain/OpsOnboarding.js +191 -0
- package/dist/families/domain/OpsOnboarding.js.map +1 -0
- package/dist/families/domain/OpsTrust.d.ts +43 -0
- package/dist/families/domain/OpsTrust.d.ts.map +1 -0
- package/dist/families/domain/OpsTrust.js +153 -0
- package/dist/families/domain/OpsTrust.js.map +1 -0
- package/dist/families/domain/OrgChart.d.ts +45 -0
- package/dist/families/domain/OrgChart.d.ts.map +1 -0
- package/dist/families/domain/OrgChart.js +110 -0
- package/dist/families/domain/OrgChart.js.map +1 -0
- package/dist/families/domain/PlanPricingCards.d.ts +43 -0
- package/dist/families/domain/PlanPricingCards.d.ts.map +1 -0
- package/dist/families/domain/PlanPricingCards.js +85 -0
- package/dist/families/domain/PlanPricingCards.js.map +1 -0
- package/dist/families/domain/SloMonitorCard.d.ts +43 -0
- package/dist/families/domain/SloMonitorCard.d.ts.map +1 -0
- package/dist/families/domain/SloMonitorCard.js +76 -0
- package/dist/families/domain/SloMonitorCard.js.map +1 -0
- package/dist/families/domain/UptimeSegmentBar.d.ts +42 -0
- package/dist/families/domain/UptimeSegmentBar.d.ts.map +1 -0
- package/dist/families/domain/UptimeSegmentBar.js +81 -0
- package/dist/families/domain/UptimeSegmentBar.js.map +1 -0
- package/dist/families/domain/block-lib.d.ts +159 -0
- package/dist/families/domain/block-lib.d.ts.map +1 -0
- package/dist/families/domain/block-lib.js +390 -0
- package/dist/families/domain/block-lib.js.map +1 -0
- package/dist/families/domain/block-types.d.ts +227 -0
- package/dist/families/domain/block-types.d.ts.map +1 -0
- package/dist/families/domain/block-types.js +23 -0
- package/dist/families/domain/block-types.js.map +1 -0
- package/dist/families/domain/blocks-config.d.ts +3510 -0
- package/dist/families/domain/blocks-config.d.ts.map +1 -0
- package/dist/families/domain/blocks-config.js +645 -0
- package/dist/families/domain/blocks-config.js.map +1 -0
- package/dist/families/domain/blocks-track-components.d.ts +16 -0
- package/dist/families/domain/blocks-track-components.d.ts.map +1 -0
- package/dist/families/domain/blocks-track-components.js +16 -0
- package/dist/families/domain/blocks-track-components.js.map +1 -0
- package/dist/families/domain/blocks-track.definitions.d.ts +66 -0
- package/dist/families/domain/blocks-track.definitions.d.ts.map +1 -0
- package/dist/families/domain/blocks-track.definitions.js +379 -0
- package/dist/families/domain/blocks-track.definitions.js.map +1 -0
- package/dist/families/domain/domain-config.d.ts +352 -0
- package/dist/families/domain/domain-config.d.ts.map +1 -0
- package/dist/families/domain/domain-config.js +187 -0
- package/dist/families/domain/domain-config.js.map +1 -0
- package/dist/families/domain/domain-lib.d.ts +227 -0
- package/dist/families/domain/domain-lib.d.ts.map +1 -0
- package/dist/families/domain/domain-lib.js +494 -0
- package/dist/families/domain/domain-lib.js.map +1 -0
- package/dist/families/domain/domain-ops-config.d.ts +2939 -0
- package/dist/families/domain/domain-ops-config.d.ts.map +1 -0
- package/dist/families/domain/domain-ops-config.js +976 -0
- package/dist/families/domain/domain-ops-config.js.map +1 -0
- package/dist/families/domain/domain-ops-lib.d.ts +214 -0
- package/dist/families/domain/domain-ops-lib.d.ts.map +1 -0
- package/dist/families/domain/domain-ops-lib.js +489 -0
- package/dist/families/domain/domain-ops-lib.js.map +1 -0
- package/dist/families/domain/domain-ops-track-components.d.ts +28 -0
- package/dist/families/domain/domain-ops-track-components.d.ts.map +1 -0
- package/dist/families/domain/domain-ops-track-components.js +28 -0
- package/dist/families/domain/domain-ops-track-components.js.map +1 -0
- package/dist/families/domain/domain-ops-track.definitions.d.ts +56 -0
- package/dist/families/domain/domain-ops-track.definitions.d.ts.map +1 -0
- package/dist/families/domain/domain-ops-track.definitions.js +364 -0
- package/dist/families/domain/domain-ops-track.definitions.js.map +1 -0
- package/dist/families/domain/domain-ops-types.d.ts +226 -0
- package/dist/families/domain/domain-ops-types.d.ts.map +1 -0
- package/dist/families/domain/domain-ops-types.js +29 -0
- package/dist/families/domain/domain-ops-types.js.map +1 -0
- package/dist/families/domain/domain-track-components.d.ts +10 -0
- package/dist/families/domain/domain-track-components.d.ts.map +1 -0
- package/dist/families/domain/domain-track-components.js +10 -0
- package/dist/families/domain/domain-track-components.js.map +1 -0
- package/dist/families/domain/domain-track.definitions.d.ts +22 -0
- package/dist/families/domain/domain-track.definitions.d.ts.map +1 -0
- package/dist/families/domain/domain-track.definitions.js +66 -0
- package/dist/families/domain/domain-track.definitions.js.map +1 -0
- package/dist/families/domain/domain-types.d.ts +86 -0
- package/dist/families/domain/domain-types.d.ts.map +1 -0
- package/dist/families/domain/domain-types.js +18 -0
- package/dist/families/domain/domain-types.js.map +1 -0
- package/dist/families/domain/index.d.ts +44 -0
- package/dist/families/domain/index.d.ts.map +1 -0
- package/dist/families/domain/index.js +45 -0
- package/dist/families/domain/index.js.map +1 -0
- package/dist/families/feeds/ActivityFeed.d.ts +28 -0
- package/dist/families/feeds/ActivityFeed.d.ts.map +1 -0
- package/dist/families/feeds/ActivityFeed.js +41 -0
- package/dist/families/feeds/ActivityFeed.js.map +1 -0
- package/dist/families/feeds/LoadOlderPaginator.d.ts +45 -0
- package/dist/families/feeds/LoadOlderPaginator.d.ts.map +1 -0
- package/dist/families/feeds/LoadOlderPaginator.js +59 -0
- package/dist/families/feeds/LoadOlderPaginator.js.map +1 -0
- package/dist/families/feeds/NotificationFeed.d.ts +33 -0
- package/dist/families/feeds/NotificationFeed.d.ts.map +1 -0
- package/dist/families/feeds/NotificationFeed.js +122 -0
- package/dist/families/feeds/NotificationFeed.js.map +1 -0
- package/dist/families/feeds/RealtimeFeed.d.ts +29 -0
- package/dist/families/feeds/RealtimeFeed.d.ts.map +1 -0
- package/dist/families/feeds/RealtimeFeed.js +110 -0
- package/dist/families/feeds/RealtimeFeed.js.map +1 -0
- package/dist/families/feeds/TimelineVertical.d.ts +28 -0
- package/dist/families/feeds/TimelineVertical.d.ts.map +1 -0
- package/dist/families/feeds/TimelineVertical.js +64 -0
- package/dist/families/feeds/TimelineVertical.js.map +1 -0
- package/dist/families/feeds/ToastStack.d.ts +42 -0
- package/dist/families/feeds/ToastStack.d.ts.map +1 -0
- package/dist/families/feeds/ToastStack.js +120 -0
- package/dist/families/feeds/ToastStack.js.map +1 -0
- package/dist/families/feeds/UnreadBadge.d.ts +23 -0
- package/dist/families/feeds/UnreadBadge.d.ts.map +1 -0
- package/dist/families/feeds/UnreadBadge.js +42 -0
- package/dist/families/feeds/UnreadBadge.js.map +1 -0
- package/dist/families/feeds/feed-demo-lib.d.ts +22 -0
- package/dist/families/feeds/feed-demo-lib.d.ts.map +1 -0
- package/dist/families/feeds/feed-demo-lib.js +33 -0
- package/dist/families/feeds/feed-demo-lib.js.map +1 -0
- package/dist/families/feeds/feed-icons.d.ts +4 -0
- package/dist/families/feeds/feed-icons.d.ts.map +1 -0
- package/dist/families/feeds/feed-icons.js +39 -0
- package/dist/families/feeds/feed-icons.js.map +1 -0
- package/dist/families/feeds/feed-lib.d.ts +42 -0
- package/dist/families/feeds/feed-lib.d.ts.map +1 -0
- package/dist/families/feeds/feed-lib.js +61 -0
- package/dist/families/feeds/feed-lib.js.map +1 -0
- package/dist/families/feeds/feeds-config.d.ts +1114 -0
- package/dist/families/feeds/feeds-config.d.ts.map +1 -0
- package/dist/families/feeds/feeds-config.js +278 -0
- package/dist/families/feeds/feeds-config.js.map +1 -0
- package/dist/families/feeds/feeds-track-f-components.d.ts +15 -0
- package/dist/families/feeds/feeds-track-f-components.d.ts.map +1 -0
- package/dist/families/feeds/feeds-track-f-components.js +16 -0
- package/dist/families/feeds/feeds-track-f-components.js.map +1 -0
- package/dist/families/feeds/feeds-track-f.definitions.d.ts +39 -0
- package/dist/families/feeds/feeds-track-f.definitions.d.ts.map +1 -0
- package/dist/families/feeds/feeds-track-f.definitions.js +129 -0
- package/dist/families/feeds/feeds-track-f.definitions.js.map +1 -0
- package/dist/families/feeds/feeds-types.d.ts +85 -0
- package/dist/families/feeds/feeds-types.d.ts.map +1 -0
- package/dist/families/feeds/feeds-types.js +12 -0
- package/dist/families/feeds/feeds-types.js.map +1 -0
- package/dist/families/feeds/index.d.ts +16 -0
- package/dist/families/feeds/index.d.ts.map +1 -0
- package/dist/families/feeds/index.js +16 -0
- package/dist/families/feeds/index.js.map +1 -0
- package/dist/families/forms/ColumnMappingTable.d.ts +37 -0
- package/dist/families/forms/ColumnMappingTable.d.ts.map +1 -0
- package/dist/families/forms/ColumnMappingTable.js +76 -0
- package/dist/families/forms/ColumnMappingTable.js.map +1 -0
- package/dist/families/forms/ConnectionStringField.d.ts +74 -0
- package/dist/families/forms/ConnectionStringField.d.ts.map +1 -0
- package/dist/families/forms/ConnectionStringField.js +103 -0
- package/dist/families/forms/ConnectionStringField.js.map +1 -0
- package/dist/families/forms/DrawerForm.d.ts +20 -0
- package/dist/families/forms/DrawerForm.d.ts.map +1 -0
- package/dist/families/forms/DrawerForm.js +60 -0
- package/dist/families/forms/DrawerForm.js.map +1 -0
- package/dist/families/forms/ExportBuilder.d.ts +31 -0
- package/dist/families/forms/ExportBuilder.d.ts.map +1 -0
- package/dist/families/forms/ExportBuilder.js +76 -0
- package/dist/families/forms/ExportBuilder.js.map +1 -0
- package/dist/families/forms/FilterChipBar.d.ts +49 -0
- package/dist/families/forms/FilterChipBar.d.ts.map +1 -0
- package/dist/families/forms/FilterChipBar.js +82 -0
- package/dist/families/forms/FilterChipBar.js.map +1 -0
- package/dist/families/forms/FlowBuilder.d.ts +40 -0
- package/dist/families/forms/FlowBuilder.d.ts.map +1 -0
- package/dist/families/forms/FlowBuilder.js +128 -0
- package/dist/families/forms/FlowBuilder.js.map +1 -0
- package/dist/families/forms/FormFields.d.ts +28 -0
- package/dist/families/forms/FormFields.d.ts.map +1 -0
- package/dist/families/forms/FormFields.js +60 -0
- package/dist/families/forms/FormFields.js.map +1 -0
- package/dist/families/forms/InlineEditableField.d.ts +28 -0
- package/dist/families/forms/InlineEditableField.d.ts.map +1 -0
- package/dist/families/forms/InlineEditableField.js +130 -0
- package/dist/families/forms/InlineEditableField.js.map +1 -0
- package/dist/families/forms/InputWidgets.d.ts +35 -0
- package/dist/families/forms/InputWidgets.d.ts.map +1 -0
- package/dist/families/forms/InputWidgets.js +116 -0
- package/dist/families/forms/InputWidgets.js.map +1 -0
- package/dist/families/forms/ModalWizard.d.ts +28 -0
- package/dist/families/forms/ModalWizard.d.ts.map +1 -0
- package/dist/families/forms/ModalWizard.js +77 -0
- package/dist/families/forms/ModalWizard.js.map +1 -0
- package/dist/families/forms/OptionCards.d.ts +26 -0
- package/dist/families/forms/OptionCards.d.ts.map +1 -0
- package/dist/families/forms/OptionCards.js +73 -0
- package/dist/families/forms/OptionCards.js.map +1 -0
- package/dist/families/forms/ProgressBarWidget.d.ts +17 -0
- package/dist/families/forms/ProgressBarWidget.d.ts.map +1 -0
- package/dist/families/forms/ProgressBarWidget.js +28 -0
- package/dist/families/forms/ProgressBarWidget.js.map +1 -0
- package/dist/families/forms/QuestionBuilder.d.ts +35 -0
- package/dist/families/forms/QuestionBuilder.d.ts.map +1 -0
- package/dist/families/forms/QuestionBuilder.js +133 -0
- package/dist/families/forms/QuestionBuilder.js.map +1 -0
- package/dist/families/forms/RuleBuilder.d.ts +42 -0
- package/dist/families/forms/RuleBuilder.d.ts.map +1 -0
- package/dist/families/forms/RuleBuilder.js +150 -0
- package/dist/families/forms/RuleBuilder.js.map +1 -0
- package/dist/families/forms/StepperWidget.d.ts +33 -0
- package/dist/families/forms/StepperWidget.d.ts.map +1 -0
- package/dist/families/forms/StepperWidget.js +70 -0
- package/dist/families/forms/StepperWidget.js.map +1 -0
- package/dist/families/forms/TableInclusionChecklist.d.ts +71 -0
- package/dist/families/forms/TableInclusionChecklist.d.ts.map +1 -0
- package/dist/families/forms/TableInclusionChecklist.js +119 -0
- package/dist/families/forms/TableInclusionChecklist.js.map +1 -0
- package/dist/families/forms/ToggleSwitchList.d.ts +21 -0
- package/dist/families/forms/ToggleSwitchList.d.ts.map +1 -0
- package/dist/families/forms/ToggleSwitchList.js +78 -0
- package/dist/families/forms/ToggleSwitchList.js.map +1 -0
- package/dist/families/forms/ValidationIssuesList.d.ts +35 -0
- package/dist/families/forms/ValidationIssuesList.d.ts.map +1 -0
- package/dist/families/forms/ValidationIssuesList.js +64 -0
- package/dist/families/forms/ValidationIssuesList.js.map +1 -0
- package/dist/families/forms/forms-builders.d.ts +106 -0
- package/dist/families/forms/forms-builders.d.ts.map +1 -0
- package/dist/families/forms/forms-builders.js +211 -0
- package/dist/families/forms/forms-builders.js.map +1 -0
- package/dist/families/forms/forms-config.d.ts +3399 -0
- package/dist/families/forms/forms-config.d.ts.map +1 -0
- package/dist/families/forms/forms-config.js +695 -0
- package/dist/families/forms/forms-config.js.map +1 -0
- package/dist/families/forms/forms-dsn.d.ts +88 -0
- package/dist/families/forms/forms-dsn.d.ts.map +1 -0
- package/dist/families/forms/forms-dsn.js +173 -0
- package/dist/families/forms/forms-dsn.js.map +1 -0
- package/dist/families/forms/forms-icons.d.ts +13 -0
- package/dist/families/forms/forms-icons.d.ts.map +1 -0
- package/dist/families/forms/forms-icons.js +65 -0
- package/dist/families/forms/forms-icons.js.map +1 -0
- package/dist/families/forms/forms-lib.d.ts +74 -0
- package/dist/families/forms/forms-lib.d.ts.map +1 -0
- package/dist/families/forms/forms-lib.js +176 -0
- package/dist/families/forms/forms-lib.js.map +1 -0
- package/dist/families/forms/forms-state.d.ts +62 -0
- package/dist/families/forms/forms-state.d.ts.map +1 -0
- package/dist/families/forms/forms-state.js +103 -0
- package/dist/families/forms/forms-state.js.map +1 -0
- package/dist/families/forms/forms-tables.d.ts +49 -0
- package/dist/families/forms/forms-tables.d.ts.map +1 -0
- package/dist/families/forms/forms-tables.js +42 -0
- package/dist/families/forms/forms-tables.js.map +1 -0
- package/dist/families/forms/forms-track-components.d.ts +25 -0
- package/dist/families/forms/forms-track-components.d.ts.map +1 -0
- package/dist/families/forms/forms-track-components.js +25 -0
- package/dist/families/forms/forms-track-components.js.map +1 -0
- package/dist/families/forms/forms-track.definitions.d.ts +64 -0
- package/dist/families/forms/forms-track.definitions.d.ts.map +1 -0
- package/dist/families/forms/forms-track.definitions.js +333 -0
- package/dist/families/forms/forms-track.definitions.js.map +1 -0
- package/dist/families/forms/index.d.ts +37 -0
- package/dist/families/forms/index.d.ts.map +1 -0
- package/dist/families/forms/index.js +39 -0
- package/dist/families/forms/index.js.map +1 -0
- package/dist/families/geo/MapBubble.d.ts +27 -0
- package/dist/families/geo/MapBubble.d.ts.map +1 -0
- package/dist/families/geo/MapBubble.js +209 -0
- package/dist/families/geo/MapBubble.js.map +1 -0
- package/dist/families/geo/MapChoroplethGrid.d.ts +53 -0
- package/dist/families/geo/MapChoroplethGrid.d.ts.map +1 -0
- package/dist/families/geo/MapChoroplethGrid.js +42 -0
- package/dist/families/geo/MapChoroplethGrid.js.map +1 -0
- package/dist/families/geo/geo-config.d.ts +375 -0
- package/dist/families/geo/geo-config.d.ts.map +1 -0
- package/dist/families/geo/geo-config.js +177 -0
- package/dist/families/geo/geo-config.js.map +1 -0
- package/dist/families/geo/geo-lib.d.ts +108 -0
- package/dist/families/geo/geo-lib.d.ts.map +1 -0
- package/dist/families/geo/geo-lib.js +228 -0
- package/dist/families/geo/geo-lib.js.map +1 -0
- package/dist/families/geo/geo-track-components.d.ts +16 -0
- package/dist/families/geo/geo-track-components.d.ts.map +1 -0
- package/dist/families/geo/geo-track-components.js +16 -0
- package/dist/families/geo/geo-track-components.js.map +1 -0
- package/dist/families/geo/geo-track.definitions.d.ts +21 -0
- package/dist/families/geo/geo-track.definitions.d.ts.map +1 -0
- package/dist/families/geo/geo-track.definitions.js +54 -0
- package/dist/families/geo/geo-track.definitions.js.map +1 -0
- package/dist/families/geo/index.d.ts +17 -0
- package/dist/families/geo/index.d.ts.map +1 -0
- package/dist/families/geo/index.js +17 -0
- package/dist/families/geo/index.js.map +1 -0
- package/dist/families/kpi/AutoInsights.d.ts +47 -0
- package/dist/families/kpi/AutoInsights.d.ts.map +1 -0
- package/dist/families/kpi/AutoInsights.js +126 -0
- package/dist/families/kpi/AutoInsights.js.map +1 -0
- package/dist/families/kpi/GaugeArc.d.ts +31 -0
- package/dist/families/kpi/GaugeArc.d.ts.map +1 -0
- package/dist/families/kpi/GaugeArc.js +121 -0
- package/dist/families/kpi/GaugeArc.js.map +1 -0
- package/dist/families/kpi/GaugeRing.d.ts +28 -0
- package/dist/families/kpi/GaugeRing.d.ts.map +1 -0
- package/dist/families/kpi/GaugeRing.js +96 -0
- package/dist/families/kpi/GaugeRing.js.map +1 -0
- package/dist/families/kpi/KpiStatCard.d.ts +13 -0
- package/dist/families/kpi/KpiStatCard.d.ts.map +1 -0
- package/dist/families/kpi/KpiStatCard.js +43 -0
- package/dist/families/kpi/KpiStatCard.js.map +1 -0
- package/dist/families/kpi/KpiStatTileCompact.d.ts +13 -0
- package/dist/families/kpi/KpiStatTileCompact.d.ts.map +1 -0
- package/dist/families/kpi/KpiStatTileCompact.js +29 -0
- package/dist/families/kpi/KpiStatTileCompact.js.map +1 -0
- package/dist/families/kpi/MetricHero.d.ts +25 -0
- package/dist/families/kpi/MetricHero.d.ts.map +1 -0
- package/dist/families/kpi/MetricHero.js +85 -0
- package/dist/families/kpi/MetricHero.js.map +1 -0
- package/dist/families/kpi/MicroKpiSubtitle.d.ts +24 -0
- package/dist/families/kpi/MicroKpiSubtitle.d.ts.map +1 -0
- package/dist/families/kpi/MicroKpiSubtitle.js +46 -0
- package/dist/families/kpi/MicroKpiSubtitle.js.map +1 -0
- package/dist/families/kpi/PeriodComparison.d.ts +20 -0
- package/dist/families/kpi/PeriodComparison.d.ts.map +1 -0
- package/dist/families/kpi/PeriodComparison.js +49 -0
- package/dist/families/kpi/PeriodComparison.js.map +1 -0
- package/dist/families/kpi/StatPairCard.d.ts +26 -0
- package/dist/families/kpi/StatPairCard.d.ts.map +1 -0
- package/dist/families/kpi/StatPairCard.js +54 -0
- package/dist/families/kpi/StatPairCard.js.map +1 -0
- package/dist/families/kpi/UsageMeter.d.ts +12 -0
- package/dist/families/kpi/UsageMeter.d.ts.map +1 -0
- package/dist/families/kpi/UsageMeter.js +31 -0
- package/dist/families/kpi/UsageMeter.js.map +1 -0
- package/dist/families/kpi/components.d.ts +19 -0
- package/dist/families/kpi/components.d.ts.map +1 -0
- package/dist/families/kpi/components.js +19 -0
- package/dist/families/kpi/components.js.map +1 -0
- package/dist/families/kpi/definitions.d.ts +22 -0
- package/dist/families/kpi/definitions.d.ts.map +1 -0
- package/dist/families/kpi/definitions.js +159 -0
- package/dist/families/kpi/definitions.js.map +1 -0
- package/dist/families/kpi/kpi-config.d.ts +1700 -0
- package/dist/families/kpi/kpi-config.d.ts.map +1 -0
- package/dist/families/kpi/kpi-config.js +418 -0
- package/dist/families/kpi/kpi-config.js.map +1 -0
- package/dist/families/kpi/kpi-icons.d.ts +7 -0
- package/dist/families/kpi/kpi-icons.d.ts.map +1 -0
- package/dist/families/kpi/kpi-icons.js +28 -0
- package/dist/families/kpi/kpi-icons.js.map +1 -0
- package/dist/families/kpi/kpi-lib.d.ts +173 -0
- package/dist/families/kpi/kpi-lib.d.ts.map +1 -0
- package/dist/families/kpi/kpi-lib.js +243 -0
- package/dist/families/kpi/kpi-lib.js.map +1 -0
- package/dist/families/media/AttachmentList.d.ts +43 -0
- package/dist/families/media/AttachmentList.d.ts.map +1 -0
- package/dist/families/media/AttachmentList.js +52 -0
- package/dist/families/media/AttachmentList.js.map +1 -0
- package/dist/families/media/FileBrowser.d.ts +57 -0
- package/dist/families/media/FileBrowser.d.ts.map +1 -0
- package/dist/families/media/FileBrowser.js +158 -0
- package/dist/families/media/FileBrowser.js.map +1 -0
- package/dist/families/media/ImageBoard.d.ts +41 -0
- package/dist/families/media/ImageBoard.d.ts.map +1 -0
- package/dist/families/media/ImageBoard.js +67 -0
- package/dist/families/media/ImageBoard.js.map +1 -0
- package/dist/families/media/LinkList.d.ts +48 -0
- package/dist/families/media/LinkList.d.ts.map +1 -0
- package/dist/families/media/LinkList.js +89 -0
- package/dist/families/media/LinkList.js.map +1 -0
- package/dist/families/media/UploadDropzone.d.ts +41 -0
- package/dist/families/media/UploadDropzone.d.ts.map +1 -0
- package/dist/families/media/UploadDropzone.js +54 -0
- package/dist/families/media/UploadDropzone.js.map +1 -0
- package/dist/families/media/UploadProgressList.d.ts +58 -0
- package/dist/families/media/UploadProgressList.d.ts.map +1 -0
- package/dist/families/media/UploadProgressList.js +81 -0
- package/dist/families/media/UploadProgressList.js.map +1 -0
- package/dist/families/media/index.d.ts +20 -0
- package/dist/families/media/index.d.ts.map +1 -0
- package/dist/families/media/index.js +20 -0
- package/dist/families/media/index.js.map +1 -0
- package/dist/families/media/media-config.d.ts +1035 -0
- package/dist/families/media/media-config.d.ts.map +1 -0
- package/dist/families/media/media-config.js +362 -0
- package/dist/families/media/media-config.js.map +1 -0
- package/dist/families/media/media-icons.d.ts +14 -0
- package/dist/families/media/media-icons.d.ts.map +1 -0
- package/dist/families/media/media-icons.js +44 -0
- package/dist/families/media/media-icons.js.map +1 -0
- package/dist/families/media/media-lib.d.ts +149 -0
- package/dist/families/media/media-lib.d.ts.map +1 -0
- package/dist/families/media/media-lib.js +333 -0
- package/dist/families/media/media-lib.js.map +1 -0
- package/dist/families/media/media-track-components.d.ts +14 -0
- package/dist/families/media/media-track-components.d.ts.map +1 -0
- package/dist/families/media/media-track-components.js +14 -0
- package/dist/families/media/media-track-components.js.map +1 -0
- package/dist/families/media/media-track.definitions.d.ts +26 -0
- package/dist/families/media/media-track.definitions.d.ts.map +1 -0
- package/dist/families/media/media-track.definitions.js +107 -0
- package/dist/families/media/media-track.definitions.js.map +1 -0
- package/dist/families/system/AlertBanner.d.ts +31 -0
- package/dist/families/system/AlertBanner.d.ts.map +1 -0
- package/dist/families/system/AlertBanner.js +69 -0
- package/dist/families/system/AlertBanner.js.map +1 -0
- package/dist/families/system/AutosaveIndicatorWidget.d.ts +43 -0
- package/dist/families/system/AutosaveIndicatorWidget.d.ts.map +1 -0
- package/dist/families/system/AutosaveIndicatorWidget.js +51 -0
- package/dist/families/system/AutosaveIndicatorWidget.js.map +1 -0
- package/dist/families/system/ConnectionStatus.d.ts +28 -0
- package/dist/families/system/ConnectionStatus.d.ts.map +1 -0
- package/dist/families/system/ConnectionStatus.js +53 -0
- package/dist/families/system/ConnectionStatus.js.map +1 -0
- package/dist/families/system/DiagnosticsReadout.d.ts +31 -0
- package/dist/families/system/DiagnosticsReadout.d.ts.map +1 -0
- package/dist/families/system/DiagnosticsReadout.js +49 -0
- package/dist/families/system/DiagnosticsReadout.js.map +1 -0
- package/dist/families/system/EmptyStateWidget.d.ts +25 -0
- package/dist/families/system/EmptyStateWidget.d.ts.map +1 -0
- package/dist/families/system/EmptyStateWidget.js +44 -0
- package/dist/families/system/EmptyStateWidget.js.map +1 -0
- package/dist/families/system/ProgressLogConsole.d.ts +58 -0
- package/dist/families/system/ProgressLogConsole.d.ts.map +1 -0
- package/dist/families/system/ProgressLogConsole.js +111 -0
- package/dist/families/system/ProgressLogConsole.js.map +1 -0
- package/dist/families/system/StateHero.d.ts +34 -0
- package/dist/families/system/StateHero.d.ts.map +1 -0
- package/dist/families/system/StateHero.js +102 -0
- package/dist/families/system/StateHero.js.map +1 -0
- package/dist/families/system/StatusBannerHero.d.ts +35 -0
- package/dist/families/system/StatusBannerHero.d.ts.map +1 -0
- package/dist/families/system/StatusBannerHero.js +65 -0
- package/dist/families/system/StatusBannerHero.js.map +1 -0
- package/dist/families/system/StatusPill.d.ts +38 -0
- package/dist/families/system/StatusPill.d.ts.map +1 -0
- package/dist/families/system/StatusPill.js +42 -0
- package/dist/families/system/StatusPill.js.map +1 -0
- package/dist/families/system/index.d.ts +24 -0
- package/dist/families/system/index.d.ts.map +1 -0
- package/dist/families/system/index.js +24 -0
- package/dist/families/system/index.js.map +1 -0
- package/dist/families/system/system-config.d.ts +1505 -0
- package/dist/families/system/system-config.d.ts.map +1 -0
- package/dist/families/system/system-config.js +339 -0
- package/dist/families/system/system-config.js.map +1 -0
- package/dist/families/system/system-icons.d.ts +10 -0
- package/dist/families/system/system-icons.d.ts.map +1 -0
- package/dist/families/system/system-icons.js +58 -0
- package/dist/families/system/system-icons.js.map +1 -0
- package/dist/families/system/system-lib.d.ts +108 -0
- package/dist/families/system/system-lib.d.ts.map +1 -0
- package/dist/families/system/system-lib.js +181 -0
- package/dist/families/system/system-lib.js.map +1 -0
- package/dist/families/system/system-track-components.d.ts +17 -0
- package/dist/families/system/system-track-components.d.ts.map +1 -0
- package/dist/families/system/system-track-components.js +17 -0
- package/dist/families/system/system-track-components.js.map +1 -0
- package/dist/families/system/system-track.definitions.d.ts +36 -0
- package/dist/families/system/system-track.definitions.d.ts.map +1 -0
- package/dist/families/system/system-track.definitions.js +155 -0
- package/dist/families/system/system-track.definitions.js.map +1 -0
- package/dist/families/tables/AccordionList.d.ts +36 -0
- package/dist/families/tables/AccordionList.d.ts.map +1 -0
- package/dist/families/tables/AccordionList.js +56 -0
- package/dist/families/tables/AccordionList.js.map +1 -0
- package/dist/families/tables/BulkActionToolbar.d.ts +35 -0
- package/dist/families/tables/BulkActionToolbar.d.ts.map +1 -0
- package/dist/families/tables/BulkActionToolbar.js +8 -0
- package/dist/families/tables/BulkActionToolbar.js.map +1 -0
- package/dist/families/tables/CardGallery.d.ts +30 -0
- package/dist/families/tables/CardGallery.d.ts.map +1 -0
- package/dist/families/tables/CardGallery.js +80 -0
- package/dist/families/tables/CardGallery.js.map +1 -0
- package/dist/families/tables/ChipCloud.d.ts +46 -0
- package/dist/families/tables/ChipCloud.d.ts.map +1 -0
- package/dist/families/tables/ChipCloud.js +72 -0
- package/dist/families/tables/ChipCloud.js.map +1 -0
- package/dist/families/tables/ComparisonMatrix.d.ts +41 -0
- package/dist/families/tables/ComparisonMatrix.d.ts.map +1 -0
- package/dist/families/tables/ComparisonMatrix.js +76 -0
- package/dist/families/tables/ComparisonMatrix.js.map +1 -0
- package/dist/families/tables/DataGrid.d.ts +50 -0
- package/dist/families/tables/DataGrid.d.ts.map +1 -0
- package/dist/families/tables/DataGrid.js +89 -0
- package/dist/families/tables/DataGrid.js.map +1 -0
- package/dist/families/tables/DetailKeyValue.d.ts +18 -0
- package/dist/families/tables/DetailKeyValue.d.ts.map +1 -0
- package/dist/families/tables/DetailKeyValue.js +14 -0
- package/dist/families/tables/DetailKeyValue.js.map +1 -0
- package/dist/families/tables/GroupedSummaryTable.d.ts +25 -0
- package/dist/families/tables/GroupedSummaryTable.d.ts.map +1 -0
- package/dist/families/tables/GroupedSummaryTable.js +87 -0
- package/dist/families/tables/GroupedSummaryTable.js.map +1 -0
- package/dist/families/tables/LogTable.d.ts +36 -0
- package/dist/families/tables/LogTable.d.ts.map +1 -0
- package/dist/families/tables/LogTable.js +115 -0
- package/dist/families/tables/LogTable.js.map +1 -0
- package/dist/families/tables/MasterList.d.ts +29 -0
- package/dist/families/tables/MasterList.d.ts.map +1 -0
- package/dist/families/tables/MasterList.js +77 -0
- package/dist/families/tables/MasterList.js.map +1 -0
- package/dist/families/tables/MiniTable.d.ts +25 -0
- package/dist/families/tables/MiniTable.d.ts.map +1 -0
- package/dist/families/tables/MiniTable.js +14 -0
- package/dist/families/tables/MiniTable.js.map +1 -0
- package/dist/families/tables/PaginationFooter.d.ts +36 -0
- package/dist/families/tables/PaginationFooter.d.ts.map +1 -0
- package/dist/families/tables/PaginationFooter.js +21 -0
- package/dist/families/tables/PaginationFooter.js.map +1 -0
- package/dist/families/tables/RankedEntityList.d.ts +41 -0
- package/dist/families/tables/RankedEntityList.d.ts.map +1 -0
- package/dist/families/tables/RankedEntityList.js +74 -0
- package/dist/families/tables/RankedEntityList.js.map +1 -0
- package/dist/families/tables/SchemaTree.d.ts +23 -0
- package/dist/families/tables/SchemaTree.d.ts.map +1 -0
- package/dist/families/tables/SchemaTree.js +89 -0
- package/dist/families/tables/SchemaTree.js.map +1 -0
- package/dist/families/tables/SparklineTable.d.ts +35 -0
- package/dist/families/tables/SparklineTable.d.ts.map +1 -0
- package/dist/families/tables/SparklineTable.js +54 -0
- package/dist/families/tables/SparklineTable.js.map +1 -0
- package/dist/families/tables/ToggleMatrixWidget.d.ts +26 -0
- package/dist/families/tables/ToggleMatrixWidget.d.ts.map +1 -0
- package/dist/families/tables/ToggleMatrixWidget.js +95 -0
- package/dist/families/tables/ToggleMatrixWidget.js.map +1 -0
- package/dist/families/tables/TopMoversList.d.ts +37 -0
- package/dist/families/tables/TopMoversList.d.ts.map +1 -0
- package/dist/families/tables/TopMoversList.js +51 -0
- package/dist/families/tables/TopMoversList.js.map +1 -0
- package/dist/families/tables/cells.d.ts +38 -0
- package/dist/families/tables/cells.d.ts.map +1 -0
- package/dist/families/tables/cells.js +107 -0
- package/dist/families/tables/cells.js.map +1 -0
- package/dist/families/tables/column-spec.d.ts +53 -0
- package/dist/families/tables/column-spec.d.ts.map +1 -0
- package/dist/families/tables/column-spec.js +158 -0
- package/dist/families/tables/column-spec.js.map +1 -0
- package/dist/families/tables/definitions.d.ts +12 -0
- package/dist/families/tables/definitions.d.ts.map +1 -0
- package/dist/families/tables/definitions.js +81 -0
- package/dist/families/tables/definitions.js.map +1 -0
- package/dist/families/tables/demo-data.d.ts +15 -0
- package/dist/families/tables/demo-data.d.ts.map +1 -0
- package/dist/families/tables/demo-data.js +97 -0
- package/dist/families/tables/demo-data.js.map +1 -0
- package/dist/families/tables/index.d.ts +31 -0
- package/dist/families/tables/index.d.ts.map +1 -0
- package/dist/families/tables/index.js +33 -0
- package/dist/families/tables/index.js.map +1 -0
- package/dist/families/tables/tables-config.d.ts +908 -0
- package/dist/families/tables/tables-config.d.ts.map +1 -0
- package/dist/families/tables/tables-config.js +51 -0
- package/dist/families/tables/tables-config.js.map +1 -0
- package/dist/families/tables/tables-tail-components.d.ts +14 -0
- package/dist/families/tables/tables-tail-components.d.ts.map +1 -0
- package/dist/families/tables/tables-tail-components.js +14 -0
- package/dist/families/tables/tables-tail-components.js.map +1 -0
- package/dist/families/tables/tables-tail-config.d.ts +947 -0
- package/dist/families/tables/tables-tail-config.d.ts.map +1 -0
- package/dist/families/tables/tables-tail-config.js +328 -0
- package/dist/families/tables/tables-tail-config.js.map +1 -0
- package/dist/families/tables/tables-tail-icons.d.ts +6 -0
- package/dist/families/tables/tables-tail-icons.d.ts.map +1 -0
- package/dist/families/tables/tables-tail-icons.js +33 -0
- package/dist/families/tables/tables-tail-icons.js.map +1 -0
- package/dist/families/tables/tables-tail-lib.d.ts +77 -0
- package/dist/families/tables/tables-tail-lib.d.ts.map +1 -0
- package/dist/families/tables/tables-tail-lib.js +176 -0
- package/dist/families/tables/tables-tail-lib.js.map +1 -0
- package/dist/families/tables/tables-tail-types.d.ts +129 -0
- package/dist/families/tables/tables-tail-types.d.ts.map +1 -0
- package/dist/families/tables/tables-tail-types.js +16 -0
- package/dist/families/tables/tables-tail-types.js.map +1 -0
- package/dist/families/tables/tables-tail.definitions.d.ts +26 -0
- package/dist/families/tables/tables-tail.definitions.d.ts.map +1 -0
- package/dist/families/tables/tables-tail.definitions.js +108 -0
- package/dist/families/tables/tables-tail.definitions.js.map +1 -0
- package/dist/families/tables/tables-track-f-components.d.ts +14 -0
- package/dist/families/tables/tables-track-f-components.d.ts.map +1 -0
- package/dist/families/tables/tables-track-f-components.js +14 -0
- package/dist/families/tables/tables-track-f-components.js.map +1 -0
- package/dist/families/tables/tables-track-f-config.d.ts +956 -0
- package/dist/families/tables/tables-track-f-config.d.ts.map +1 -0
- package/dist/families/tables/tables-track-f-config.js +329 -0
- package/dist/families/tables/tables-track-f-config.js.map +1 -0
- package/dist/families/tables/tables-track-f-types.d.ts +95 -0
- package/dist/families/tables/tables-track-f-types.d.ts.map +1 -0
- package/dist/families/tables/tables-track-f-types.js +13 -0
- package/dist/families/tables/tables-track-f-types.js.map +1 -0
- package/dist/families/tables/tables-track-f.definitions.d.ts +19 -0
- package/dist/families/tables/tables-track-f.definitions.d.ts.map +1 -0
- package/dist/families/tables/tables-track-f.definitions.js +98 -0
- package/dist/families/tables/tables-track-f.definitions.js.map +1 -0
- package/dist/families/tables/widgets.d.ts +17 -0
- package/dist/families/tables/widgets.d.ts.map +1 -0
- package/dist/families/tables/widgets.js +132 -0
- package/dist/families/tables/widgets.js.map +1 -0
- package/dist/frame/ChartDirectionBridge.d.ts +6 -0
- package/dist/frame/ChartDirectionBridge.d.ts.map +1 -0
- package/dist/frame/ChartDirectionBridge.js +21 -0
- package/dist/frame/ChartDirectionBridge.js.map +1 -0
- package/dist/frame/SkeletonSilhouette.d.ts +12 -0
- package/dist/frame/SkeletonSilhouette.d.ts.map +1 -0
- package/dist/frame/SkeletonSilhouette.js +6 -0
- package/dist/frame/SkeletonSilhouette.js.map +1 -0
- package/dist/frame/WidgetErrorBoundary.d.ts +26 -0
- package/dist/frame/WidgetErrorBoundary.d.ts.map +1 -0
- package/dist/frame/WidgetErrorBoundary.js +24 -0
- package/dist/frame/WidgetErrorBoundary.js.map +1 -0
- package/dist/frame/WidgetFrame.d.ts +51 -0
- package/dist/frame/WidgetFrame.d.ts.map +1 -0
- package/dist/frame/WidgetFrame.js +33 -0
- package/dist/frame/WidgetFrame.js.map +1 -0
- package/dist/frame/WidgetHost.d.ts +54 -0
- package/dist/frame/WidgetHost.d.ts.map +1 -0
- package/dist/frame/WidgetHost.js +84 -0
- package/dist/frame/WidgetHost.js.map +1 -0
- package/dist/frame/WidgetRuntimeContext.d.ts +58 -0
- package/dist/frame/WidgetRuntimeContext.d.ts.map +1 -0
- package/dist/frame/WidgetRuntimeContext.js +62 -0
- package/dist/frame/WidgetRuntimeContext.js.map +1 -0
- package/dist/generate/crud-body.d.ts +93 -0
- package/dist/generate/crud-body.d.ts.map +1 -0
- package/dist/generate/crud-body.js +323 -0
- package/dist/generate/crud-body.js.map +1 -0
- package/dist/generate/dashboard-domain.d.ts +65 -0
- package/dist/generate/dashboard-domain.d.ts.map +1 -0
- package/dist/generate/dashboard-domain.js +269 -0
- package/dist/generate/dashboard-domain.js.map +1 -0
- package/dist/generate/index.d.ts +51 -0
- package/dist/generate/index.d.ts.map +1 -0
- package/dist/generate/index.js +55 -0
- package/dist/generate/index.js.map +1 -0
- package/dist/grid/DashboardGrid.d.ts +53 -0
- package/dist/grid/DashboardGrid.d.ts.map +1 -0
- package/dist/grid/DashboardGrid.js +278 -0
- package/dist/grid/DashboardGrid.js.map +1 -0
- package/dist/grid/grid-edit.d.ts +95 -0
- package/dist/grid/grid-edit.d.ts.map +1 -0
- package/dist/grid/grid-edit.js +82 -0
- package/dist/grid/grid-edit.js.map +1 -0
- package/dist/grid/index.d.ts +12 -0
- package/dist/grid/index.d.ts.map +1 -0
- package/dist/grid/index.js +12 -0
- package/dist/grid/index.js.map +1 -0
- package/dist/grid/layout-edit.d.ts +114 -0
- package/dist/grid/layout-edit.d.ts.map +1 -0
- package/dist/grid/layout-edit.js +167 -0
- package/dist/grid/layout-edit.js.map +1 -0
- package/dist/grid/layout-math.d.ts +28 -0
- package/dist/grid/layout-math.d.ts.map +1 -0
- package/dist/grid/layout-math.js +45 -0
- package/dist/grid/layout-math.js.map +1 -0
- package/dist/grid/layout-schema.d.ts +31 -0
- package/dist/grid/layout-schema.d.ts.map +1 -0
- package/dist/grid/layout-schema.js +19 -0
- package/dist/grid/layout-schema.js.map +1 -0
- package/dist/index.d.ts +63 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +104 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/format.d.ts +47 -0
- package/dist/lib/format.d.ts.map +1 -0
- package/dist/lib/format.js +95 -0
- package/dist/lib/format.js.map +1 -0
- package/dist/lib/shapes.d.ts +44 -0
- package/dist/lib/shapes.d.ts.map +1 -0
- package/dist/lib/shapes.js +91 -0
- package/dist/lib/shapes.js.map +1 -0
- package/dist/page-config/data-shapes.d.ts +28 -0
- package/dist/page-config/data-shapes.d.ts.map +1 -0
- package/dist/page-config/data-shapes.js +27 -0
- package/dist/page-config/data-shapes.js.map +1 -0
- package/dist/page-config/grid-column-spec.d.ts +135 -0
- package/dist/page-config/grid-column-spec.d.ts.map +1 -0
- package/dist/page-config/grid-column-spec.js +142 -0
- package/dist/page-config/grid-column-spec.js.map +1 -0
- package/dist/page-config/index.d.ts +16 -0
- package/dist/page-config/index.d.ts.map +1 -0
- package/dist/page-config/index.js +16 -0
- package/dist/page-config/index.js.map +1 -0
- package/dist/page-config/layout.d.ts +31 -0
- package/dist/page-config/layout.d.ts.map +1 -0
- package/dist/page-config/layout.js +23 -0
- package/dist/page-config/layout.js.map +1 -0
- package/dist/page-config/query-descriptor.d.ts +154 -0
- package/dist/page-config/query-descriptor.d.ts.map +1 -0
- package/dist/page-config/query-descriptor.js +72 -0
- package/dist/page-config/query-descriptor.js.map +1 -0
- package/dist/registry/WidgetMissingCard.d.ts +18 -0
- package/dist/registry/WidgetMissingCard.d.ts.map +1 -0
- package/dist/registry/WidgetMissingCard.js +14 -0
- package/dist/registry/WidgetMissingCard.js.map +1 -0
- package/dist/registry/archetypes.d.ts +81 -0
- package/dist/registry/archetypes.d.ts.map +1 -0
- package/dist/registry/archetypes.js +374 -0
- package/dist/registry/archetypes.js.map +1 -0
- package/dist/registry/candidates.d.ts +294 -0
- package/dist/registry/candidates.d.ts.map +1 -0
- package/dist/registry/candidates.js +1408 -0
- package/dist/registry/candidates.js.map +1 -0
- package/dist/registry/data-empty.d.ts +10 -0
- package/dist/registry/data-empty.d.ts.map +1 -0
- package/dist/registry/data-empty.js +52 -0
- package/dist/registry/data-empty.js.map +1 -0
- package/dist/registry/index.d.ts +50 -0
- package/dist/registry/index.d.ts.map +1 -0
- package/dist/registry/index.js +198 -0
- package/dist/registry/index.js.map +1 -0
- package/dist/registry/llm-allowlist.d.ts +56 -0
- package/dist/registry/llm-allowlist.d.ts.map +1 -0
- package/dist/registry/llm-allowlist.js +100 -0
- package/dist/registry/llm-allowlist.js.map +1 -0
- package/dist/registry/offline.d.ts +74 -0
- package/dist/registry/offline.d.ts.map +1 -0
- package/dist/registry/offline.js +68 -0
- package/dist/registry/offline.js.map +1 -0
- package/dist/registry/page-templates.d.ts +79 -0
- package/dist/registry/page-templates.d.ts.map +1 -0
- package/dist/registry/page-templates.js +103 -0
- package/dist/registry/page-templates.js.map +1 -0
- package/dist/registry/registered-ids.d.ts +27 -0
- package/dist/registry/registered-ids.d.ts.map +1 -0
- package/dist/registry/registered-ids.js +208 -0
- package/dist/registry/registered-ids.js.map +1 -0
- package/dist/registry/shared-config.d.ts +146 -0
- package/dist/registry/shared-config.d.ts.map +1 -0
- package/dist/registry/shared-config.js +41 -0
- package/dist/registry/shared-config.js.map +1 -0
- package/dist/registry/types.d.ts +94 -0
- package/dist/registry/types.d.ts.map +1 -0
- package/dist/registry/types.js +27 -0
- package/dist/registry/types.js.map +1 -0
- package/dist/registry/widget-missing.d.ts +150 -0
- package/dist/registry/widget-missing.d.ts.map +1 -0
- package/dist/registry/widget-missing.js +28 -0
- package/dist/registry/widget-missing.js.map +1 -0
- package/dist/templates/compose.d.ts +127 -0
- package/dist/templates/compose.d.ts.map +1 -0
- package/dist/templates/compose.js +216 -0
- package/dist/templates/compose.js.map +1 -0
- package/dist/templates/crosscheck.d.ts +68 -0
- package/dist/templates/crosscheck.d.ts.map +1 -0
- package/dist/templates/crosscheck.js +155 -0
- package/dist/templates/crosscheck.js.map +1 -0
- package/dist/templates/index.d.ts +17 -0
- package/dist/templates/index.d.ts.map +1 -0
- package/dist/templates/index.js +17 -0
- package/dist/templates/index.js.map +1 -0
- package/dist/templates/manifests.d.ts +13 -0
- package/dist/templates/manifests.d.ts.map +1 -0
- package/dist/templates/manifests.js +110 -0
- package/dist/templates/manifests.js.map +1 -0
- package/dist/templates/page-board/PageBoard.d.ts +46 -0
- package/dist/templates/page-board/PageBoard.d.ts.map +1 -0
- package/dist/templates/page-board/PageBoard.js +220 -0
- package/dist/templates/page-board/PageBoard.js.map +1 -0
- package/dist/templates/page-board/index.d.ts +6 -0
- package/dist/templates/page-board/index.d.ts.map +1 -0
- package/dist/templates/page-board/index.js +6 -0
- package/dist/templates/page-board/index.js.map +1 -0
- package/dist/templates/page-board.json +12 -0
- package/dist/templates/page-builder/PageBuilder.d.ts +71 -0
- package/dist/templates/page-builder/PageBuilder.d.ts.map +1 -0
- package/dist/templates/page-builder/PageBuilder.js +209 -0
- package/dist/templates/page-builder/PageBuilder.js.map +1 -0
- package/dist/templates/page-builder/builder-config.d.ts +187 -0
- package/dist/templates/page-builder/builder-config.d.ts.map +1 -0
- package/dist/templates/page-builder/builder-config.js +441 -0
- package/dist/templates/page-builder/builder-config.js.map +1 -0
- package/dist/templates/page-builder/index.d.ts +8 -0
- package/dist/templates/page-builder/index.d.ts.map +1 -0
- package/dist/templates/page-builder/index.js +8 -0
- package/dist/templates/page-builder/index.js.map +1 -0
- package/dist/templates/page-builder.json +17 -0
- package/dist/templates/page-calendar/PageCalendar.d.ts +46 -0
- package/dist/templates/page-calendar/PageCalendar.d.ts.map +1 -0
- package/dist/templates/page-calendar/PageCalendar.js +201 -0
- package/dist/templates/page-calendar/PageCalendar.js.map +1 -0
- package/dist/templates/page-calendar/index.d.ts +6 -0
- package/dist/templates/page-calendar/index.d.ts.map +1 -0
- package/dist/templates/page-calendar/index.js +6 -0
- package/dist/templates/page-calendar/index.js.map +1 -0
- package/dist/templates/page-calendar.json +21 -0
- package/dist/templates/page-chat/PageChat.d.ts +69 -0
- package/dist/templates/page-chat/PageChat.d.ts.map +1 -0
- package/dist/templates/page-chat/PageChat.js +128 -0
- package/dist/templates/page-chat/PageChat.js.map +1 -0
- package/dist/templates/page-chat/chat-mapping.d.ts +45 -0
- package/dist/templates/page-chat/chat-mapping.d.ts.map +1 -0
- package/dist/templates/page-chat/chat-mapping.js +120 -0
- package/dist/templates/page-chat/chat-mapping.js.map +1 -0
- package/dist/templates/page-chat/demo-layout.d.ts +11 -0
- package/dist/templates/page-chat/demo-layout.d.ts.map +1 -0
- package/dist/templates/page-chat/demo-layout.js +41 -0
- package/dist/templates/page-chat/demo-layout.js.map +1 -0
- package/dist/templates/page-chat/index.d.ts +9 -0
- package/dist/templates/page-chat/index.d.ts.map +1 -0
- package/dist/templates/page-chat/index.js +9 -0
- package/dist/templates/page-chat/index.js.map +1 -0
- package/dist/templates/page-chat.json +16 -0
- package/dist/templates/page-crud/PageCrud.d.ts +83 -0
- package/dist/templates/page-crud/PageCrud.d.ts.map +1 -0
- package/dist/templates/page-crud/PageCrud.js +327 -0
- package/dist/templates/page-crud/PageCrud.js.map +1 -0
- package/dist/templates/page-crud/RecordDetail.d.ts +24 -0
- package/dist/templates/page-crud/RecordDetail.d.ts.map +1 -0
- package/dist/templates/page-crud/RecordDetail.js +85 -0
- package/dist/templates/page-crud/RecordDetail.js.map +1 -0
- package/dist/templates/page-crud/RecordForm.d.ts +30 -0
- package/dist/templates/page-crud/RecordForm.d.ts.map +1 -0
- package/dist/templates/page-crud/RecordForm.js +131 -0
- package/dist/templates/page-crud/RecordForm.js.map +1 -0
- package/dist/templates/page-crud/crud-api.d.ts +154 -0
- package/dist/templates/page-crud/crud-api.d.ts.map +1 -0
- package/dist/templates/page-crud/crud-api.js +39 -0
- package/dist/templates/page-crud/crud-api.js.map +1 -0
- package/dist/templates/page-crud/field-mapping.d.ts +20 -0
- package/dist/templates/page-crud/field-mapping.d.ts.map +1 -0
- package/dist/templates/page-crud/field-mapping.js +93 -0
- package/dist/templates/page-crud/field-mapping.js.map +1 -0
- package/dist/templates/page-crud/index.d.ts +12 -0
- package/dist/templates/page-crud/index.d.ts.map +1 -0
- package/dist/templates/page-crud/index.js +12 -0
- package/dist/templates/page-crud/index.js.map +1 -0
- package/dist/templates/page-crud.json +23 -0
- package/dist/templates/page-dashboard/PageDashboard.d.ts +30 -0
- package/dist/templates/page-dashboard/PageDashboard.d.ts.map +1 -0
- package/dist/templates/page-dashboard/PageDashboard.js +34 -0
- package/dist/templates/page-dashboard/PageDashboard.js.map +1 -0
- package/dist/templates/page-dashboard/data-adapter.d.ts +38 -0
- package/dist/templates/page-dashboard/data-adapter.d.ts.map +1 -0
- package/dist/templates/page-dashboard/data-adapter.js +119 -0
- package/dist/templates/page-dashboard/data-adapter.js.map +1 -0
- package/dist/templates/page-dashboard/demo-layout.d.ts +15 -0
- package/dist/templates/page-dashboard/demo-layout.d.ts.map +1 -0
- package/dist/templates/page-dashboard/demo-layout.js +121 -0
- package/dist/templates/page-dashboard/demo-layout.js.map +1 -0
- package/dist/templates/page-dashboard.json +20 -0
- package/dist/templates/page-directory/PageDirectory.d.ts +49 -0
- package/dist/templates/page-directory/PageDirectory.d.ts.map +1 -0
- package/dist/templates/page-directory/PageDirectory.js +141 -0
- package/dist/templates/page-directory/PageDirectory.js.map +1 -0
- package/dist/templates/page-directory/index.d.ts +8 -0
- package/dist/templates/page-directory/index.d.ts.map +1 -0
- package/dist/templates/page-directory/index.js +8 -0
- package/dist/templates/page-directory/index.js.map +1 -0
- package/dist/templates/page-directory.json +15 -0
- package/dist/templates/page-files/PageFiles.d.ts +77 -0
- package/dist/templates/page-files/PageFiles.d.ts.map +1 -0
- package/dist/templates/page-files/PageFiles.js +114 -0
- package/dist/templates/page-files/PageFiles.js.map +1 -0
- package/dist/templates/page-files/demo-layout.d.ts +11 -0
- package/dist/templates/page-files/demo-layout.d.ts.map +1 -0
- package/dist/templates/page-files/demo-layout.js +32 -0
- package/dist/templates/page-files/demo-layout.js.map +1 -0
- package/dist/templates/page-files/file-mapping.d.ts +10 -0
- package/dist/templates/page-files/file-mapping.d.ts.map +1 -0
- package/dist/templates/page-files/file-mapping.js +68 -0
- package/dist/templates/page-files/file-mapping.js.map +1 -0
- package/dist/templates/page-files/index.d.ts +9 -0
- package/dist/templates/page-files/index.d.ts.map +1 -0
- package/dist/templates/page-files/index.js +9 -0
- package/dist/templates/page-files/index.js.map +1 -0
- package/dist/templates/page-files.json +16 -0
- package/dist/templates/page-log-viewer/PageLogViewer.d.ts +70 -0
- package/dist/templates/page-log-viewer/PageLogViewer.d.ts.map +1 -0
- package/dist/templates/page-log-viewer/PageLogViewer.js +109 -0
- package/dist/templates/page-log-viewer/PageLogViewer.js.map +1 -0
- package/dist/templates/page-log-viewer/demo-layout.d.ts +11 -0
- package/dist/templates/page-log-viewer/demo-layout.d.ts.map +1 -0
- package/dist/templates/page-log-viewer/demo-layout.js +50 -0
- package/dist/templates/page-log-viewer/demo-layout.js.map +1 -0
- package/dist/templates/page-log-viewer/index.d.ts +10 -0
- package/dist/templates/page-log-viewer/index.d.ts.map +1 -0
- package/dist/templates/page-log-viewer/index.js +10 -0
- package/dist/templates/page-log-viewer/index.js.map +1 -0
- package/dist/templates/page-log-viewer/log-mapping.d.ts +77 -0
- package/dist/templates/page-log-viewer/log-mapping.d.ts.map +1 -0
- package/dist/templates/page-log-viewer/log-mapping.js +159 -0
- package/dist/templates/page-log-viewer/log-mapping.js.map +1 -0
- package/dist/templates/page-log-viewer.json +17 -0
- package/dist/templates/page-master-detail/PageMasterDetail.d.ts +55 -0
- package/dist/templates/page-master-detail/PageMasterDetail.d.ts.map +1 -0
- package/dist/templates/page-master-detail/PageMasterDetail.js +192 -0
- package/dist/templates/page-master-detail/PageMasterDetail.js.map +1 -0
- package/dist/templates/page-master-detail/index.d.ts +8 -0
- package/dist/templates/page-master-detail/index.d.ts.map +1 -0
- package/dist/templates/page-master-detail/index.js +8 -0
- package/dist/templates/page-master-detail/index.js.map +1 -0
- package/dist/templates/page-master-detail.json +14 -0
- package/dist/templates/page-queue-inbox/PageQueueInbox.d.ts +77 -0
- package/dist/templates/page-queue-inbox/PageQueueInbox.d.ts.map +1 -0
- package/dist/templates/page-queue-inbox/PageQueueInbox.js +292 -0
- package/dist/templates/page-queue-inbox/PageQueueInbox.js.map +1 -0
- package/dist/templates/page-queue-inbox/index.d.ts +11 -0
- package/dist/templates/page-queue-inbox/index.d.ts.map +1 -0
- package/dist/templates/page-queue-inbox/index.js +10 -0
- package/dist/templates/page-queue-inbox/index.js.map +1 -0
- package/dist/templates/page-queue-inbox/queue-api.d.ts +22 -0
- package/dist/templates/page-queue-inbox/queue-api.d.ts.map +1 -0
- package/dist/templates/page-queue-inbox/queue-api.js +13 -0
- package/dist/templates/page-queue-inbox/queue-api.js.map +1 -0
- package/dist/templates/page-queue-inbox.json +17 -0
- package/dist/templates/page-scheduler/PageScheduler.d.ts +68 -0
- package/dist/templates/page-scheduler/PageScheduler.d.ts.map +1 -0
- package/dist/templates/page-scheduler/PageScheduler.js +289 -0
- package/dist/templates/page-scheduler/PageScheduler.js.map +1 -0
- package/dist/templates/page-scheduler/ShiftMatrix.d.ts +49 -0
- package/dist/templates/page-scheduler/ShiftMatrix.d.ts.map +1 -0
- package/dist/templates/page-scheduler/ShiftMatrix.js +144 -0
- package/dist/templates/page-scheduler/ShiftMatrix.js.map +1 -0
- package/dist/templates/page-scheduler/index.d.ts +8 -0
- package/dist/templates/page-scheduler/index.d.ts.map +1 -0
- package/dist/templates/page-scheduler/index.js +8 -0
- package/dist/templates/page-scheduler/index.js.map +1 -0
- package/dist/templates/page-scheduler.json +17 -0
- package/dist/templates/page-settings/PageSettings.d.ts +62 -0
- package/dist/templates/page-settings/PageSettings.d.ts.map +1 -0
- package/dist/templates/page-settings/PageSettings.js +0 -0
- package/dist/templates/page-settings/PageSettings.js.map +1 -0
- package/dist/templates/page-settings/index.d.ts +6 -0
- package/dist/templates/page-settings/index.d.ts.map +1 -0
- package/dist/templates/page-settings/index.js +6 -0
- package/dist/templates/page-settings/index.js.map +1 -0
- package/dist/templates/page-settings.json +14 -0
- package/dist/templates/page-wizard/PageWizard.d.ts +28 -0
- package/dist/templates/page-wizard/PageWizard.d.ts.map +1 -0
- package/dist/templates/page-wizard/PageWizard.js +55 -0
- package/dist/templates/page-wizard/PageWizard.js.map +1 -0
- package/dist/templates/page-wizard/index.d.ts +9 -0
- package/dist/templates/page-wizard/index.d.ts.map +1 -0
- package/dist/templates/page-wizard/index.js +9 -0
- package/dist/templates/page-wizard/index.js.map +1 -0
- package/dist/templates/page-wizard.json +19 -0
- package/dist/templates/planning/planning-lib.d.ts +54 -0
- package/dist/templates/planning/planning-lib.d.ts.map +1 -0
- package/dist/templates/planning/planning-lib.js +154 -0
- package/dist/templates/planning/planning-lib.js.map +1 -0
- package/dist/templates/stored-config.d.ts +107 -0
- package/dist/templates/stored-config.d.ts.map +1 -0
- package/dist/templates/stored-config.js +212 -0
- package/dist/templates/stored-config.js.map +1 -0
- package/dist/templates/template-schema.d.ts +215 -0
- package/dist/templates/template-schema.d.ts.map +1 -0
- package/dist/templates/template-schema.js +111 -0
- package/dist/templates/template-schema.js.map +1 -0
- 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":";AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGjC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EACL,UAAU,EACV,QAAQ,EACR,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,eAAe,GAChB,MAAM,eAAe,CAAC;AAKvB,8DAA8D;AAC9D,6EAA6E;AAC7E,gFAAgF;AAChF,0EAA0E;AAC1E,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AA8CvF,MAAM,UAAU,UAAU,CAAC,EACzB,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,UAAU,GAAG,KAAK,EAClB,QAAQ,GAAG,IAAI,EACf,mBAAmB,EACnB,SAAS,EACT,WAAW,GAAG,IAAI,EAClB,WAAW,EACX,eAAe,GAAG,KAAK,EACvB,WAAW,EACX,aAAa,GAAG,IAAI,EACpB,UAAU,EACV,SAAS,EACT,MAAM,EACN,QAAQ,EACR,GAAG,GAAG,eAAe,EACrB,MAAM,EAAE,UAAU,EAClB,GAAG,EACH,MAAM,GACU;IAChB,2EAA2E;IAC3E,8EAA8E;IAC9E,MAAM,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;IACpC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IAEvC,MAAM,MAAM,GAAG,CAAC,KAAgB,EAAQ,EAAE;QACxC,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC1B,IAAI,IAAI,KAAK,EAAE;YAAE,OAAO;QACxB,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;QACf,QAAQ,CAAC,EAAE,CAAC,CAAC;IACf,CAAC,CAAC;IAEF,OAAO,CACL,8BACc,aAAa,iBACZ,MAAM,KACf,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EACtC,SAAS,EAAC,sBAAsB,aAE/B,QAAQ,KAAK,SAAS,IAAI,CACzB,eAAK,SAAS,EAAC,6DAA6D,aAC1E,KAAC,MAAM,IAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAC,IAAI,EAAC,MAAM,EAAE,MAAM,KAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAI,EAC1G,eAAK,SAAS,EAAC,gBAAgB,aAC7B,cAAK,SAAS,EAAC,yCAAyC,YAAE,QAAQ,GAAO,EACxE,UAAU,KAAK,SAAS,IAAI,CAC3B,cAAK,SAAS,EAAE,yBAAyB,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,gBAAgB,EAAE,YAAG,UAAU,GAAO,CAC1G,IACG,IACF,CACP,EAEA,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CACvB,cAAK,SAAS,EAAC,QAAQ,YACrB,KAAC,UAAU,IACT,OAAO,QACP,MAAM,EAAC,SAAS,EAChB,KAAK,EAAE,UAAU,IAAI,iBAAiB,EACtC,IAAI,EAAE,SAAS,IAAI,iDAAiD,GACpE,GACE,CACP,CAAC,CAAC,CAAC,CACF,4BAAe,eAAe,EAAC,SAAS,EAAC,8CAA8C,aACpF,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACrB,4BAA+B,WAAW,cAAW,KAAK,CAAC,GAAG,aAC3D,aAAa,IAAI,CAChB,4BAAe,eAAe,EAAC,SAAS,EAAC,8BAA8B,aACrE,eAAM,SAAS,EAAC,uBAAuB,GAAG,EAC1C,eAAM,SAAS,EAAC,2FAA2F,YACxG,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,GACpC,EACP,eAAM,SAAS,EAAC,uBAAuB,GAAG,IACtC,CACP,EACA,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAC7B,KAAC,MAAM,IAEL,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,WAAW,IAHvB,MAAM,CAAC,EAAE,CAId,CACH,CAAC,KAjBM,KAAK,CAAC,GAAG,CAkBb,CACP,CAAC,EAIF,KAAC,eAAe,IACd,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EACjD,MAAM,EAAE,MAAM,KACV,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,GAC7D,IACE,CACP,EAEA,QAAQ,IAAI,CACX,6BACY,UAAU,EACpB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAC,uDAAuD,aAEhE,WAAW,IAAI,CACd,iBACE,IAAI,EAAC,QAAQ,eACH,eAAe,gBACb,WAAW,IAAI,gBAAgB,EAC3C,OAAO,EAAE,QAAQ,EACjB,SAAS,EAAC,+JAA+J,YAEzK,KAAC,SAAS,IAAC,SAAS,EAAC,QAAQ,iBAAa,MAAM,GAAG,GAC5C,CACV,EACD,KAAC,KAAK,kBACQ,mBAAmB,IAAI,SAAS,EAC5C,WAAW,EAAE,mBAAmB,IAAI,kBAAkB,EACtD,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,GACxD,EACF,iBACE,IAAI,EAAC,QAAQ,eACH,aAAa,gBACX,SAAS,IAAI,MAAM,EAC/B,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAC7B,SAAS,EAAC,mOAAmO,YAG7O,KAAC,IAAI,IAAC,SAAS,EAAC,yBAAyB,iBAAa,MAAM,GAAG,GACxD,IACJ,CACR,IACG,CACP,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,MAAM,CAAC,EACd,MAAM,EACN,MAAM,EACN,eAAe,GAKhB;IACC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;IACvB,OAAO,CACL,4BACY,aAAa,cACb,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,qBACb,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAClD,SAAS,EAAE,wBAAwB,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,eAAe,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,aAEnH,CAAC,GAAG;gBACH,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAClB,KAAC,MAAM,IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE,EAAE,IAAI,EAAC,IAAI,EAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAC,QAAQ,GAAG,CACnF,CAAC,CAAC,CAAC;gBACF,kEAAkE;gBAClE,4BAAgB,eAAe,EAAC,SAAS,EAAC,iBAAiB,iBAAa,MAAM,GAAG,CAClF,CAAC,EACJ,4BACY,gBAAgB,EAC1B,SAAS,EAAE,kEACT,GAAG;oBACD,CAAC,CAAC,wCAAwC;oBAC1C,CAAC,CAAC,uDACN,EAAE,aAED,CAAC,GAAG,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,CAC1D,2BAAe,gBAAgB,EAAC,SAAS,EAAC,6CAA6C,YACpF,MAAM,CAAC,MAAM,GACV,CACP,EACD,YAAG,SAAS,EAAC,iCAAiC,YAAE,MAAM,CAAC,IAAI,GAAK,EAC/D,eAAe,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,CACvF,0BAAc,kBAAkB,EAAC,SAAS,EAAC,6BAA6B,YACrE,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAChC,uBACE,KAAC,cAAc,IAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,GAAI,IADjC,IAAI,CAAC,IAAI,CAEb,CACN,CAAC,GACC,CACN,EACA,MAAM,CAAC,OAAO,IAAI,CACjB,eACE,QAAQ,EAAE,MAAM,CAAC,MAAM,EACvB,KAAK,EAAE,kBAAkB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,eACtC,cAAc,EACxB,SAAS,EAAE,kDACT,GAAG,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,2BACvC,EAAE,YAED,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAC3B,CACR,IACG,IACF,CACP,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,EAAE,IAAI,EAAE,GAAG,EAA0C;IAC3E,OAAO,CACL,MAAC,GAAG,iBACQ,iBAAiB,EAC3B,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAChC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,EAAE,aAEtD,KAAC,SAAS,IAAC,SAAS,EAAC,UAAU,iBAAa,MAAM,GAAG,EACrD,eAAM,SAAS,EAAC,wBAAwB,YAAE,IAAI,CAAC,IAAI,GAAQ,EAC1D,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,eAAM,SAAS,EAAC,mCAAmC,YAAE,IAAI,CAAC,IAAI,GAAQ,IAC9F,CACP,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,IAAa,EAAE,MAAwB;IACzD,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CACzC,aAAa,CAAC,GAAG,EAAE,KAAK,EAAE;QACxB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,GAAG,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;KAC3E,CAAC,CACH,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAiC;IACvF,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACxC,OAAO,CACL,KAAC,UAAU,IACT,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,WAAW,EAAE,MAAM,CAAC,WAAW,EAC/B,eAAe,EAAE,MAAM,CAAC,eAAe,EACvC,aAAa,EAAE,MAAM,CAAC,aAAa,EACnC,UAAU,EAAE,MAAM,CAAC,UAAU,KACzB,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,KACpE,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,KAC1E,CAAC,MAAM,CAAC,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,MAAM,CAAC,mBAAmB,EAAE,CAAC,KACrG,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,KACvE,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,KAC7E,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,KAC1E,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,KACvE,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,KAC7E,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,KACxF,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;QAClE,2EAA2E;QAC3E,8DAA8D;QAC9D,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACf,OAAO,CAAC;gBACN,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,QAAQ;gBAChB,GAAG,CAAC,MAAM,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC;gBACnF,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE;aACrC,CAAC,CAAC;QACL,CAAC,GACD,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -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"}
|