@instructure/platform-block-content-editor 1.0.0 → 2.0.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 (195) hide show
  1. package/README.md +199 -0
  2. package/dist/components/blocks/LayoutContainer/LayoutContainer.d.ts.map +1 -1
  3. package/dist/contexts/AIActionContext.d.ts +38 -0
  4. package/dist/contexts/AIActionContext.d.ts.map +1 -0
  5. package/dist/contexts/BlockEditorApiContext.d.ts +78 -0
  6. package/dist/contexts/BlockEditorApiContext.d.ts.map +1 -1
  7. package/dist/contexts/RichTextEditorContext.d.ts +28 -0
  8. package/dist/contexts/RichTextEditorContext.d.ts.map +1 -0
  9. package/dist/editor/BlockContentEditor.d.ts +43 -0
  10. package/dist/editor/BlockContentEditor.d.ts.map +1 -0
  11. package/dist/editor/ai/BlockAIMenu.d.ts +17 -0
  12. package/dist/editor/ai/BlockAIMenu.d.ts.map +1 -0
  13. package/dist/editor/ai/BlockAIMenuContent.d.ts +17 -0
  14. package/dist/editor/ai/BlockAIMenuContent.d.ts.map +1 -0
  15. package/dist/editor/ai/PreviewBlockModal.d.ts +29 -0
  16. package/dist/editor/ai/PreviewBlockModal.d.ts.map +1 -0
  17. package/dist/editor/ai/aiMenuStyles.d.ts +23 -0
  18. package/dist/editor/ai/aiMenuStyles.d.ts.map +1 -0
  19. package/dist/editor/ai/aiTranslations.d.ts +79 -0
  20. package/dist/editor/ai/aiTranslations.d.ts.map +1 -0
  21. package/dist/editor/ai/aiTypes.d.ts +13 -0
  22. package/dist/editor/ai/aiTypes.d.ts.map +1 -0
  23. package/dist/editor/ai/constants.d.ts +8 -0
  24. package/dist/editor/ai/constants.d.ts.map +1 -0
  25. package/dist/editor/ai/index.d.ts +7 -0
  26. package/dist/editor/ai/index.d.ts.map +1 -0
  27. package/dist/editor/ai/useBlockAIPopover.d.ts +30 -0
  28. package/dist/editor/ai/useBlockAIPopover.d.ts.map +1 -0
  29. package/dist/editor/ai/useGenerateAltText.d.ts +11 -0
  30. package/dist/editor/ai/useGenerateAltText.d.ts.map +1 -0
  31. package/dist/editor/canvas/DesignerArea.d.ts +38 -0
  32. package/dist/editor/canvas/DesignerArea.d.ts.map +1 -0
  33. package/dist/editor/canvas/DesignerCanvas.d.ts +35 -0
  34. package/dist/editor/canvas/DesignerCanvas.d.ts.map +1 -0
  35. package/dist/editor/canvas/DropGridOverlay.d.ts +24 -0
  36. package/dist/editor/canvas/DropGridOverlay.d.ts.map +1 -0
  37. package/dist/editor/canvas/GridDndContext.d.ts +11 -0
  38. package/dist/editor/canvas/GridDndContext.d.ts.map +1 -0
  39. package/dist/editor/canvas/GridDndProvider.d.ts +17 -0
  40. package/dist/editor/canvas/GridDndProvider.d.ts.map +1 -0
  41. package/dist/editor/canvas/GridItemChild.d.ts +44 -0
  42. package/dist/editor/canvas/GridItemChild.d.ts.map +1 -0
  43. package/dist/editor/canvas/GridItemContainer.d.ts +49 -0
  44. package/dist/editor/canvas/GridItemContainer.d.ts.map +1 -0
  45. package/dist/editor/canvas/GridViewer.d.ts +114 -0
  46. package/dist/editor/canvas/GridViewer.d.ts.map +1 -0
  47. package/dist/editor/canvas/TwoColumnDesigner.d.ts +34 -0
  48. package/dist/editor/canvas/TwoColumnDesigner.d.ts.map +1 -0
  49. package/dist/editor/canvas/canvasStyles.d.ts +36 -0
  50. package/dist/editor/canvas/canvasStyles.d.ts.map +1 -0
  51. package/dist/editor/canvas/canvasTranslations.d.ts +64 -0
  52. package/dist/editor/canvas/canvasTranslations.d.ts.map +1 -0
  53. package/dist/editor/canvas/index.d.ts +5 -0
  54. package/dist/editor/canvas/index.d.ts.map +1 -0
  55. package/dist/editor/document/constants.d.ts +23 -0
  56. package/dist/editor/document/constants.d.ts.map +1 -0
  57. package/dist/editor/document/designerItemAction.d.ts +16 -0
  58. package/dist/editor/document/designerItemAction.d.ts.map +1 -0
  59. package/dist/editor/document/utils.d.ts +172 -0
  60. package/dist/editor/document/utils.d.ts.map +1 -0
  61. package/dist/editor/document/utils.test.d.ts +2 -0
  62. package/dist/editor/document/utils.test.d.ts.map +1 -0
  63. package/dist/editor/history/types.d.ts +25 -0
  64. package/dist/editor/history/types.d.ts.map +1 -0
  65. package/dist/editor/history/undoRedoManager.d.ts +3 -0
  66. package/dist/editor/history/undoRedoManager.d.ts.map +1 -0
  67. package/dist/editor/history/undoRedoManager.test.d.ts +2 -0
  68. package/dist/editor/history/undoRedoManager.test.d.ts.map +1 -0
  69. package/dist/editor/history/useUndoRedo.d.ts +11 -0
  70. package/dist/editor/history/useUndoRedo.d.ts.map +1 -0
  71. package/dist/editor/history/useUndoRedo.test.d.ts +2 -0
  72. package/dist/editor/history/useUndoRedo.test.d.ts.map +1 -0
  73. package/dist/editor/index.d.ts +16 -0
  74. package/dist/editor/index.d.ts.map +1 -0
  75. package/dist/editor/preview/PreviewArea.d.ts +28 -0
  76. package/dist/editor/preview/PreviewArea.d.ts.map +1 -0
  77. package/dist/editor/preview/constants.d.ts +9 -0
  78. package/dist/editor/preview/constants.d.ts.map +1 -0
  79. package/dist/editor/preview/index.d.ts +3 -0
  80. package/dist/editor/preview/index.d.ts.map +1 -0
  81. package/dist/editor/preview/previewStyles.d.ts +19 -0
  82. package/dist/editor/preview/previewStyles.d.ts.map +1 -0
  83. package/dist/editor/sidebar/DesignerNav.d.ts +28 -0
  84. package/dist/editor/sidebar/DesignerNav.d.ts.map +1 -0
  85. package/dist/editor/sidebar/form/ComponentEditorForm.d.ts +12 -0
  86. package/dist/editor/sidebar/form/ComponentEditorForm.d.ts.map +1 -0
  87. package/dist/editor/sidebar/form/FormFieldWrapper.d.ts +13 -0
  88. package/dist/editor/sidebar/form/FormFieldWrapper.d.ts.map +1 -0
  89. package/dist/editor/sidebar/form/fieldRendererUtils.d.ts +24 -0
  90. package/dist/editor/sidebar/form/fieldRendererUtils.d.ts.map +1 -0
  91. package/dist/editor/sidebar/form/fieldRenderers.d.ts +6 -0
  92. package/dist/editor/sidebar/form/fieldRenderers.d.ts.map +1 -0
  93. package/dist/editor/sidebar/form/formTranslations.d.ts +92 -0
  94. package/dist/editor/sidebar/form/formTranslations.d.ts.map +1 -0
  95. package/dist/editor/sidebar/form/formUtils.d.ts +7 -0
  96. package/dist/editor/sidebar/form/formUtils.d.ts.map +1 -0
  97. package/dist/editor/sidebar/form/index.d.ts +7 -0
  98. package/dist/editor/sidebar/form/index.d.ts.map +1 -0
  99. package/dist/editor/sidebar/form/knowledgeCheckEditor.d.ts +10 -0
  100. package/dist/editor/sidebar/form/knowledgeCheckEditor.d.ts.map +1 -0
  101. package/dist/editor/sidebar/form/renderers/AltTextFieldRenderer.d.ts +4 -0
  102. package/dist/editor/sidebar/form/renderers/AltTextFieldRenderer.d.ts.map +1 -0
  103. package/dist/editor/sidebar/form/renderers/AnswerArrayFieldRenderer.d.ts +4 -0
  104. package/dist/editor/sidebar/form/renderers/AnswerArrayFieldRenderer.d.ts.map +1 -0
  105. package/dist/editor/sidebar/form/renderers/ObjectArrayFieldRenderer.d.ts +4 -0
  106. package/dist/editor/sidebar/form/renderers/ObjectArrayFieldRenderer.d.ts.map +1 -0
  107. package/dist/editor/sidebar/form/uploaders/FileUploader.d.ts +24 -0
  108. package/dist/editor/sidebar/form/uploaders/FileUploader.d.ts.map +1 -0
  109. package/dist/editor/sidebar/form/uploaders/ImageUploader.d.ts +8 -0
  110. package/dist/editor/sidebar/form/uploaders/ImageUploader.d.ts.map +1 -0
  111. package/dist/editor/sidebar/form/uploaders/VideoUploader.d.ts +8 -0
  112. package/dist/editor/sidebar/form/uploaders/VideoUploader.d.ts.map +1 -0
  113. package/dist/editor/sidebar/panel/DesignerSideBar.d.ts +18 -0
  114. package/dist/editor/sidebar/panel/DesignerSideBar.d.ts.map +1 -0
  115. package/dist/editor/sidebar/panel/MobileToolOverlay.d.ts +13 -0
  116. package/dist/editor/sidebar/panel/MobileToolOverlay.d.ts.map +1 -0
  117. package/dist/editor/sidebar/panel/MobileToolbar.d.ts +10 -0
  118. package/dist/editor/sidebar/panel/MobileToolbar.d.ts.map +1 -0
  119. package/dist/editor/sidebar/panel/ToolBody.d.ts +11 -0
  120. package/dist/editor/sidebar/panel/ToolBody.d.ts.map +1 -0
  121. package/dist/editor/sidebar/panel/ToolContentContainer.d.ts +27 -0
  122. package/dist/editor/sidebar/panel/ToolContentContainer.d.ts.map +1 -0
  123. package/dist/editor/sidebar/panel/ToolHeader.d.ts +24 -0
  124. package/dist/editor/sidebar/panel/ToolHeader.d.ts.map +1 -0
  125. package/dist/editor/sidebar/panel/ToolHeaderActionsContext.d.ts +8 -0
  126. package/dist/editor/sidebar/panel/ToolHeaderActionsContext.d.ts.map +1 -0
  127. package/dist/editor/sidebar/panel/ToolIconButtons.d.ts +19 -0
  128. package/dist/editor/sidebar/panel/ToolIconButtons.d.ts.map +1 -0
  129. package/dist/editor/sidebar/panel/ToolWrapper.d.ts +16 -0
  130. package/dist/editor/sidebar/panel/ToolWrapper.d.ts.map +1 -0
  131. package/dist/editor/sidebar/panel/constants.d.ts +23 -0
  132. package/dist/editor/sidebar/panel/constants.d.ts.map +1 -0
  133. package/dist/editor/sidebar/panel/index.d.ts +5 -0
  134. package/dist/editor/sidebar/panel/index.d.ts.map +1 -0
  135. package/dist/editor/sidebar/panel/panelStyles.d.ts +29 -0
  136. package/dist/editor/sidebar/panel/panelStyles.d.ts.map +1 -0
  137. package/dist/editor/sidebar/panel/types.d.ts +83 -0
  138. package/dist/editor/sidebar/panel/types.d.ts.map +1 -0
  139. package/dist/editor/sidebar/panel/useFocusReturn.d.ts +8 -0
  140. package/dist/editor/sidebar/panel/useFocusReturn.d.ts.map +1 -0
  141. package/dist/editor/sidebar/sidebarTranslations.d.ts +53 -0
  142. package/dist/editor/sidebar/sidebarTranslations.d.ts.map +1 -0
  143. package/dist/editor/sidebar/tray/BlockTray.d.ts +30 -0
  144. package/dist/editor/sidebar/tray/BlockTray.d.ts.map +1 -0
  145. package/dist/editor/sidebar/tray/ComponentsTray.d.ts +4 -0
  146. package/dist/editor/sidebar/tray/ComponentsTray.d.ts.map +1 -0
  147. package/dist/editor/sidebar/tray/InteractiveTray.d.ts +4 -0
  148. package/dist/editor/sidebar/tray/InteractiveTray.d.ts.map +1 -0
  149. package/dist/editor/sidebar/tray/LayoutTray.d.ts +4 -0
  150. package/dist/editor/sidebar/tray/LayoutTray.d.ts.map +1 -0
  151. package/dist/editor/sidebar/tray/SharedTrayComponents.d.ts +64 -0
  152. package/dist/editor/sidebar/tray/SharedTrayComponents.d.ts.map +1 -0
  153. package/dist/editor/sidebar/tray/TemplatesPanel.d.ts +4 -0
  154. package/dist/editor/sidebar/tray/TemplatesPanel.d.ts.map +1 -0
  155. package/dist/editor/sidebar/tray/TrayDragLayer.d.ts +14 -0
  156. package/dist/editor/sidebar/tray/TrayDragLayer.d.ts.map +1 -0
  157. package/dist/editor/sidebar/tray/blockDefinitions.d.ts +11 -0
  158. package/dist/editor/sidebar/tray/blockDefinitions.d.ts.map +1 -0
  159. package/dist/editor/sidebar/tray/index.d.ts +9 -0
  160. package/dist/editor/sidebar/tray/index.d.ts.map +1 -0
  161. package/dist/editor/sidebar/tray/trayStyles.d.ts +20 -0
  162. package/dist/editor/sidebar/tray/trayStyles.d.ts.map +1 -0
  163. package/dist/editor/sidebar/useDesignerSelectionFocus.d.ts +51 -0
  164. package/dist/editor/sidebar/useDesignerSelectionFocus.d.ts.map +1 -0
  165. package/dist/editor/state/applyTemplatePatch.d.ts +46 -0
  166. package/dist/editor/state/applyTemplatePatch.d.ts.map +1 -0
  167. package/dist/editor/state/applyTemplatePatch.test.d.ts +2 -0
  168. package/dist/editor/state/applyTemplatePatch.test.d.ts.map +1 -0
  169. package/dist/editor/state/useBlockEditorState.d.ts +57 -0
  170. package/dist/editor/state/useBlockEditorState.d.ts.map +1 -0
  171. package/dist/editor/state/useBlockEditorState.test.d.ts +2 -0
  172. package/dist/editor/state/useBlockEditorState.test.d.ts.map +1 -0
  173. package/dist/editor/validation/templateDataValidator.d.ts +48 -0
  174. package/dist/editor/validation/templateDataValidator.d.ts.map +1 -0
  175. package/dist/editor/validation/templateDataValidator.test.d.ts +2 -0
  176. package/dist/editor/validation/templateDataValidator.test.d.ts.map +1 -0
  177. package/dist/index.d.ts +4 -1
  178. package/dist/index.d.ts.map +1 -1
  179. package/dist/index.js +14270 -1868
  180. package/dist/registry/blockRegistry.d.ts +8 -0
  181. package/dist/registry/blockRegistry.d.ts.map +1 -1
  182. package/dist/registry/defineBlock.d.ts +5 -0
  183. package/dist/registry/defineBlock.d.ts.map +1 -1
  184. package/dist/schema/index.d.ts +1 -1
  185. package/dist/schema/index.d.ts.map +1 -1
  186. package/dist/schema/zodExtensions.d.ts +2 -0
  187. package/dist/schema/zodExtensions.d.ts.map +1 -1
  188. package/dist/utils/useMediaQuery.d.ts +7 -0
  189. package/dist/utils/useMediaQuery.d.ts.map +1 -0
  190. package/dist/viewer/Viewer.d.ts +3 -1
  191. package/dist/viewer/Viewer.d.ts.map +1 -1
  192. package/dist/viewer/viewerStyles.d.ts +12 -0
  193. package/dist/viewer/viewerStyles.d.ts.map +1 -0
  194. package/locales/en.json +123 -1
  195. package/package.json +34 -1
