@makeswift/runtime 0.0.0-646104a → 0.0.0-76a2297

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 (96) hide show
  1. package/dist/Page.cjs.js +215 -0
  2. package/dist/Page.cjs.js.map +1 -0
  3. package/dist/Page.es.js +209 -0
  4. package/dist/Page.es.js.map +1 -0
  5. package/dist/actions.cjs.js +5 -0
  6. package/dist/actions.cjs.js.map +1 -1
  7. package/dist/actions.es.js +5 -1
  8. package/dist/actions.es.js.map +1 -1
  9. package/dist/components.cjs.js +14 -1
  10. package/dist/components.cjs.js.map +1 -1
  11. package/dist/components.es.js +6 -2
  12. package/dist/components.es.js.map +1 -1
  13. package/dist/control-serialization.cjs.js +61 -5
  14. package/dist/control-serialization.cjs.js.map +1 -1
  15. package/dist/control-serialization.es.js +61 -5
  16. package/dist/control-serialization.es.js.map +1 -1
  17. package/dist/descriptors.cjs.js +6 -0
  18. package/dist/descriptors.cjs.js.map +1 -1
  19. package/dist/descriptors.es.js +6 -1
  20. package/dist/descriptors.es.js.map +1 -1
  21. package/dist/main.cjs.js +1 -0
  22. package/dist/main.cjs.js.map +1 -1
  23. package/dist/main.es.js +1 -1
  24. package/dist/next.cjs.js +36 -17
  25. package/dist/next.cjs.js.map +1 -1
  26. package/dist/next.es.js +37 -18
  27. package/dist/next.es.js.map +1 -1
  28. package/dist/react-builder-preview.cjs.js +3 -0
  29. package/dist/react-builder-preview.cjs.js.map +1 -1
  30. package/dist/react-builder-preview.es.js +4 -1
  31. package/dist/react-builder-preview.es.js.map +1 -1
  32. package/dist/react-page.cjs.js +1 -1
  33. package/dist/react-page.cjs.js.map +1 -1
  34. package/dist/react-page.es.js +2 -2
  35. package/dist/react-page.es.js.map +1 -1
  36. package/dist/react.cjs.js +4 -1
  37. package/dist/react.cjs.js.map +1 -1
  38. package/dist/react.cjs2.js +278 -83
  39. package/dist/react.cjs2.js.map +1 -1
  40. package/dist/react.es.js +4 -1
  41. package/dist/react.es.js.map +1 -1
  42. package/dist/react.es2.js +268 -82
  43. package/dist/react.es2.js.map +1 -1
  44. package/dist/types/api/react.d.ts +22 -4
  45. package/dist/types/api/react.d.ts.map +1 -1
  46. package/dist/types/builder/serialization/control-serialization.d.ts +55 -7
  47. package/dist/types/builder/serialization/control-serialization.d.ts.map +1 -1
  48. package/dist/types/components/builtin/Form/prop-controllers.d.ts +1 -0
  49. package/dist/types/components/builtin/Form/prop-controllers.d.ts.map +1 -0
  50. package/dist/types/components/builtin/Video/Video.d.ts +15 -0
  51. package/dist/types/components/builtin/Video/Video.d.ts.map +1 -0
  52. package/dist/types/components/builtin/Video/index.d.ts +2 -0
  53. package/dist/types/components/builtin/Video/index.d.ts.map +1 -0
  54. package/dist/types/components/builtin/Video/prop-controllers.d.ts +50 -0
  55. package/dist/types/components/builtin/Video/prop-controllers.d.ts.map +1 -0
  56. package/dist/types/components/builtin/index.d.ts.map +1 -1
  57. package/dist/types/components/hooks/useTableWorkspace.d.ts +14 -0
  58. package/dist/types/components/hooks/useTableWorkspace.d.ts.map +1 -0
  59. package/dist/types/components/index.d.ts +2 -0
  60. package/dist/types/components/index.d.ts.map +1 -1
  61. package/dist/types/components/page/BodySnippet.d.ts +7 -0
  62. package/dist/types/components/page/BodySnippet.d.ts.map +1 -0
  63. package/dist/types/components/page/Page.d.ts +45 -0
  64. package/dist/types/components/page/Page.d.ts.map +1 -0
  65. package/dist/types/components/page/index.d.ts +2 -0
  66. package/dist/types/components/page/index.d.ts.map +1 -0
  67. package/dist/types/components/utils/layout.d.ts +16 -0
  68. package/dist/types/components/utils/layout.d.ts.map +1 -0
  69. package/dist/types/components/utils/placeholders.d.ts +7 -0
  70. package/dist/types/components/utils/placeholders.d.ts.map +1 -1
  71. package/dist/types/components/utils/pollAnimationFrame.d.ts +2 -0
  72. package/dist/types/components/utils/pollAnimationFrame.d.ts.map +1 -0
  73. package/dist/types/components/utils/pollElementLayout.d.ts +8 -0
  74. package/dist/types/components/utils/pollElementLayout.d.ts.map +1 -0
  75. package/dist/types/components/utils/requestBatchedAnimationFrame.d.ts +4 -0
  76. package/dist/types/components/utils/requestBatchedAnimationFrame.d.ts.map +1 -0
  77. package/dist/types/index.d.ts +1 -1
  78. package/dist/types/index.d.ts.map +1 -1
  79. package/dist/types/next.d.ts +5 -4
  80. package/dist/types/next.d.ts.map +1 -1
  81. package/dist/types/prop-controllers/descriptors.d.ts +23 -5
  82. package/dist/types/prop-controllers/descriptors.d.ts.map +1 -1
  83. package/dist/types/prop-controllers/index.d.ts +1 -1
  84. package/dist/types/prop-controllers/index.d.ts.map +1 -1
  85. package/dist/types/runtimes/page.d.ts +9 -0
  86. package/dist/types/runtimes/page.d.ts.map +1 -0
  87. package/dist/types/runtimes/react.d.ts +3 -3
  88. package/dist/types/runtimes/react.d.ts.map +1 -1
  89. package/dist/types/state/actions.d.ts +9 -1
  90. package/dist/types/state/actions.d.ts.map +1 -1
  91. package/dist/types/state/react-builder-preview.d.ts.map +1 -1
  92. package/dist/types/utils/get-redirect-match.d.ts +10 -0
  93. package/dist/types/utils/get-redirect-match.d.ts.map +1 -0
  94. package/dist/types/utils/get-redirect-match.test.d.ts +1 -0
  95. package/dist/types/utils/get-redirect-match.test.d.ts.map +1 -0
  96. package/package.json +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"react-page.cjs.js","sources":["../src/state/modules/read-only-documents.ts","../src/state/modules/react-components.tsx","../src/state/modules/components-meta.ts","../src/state/modules/prop-controllers.ts","../src/prop-controllers/introspection.ts","../src/state/react-page.ts"],"sourcesContent":["import { Action, ActionTypes } from '../actions'\n\nexport type Data = undefined | null | boolean | number | string | Data[] | { [key: string]: Data }\n\nexport type ElementData = { type: string; key: string; props: Record<string, Data> }\n\nexport type ElementReference = { type: 'reference'; key: string; value: string }\n\nexport type Element = ElementData | ElementReference\n\nexport function isElementReference(element: Element): element is ElementReference {\n return !('props' in element)\n}\n\nexport type DocumentReference = {\n key: string\n}\n\nexport function createDocumentReference(key: string): DocumentReference {\n return { key }\n}\n\nexport type Document = {\n key: string\n rootElement: Element\n}\n\nexport function createDocument(key: string, rootElement: Element): Document {\n return { key, rootElement }\n}\n\nexport type State = Map<string, Document>\n\nexport function getInitialState({\n rootElements = new Map(),\n}: { rootElements?: Map<string, Element> } = {}): State {\n const initialState = new Map()\n\n rootElements.forEach((rootElement, documentKey) => {\n initialState.set(documentKey, createDocument(documentKey, rootElement))\n })\n\n return initialState\n}\n\nfunction getDocuments(state: State): Map<string, Document> {\n return state\n}\n\nexport function getDocument(state: State, documentKey: string): Document | null {\n return getDocuments(state).get(documentKey) ?? null\n}\n\nexport function reducer(state: State = getInitialState(), action: Action): State {\n switch (action.type) {\n case ActionTypes.REGISTER_DOCUMENT:\n return new Map(state).set(action.payload.documentKey, action.payload.document)\n\n case ActionTypes.UNREGISTER_DOCUMENT: {\n const nextState = new Map(state)\n\n const deleted = nextState.delete(action.payload.documentKey)\n\n return deleted ? nextState : state\n }\n\n default:\n return state\n }\n}\n","import type {\n ClassAttributes,\n ComponentClass,\n PropsWithoutRef,\n RefAttributes,\n VoidFunctionComponent,\n} from 'react'\n\nimport { Action, ActionTypes } from '../actions'\n\nexport type ComponentType<P = Record<string, any>, T = any> =\n | ComponentClass<PropsWithoutRef<P> & ClassAttributes<T>>\n | VoidFunctionComponent<PropsWithoutRef<P> & RefAttributes<T>>\n\nexport type State = Map<string, ComponentType>\n\nexport function getInitialState({\n reactComponents = new Map(),\n}: { reactComponents?: Map<string, ComponentType> } = {}): State {\n return reactComponents\n}\n\nfunction getReactComponents(state: State): Map<string, ComponentType> {\n return state\n}\n\nexport function getReactComponent(state: State, type: string): ComponentType | null {\n return getReactComponents(state).get(type) ?? null\n}\n\nexport function reducer(state: State = getInitialState(), action: Action) {\n switch (action.type) {\n case ActionTypes.REGISTER_REACT_COMPONENT:\n return new Map(state).set(action.payload.type, action.payload.component)\n\n case ActionTypes.UNREGISTER_REACT_COMPONENT: {\n const nextState = new Map(state)\n\n const deleted = nextState.delete(action.payload.type)\n\n return deleted ? nextState : state\n }\n\n default:\n return state\n }\n}\n","import { Action, ActionTypes } from '../actions'\n\nexport type ComponentIcon =\n | 'Carousel40'\n | 'Code40'\n | 'Countdown40'\n | 'Cube40'\n | 'Divider40'\n | 'Form40'\n | 'Navigation40'\n | 'SocialLinks40'\n | 'Video40'\n\nexport type ComponentMeta = { label: string; icon: ComponentIcon; hidden: boolean }\n\nexport type State = Map<string, ComponentMeta>\n\nexport function getInitialState({\n componentsMeta = new Map(),\n}: { componentsMeta?: Map<string, ComponentMeta> } = {}): State {\n return componentsMeta\n}\n\nexport function getComponentsMeta(state: State): Map<string, ComponentMeta> {\n return state\n}\n\nexport function reducer(state: State = getInitialState(), action: Action): State {\n switch (action.type) {\n case ActionTypes.REGISTER_COMPONENT:\n return new Map(state).set(action.payload.type, action.payload.meta)\n\n case ActionTypes.UNREGISTER_COMPONENT: {\n const nextState = new Map(state)\n\n const deleted = nextState.delete(action.payload.type)\n\n return deleted ? nextState : state\n }\n\n default:\n return state\n }\n}\n","import { Action, ActionTypes } from '../actions'\nimport { PropControllerDescriptor } from '../../prop-controllers'\n\nexport type { PropControllerDescriptor }\n\nexport type State = Map<string, Record<string, PropControllerDescriptor>>\n\nexport function getInitialState({\n propControllerDescriptors = new Map(),\n}: {\n propControllerDescriptors?: Map<string, Record<string, PropControllerDescriptor>>\n} = {}): State {\n return propControllerDescriptors\n}\n\nexport function getPropControllerDescriptors(\n state: State,\n): Map<string, Record<string, PropControllerDescriptor>> {\n return state\n}\n\nexport function getComponentPropControllerDescriptors(\n state: State,\n componentType: string,\n): Record<string, PropControllerDescriptor> | null {\n return getPropControllerDescriptors(state).get(componentType) ?? null\n}\n\nexport function reducer(state: State = getInitialState(), action: Action): State {\n switch (action.type) {\n case ActionTypes.REGISTER_COMPONENT:\n return new Map(state).set(action.payload.type, action.payload.propControllerDescriptors)\n\n case ActionTypes.UNREGISTER_COMPONENT: {\n const nextState = new Map(state)\n\n const deleted = nextState.delete(action.payload.type)\n\n return deleted ? nextState : state\n }\n\n default:\n return state\n }\n}\n","import { Descriptor, ElementIDValue, GridValue, Types } from './descriptors'\nimport { Data, Element } from '../state/react-page'\n\nexport function getElementChildren<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): Element[] {\n if (prop == null) return []\n\n switch (descriptor.type) {\n case Types.Grid:\n return (prop as GridValue).elements\n\n default:\n return []\n }\n}\n\nexport function getElementId<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): string | null {\n if (prop == null) return null\n\n switch (descriptor.type) {\n case Types.ElementID:\n return prop as ElementIDValue\n\n default:\n return null\n }\n}\n","import {\n applyMiddleware,\n combineReducers,\n createStore,\n PreloadedState,\n Store as ReduxStore,\n} from 'redux'\nimport thunk, { ThunkDispatch } from 'redux-thunk'\n\nimport * as Documents from './modules/read-only-documents'\nimport * as ReactComponents from './modules/react-components'\nimport * as ComponentsMeta from './modules/components-meta'\nimport * as PropControllers from './modules/prop-controllers'\nimport * as Introspection from '../prop-controllers/introspection'\nimport { Action } from './actions'\n\nexport type {\n Data,\n Document,\n DocumentReference,\n Element,\n ElementData,\n ElementReference,\n} from './modules/read-only-documents'\nexport {\n createDocument,\n createDocumentReference,\n isElementReference,\n} from './modules/read-only-documents'\nexport type { ComponentType } from './modules/react-components'\n\nconst reducer = combineReducers({\n documents: Documents.reducer,\n reactComponents: ReactComponents.reducer,\n componentsMeta: ComponentsMeta.reducer,\n propControllers: PropControllers.reducer,\n isInBuilder: (_state: boolean = false, _action: Action): boolean => false,\n})\n\nexport type State = ReturnType<typeof reducer>\n\nfunction getDocumentsStateSlice(state: State): Documents.State {\n return state.documents\n}\n\nexport function getDocument(state: State, documentKey: string): Documents.Document | null {\n return Documents.getDocument(getDocumentsStateSlice(state), documentKey)\n}\n\nfunction getReactComponentsStateSlice(state: State): ReactComponents.State {\n return state.reactComponents\n}\n\nexport function getReactComponent(\n state: State,\n type: string,\n): ReactComponents.ComponentType | null {\n return ReactComponents.getReactComponent(getReactComponentsStateSlice(state), type)\n}\n\nfunction getPropControllersStateSlice(state: State): PropControllers.State {\n return state.propControllers\n}\n\nfunction getPropControllerDescriptors(\n state: State,\n): Map<string, Record<string, PropControllers.PropControllerDescriptor>> {\n return PropControllers.getPropControllerDescriptors(getPropControllersStateSlice(state))\n}\n\nfunction getComponentPropControllerDescriptors(\n state: State,\n componentType: string,\n): Record<string, PropControllers.PropControllerDescriptor> | null {\n return PropControllers.getComponentPropControllerDescriptors(\n getPropControllersStateSlice(state),\n componentType,\n )\n}\n\nfunction normalizeElement(\n element: Documents.Element,\n descriptors: Map<string, Record<string, PropControllers.PropControllerDescriptor>>,\n): Map<string, Documents.Element> {\n const elements = new Map<string, Documents.Element>()\n const remaining = [element]\n let current: Documents.Element | undefined\n\n while ((current = remaining.pop())) {\n elements.set(current.key, current)\n\n if (Documents.isElementReference(current)) continue\n\n const elementDescriptors = descriptors.get(element.type)\n\n if (elementDescriptors == null) continue\n\n const parent = current\n const children = Object.entries(elementDescriptors).reduce((acc, [propName, descriptor]) => {\n return [...acc, ...Introspection.getElementChildren(descriptor, parent.props[propName])]\n }, [] as Documents.Element[])\n\n remaining.push(...children)\n }\n\n return elements\n}\n\nfunction getDocumentElements(state: State, documentKey: string): Map<string, Documents.Element> {\n const document = getDocument(state, documentKey)\n const descriptors = getPropControllerDescriptors(state)\n\n if (document == null) return new Map()\n\n return normalizeElement(document.rootElement, descriptors)\n}\n\nexport function getElement(\n state: State,\n documentKey: string,\n elementKey: string,\n): Documents.Element | null {\n return getDocumentElements(state, documentKey).get(elementKey) ?? null\n}\n\nexport function getElementPropControllerDescriptors(\n state: State,\n documentKey: string,\n elementKey: string,\n): Record<string, PropControllers.PropControllerDescriptor> | null {\n const element = getElement(state, documentKey, elementKey)\n\n if (element == null || Documents.isElementReference(element)) return null\n\n return getComponentPropControllerDescriptors(state, element.type)\n}\n\nexport function getElementId(state: State, documentKey: string, elementKey: string): string | null {\n const element = getElement(state, documentKey, elementKey)\n\n if (element == null || Documents.isElementReference(element)) return null\n\n const descriptors = getComponentPropControllerDescriptors(state, element.type)\n\n if (descriptors == null) return null\n\n const elementId = Object.entries(descriptors).reduce((acc, [propName, descriptor]) => {\n if (acc != null) return acc\n\n return Introspection.getElementId(descriptor, element.props[propName])\n }, null as string | null)\n\n return elementId\n}\n\nexport function getIsInBuilder(state: State): boolean {\n return state.isInBuilder\n}\n\nexport type Dispatch = ThunkDispatch<State, unknown, Action>\n\nexport type Store = ReduxStore<State, Action> & { dispatch: Dispatch }\n\nexport function configureStore({\n rootElements,\n preloadedState,\n}: {\n rootElements?: Map<string, Documents.Element>\n preloadedState?: PreloadedState<State>\n} = {}): Store {\n return createStore(\n reducer,\n { ...preloadedState, documents: Documents.getInitialState({ rootElements }) },\n applyMiddleware(thunk),\n )\n}\n"],"names":["getInitialState","ActionTypes","reactComponents","Map","state","type","getReactComponents","get","action","REGISTER_REACT_COMPONENT","set","payload","component","UNREGISTER_REACT_COMPONENT","nextState","deleted","delete","getPropControllerDescriptors","Types","combineReducers","Documents.reducer","ReactComponents.reducer","ComponentsMeta.reducer","PropControllers.reducer","Documents.getDocument","ReactComponents.getReactComponent","PropControllers.getPropControllerDescriptors","PropControllers.getComponentPropControllerDescriptors","Documents.isElementReference","Introspection.getElementChildren","Introspection.getElementId","createStore","Documents.getInitialState","applyMiddleware","thunk"],"mappings":"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"}
