@nextsparkjs/core 0.1.0-beta.67 → 0.1.0-beta.68

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 (58) hide show
  1. package/dist/components/dashboard/block-editor/block-picker.d.ts +7 -2
  2. package/dist/components/dashboard/block-editor/block-picker.d.ts.map +1 -1
  3. package/dist/components/dashboard/block-editor/block-picker.js +27 -20
  4. package/dist/components/dashboard/block-editor/block-preview-canvas.d.ts.map +1 -1
  5. package/dist/components/dashboard/block-editor/block-preview-canvas.js +37 -37
  6. package/dist/components/dashboard/block-editor/block-settings-panel.js +3 -3
  7. package/dist/components/dashboard/block-editor/builder-editor-view.d.ts.map +1 -1
  8. package/dist/components/dashboard/block-editor/builder-editor-view.js +124 -82
  9. package/dist/components/dashboard/block-editor/config-panel.d.ts +18 -0
  10. package/dist/components/dashboard/block-editor/config-panel.d.ts.map +1 -0
  11. package/dist/components/dashboard/block-editor/config-panel.js +413 -0
  12. package/dist/components/dashboard/block-editor/floating-block-toolbar.js +1 -1
  13. package/dist/components/dashboard/block-editor/pattern-card.js +1 -1
  14. package/dist/components/dashboard/block-editor/pattern-reference-preview.js +1 -1
  15. package/dist/components/dashboard/block-editor/sortable-block.js +1 -1
  16. package/dist/components/dashboard/block-editor/tree-view-node.d.ts +11 -0
  17. package/dist/components/dashboard/block-editor/tree-view-node.d.ts.map +1 -0
  18. package/dist/components/dashboard/block-editor/tree-view-node.js +91 -0
  19. package/dist/components/dashboard/block-editor/tree-view.d.ts +17 -0
  20. package/dist/components/dashboard/block-editor/tree-view.d.ts.map +1 -0
  21. package/dist/components/dashboard/block-editor/tree-view.js +125 -0
  22. package/dist/components/dashboard/block-editor/viewport-toggle.d.ts +10 -0
  23. package/dist/components/dashboard/block-editor/viewport-toggle.d.ts.map +1 -0
  24. package/dist/components/dashboard/block-editor/viewport-toggle.js +55 -0
  25. package/dist/components/public/pageBuilder/PageRenderer.d.ts.map +1 -1
  26. package/dist/components/public/pageBuilder/PageRenderer.js +10 -1
  27. package/dist/components/ui/dynamic-icon.d.ts +12 -0
  28. package/dist/components/ui/dynamic-icon.d.ts.map +1 -0
  29. package/dist/components/ui/dynamic-icon.js +11 -0
  30. package/dist/lib/selectors/core-selectors.d.ts +98 -44
  31. package/dist/lib/selectors/core-selectors.d.ts.map +1 -1
  32. package/dist/lib/selectors/domains/block-editor.selectors.d.ts +136 -71
  33. package/dist/lib/selectors/domains/block-editor.selectors.d.ts.map +1 -1
  34. package/dist/lib/selectors/domains/block-editor.selectors.js +130 -60
  35. package/dist/lib/selectors/selectors.d.ts +196 -88
  36. package/dist/lib/selectors/selectors.d.ts.map +1 -1
  37. package/dist/messages/en/admin.json +15 -1
  38. package/dist/messages/en/index.d.ts +14 -0
  39. package/dist/messages/en/index.d.ts.map +1 -1
  40. package/dist/messages/es/admin.json +16 -1
  41. package/dist/messages/es/index.d.ts +15 -0
  42. package/dist/messages/es/index.d.ts.map +1 -1
  43. package/dist/presets/blocks/cta-section/component.tsx +4 -4
  44. package/dist/presets/blocks/features-grid/component.tsx +5 -5
  45. package/dist/presets/blocks/hero/component.tsx +2 -2
  46. package/dist/presets/blocks/testimonials/component.tsx +4 -4
  47. package/dist/presets/blocks/text-content/component.tsx +2 -2
  48. package/dist/presets/theme/blocks/hero/component.tsx +2 -2
  49. package/dist/presets/theme/tests/cypress/src/core/BlockEditorBasePOM.ts +123 -24
  50. package/dist/styles/classes.json +9 -2
  51. package/dist/styles/ui.css +1 -1
  52. package/dist/templates/features/blog/blocks/post-content/component.tsx +2 -2
  53. package/dist/templates/features/pages/blocks/hero/component.tsx +2 -2
  54. package/dist/templates/next.config.mjs +5 -3
  55. package/package.json +5 -4
  56. package/templates/features/blog/blocks/post-content/component.tsx +2 -2
  57. package/templates/features/pages/blocks/hero/component.tsx +2 -2
  58. package/templates/next.config.mjs +5 -3
