@instructure/platform-block-content-editor 2.1.0 → 3.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 (69) hide show
  1. package/dist/components/blocks/Quote/Quote.d.ts +1 -1
  2. package/dist/components/blocks/Quote/Quote.d.ts.map +1 -1
  3. package/dist/components/blocks/Quote/createQuoteBlock.d.ts +4 -1
  4. package/dist/components/blocks/Quote/createQuoteBlock.d.ts.map +1 -1
  5. package/dist/components/blocks/Quote/getQuoteViewProps.d.ts +16 -2
  6. package/dist/components/blocks/Quote/getQuoteViewProps.d.ts.map +1 -1
  7. package/dist/components/blocks/Quote/quotePropsSchema.d.ts +25 -5
  8. package/dist/components/blocks/Quote/quotePropsSchema.d.ts.map +1 -1
  9. package/dist/components/blocks/TwoColumn/createTwoColumnBlock.d.ts.map +1 -1
  10. package/dist/components/blocks/TwoColumn/twoColumnStyles.d.ts.map +1 -1
  11. package/dist/components/blocks/brandTheming.d.ts +11 -0
  12. package/dist/components/blocks/brandTheming.d.ts.map +1 -1
  13. package/dist/components/blocks/commonSchemas.d.ts +2 -2
  14. package/dist/components/blocks/commonSchemas.d.ts.map +1 -1
  15. package/dist/components/blocks/commonViewProps.d.ts +7 -1
  16. package/dist/components/blocks/commonViewProps.d.ts.map +1 -1
  17. package/dist/editor/ai/BlockAIMenu.d.ts +25 -1
  18. package/dist/editor/ai/BlockAIMenu.d.ts.map +1 -1
  19. package/dist/editor/ai/BlockAIMenuContent.d.ts +5 -1
  20. package/dist/editor/ai/BlockAIMenuContent.d.ts.map +1 -1
  21. package/dist/editor/ai/PanelAIMenu.d.ts +30 -0
  22. package/dist/editor/ai/PanelAIMenu.d.ts.map +1 -0
  23. package/dist/editor/ai/PreviewBlockModal.d.ts.map +1 -1
  24. package/dist/editor/ai/aiMenuStyles.d.ts +39 -2
  25. package/dist/editor/ai/aiMenuStyles.d.ts.map +1 -1
  26. package/dist/editor/ai/aiTranslations.d.ts +6 -2
  27. package/dist/editor/ai/aiTranslations.d.ts.map +1 -1
  28. package/dist/editor/ai/constants.d.ts +17 -0
  29. package/dist/editor/ai/constants.d.ts.map +1 -1
  30. package/dist/editor/ai/isBlockEmpty.d.ts +10 -0
  31. package/dist/editor/ai/isBlockEmpty.d.ts.map +1 -0
  32. package/dist/editor/ai/isBlockEmpty.test.d.ts +2 -0
  33. package/dist/editor/ai/isBlockEmpty.test.d.ts.map +1 -0
  34. package/dist/editor/ai/isItemEmpty.d.ts +18 -0
  35. package/dist/editor/ai/isItemEmpty.d.ts.map +1 -0
  36. package/dist/editor/ai/isItemEmpty.test.d.ts +2 -0
  37. package/dist/editor/ai/isItemEmpty.test.d.ts.map +1 -0
  38. package/dist/editor/ai/useBlockAIPopover.d.ts +7 -1
  39. package/dist/editor/ai/useBlockAIPopover.d.ts.map +1 -1
  40. package/dist/editor/canvas/GridItemChild.d.ts +2 -2
  41. package/dist/editor/canvas/GridItemChild.d.ts.map +1 -1
  42. package/dist/editor/canvas/canvasTranslations.d.ts +1 -5
  43. package/dist/editor/canvas/canvasTranslations.d.ts.map +1 -1
  44. package/dist/editor/sidebar/form/ComponentEditorForm.d.ts.map +1 -1
  45. package/dist/editor/sidebar/panel/DesignerSideBar.d.ts.map +1 -1
  46. package/dist/editor/sidebar/panel/ToolContentContainer.d.ts +5 -3
  47. package/dist/editor/sidebar/panel/ToolContentContainer.d.ts.map +1 -1
  48. package/dist/editor/sidebar/panel/ToolHeader.d.ts +2 -1
  49. package/dist/editor/sidebar/panel/ToolHeader.d.ts.map +1 -1
  50. package/dist/editor/sidebar/panel/ToolHeaderActionsContext.d.ts +6 -0
  51. package/dist/editor/sidebar/panel/ToolHeaderActionsContext.d.ts.map +1 -1
  52. package/dist/editor/sidebar/tray/blockDefinitions.d.ts.map +1 -1
  53. package/dist/editor/sidebar/useDesignerSelectionFocus.d.ts.map +1 -1
  54. package/dist/index.js +6710 -6319
  55. package/dist/registry/blockCatalogue.d.ts +73 -65
  56. package/dist/registry/blockCatalogue.d.ts.map +1 -1
  57. package/dist/registry/blockRegistry.d.ts +11 -7
  58. package/dist/registry/blockRegistry.d.ts.map +1 -1
  59. package/dist/registry/defineBlock.d.ts +1 -1
  60. package/dist/registry/defineBlock.d.ts.map +1 -1
  61. package/dist/registry/index.d.ts +2 -2
  62. package/dist/registry/index.d.ts.map +1 -1
  63. package/dist/schema/schemaRegistry.d.ts +4 -1
  64. package/dist/schema/schemaRegistry.d.ts.map +1 -1
  65. package/dist/utils/colorVariants/index.d.ts +1 -1
  66. package/dist/utils/colorVariants/index.d.ts.map +1 -1
  67. package/dist/viewer/Viewer.d.ts.map +1 -1
  68. package/locales/en.json +4 -4
  69. package/package.json +2 -2
