@instructure/platform-block-content-editor 0.3.1 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (380) hide show
  1. package/README.md +187 -0
  2. package/dist/components/MediaPlaceholder/MediaPlaceholder.d.ts.map +1 -1
  3. package/dist/components/RichText/RichText.d.ts +20 -0
  4. package/dist/components/RichText/RichText.d.ts.map +1 -0
  5. package/dist/components/RichText/index.d.ts +2 -0
  6. package/dist/components/RichText/index.d.ts.map +1 -0
  7. package/dist/components/blocks/Accordion/Accordion.d.ts.map +1 -1
  8. package/dist/components/blocks/Accordion/accordionTranslations.d.ts +15 -0
  9. package/dist/components/blocks/Accordion/accordionTranslations.d.ts.map +1 -0
  10. package/dist/components/blocks/Accordion/createAccordionBlock.d.ts +22 -0
  11. package/dist/components/blocks/Accordion/createAccordionBlock.d.ts.map +1 -0
  12. package/dist/components/blocks/Accordion/index.d.ts +2 -0
  13. package/dist/components/blocks/Accordion/index.d.ts.map +1 -1
  14. package/dist/components/blocks/Banner/Banner.d.ts.map +1 -1
  15. package/dist/components/blocks/Banner/bannerPropsSchema.d.ts +0 -2
  16. package/dist/components/blocks/Banner/bannerPropsSchema.d.ts.map +1 -1
  17. package/dist/components/blocks/Banner/bannerTranslations.d.ts +13 -0
  18. package/dist/components/blocks/Banner/bannerTranslations.d.ts.map +1 -0
  19. package/dist/components/blocks/Banner/createBannerBlock.d.ts +14 -0
  20. package/dist/components/blocks/Banner/createBannerBlock.d.ts.map +1 -0
  21. package/dist/components/blocks/Banner/getBannerViewProps.d.ts +2 -3
  22. package/dist/components/blocks/Banner/getBannerViewProps.d.ts.map +1 -1
  23. package/dist/components/blocks/Banner/index.d.ts +2 -0
  24. package/dist/components/blocks/Banner/index.d.ts.map +1 -1
  25. package/dist/components/blocks/CodeBlock/CodeBlock.d.ts.map +1 -1
  26. package/dist/components/blocks/CodeBlock/codeBlockPropsSchema.d.ts +2 -2
  27. package/dist/components/blocks/CodeBlock/codeBlockTranslations.d.ts +11 -0
  28. package/dist/components/blocks/CodeBlock/codeBlockTranslations.d.ts.map +1 -0
  29. package/dist/components/blocks/CodeBlock/createCodeBlock.d.ts +12 -0
  30. package/dist/components/blocks/CodeBlock/createCodeBlock.d.ts.map +1 -0
  31. package/dist/components/blocks/CodeBlock/index.d.ts +2 -0
  32. package/dist/components/blocks/CodeBlock/index.d.ts.map +1 -1
  33. package/dist/components/blocks/FlashCards/FlashCard.d.ts +21 -0
  34. package/dist/components/blocks/FlashCards/FlashCard.d.ts.map +1 -0
  35. package/dist/components/blocks/FlashCards/FlashCards.d.ts +4 -0
  36. package/dist/components/blocks/FlashCards/FlashCards.d.ts.map +1 -0
  37. package/dist/components/blocks/FlashCards/createFlashCardsBlock.d.ts +15 -0
  38. package/dist/components/blocks/FlashCards/createFlashCardsBlock.d.ts.map +1 -0
  39. package/dist/components/blocks/FlashCards/flashCardsPropsSchema.d.ts +60 -0
  40. package/dist/components/blocks/FlashCards/flashCardsPropsSchema.d.ts.map +1 -0
  41. package/dist/components/blocks/FlashCards/flashCardsStyles.d.ts +43 -0
  42. package/dist/components/blocks/FlashCards/flashCardsStyles.d.ts.map +1 -0
  43. package/dist/components/blocks/FlashCards/flashCardsTranslations.d.ts +34 -0
  44. package/dist/components/blocks/FlashCards/flashCardsTranslations.d.ts.map +1 -0
  45. package/dist/components/blocks/FlashCards/getFlashCardsViewProps.d.ts +23 -0
  46. package/dist/components/blocks/FlashCards/getFlashCardsViewProps.d.ts.map +1 -0
  47. package/dist/components/blocks/FlashCards/index.d.ts +5 -0
  48. package/dist/components/blocks/FlashCards/index.d.ts.map +1 -0
  49. package/dist/components/blocks/ImageBlock/ImageBlock.d.ts.map +1 -1
  50. package/dist/components/blocks/ImageBlock/createImageBlock.d.ts +15 -0
  51. package/dist/components/blocks/ImageBlock/createImageBlock.d.ts.map +1 -0
  52. package/dist/components/blocks/ImageBlock/getImageBlockViewProps.d.ts +3 -1
  53. package/dist/components/blocks/ImageBlock/getImageBlockViewProps.d.ts.map +1 -1
  54. package/dist/components/blocks/ImageBlock/imageBlockTranslations.d.ts +15 -0
  55. package/dist/components/blocks/ImageBlock/imageBlockTranslations.d.ts.map +1 -0
  56. package/dist/components/blocks/ImageBlock/index.d.ts +2 -0
  57. package/dist/components/blocks/ImageBlock/index.d.ts.map +1 -1
  58. package/dist/components/blocks/KnowledgeCheck/AnswerCard.d.ts +19 -0
  59. package/dist/components/blocks/KnowledgeCheck/AnswerCard.d.ts.map +1 -0
  60. package/dist/components/blocks/KnowledgeCheck/KnowledgeCheck.d.ts +4 -0
  61. package/dist/components/blocks/KnowledgeCheck/KnowledgeCheck.d.ts.map +1 -0
  62. package/dist/components/blocks/KnowledgeCheck/createKnowledgeCheckBlock.d.ts +18 -0
  63. package/dist/components/blocks/KnowledgeCheck/createKnowledgeCheckBlock.d.ts.map +1 -0
  64. package/dist/components/blocks/KnowledgeCheck/getKnowledgeCheckViewProps.d.ts +34 -0
  65. package/dist/components/blocks/KnowledgeCheck/getKnowledgeCheckViewProps.d.ts.map +1 -0
  66. package/dist/components/blocks/KnowledgeCheck/index.d.ts +5 -0
  67. package/dist/components/blocks/KnowledgeCheck/index.d.ts.map +1 -0
  68. package/dist/components/blocks/KnowledgeCheck/knowledgeCheckPropsSchema.d.ts +87 -0
  69. package/dist/components/blocks/KnowledgeCheck/knowledgeCheckPropsSchema.d.ts.map +1 -0
  70. package/dist/components/blocks/KnowledgeCheck/knowledgeCheckTranslations.d.ts +35 -0
  71. package/dist/components/blocks/KnowledgeCheck/knowledgeCheckTranslations.d.ts.map +1 -0
  72. package/dist/components/blocks/LayoutContainer/LayoutContainer.d.ts +3 -0
  73. package/dist/components/blocks/LayoutContainer/LayoutContainer.d.ts.map +1 -0
  74. package/dist/components/blocks/LayoutContainer/createLayoutContainerBlock.d.ts +22 -0
  75. package/dist/components/blocks/LayoutContainer/createLayoutContainerBlock.d.ts.map +1 -0
  76. package/dist/components/blocks/LayoutContainer/getLayoutContainerViewProps.d.ts +32 -0
  77. package/dist/components/blocks/LayoutContainer/getLayoutContainerViewProps.d.ts.map +1 -0
  78. package/dist/components/blocks/LayoutContainer/index.d.ts +5 -0
  79. package/dist/components/blocks/LayoutContainer/index.d.ts.map +1 -0
  80. package/dist/components/blocks/LayoutContainer/layoutContainerPropsSchema.d.ts +118 -0
  81. package/dist/components/blocks/LayoutContainer/layoutContainerPropsSchema.d.ts.map +1 -0
  82. package/dist/components/blocks/MixAndMatch/MatchCard.d.ts +21 -0
  83. package/dist/components/blocks/MixAndMatch/MatchCard.d.ts.map +1 -0
  84. package/dist/components/blocks/MixAndMatch/MixAndMatch.d.ts +4 -0
  85. package/dist/components/blocks/MixAndMatch/MixAndMatch.d.ts.map +1 -0
  86. package/dist/components/blocks/MixAndMatch/createMixAndMatchBlock.d.ts +15 -0
  87. package/dist/components/blocks/MixAndMatch/createMixAndMatchBlock.d.ts.map +1 -0
  88. package/dist/components/blocks/MixAndMatch/getMixAndMatchViewProps.d.ts +43 -0
  89. package/dist/components/blocks/MixAndMatch/getMixAndMatchViewProps.d.ts.map +1 -0
  90. package/dist/components/blocks/MixAndMatch/index.d.ts +5 -0
  91. package/dist/components/blocks/MixAndMatch/index.d.ts.map +1 -0
  92. package/dist/components/blocks/MixAndMatch/mixAndMatchPropsSchema.d.ts +74 -0
  93. package/dist/components/blocks/MixAndMatch/mixAndMatchPropsSchema.d.ts.map +1 -0
  94. package/dist/components/blocks/MixAndMatch/mixAndMatchStyles.d.ts +21 -0
  95. package/dist/components/blocks/MixAndMatch/mixAndMatchStyles.d.ts.map +1 -0
  96. package/dist/components/blocks/MixAndMatch/mixAndMatchTranslations.d.ts +37 -0
  97. package/dist/components/blocks/MixAndMatch/mixAndMatchTranslations.d.ts.map +1 -0
  98. package/dist/components/blocks/Quote/Quote.d.ts.map +1 -1
  99. package/dist/components/blocks/Quote/createQuoteBlock.d.ts +12 -0
  100. package/dist/components/blocks/Quote/createQuoteBlock.d.ts.map +1 -0
  101. package/dist/components/blocks/Quote/index.d.ts +2 -0
  102. package/dist/components/blocks/Quote/index.d.ts.map +1 -1
  103. package/dist/components/blocks/Quote/quoteTranslations.d.ts +13 -0
  104. package/dist/components/blocks/Quote/quoteTranslations.d.ts.map +1 -0
  105. package/dist/components/blocks/TabsBlock/TabsBlock.d.ts +4 -0
  106. package/dist/components/blocks/TabsBlock/TabsBlock.d.ts.map +1 -0
  107. package/dist/components/blocks/TabsBlock/createTabsBlock.d.ts +25 -0
  108. package/dist/components/blocks/TabsBlock/createTabsBlock.d.ts.map +1 -0
  109. package/dist/components/blocks/TabsBlock/getTabsBlockViewProps.d.ts +55 -0
  110. package/dist/components/blocks/TabsBlock/getTabsBlockViewProps.d.ts.map +1 -0
  111. package/dist/components/blocks/TabsBlock/index.d.ts +6 -0
  112. package/dist/components/blocks/TabsBlock/index.d.ts.map +1 -0
  113. package/dist/components/blocks/TabsBlock/tabsBlockPropsSchema.d.ts +127 -0
  114. package/dist/components/blocks/TabsBlock/tabsBlockPropsSchema.d.ts.map +1 -0
  115. package/dist/components/blocks/TabsBlock/tabsBlockTranslations.d.ts +13 -0
  116. package/dist/components/blocks/TabsBlock/tabsBlockTranslations.d.ts.map +1 -0
  117. package/dist/components/blocks/TabsBlock/useRovingTabIndex.d.ts +20 -0
  118. package/dist/components/blocks/TabsBlock/useRovingTabIndex.d.ts.map +1 -0
  119. package/dist/components/blocks/Text/Text.d.ts.map +1 -1
  120. package/dist/components/blocks/Text/createTextBlock.d.ts +12 -0
  121. package/dist/components/blocks/Text/createTextBlock.d.ts.map +1 -0
  122. package/dist/components/blocks/Text/index.d.ts +2 -0
  123. package/dist/components/blocks/Text/index.d.ts.map +1 -1
  124. package/dist/components/blocks/Text/textPropsSchema.d.ts +3 -3
  125. package/dist/components/blocks/Text/textTranslations.d.ts +11 -0
  126. package/dist/components/blocks/Text/textTranslations.d.ts.map +1 -0
  127. package/dist/components/blocks/TwoColumn/TwoColumn.d.ts +3 -0
  128. package/dist/components/blocks/TwoColumn/TwoColumn.d.ts.map +1 -0
  129. package/dist/components/blocks/TwoColumn/createTwoColumnBlock.d.ts +14 -0
  130. package/dist/components/blocks/TwoColumn/createTwoColumnBlock.d.ts.map +1 -0
  131. package/dist/components/blocks/TwoColumn/getTwoColumnViewProps.d.ts +17 -0
  132. package/dist/components/blocks/TwoColumn/getTwoColumnViewProps.d.ts.map +1 -0
  133. package/dist/components/blocks/TwoColumn/index.d.ts +5 -0
  134. package/dist/components/blocks/TwoColumn/index.d.ts.map +1 -0
  135. package/dist/components/blocks/TwoColumn/twoColumnPropsSchema.d.ts +60 -0
  136. package/dist/components/blocks/TwoColumn/twoColumnPropsSchema.d.ts.map +1 -0
  137. package/dist/components/blocks/TwoColumn/twoColumnStyles.d.ts +13 -0
  138. package/dist/components/blocks/TwoColumn/twoColumnStyles.d.ts.map +1 -0
  139. package/dist/components/blocks/VideoBlock/VideoBlock.d.ts.map +1 -1
  140. package/dist/components/blocks/VideoBlock/createVideoBlock.d.ts +15 -0
  141. package/dist/components/blocks/VideoBlock/createVideoBlock.d.ts.map +1 -0
  142. package/dist/components/blocks/VideoBlock/index.d.ts +3 -1
  143. package/dist/components/blocks/VideoBlock/index.d.ts.map +1 -1
  144. package/dist/components/blocks/VideoBlock/videoBlockTranslations.d.ts +23 -0
  145. package/dist/components/blocks/VideoBlock/videoBlockTranslations.d.ts.map +1 -0
  146. package/dist/components/blocks/WidgetBlock/WidgetBlock.d.ts +8 -0
  147. package/dist/components/blocks/WidgetBlock/WidgetBlock.d.ts.map +1 -0
  148. package/dist/components/blocks/WidgetBlock/WidgetErrorBoundary.d.ts +36 -0
  149. package/dist/components/blocks/WidgetBlock/WidgetErrorBoundary.d.ts.map +1 -0
  150. package/dist/components/blocks/WidgetBlock/createWidgetBlock.d.ts +14 -0
  151. package/dist/components/blocks/WidgetBlock/createWidgetBlock.d.ts.map +1 -0
  152. package/dist/components/blocks/WidgetBlock/index.d.ts +5 -0
  153. package/dist/components/blocks/WidgetBlock/index.d.ts.map +1 -0
  154. package/dist/components/blocks/WidgetBlock/widgetBlockPropsSchema.d.ts +26 -0
  155. package/dist/components/blocks/WidgetBlock/widgetBlockPropsSchema.d.ts.map +1 -0
  156. package/dist/components/blocks/WidgetBlock/widgetBlockTranslations.d.ts +18 -0
  157. package/dist/components/blocks/WidgetBlock/widgetBlockTranslations.d.ts.map +1 -0
  158. package/dist/components/blocks/commonSchemas.d.ts +13 -0
  159. package/dist/components/blocks/commonSchemas.d.ts.map +1 -1
  160. package/dist/components/blocks/commonViewProps.d.ts +23 -1
  161. package/dist/components/blocks/commonViewProps.d.ts.map +1 -1
  162. package/dist/components/blocks/richTextTableStyles.d.ts +10 -0
  163. package/dist/components/blocks/richTextTableStyles.d.ts.map +1 -0
  164. package/dist/contexts/AIActionContext.d.ts +38 -0
  165. package/dist/contexts/AIActionContext.d.ts.map +1 -0
  166. package/dist/contexts/BlockEditorApiContext.d.ts +139 -4
  167. package/dist/contexts/BlockEditorApiContext.d.ts.map +1 -1
  168. package/dist/contexts/BlockTranslationsContext.d.ts +47 -0
  169. package/dist/contexts/BlockTranslationsContext.d.ts.map +1 -0
  170. package/dist/contexts/RichTextEditorContext.d.ts +28 -0
  171. package/dist/contexts/RichTextEditorContext.d.ts.map +1 -0
  172. package/dist/contexts/RichTextRendererContext.d.ts +21 -0
  173. package/dist/contexts/RichTextRendererContext.d.ts.map +1 -0
  174. package/dist/editor/BlockContentEditor.d.ts +40 -0
  175. package/dist/editor/BlockContentEditor.d.ts.map +1 -0
  176. package/dist/editor/ai/BlockAIMenu.d.ts +17 -0
  177. package/dist/editor/ai/BlockAIMenu.d.ts.map +1 -0
  178. package/dist/editor/ai/BlockAIMenuContent.d.ts +17 -0
  179. package/dist/editor/ai/BlockAIMenuContent.d.ts.map +1 -0
  180. package/dist/editor/ai/PreviewBlockModal.d.ts +29 -0
  181. package/dist/editor/ai/PreviewBlockModal.d.ts.map +1 -0
  182. package/dist/editor/ai/aiMenuStyles.d.ts +23 -0
  183. package/dist/editor/ai/aiMenuStyles.d.ts.map +1 -0
  184. package/dist/editor/ai/aiTranslations.d.ts +79 -0
  185. package/dist/editor/ai/aiTranslations.d.ts.map +1 -0
  186. package/dist/editor/ai/aiTypes.d.ts +13 -0
  187. package/dist/editor/ai/aiTypes.d.ts.map +1 -0
  188. package/dist/editor/ai/constants.d.ts +8 -0
  189. package/dist/editor/ai/constants.d.ts.map +1 -0
  190. package/dist/editor/ai/index.d.ts +7 -0
  191. package/dist/editor/ai/index.d.ts.map +1 -0
  192. package/dist/editor/ai/useBlockAIPopover.d.ts +30 -0
  193. package/dist/editor/ai/useBlockAIPopover.d.ts.map +1 -0
  194. package/dist/editor/ai/useGenerateAltText.d.ts +11 -0
  195. package/dist/editor/ai/useGenerateAltText.d.ts.map +1 -0
  196. package/dist/editor/canvas/DesignerArea.d.ts +38 -0
  197. package/dist/editor/canvas/DesignerArea.d.ts.map +1 -0
  198. package/dist/editor/canvas/DesignerCanvas.d.ts +35 -0
  199. package/dist/editor/canvas/DesignerCanvas.d.ts.map +1 -0
  200. package/dist/editor/canvas/DropGridOverlay.d.ts +24 -0
  201. package/dist/editor/canvas/DropGridOverlay.d.ts.map +1 -0
  202. package/dist/editor/canvas/GridDndContext.d.ts +11 -0
  203. package/dist/editor/canvas/GridDndContext.d.ts.map +1 -0
  204. package/dist/editor/canvas/GridDndProvider.d.ts +17 -0
  205. package/dist/editor/canvas/GridDndProvider.d.ts.map +1 -0
  206. package/dist/editor/canvas/GridItemChild.d.ts +44 -0
  207. package/dist/editor/canvas/GridItemChild.d.ts.map +1 -0
  208. package/dist/editor/canvas/GridItemContainer.d.ts +49 -0
  209. package/dist/editor/canvas/GridItemContainer.d.ts.map +1 -0
  210. package/dist/editor/canvas/GridViewer.d.ts +114 -0
  211. package/dist/editor/canvas/GridViewer.d.ts.map +1 -0
  212. package/dist/editor/canvas/TwoColumnDesigner.d.ts +34 -0
  213. package/dist/editor/canvas/TwoColumnDesigner.d.ts.map +1 -0
  214. package/dist/editor/canvas/canvasStyles.d.ts +36 -0
  215. package/dist/editor/canvas/canvasStyles.d.ts.map +1 -0
  216. package/dist/editor/canvas/canvasTranslations.d.ts +64 -0
  217. package/dist/editor/canvas/canvasTranslations.d.ts.map +1 -0
  218. package/dist/editor/canvas/index.d.ts +5 -0
  219. package/dist/editor/canvas/index.d.ts.map +1 -0
  220. package/dist/editor/document/constants.d.ts +23 -0
  221. package/dist/editor/document/constants.d.ts.map +1 -0
  222. package/dist/editor/document/designerItemAction.d.ts +16 -0
  223. package/dist/editor/document/designerItemAction.d.ts.map +1 -0
  224. package/dist/editor/document/utils.d.ts +172 -0
  225. package/dist/editor/document/utils.d.ts.map +1 -0
  226. package/dist/editor/document/utils.test.d.ts +2 -0
  227. package/dist/editor/document/utils.test.d.ts.map +1 -0
  228. package/dist/editor/history/types.d.ts +25 -0
  229. package/dist/editor/history/types.d.ts.map +1 -0
  230. package/dist/editor/history/undoRedoManager.d.ts +3 -0
  231. package/dist/editor/history/undoRedoManager.d.ts.map +1 -0
  232. package/dist/editor/history/undoRedoManager.test.d.ts +2 -0
  233. package/dist/editor/history/undoRedoManager.test.d.ts.map +1 -0
  234. package/dist/editor/history/useUndoRedo.d.ts +11 -0
  235. package/dist/editor/history/useUndoRedo.d.ts.map +1 -0
  236. package/dist/editor/history/useUndoRedo.test.d.ts +2 -0
  237. package/dist/editor/history/useUndoRedo.test.d.ts.map +1 -0
  238. package/dist/editor/index.d.ts +16 -0
  239. package/dist/editor/index.d.ts.map +1 -0
  240. package/dist/editor/preview/PreviewArea.d.ts +31 -0
  241. package/dist/editor/preview/PreviewArea.d.ts.map +1 -0
  242. package/dist/editor/preview/constants.d.ts +9 -0
  243. package/dist/editor/preview/constants.d.ts.map +1 -0
  244. package/dist/editor/preview/index.d.ts +4 -0
  245. package/dist/editor/preview/index.d.ts.map +1 -0
  246. package/dist/editor/preview/previewStyles.d.ts +20 -0
  247. package/dist/editor/preview/previewStyles.d.ts.map +1 -0
  248. package/dist/editor/preview/previewTranslations.d.ts +18 -0
  249. package/dist/editor/preview/previewTranslations.d.ts.map +1 -0
  250. package/dist/editor/sidebar/DesignerNav.d.ts +28 -0
  251. package/dist/editor/sidebar/DesignerNav.d.ts.map +1 -0
  252. package/dist/editor/sidebar/form/ComponentEditorForm.d.ts +12 -0
  253. package/dist/editor/sidebar/form/ComponentEditorForm.d.ts.map +1 -0
  254. package/dist/editor/sidebar/form/FormFieldWrapper.d.ts +13 -0
  255. package/dist/editor/sidebar/form/FormFieldWrapper.d.ts.map +1 -0
  256. package/dist/editor/sidebar/form/fieldRendererUtils.d.ts +24 -0
  257. package/dist/editor/sidebar/form/fieldRendererUtils.d.ts.map +1 -0
  258. package/dist/editor/sidebar/form/fieldRenderers.d.ts +6 -0
  259. package/dist/editor/sidebar/form/fieldRenderers.d.ts.map +1 -0
  260. package/dist/editor/sidebar/form/formTranslations.d.ts +92 -0
  261. package/dist/editor/sidebar/form/formTranslations.d.ts.map +1 -0
  262. package/dist/editor/sidebar/form/formUtils.d.ts +7 -0
  263. package/dist/editor/sidebar/form/formUtils.d.ts.map +1 -0
  264. package/dist/editor/sidebar/form/index.d.ts +7 -0
  265. package/dist/editor/sidebar/form/index.d.ts.map +1 -0
  266. package/dist/editor/sidebar/form/knowledgeCheckEditor.d.ts +10 -0
  267. package/dist/editor/sidebar/form/knowledgeCheckEditor.d.ts.map +1 -0
  268. package/dist/editor/sidebar/form/renderers/AltTextFieldRenderer.d.ts +4 -0
  269. package/dist/editor/sidebar/form/renderers/AltTextFieldRenderer.d.ts.map +1 -0
  270. package/dist/editor/sidebar/form/renderers/AnswerArrayFieldRenderer.d.ts +4 -0
  271. package/dist/editor/sidebar/form/renderers/AnswerArrayFieldRenderer.d.ts.map +1 -0
  272. package/dist/editor/sidebar/form/renderers/ObjectArrayFieldRenderer.d.ts +4 -0
  273. package/dist/editor/sidebar/form/renderers/ObjectArrayFieldRenderer.d.ts.map +1 -0
  274. package/dist/editor/sidebar/form/uploaders/FileUploader.d.ts +24 -0
  275. package/dist/editor/sidebar/form/uploaders/FileUploader.d.ts.map +1 -0
  276. package/dist/editor/sidebar/form/uploaders/ImageUploader.d.ts +8 -0
  277. package/dist/editor/sidebar/form/uploaders/ImageUploader.d.ts.map +1 -0
  278. package/dist/editor/sidebar/form/uploaders/VideoUploader.d.ts +8 -0
  279. package/dist/editor/sidebar/form/uploaders/VideoUploader.d.ts.map +1 -0
  280. package/dist/editor/sidebar/panel/DesignerSideBar.d.ts +18 -0
  281. package/dist/editor/sidebar/panel/DesignerSideBar.d.ts.map +1 -0
  282. package/dist/editor/sidebar/panel/MobileToolOverlay.d.ts +13 -0
  283. package/dist/editor/sidebar/panel/MobileToolOverlay.d.ts.map +1 -0
  284. package/dist/editor/sidebar/panel/MobileToolbar.d.ts +10 -0
  285. package/dist/editor/sidebar/panel/MobileToolbar.d.ts.map +1 -0
  286. package/dist/editor/sidebar/panel/ToolBody.d.ts +11 -0
  287. package/dist/editor/sidebar/panel/ToolBody.d.ts.map +1 -0
  288. package/dist/editor/sidebar/panel/ToolContentContainer.d.ts +27 -0
  289. package/dist/editor/sidebar/panel/ToolContentContainer.d.ts.map +1 -0
  290. package/dist/editor/sidebar/panel/ToolHeader.d.ts +24 -0
  291. package/dist/editor/sidebar/panel/ToolHeader.d.ts.map +1 -0
  292. package/dist/editor/sidebar/panel/ToolHeaderActionsContext.d.ts +8 -0
  293. package/dist/editor/sidebar/panel/ToolHeaderActionsContext.d.ts.map +1 -0
  294. package/dist/editor/sidebar/panel/ToolIconButtons.d.ts +19 -0
  295. package/dist/editor/sidebar/panel/ToolIconButtons.d.ts.map +1 -0
  296. package/dist/editor/sidebar/panel/ToolWrapper.d.ts +16 -0
  297. package/dist/editor/sidebar/panel/ToolWrapper.d.ts.map +1 -0
  298. package/dist/editor/sidebar/panel/constants.d.ts +23 -0
  299. package/dist/editor/sidebar/panel/constants.d.ts.map +1 -0
  300. package/dist/editor/sidebar/panel/index.d.ts +5 -0
  301. package/dist/editor/sidebar/panel/index.d.ts.map +1 -0
  302. package/dist/editor/sidebar/panel/panelStyles.d.ts +29 -0
  303. package/dist/editor/sidebar/panel/panelStyles.d.ts.map +1 -0
  304. package/dist/editor/sidebar/panel/types.d.ts +80 -0
  305. package/dist/editor/sidebar/panel/types.d.ts.map +1 -0
  306. package/dist/editor/sidebar/panel/useFocusReturn.d.ts +8 -0
  307. package/dist/editor/sidebar/panel/useFocusReturn.d.ts.map +1 -0
  308. package/dist/editor/sidebar/sidebarTranslations.d.ts +53 -0
  309. package/dist/editor/sidebar/sidebarTranslations.d.ts.map +1 -0
  310. package/dist/editor/sidebar/tray/BlockTray.d.ts +30 -0
  311. package/dist/editor/sidebar/tray/BlockTray.d.ts.map +1 -0
  312. package/dist/editor/sidebar/tray/ComponentsTray.d.ts +4 -0
  313. package/dist/editor/sidebar/tray/ComponentsTray.d.ts.map +1 -0
  314. package/dist/editor/sidebar/tray/InteractiveTray.d.ts +4 -0
  315. package/dist/editor/sidebar/tray/InteractiveTray.d.ts.map +1 -0
  316. package/dist/editor/sidebar/tray/LayoutTray.d.ts +4 -0
  317. package/dist/editor/sidebar/tray/LayoutTray.d.ts.map +1 -0
  318. package/dist/editor/sidebar/tray/SharedTrayComponents.d.ts +64 -0
  319. package/dist/editor/sidebar/tray/SharedTrayComponents.d.ts.map +1 -0
  320. package/dist/editor/sidebar/tray/TemplatesPanel.d.ts +4 -0
  321. package/dist/editor/sidebar/tray/TemplatesPanel.d.ts.map +1 -0
  322. package/dist/editor/sidebar/tray/TrayDragLayer.d.ts +14 -0
  323. package/dist/editor/sidebar/tray/TrayDragLayer.d.ts.map +1 -0
  324. package/dist/editor/sidebar/tray/blockDefinitions.d.ts +11 -0
  325. package/dist/editor/sidebar/tray/blockDefinitions.d.ts.map +1 -0
  326. package/dist/editor/sidebar/tray/index.d.ts +9 -0
  327. package/dist/editor/sidebar/tray/index.d.ts.map +1 -0
  328. package/dist/editor/sidebar/tray/trayStyles.d.ts +20 -0
  329. package/dist/editor/sidebar/tray/trayStyles.d.ts.map +1 -0
  330. package/dist/editor/sidebar/useDesignerSelectionFocus.d.ts +51 -0
  331. package/dist/editor/sidebar/useDesignerSelectionFocus.d.ts.map +1 -0
  332. package/dist/editor/state/applyTemplatePatch.d.ts +46 -0
  333. package/dist/editor/state/applyTemplatePatch.d.ts.map +1 -0
  334. package/dist/editor/state/applyTemplatePatch.test.d.ts +2 -0
  335. package/dist/editor/state/applyTemplatePatch.test.d.ts.map +1 -0
  336. package/dist/editor/state/useBlockEditorState.d.ts +57 -0
  337. package/dist/editor/state/useBlockEditorState.d.ts.map +1 -0
  338. package/dist/editor/state/useBlockEditorState.test.d.ts +2 -0
  339. package/dist/editor/state/useBlockEditorState.test.d.ts.map +1 -0
  340. package/dist/editor/validation/templateDataValidator.d.ts +48 -0
  341. package/dist/editor/validation/templateDataValidator.d.ts.map +1 -0
  342. package/dist/editor/validation/templateDataValidator.test.d.ts +2 -0
  343. package/dist/editor/validation/templateDataValidator.test.d.ts.map +1 -0
  344. package/dist/index.d.ts +16 -2
  345. package/dist/index.d.ts.map +1 -1
  346. package/dist/index.js +15561 -767
  347. package/dist/registry/blockCatalogue.d.ts +108 -0
  348. package/dist/registry/blockCatalogue.d.ts.map +1 -0
  349. package/dist/registry/blockRegistry.d.ts +75 -0
  350. package/dist/registry/blockRegistry.d.ts.map +1 -0
  351. package/dist/registry/defineBlock.d.ts +60 -0
  352. package/dist/registry/defineBlock.d.ts.map +1 -0
  353. package/dist/registry/getMergedProps.d.ts +18 -0
  354. package/dist/registry/getMergedProps.d.ts.map +1 -0
  355. package/dist/registry/index.d.ts +7 -0
  356. package/dist/registry/index.d.ts.map +1 -0
  357. package/dist/registry/registryTypes.test.d.ts +1 -0
  358. package/dist/registry/registryTypes.test.d.ts.map +1 -0
  359. package/dist/registry/resolveBlockEntry.d.ts +16 -0
  360. package/dist/registry/resolveBlockEntry.d.ts.map +1 -0
  361. package/dist/registry/templateTypes.d.ts +61 -0
  362. package/dist/registry/templateTypes.d.ts.map +1 -0
  363. package/dist/schema/index.d.ts +1 -1
  364. package/dist/schema/index.d.ts.map +1 -1
  365. package/dist/schema/zodExtensions.d.ts +17 -0
  366. package/dist/schema/zodExtensions.d.ts.map +1 -1
  367. package/dist/utils/shuffleCards.d.ts +6 -0
  368. package/dist/utils/shuffleCards.d.ts.map +1 -0
  369. package/dist/utils/useMediaQuery.d.ts +7 -0
  370. package/dist/utils/useMediaQuery.d.ts.map +1 -0
  371. package/dist/utils/useMotionEnabled.d.ts +11 -0
  372. package/dist/utils/useMotionEnabled.d.ts.map +1 -0
  373. package/dist/viewer/Viewer.d.ts +27 -0
  374. package/dist/viewer/Viewer.d.ts.map +1 -0
  375. package/dist/viewer/index.d.ts +2 -0
  376. package/dist/viewer/index.d.ts.map +1 -0
  377. package/locales/en.json +169 -1
  378. package/package.json +72 -24
  379. package/dist/contexts/TranslationsContext.d.ts +0 -70
  380. package/dist/contexts/TranslationsContext.d.ts.map +0 -1