@@ -0,0 +1,125 @@
1
+ "use client";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { useCallback, useMemo, useEffect } from "react";
4
+ import {
5
+ DndContext,
6
+ closestCenter,
7
+ KeyboardSensor,
8
+ PointerSensor,
9
+ useSensor,
10
+ useSensors
11
+ } from "@dnd-kit/core";
12
+ import {
13
+ arrayMove,
14
+ SortableContext,
15
+ sortableKeyboardCoordinates,
16
+ verticalListSortingStrategy
17
+ } from "@dnd-kit/sortable";
18
+ import { useTranslations } from "next-intl";
19
+ import { LayoutList } from "lucide-react";
20
+ import { ScrollArea } from "../../ui/scroll-area.js";
21
+ import { sel } from "../../../lib/test/index.js";
22
+ import { TreeViewNode } from "./tree-view-node.js";
23
+ import { isPatternReference } from "../../../types/pattern-reference.js";
24
+ function TreeView({
25
+ blocks,
26
+ selectedBlockId,
27
+ onSelectBlock,
28
+ onReorder,
29
+ emptyMessage
30
+ }) {
31
+ const t = useTranslations("admin.builder");
32
+ const sensors = useSensors(
33
+ useSensor(PointerSensor, {
34
+ activationConstraint: {
35
+ distance: 8
36
+ }
37
+ }),
38
+ useSensor(KeyboardSensor, {
39
+ coordinateGetter: sortableKeyboardCoordinates
40
+ })
41
+ );
42
+ const groupedItems = useMemo(() => {
43
+ const items = [];
44
+ blocks.forEach((block) => {
45
+ if (isPatternReference(block)) {
46
+ items.push({ id: block.id, block, patternRef: block.ref });
47
+ } else {
48
+ items.push({ id: block.id, block });
49
+ }
50
+ });
51
+ return items;
52
+ }, [blocks]);
53
+ const handleDragEnd = useCallback((event) => {
54
+ const { active, over } = event;
55
+ if (over && active.id !== over.id) {
56
+ const oldIndex = blocks.findIndex((b) => b.id === active.id);
57
+ const newIndex = blocks.findIndex((b) => b.id === over.id);
58
+ if (oldIndex !== -1 && newIndex !== -1) {
59
+ const newBlocks = arrayMove(blocks, oldIndex, newIndex);
60
+ onReorder(newBlocks);
61
+ }
62
+ }
63
+ }, [blocks, onReorder]);
64
+ useEffect(() => {
65
+ if (selectedBlockId) {
66
+ const previewBlock = document.querySelector(
67
+ `[data-cy="${sel("blockEditor.previewCanvas.block", { id: selectedBlockId })}"]`
68
+ );
69
+ if (previewBlock) {
70
+ previewBlock.scrollIntoView({ behavior: "smooth", block: "center" });
71
+ }
72
+ }
73
+ }, [selectedBlockId]);
74
+ const handleSelectBlock = useCallback((blockId) => {
75
+ onSelectBlock(blockId);
76
+ }, [onSelectBlock]);
77
+ if (blocks.length === 0) {
78
+ return /* @__PURE__ */ jsxs(
79
+ "div",
80
+ {
81
+ "data-cy": sel("blockEditor.treeView.empty"),
82
+ className: "flex flex-col items-center justify-center h-full p-6 text-center",
83
+ children: [
84
+ /* @__PURE__ */ jsx(LayoutList, { className: "h-12 w-12 text-muted-foreground/30 mb-4" }),
85
+ /* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground", children: emptyMessage || t("layout.empty") })
86
+ ]
87
+ }
88
+ );
89
+ }
90
+ return /* @__PURE__ */ jsx(ScrollArea, { className: "h-full", children: /* @__PURE__ */ jsx(
91
+ "div",
92
+ {
93
+ "data-cy": sel("blockEditor.treeView.container"),
94
+ className: "p-3 space-y-1",
95
+ children: /* @__PURE__ */ jsx(
96
+ DndContext,
97
+ {
98
+ sensors,
99
+ collisionDetection: closestCenter,
100
+ onDragEnd: handleDragEnd,
101
+ children: /* @__PURE__ */ jsx(
102
+ SortableContext,
103
+ {
104
+ items: groupedItems.map((item) => item.id),
105
+ strategy: verticalListSortingStrategy,
106
+ children: groupedItems.map((item) => /* @__PURE__ */ jsx(
107
+ TreeViewNode,
108
+ {
109
+ block: item.block,
110
+ isSelected: selectedBlockId === item.id,
111
+ onSelect: () => handleSelectBlock(item.id),
112
+ isPartOfPattern: false
113
+ },
114
+ item.id
115
+ ))
116
+ }
117
+ )
118
+ }
119
+ )
120
+ }
121
+ ) });
122
+ }
123
+ export {
124
+ TreeView
125
+ };
@@ -0,0 +1,10 @@
1
+ export type ViewportMode = 'desktop' | 'mobile';
2
+ export declare const MOBILE_VIEWPORT_WIDTH = 375;
3
+ interface ViewportToggleProps {
4
+ value: ViewportMode;
5
+ onChange: (value: ViewportMode) => void;
6
+ className?: string;
7
+ }
8
+ export declare function ViewportToggle({ value, onChange, className }: ViewportToggleProps): import("react/jsx-runtime").JSX.Element;
9
+ export {};
10
+ //# sourceMappingURL=viewport-toggle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"viewport-toggle.d.ts","sourceRoot":"","sources":["../../../../src/components/dashboard/block-editor/viewport-toggle.tsx"],"names":[],"mappings":"AAOA,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,QAAQ,CAAA;AAE/C,eAAO,MAAM,qBAAqB,MAAM,CAAA;AAExC,UAAU,mBAAmB;IAC3B,KAAK,EAAE,YAAY,CAAA;IACnB,QAAQ,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAA;IACvC,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,wBAAgB,cAAc,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,mBAAmB,2CAqCjF"}
@@ -0,0 +1,55 @@
1
+ "use client";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { Monitor, Smartphone } from "lucide-react";
4
+ import { Button } from "../../ui/button.js";
5
+ import { cn } from "../../../lib/utils.js";
6
+ import { sel } from "../../../lib/test/index.js";
7
+ const MOBILE_VIEWPORT_WIDTH = 375;
8
+ function ViewportToggle({ value, onChange, className }) {
9
+ return /* @__PURE__ */ jsxs(
10
+ "div",
11
+ {
12
+ "data-cy": sel("blockEditor.header.viewportToggle.container"),
13
+ className: cn(
14
+ "flex items-center bg-muted rounded-lg p-1",
15
+ className
16
+ ),
17
+ children: [
18
+ /* @__PURE__ */ jsx(
19
+ Button,
20
+ {
21
+ variant: "ghost",
22
+ size: "sm",
23
+ className: cn(
24
+ "h-7 w-7 p-0 rounded-md",
25
+ value === "mobile" && "bg-background shadow-sm"
26
+ ),
27
+ onClick: () => onChange("mobile"),
28
+ "data-cy": sel("blockEditor.header.viewportToggle.mobileBtn"),
29
+ title: "Mobile view (375px)",
30
+ children: /* @__PURE__ */ jsx(Smartphone, { className: "h-4 w-4" })
31
+ }
32
+ ),
33
+ /* @__PURE__ */ jsx(
34
+ Button,
35
+ {
36
+ variant: "ghost",
37
+ size: "sm",
38
+ className: cn(
39
+ "h-7 w-7 p-0 rounded-md",
40
+ value === "desktop" && "bg-background shadow-sm"
41
+ ),
42
+ onClick: () => onChange("desktop"),
43
+ "data-cy": sel("blockEditor.header.viewportToggle.desktopBtn"),
44
+ title: "Desktop view (100%)",
45
+ children: /* @__PURE__ */ jsx(Monitor, { className: "h-4 w-4" })
46
+ }
47
+ )
48
+ ]
49
+ }
50
+ );
51
+ }
52
+ export {
53
+ MOBILE_VIEWPORT_WIDTH,
54
+ ViewportToggle
55
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"PageRenderer.d.ts","sourceRoot":"","sources":["../../../../src/components/public/pageBuilder/PageRenderer.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAmD1D,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM,CAAA;QACV,KAAK,EAAE,MAAM,CAAA;QACb,IAAI,EAAE,MAAM,CAAA;QACZ,MAAM,EAAE,aAAa,EAAE,CAAA;QACvB,MAAM,EAAE,MAAM,CAAA;KACf,CAAA;CACF;AAED,wBAAgB,YAAY,CAAC,EAAE,IAAI,EAAE,EAAE,iBAAiB,2CA0BvD"}
1
+ {"version":3,"file":"PageRenderer.d.ts","sourceRoot":"","sources":["../../../../src/components/public/pageBuilder/PageRenderer.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAmD1D,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM,CAAA;QACV,KAAK,EAAE,MAAM,CAAA;QACb,IAAI,EAAE,MAAM,CAAA;QACZ,MAAM,EAAE,aAAa,EAAE,CAAA;QACvB,MAAM,EAAE,MAAM,CAAA;KACf,CAAA;CACF;AAED,wBAAgB,YAAY,CAAC,EAAE,IAAI,EAAE,EAAE,iBAAiB,2CA+BvD"}
@@ -34,7 +34,16 @@ function PageRenderer({ page }) {
34
34
  /* @__PURE__ */ jsx("p", { className: "text-muted-foreground", children: "This page does not have any content yet." })
35
35
  ] }) });
36
36
  }
37
- return /* @__PURE__ */ jsx("div", { className: "min-h-screen", "data-page-id": page.id, "data-page-slug": page.slug, children: blocks.map((block) => /* @__PURE__ */ jsx("div", { "data-block-id": block.id, "data-block-slug": block.blockSlug, children: /* @__PURE__ */ jsx(BlockRenderer, { block }) }, block.id)) });
37
+ return /* @__PURE__ */ jsx("div", { className: "min-h-screen", "data-page-id": page.id, "data-page-slug": page.slug, children: blocks.map((block) => /* @__PURE__ */ jsx(
38
+ "div",
39
+ {
40
+ className: "@container w-full",
41
+ "data-block-id": block.id,
42
+ "data-block-slug": block.blockSlug,
43
+ children: /* @__PURE__ */ jsx(BlockRenderer, { block })
44
+ },
45
+ block.id
46
+ )) });
38
47
  }