@@ -1,6 +1,7 @@
1
1
  /**
2
- * Every block name this version of the package knows about — strings only, no component
3
- * references, so a renderer can consult it without reaching for a block's implementation.
2
+ * Every block this version of the package knows about — strings and metadata only, no
3
+ * component references, so a renderer can consult it without reaching for a block's
4
+ * implementation.
4
5
  *
5
6
  * Its job is to tell two failure modes apart when a saved document names a block the
6
7
  * registry can't resolve: one the host deliberately left out, versus one nothing here has
@@ -16,80 +17,87 @@ export declare const BlockCategory: {
16
17
  };
17
18
  export type BlockCategory = (typeof BlockCategory)[keyof typeof BlockCategory];
18
19
  export interface BlockCatalogueEntry {
20
+ /**
21
+ * **Wire format** — the `component` string in stored `TemplateLayout` — and not always the
22
+ * component's name. `Header` renders `Banner`, `QuoteBlock` renders `Quote`,
23
+ * `KnowledgeCheckBlock` renders `KnowledgeCheck`. Renaming it orphans every document that
24
+ * used it.
25
+ */
26
+ wireName: string;
19
27
  category: BlockCategory;
20
28
  acceptsChildren: boolean;
21
29
  }
22
30
  /**
23
- * Keys are **wire format** the `component` string in stored `TemplateLayout` and are
24
- * not always the component's name. `Header` renders `Banner`, `QuoteBlock` renders
25
- * `Quote`, `KnowledgeCheckBlock` renders `KnowledgeCheck`. Renaming a key orphans every
26
- * document that used it.
31
+ * The package's block catalogue, one entry per shipped block. **Array position is this
32
+ * package's single canonical display/insertion order** `blockDefinitions.tsx` derives its
33
+ * per-category tray order straight from this order, so reordering a block here is the only
34
+ * change needed to reorder it everywhere.
27
35
  *
28
36
  * No labels here: a label is user-facing text, so it arrives already translated when the
29
37
  * host registers the block (`create<Name>Block({ label })`). An unresolved block has no
30
38
  * label by definition.
31
39
  */