@@ -1,4 +1,5 @@
1
1
  import { ComponentType, ReactNode } from 'react';
2
+ import { DesignerItemAction } from '../editor/document/designerItemAction';
2
3
  import { RegisteredComponentSchema } from '../schema/registeredSchema';
3
4
  /**
4
5
  * Everything a renderer needs to resolve one block.
@@ -32,6 +33,13 @@ export interface BlockRegistryEntry<TProps = unknown> {
32
33
  wrapsChildrenInGridCells?: boolean;
33
34
  /** Lightweight stand-in for drag operations, where mounting the real block is too costly. */
34
35
  renderDragPreview?: (props: Partial<TProps>) => ReactNode;
36
+ /**
37
+ * Item-toolbar actions to hide for this block in the designer — e.g. a data-driven widget
38
+ * shows only Move and Delete. Set by the host per block at factory-call time (see
39
+ * `create<Name>Block`); unset leaves every action visible. Composes with, rather than
40
+ * replaces, the chrome's edit/delete permission checks.
41
+ */
42
+ hiddenActions?: DesignerItemAction[];
35
43
  }
36
44
  /**
37
45
  * A host-composed map of wire name → entry.
@@ -1 +1 @@
1
- {"version":3,"file":"blockRegistry.d.ts","sourceRoot":"","sources":["../../src/registry/blockRegistry.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACrD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAA;AAE3E;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB,CAAC,MAAM,GAAG,OAAO;IAClD,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAChC,MAAM,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IACzC,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;IAC7B,gEAAgE;IAChE,KAAK,EAAE,MAAM,CAAA;IACb;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB;;;;;;;;OAQG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,6FAA6F;IAC7F,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,SAAS,CAAA;CAC1D;AAED;;;;;;;;;GASG;AAEH,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAA;AAEnE;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,aAAa,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CAEtE;AAED,6DAA6D;AAC7D,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,kBAAkB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA"}
1
+ {"version":3,"file":"blockRegistry.d.ts","sourceRoot":"","sources":["../../src/registry/blockRegistry.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAIrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAA;AAC/E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAA;AAE3E;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB,CAAC,MAAM,GAAG,OAAO;IAClD,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAChC,MAAM,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IACzC,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;IAC7B,gEAAgE;IAChE,KAAK,EAAE,MAAM,CAAA;IACb;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB;;;;;;;;OAQG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,6FAA6F;IAC7F,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,SAAS,CAAA;IACzD;;;;;OAKG;IACH,aAAa,CAAC,EAAE,kBAAkB,EAAE,CAAA;CACrC;AAED;;;;;;;;;GASG;AAEH,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAA;AAEnE;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,aAAa,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CAEtE;AAED,6DAA6D;AAC7D,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,kBAAkB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA"}
@@ -1,5 +1,6 @@
1
1
  import { ComponentType, ReactNode } from 'react';
2
2
  import { AllStringValues } from '../contexts/BlockTranslationsContext';
3
+ import { DesignerItemAction } from '../editor/document/designerItemAction';
3
4
  import { RegisteredComponentSchema } from '../schema/registeredSchema';
4
5
  import { BlockName } from './blockCatalogue';
5
6
  import { BlockRegistryEntry } from './blockRegistry';
@@ -29,11 +30,15 @@ export interface BlockFactoryOptions<TTranslations> {
29
30
  label: string;
30
31
  /** Already translated. `<Name>English` holds the source strings. */