39
48
  export {
40
49
  PageRenderer
@@ -0,0 +1,12 @@
1
+ interface DynamicIconProps {
2
+ name: string;
3
+ className?: string;
4
+ fallback?: string;
5
+ }
6
+ /**
7
+ * Renders a Lucide icon dynamically by name.
8
+ * Falls back to 'LayoutGrid' if icon name is not found.
9
+ */
10
+ export declare function DynamicIcon({ name, className, fallback }: DynamicIconProps): import("react/jsx-runtime").JSX.Element;
11
+ export {};
12
+ //# sourceMappingURL=dynamic-icon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic-icon.d.ts","sourceRoot":"","sources":["../../../src/components/ui/dynamic-icon.tsx"],"names":[],"mappings":"AAKA,UAAU,gBAAgB;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAuB,EAAE,EAAE,gBAAgB,2CAKzF"}
@@ -0,0 +1,11 @@
1
+ "use client";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import { icons } from "lucide-react";
4
+ import { cn } from "../../lib/utils.js";
5
+ function DynamicIcon({ name, className, fallback = "LayoutGrid" }) {
6
+ const IconComponent = icons[name] || icons[fallback] || icons.LayoutGrid;
7
+ return /* @__PURE__ */ jsx(IconComponent, { className: cn("h-4 w-4", className) });
8
+ }
9
+ export {
10
+ DynamicIcon
11
+ };
@@ -429,8 +429,13 @@ export declare const CORE_SELECTORS: {
429
429
  readonly slugInput: "builder-slug-input";
430
430
  readonly externalLink: "builder-external-link";
431
431
  readonly viewToggle: "builder-view-toggle";
432
- readonly viewEditor: "builder-view-editor";
433
432
  readonly viewPreview: "builder-view-preview";
433
+ readonly viewSettings: "builder-view-settings";
434
+ readonly viewportToggle: {
435
+ readonly container: "builder-viewport-toggle";
436
+ readonly mobileBtn: "builder-viewport-mobile";
437
+ readonly desktopBtn: "builder-viewport-desktop";
438
+ };
434
439
  readonly statusSelector: "builder-status-selector";
435
440
  readonly statusOption: "builder-status-option-{value}";
436
441
  readonly statusDot: "builder-status-dot";
@@ -445,7 +450,7 @@ export declare const CORE_SELECTORS: {
445
450
  readonly container: "block-picker";
446
451
  readonly tabBlocks: "block-picker-tab-blocks";
447
452
  readonly tabPatterns: "block-picker-tab-patterns";
448
- readonly tabConfig: "block-picker-tab-config";
453
+ readonly tabLayout: "block-picker-tab-layout";
449
454
  readonly tabIndicator: "block-picker-tab-indicator";
450
455
  readonly searchWrapper: "block-picker-search-wrapper";
451
456
  readonly searchIcon: "block-picker-search-icon";
@@ -474,39 +479,36 @@ export declare const CORE_SELECTORS: {
474
479
  readonly patternCardBlockCount: "block-picker-pattern-blocks-{id}";
475
480
  readonly patternCardInsertButton: "block-picker-pattern-insert-{id}";
476
481
  };
477
- readonly entityFieldsPanel: {
478
- readonly container: "entity-fields-panel";
479
- readonly field: "entity-field-{name}";
480
- readonly categoryList: "entity-field-categories";
481
- readonly categoryItem: "entity-field-category-{slug}";
482
- readonly categoryCheckbox: "entity-field-category-checkbox-{slug}";
483
- readonly categoryBadge: "entity-field-category-badge-{slug}";
484
- };
485
- readonly layoutCanvas: {
486
- readonly container: "layout-canvas";
487
- readonly empty: "layout-canvas-empty";
488
- readonly dropZone: "layout-canvas-dropzone";
489
- readonly sortableBlock: {
490
- readonly container: "sortable-block-{id}";
491
- readonly card: "sortable-block-card-{id}";
492
- readonly dragHandle: "sortable-block-drag-{id}";
493
- readonly name: "sortable-block-name-{id}";
494
- readonly category: "sortable-block-category-{id}";
495
- readonly propsPreview: "sortable-block-props-{id}";
496
- readonly duplicateBtn: "sortable-block-duplicate-{id}";
497
- readonly removeBtn: "sortable-block-remove-{id}";
498
- readonly error: "sortable-block-error-{id}";
499
- };
482
+ readonly treeView: {
483
+ readonly container: "builder-tree-view";
484
+ readonly empty: "builder-tree-empty";
485
+ readonly node: "builder-tree-node-{id}";
486
+ readonly nodeIcon: "builder-tree-node-icon-{id}";
487
+ readonly nodeName: "builder-tree-node-name-{id}";
488
+ readonly nodeDragHandle: "builder-tree-node-drag-{id}";
489
+ readonly nodeSelected: "builder-tree-node-selected";
490
+ readonly patternGroup: "builder-tree-pattern-{ref}";
491
+ readonly patternGroupHeader: "builder-tree-pattern-header-{ref}";
492
+ readonly patternGroupBlocks: "builder-tree-pattern-blocks-{ref}";
500
493
  };
501
494
  readonly previewCanvas: {
502
495
  readonly container: "preview-canvas";
503
496
  readonly wrapper: "preview-canvas-wrapper";
504
497
  readonly content: "preview-canvas-content";
505
498
  readonly empty: "preview-canvas-empty";
499
+ readonly viewport: "preview-canvas-viewport-{mode}";
500
+ readonly viewportMobile: "preview-canvas-mobile";
501
+ readonly viewportDesktop: "preview-canvas-desktop";
502
+ readonly iframePreview: {
503
+ readonly container: "preview-iframe-container";
504
+ readonly loading: "preview-iframe-loading";
505
+ readonly frame: "preview-iframe-frame";
506
+ };
506
507
  readonly block: "preview-block-{id}";
507
508
  readonly blockWrapper: "preview-block-wrapper-{id}";
508
509
  readonly blockSelected: "preview-block-selected-{id}";
509
510
  readonly editingBadge: "preview-block-editing-{id}";
511
+ readonly blockGeneric: "preview-block-";
510
512
  readonly floatingToolbar: {
511
513
  readonly container: "floating-toolbar-{id}";
512
514
  readonly dragHandle: "floating-toolbar-drag-{id}";
@@ -518,6 +520,32 @@ export declare const CORE_SELECTORS: {
518
520
  readonly moveUp: "preview-block-move-up-{id}";
519
521
  readonly moveDown: "preview-block-move-down-{id}";
520
522
  };
523
+ readonly configPanel: {
524
+ readonly container: "builder-config-panel";
525
+ readonly scroll: "builder-config-scroll";
526
+ readonly entityFieldsSection: {
527
+ readonly container: "builder-config-entity-section";
528
+ readonly trigger: "builder-config-entity-trigger";
529
+ readonly content: "builder-config-entity-content";
530
+ readonly field: "builder-config-entity-field-{name}";
531
+ };
532
+ readonly seoMetaSection: {
533
+ readonly container: "builder-config-seo-section";
534
+ readonly trigger: "builder-config-seo-trigger";
535
+ readonly content: "builder-config-seo-content";
536
+ readonly metaTitle: "builder-config-seo-title";
537
+ readonly metaDescription: "builder-config-seo-description";
538
+ readonly metaKeywords: "builder-config-seo-keywords";
539
+ readonly ogImage: "builder-config-seo-og-image";
540
+ readonly customFields: {
541
+ readonly container: "builder-config-custom-fields";
542
+ readonly fieldKey: "builder-config-custom-key-{index}";
543
+ readonly fieldValue: "builder-config-custom-value-{index}";
544
+ readonly fieldRemove: "builder-config-custom-remove-{index}";
545
+ readonly addButton: "builder-config-custom-add";
546
+ };
547
+ };
548
+ };
521
549
  readonly patternReference: {
522
550
  readonly container: "pattern-reference-{ref}";
523
551
  readonly badge: "pattern-reference-badge-{ref}";
@@ -525,25 +553,6 @@ export declare const CORE_SELECTORS: {
525
553
  readonly locked: "pattern-reference-locked-{ref}";
526
554
  readonly editLink: "pattern-reference-edit-link-{ref}";
527
555
  };
528
- readonly entityMetaPanel: {
529
- readonly container: "entity-meta-panel";
530
- readonly seoSection: {
531
- readonly trigger: "entity-meta-seo-trigger";
532
- readonly content: "entity-meta-seo-content";
533
- readonly metaTitle: "entity-meta-seo-title";
534
- readonly metaDescription: "entity-meta-seo-description";
535
- readonly metaKeywords: "entity-meta-seo-keywords";
536
- readonly ogImage: "entity-meta-seo-og-image";
537
- };
538
- readonly customFields: {
539
- readonly trigger: "entity-meta-custom-trigger";
540
- readonly content: "entity-meta-custom-content";
541
- readonly fieldKey: "entity-meta-custom-key-{index}";
542
- readonly fieldValue: "entity-meta-custom-value-{index}";
543
- readonly fieldRemove: "entity-meta-custom-remove-{index}";
544
- readonly addButton: "entity-meta-custom-add";
545
- };
546
- };
547
556
  readonly blockPropertiesPanel: {
548
557
  readonly container: "block-properties-panel";
549
558
  readonly header: "block-properties-header";
@@ -556,6 +565,7 @@ export declare const CORE_SELECTORS: {
556
565
  readonly tabAdvanced: "block-properties-tab-advanced";
557
566
  readonly empty: "block-properties-empty";
558
567
  readonly error: "block-properties-error";
568
+ readonly resetPropsBtn: "block-properties-reset-btn";
559
569
  readonly patternLocked: "block-properties-pattern-locked";
560
570
  readonly patternTitle: "block-properties-pattern-title";
561
571
  readonly patternEditLink: "block-properties-pattern-edit";
@@ -584,6 +594,50 @@ export declare const CORE_SELECTORS: {
584
594
  readonly categoryBadge: "entity-field-category-badge-{id}";
585
595
  readonly categoryRemove: "entity-field-category-remove-{id}";
586
596
  };
597
+ readonly layoutCanvas: {
598
+ readonly container: "layout-canvas";
599
+ readonly empty: "layout-canvas-empty";
600
+ readonly dropZone: "layout-canvas-dropzone";
601
+ readonly sortableBlock: {
602
+ readonly container: "sortable-block-{id}";
603
+ readonly card: "sortable-block-card-{id}";
604
+ readonly dragHandle: "sortable-block-drag-{id}";
605
+ readonly name: "sortable-block-name-{id}";
606
+ readonly category: "sortable-block-category-{id}";
607
+ readonly propsPreview: "sortable-block-props-{id}";
608
+ readonly duplicateBtn: "sortable-block-duplicate-{id}";
609
+ readonly removeBtn: "sortable-block-remove-{id}";
610
+ readonly error: "sortable-block-error-{id}";
611
+ readonly generic: "sortable-block-";
612
+ };
613
+ };
614
+ readonly entityFieldsPanel: {
615
+ readonly container: "entity-fields-panel";
616
+ readonly field: "entity-field-{name}";
617
+ readonly categoryList: "entity-field-categories";
618
+ readonly categoryItem: "entity-field-category-{slug}";
619
+ readonly categoryCheckbox: "entity-field-category-checkbox-{slug}";
620
+ readonly categoryBadge: "entity-field-category-badge-{slug}";
621
+ };
622
+ readonly entityMetaPanel: {
623
+ readonly container: "entity-meta-panel";
624
+ readonly seoSection: {
625
+ readonly trigger: "entity-meta-seo-trigger";
626
+ readonly content: "entity-meta-seo-content";
627
+ readonly metaTitle: "entity-meta-seo-title";
628
+ readonly metaDescription: "entity-meta-seo-description";
629
+ readonly metaKeywords: "entity-meta-seo-keywords";
630
+ readonly ogImage: "entity-meta-seo-og-image";
631
+ };
632
+ readonly customFields: {
633
+ readonly trigger: "entity-meta-custom-trigger";
634
+ readonly content: "entity-meta-custom-content";
635
+ readonly fieldKey: "entity-meta-custom-key-{index}";
636
+ readonly fieldValue: "entity-meta-custom-value-{index}";
637
+ readonly fieldRemove: "entity-meta-custom-remove-{index}";
638
+ readonly addButton: "entity-meta-custom-add";
639
+ };
640
+ };
587
641
  };
588
642
  readonly settings: {
589
643
  readonly container: "settings-container";
@@ -1 +1 @@
1
- {"version":3,"file":"core-selectors.d.ts","sourceRoot":"","sources":["../../../src/lib/selectors/core-selectors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAgBH;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAcjB,CAAA;AAEV;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,cAAc,CAAA;AAGrD,cAAc,WAAW,CAAA"}
1
+ {"version":3,"file":"core-selectors.d.ts","sourceRoot":"","sources":["../../../src/lib/selectors/core-selectors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAgBH;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAcjB,CAAA;AAEV;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,cAAc,CAAA;AAGrD,cAAc,WAAW,CAAA"}