32
- export declare const BLOCK_CATALOGUE: {
33
- readonly LayoutContainer: {
34
- readonly category: "layout";
35
- readonly acceptsChildren: true;
36
- };
37
- readonly TwoColumn: {
38
- readonly category: "layout";
39
- readonly acceptsChildren: true;
40
- };
41
- readonly Header: {
42
- readonly category: "activityContent";
43
- readonly acceptsChildren: false;
44
- };
45
- readonly Text: {
46
- readonly category: "activityContent";
47
- readonly acceptsChildren: false;
48
- };
49
- readonly QuoteBlock: {
50
- readonly category: "activityContent";
51
- readonly acceptsChildren: false;
52
- };
53
- readonly CodeBlock: {
54
- readonly category: "activityContent";
55
- readonly acceptsChildren: false;
56
- };
57
- readonly ImageBlock: {
58
- readonly category: "activityContent";
59
- readonly acceptsChildren: false;
60
- };
61
- readonly VideoBlock: {
62
- readonly category: "activityContent";
63
- readonly acceptsChildren: false;
64
- };
65
- readonly Accordion: {
66
- readonly category: "interactiveContent";
67
- readonly acceptsChildren: false;
68
- };
69
- readonly TabsBlock: {
70
- readonly category: "interactiveContent";
71
- readonly acceptsChildren: false;
72
- };
73
- readonly KnowledgeCheckBlock: {
74
- readonly category: "interactiveContent";
75
- readonly acceptsChildren: false;
76
- };
77
- readonly FlashCards: {
78
- readonly category: "interactiveContent";
79
- readonly acceptsChildren: false;
80
- };
81
- readonly MixAndMatch: {
82
- readonly category: "interactiveContent";
83
- readonly acceptsChildren: false;
84
- };
85
- readonly WidgetBlock: {
86
- readonly category: "widget";
87
- readonly acceptsChildren: false;
88
- };
89
- };
40
+ export declare const BLOCK_CATALOGUE: readonly [{
41
+ readonly wireName: "LayoutContainer";
42
+ readonly category: "layout";
43
+ readonly acceptsChildren: true;
44
+ }, {
45
+ readonly wireName: "TwoColumn";
46
+ readonly category: "layout";
47
+ readonly acceptsChildren: true;
48
+ }, {
49
+ readonly wireName: "Header";
50
+ readonly category: "activityContent";
51
+ readonly acceptsChildren: false;
52
+ }, {
53
+ readonly wireName: "Text";
54
+ readonly category: "activityContent";
55
+ readonly acceptsChildren: false;
56
+ }, {
57
+ readonly wireName: "QuoteBlock";
58
+ readonly category: "activityContent";
59
+ readonly acceptsChildren: false;
60
+ }, {
61
+ readonly wireName: "CodeBlock";
62
+ readonly category: "activityContent";
63
+ readonly acceptsChildren: false;
64
+ }, {
65
+ readonly wireName: "ImageBlock";
66
+ readonly category: "activityContent";
67
+ readonly acceptsChildren: false;
68
+ }, {
69
+ readonly wireName: "VideoBlock";
70
+ readonly category: "activityContent";
71
+ readonly acceptsChildren: false;
72
+ }, {
73
+ readonly wireName: "Accordion";
74
+ readonly category: "activityContent";
75
+ readonly acceptsChildren: false;
76
+ }, {
77
+ readonly wireName: "TabsBlock";
78
+ readonly category: "activityContent";
79
+ readonly acceptsChildren: false;
80
+ }, {
81
+ readonly wireName: "KnowledgeCheckBlock";
82
+ readonly category: "interactiveContent";
83
+ readonly acceptsChildren: false;
84
+ }, {
85
+ readonly wireName: "FlashCards";
86
+ readonly category: "interactiveContent";
87
+ readonly acceptsChildren: false;
88
+ }, {
89
+ readonly wireName: "MixAndMatch";
90
+ readonly category: "interactiveContent";
91
+ readonly acceptsChildren: false;
92
+ }, {
93
+ readonly wireName: "WidgetBlock";
94
+ readonly category: "widget";
95
+ readonly acceptsChildren: false;
96
+ }];
90
97
  /** Wire names of the blocks this package ships. */
91
- export type BlockName = keyof typeof BLOCK_CATALOGUE;
98
+ export type BlockName = (typeof BLOCK_CATALOGUE)[number]['wireName'];
92
99
  export declare function isKnownBlock(name: string): name is BlockName;