31
32
  translations: TTranslations;
33
+ /** Designer item-toolbar actions to hide for this block — see `BlockRegistryEntry.hiddenActions`. */
34
+ hiddenActions?: DesignerItemAction[];
32
35
  }
33
36
  /** What the host supplies for a block with no strings of its own. */
34
37
  export interface UntranslatedBlockFactoryOptions {
35
38
  /** Already translated. Shown wherever an authoring UI lists this block. */
36
39
  label: string;
40
+ /** Designer item-toolbar actions to hide for this block — see `BlockRegistryEntry.hiddenActions`. */
41
+ hiddenActions?: DesignerItemAction[];
37
42
  }
38
43
  /**
39
44
  * Builds a block's `create<Name>Block` factory.
@@ -1 +1 @@
1
- {"version":3,"file":"defineBlock.d.ts","sourceRoot":"","sources":["../../src/registry/defineBlock.tsx"],"names":[],"mappings":"AAkBA,OAAO,EAAE,KAAK,aAAa,EAAiB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AACzE,OAAO,EACL,KAAK,eAAe,EAErB,MAAM,sCAAsC,CAAA;AAC7C,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAA;AAC3E,OAAO,EAAmB,KAAK,SAAS,EAAgB,MAAM,kBAAkB,CAAA;AAChF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAYzD,gEAAgE;AAChE,MAAM,WAAW,eAAe,CAAC,MAAM;IACrC;;;;;;;;OAQG;IACH,QAAQ,EAAE,SAAS,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;IACnC,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAChC,MAAM,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IACzC,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;IAC7B,6EAA6E;IAC7E,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,SAAS,CAAA;IACzD,wBAAwB,CAAC,EAAE,OAAO,CAAA;CACnC;AAED,4DAA4D;AAC5D,MAAM,WAAW,mBAAmB,CAAC,aAAa;IAChD,2EAA2E;IAC3E,KAAK,EAAE,MAAM,CAAA;IACb,oEAAoE;IACpE,YAAY,EAAE,aAAa,CAAA;CAC5B;AAED,qEAAqE;AACrE,MAAM,WAAW,+BAA+B;IAC9C,2EAA2E;IAC3E,KAAK,EAAE,MAAM,CAAA;CACd;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,QAAQ,SAAS,eAAe,CAAC,QAAQ,CAAC,EAC5E,UAAU,EAAE,eAAe,CAAC,MAAM,CAAC,GAAG;IAAE,OAAO,EAAE,QAAQ,CAAA;CAAE,GAC1D,CAAC,OAAO,EAAE,mBAAmB,CAAC,QAAQ,CAAC,KAAK,kBAAkB,CAAC,MAAM,CAAC,CAAA;AACzE,wBAAgB,WAAW,CAAC,MAAM,EAChC,UAAU,EAAE,eAAe,CAAC,MAAM,CAAC,GAAG;IAAE,OAAO,CAAC,EAAE,KAAK,CAAA;CAAE,GACxD,CAAC,OAAO,EAAE,+BAA+B,KAAK,kBAAkB,CAAC,MAAM,CAAC,CAAA"}
1
+ {"version":3,"file":"defineBlock.d.ts","sourceRoot":"","sources":["../../src/registry/defineBlock.tsx"],"names":[],"mappings":"AAkBA,OAAO,EAAE,KAAK,aAAa,EAAiB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AACzE,OAAO,EACL,KAAK,eAAe,EAErB,MAAM,sCAAsC,CAAA;AAE7C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAA;AAC/E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAA;AAC3E,OAAO,EAAmB,KAAK,SAAS,EAAgB,MAAM,kBAAkB,CAAA;AAChF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAYzD,gEAAgE;AAChE,MAAM,WAAW,eAAe,CAAC,MAAM;IACrC;;;;;;;;OAQG;IACH,QAAQ,EAAE,SAAS,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;IACnC,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAChC,MAAM,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IACzC,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;IAC7B,6EAA6E;IAC7E,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,SAAS,CAAA;IACzD,wBAAwB,CAAC,EAAE,OAAO,CAAA;CACnC;AAED,4DAA4D;AAC5D,MAAM,WAAW,mBAAmB,CAAC,aAAa;IAChD,2EAA2E;IAC3E,KAAK,EAAE,MAAM,CAAA;IACb,oEAAoE;IACpE,YAAY,EAAE,aAAa,CAAA;IAC3B,qGAAqG;IACrG,aAAa,CAAC,EAAE,kBAAkB,EAAE,CAAA;CACrC;AAED,qEAAqE;AACrE,MAAM,WAAW,+BAA+B;IAC9C,2EAA2E;IAC3E,KAAK,EAAE,MAAM,CAAA;IACb,qGAAqG;IACrG,aAAa,CAAC,EAAE,kBAAkB,EAAE,CAAA;CACrC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,QAAQ,SAAS,eAAe,CAAC,QAAQ,CAAC,EAC5E,UAAU,EAAE,eAAe,CAAC,MAAM,CAAC,GAAG;IAAE,OAAO,EAAE,QAAQ,CAAA;CAAE,GAC1D,CAAC,OAAO,EAAE,mBAAmB,CAAC,QAAQ,CAAC,KAAK,kBAAkB,CAAC,MAAM,CAAC,CAAA;AACzE,wBAAgB,WAAW,CAAC,MAAM,EAChC,UAAU,EAAE,eAAe,CAAC,MAAM,CAAC,GAAG;IAAE,OAAO,CAAC,EAAE,KAAK,CAAA;CAAE,GACxD,CAAC,OAAO,EAAE,+BAA+B,KAAK,kBAAkB,CAAC,MAAM,CAAC,CAAA"}
@@ -1,5 +1,5 @@
1
1
  export { parseDescription, type ZodFormMetadata, type ZodRangeConfig, type ZodHiddenWhenConfig, type ZodDisabledWhenConfig, } from './zodExtensions';
2
2
  export { validateComponentSchema, type ValidationError, type ValidationIssue, type ValidationResult, } from './schemaValidator';
3
3
  export { registerComponentSchema, type RegisteredComponentSchema, } from './registeredSchema';
4
- export { FormFieldType, type FormFieldMetadata, unwrapZodType, deriveFieldType, extractValidationRules, extractFieldMetadata, extractFormMetadata, } from './zodUtils';
4
+ export { FormFieldType, type FormFieldMetadata, extractFieldMetadata, extractFormMetadata, } from './zodUtils';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAmBA,OAAO,iBAAiB,CAAA;AAExB,OAAO,EACL,gBAAgB,EAChB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,GAC3B,MAAM,iBAAiB,CAAA;AAGxB,OAAO,EACL,uBAAuB,EACvB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,gBAAgB,GACtB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACL,uBAAuB,EACvB,KAAK,yBAAyB,GAC/B,MAAM,oBAAoB,CAAA;AAG3B,OAAO,EACL,aAAa,EACb,KAAK,iBAAiB,EACtB,aAAa,EACb,eAAe,EACf,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAmBA,OAAO,iBAAiB,CAAA;AAExB,OAAO,EACL,gBAAgB,EAChB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,GAC3B,MAAM,iBAAiB,CAAA;AAGxB,OAAO,EACL,uBAAuB,EACvB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,gBAAgB,GACtB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACL,uBAAuB,EACvB,KAAK,yBAAyB,GAC/B,MAAM,oBAAoB,CAAA;AAK3B,OAAO,EACL,aAAa,EACb,KAAK,iBAAiB,EACtB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,YAAY,CAAA"}
@@ -49,6 +49,7 @@ export interface ZodFormMetadata {
49
49
  manageLayer?: string;
50
50
  answers?: boolean;
51
51
  altText?: boolean;
52
+ attachmentIdField?: boolean;
52
53
  }
53
54
  /**
54
55
  * Parse metadata from a Zod schema description
@@ -90,6 +91,7 @@ declare module 'zod' {
90
91
  * @example z.string().zodRichText().zodLabel('Content')
91
92
  */