package/README.md ADDED
@@ -0,0 +1,187 @@
1
+ # @instructure/platform-block-content-editor
2
+
3
+ Host-agnostic **block content editor** for the Canvas activity builder: the blocks, their schemas,
4
+ the read path that renders a saved document, and the write path that authors one — all on native
5
+ InstUI, with every Canvas coupling behind an injectable seam. Owned by **foundation**.
6
+
7
+ This package ships **building blocks for rebuilding the editor, not a finished app.** There is one
8
+ convenient composition (`BlockContentEditor`), but everything it does is reproducible from the
9
+ exposed primitives, so a host can arrange the pieces however it needs (a tray or the preview in a
10
+ modal, a custom toolbar, its own layout).
11
+
12
+ > Deep design notes and invariants live in [`CLAUDE.md`](./CLAUDE.md); the block-authoring
13
+ > conventions in the `bce-block-authoring` skill; architecture decisions in the repo's `docs/adr/`.
14
+ > See [Documentation](#documentation) below.
15
+
16
+ ## Install
17
+
18
+ ```sh
19
+ pnpm add @instructure/platform-block-content-editor
20
+ ```
21
+
22
+ InstUI, React, and `zod` are **peer dependencies** — the host provides its single shared copy of
23
+ each (see the `peerDependencies` in `package.json`).
24
+
25
+ The package is **ESM-only** (`"type": "module"`, one `.` export plus `./locales/en.json`). Styles are
26
+ emotion runtime-injected — there is **no `./styles` import**. There is also **no `PlatformUiProvider`**:
27
+ BCE is host-agnostic through its own set of seam contexts (see [Seams](#seams--everything-canvas-specific-is-injected)),
28
+ not a single umbrella provider. A minimal host can render `Viewer` / `BlockContentEditor` with just
29
+ React, InstUI theming, and a composed registry.
30
+
31
+ ## The registry (both paths need it)
32
+
33
+ There is deliberately **no default registry**: which blocks a document may contain is the host's
34
+ decision. Compose one from the shipped block factories — the keys are the **wire format** stored in
35
+ documents (`Header` → Banner, `QuoteBlock` → Quote, …):
36
+
37
+ ```tsx
38
+ import { defineRegistry, createBannerBlock, createTextBlock } from '@instructure/platform-block-content-editor'
39
+
40
+ const registry = defineRegistry({
41
+ Header: createBannerBlock({ label: t('Banner'), translations: {/* … */} }),
42
+ Text: createTextBlock({ label: t('Rich content editor'), translations: {/* … */} }),
43
+ // …the blocks this host offers, plus any host-owned blocks
44
+ })
45
+ ```
46
+
47
+ Compose with `defineRegistry(…)`; never annotate `: BlockRegistry` (it widens the type and silently
48
+ collapses every derived type — see CLAUDE.md).
49
+
50
+ ## Read path — render a saved document
51
+
52
+ ```tsx
53
+ import { Viewer } from '@instructure/platform-block-content-editor'
54
+
55
+ <Viewer templateLayout={layout} templateData={data} componentRegistry={registry} />
56
+ ```
57
+
58
+ `Viewer` emits no wrapper and takes no `theme`; host-specific typography belongs on the host's
59
+ container. Unresolved blocks are reported via `onUnresolvedBlock`, never dropped or mutated.
60
+
61
+ ## Write path — author a document
62
+
63
+ The **host owns the state engine** (so it owns save, undo/redo, dirty-tracking, and DB↔package
64
+ conversion). Call `useBlockEditorState` and hand the result to the editor:
65
+
66
+ ```tsx
67
+ import { useBlockEditorState, BlockContentEditor } from '@instructure/platform-block-content-editor'
68
+
69
+ function Builder() {
70
+ const engine = useBlockEditorState({ initialData, initialLayout, registry, onDirty })
71
+
72
+ return (
73
+ <BlockContentEditor
74
+ engine={engine}
75
+ registry={registry}
76
+ tools={[widgetTray, aiAssistantTool]} // host-tool slot (optional)
77
+ />
78
+ )
79
+ }
80
+ ```
81
+
82
+ `BlockContentEditor` composes the tool-panel sidebar over the drag-and-drop canvas: it builds the
83
+ registry-driven insertion trays, hoists a single DnD context so blocks can be **dragged** from a
84
+ tray onto the canvas, coordinates canvas↔panel selection focus, and routes a selected block to its
85
+ settings form. It is **authoring-only** — see Preview below.
86
+
87
+ ### Or compose the primitives yourself
88
+
89
+ Every arrangement above is reproducible. Wrap your own layout in one `GridDndProvider` and drop a
90
+ bare `DesignerCanvas` and the trays inside it (so tray drag reaches the canvas), or use the
91
+ standalone `DesignerArea` (which self-wraps its own provider) when you don't need a shared context:
92
+
93
+ ```tsx
94
+ import { GridDndProvider, DesignerCanvas, ComponentsTray, DesignerNavProvider } from '@instructure/platform-block-content-editor'
95
+
96
+ <GridDndProvider {...dndProps}>
97
+ <DesignerNavProvider><ComponentsTray registry={registry} onAddComponent={engine.addComponent} /></DesignerNavProvider>
98
+ <DesignerCanvas canvasRef={canvasRef} {...canvasProps} />
99
+ </GridDndProvider>
100
+ ```
101
+
102
+ Also public: `DesignerSideBar` (the tool-panel chrome), `ComponentEditorForm` (the settings form),
103
+ `useDesignerNav` (the sidebar's view-navigation hook), `useDesignerSelectionFocus`, and the
104
+ block-level AI (`BlockAIMenu`, `useGenerateAltText`).
105
+
106
+ ## Preview — the host presents it
107
+
108
+ `PreviewArea` is a framed student preview over the read-path `Viewer` with a Desktop/Mobile switch.
109
+ The package ships **no modal**: how the preview is presented (modal, drawer, fullscreen, inline) is
110
+ the host's choice.
111
+
112
+ ```tsx
113
+ import { PreviewArea } from '@instructure/platform-block-content-editor'
114
+
115
+ <Modal open={previewing} onDismiss={…}>
116
+ <PreviewArea templateLayout={engine.templateLayout} templateData={engine.templateData} componentRegistry={registry} />
117
+ </Modal>
118
+ ```
119
+
120
+ ## Seams — everything Canvas-specific is injected
121
+
122
+ Blocks and the editor read only from context; the host provides the implementations:
123
+
124
+ | Context | What the host injects |
125
+ | --- | --- |
126
+ | `BrandColorContext` | the brand color (hex/`rgb()`), or `undefined` |
127
+ | `BlockTranslationsProvider` | resolved strings per block + designer chrome (bundled English is the fallback) |
128
+ | `RichTextRendererContext` | a renderer for RCE-authored HTML (read path); unset → sanitized fallback |
129
+ | `RichTextEditorContext` | the RCE editor component (write path); unset → plain `TextArea` |
130
+ | `AIActionContext` | the AI executor; **presence enables** the block-level AI, unset → hidden |
131
+ | `BlockEditorApiProvider` | host data hooks — image/video/widget URLs and the settings-form file upload/delete |
132
+
133
+ Each is host-agnostic: the host closes over Canvas course/plugin/file config **inside** its own
134
+ hook/component; the package only ever passes opaque ids and reads back resolved values.
135
+
136
+ ### Wiring it up
137
+
138
+ The canonical nesting a host provides (the order proven by the `consumer/index.tsx` reintegration
139
+ fixture) — supply only the seams you use; each has a safe default:
140
+
141
+ ```tsx
142
+ <BrandColorContext.Provider value={brandColor}>
143
+ <DesignerModeContext.Provider value={false}>
144
+ <BlockEditorApiProvider value={hostDataHooks}> {/* image/video/widget + upload hooks */}
145
+ <RichTextRendererContext.Provider value={renderHtml}>
146
+ <RichTextEditorContext.Provider value={HostRceEditor}>
147
+ <AIActionContext.Provider value={executeAiToolUse}> {/* presence enables block-level AI */}
148
+ <BlockTranslationsProvider value={resolvedStrings}>
149
+ {/* <Viewer />, <BlockContentEditor />, <PreviewArea /> … */}
150
+ </BlockTranslationsProvider>
151
+ </AIActionContext.Provider>
152
+ </RichTextEditorContext.Provider>
153
+ </RichTextRendererContext.Provider>
154
+ </BlockEditorApiProvider>
155
+ </DesignerModeContext.Provider>
156
+ </BrandColorContext.Provider>
157
+ ```
158
+
159
+ ## Reintegration gate
160
+
161
+ The public surface is the contract a host compiles against. `pnpm check:consumer` builds `dist/` and
162
+ type-checks the `consumer/` fixture against it, catching any exported inferred type that can't be
163
+ named across the `exports` map (TS2742) — which the package's own `type-check` never sees. Add
164
+ newly-exported symbols to `consumer/index.tsx`.
165
+
166
+ ## Development
167
+
168
+ ```sh
169
+ pnpm --filter @instructure/platform-block-content-editor test # vitest run
170
+ pnpm --filter @instructure/platform-block-content-editor type-check # tsc -p tsconfig.check.json
171
+ pnpm --filter @instructure/platform-block-content-editor build # vite build (+ .d.ts emit)
172
+ pnpm --filter @instructure/platform-block-content-editor check:consumer # the reintegration gate
173
+ pnpm storybook # 21 stories: every block + the editor
174
+ ```
175
+
176
+ Cross-package types resolve through built `dist/`, so run `pnpm build` once after a clone/pull
177
+ before `type-check`/`test` (see the gotchas in `CLAUDE.md`). Storybook needs Node ≥ 22.12.
178
+
179
+ ## Documentation
180
+
181
+ - **This README** — how to consume the package.
182
+ - **`CLAUDE.md`** — what is true in `src/` right now: the read/write paths, the seams, the
183
+ non-negotiable invariants, and the build gotchas.
184
+ - **`bce-block-authoring` skill** (`.claude/skills/`) — the conventions for creating or modifying a
185
+ block (styling, accessibility, the schema toolkit, per-block translations), loaded on demand.
186
+ - **`docs/adr/`** (repo root) — architecture decision records; append-only.
187
+ - **In-file comments** — reasoning local to one file, especially the block barrels and `src/schema/`.
@@ -1 +1 @@
1
- {"version":3,"file":"MediaPlaceholder.d.ts","sourceRoot":"","sources":["../../../src/components/MediaPlaceholder/MediaPlaceholder.tsx"],"names":[],"mappings":"AAoBA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAG3C,KAAK,SAAS,GAAG,cAAc,CAAC,OAAO,IAAI,CAAC,CAAA;AAE5C,MAAM,MAAM,uBAAuB,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,YAAY,CAAA;AAElF,MAAM,WAAW,qBAAqB;IACpC;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ,qEAAqE;IACrE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,uBAAuB,CAAA;IACjC,yEAAyE;IACzE,YAAY,CAAC,EAAE,SAAS,CAAC,cAAc,CAAC,CAAA;CACzC;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,IAAI,EACJ,QAAQ,EACR,OAAiB,EACjB,YAAuB,GACxB,EAAE,qBAAqB,2CAsCvB"}
1
+ {"version":3,"file":"MediaPlaceholder.d.ts","sourceRoot":"","sources":["../../../src/components/MediaPlaceholder/MediaPlaceholder.tsx"],"names":[],"mappings":"AAoBA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAG3C,KAAK,SAAS,GAAG,cAAc,CAAC,OAAO,IAAI,CAAC,CAAA;AAE5C,MAAM,MAAM,uBAAuB,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,YAAY,CAAA;AAElF,MAAM,WAAW,qBAAqB;IACpC;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ,qEAAqE;IACrE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,uBAAuB,CAAA;IACjC,yEAAyE;IACzE,YAAY,CAAC,EAAE,SAAS,CAAC,cAAc,CAAC,CAAA;CACzC;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,IAAI,EACJ,QAAQ,EACR,OAAiB,EACjB,YAAuB,GACxB,EAAE,qBAAqB,2CA2CvB"}
@@ -0,0 +1,20 @@
1
+ interface RichTextProps {
2
+ html: string;
3
+ className?: string;
4
+ }
5
+ /**
6
+ * Renders RCE-authored rich text for the content blocks (Text, Accordion,
7
+ * TabsBlock). When the host injects a renderer via `RichTextRendererContext`,
8
+ * that renderer is handed the **raw** html and owns sanitization; otherwise the
9
+ * html is sanitized here and set with `dangerouslySetInnerHTML`.
10
+ *
11
+ * The fallback sanitize is memoized on `html`: `sanitizeHtml` returns a fresh
12
+ * `TrustedHTML` per call, and React compares `__html` by identity, so
13
+ * re-sanitizing every render would re-set `innerHTML` and destroy whatever the
14
+ * author had focused or selected inside the content. Keyed on the content string
15
+ * (compared by value), so a host that rebuilds its props every render still hits
16
+ * the cache. Gated on `render` so the injected path skips the DOMPurify parse.
17
+ */
18
+ export declare function RichText({ html, className }: RichTextProps): import("react/jsx-runtime").JSX.Element;
19
+ export {};
20
+ //# sourceMappingURL=RichText.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RichText.d.ts","sourceRoot":"","sources":["../../../src/components/RichText/RichText.tsx"],"names":[],"mappings":"AAsBA,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,QAAQ,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,aAAa,2CAkB1D"}
@@ -0,0 +1,2 @@
1
+ export { RichText } from './RichText';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/RichText/index.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Accordion.d.ts","sourceRoot":"","sources":["../../../../src/components/blocks/Accordion/Accordion.tsx"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAe5D,gGAAgG;AAChG,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,OAAc,EACd,cAAc,EACd,KAAU,EACV,cAA0B,EAC1B,UAAoB,EACpB,UAAwB,EACxB,WAAuB,EACvB,iBAA0B,EAC1B,iBAA0B,EAC1B,aAAa,GACd,EAAE,cAAc,2CAsLhB"}
1
+ {"version":3,"file":"Accordion.d.ts","sourceRoot":"","sources":["../../../../src/components/blocks/Accordion/Accordion.tsx"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAe5D,gGAAgG;AAChG,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,OAAc,EACd,cAAc,EACd,KAAU,EACV,cAA0B,EAC1B,UAAoB,EACpB,UAAwB,EACxB,WAAuB,EACvB,iBAA0B,EAC1B,iBAA0B,EAC1B,aAAa,GACd,EAAE,cAAc,2CAwKhB"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Strings owned by the Accordion block. The host supplies these when it registers the
3
+ * block; anything it omits falls back to the English below.
4
+ */
5
+ export interface AccordionTranslations {
6
+ /** Placeholder shown in the designer when an Accordion has no sections at all. */
7
+ accordionPlaceholder: string;
8
+ /** Placeholder title for an empty Accordion section; interpolates `%{index}` via `translate`. */
9
+ accordionItemPlaceholderTitle: string;
10
+ /** Placeholder body shown in the designer when an Accordion section has no content. */
11
+ accordionItemPlaceholderContent: string;
12
+ }
13
+ /** English bundled with this package — also the source for `locales/en.json`. */
14
+ export declare const AccordionEnglish: AccordionTranslations;
15
+ //# sourceMappingURL=accordionTranslations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accordionTranslations.d.ts","sourceRoot":"","sources":["../../../../src/components/blocks/Accordion/accordionTranslations.ts"],"names":[],"mappings":"AAkBA;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,kFAAkF;IAClF,oBAAoB,EAAE,MAAM,CAAA;IAC5B,iGAAiG;IACjG,6BAA6B,EAAE,MAAM,CAAA;IACrC,uFAAuF;IACvF,+BAA+B,EAAE,MAAM,CAAA;CACxC;AAED,iFAAiF;AACjF,eAAO,MAAM,gBAAgB,EAAE,qBAI9B,CAAA"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Registry entry factory for Accordion, registered under the wire name `Accordion` — that string is
3
+ * what stored documents contain, and renaming it orphans them. It owns strings, so the host supplies its
4
+ * `AccordionTranslations` here; anything omitted falls back to bundled English.
5
+ */
6
+ export declare const createAccordionBlock: (options: import('../../..').BlockFactoryOptions<import('./accordionTranslations').AccordionTranslations>) => import('../../..').BlockRegistryEntry<{
7
+ items: {
8
+ id: string;
9
+ title: string;
10
+ content: string;
11
+ }[];
12
+ title?: string | undefined;
13
+ variant?: "h2" | "h3" | "h4" | undefined;
14
+ supportingText?: string | undefined;
15
+ accordionStyle?: "outline" | "solid" | undefined;
16
+ colorTheme?: "light" | "dark" | "neutral" | undefined;
17
+ connection?: "connected" | "separated" | undefined;
18
+ cornerStyle?: "rounded" | "square" | undefined;
19
+ dropdownPlacement?: "left" | "right" | undefined;
20
+ dropdownDirection?: "center" | "down" | undefined;
21
+ }>;
22
+ //# sourceMappingURL=createAccordionBlock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createAccordionBlock.d.ts","sourceRoot":"","sources":["../../../../src/components/blocks/Accordion/createAccordionBlock.ts"],"names":[],"mappings":"AAuBA;;;;GAIG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;EAM/B,CAAA"}
@@ -1,4 +1,6 @@
1
1
  export { Accordion } from './Accordion';
2
2
  export { RegisteredAccordionPropsSchema, AccordionDefaultProps } from './accordionPropsSchema';
3
3
  export type { AccordionProps } from './accordionPropsSchema';
4
+ export { createAccordionBlock } from './createAccordionBlock';
5
+ export { AccordionEnglish, type AccordionTranslations } from './accordionTranslations';
4
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/blocks/Accordion/index.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,8BAA8B,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAO9F,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/blocks/Accordion/index.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,8BAA8B,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAO9F,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAG5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,MAAM,yBAAyB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Banner.d.ts","sourceRoot":"","sources":["../../../../src/components/blocks/Banner/Banner.tsx"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAGtD,mGAAmG;AACnG,wBAAgB,MAAM,CAAC,EACrB,KAAK,EACL,OAAO,EACP,QAAQ,EACR,OAAO,EACP,WAAoB,EACpB,WAAuB,GACxB,EAAE,WAAW,2CA0Cb"}
1
+ {"version":3,"file":"Banner.d.ts","sourceRoot":"","sources":["../../../../src/components/blocks/Banner/Banner.tsx"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAGtD,mGAAmG;AACnG,wBAAgB,MAAM,CAAC,EACrB,KAAK,EACL,OAAO,EACP,QAAQ,EACR,OAAO,EACP,WAAoB,EACpB,WAAuB,GACxB,EAAE,WAAW,2CA0Cb"}
@@ -1,5 +1,4 @@
1
1
  import { z } from 'zod';
2
- export declare const BannerStyleSchema: z.ZodEnum<["none", "light", "dark"]>;
3
2
  export declare const BannerPropsSchema: z.ZodObject<{
4
3
  title: z.ZodString;
5
4
  variant: z.ZodDefault<z.ZodEnum<["h2", "h3", "h4"]>>;
@@ -23,7 +22,6 @@ export declare const BannerPropsSchema: z.ZodObject<{
23
22
  headerStyle?: "light" | "dark" | "none" | undefined;
24
23
  }>;
25
24
  export type BannerProps = z.infer<typeof BannerPropsSchema>;
26
- export type BannerStyle = z.infer<typeof BannerStyleSchema>;
27
25
  export declare const BannerDefaultProps: BannerProps;
28
26
  export declare const RegisteredBannerPropsSchema: import('../../..').RegisteredComponentSchema<{
29
27
  title: string;
@@ -1 +1 @@
1
- {"version":3,"file":"bannerPropsSchema.d.ts","sourceRoot":"","sources":["../../../../src/components/blocks/Banner/bannerPropsSchema.ts"],"names":[],"mappings":"AAmBA,OAAO,+BAA+B,CAAA;AACtC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,eAAO,MAAM,iBAAiB,sCAAoC,CAAA;AAElE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;EAyC5B,CAAA;AAEF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAC3D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAE3D,eAAO,MAAM,kBAAkB,EAAE,WAKhC,CAAA;AAED,eAAO,MAAM,2BAA2B;;;;;;;EAAuD,CAAA"}
1
+ {"version":3,"file":"bannerPropsSchema.d.ts","sourceRoot":"","sources":["../../../../src/components/blocks/Banner/bannerPropsSchema.ts"],"names":[],"mappings":"AAmBA,OAAO,+BAA+B,CAAA;AACtC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AASvB,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;EAyC5B,CAAA;AAEF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAE3D,eAAO,MAAM,kBAAkB,EAAE,WAKhC,CAAA;AAED,eAAO,MAAM,2BAA2B;;;;;;;EAAuD,CAAA"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Strings owned by the Banner block. The host supplies these when it registers the
3
+ * block; anything it omits falls back to the English below.
4
+ */
5
+ export interface BannerTranslations {
6
+ /** Placeholder heading shown in the designer when a Banner block is empty. */
7
+ bannerPlaceholderTitle: string;
8
+ /** Placeholder eyebrow shown in the designer when a Banner block is empty. */
9
+ bannerPlaceholderSubtitle: string;
10
+ }
11
+ /** English bundled with this package — also the source for `locales/en.json`. */
12
+ export declare const BannerEnglish: BannerTranslations;
13
+ //# sourceMappingURL=bannerTranslations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bannerTranslations.d.ts","sourceRoot":"","sources":["../../../../src/components/blocks/Banner/bannerTranslations.ts"],"names":[],"mappings":"AAkBA;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,8EAA8E;IAC9E,sBAAsB,EAAE,MAAM,CAAA;IAC9B,8EAA8E;IAC9E,yBAAyB,EAAE,MAAM,CAAA;CAClC;AAED,iFAAiF;AACjF,eAAO,MAAM,aAAa,EAAE,kBAG3B,CAAA"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Registry entry factory for Banner, registered under the wire name `Header` — that string is
3
+ * what stored documents contain, and renaming it orphans them. It owns strings, so the host supplies its
4
+ * `BannerTranslations` here; anything omitted falls back to bundled English.
5
+ */
6
+ export declare const createBannerBlock: (options: import('../../..').BlockFactoryOptions<import('./bannerTranslations').BannerTranslations>) => import('../../..').BlockRegistryEntry<{
7
+ title: string;
8
+ variant: "h2" | "h3" | "h4";
9
+ content?: string | undefined;
10
+ cornerStyle?: "rounded" | "square" | undefined;
11
+ subtitle?: string | undefined;
12
+ headerStyle?: "light" | "dark" | "none" | undefined;
13
+ }>;
14
+ //# sourceMappingURL=createBannerBlock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createBannerBlock.d.ts","sourceRoot":"","sources":["../../../../src/components/blocks/Banner/createBannerBlock.ts"],"names":[],"mappings":"AAuBA;;;;GAIG;AACH,eAAO,MAAM,iBAAiB;;;;;;;EAM5B,CAAA"}
@@ -1,5 +1,4 @@
1
1
  import { BlockRenderProps } from '../brandTheming';
2
- import { CornerStyle } from '../commonSchemas';
3
- import { BannerStyle } from './bannerPropsSchema';
4
- export declare function getBannerViewProps(headerStyle: BannerStyle, cornerStyle: CornerStyle, brandColor?: string): BlockRenderProps;
2
+ import { CornerStyle, HeaderStyle } from '../commonSchemas';
3
+ export declare function getBannerViewProps(headerStyle: HeaderStyle, cornerStyle: CornerStyle, brandColor?: string): BlockRenderProps;
5
4
  //# sourceMappingURL=getBannerViewProps.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getBannerViewProps.d.ts","sourceRoot":"","sources":["../../../../src/components/blocks/Banner/getBannerViewProps.ts"],"names":[],"mappings":"AAkBA,OAAO,EACL,KAAK,gBAAgB,EAMtB,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAetD,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,EACxB,UAAU,CAAC,EAAE,MAAM,GAClB,gBAAgB,CAelB"}
1
+ {"version":3,"file":"getBannerViewProps.d.ts","sourceRoot":"","sources":["../../../../src/components/blocks/Banner/getBannerViewProps.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,KAAK,gBAAgB,EAAiB,MAAM,iBAAiB,CAAA;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAKhE,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,EACxB,UAAU,CAAC,EAAE,MAAM,GAClB,gBAAgB,CAKlB"}
@@ -1,3 +1,5 @@
1
1
  export { Banner } from './Banner';
2
2
  export { RegisteredBannerPropsSchema, BannerDefaultProps } from './bannerPropsSchema';
3
+ export { createBannerBlock } from './createBannerBlock';
4
+ export { BannerEnglish, type BannerTranslations } from './bannerTranslations';
3
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/blocks/Banner/index.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/blocks/Banner/index.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAGrF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"CodeBlock.d.ts","sourceRoot":"","sources":["../../../../src/components/blocks/CodeBlock/CodeBlock.tsx"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAG5D,2FAA2F;AAC3F,wBAAgB,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAuB,EAAE,EAAE,cAAc,2CAkC5F"}
1
+ {"version":3,"file":"CodeBlock.d.ts","sourceRoot":"","sources":["../../../../src/components/blocks/CodeBlock/CodeBlock.tsx"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAG5D,2FAA2F;AAC3F,wBAAgB,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAuB,EAAE,EAAE,cAAc,2CAkC5F"}
@@ -7,7 +7,7 @@ export declare const CodeBlockPropsSchema: z.ZodObject<{
7
7
  cornerStyle: z.ZodOptional<z.ZodDefault<z.ZodEnum<["rounded", "square"]>>>;
8
8
  }, "strip", z.ZodTypeAny, {
9
9
  code: string;
10
- language: "text" | "html" | "javascript" | "json" | "css" | "bash" | "yaml";
10
+ language: "html" | "text" | "javascript" | "json" | "css" | "bash" | "yaml";
11
11
  cornerStyle?: "rounded" | "square" | undefined;
12
12
  header?: string | undefined;
13
13
  }, {
@@ -21,7 +21,7 @@ export type CodeLanguage = z.infer<typeof CodeLanguageSchema>;
21
21
  export declare const CodeBlockDefaultProps: CodeBlockProps;
22
22
  export declare const RegisteredCodeBlockPropsSchema: import('../../..').RegisteredComponentSchema<{
23
23
  code: string;
24
- language: "text" | "html" | "javascript" | "json" | "css" | "bash" | "yaml";
24
+ language: "html" | "text" | "javascript" | "json" | "css" | "bash" | "yaml";
25
25
  cornerStyle?: "rounded" | "square" | undefined;
26
26
  header?: string | undefined;
27
27
  }>;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Strings owned by the CodeBlock block. The host supplies these when it registers the
3
+ * block; anything it omits falls back to the English below.
4
+ */
5
+ export interface CodeBlockTranslations {
6
+ /** Placeholder code shown in the designer when a CodeBlock has no content. */
7
+ codeBlockPlaceholder: string;
8
+ }
9
+ /** English bundled with this package — also the source for `locales/en.json`. */
10
+ export declare const CodeBlockEnglish: CodeBlockTranslations;
11
+ //# sourceMappingURL=codeBlockTranslations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codeBlockTranslations.d.ts","sourceRoot":"","sources":["../../../../src/components/blocks/CodeBlock/codeBlockTranslations.ts"],"names":[],"mappings":"AAkBA;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,8EAA8E;IAC9E,oBAAoB,EAAE,MAAM,CAAA;CAC7B;AAED,iFAAiF;AACjF,eAAO,MAAM,gBAAgB,EAAE,qBAE9B,CAAA"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Registry entry factory for CodeBlock, registered under the wire name `CodeBlock` — that string is
3
+ * what stored documents contain, and renaming it orphans them. It owns strings, so the host supplies its
4
+ * `CodeBlockTranslations` here; anything omitted falls back to bundled English.
5
+ */
6
+ export declare const createCodeBlock: (options: import('../../..').BlockFactoryOptions<import('./codeBlockTranslations').CodeBlockTranslations>) => import('../../..').BlockRegistryEntry<{
7
+ code: string;
8
+ language: "html" | "text" | "javascript" | "json" | "css" | "bash" | "yaml";
9
+ cornerStyle?: "rounded" | "square" | undefined;
10
+ header?: string | undefined;
11
+ }>;
12
+ //# sourceMappingURL=createCodeBlock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createCodeBlock.d.ts","sourceRoot":"","sources":["../../../../src/components/blocks/CodeBlock/createCodeBlock.ts"],"names":[],"mappings":"AAuBA;;;;GAIG;AACH,eAAO,MAAM,eAAe;;;;;EAM1B,CAAA"}
@@ -1,3 +1,5 @@
1
1
  export { CodeBlock } from './CodeBlock';
2
2
  export { RegisteredCodeBlockPropsSchema, CodeBlockDefaultProps } from './codeBlockPropsSchema';
3
+ export { createCodeBlock } from './createCodeBlock';
4
+ export { CodeBlockEnglish, type CodeBlockTranslations } from './codeBlockTranslations';
3
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/blocks/CodeBlock/index.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,8BAA8B,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/blocks/CodeBlock/index.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,8BAA8B,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAG9F,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,MAAM,yBAAyB,CAAA"}
@@ -0,0 +1,21 @@
1
+ import { Ref } from 'react';
2
+ import { FlashCardFaceProps } from './getFlashCardsViewProps';
3
+ export interface FlashCardProps {
4
+ front?: string;
5
+ back?: string;
6
+ isFlipped: boolean;
7
+ /** Omitted for a card that isn't `interactive`, which cannot be activated to flip. */
8
+ onFlip?: () => void;
9
+ face: FlashCardFaceProps;
10
+ /**
11
+ * False renders the card disabled. The card being navigated away from is drawn one
12
+ * last time while it slides out, and must not be a tab stop or a focusable descendant
13
+ * of its `aria-hidden` layer.
14
+ */
15
+ interactive?: boolean;
16
+ /** Lets the deck hand focus to the card when an arrow button disables itself. */
17
+ buttonRef?: Ref<HTMLButtonElement>;
18
+ }
19
+ /** One flippable card: activating it rotates the question face away to reveal the answer. */
20
+ export declare function FlashCard({ front, back, isFlipped, onFlip, face, interactive, buttonRef, }: FlashCardProps): import("react/jsx-runtime").JSX.Element;
21
+ //# sourceMappingURL=FlashCard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FlashCard.d.ts","sourceRoot":"","sources":["../../../../src/components/blocks/FlashCards/FlashCard.tsx"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAKhC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AA+ClE,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,OAAO,CAAA;IAClB,sFAAsF;IACtF,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB,IAAI,EAAE,kBAAkB,CAAA;IACxB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,iFAAiF;IACjF,SAAS,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAA;CACnC;AAED,6FAA6F;AAC7F,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,IAAI,EACJ,SAAS,EACT,MAAM,EACN,IAAI,EACJ,WAAkB,EAClB,SAAS,GACV,EAAE,cAAc,2CAqChB"}
@@ -0,0 +1,4 @@
1
+ import { FlashCardsProps } from './flashCardsPropsSchema';
2
+ /** A deck of flippable cards, shown one at a time with previous/next navigation. */
3
+ export declare function FlashCards({ cards, randomize, colorTheme, cornerStyle, }: FlashCardsProps): import("react/jsx-runtime").JSX.Element | null;
4
+ //# sourceMappingURL=FlashCards.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FlashCards.d.ts","sourceRoot":"","sources":["../../../../src/components/blocks/FlashCards/FlashCards.tsx"],"names":[],"mappings":"AAgCA,OAAO,KAAK,EAAiB,eAAe,EAAE,MAAM,yBAAyB,CAAA;AA4C7E,oFAAoF;AACpF,wBAAgB,UAAU,CAAC,EACzB,KAAU,EACV,SAAiB,EACjB,UAAoB,EACpB,WAAuB,GACxB,EAAE,eAAe,kDA4QjB"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Registry entry factory for FlashCards, registered under the wire name `FlashCards` — that string is
3
+ * what stored documents contain, and renaming it orphans them. It owns strings, so the host supplies its
4
+ * `FlashCardsTranslations` here; anything omitted falls back to bundled English.
5
+ */
6
+ export declare const createFlashCardsBlock: (options: import('../../..').BlockFactoryOptions<import('./flashCardsTranslations').FlashCardsTranslations>) => import('../../..').BlockRegistryEntry<{
7
+ cards: {
8
+ front: string;
9
+ back: string;
10
+ }[];
11
+ colorTheme?: "light" | "dark" | "neutral" | undefined;
12
+ cornerStyle?: "rounded" | "square" | undefined;
13
+ randomize?: boolean | undefined;
14
+ }>;
15
+ //# sourceMappingURL=createFlashCardsBlock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createFlashCardsBlock.d.ts","sourceRoot":"","sources":["../../../../src/components/blocks/FlashCards/createFlashCardsBlock.ts"],"names":[],"mappings":"AAuBA;;;;GAIG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;EAMhC,CAAA"}
@@ -0,0 +1,60 @@
1
+ import { z } from 'zod';
2
+ export declare const FlashCardItemSchema: z.ZodObject<{
3
+ front: z.ZodString;
4
+ back: z.ZodString;
5
+ }, "strip", z.ZodTypeAny, {
6
+ front: string;
7
+ back: string;
8
+ }, {
9
+ front: string;
10
+ back: string;
11
+ }>;
12
+ export declare const FlashCardsPropsSchema: z.ZodObject<{
13
+ cards: z.ZodDefault<z.ZodArray<z.ZodObject<{
14
+ front: z.ZodString;
15
+ back: z.ZodString;
16
+ }, "strip", z.ZodTypeAny, {
17
+ front: string;
18
+ back: string;
19
+ }, {
20
+ front: string;
21
+ back: string;
22
+ }>, "many">>;
23
+ randomize: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
24
+ colorTheme: z.ZodOptional<z.ZodDefault<z.ZodEnum<["light", "dark", "neutral"]>>>;
25
+ cornerStyle: z.ZodOptional<z.ZodDefault<z.ZodEnum<["rounded", "square"]>>>;
26
+ }, "strip", z.ZodTypeAny, {
27
+ cards: {
28
+ front: string;
29
+ back: string;
30
+ }[];
31
+ colorTheme?: "light" | "dark" | "neutral" | undefined;
32
+ cornerStyle?: "rounded" | "square" | undefined;
33
+ randomize?: boolean | undefined;
34
+ }, {
35
+ colorTheme?: "light" | "dark" | "neutral" | undefined;
36
+ cornerStyle?: "rounded" | "square" | undefined;
37
+ cards?: {
38
+ front: string;
39
+ back: string;
40
+ }[] | undefined;
41
+ randomize?: boolean | undefined;
42
+ }>;
43
+ export type FlashCardsProps = z.infer<typeof FlashCardsPropsSchema>;
44
+ export type FlashCardItem = z.infer<typeof FlashCardItemSchema>;
45
+ /**
46
+ * Holds a reference value, so — like `AccordionDefaultProps` — a host inserting a block
47
+ * by shallow-spreading these hands every deck the *same* `cards` array and card objects.
48
+ * Frozen below so an in-place edit throws instead of reaching into every other new deck.
49
+ */
50
+ export declare const FlashCardsDefaultProps: FlashCardsProps;
51
+ export declare const RegisteredFlashCardsPropsSchema: import('../../..').RegisteredComponentSchema<{
52
+ cards: {
53
+ front: string;
54
+ back: string;
55
+ }[];
56
+ colorTheme?: "light" | "dark" | "neutral" | undefined;
57
+ cornerStyle?: "rounded" | "square" | undefined;
58
+ randomize?: boolean | undefined;
59
+ }>;
60
+ //# sourceMappingURL=flashCardsPropsSchema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flashCardsPropsSchema.d.ts","sourceRoot":"","sources":["../../../../src/components/blocks/FlashCards/flashCardsPropsSchema.ts"],"names":[],"mappings":"AAmBA,OAAO,+BAA+B,CAAA;AACtC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAWvB,eAAO,MAAM,mBAAmB;;;;;;;;;EAI9B,CAAA;AAEF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6BhC,CAAA;AAEF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AACnE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAE/D;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,EAAE,eASpC,CAAA;AAQD,eAAO,MAAM,+BAA+B;;;;;;;;EAG3C,CAAA"}
@@ -0,0 +1,43 @@
1
+ /** Exported so the deck can clear a finished exit layer even if `animationend` never fires. */
2
+ export declare const SLIDE_DURATION_MS = 450;
3
+ /** Which way the deck moved; `none` is the first card, which simply appears. */
4
+ export type SlideDirection = 'next' | 'prev' | 'none';
5
+ export declare const CARD_CLASS: {
6
+ /** The deck itself, and the ancestor every rule below can rely on. */
7
+ readonly root: "bce-block-flashcards";
8
+ /** Set on the deck when motion is switched off; see `useMotionEnabled`. */
9
+ readonly motionOff: "bce-flashcards-no-motion";
10
+ readonly viewport: "bce-flashcards-viewport";
11
+ readonly layer: "bce-flashcards-layer";
12
+ readonly flip: "bce-flashcards-flip";
13
+ readonly inner: "bce-flashcards-inner";
14
+ readonly flipped: "bce-flashcards-flipped";
15
+ readonly face: "bce-flashcards-face";
16
+ readonly faceBack: "bce-flashcards-face-back";
17
+ readonly faceText: "bce-flashcards-face-text";
18
+ /** Carries the live region's text, which has nothing to show a sighted reader. */
19
+ readonly srOnly: "bce-flashcards-sr-only";
20
+ };
21
+ declare const SLIDE_CLASS: {
22
+ readonly enter: {
23
+ readonly next: "bce-flashcards-enter-next";
24
+ readonly prev: "bce-flashcards-enter-prev";
25
+ readonly none: "";
26
+ };
27
+ readonly exit: {
28
+ readonly next: "bce-flashcards-exit-next";
29
+ readonly prev: "bce-flashcards-exit-prev";
30
+ readonly none: "";
31
+ };
32
+ };
33
+ /** Classes for one card layer. The first card has no direction and simply appears. */
34
+ export declare function layerClass(phase: keyof typeof SLIDE_CLASS, direction: SlideDirection): string;
35
+ /**
36
+ * Injects the deck's CSS. Every `Global` keeps a stylesheet of its own, so two decks on a
37
+ * page insert two copies of these rules — identical, and cheap next to the flip they
38
+ * describe, but the reason this is rendered by the block rather than hoisted is that a
39
+ * page with no deck should pay nothing at all.
40
+ */
41
+ export declare function FlashCardsStyles(): import("react/jsx-runtime").JSX.Element;
42
+ export {};
43
+ //# sourceMappingURL=flashCardsStyles.d.ts.map