1
+ {"version":3,"file":"react-page.cjs.js","sources":["../src/state/modules/read-only-documents.ts","../src/state/modules/react-components.tsx","../src/state/modules/components-meta.ts","../src/state/modules/prop-controllers.ts","../src/prop-controllers/introspection.ts","../src/state/react-page.ts"],"sourcesContent":["import { Action, ActionTypes } from '../actions'\n\nexport type Data = undefined | null | boolean | number | string | Data[] | { [key: string]: Data }\n\nexport type ElementData = { type: string; key: string; props: Record<string, Data> }\n\nexport type ElementReference = { type: 'reference'; key: string; value: string }\n\nexport type Element = ElementData | ElementReference\n\nexport function isElementReference(element: Element): element is ElementReference {\n return !('props' in element)\n}\n\nexport type DocumentReference = {\n key: string\n}\n\nexport function createDocumentReference(key: string): DocumentReference {\n return { key }\n}\n\nexport type Document = {\n key: string\n rootElement: Element\n}\n\nexport function createDocument(key: string, rootElement: Element): Document {\n return { key, rootElement }\n}\n\nexport type State = Map<string, Document>\n\nexport function getInitialState({\n rootElements = new Map(),\n}: { rootElements?: Map<string, Element> } = {}): State {\n const initialState = new Map()\n\n rootElements.forEach((rootElement, documentKey) => {\n initialState.set(documentKey, createDocument(documentKey, rootElement))\n })\n\n return initialState\n}\n\nfunction getDocuments(state: State): Map<string, Document> {\n return state\n}\n\nexport function getDocument(state: State, documentKey: string): Document | null {\n return getDocuments(state).get(documentKey) ?? null\n}\n\nexport function reducer(state: State = getInitialState(), action: Action): State {\n switch (action.type) {\n case ActionTypes.REGISTER_DOCUMENT:\n return new Map(state).set(action.payload.documentKey, action.payload.document)\n\n case ActionTypes.UNREGISTER_DOCUMENT: {\n const nextState = new Map(state)\n\n const deleted = nextState.delete(action.payload.documentKey)\n\n return deleted ? nextState : state\n }\n\n default:\n return state\n }\n}\n","import type {\n ClassAttributes,\n ComponentClass,\n PropsWithoutRef,\n RefAttributes,\n VoidFunctionComponent,\n} from 'react'\n\nimport { Action, ActionTypes } from '../actions'\n\nexport type ComponentType<P = Record<string, any>, T = any> =\n | ComponentClass<PropsWithoutRef<P> & ClassAttributes<T>>\n | VoidFunctionComponent<PropsWithoutRef<P> & RefAttributes<T>>\n\nexport type State = Map<string, ComponentType>\n\nexport function getInitialState({\n reactComponents = new Map(),\n}: { reactComponents?: Map<string, ComponentType> } = {}): State {\n return reactComponents\n}\n\nfunction getReactComponents(state: State): Map<string, ComponentType> {\n return state\n}\n\nexport function getReactComponent(state: State, type: string): ComponentType | null {\n return getReactComponents(state).get(type) ?? null\n}\n\nexport function reducer(state: State = getInitialState(), action: Action) {\n switch (action.type) {\n case ActionTypes.REGISTER_REACT_COMPONENT:\n return new Map(state).set(action.payload.type, action.payload.component)\n\n case ActionTypes.UNREGISTER_REACT_COMPONENT: {\n const nextState = new Map(state)\n\n const deleted = nextState.delete(action.payload.type)\n\n return deleted ? nextState : state\n }\n\n default:\n return state\n }\n}\n","import { Action, ActionTypes } from '../actions'\n\nexport type ComponentIcon =\n | 'Carousel40'\n | 'Code40'\n | 'Countdown40'\n | 'Cube40'\n | 'Divider40'\n | 'Form40'\n | 'Navigation40'\n | 'SocialLinks40'\n | 'Video40'\n\nexport type ComponentMeta = { label: string; icon: ComponentIcon; hidden: boolean }\n\nexport type State = Map<string, ComponentMeta>\n\nexport function getInitialState({\n componentsMeta = new Map(),\n}: { componentsMeta?: Map<string, ComponentMeta> } = {}): State {\n return componentsMeta\n}\n\nexport function getComponentsMeta(state: State): Map<string, ComponentMeta> {\n return state\n}\n\nexport function reducer(state: State = getInitialState(), action: Action): State {\n switch (action.type) {\n case ActionTypes.REGISTER_COMPONENT:\n return new Map(state).set(action.payload.type, action.payload.meta)\n\n case ActionTypes.UNREGISTER_COMPONENT: {\n const nextState = new Map(state)\n\n const deleted = nextState.delete(action.payload.type)\n\n return deleted ? nextState : state\n }\n\n default:\n return state\n }\n}\n","import { Action, ActionTypes } from '../actions'\nimport { PropControllerDescriptor } from '../../prop-controllers'\n\nexport type { PropControllerDescriptor }\n\nexport type State = Map<string, Record<string, PropControllerDescriptor>>\n\nexport function getInitialState({\n propControllerDescriptors = new Map(),\n}: {\n propControllerDescriptors?: Map<string, Record<string, PropControllerDescriptor>>\n} = {}): State {\n return propControllerDescriptors\n}\n\nexport function getPropControllerDescriptors(\n state: State,\n): Map<string, Record<string, PropControllerDescriptor>> {\n return state\n}\n\nexport function getComponentPropControllerDescriptors(\n state: State,\n componentType: string,\n): Record<string, PropControllerDescriptor> | null {\n return getPropControllerDescriptors(state).get(componentType) ?? null\n}\n\nexport function reducer(state: State = getInitialState(), action: Action): State {\n switch (action.type) {\n case ActionTypes.REGISTER_COMPONENT:\n return new Map(state).set(action.payload.type, action.payload.propControllerDescriptors)\n\n case ActionTypes.UNREGISTER_COMPONENT: {\n const nextState = new Map(state)\n\n const deleted = nextState.delete(action.payload.type)\n\n return deleted ? nextState : state\n }\n\n default:\n return state\n }\n}\n","import { Descriptor, ElementIDValue, GridValue, Types } from './descriptors'\nimport { Data, Element } from '../state/react-page'\n\nexport function getElementChildren<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): Element[] {\n if (prop == null) return []\n\n switch (descriptor.type) {\n case Types.Grid:\n return (prop as GridValue).elements\n\n default:\n return []\n }\n}\n\nexport function getElementId<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): string | null {\n if (prop == null) return null\n\n switch (descriptor.type) {\n case Types.ElementID:\n return prop as ElementIDValue\n\n default:\n return null\n }\n}\n","import {\n applyMiddleware,\n combineReducers,\n createStore,\n PreloadedState,\n Store as ReduxStore,\n} from 'redux'\nimport thunk, { ThunkDispatch } from 'redux-thunk'\n\nimport * as Documents from './modules/read-only-documents'\nimport * as ReactComponents from './modules/react-components'\nimport * as ComponentsMeta from './modules/components-meta'\nimport * as PropControllers from './modules/prop-controllers'\nimport * as Introspection from '../prop-controllers/introspection'\nimport { Action } from './actions'\n\nexport type {\n Data,\n Document,\n DocumentReference,\n Element,\n ElementData,\n ElementReference,\n} from './modules/read-only-documents'\nexport {\n createDocument,\n createDocumentReference,\n isElementReference,\n} from './modules/read-only-documents'\nexport type { ComponentType } from './modules/react-components'\n\nconst reducer = combineReducers({\n documents: Documents.reducer,\n reactComponents: ReactComponents.reducer,\n componentsMeta: ComponentsMeta.reducer,\n propControllers: PropControllers.reducer,\n isInBuilder: (_state: boolean = false, _action: Action): boolean => false,\n})\n\nexport type State = ReturnType<typeof reducer>\n\nfunction getDocumentsStateSlice(state: State): Documents.State {\n return state.documents\n}\n\nexport function getDocument(state: State, documentKey: string): Documents.Document | null {\n return Documents.getDocument(getDocumentsStateSlice(state), documentKey)\n}\n\nfunction getReactComponentsStateSlice(state: State): ReactComponents.State {\n return state.reactComponents\n}\n\nexport function getReactComponent(\n state: State,\n type: string,\n): ReactComponents.ComponentType | null {\n return ReactComponents.getReactComponent(getReactComponentsStateSlice(state), type)\n}\n\nfunction getPropControllersStateSlice(state: State): PropControllers.State {\n return state.propControllers\n}\n\nfunction getPropControllerDescriptors(\n state: State,\n): Map<string, Record<string, PropControllers.PropControllerDescriptor>> {\n return PropControllers.getPropControllerDescriptors(getPropControllersStateSlice(state))\n}\n\nfunction getComponentPropControllerDescriptors(\n state: State,\n componentType: string,\n): Record<string, PropControllers.PropControllerDescriptor> | null {\n return PropControllers.getComponentPropControllerDescriptors(\n getPropControllersStateSlice(state),\n componentType,\n )\n}\n\nfunction normalizeElement(\n element: Documents.Element,\n descriptors: Map<string, Record<string, PropControllers.PropControllerDescriptor>>,\n): Map<string, Documents.Element> {\n const elements = new Map<string, Documents.Element>()\n const remaining = [element]\n let current: Documents.Element | undefined\n\n while ((current = remaining.pop())) {\n elements.set(current.key, current)\n\n if (Documents.isElementReference(current)) continue\n\n const elementDescriptors = descriptors.get(current.type)\n\n if (elementDescriptors == null) continue\n\n const parent = current\n const children = Object.entries(elementDescriptors).reduce((acc, [propName, descriptor]) => {\n return [...acc, ...Introspection.getElementChildren(descriptor, parent.props[propName])]\n }, [] as Documents.Element[])\n\n remaining.push(...children)\n }\n\n return elements\n}\n\nfunction getDocumentElements(state: State, documentKey: string): Map<string, Documents.Element> {\n const document = getDocument(state, documentKey)\n const descriptors = getPropControllerDescriptors(state)\n\n if (document == null) return new Map()\n\n return normalizeElement(document.rootElement, descriptors)\n}\n\nexport function getElement(\n state: State,\n documentKey: string,\n elementKey: string,\n): Documents.Element | null {\n return getDocumentElements(state, documentKey).get(elementKey) ?? null\n}\n\nexport function getElementPropControllerDescriptors(\n state: State,\n documentKey: string,\n elementKey: string,\n): Record<string, PropControllers.PropControllerDescriptor> | null {\n const element = getElement(state, documentKey, elementKey)\n\n if (element == null || Documents.isElementReference(element)) return null\n\n return getComponentPropControllerDescriptors(state, element.type)\n}\n\nexport function getElementId(state: State, documentKey: string, elementKey: string): string | null {\n const element = getElement(state, documentKey, elementKey)\n\n if (element == null || Documents.isElementReference(element)) return null\n\n const descriptors = getComponentPropControllerDescriptors(state, element.type)\n\n if (descriptors == null) return null\n\n const elementId = Object.entries(descriptors).reduce((acc, [propName, descriptor]) => {\n if (acc != null) return acc\n\n return Introspection.getElementId(descriptor, element.props[propName])\n }, null as string | null)\n\n return elementId\n}\n\nexport function getIsInBuilder(state: State): boolean {\n return state.isInBuilder\n}\n\nexport type Dispatch = ThunkDispatch<State, unknown, Action>\n\nexport type Store = ReduxStore<State, Action> & { dispatch: Dispatch }\n\nexport function configureStore({\n rootElements,\n preloadedState,\n}: {\n rootElements?: Map<string, Documents.Element>\n preloadedState?: PreloadedState<State>\n} = {}): Store {\n return createStore(\n reducer,\n { ...preloadedState, documents: Documents.getInitialState({ rootElements }) },\n applyMiddleware(thunk),\n )\n}\n"],"names":["getInitialState","ActionTypes","reactComponents","Map","state","type","getReactComponents","get","action","REGISTER_REACT_COMPONENT","set","payload","component","UNREGISTER_REACT_COMPONENT","nextState","deleted","delete","getPropControllerDescriptors","Types","combineReducers","Documents.reducer","ReactComponents.reducer","ComponentsMeta.reducer","PropControllers.reducer","Documents.getDocument","ReactComponents.getReactComponent","PropControllers.getPropControllerDescriptors","PropControllers.getComponentPropControllerDescriptors","Documents.isElementReference","Introspection.getElementChildren","Introspection.getElementId","createStore","Documents.getInitialState","applyMiddleware","thunk"],"mappings":"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"}
@@ -186,7 +186,7 @@ function normalizeElement(element, descriptors) {
186
186
  elements.set(current.key, current);
187
187
  if (isElementReference(current))
188
188
  continue;
189
- const elementDescriptors = descriptors.get(element.type);
189
+ const elementDescriptors = descriptors.get(current.type);
190
190
  if (elementDescriptors == null)
191
191
  continue;
192
192
  const parent = current;
@@ -237,5 +237,5 @@ function configureStore({
237
237
  } = {}) {
238
238
  return createStore(reducer, __spreadProps(__spreadValues({}, preloadedState), { documents: getInitialState$3({ rootElements }) }), applyMiddleware(thunk));
239
239
  }
240
- export { configureStore as a, getElementId as b, createDocument as c, getReactComponent as d, getDocument as e, createDocumentReference as f, getIsInBuilder as g, getInitialState$3 as h, isElementReference as i, getDocument$1 as j, reducer$3 as k, reducer$2 as l, reducer$1 as m, getComponentsMeta as n, getComponentPropControllerDescriptors$1 as o, getElementPropControllerDescriptors as p, reducer$4 as r };
240
+ export { createDocumentReference as a, configureStore as b, createDocument as c, getElementId as d, getReactComponent as e, getDocument as f, getIsInBuilder as g, getInitialState$3 as h, isElementReference as i, getDocument$1 as j, reducer$3 as k, reducer$2 as l, reducer$1 as m, getComponentsMeta as n, getComponentPropControllerDescriptors$1 as o, getElementPropControllerDescriptors as p, reducer$4 as r };
241
241
  //# sourceMappingURL=react-page.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"react-page.es.js","sources":["../src/state/modules/read-only-documents.ts","../src/state/modules/react-components.tsx","../src/state/modules/components-meta.ts","../src/state/modules/prop-controllers.ts","../src/prop-controllers/introspection.ts","../src/state/react-page.ts"],"sourcesContent":["import { Action, ActionTypes } from '../actions'\n\nexport type Data = undefined | null | boolean | number | string | Data[] | { [key: string]: Data }\n\nexport type ElementData = { type: string; key: string; props: Record<string, Data> }\n\nexport type ElementReference = { type: 'reference'; key: string; value: string }\n\nexport type Element = ElementData | ElementReference\n\nexport function isElementReference(element: Element): element is ElementReference {\n return !('props' in element)\n}\n\nexport type DocumentReference = {\n key: string\n}\n\nexport function createDocumentReference(key: string): DocumentReference {\n return { key }\n}\n\nexport type Document = {\n key: string\n rootElement: Element\n}\n\nexport function createDocument(key: string, rootElement: Element): Document {\n return { key, rootElement }\n}\n\nexport type State = Map<string, Document>\n\nexport function getInitialState({\n rootElements = new Map(),\n}: { rootElements?: Map<string, Element> } = {}): State {\n const initialState = new Map()\n\n rootElements.forEach((rootElement, documentKey) => {\n initialState.set(documentKey, createDocument(documentKey, rootElement))\n })\n\n return initialState\n}\n\nfunction getDocuments(state: State): Map<string, Document> {\n return state\n}\n\nexport function getDocument(state: State, documentKey: string): Document | null {\n return getDocuments(state).get(documentKey) ?? null\n}\n\nexport function reducer(state: State = getInitialState(), action: Action): State {\n switch (action.type) {\n case ActionTypes.REGISTER_DOCUMENT:\n return new Map(state).set(action.payload.documentKey, action.payload.document)\n\n case ActionTypes.UNREGISTER_DOCUMENT: {\n const nextState = new Map(state)\n\n const deleted = nextState.delete(action.payload.documentKey)\n\n return deleted ? nextState : state\n }\n\n default:\n return state\n }\n}\n","import type {\n ClassAttributes,\n ComponentClass,\n PropsWithoutRef,\n RefAttributes,\n VoidFunctionComponent,\n} from 'react'\n\nimport { Action, ActionTypes } from '../actions'\n\nexport type ComponentType<P = Record<string, any>, T = any> =\n | ComponentClass<PropsWithoutRef<P> & ClassAttributes<T>>\n | VoidFunctionComponent<PropsWithoutRef<P> & RefAttributes<T>>\n\nexport type State = Map<string, ComponentType>\n\nexport function getInitialState({\n reactComponents = new Map(),\n}: { reactComponents?: Map<string, ComponentType> } = {}): State {\n return reactComponents\n}\n\nfunction getReactComponents(state: State): Map<string, ComponentType> {\n return state\n}\n\nexport function getReactComponent(state: State, type: string): ComponentType | null {\n return getReactComponents(state).get(type) ?? null\n}\n\nexport function reducer(state: State = getInitialState(), action: Action) {\n switch (action.type) {\n case ActionTypes.REGISTER_REACT_COMPONENT:\n return new Map(state).set(action.payload.type, action.payload.component)\n\n case ActionTypes.UNREGISTER_REACT_COMPONENT: {\n const nextState = new Map(state)\n\n const deleted = nextState.delete(action.payload.type)\n\n return deleted ? nextState : state\n }\n\n default:\n return state\n }\n}\n","import { Action, ActionTypes } from '../actions'\n\nexport type ComponentIcon =\n | 'Carousel40'\n | 'Code40'\n | 'Countdown40'\n | 'Cube40'\n | 'Divider40'\n | 'Form40'\n | 'Navigation40'\n | 'SocialLinks40'\n | 'Video40'\n\nexport type ComponentMeta = { label: string; icon: ComponentIcon; hidden: boolean }\n\nexport type State = Map<string, ComponentMeta>\n\nexport function getInitialState({\n componentsMeta = new Map(),\n}: { componentsMeta?: Map<string, ComponentMeta> } = {}): State {\n return componentsMeta\n}\n\nexport function getComponentsMeta(state: State): Map<string, ComponentMeta> {\n return state\n}\n\nexport function reducer(state: State = getInitialState(), action: Action): State {\n switch (action.type) {\n case ActionTypes.REGISTER_COMPONENT:\n return new Map(state).set(action.payload.type, action.payload.meta)\n\n case ActionTypes.UNREGISTER_COMPONENT: {\n const nextState = new Map(state)\n\n const deleted = nextState.delete(action.payload.type)\n\n return deleted ? nextState : state\n }\n\n default:\n return state\n }\n}\n","import { Action, ActionTypes } from '../actions'\nimport { PropControllerDescriptor } from '../../prop-controllers'\n\nexport type { PropControllerDescriptor }\n\nexport type State = Map<string, Record<string, PropControllerDescriptor>>\n\nexport function getInitialState({\n propControllerDescriptors = new Map(),\n}: {\n propControllerDescriptors?: Map<string, Record<string, PropControllerDescriptor>>\n} = {}): State {\n return propControllerDescriptors\n}\n\nexport function getPropControllerDescriptors(\n state: State,\n): Map<string, Record<string, PropControllerDescriptor>> {\n return state\n}\n\nexport function getComponentPropControllerDescriptors(\n state: State,\n componentType: string,\n): Record<string, PropControllerDescriptor> | null {\n return getPropControllerDescriptors(state).get(componentType) ?? null\n}\n\nexport function reducer(state: State = getInitialState(), action: Action): State {\n switch (action.type) {\n case ActionTypes.REGISTER_COMPONENT:\n return new Map(state).set(action.payload.type, action.payload.propControllerDescriptors)\n\n case ActionTypes.UNREGISTER_COMPONENT: {\n const nextState = new Map(state)\n\n const deleted = nextState.delete(action.payload.type)\n\n return deleted ? nextState : state\n }\n\n default:\n return state\n }\n}\n","import { Descriptor, ElementIDValue, GridValue, Types } from './descriptors'\nimport { Data, Element } from '../state/react-page'\n\nexport function getElementChildren<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): Element[] {\n if (prop == null) return []\n\n switch (descriptor.type) {\n case Types.Grid:\n return (prop as GridValue).elements\n\n default:\n return []\n }\n}\n\nexport function getElementId<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): string | null {\n if (prop == null) return null\n\n switch (descriptor.type) {\n case Types.ElementID:\n return prop as ElementIDValue\n\n default:\n return null\n }\n}\n","import {\n applyMiddleware,\n combineReducers,\n createStore,\n PreloadedState,\n Store as ReduxStore,\n} from 'redux'\nimport thunk, { ThunkDispatch } from 'redux-thunk'\n\nimport * as Documents from './modules/read-only-documents'\nimport * as ReactComponents from './modules/react-components'\nimport * as ComponentsMeta from './modules/components-meta'\nimport * as PropControllers from './modules/prop-controllers'\nimport * as Introspection from '../prop-controllers/introspection'\nimport { Action } from './actions'\n\nexport type {\n Data,\n Document,\n DocumentReference,\n Element,\n ElementData,\n ElementReference,\n} from './modules/read-only-documents'\nexport {\n createDocument,\n createDocumentReference,\n isElementReference,\n} from './modules/read-only-documents'\nexport type { ComponentType } from './modules/react-components'\n\nconst reducer = combineReducers({\n documents: Documents.reducer,\n reactComponents: ReactComponents.reducer,\n componentsMeta: ComponentsMeta.reducer,\n propControllers: PropControllers.reducer,\n isInBuilder: (_state: boolean = false, _action: Action): boolean => false,\n})\n\nexport type State = ReturnType<typeof reducer>\n\nfunction getDocumentsStateSlice(state: State): Documents.State {\n return state.documents\n}\n\nexport function getDocument(state: State, documentKey: string): Documents.Document | null {\n return Documents.getDocument(getDocumentsStateSlice(state), documentKey)\n}\n\nfunction getReactComponentsStateSlice(state: State): ReactComponents.State {\n return state.reactComponents\n}\n\nexport function getReactComponent(\n state: State,\n type: string,\n): ReactComponents.ComponentType | null {\n return ReactComponents.getReactComponent(getReactComponentsStateSlice(state), type)\n}\n\nfunction getPropControllersStateSlice(state: State): PropControllers.State {\n return state.propControllers\n}\n\nfunction getPropControllerDescriptors(\n state: State,\n): Map<string, Record<string, PropControllers.PropControllerDescriptor>> {\n return PropControllers.getPropControllerDescriptors(getPropControllersStateSlice(state))\n}\n\nfunction getComponentPropControllerDescriptors(\n state: State,\n componentType: string,\n): Record<string, PropControllers.PropControllerDescriptor> | null {\n return PropControllers.getComponentPropControllerDescriptors(\n getPropControllersStateSlice(state),\n componentType,\n )\n}\n\nfunction normalizeElement(\n element: Documents.Element,\n descriptors: Map<string, Record<string, PropControllers.PropControllerDescriptor>>,\n): Map<string, Documents.Element> {\n const elements = new Map<string, Documents.Element>()\n const remaining = [element]\n let current: Documents.Element | undefined\n\n while ((current = remaining.pop())) {\n elements.set(current.key, current)\n\n if (Documents.isElementReference(current)) continue\n\n const elementDescriptors = descriptors.get(element.type)\n\n if (elementDescriptors == null) continue\n\n const parent = current\n const children = Object.entries(elementDescriptors).reduce((acc, [propName, descriptor]) => {\n return [...acc, ...Introspection.getElementChildren(descriptor, parent.props[propName])]\n }, [] as Documents.Element[])\n\n remaining.push(...children)\n }\n\n return elements\n}\n\nfunction getDocumentElements(state: State, documentKey: string): Map<string, Documents.Element> {\n const document = getDocument(state, documentKey)\n const descriptors = getPropControllerDescriptors(state)\n\n if (document == null) return new Map()\n\n return normalizeElement(document.rootElement, descriptors)\n}\n\nexport function getElement(\n state: State,\n documentKey: string,\n elementKey: string,\n): Documents.Element | null {\n return getDocumentElements(state, documentKey).get(elementKey) ?? null\n}\n\nexport function getElementPropControllerDescriptors(\n state: State,\n documentKey: string,\n elementKey: string,\n): Record<string, PropControllers.PropControllerDescriptor> | null {\n const element = getElement(state, documentKey, elementKey)\n\n if (element == null || Documents.isElementReference(element)) return null\n\n return getComponentPropControllerDescriptors(state, element.type)\n}\n\nexport function getElementId(state: State, documentKey: string, elementKey: string): string | null {\n const element = getElement(state, documentKey, elementKey)\n\n if (element == null || Documents.isElementReference(element)) return null\n\n const descriptors = getComponentPropControllerDescriptors(state, element.type)\n\n if (descriptors == null) return null\n\n const elementId = Object.entries(descriptors).reduce((acc, [propName, descriptor]) => {\n if (acc != null) return acc\n\n return Introspection.getElementId(descriptor, element.props[propName])\n }, null as string | null)\n\n return elementId\n}\n\nexport function getIsInBuilder(state: State): boolean {\n return state.isInBuilder\n}\n\nexport type Dispatch = ThunkDispatch<State, unknown, Action>\n\nexport type Store = ReduxStore<State, Action> & { dispatch: Dispatch }\n\nexport function configureStore({\n rootElements,\n preloadedState,\n}: {\n rootElements?: Map<string, Documents.Element>\n preloadedState?: PreloadedState<State>\n} = {}): Store {\n return createStore(\n reducer,\n { ...preloadedState, documents: Documents.getInitialState({ rootElements }) },\n applyMiddleware(thunk),\n )\n}\n"],"names":["getInitialState","reactComponents","Map","state","type","getReactComponents","get","action","ActionTypes","REGISTER_REACT_COMPONENT","set","payload","component","UNREGISTER_REACT_COMPONENT","nextState","deleted","delete","getPropControllerDescriptors","Documents.reducer","ReactComponents.reducer","ComponentsMeta.reducer","PropControllers.reducer","Documents.getDocument","ReactComponents.getReactComponent","PropControllers.getPropControllerDescriptors","PropControllers.getComponentPropControllerDescriptors","Documents.isElementReference","Introspection.getElementChildren","Introspection.getElementId","Documents.getInitialState"],"mappings":"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"}
1
+ {"version":3,"file":"react-page.es.js","sources":["../src/state/modules/read-only-documents.ts","../src/state/modules/react-components.tsx","../src/state/modules/components-meta.ts","../src/state/modules/prop-controllers.ts","../src/prop-controllers/introspection.ts","../src/state/react-page.ts"],"sourcesContent":["import { Action, ActionTypes } from '../actions'\n\nexport type Data = undefined | null | boolean | number | string | Data[] | { [key: string]: Data }\n\nexport type ElementData = { type: string; key: string; props: Record<string, Data> }\n\nexport type ElementReference = { type: 'reference'; key: string; value: string }\n\nexport type Element = ElementData | ElementReference\n\nexport function isElementReference(element: Element): element is ElementReference {\n return !('props' in element)\n}\n\nexport type DocumentReference = {\n key: string\n}\n\nexport function createDocumentReference(key: string): DocumentReference {\n return { key }\n}\n\nexport type Document = {\n key: string\n rootElement: Element\n}\n\nexport function createDocument(key: string, rootElement: Element): Document {\n return { key, rootElement }\n}\n\nexport type State = Map<string, Document>\n\nexport function getInitialState({\n rootElements = new Map(),\n}: { rootElements?: Map<string, Element> } = {}): State {\n const initialState = new Map()\n\n rootElements.forEach((rootElement, documentKey) => {\n initialState.set(documentKey, createDocument(documentKey, rootElement))\n })\n\n return initialState\n}\n\nfunction getDocuments(state: State): Map<string, Document> {\n return state\n}\n\nexport function getDocument(state: State, documentKey: string): Document | null {\n return getDocuments(state).get(documentKey) ?? null\n}\n\nexport function reducer(state: State = getInitialState(), action: Action): State {\n switch (action.type) {\n case ActionTypes.REGISTER_DOCUMENT:\n return new Map(state).set(action.payload.documentKey, action.payload.document)\n\n case ActionTypes.UNREGISTER_DOCUMENT: {\n const nextState = new Map(state)\n\n const deleted = nextState.delete(action.payload.documentKey)\n\n return deleted ? nextState : state\n }\n\n default:\n return state\n }\n}\n","import type {\n ClassAttributes,\n ComponentClass,\n PropsWithoutRef,\n RefAttributes,\n VoidFunctionComponent,\n} from 'react'\n\nimport { Action, ActionTypes } from '../actions'\n\nexport type ComponentType<P = Record<string, any>, T = any> =\n | ComponentClass<PropsWithoutRef<P> & ClassAttributes<T>>\n | VoidFunctionComponent<PropsWithoutRef<P> & RefAttributes<T>>\n\nexport type State = Map<string, ComponentType>\n\nexport function getInitialState({\n reactComponents = new Map(),\n}: { reactComponents?: Map<string, ComponentType> } = {}): State {\n return reactComponents\n}\n\nfunction getReactComponents(state: State): Map<string, ComponentType> {\n return state\n}\n\nexport function getReactComponent(state: State, type: string): ComponentType | null {\n return getReactComponents(state).get(type) ?? null\n}\n\nexport function reducer(state: State = getInitialState(), action: Action) {\n switch (action.type) {\n case ActionTypes.REGISTER_REACT_COMPONENT:\n return new Map(state).set(action.payload.type, action.payload.component)\n\n case ActionTypes.UNREGISTER_REACT_COMPONENT: {\n const nextState = new Map(state)\n\n const deleted = nextState.delete(action.payload.type)\n\n return deleted ? nextState : state\n }\n\n default:\n return state\n }\n}\n","import { Action, ActionTypes } from '../actions'\n\nexport type ComponentIcon =\n | 'Carousel40'\n | 'Code40'\n | 'Countdown40'\n | 'Cube40'\n | 'Divider40'\n | 'Form40'\n | 'Navigation40'\n | 'SocialLinks40'\n | 'Video40'\n\nexport type ComponentMeta = { label: string; icon: ComponentIcon; hidden: boolean }\n\nexport type State = Map<string, ComponentMeta>\n\nexport function getInitialState({\n componentsMeta = new Map(),\n}: { componentsMeta?: Map<string, ComponentMeta> } = {}): State {\n return componentsMeta\n}\n\nexport function getComponentsMeta(state: State): Map<string, ComponentMeta> {\n return state\n}\n\nexport function reducer(state: State = getInitialState(), action: Action): State {\n switch (action.type) {\n case ActionTypes.REGISTER_COMPONENT:\n return new Map(state).set(action.payload.type, action.payload.meta)\n\n case ActionTypes.UNREGISTER_COMPONENT: {\n const nextState = new Map(state)\n\n const deleted = nextState.delete(action.payload.type)\n\n return deleted ? nextState : state\n }\n\n default:\n return state\n }\n}\n","import { Action, ActionTypes } from '../actions'\nimport { PropControllerDescriptor } from '../../prop-controllers'\n\nexport type { PropControllerDescriptor }\n\nexport type State = Map<string, Record<string, PropControllerDescriptor>>\n\nexport function getInitialState({\n propControllerDescriptors = new Map(),\n}: {\n propControllerDescriptors?: Map<string, Record<string, PropControllerDescriptor>>\n} = {}): State {\n return propControllerDescriptors\n}\n\nexport function getPropControllerDescriptors(\n state: State,\n): Map<string, Record<string, PropControllerDescriptor>> {\n return state\n}\n\nexport function getComponentPropControllerDescriptors(\n state: State,\n componentType: string,\n): Record<string, PropControllerDescriptor> | null {\n return getPropControllerDescriptors(state).get(componentType) ?? null\n}\n\nexport function reducer(state: State = getInitialState(), action: Action): State {\n switch (action.type) {\n case ActionTypes.REGISTER_COMPONENT:\n return new Map(state).set(action.payload.type, action.payload.propControllerDescriptors)\n\n case ActionTypes.UNREGISTER_COMPONENT: {\n const nextState = new Map(state)\n\n const deleted = nextState.delete(action.payload.type)\n\n return deleted ? nextState : state\n }\n\n default:\n return state\n }\n}\n","import { Descriptor, ElementIDValue, GridValue, Types } from './descriptors'\nimport { Data, Element } from '../state/react-page'\n\nexport function getElementChildren<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): Element[] {\n if (prop == null) return []\n\n switch (descriptor.type) {\n case Types.Grid:\n return (prop as GridValue).elements\n\n default:\n return []\n }\n}\n\nexport function getElementId<T extends Data>(\n descriptor: Descriptor<T>,\n prop: T | undefined,\n): string | null {\n if (prop == null) return null\n\n switch (descriptor.type) {\n case Types.ElementID:\n return prop as ElementIDValue\n\n default:\n return null\n }\n}\n","import {\n applyMiddleware,\n combineReducers,\n createStore,\n PreloadedState,\n Store as ReduxStore,\n} from 'redux'\nimport thunk, { ThunkDispatch } from 'redux-thunk'\n\nimport * as Documents from './modules/read-only-documents'\nimport * as ReactComponents from './modules/react-components'\nimport * as ComponentsMeta from './modules/components-meta'\nimport * as PropControllers from './modules/prop-controllers'\nimport * as Introspection from '../prop-controllers/introspection'\nimport { Action } from './actions'\n\nexport type {\n Data,\n Document,\n DocumentReference,\n Element,\n ElementData,\n ElementReference,\n} from './modules/read-only-documents'\nexport {\n createDocument,\n createDocumentReference,\n isElementReference,\n} from './modules/read-only-documents'\nexport type { ComponentType } from './modules/react-components'\n\nconst reducer = combineReducers({\n documents: Documents.reducer,\n reactComponents: ReactComponents.reducer,\n componentsMeta: ComponentsMeta.reducer,\n propControllers: PropControllers.reducer,\n isInBuilder: (_state: boolean = false, _action: Action): boolean => false,\n})\n\nexport type State = ReturnType<typeof reducer>\n\nfunction getDocumentsStateSlice(state: State): Documents.State {\n return state.documents\n}\n\nexport function getDocument(state: State, documentKey: string): Documents.Document | null {\n return Documents.getDocument(getDocumentsStateSlice(state), documentKey)\n}\n\nfunction getReactComponentsStateSlice(state: State): ReactComponents.State {\n return state.reactComponents\n}\n\nexport function getReactComponent(\n state: State,\n type: string,\n): ReactComponents.ComponentType | null {\n return ReactComponents.getReactComponent(getReactComponentsStateSlice(state), type)\n}\n\nfunction getPropControllersStateSlice(state: State): PropControllers.State {\n return state.propControllers\n}\n\nfunction getPropControllerDescriptors(\n state: State,\n): Map<string, Record<string, PropControllers.PropControllerDescriptor>> {\n return PropControllers.getPropControllerDescriptors(getPropControllersStateSlice(state))\n}\n\nfunction getComponentPropControllerDescriptors(\n state: State,\n componentType: string,\n): Record<string, PropControllers.PropControllerDescriptor> | null {\n return PropControllers.getComponentPropControllerDescriptors(\n getPropControllersStateSlice(state),\n componentType,\n )\n}\n\nfunction normalizeElement(\n element: Documents.Element,\n descriptors: Map<string, Record<string, PropControllers.PropControllerDescriptor>>,\n): Map<string, Documents.Element> {\n const elements = new Map<string, Documents.Element>()\n const remaining = [element]\n let current: Documents.Element | undefined\n\n while ((current = remaining.pop())) {\n elements.set(current.key, current)\n\n if (Documents.isElementReference(current)) continue\n\n const elementDescriptors = descriptors.get(current.type)\n\n if (elementDescriptors == null) continue\n\n const parent = current\n const children = Object.entries(elementDescriptors).reduce((acc, [propName, descriptor]) => {\n return [...acc, ...Introspection.getElementChildren(descriptor, parent.props[propName])]\n }, [] as Documents.Element[])\n\n remaining.push(...children)\n }\n\n return elements\n}\n\nfunction getDocumentElements(state: State, documentKey: string): Map<string, Documents.Element> {\n const document = getDocument(state, documentKey)\n const descriptors = getPropControllerDescriptors(state)\n\n if (document == null) return new Map()\n\n return normalizeElement(document.rootElement, descriptors)\n}\n\nexport function getElement(\n state: State,\n documentKey: string,\n elementKey: string,\n): Documents.Element | null {\n return getDocumentElements(state, documentKey).get(elementKey) ?? null\n}\n\nexport function getElementPropControllerDescriptors(\n state: State,\n documentKey: string,\n elementKey: string,\n): Record<string, PropControllers.PropControllerDescriptor> | null {\n const element = getElement(state, documentKey, elementKey)\n\n if (element == null || Documents.isElementReference(element)) return null\n\n return getComponentPropControllerDescriptors(state, element.type)\n}\n\nexport function getElementId(state: State, documentKey: string, elementKey: string): string | null {\n const element = getElement(state, documentKey, elementKey)\n\n if (element == null || Documents.isElementReference(element)) return null\n\n const descriptors = getComponentPropControllerDescriptors(state, element.type)\n\n if (descriptors == null) return null\n\n const elementId = Object.entries(descriptors).reduce((acc, [propName, descriptor]) => {\n if (acc != null) return acc\n\n return Introspection.getElementId(descriptor, element.props[propName])\n }, null as string | null)\n\n return elementId\n}\n\nexport function getIsInBuilder(state: State): boolean {\n return state.isInBuilder\n}\n\nexport type Dispatch = ThunkDispatch<State, unknown, Action>\n\nexport type Store = ReduxStore<State, Action> & { dispatch: Dispatch }\n\nexport function configureStore({\n rootElements,\n preloadedState,\n}: {\n rootElements?: Map<string, Documents.Element>\n preloadedState?: PreloadedState<State>\n} = {}): Store {\n return createStore(\n reducer,\n { ...preloadedState, documents: Documents.getInitialState({ rootElements }) },\n applyMiddleware(thunk),\n )\n}\n"],"names":["getInitialState","reactComponents","Map","state","type","getReactComponents","get","action","ActionTypes","REGISTER_REACT_COMPONENT","set","payload","component","UNREGISTER_REACT_COMPONENT","nextState","deleted","delete","getPropControllerDescriptors","Documents.reducer","ReactComponents.reducer","ComponentsMeta.reducer","PropControllers.reducer","Documents.getDocument","ReactComponents.getReactComponent","PropControllers.getPropControllerDescriptors","PropControllers.getComponentPropControllerDescriptors","Documents.isElementReference","Introspection.getElementChildren","Introspection.getElementId","Documents.getInitialState"],"mappings":"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"}
package/dist/react.cjs.js CHANGED
@@ -11,7 +11,11 @@ require("redux-thunk");
11
11
  require("./descriptors.cjs.js");
12
12
  require("styled-components");
13
13
  require("framer-motion");
14
+ require("@apollo/client/react/ssr");
15
+ require("uuid/v4");
14
16
  require("react/jsx-runtime");
17
+ require("html-react-parser");
18
+ require("next/head");
15
19
  require("./box-models.cjs.js");
16
20
  require("css-box-model");
17
21
  require("next/image");
@@ -21,7 +25,6 @@ require("scroll-into-view-if-needed");
21
25
  require("next/link");
22
26
  require("react-use-gesture");
23
27
  require("@popmotion/popcorn");
24
- require("uuid/v4");
25
28
  require("formik");
26
29
  require("polished");
27
30
  require("slate");
@@ -1 +1 @@
1
- {"version":3,"file":"react.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"react.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}