92
93
  zodRichText(richtext?: boolean): this;
94
+ zodAttachmentIdField(attachmentIdField?: boolean): this;
93
95
  /**
94
96
  * Mark number field as a range slider input
95
97
  * @example z.number().zodRange({ min: 0, max: 100, step: 25, formatValue: '%' }).zodLabel('Size')
@@ -1 +1 @@
1
- {"version":3,"file":"zodExtensions.d.ts","sourceRoot":"","sources":["../../src/schema/zodExtensions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zodExtensions.d.ts","sourceRoot":"","sources":["../../src/schema/zodExtensions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Tracks whether a media query currently matches, subscribing to changes. Guards `window`/
3
+ * `matchMedia` so it is safe under SSR and jsdom (where neither is implemented) — there it
4
+ * reports `false`, i.e. the default (wider) layout.
5
+ */
6
+ export declare function useMediaQuery(query: string): boolean;
7
+ //# sourceMappingURL=useMediaQuery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMediaQuery.d.ts","sourceRoot":"","sources":["../../src/utils/useMediaQuery.ts"],"names":[],"mappings":"AA4BA;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAapD"}
@@ -21,7 +21,9 @@ export interface ViewerProps {
21
21
  * Emits no wrapper of its own — the blocks are direct layout children of whatever the
22
22
  * host puts them in, so the host's own container keeps full control of layout, and any
23
23
  * host-specific typography (Canvas, for one, needs rules to beat its own element-level
24
- * heading styles) belongs on that container rather than in here.
24
+ * heading styles) belongs on that container rather than in here. It does mount one global
25
+ * stylesheet for inter-block spacing (see `viewerStyles`) — that gap is the package's own
26
+ * concern, not the host's, since it is what the designer canvas already shows an author.
25
27
  */