100
+ export declare function getCatalogueEntry(wireName: string): BlockCatalogueEntry | undefined;
93
101
  /**
94
102
  * Why a renderer could not resolve a node.
95
103
  *
@@ -1 +1 @@
1
- {"version":3,"file":"blockCatalogue.d.ts","sourceRoot":"","sources":["../../src/registry/blockCatalogue.ts"],"names":[],"mappings":"AAkBA;;;;;;;;GAQG;AAEH,qDAAqD;AACrD,eAAO,MAAM,aAAa;;;;;CAKhB,CAAA;AAEV,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAA;AAE9E,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,aAAa,CAAA;IACvB,eAAe,EAAE,OAAO,CAAA;CACzB;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkB4B,CAAA;AAExD,mDAAmD;AACnD,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,eAAe,CAAA;AAEpD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,SAAS,CAI5D;AAED;;;;;GAKG;AACH,MAAM,MAAM,qBAAqB,GAAG,gBAAgB,GAAG,SAAS,CAAA;AAEhE,MAAM,WAAW,eAAe;IAC9B,+BAA+B;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,qDAAqD;IACrD,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,qBAAqB,CAAA;CAC9B;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,qBAAqB,CAEzE"}
1
+ {"version":3,"file":"blockCatalogue.d.ts","sourceRoot":"","sources":["../../src/registry/blockCatalogue.ts"],"names":[],"mappings":"AAkBA;;;;;;;;;GASG;AAEH,qDAAqD;AACrD,eAAO,MAAM,aAAa;;;;;CAKhB,CAAA;AAEV,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAA;AAE9E,MAAM,WAAW,mBAAmB;IAClC;;;;;OAKG;IACH,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,aAAa,CAAA;IACvB,eAAe,EAAE,OAAO,CAAA;CACzB;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmBuB,CAAA;AAEnD,mDAAmD;AACnD,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAA;AAWpE,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,SAAS,CAI5D;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS,CAEnF;AAED;;;;;GAKG;AACH,MAAM,MAAM,qBAAqB,GAAG,gBAAgB,GAAG,SAAS,CAAA;AAEhE,MAAM,WAAW,eAAe;IAC9B,+BAA+B;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,qDAAqD;IACrD,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,qBAAqB,CAAA;CAC9B;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,qBAAqB,CAEzE"}
@@ -1,6 +1,12 @@
1
1
  import { ComponentType, ReactNode } from 'react';
2
2
  import { DesignerItemAction } from '../editor/document/designerItemAction';
3
3
  import { RegisteredComponentSchema } from '../schema/registeredSchema';
4
+ /**
5
+ * Carries a column stack's 0-based index. A block styles its columns through this and
6
+ * never through `> div`: a host's editor wraps children in scaffolding of its own, which a
7
+ * type selector would hit and override.
8
+ */
9
+ export declare const COLUMN_STACK_ATTR = "data-bce-column";
4
10
  /**
5
11
  * Everything a renderer needs to resolve one block.
6
12
  *
@@ -22,15 +28,13 @@ export interface BlockRegistryEntry<TProps = unknown> {
22
28
  */
23
29
  acceptsChildren?: boolean;
24
30
  /**
25
- * Wrap each child in its own div positioned by `gridColumn`, rather than rendering
26
- * children straight into the block.
31
+ * Each stack is marked with `COLUMN_STACK_ATTR` and pinned to its `grid-column`.
32
+ * TwoColumn sets `2`.
27
33
  *
28
- * TwoColumn needs this: its stylesheet collapses and reorders the columns via `> *` and
29
- * `> div:nth-of-type(1|2)`, so the per-child div is load-bearing. Expressed as a flag on
30
- * the entry rather than a block name hardcoded in the renderer, so the wire name stays
31
- * the host's choice and a host's own two-column block can opt in.
34
+ * Per column rather than per child so each column's flow stays independent otherwise
35
+ * children auto-place into rows, where the tallest sets the height.
32
36
  */
33
- wrapsChildrenInGridCells?: boolean;
37
+ stacksChildrenIntoColumns?: number;
34
38
  /** Lightweight stand-in for drag operations, where mounting the real block is too costly. */
35
39
  renderDragPreview?: (props: Partial<TProps>) => ReactNode;
36
40
  /**
@@ -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;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
+ {"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;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,oBAAoB,CAAA;AAElD;;;;;;;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;;;;;;OAMG;IACH,yBAAyB,CAAC,EAAE,MAAM,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"}
@@ -22,7 +22,7 @@ export interface BlockDefinition<TProps> {
22
22
  /** Host blocks only — catalogued blocks take this from `BLOCK_CATALOGUE`. */