26
28
  export declare function Viewer({ templateLayout, templateData, componentRegistry, onUnresolvedBlock, }: ViewerProps): import("react/jsx-runtime").JSX.Element | null;
27
29
  //# sourceMappingURL=Viewer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Viewer.d.ts","sourceRoot":"","sources":["../../src/viewer/Viewer.tsx"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,KAAK,eAAe,EAAoB,MAAM,4BAA4B,CAAA;AAGnF,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAEzE,MAAM,WAAW,WAAW;IAC1B,iEAAiE;IACjE,cAAc,EAAE,UAAU,EAAE,CAAA;IAC5B,kEAAkE;IAClE,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,sDAAsD;IACtD,iBAAiB,EAAE,aAAa,CAAA;IAChC;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAA;CACrD;AAmID;;;;;;;GAOG;AACH,wBAAgB,MAAM,CAAC,EACrB,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,GAClB,EAAE,WAAW,kDA6Bb"}
1
+ {"version":3,"file":"Viewer.d.ts","sourceRoot":"","sources":["../../src/viewer/Viewer.tsx"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,KAAK,eAAe,EAAoB,MAAM,4BAA4B,CAAA;AAGnF,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAGzE,MAAM,WAAW,WAAW;IAC1B,iEAAiE;IACjE,cAAc,EAAE,UAAU,EAAE,CAAA;IAC5B,kEAAkE;IAClE,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,sDAAsD;IACtD,iBAAiB,EAAE,aAAa,CAAA;IAChC;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAA;CACrD;AAmID;;;;;;;;;GASG;AACH,wBAAgB,MAAM,CAAC,EACrB,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,GAClB,EAAE,WAAW,kDAoCb"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Inter-block spacing for the read path, where `Viewer` emits no wrapper to hang a `gap` on
3
+ * (a block is a direct layout child of whatever holds it — see `Viewer`'s docstring). An
4
+ * adjacent-sibling margin on the `.bce-block` class every block already carries reaches root
5
+ * siblings and nested ones the same way, since it matches on the class, not on depth — and
6
+ * naturally skips the first block in any list, sibling or not.
7
+ *
8
+ * A container that already gaps its own children (`LayoutContainer`'s `inner`) opts out via
9
+ * `data-bce-block-gap="self"`, so its flex/grid gap and this margin never stack.
10
+ */
11
+ export declare function ViewerSpacingStyles(): import("react/jsx-runtime").JSX.Element;
12
+ //# sourceMappingURL=viewerStyles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"viewerStyles.d.ts","sourceRoot":"","sources":["../../src/viewer/viewerStyles.tsx"],"names":[],"mappings":"AAsBA;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,4CAUlC"}
package/locales/en.json CHANGED
@@ -60,5 +60,127 @@
60
60
  "knowledgeCheckAnswerIncorrectLabel": "Incorrect",
61
61
  "widgetBlockPlaceholder": "Add widget...",
62
62
  "widgetBlockLoading": "Loading widget...",
63
- "widgetBlockError": "Failed to load widget"
63
+ "widgetBlockError": "Failed to load widget",
64
+ "item": "item",
65
+ "pickedUp": "Picked up %{label}. Use arrow keys to move, Space to drop, Escape to cancel.",
66
+ "notOverDropArea": "%{label} is not over a drop area.",
67
+ "leftColumn": "left column",
68
+ "rightColumn": "right column",
69
+ "isOverColumn": "%{label} is over %{columnName}.",
70
+ "isOver": "%{label} is over %{overLabel}.",
71
+ "wasDropped": "%{label} was dropped.",
72
+ "wasDroppedIntoColumn": "%{label} was dropped into %{columnName}.",
73
+ "dragCancelled": "Dragging was cancelled. %{label} was returned to its original position.",
74
+ "dragInstructions": "To pick up this component, press Space or Enter. Use arrow keys to move it up, down, or between columns. Press Space or Enter to drop, or Escape to cancel.",
75
+ "componentActions": "Component actions",
76
+ "dragToReorder": "Drag to reorder",
77
+ "dragAndDrop": "Drag and Drop",
78
+ "duplicateComponent": "Duplicate %{component}",
79
+ "duplicate": "Duplicate",
80
+ "deleteComponent": "Delete %{component}",
81
+ "delete": "Delete",
82
+ "deleteConfirmation": "Are you sure you want to delete this?",
83
+ "cancel": "Cancel",
84
+ "editComponent": "Edit %{component} component",
85
+ "componentGroup": "%{component} component",
86
+ "leftColumnLabel": "Left column",
87
+ "rightColumnLabel": "Right column",
88
+ "dropBlocksHere": "Drop blocks here",
89
+ "templatesComingSoon": "Coming soon: ready-made templates from your organization.",
90
+ "previous": "Previous",
91
+ "next": "Next",
92
+ "itemSubtitle": "%{itemName} %{number}",
93
+ "defaultItemName": "Item",
94
+ "dragToReorderItem": "Drag to reorder %{item}",
95
+ "editItem": "Edit %{item}",
96
+ "removeItem": "Remove %{item}",
97
+ "manageLabel": "Manage %{pluralLabel}",
98
+ "countLabel": "%{count} %{pluralLabel}",
99
+ "noItemsYet": "No items yet",
100
+ "addItem": "Add %{componentType}",
101
+ "answerTrue": "True",
102
+ "answerFalse": "False",
103
+ "optionLabel": "Option %{option}",
104
+ "removeOption": "Remove option %{option}",
105
+ "addOption": "Add option",
106
+ "arrayItemLabel": "Item %{index}",
107
+ "remove": "Remove",
108
+ "addPrimitiveItem": "Add item",
109
+ "dragAndDropOrBrowse": "Drag and drop or click to browse",
110
+ "chooseFile": "Choose file",
111
+ "loadingPreview": "Loading preview...",
112
+ "uploadFailed": "Upload failed",
113
+ "uploadImage": "Upload image",
114
+ "imageAcceptedTypes": "Accepted file types: PNG, JPG, GIF, WebP",
115
+ "imageMaxSize": "Max file size: 5MB",
116
+ "replaceImage": "Replace image",
117
+ "uploadingImage": "Uploading image...",
118
+ "imageSizeError": "File size must be less than 5MB",
119
+ "uploadVideo": "Upload video",
120
+ "videoAcceptedTypes": "Accepted file types: MP4, WebM, MOV, AVI",
121
+ "videoMaxSize": "Max file size: 500MB",
122
+ "replaceVideo": "Replace video",
123
+ "uploadingVideo": "Uploading video...",
124
+ "videoSizeError": "File size must be less than 500MB",
125
+ "videoSource": "Video source",
126
+ "sourceFile": "File",
127
+ "sourceLink": "Link",
128
+ "videoLink": "Video link",
129
+ "videoLinkPlaceholder": "https://...",
130
+ "loading": "Loading...",
131
+ "collapse": "Collapse",
132
+ "expand": "Expand",
133
+ "minimize": "Minimize",
134
+ "expandPanel": "Expand panel",
135
+ "minimizePanel": "Minimize panel",
136
+ "back": "Back",
137
+ "closePanel": "Close %{panelName}",
138
+ "resizeToolPanel": "Resize tool panel",
139
+ "basicBlocksTool": "Basic blocks",
140
+ "interactiveBlocksTool": "Interactive blocks",
141
+ "layoutBlocksTool": "Layout blocks",
142
+ "templatesTool": "Templates",
143
+ "basicBlocksIntro": "Format content with these basic blocks.",
144
+ "layoutBlocksIntro": "Organize your content into columns.",
145
+ "interactiveBlocksIntro": "Engage learners with interactive non-scored activities.",
146
+ "addBlock": "Add %{name}",
147
+ "skipToSelectedComponent": "Skip to selected component",
148
+ "aiAssistFor": "AI assist for %{componentType}",
149
+ "aiActions": "AI Actions",
150
+ "backToMenu": "Back to menu",
151
+ "regenerateWithPrompt": "Regenerate with prompt",
152
+ "changeTone": "Change tone",
153
+ "changeLength": "Change length",
154
+ "changeReadingLevel": "Change reading level",
155
+ "toneMoreFormal": "More formal",
156
+ "toneMoreFun": "More fun",
157
+ "toneMoreCasual": "More casual",
158
+ "toneMoreTechnical": "More technical",
159
+ "lengthShorter": "Shorter",
160
+ "lengthLonger": "Longer",
161
+ "readingBeginning": "Beginning reader (0L - 760L)",
162
+ "readingNovice": "Novice reader (635L - 1160L)",
163
+ "readingIntermediate": "Intermediate reader (925L - 1295L)",
164
+ "readingAdvanced": "Advanced reader (1040L - 1440L)",
165
+ "promptPlaceholder": "What would you like to change?",
166
+ "previewFirst": "Preview first",
167
+ "send": "Send",
168
+ "thinking": "Thinking…",
169
+ "stop": "Stop",
170
+ "generationFailed": "Failed to generate. Please try again.",
171
+ "previewBlock": "Preview block",
172
+ "compareLabel": "Compare versions",
173
+ "both": "Both",
174
+ "before": "Before",
175
+ "after": "After",
176
+ "previewCancel": "Cancel",
177
+ "acceptAndReplace": "Accept and replace",
178
+ "refinementPlaceholder": "What changes would you like to make?",
179
+ "regenerate": "Regenerate",
180
+ "regenerating": "Regenerating...",
181
+ "generateAltText": "Generate alt text",
182
+ "generating": "Generating...",
183
+ "failedToLoadImage": "Failed to load image",
184
+ "failedToGenerate": "Failed to generate alt text",
185
+ "noDescription": "No description was returned"
64
186
  }
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "@instructure/platform-block-content-editor",
3
- "version": "1.0.0",
3
+ "version": "2.0.0",
4
+ "description": "Host-agnostic block content editor for Canvas activities — the blocks, the read-path viewer, and the write-path editor, all on native InstUI.",
4
5
  "type": "module",
5
6
  "main": "./dist/index.js",
6
7
  "module": "./dist/index.js",
@@ -25,39 +26,70 @@
25
26
  "@instructure/ui-alerts": "^11.0.0",
26
27
  "@instructure/ui-buttons": "^11.0.0",
27
28
  "@instructure/ui-checkbox": "^11.0.0",
29
+ "@instructure/ui-file-drop": "^11.0.0",
28
30
  "@instructure/ui-flex": "^11.0.0",
31
+ "@instructure/ui-form-field": "^11.0.0",
29
32
  "@instructure/ui-heading": "^11.0.0",
30
33
  "@instructure/ui-icons": "^11.0.0",
31
34
  "@instructure/ui-img": "^11.0.0",
35
+ "@instructure/ui-modal": "^11.0.0",
36
+ "@instructure/ui-number-input": "^11.0.0",
37
+ "@instructure/ui-popover": "^11.0.0",
32
38
  "@instructure/ui-progress": "^11.0.0",
33
39
  "@instructure/ui-radio-input": "^11.0.0",
40
+ "@instructure/ui-range-input": "^11.0.0",
41
+ "@instructure/ui-simple-select": "^11.0.0",
42
+ "@instructure/ui-source-code-editor": "^11.0.0",
34
43
  "@instructure/ui-spinner": "^11.0.0",
35
44
  "@instructure/ui-text": "^11.0.0",
45
+ "@instructure/ui-text-area": "^11.0.0",
46
+ "@instructure/ui-text-input": "^11.0.0",
36
47
  "@instructure/ui-toggle-details": "^11.0.0",
48
+ "@instructure/ui-tooltip": "^11.0.0",
37
49
  "@instructure/ui-view": "^11.0.0",
38
50
  "react": "^18.0.0 || ^19.0.0",
39
51
  "react-dom": "^18.0.0 || ^19.0.0",
40
52
  "zod": "^3.23.8"
41
53
  },
42
54
  "dependencies": {
55
+ "@dnd-kit/core": "^6.3.1",
56
+ "@dnd-kit/modifiers": "^9.0.0",
57
+ "@dnd-kit/sortable": "^10.0.0",
58
+ "@dnd-kit/utilities": "^3.2.2",
59
+ "@hookform/resolvers": "^5.2.2",
60
+ "lodash": "^4.17.21",
61
+ "react-hook-form": "^7.68.0",
62
+ "uuid": "^11.1.1",
43
63
  "@instructure/platform-sanitize": "^0.7.0"
44
64
  },
45
65
  "devDependencies": {
46
66
  "@instructure/emotion": "11.7.4",
67
+ "@types/lodash": "^4.17.24",
47
68
  "@instructure/ui-a11y-content": "11.7.4",
48
69
  "@instructure/ui-alerts": "11.7.4",
49
70
  "@instructure/ui-buttons": "11.7.4",
50
71
  "@instructure/ui-checkbox": "11.7.4",
72
+ "@instructure/ui-file-drop": "11.7.4",
51
73
  "@instructure/ui-flex": "11.7.4",
74
+ "@instructure/ui-form-field": "11.7.4",
52
75
  "@instructure/ui-heading": "11.7.4",
53
76
  "@instructure/ui-icons": "11.7.4",
54
77
  "@instructure/ui-img": "11.7.4",
78
+ "@instructure/ui-modal": "11.7.4",
79
+ "@instructure/ui-number-input": "11.7.4",
80
+ "@instructure/ui-popover": "11.7.4",
55
81
  "@instructure/ui-progress": "11.7.4",
56
82
  "@instructure/ui-radio-input": "11.7.4",
83
+ "@instructure/ui-range-input": "11.7.4",
84
+ "@instructure/ui-simple-select": "11.7.4",
85
+ "@instructure/ui-source-code-editor": "11.7.4",
57
86
  "@instructure/ui-spinner": "11.7.4",
58
87
  "@instructure/ui-text": "11.7.4",
88
+ "@instructure/ui-text-area": "11.7.4",
89
+ "@instructure/ui-text-input": "11.7.4",
59
90
  "@instructure/ui-themes": "11.7.4",
60
91
  "@instructure/ui-toggle-details": "11.7.4",
92
+ "@instructure/ui-tooltip": "11.7.4",
61
93
  "@instructure/ui-view": "11.7.4",
62
94
  "@storybook/react": "^10.0.8",
63
95
  "@testing-library/jest-dom": "^6.9.1",
@@ -83,6 +115,7 @@
83
115
  "lint": "oxlint -c ../../oxlint.json && ast-grep scan . --report-style=short",
84
116
  "lint:fix": "oxlint -c ../../oxlint.json --fix && biome format --write .",
85
117
  "type-check": "tsc -p tsconfig.check.json",
118
+ "check:consumer": "pnpm build && tsc -p consumer/tsconfig.json",
86
119
  "pack:tarball": "pnpm build && pnpm pack"
87
120
  }
88
121
  }