23
23
  acceptsChildren?: boolean;
24
24
  renderDragPreview?: (props: Partial<TProps>) => ReactNode;
25
- wrapsChildrenInGridCells?: boolean;
25
+ stacksChildrenIntoColumns?: number;
26
26
  }
27
27
  /** What the host supplies for a block that owns strings. */
28
28
  export interface BlockFactoryOptions<TTranslations> {
@@ -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;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
+ {"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,EAAqB,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACpE,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,yBAAyB,CAAC,EAAE,MAAM,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
- export { type BlockRegistry, type BlockRegistryEntry, defineRegistry, type PropsOf, } from './blockRegistry';
2
- export { BLOCK_CATALOGUE, BlockCategory, type BlockCatalogueEntry, type BlockName, isKnownBlock, type UnresolvedBlock, type UnresolvedBlockReason, unresolvedReason, } from './blockCatalogue';
1
+ export { type BlockRegistry, type BlockRegistryEntry, COLUMN_STACK_ATTR, defineRegistry, type PropsOf, } from './blockRegistry';
2
+ export { BLOCK_CATALOGUE, BlockCategory, type BlockCatalogueEntry, type BlockName, getCatalogueEntry, isKnownBlock, type UnresolvedBlock, type UnresolvedBlockReason, unresolvedReason, } from './blockCatalogue';
3
3
  export { type BlockDefinition, type BlockFactoryOptions, defineBlock, type UntranslatedBlockFactoryOptions, } from './defineBlock';
4
4
  export { getMergedProps } from './getMergedProps';
5
5
  export { resolveBlockEntry } from './resolveBlockEntry';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/registry/index.ts"],"names":[],"mappings":"AAkBA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,cAAc,EACd,KAAK,OAAO,GACb,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACL,eAAe,EACf,aAAa,EACb,KAAK,mBAAmB,EACxB,KAAK,SAAS,EACd,YAAY,EACZ,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,gBAAgB,GACjB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,WAAW,EACX,KAAK,+BAA+B,GACrC,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,YAAY,EACV,iBAAiB,EACjB,UAAU,EACV,YAAY,EACZ,eAAe,EACf,iBAAiB,GAClB,MAAM,iBAAiB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/registry/index.ts"],"names":[],"mappings":"AAkBA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,iBAAiB,EACjB,cAAc,EACd,KAAK,OAAO,GACb,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACL,eAAe,EACf,aAAa,EACb,KAAK,mBAAmB,EACxB,KAAK,SAAS,EACd,iBAAiB,EACjB,YAAY,EACZ,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,gBAAgB,GACjB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,WAAW,EACX,KAAK,+BAA+B,GACrC,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,YAAY,EACV,iBAAiB,EACjB,UAAU,EACV,YAAY,EACZ,eAAe,EACf,iBAAiB,GAClB,MAAM,iBAAiB,CAAA"}
@@ -96,9 +96,12 @@ declare const BLOCK_SCHEMAS: {
96
96
  }>;
97
97
  QuoteBlock: RegisteredComponentSchema<{
98
98
  content: string;
99
+ colorTheme?: "light" | "dark" | "neutral" | undefined;
99
100
  cornerStyle?: "rounded" | "square" | undefined;
101
+ align?: "left" | "center" | "right" | undefined;
100
102
  author?: string | undefined;
101
- decorationStyle?: "none" | "background-secondary" | "background-grey" | "border-primary" | undefined;
103
+ quoteSize?: number | undefined;
104
+ decorationStyle?: "fill" | "none" | "sidebar" | undefined;
102
105
  }>;
103
106
  TabsBlock: RegisteredComponentSchema<{
104
107
  tabs: {
@@ -1 +1 @@
1
- {"version":3,"file":"schemaRegistry.d.ts","sourceRoot":"","sources":["../../src/schema/schemaRegistry.ts"],"names":[],"mappings":"AAgCA,OAAO,EAAE,KAAK,SAAS,EAAgB,MAAM,4BAA4B,CAAA;AACzE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAA;AAGnE,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAe8C,CAAA;AAEjE,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,SAAS,CAAC,CAAA;AAE3D,wBAAgB,cAAc,CAAC,SAAS,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,CAE5E;AAED;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,mBAAmB,CAAA;AAoD1D;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,MAAM,EACpD,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,CAAC,EACR,WAAW,EAAE,WAAW,EACxB,EAAE,EAAE,CAAC,KAAK,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,KAAK,OAAO,GACtD,CAAC,CAMH"}
1
+ {"version":3,"file":"schemaRegistry.d.ts","sourceRoot":"","sources":["../../src/schema/schemaRegistry.ts"],"names":[],"mappings":"AAgCA,OAAO,EAAE,KAAK,SAAS,EAAgB,MAAM,4BAA4B,CAAA;AACzE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAA;AAGnE,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAe8C,CAAA;AAEjE,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,SAAS,CAAC,CAAA;AAE3D,wBAAgB,cAAc,CAAC,SAAS,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,CAE5E;AAED;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,mBAAmB,CAAA;AAoD1D;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,MAAM,EACpD,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,CAAC,EACR,WAAW,EAAE,WAAW,EACxB,EAAE,EAAE,CAAC,KAAK,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,KAAK,OAAO,GACtD,CAAC,CAMH"}
@@ -1,3 +1,3 @@
1
- export { deriveBrandColorVariants } from './brandColorVariants';
1
+ export { BRAND_DARK_TEXT, deriveBrandColorVariants } from './brandColorVariants';
2
2
  export type { ColorVariant, ColorVariants } from './types';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/colorVariants/index.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAA;AAC/D,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/colorVariants/index.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAA;AAChF,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA"}
@@ -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;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"}
1
+ {"version":3,"file":"Viewer.d.ts","sourceRoot":"","sources":["../../src/viewer/Viewer.tsx"],"names":[],"mappings":"AAmBA,OAAO,EAAE,KAAK,aAAa,EAAqB,MAAM,2BAA2B,CAAA;AACjF,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;AAmJD;;;;;;;;;GASG;AACH,wBAAgB,MAAM,CAAC,EACrB,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,GAClB,EAAE,WAAW,kDAoCb"}
package/locales/en.json CHANGED
@@ -81,8 +81,6 @@
81
81
  "duplicate": "Duplicate",
82
82
  "deleteComponent": "Delete %{component}",
83
83
  "delete": "Delete",
84
- "deleteConfirmation": "Are you sure you want to delete this?",
85
- "cancel": "Cancel",
86
84
  "editComponent": "Edit %{component} component",
87
85
  "componentGroup": "%{component} component",
88
86
  "leftColumnLabel": "Left column",
@@ -150,7 +148,8 @@
150
148
  "aiAssistFor": "AI assist for %{componentType}",
151
149
  "aiActions": "AI Actions",
152
150
  "backToMenu": "Back to menu",
153
- "regenerateWithPrompt": "Regenerate with prompt",
151
+ "generateWithIdea": "Generate with an idea",
152
+ "closeAiActions": "Close AI actions",
154
153
  "changeTone": "Change tone",
155
154
  "changeLength": "Change length",
156
155
  "changeReadingLevel": "Change reading level",
@@ -164,7 +163,8 @@
164
163
  "readingNovice": "Novice reader (635L - 1160L)",
165
164
  "readingIntermediate": "Intermediate reader (925L - 1295L)",
166
165
  "readingAdvanced": "Advanced reader (1040L - 1440L)",
167
- "promptPlaceholder": "What would you like to change?",
166
+ "promptPlaceholder": "Describe your idea",
167
+ "promptCharacterCount": "%{count}/%{max}",
168
168
  "previewFirst": "Preview first",
169
169
  "send": "Send",
170
170
  "thinking": "Thinking…",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@instructure/platform-block-content-editor",
3
- "version": "2.1.0",
3
+ "version": "3.1.0",
4
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.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -31,7 +31,7 @@
31
31
  "@instructure/ui-flex": "^11.0.0",
32
32
  "@instructure/ui-form-field": "^11.0.0",
33
33
  "@instructure/ui-heading": "^11.0.0",
34
- "@instructure/ui-icons": "^11.0.0",
34
+ "@instructure/ui-icons": "^11.7.0",
35
35
  "@instructure/ui-img": "^11.0.0",
36
36
  "@instructure/ui-modal": "^11.0.0",
37
37
  "@instructure/ui-number-input": "^11.0.0",