@makeswift/runtime 0.0.0-018e17a
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.
- package/dist/actions.cjs.js +91 -0
- package/dist/actions.cjs.js.map +1 -0
- package/dist/actions.es.js +80 -0
- package/dist/actions.es.js.map +1 -0
- package/dist/box-model.cjs.js +9 -0
- package/dist/box-model.cjs.js.map +1 -0
- package/dist/box-model.es.js +3 -0
- package/dist/box-model.es.js.map +1 -0
- package/dist/box-models.cjs.js +236 -0
- package/dist/box-models.cjs.js.map +1 -0
- package/dist/box-models.es.js +227 -0
- package/dist/box-models.es.js.map +1 -0
- package/dist/components.cjs.js +305 -0
- package/dist/components.cjs.js.map +1 -0
- package/dist/components.es.js +298 -0
- package/dist/components.es.js.map +1 -0
- package/dist/main.cjs.js +8 -0
- package/dist/main.cjs.js.map +1 -0
- package/dist/main.es.js +2 -0
- package/dist/main.es.js.map +1 -0
- package/dist/prop-controllers.cjs.js +177 -0
- package/dist/prop-controllers.cjs.js.map +1 -0
- package/dist/prop-controllers.es.js +174 -0
- package/dist/prop-controllers.es.js.map +1 -0
- package/dist/react-builder-preview.cjs.js +4301 -0
- package/dist/react-builder-preview.cjs.js.map +1 -0
- package/dist/react-builder-preview.es.js +4294 -0
- package/dist/react-builder-preview.es.js.map +1 -0
- package/dist/react.cjs.js +13 -0
- package/dist/react.cjs.js.map +1 -0
- package/dist/react.cjs2.js +835 -0
- package/dist/react.cjs2.js.map +1 -0
- package/dist/react.es.js +4 -0
- package/dist/react.es.js.map +1 -0
- package/dist/react.es2.js +810 -0
- package/dist/react.es2.js.map +1 -0
- package/dist/types/box-model.d.ts +3 -0
- package/dist/types/box-model.d.ts.map +1 -0
- package/dist/types/components/Root/Root.d.ts +11 -0
- package/dist/types/components/Root/Root.d.ts.map +1 -0
- package/dist/types/components/Root/components/Placeholder/index.d.ts +5 -0
- package/dist/types/components/Root/components/Placeholder/index.d.ts.map +1 -0
- package/dist/types/components/Root/index.d.ts +2 -0
- package/dist/types/components/Root/index.d.ts.map +1 -0
- package/dist/types/components/index.d.ts +2 -0
- package/dist/types/components/index.d.ts.map +1 -0
- package/dist/types/components/utils/columns.d.ts +2 -0
- package/dist/types/components/utils/columns.d.ts.map +1 -0
- package/dist/types/components/utils/cssMediaRules.d.ts +18 -0
- package/dist/types/components/utils/cssMediaRules.d.ts.map +1 -0
- package/dist/types/components/utils/devices.d.ts +16 -0
- package/dist/types/components/utils/devices.d.ts.map +1 -0
- package/dist/types/index.d.ts +6 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/prop-controllers/descriptors.d.ts +656 -0
- package/dist/types/prop-controllers/descriptors.d.ts.map +1 -0
- package/dist/types/prop-controllers/index.d.ts +3 -0
- package/dist/types/prop-controllers/index.d.ts.map +1 -0
- package/dist/types/react.d.ts +4 -0
- package/dist/types/react.d.ts.map +1 -0
- package/dist/types/runtimes/react.d.ts +28 -0
- package/dist/types/runtimes/react.d.ts.map +1 -0
- package/dist/types/state/actions.d.ts +124 -0
- package/dist/types/state/actions.d.ts.map +1 -0
- package/dist/types/state/modules/box-models.d.ts +22 -0
- package/dist/types/state/modules/box-models.d.ts.map +1 -0
- package/dist/types/state/modules/components-meta.d.ts +14 -0
- package/dist/types/state/modules/components-meta.d.ts.map +1 -0
- package/dist/types/state/modules/prop-controllers.d.ts +10 -0
- package/dist/types/state/modules/prop-controllers.d.ts.map +1 -0
- package/dist/types/state/modules/react-components.d.ts +10 -0
- package/dist/types/state/modules/react-components.d.ts.map +1 -0
- package/dist/types/state/modules/read-only-documents.d.ts +28 -0
- package/dist/types/state/modules/read-only-documents.d.ts.map +1 -0
- package/dist/types/state/modules/read-write-documents.d.ts +13 -0
- package/dist/types/state/modules/read-write-documents.d.ts.map +1 -0
- package/dist/types/state/react-builder-preview.d.ts +39 -0
- package/dist/types/state/react-builder-preview.d.ts.map +1 -0
- package/dist/types/state/react-page.d.ts +28 -0
- package/dist/types/state/react-page.d.ts.map +1 -0
- package/dist/types/utils/deepEqual.d.ts +3 -0
- package/dist/types/utils/deepEqual.d.ts.map +1 -0
- package/dist/types/utils/is.d.ts +2 -0
- package/dist/types/utils/is.d.ts.map +1 -0
- package/dist/types/utils/shallowEqual.d.ts +3 -0
- package/dist/types/utils/shallowEqual.d.ts.map +1 -0
- package/package.json +103 -0
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
const ActionTypes = {
|
|
3
|
+
CHANGE_DOCUMENT: "CHANGE_DOCUMENT",
|
|
4
|
+
REGISTER_COMPONENT: "REGISTER_COMPONENT",
|
|
5
|
+
UNREGISTER_COMPONENT: "UNREGISTER_COMPONENT",
|
|
6
|
+
REGISTER_REACT_COMPONENT: "REGISTER_REACT_COMPONENT",
|
|
7
|
+
UNREGISTER_REACT_COMPONENT: "UNREGISTER_REACT_COMPONENT",
|
|
8
|
+
MOUNT_COMPONENT: "MOUNT_COMPONENT",
|
|
9
|
+
UNMOUNT_COMPONENT: "UNMOUNT_COMPONENT",
|
|
10
|
+
CHANGE_COMPONENT_HANDLE: "CHANGE_COMPONENT_HANDLE",
|
|
11
|
+
REGISTER_MEASURABLE: "REGISTER_MEASURABLE",
|
|
12
|
+
UNREGISTER_MEASURABLE: "UNREGISTER_MEASURABLE",
|
|
13
|
+
CHANGE_ELEMENT_BOX_MODELS: "CHANGE_ELEMENT_BOX_MODELS",
|
|
14
|
+
CHANGE_DOCUMENT_ELEMENT_SIZE: "CHANGE_DOCUMENT_ELEMENT_SIZE",
|
|
15
|
+
CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP: "CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP"
|
|
16
|
+
};
|
|
17
|
+
function changeDocument(documentKey, operation) {
|
|
18
|
+
return { type: ActionTypes.CHANGE_DOCUMENT, payload: { documentKey, operation } };
|
|
19
|
+
}
|
|
20
|
+
function registerComponent(type, meta, propControllerDescriptors) {
|
|
21
|
+
return {
|
|
22
|
+
type: ActionTypes.REGISTER_COMPONENT,
|
|
23
|
+
payload: { type, meta, propControllerDescriptors }
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
function unregisterComponent(type) {
|
|
27
|
+
return { type: ActionTypes.UNREGISTER_COMPONENT, payload: { type } };
|
|
28
|
+
}
|
|
29
|
+
function registerComponentEffect(type, meta, propControllerDescriptors) {
|
|
30
|
+
return (dispatch) => {
|
|
31
|
+
dispatch(registerComponent(type, meta, propControllerDescriptors));
|
|
32
|
+
return () => {
|
|
33
|
+
dispatch(unregisterComponent(type));
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
function registerReactComponent(type, component) {
|
|
38
|
+
return { type: ActionTypes.REGISTER_REACT_COMPONENT, payload: { type, component } };
|
|
39
|
+
}
|
|
40
|
+
function unregisterReactComponent(type) {
|
|
41
|
+
return { type: ActionTypes.UNREGISTER_REACT_COMPONENT, payload: { type } };
|
|
42
|
+
}
|
|
43
|
+
function registerReactComponentEffect(type, component) {
|
|
44
|
+
return (dispatch) => {
|
|
45
|
+
dispatch(registerReactComponent(type, component));
|
|
46
|
+
return () => {
|
|
47
|
+
dispatch(unregisterReactComponent(type));
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
function mountComponent(elementKey) {
|
|
52
|
+
return { type: ActionTypes.MOUNT_COMPONENT, payload: { elementKey } };
|
|
53
|
+
}
|
|
54
|
+
function unmountComponent(elementKey) {
|
|
55
|
+
return { type: ActionTypes.UNMOUNT_COMPONENT, payload: { elementKey } };
|
|
56
|
+
}
|
|
57
|
+
function mountComponentEffect(elementKey) {
|
|
58
|
+
return (dispatch) => {
|
|
59
|
+
dispatch(mountComponent(elementKey));
|
|
60
|
+
return () => {
|
|
61
|
+
dispatch(unmountComponent(elementKey));
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
function changeComponentHandle(elementKey, componentHandle) {
|
|
66
|
+
return { type: ActionTypes.CHANGE_COMPONENT_HANDLE, payload: { elementKey, componentHandle } };
|
|
67
|
+
}
|
|
68
|
+
function registerMeasurable(elementKey, measurable) {
|
|
69
|
+
return { type: ActionTypes.REGISTER_MEASURABLE, payload: { elementKey, measurable } };
|
|
70
|
+
}
|
|
71
|
+
function unregisterMeasurable(elementKey) {
|
|
72
|
+
return { type: ActionTypes.UNREGISTER_MEASURABLE, payload: { elementKey } };
|
|
73
|
+
}
|
|
74
|
+
function changeDocumentElementSize(size) {
|
|
75
|
+
return { type: ActionTypes.CHANGE_DOCUMENT_ELEMENT_SIZE, payload: { size } };
|
|
76
|
+
}
|
|
77
|
+
function changeDocumentElementScrollTop(scrollTop) {
|
|
78
|
+
return { type: ActionTypes.CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP, payload: { scrollTop } };
|
|
79
|
+
}
|
|
80
|
+
exports.ActionTypes = ActionTypes;
|
|
81
|
+
exports.changeComponentHandle = changeComponentHandle;
|
|
82
|
+
exports.changeDocument = changeDocument;
|
|
83
|
+
exports.changeDocumentElementScrollTop = changeDocumentElementScrollTop;
|
|
84
|
+
exports.changeDocumentElementSize = changeDocumentElementSize;
|
|
85
|
+
exports.mountComponentEffect = mountComponentEffect;
|
|
86
|
+
exports.registerComponent = registerComponent;
|
|
87
|
+
exports.registerComponentEffect = registerComponentEffect;
|
|
88
|
+
exports.registerMeasurable = registerMeasurable;
|
|
89
|
+
exports.registerReactComponentEffect = registerReactComponentEffect;
|
|
90
|
+
exports.unregisterMeasurable = unregisterMeasurable;
|
|
91
|
+
//# sourceMappingURL=actions.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"actions.cjs.js","sources":["../src/state/actions.ts"],"sourcesContent":["import type { Operation } from 'ot-json0'\n\nimport type { ComponentType } from './modules/react-components'\nimport type { Measurable, BoxModel } from './modules/box-models'\nimport type { ThunkAction } from 'redux-thunk'\nimport { ComponentMeta } from './modules/components-meta'\nimport { PropControllerDescriptor } from '../prop-controllers'\nimport type { Size } from './react-builder-preview'\n\nexport const ActionTypes = {\n CHANGE_DOCUMENT: 'CHANGE_DOCUMENT',\n\n REGISTER_COMPONENT: 'REGISTER_COMPONENT',\n UNREGISTER_COMPONENT: 'UNREGISTER_COMPONENT',\n\n REGISTER_REACT_COMPONENT: 'REGISTER_REACT_COMPONENT',\n UNREGISTER_REACT_COMPONENT: 'UNREGISTER_REACT_COMPONENT',\n\n MOUNT_COMPONENT: 'MOUNT_COMPONENT',\n UNMOUNT_COMPONENT: 'UNMOUNT_COMPONENT',\n\n CHANGE_COMPONENT_HANDLE: 'CHANGE_COMPONENT_HANDLE',\n\n REGISTER_MEASURABLE: 'REGISTER_MEASURABLE',\n UNREGISTER_MEASURABLE: 'UNREGISTER_MEASURABLE',\n\n CHANGE_ELEMENT_BOX_MODELS: 'CHANGE_ELEMENT_BOX_MODELS',\n\n CHANGE_DOCUMENT_ELEMENT_SIZE: 'CHANGE_DOCUMENT_ELEMENT_SIZE',\n CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP: 'CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP',\n} as const\n\ntype ChangeDocumentAction = {\n type: typeof ActionTypes.CHANGE_DOCUMENT\n payload: { documentKey: string; operation: Operation }\n}\n\ntype RegisterComponentAction = {\n type: typeof ActionTypes.REGISTER_COMPONENT\n payload: {\n type: string\n meta: ComponentMeta\n propControllerDescriptors: Record<string, PropControllerDescriptor>\n }\n}\n\ntype UnregisterComponentAction = {\n type: typeof ActionTypes.UNREGISTER_COMPONENT\n payload: { type: string }\n}\n\ntype RegisterReactComponentAction = {\n type: typeof ActionTypes.REGISTER_REACT_COMPONENT\n payload: { type: string; component: ComponentType }\n}\n\ntype UnregisterReactComponentAction = {\n type: typeof ActionTypes.UNREGISTER_REACT_COMPONENT\n payload: { type: string }\n}\n\ntype MountComponentAction = {\n type: typeof ActionTypes.MOUNT_COMPONENT\n payload: { elementKey: string }\n}\n\ntype UnmountComponentAction = {\n type: typeof ActionTypes.UNMOUNT_COMPONENT\n payload: { elementKey: string }\n}\n\ntype ChangeComponentHandleAction = {\n type: typeof ActionTypes.CHANGE_COMPONENT_HANDLE\n payload: { elementKey: string; componentHandle: unknown }\n}\n\ntype RegisterMeasurableAction = {\n type: typeof ActionTypes.REGISTER_MEASURABLE\n payload: { elementKey: string; measurable: Measurable }\n}\n\ntype UnregisterMeasurableAction = {\n type: typeof ActionTypes.UNREGISTER_MEASURABLE\n payload: { elementKey: string }\n}\n\ntype ChangeElementBoxModelsAction = {\n type: typeof ActionTypes.CHANGE_ELEMENT_BOX_MODELS\n payload: { changedElementBoxModels: Map<string, BoxModel | null> }\n}\n\ntype ChangeDocumentElementSizeAction = {\n type: typeof ActionTypes.CHANGE_DOCUMENT_ELEMENT_SIZE\n payload: { size: Size }\n}\n\ntype ChangeDocumentElementScrollTopAction = {\n type: typeof ActionTypes.CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP\n payload: { scrollTop: number }\n}\n\nexport type Action =\n | ChangeDocumentAction\n | RegisterComponentAction\n | UnregisterComponentAction\n | RegisterReactComponentAction\n | UnregisterReactComponentAction\n | MountComponentAction\n | UnmountComponentAction\n | ChangeComponentHandleAction\n | RegisterMeasurableAction\n | UnregisterMeasurableAction\n | ChangeElementBoxModelsAction\n | ChangeDocumentElementSizeAction\n | ChangeDocumentElementScrollTopAction\n\nexport function changeDocument(documentKey: string, operation: Operation): ChangeDocumentAction {\n return { type: ActionTypes.CHANGE_DOCUMENT, payload: { documentKey, operation } }\n}\n\nexport function registerComponent(\n type: string,\n meta: ComponentMeta,\n propControllerDescriptors: Record<string, PropControllerDescriptor>,\n): RegisterComponentAction {\n return {\n type: ActionTypes.REGISTER_COMPONENT,\n payload: { type, meta, propControllerDescriptors },\n }\n}\n\nexport function unregisterComponent(type: string): UnregisterComponentAction {\n return { type: ActionTypes.UNREGISTER_COMPONENT, payload: { type } }\n}\n\nexport function registerComponentEffect(\n type: string,\n meta: ComponentMeta,\n propControllerDescriptors: Record<string, PropControllerDescriptor>,\n): ThunkAction<() => void, unknown, unknown, Action> {\n return dispatch => {\n dispatch(registerComponent(type, meta, propControllerDescriptors))\n\n return () => {\n dispatch(unregisterComponent(type))\n }\n }\n}\n\nfunction registerReactComponent(\n type: string,\n component: ComponentType,\n): RegisterReactComponentAction {\n return { type: ActionTypes.REGISTER_REACT_COMPONENT, payload: { type, component } }\n}\n\nfunction unregisterReactComponent(type: string): UnregisterReactComponentAction {\n return { type: ActionTypes.UNREGISTER_REACT_COMPONENT, payload: { type } }\n}\n\nexport function registerReactComponentEffect(\n type: string,\n component: ComponentType,\n): ThunkAction<() => void, unknown, unknown, Action> {\n return dispatch => {\n dispatch(registerReactComponent(type, component))\n\n return () => {\n dispatch(unregisterReactComponent(type))\n }\n }\n}\n\nexport function mountComponent(elementKey: string): MountComponentAction {\n return { type: ActionTypes.MOUNT_COMPONENT, payload: { elementKey } }\n}\n\nexport function unmountComponent(elementKey: string): UnmountComponentAction {\n return { type: ActionTypes.UNMOUNT_COMPONENT, payload: { elementKey } }\n}\n\nexport function mountComponentEffect(\n elementKey: string,\n): ThunkAction<() => void, unknown, unknown, Action> {\n return dispatch => {\n dispatch(mountComponent(elementKey))\n\n return () => {\n dispatch(unmountComponent(elementKey))\n }\n }\n}\n\nexport function changeComponentHandle(\n elementKey: string,\n componentHandle: unknown,\n): ChangeComponentHandleAction {\n return { type: ActionTypes.CHANGE_COMPONENT_HANDLE, payload: { elementKey, componentHandle } }\n}\n\nexport function registerMeasurable(\n elementKey: string,\n measurable: Measurable,\n): RegisterMeasurableAction {\n return { type: ActionTypes.REGISTER_MEASURABLE, payload: { elementKey, measurable } }\n}\n\nexport function unregisterMeasurable(elementKey: string): UnregisterMeasurableAction {\n return { type: ActionTypes.UNREGISTER_MEASURABLE, payload: { elementKey } }\n}\n\nexport function registerMeasurableEffect(\n elementKey: string,\n measurable: Measurable,\n): ThunkAction<() => void, unknown, unknown, Action> {\n return dispatch => {\n dispatch(registerMeasurable(elementKey, measurable))\n\n return () => {\n dispatch(unregisterMeasurable(elementKey))\n }\n }\n}\n\nexport function changeElementBoxModels(\n changedElementBoxModels: Map<string, BoxModel | null>,\n): ChangeElementBoxModelsAction {\n return { type: ActionTypes.CHANGE_ELEMENT_BOX_MODELS, payload: { changedElementBoxModels } }\n}\n\nexport function changeDocumentElementSize(size: Size): ChangeDocumentElementSizeAction {\n return { type: ActionTypes.CHANGE_DOCUMENT_ELEMENT_SIZE, payload: { size } }\n}\n\nexport function changeDocumentElementScrollTop(\n scrollTop: number,\n): ChangeDocumentElementScrollTopAction {\n return { type: ActionTypes.CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP, payload: { scrollTop } }\n}\n"],"names":[],"mappings":";MASa,cAAc;AAAA,EACzB,iBAAiB;AAAA,EAEjB,oBAAoB;AAAA,EACpB,sBAAsB;AAAA,EAEtB,0BAA0B;AAAA,EAC1B,4BAA4B;AAAA,EAE5B,iBAAiB;AAAA,EACjB,mBAAmB;AAAA,EAEnB,yBAAyB;AAAA,EAEzB,qBAAqB;AAAA,EACrB,uBAAuB;AAAA,EAEvB,2BAA2B;AAAA,EAE3B,8BAA8B;AAAA,EAC9B,oCAAoC;AAAA;wBAuFP,aAAqB,WAA4C;SACvF,EAAE,MAAM,YAAY,iBAAiB,SAAS,EAAE,aAAa;AAAA;2BAIpE,MACA,MACA,2BACyB;SAClB;AAAA,IACL,MAAM,YAAY;AAAA,IAClB,SAAS,EAAE,MAAM,MAAM;AAAA;AAAA;6BAIS,MAAyC;SACpE,EAAE,MAAM,YAAY,sBAAsB,SAAS,EAAE;AAAA;iCAI5D,MACA,MACA,2BACmD;SAC5C,cAAY;aACR,kBAAkB,MAAM,MAAM;WAEhC,MAAM;eACF,oBAAoB;AAAA;AAAA;AAAA;AAKnC,gCACE,MACA,WAC8B;SACvB,EAAE,MAAM,YAAY,0BAA0B,SAAS,EAAE,MAAM;AAAA;AAGxE,kCAAkC,MAA8C;SACvE,EAAE,MAAM,YAAY,4BAA4B,SAAS,EAAE;AAAA;sCAIlE,MACA,WACmD;SAC5C,cAAY;aACR,uBAAuB,MAAM;WAE/B,MAAM;eACF,yBAAyB;AAAA;AAAA;AAAA;wBAKT,YAA0C;SAChE,EAAE,MAAM,YAAY,iBAAiB,SAAS,EAAE;AAAA;0BAGxB,YAA4C;SACpE,EAAE,MAAM,YAAY,mBAAmB,SAAS,EAAE;AAAA;8BAIzD,YACmD;SAC5C,cAAY;aACR,eAAe;WAEjB,MAAM;eACF,iBAAiB;AAAA;AAAA;AAAA;+BAM9B,YACA,iBAC6B;SACtB,EAAE,MAAM,YAAY,yBAAyB,SAAS,EAAE,YAAY;AAAA;4BAI3E,YACA,YAC0B;SACnB,EAAE,MAAM,YAAY,qBAAqB,SAAS,EAAE,YAAY;AAAA;8BAGpC,YAAgD;SAC5E,EAAE,MAAM,YAAY,uBAAuB,SAAS,EAAE;AAAA;mCAsBrB,MAA6C;SAC9E,EAAE,MAAM,YAAY,8BAA8B,SAAS,EAAE;AAAA;wCAIpE,WACsC;SAC/B,EAAE,MAAM,YAAY,oCAAoC,SAAS,EAAE;AAAA;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
const ActionTypes = {
|
|
2
|
+
CHANGE_DOCUMENT: "CHANGE_DOCUMENT",
|
|
3
|
+
REGISTER_COMPONENT: "REGISTER_COMPONENT",
|
|
4
|
+
UNREGISTER_COMPONENT: "UNREGISTER_COMPONENT",
|
|
5
|
+
REGISTER_REACT_COMPONENT: "REGISTER_REACT_COMPONENT",
|
|
6
|
+
UNREGISTER_REACT_COMPONENT: "UNREGISTER_REACT_COMPONENT",
|
|
7
|
+
MOUNT_COMPONENT: "MOUNT_COMPONENT",
|
|
8
|
+
UNMOUNT_COMPONENT: "UNMOUNT_COMPONENT",
|
|
9
|
+
CHANGE_COMPONENT_HANDLE: "CHANGE_COMPONENT_HANDLE",
|
|
10
|
+
REGISTER_MEASURABLE: "REGISTER_MEASURABLE",
|
|
11
|
+
UNREGISTER_MEASURABLE: "UNREGISTER_MEASURABLE",
|
|
12
|
+
CHANGE_ELEMENT_BOX_MODELS: "CHANGE_ELEMENT_BOX_MODELS",
|
|
13
|
+
CHANGE_DOCUMENT_ELEMENT_SIZE: "CHANGE_DOCUMENT_ELEMENT_SIZE",
|
|
14
|
+
CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP: "CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP"
|
|
15
|
+
};
|
|
16
|
+
function changeDocument(documentKey, operation) {
|
|
17
|
+
return { type: ActionTypes.CHANGE_DOCUMENT, payload: { documentKey, operation } };
|
|
18
|
+
}
|
|
19
|
+
function registerComponent(type, meta, propControllerDescriptors) {
|
|
20
|
+
return {
|
|
21
|
+
type: ActionTypes.REGISTER_COMPONENT,
|
|
22
|
+
payload: { type, meta, propControllerDescriptors }
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
function unregisterComponent(type) {
|
|
26
|
+
return { type: ActionTypes.UNREGISTER_COMPONENT, payload: { type } };
|
|
27
|
+
}
|
|
28
|
+
function registerComponentEffect(type, meta, propControllerDescriptors) {
|
|
29
|
+
return (dispatch) => {
|
|
30
|
+
dispatch(registerComponent(type, meta, propControllerDescriptors));
|
|
31
|
+
return () => {
|
|
32
|
+
dispatch(unregisterComponent(type));
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
function registerReactComponent(type, component) {
|
|
37
|
+
return { type: ActionTypes.REGISTER_REACT_COMPONENT, payload: { type, component } };
|
|
38
|
+
}
|
|
39
|
+
function unregisterReactComponent(type) {
|
|
40
|
+
return { type: ActionTypes.UNREGISTER_REACT_COMPONENT, payload: { type } };
|
|
41
|
+
}
|
|
42
|
+
function registerReactComponentEffect(type, component) {
|
|
43
|
+
return (dispatch) => {
|
|
44
|
+
dispatch(registerReactComponent(type, component));
|
|
45
|
+
return () => {
|
|
46
|
+
dispatch(unregisterReactComponent(type));
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
function mountComponent(elementKey) {
|
|
51
|
+
return { type: ActionTypes.MOUNT_COMPONENT, payload: { elementKey } };
|
|
52
|
+
}
|
|
53
|
+
function unmountComponent(elementKey) {
|
|
54
|
+
return { type: ActionTypes.UNMOUNT_COMPONENT, payload: { elementKey } };
|
|
55
|
+
}
|
|
56
|
+
function mountComponentEffect(elementKey) {
|
|
57
|
+
return (dispatch) => {
|
|
58
|
+
dispatch(mountComponent(elementKey));
|
|
59
|
+
return () => {
|
|
60
|
+
dispatch(unmountComponent(elementKey));
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
function changeComponentHandle(elementKey, componentHandle) {
|
|
65
|
+
return { type: ActionTypes.CHANGE_COMPONENT_HANDLE, payload: { elementKey, componentHandle } };
|
|
66
|
+
}
|
|
67
|
+
function registerMeasurable(elementKey, measurable) {
|
|
68
|
+
return { type: ActionTypes.REGISTER_MEASURABLE, payload: { elementKey, measurable } };
|
|
69
|
+
}
|
|
70
|
+
function unregisterMeasurable(elementKey) {
|
|
71
|
+
return { type: ActionTypes.UNREGISTER_MEASURABLE, payload: { elementKey } };
|
|
72
|
+
}
|
|
73
|
+
function changeDocumentElementSize(size) {
|
|
74
|
+
return { type: ActionTypes.CHANGE_DOCUMENT_ELEMENT_SIZE, payload: { size } };
|
|
75
|
+
}
|
|
76
|
+
function changeDocumentElementScrollTop(scrollTop) {
|
|
77
|
+
return { type: ActionTypes.CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP, payload: { scrollTop } };
|
|
78
|
+
}
|
|
79
|
+
export { ActionTypes as A, changeDocumentElementScrollTop as a, changeComponentHandle as b, changeDocument as c, registerReactComponentEffect as d, changeDocumentElementSize as e, registerComponent as f, registerMeasurable as g, mountComponentEffect as m, registerComponentEffect as r, unregisterMeasurable as u };
|
|
80
|
+
//# sourceMappingURL=actions.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"actions.es.js","sources":["../src/state/actions.ts"],"sourcesContent":["import type { Operation } from 'ot-json0'\n\nimport type { ComponentType } from './modules/react-components'\nimport type { Measurable, BoxModel } from './modules/box-models'\nimport type { ThunkAction } from 'redux-thunk'\nimport { ComponentMeta } from './modules/components-meta'\nimport { PropControllerDescriptor } from '../prop-controllers'\nimport type { Size } from './react-builder-preview'\n\nexport const ActionTypes = {\n CHANGE_DOCUMENT: 'CHANGE_DOCUMENT',\n\n REGISTER_COMPONENT: 'REGISTER_COMPONENT',\n UNREGISTER_COMPONENT: 'UNREGISTER_COMPONENT',\n\n REGISTER_REACT_COMPONENT: 'REGISTER_REACT_COMPONENT',\n UNREGISTER_REACT_COMPONENT: 'UNREGISTER_REACT_COMPONENT',\n\n MOUNT_COMPONENT: 'MOUNT_COMPONENT',\n UNMOUNT_COMPONENT: 'UNMOUNT_COMPONENT',\n\n CHANGE_COMPONENT_HANDLE: 'CHANGE_COMPONENT_HANDLE',\n\n REGISTER_MEASURABLE: 'REGISTER_MEASURABLE',\n UNREGISTER_MEASURABLE: 'UNREGISTER_MEASURABLE',\n\n CHANGE_ELEMENT_BOX_MODELS: 'CHANGE_ELEMENT_BOX_MODELS',\n\n CHANGE_DOCUMENT_ELEMENT_SIZE: 'CHANGE_DOCUMENT_ELEMENT_SIZE',\n CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP: 'CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP',\n} as const\n\ntype ChangeDocumentAction = {\n type: typeof ActionTypes.CHANGE_DOCUMENT\n payload: { documentKey: string; operation: Operation }\n}\n\ntype RegisterComponentAction = {\n type: typeof ActionTypes.REGISTER_COMPONENT\n payload: {\n type: string\n meta: ComponentMeta\n propControllerDescriptors: Record<string, PropControllerDescriptor>\n }\n}\n\ntype UnregisterComponentAction = {\n type: typeof ActionTypes.UNREGISTER_COMPONENT\n payload: { type: string }\n}\n\ntype RegisterReactComponentAction = {\n type: typeof ActionTypes.REGISTER_REACT_COMPONENT\n payload: { type: string; component: ComponentType }\n}\n\ntype UnregisterReactComponentAction = {\n type: typeof ActionTypes.UNREGISTER_REACT_COMPONENT\n payload: { type: string }\n}\n\ntype MountComponentAction = {\n type: typeof ActionTypes.MOUNT_COMPONENT\n payload: { elementKey: string }\n}\n\ntype UnmountComponentAction = {\n type: typeof ActionTypes.UNMOUNT_COMPONENT\n payload: { elementKey: string }\n}\n\ntype ChangeComponentHandleAction = {\n type: typeof ActionTypes.CHANGE_COMPONENT_HANDLE\n payload: { elementKey: string; componentHandle: unknown }\n}\n\ntype RegisterMeasurableAction = {\n type: typeof ActionTypes.REGISTER_MEASURABLE\n payload: { elementKey: string; measurable: Measurable }\n}\n\ntype UnregisterMeasurableAction = {\n type: typeof ActionTypes.UNREGISTER_MEASURABLE\n payload: { elementKey: string }\n}\n\ntype ChangeElementBoxModelsAction = {\n type: typeof ActionTypes.CHANGE_ELEMENT_BOX_MODELS\n payload: { changedElementBoxModels: Map<string, BoxModel | null> }\n}\n\ntype ChangeDocumentElementSizeAction = {\n type: typeof ActionTypes.CHANGE_DOCUMENT_ELEMENT_SIZE\n payload: { size: Size }\n}\n\ntype ChangeDocumentElementScrollTopAction = {\n type: typeof ActionTypes.CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP\n payload: { scrollTop: number }\n}\n\nexport type Action =\n | ChangeDocumentAction\n | RegisterComponentAction\n | UnregisterComponentAction\n | RegisterReactComponentAction\n | UnregisterReactComponentAction\n | MountComponentAction\n | UnmountComponentAction\n | ChangeComponentHandleAction\n | RegisterMeasurableAction\n | UnregisterMeasurableAction\n | ChangeElementBoxModelsAction\n | ChangeDocumentElementSizeAction\n | ChangeDocumentElementScrollTopAction\n\nexport function changeDocument(documentKey: string, operation: Operation): ChangeDocumentAction {\n return { type: ActionTypes.CHANGE_DOCUMENT, payload: { documentKey, operation } }\n}\n\nexport function registerComponent(\n type: string,\n meta: ComponentMeta,\n propControllerDescriptors: Record<string, PropControllerDescriptor>,\n): RegisterComponentAction {\n return {\n type: ActionTypes.REGISTER_COMPONENT,\n payload: { type, meta, propControllerDescriptors },\n }\n}\n\nexport function unregisterComponent(type: string): UnregisterComponentAction {\n return { type: ActionTypes.UNREGISTER_COMPONENT, payload: { type } }\n}\n\nexport function registerComponentEffect(\n type: string,\n meta: ComponentMeta,\n propControllerDescriptors: Record<string, PropControllerDescriptor>,\n): ThunkAction<() => void, unknown, unknown, Action> {\n return dispatch => {\n dispatch(registerComponent(type, meta, propControllerDescriptors))\n\n return () => {\n dispatch(unregisterComponent(type))\n }\n }\n}\n\nfunction registerReactComponent(\n type: string,\n component: ComponentType,\n): RegisterReactComponentAction {\n return { type: ActionTypes.REGISTER_REACT_COMPONENT, payload: { type, component } }\n}\n\nfunction unregisterReactComponent(type: string): UnregisterReactComponentAction {\n return { type: ActionTypes.UNREGISTER_REACT_COMPONENT, payload: { type } }\n}\n\nexport function registerReactComponentEffect(\n type: string,\n component: ComponentType,\n): ThunkAction<() => void, unknown, unknown, Action> {\n return dispatch => {\n dispatch(registerReactComponent(type, component))\n\n return () => {\n dispatch(unregisterReactComponent(type))\n }\n }\n}\n\nexport function mountComponent(elementKey: string): MountComponentAction {\n return { type: ActionTypes.MOUNT_COMPONENT, payload: { elementKey } }\n}\n\nexport function unmountComponent(elementKey: string): UnmountComponentAction {\n return { type: ActionTypes.UNMOUNT_COMPONENT, payload: { elementKey } }\n}\n\nexport function mountComponentEffect(\n elementKey: string,\n): ThunkAction<() => void, unknown, unknown, Action> {\n return dispatch => {\n dispatch(mountComponent(elementKey))\n\n return () => {\n dispatch(unmountComponent(elementKey))\n }\n }\n}\n\nexport function changeComponentHandle(\n elementKey: string,\n componentHandle: unknown,\n): ChangeComponentHandleAction {\n return { type: ActionTypes.CHANGE_COMPONENT_HANDLE, payload: { elementKey, componentHandle } }\n}\n\nexport function registerMeasurable(\n elementKey: string,\n measurable: Measurable,\n): RegisterMeasurableAction {\n return { type: ActionTypes.REGISTER_MEASURABLE, payload: { elementKey, measurable } }\n}\n\nexport function unregisterMeasurable(elementKey: string): UnregisterMeasurableAction {\n return { type: ActionTypes.UNREGISTER_MEASURABLE, payload: { elementKey } }\n}\n\nexport function registerMeasurableEffect(\n elementKey: string,\n measurable: Measurable,\n): ThunkAction<() => void, unknown, unknown, Action> {\n return dispatch => {\n dispatch(registerMeasurable(elementKey, measurable))\n\n return () => {\n dispatch(unregisterMeasurable(elementKey))\n }\n }\n}\n\nexport function changeElementBoxModels(\n changedElementBoxModels: Map<string, BoxModel | null>,\n): ChangeElementBoxModelsAction {\n return { type: ActionTypes.CHANGE_ELEMENT_BOX_MODELS, payload: { changedElementBoxModels } }\n}\n\nexport function changeDocumentElementSize(size: Size): ChangeDocumentElementSizeAction {\n return { type: ActionTypes.CHANGE_DOCUMENT_ELEMENT_SIZE, payload: { size } }\n}\n\nexport function changeDocumentElementScrollTop(\n scrollTop: number,\n): ChangeDocumentElementScrollTopAction {\n return { type: ActionTypes.CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP, payload: { scrollTop } }\n}\n"],"names":[],"mappings":"MASa,cAAc;AAAA,EACzB,iBAAiB;AAAA,EAEjB,oBAAoB;AAAA,EACpB,sBAAsB;AAAA,EAEtB,0BAA0B;AAAA,EAC1B,4BAA4B;AAAA,EAE5B,iBAAiB;AAAA,EACjB,mBAAmB;AAAA,EAEnB,yBAAyB;AAAA,EAEzB,qBAAqB;AAAA,EACrB,uBAAuB;AAAA,EAEvB,2BAA2B;AAAA,EAE3B,8BAA8B;AAAA,EAC9B,oCAAoC;AAAA;wBAuFP,aAAqB,WAA4C;SACvF,EAAE,MAAM,YAAY,iBAAiB,SAAS,EAAE,aAAa;AAAA;2BAIpE,MACA,MACA,2BACyB;SAClB;AAAA,IACL,MAAM,YAAY;AAAA,IAClB,SAAS,EAAE,MAAM,MAAM;AAAA;AAAA;6BAIS,MAAyC;SACpE,EAAE,MAAM,YAAY,sBAAsB,SAAS,EAAE;AAAA;iCAI5D,MACA,MACA,2BACmD;SAC5C,cAAY;aACR,kBAAkB,MAAM,MAAM;WAEhC,MAAM;eACF,oBAAoB;AAAA;AAAA;AAAA;AAKnC,gCACE,MACA,WAC8B;SACvB,EAAE,MAAM,YAAY,0BAA0B,SAAS,EAAE,MAAM;AAAA;AAGxE,kCAAkC,MAA8C;SACvE,EAAE,MAAM,YAAY,4BAA4B,SAAS,EAAE;AAAA;sCAIlE,MACA,WACmD;SAC5C,cAAY;aACR,uBAAuB,MAAM;WAE/B,MAAM;eACF,yBAAyB;AAAA;AAAA;AAAA;wBAKT,YAA0C;SAChE,EAAE,MAAM,YAAY,iBAAiB,SAAS,EAAE;AAAA;0BAGxB,YAA4C;SACpE,EAAE,MAAM,YAAY,mBAAmB,SAAS,EAAE;AAAA;8BAIzD,YACmD;SAC5C,cAAY;aACR,eAAe;WAEjB,MAAM;eACF,iBAAiB;AAAA;AAAA;AAAA;+BAM9B,YACA,iBAC6B;SACtB,EAAE,MAAM,YAAY,yBAAyB,SAAS,EAAE,YAAY;AAAA;4BAI3E,YACA,YAC0B;SACnB,EAAE,MAAM,YAAY,qBAAqB,SAAS,EAAE,YAAY;AAAA;8BAGpC,YAAgD;SAC5E,EAAE,MAAM,YAAY,uBAAuB,SAAS,EAAE;AAAA;mCAsBrB,MAA6C;SAC9E,EAAE,MAAM,YAAY,8BAA8B,SAAS,EAAE;AAAA;wCAIpE,WACsC;SAC/B,EAAE,MAAM,YAAY,oCAAoC,SAAS,EAAE;AAAA;;"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports[Symbol.toStringTag] = "Module";
|
|
4
|
+
var boxModels = require("./box-models.cjs.js");
|
|
5
|
+
require("./actions.cjs.js");
|
|
6
|
+
exports.createBox = boxModels.createBox;
|
|
7
|
+
exports.getBox = boxModels.getBox;
|
|
8
|
+
exports.parse = boxModels.parse;
|
|
9
|
+
//# sourceMappingURL=box-model.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"box-model.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"box-model.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
|
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __defProps = Object.defineProperties;
|
|
4
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
5
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
8
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
9
|
+
var __spreadValues = (a, b) => {
|
|
10
|
+
for (var prop in b || (b = {}))
|
|
11
|
+
if (__hasOwnProp.call(b, prop))
|
|
12
|
+
__defNormalProp(a, prop, b[prop]);
|
|
13
|
+
if (__getOwnPropSymbols)
|
|
14
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
15
|
+
if (__propIsEnum.call(b, prop))
|
|
16
|
+
__defNormalProp(a, prop, b[prop]);
|
|
17
|
+
}
|
|
18
|
+
return a;
|
|
19
|
+
};
|
|
20
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
21
|
+
var actions = require("./actions.cjs.js");
|
|
22
|
+
var isProduction = true;
|
|
23
|
+
var prefix = "Invariant failed";
|
|
24
|
+
function invariant(condition, message) {
|
|
25
|
+
if (condition) {
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
if (isProduction) {
|
|
29
|
+
throw new Error(prefix);
|
|
30
|
+
}
|
|
31
|
+
var provided = typeof message === "function" ? message() : message;
|
|
32
|
+
var value = provided ? prefix + ": " + provided : prefix;
|
|
33
|
+
throw new Error(value);
|
|
34
|
+
}
|
|
35
|
+
var getRect = function getRect2(_ref) {
|
|
36
|
+
var top = _ref.top, right = _ref.right, bottom = _ref.bottom, left = _ref.left;
|
|
37
|
+
var width = right - left;
|
|
38
|
+
var height = bottom - top;
|
|
39
|
+
var rect = {
|
|
40
|
+
top,
|
|
41
|
+
right,
|
|
42
|
+
bottom,
|
|
43
|
+
left,
|
|
44
|
+
width,
|
|
45
|
+
height,
|
|
46
|
+
x: left,
|
|
47
|
+
y: top,
|
|
48
|
+
center: {
|
|
49
|
+
x: (right + left) / 2,
|
|
50
|
+
y: (bottom + top) / 2
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
return rect;
|
|
54
|
+
};
|
|
55
|
+
var expand = function expand2(target, expandBy) {
|
|
56
|
+
return {
|
|
57
|
+
top: target.top - expandBy.top,
|
|
58
|
+
left: target.left - expandBy.left,
|
|
59
|
+
bottom: target.bottom + expandBy.bottom,
|
|
60
|
+
right: target.right + expandBy.right
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
var shrink = function shrink2(target, shrinkBy) {
|
|
64
|
+
return {
|
|
65
|
+
top: target.top + shrinkBy.top,
|
|
66
|
+
left: target.left + shrinkBy.left,
|
|
67
|
+
bottom: target.bottom - shrinkBy.bottom,
|
|
68
|
+
right: target.right - shrinkBy.right
|
|
69
|
+
};
|
|
70
|
+
};
|
|
71
|
+
var shift = function shift2(target, shiftBy) {
|
|
72
|
+
return {
|
|
73
|
+
top: target.top + shiftBy.y,
|
|
74
|
+
left: target.left + shiftBy.x,
|
|
75
|
+
bottom: target.bottom + shiftBy.y,
|
|
76
|
+
right: target.right + shiftBy.x
|
|
77
|
+
};
|
|
78
|
+
};
|
|
79
|
+
var noSpacing = {
|
|
80
|
+
top: 0,
|
|
81
|
+
right: 0,
|
|
82
|
+
bottom: 0,
|
|
83
|
+
left: 0
|
|
84
|
+
};
|
|
85
|
+
var createBox$1 = function createBox2(_ref2) {
|
|
86
|
+
var borderBox = _ref2.borderBox, _ref2$margin = _ref2.margin, margin = _ref2$margin === void 0 ? noSpacing : _ref2$margin, _ref2$border = _ref2.border, border = _ref2$border === void 0 ? noSpacing : _ref2$border, _ref2$padding = _ref2.padding, padding = _ref2$padding === void 0 ? noSpacing : _ref2$padding;
|
|
87
|
+
var marginBox = getRect(expand(borderBox, margin));
|
|
88
|
+
var paddingBox = getRect(shrink(borderBox, border));
|
|
89
|
+
var contentBox = getRect(shrink(paddingBox, padding));
|
|
90
|
+
return {
|
|
91
|
+
marginBox,
|
|
92
|
+
borderBox: getRect(borderBox),
|
|
93
|
+
paddingBox,
|
|
94
|
+
contentBox,
|
|
95
|
+
margin,
|
|
96
|
+
border,
|
|
97
|
+
padding
|
|
98
|
+
};
|
|
99
|
+
};
|
|
100
|
+
var parse$1 = function parse2(raw) {
|
|
101
|
+
var value = raw.slice(0, -2);
|
|
102
|
+
var suffix = raw.slice(-2);
|
|
103
|
+
if (suffix !== "px") {
|
|
104
|
+
return 0;
|
|
105
|
+
}
|
|
106
|
+
var result = Number(value);
|
|
107
|
+
!!isNaN(result) ? invariant(false) : void 0;
|
|
108
|
+
return result;
|
|
109
|
+
};
|
|
110
|
+
var getWindowScroll = function getWindowScroll2() {
|
|
111
|
+
return {
|
|
112
|
+
x: window.pageXOffset,
|
|
113
|
+
y: window.pageYOffset
|
|
114
|
+
};
|
|
115
|
+
};
|
|
116
|
+
var offset = function offset2(original, change) {
|
|
117
|
+
var borderBox = original.borderBox, border = original.border, margin = original.margin, padding = original.padding;
|
|
118
|
+
var shifted = shift(borderBox, change);
|
|
119
|
+
return createBox$1({
|
|
120
|
+
borderBox: shifted,
|
|
121
|
+
border,
|
|
122
|
+
margin,
|
|
123
|
+
padding
|
|
124
|
+
});
|
|
125
|
+
};
|
|
126
|
+
var withScroll = function withScroll2(original, scroll) {
|
|
127
|
+
if (scroll === void 0) {
|
|
128
|
+
scroll = getWindowScroll();
|
|
129
|
+
}
|
|
130
|
+
return offset(original, scroll);
|
|
131
|
+
};
|
|
132
|
+
var calculateBox = function calculateBox2(borderBox, styles) {
|
|
133
|
+
var margin = {
|
|
134
|
+
top: parse$1(styles.marginTop),
|
|
135
|
+
right: parse$1(styles.marginRight),
|
|
136
|
+
bottom: parse$1(styles.marginBottom),
|
|
137
|
+
left: parse$1(styles.marginLeft)
|
|
138
|
+
};
|
|
139
|
+
var padding = {
|
|
140
|
+
top: parse$1(styles.paddingTop),
|
|
141
|
+
right: parse$1(styles.paddingRight),
|
|
142
|
+
bottom: parse$1(styles.paddingBottom),
|
|
143
|
+
left: parse$1(styles.paddingLeft)
|
|
144
|
+
};
|
|
145
|
+
var border = {
|
|
146
|
+
top: parse$1(styles.borderTopWidth),
|
|
147
|
+
right: parse$1(styles.borderRightWidth),
|
|
148
|
+
bottom: parse$1(styles.borderBottomWidth),
|
|
149
|
+
left: parse$1(styles.borderLeftWidth)
|
|
150
|
+
};
|
|
151
|
+
return createBox$1({
|
|
152
|
+
borderBox,
|
|
153
|
+
margin,
|
|
154
|
+
padding,
|
|
155
|
+
border
|
|
156
|
+
});
|
|
157
|
+
};
|
|
158
|
+
var getBox$1 = function getBox2(el) {
|
|
159
|
+
var borderBox = el.getBoundingClientRect();
|
|
160
|
+
var styles = window.getComputedStyle(el);
|
|
161
|
+
return calculateBox(borderBox, styles);
|
|
162
|
+
};
|
|
163
|
+
function parse(rawString) {
|
|
164
|
+
const value = Number(rawString.replace(/px$/, ""));
|
|
165
|
+
return Number.isFinite(value) ? value : 0;
|
|
166
|
+
}
|
|
167
|
+
function createBox(boxArgs) {
|
|
168
|
+
return withScroll(createBox$1(boxArgs));
|
|
169
|
+
}
|
|
170
|
+
function getBox(element) {
|
|
171
|
+
return withScroll(getBox$1(element));
|
|
172
|
+
}
|
|
173
|
+
function isMeasurable(value) {
|
|
174
|
+
if (value instanceof Element)
|
|
175
|
+
return true;
|
|
176
|
+
if (typeof value === "object" && value !== null && "getBoxModel" in value && typeof value.getBoxModel === "function") {
|
|
177
|
+
return true;
|
|
178
|
+
}
|
|
179
|
+
return false;
|
|
180
|
+
}
|
|
181
|
+
function measure(measurable) {
|
|
182
|
+
if (measurable instanceof Element)
|
|
183
|
+
return getBox(measurable);
|
|
184
|
+
return measurable.getBoxModel();
|
|
185
|
+
}
|
|
186
|
+
function getInitialState() {
|
|
187
|
+
return { measurables: /* @__PURE__ */ new Map(), boxModels: /* @__PURE__ */ new Map() };
|
|
188
|
+
}
|
|
189
|
+
function getMeasurables(state) {
|
|
190
|
+
return state.measurables;
|
|
191
|
+
}
|
|
192
|
+
function getBoxModels(state) {
|
|
193
|
+
return state.boxModels;
|
|
194
|
+
}
|
|
195
|
+
function getBoxModel(state, elementKey) {
|
|
196
|
+
var _a;
|
|
197
|
+
return (_a = getBoxModels(state).get(elementKey)) != null ? _a : null;
|
|
198
|
+
}
|
|
199
|
+
function reducer(state = getInitialState(), action) {
|
|
200
|
+
switch (action.type) {
|
|
201
|
+
case actions.ActionTypes.REGISTER_MEASURABLE:
|
|
202
|
+
return __spreadProps(__spreadValues({}, state), {
|
|
203
|
+
measurables: new Map(getMeasurables(state)).set(action.payload.elementKey, action.payload.measurable)
|
|
204
|
+
});
|
|
205
|
+
case actions.ActionTypes.UNREGISTER_MEASURABLE: {
|
|
206
|
+
const nextMeasurables = new Map(getMeasurables(state));
|
|
207
|
+
const deleted = nextMeasurables.delete(action.payload.elementKey);
|
|
208
|
+
return deleted ? __spreadProps(__spreadValues({}, state), { measurables: nextMeasurables }) : state;
|
|
209
|
+
}
|
|
210
|
+
case actions.ActionTypes.CHANGE_ELEMENT_BOX_MODELS: {
|
|
211
|
+
const { changedElementBoxModels } = action.payload;
|
|
212
|
+
if (changedElementBoxModels.size === 0)
|
|
213
|
+
return state;
|
|
214
|
+
const nextBoxModels = new Map(getBoxModels(state));
|
|
215
|
+
changedElementBoxModels.forEach((boxModel, elementKey) => {
|
|
216
|
+
if (boxModel == null)
|
|
217
|
+
nextBoxModels.delete(elementKey);
|
|
218
|
+
else
|
|
219
|
+
nextBoxModels.set(elementKey, boxModel);
|
|
220
|
+
});
|
|
221
|
+
return __spreadProps(__spreadValues({}, state), { boxModels: nextBoxModels });
|
|
222
|
+
}
|
|
223
|
+
default:
|
|
224
|
+
return state;
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
exports.createBox = createBox;
|
|
228
|
+
exports.getBox = getBox;
|
|
229
|
+
exports.getBoxModel = getBoxModel;
|
|
230
|
+
exports.getBoxModels = getBoxModels;
|
|
231
|
+
exports.getMeasurables = getMeasurables;
|
|
232
|
+
exports.isMeasurable = isMeasurable;
|
|
233
|
+
exports.measure = measure;
|
|
234
|
+
exports.parse = parse;
|
|
235
|
+
exports.reducer = reducer;
|
|
236
|
+
//# sourceMappingURL=box-models.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"box-models.cjs.js","sources":["../../../node_modules/tiny-invariant/dist/tiny-invariant.esm.js","../../../node_modules/css-box-model/dist/css-box-model.esm.js","../src/state/modules/box-models.ts"],"sourcesContent":["var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n if (isProduction) {\n throw new Error(prefix);\n }\n var provided = typeof message === 'function' ? message() : message;\n var value = provided ? prefix + \": \" + provided : prefix;\n throw new Error(value);\n}\n\nexport { invariant as default };\n","import invariant from 'tiny-invariant';\n\nvar getRect = function getRect(_ref) {\n var top = _ref.top,\n right = _ref.right,\n bottom = _ref.bottom,\n left = _ref.left;\n var width = right - left;\n var height = bottom - top;\n var rect = {\n top: top,\n right: right,\n bottom: bottom,\n left: left,\n width: width,\n height: height,\n x: left,\n y: top,\n center: {\n x: (right + left) / 2,\n y: (bottom + top) / 2\n }\n };\n return rect;\n};\nvar expand = function expand(target, expandBy) {\n return {\n top: target.top - expandBy.top,\n left: target.left - expandBy.left,\n bottom: target.bottom + expandBy.bottom,\n right: target.right + expandBy.right\n };\n};\nvar shrink = function shrink(target, shrinkBy) {\n return {\n top: target.top + shrinkBy.top,\n left: target.left + shrinkBy.left,\n bottom: target.bottom - shrinkBy.bottom,\n right: target.right - shrinkBy.right\n };\n};\n\nvar shift = function shift(target, shiftBy) {\n return {\n top: target.top + shiftBy.y,\n left: target.left + shiftBy.x,\n bottom: target.bottom + shiftBy.y,\n right: target.right + shiftBy.x\n };\n};\n\nvar noSpacing = {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n};\nvar createBox = function createBox(_ref2) {\n var borderBox = _ref2.borderBox,\n _ref2$margin = _ref2.margin,\n margin = _ref2$margin === void 0 ? noSpacing : _ref2$margin,\n _ref2$border = _ref2.border,\n border = _ref2$border === void 0 ? noSpacing : _ref2$border,\n _ref2$padding = _ref2.padding,\n padding = _ref2$padding === void 0 ? noSpacing : _ref2$padding;\n var marginBox = getRect(expand(borderBox, margin));\n var paddingBox = getRect(shrink(borderBox, border));\n var contentBox = getRect(shrink(paddingBox, padding));\n return {\n marginBox: marginBox,\n borderBox: getRect(borderBox),\n paddingBox: paddingBox,\n contentBox: contentBox,\n margin: margin,\n border: border,\n padding: padding\n };\n};\n\nvar parse = function parse(raw) {\n var value = raw.slice(0, -2);\n var suffix = raw.slice(-2);\n\n if (suffix !== 'px') {\n return 0;\n }\n\n var result = Number(value);\n !!isNaN(result) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Could not parse value [raw: \" + raw + \", without suffix: \" + value + \"]\") : invariant(false) : void 0;\n return result;\n};\n\nvar getWindowScroll = function getWindowScroll() {\n return {\n x: window.pageXOffset,\n y: window.pageYOffset\n };\n};\n\nvar offset = function offset(original, change) {\n var borderBox = original.borderBox,\n border = original.border,\n margin = original.margin,\n padding = original.padding;\n var shifted = shift(borderBox, change);\n return createBox({\n borderBox: shifted,\n border: border,\n margin: margin,\n padding: padding\n });\n};\nvar withScroll = function withScroll(original, scroll) {\n if (scroll === void 0) {\n scroll = getWindowScroll();\n }\n\n return offset(original, scroll);\n};\nvar calculateBox = function calculateBox(borderBox, styles) {\n var margin = {\n top: parse(styles.marginTop),\n right: parse(styles.marginRight),\n bottom: parse(styles.marginBottom),\n left: parse(styles.marginLeft)\n };\n var padding = {\n top: parse(styles.paddingTop),\n right: parse(styles.paddingRight),\n bottom: parse(styles.paddingBottom),\n left: parse(styles.paddingLeft)\n };\n var border = {\n top: parse(styles.borderTopWidth),\n right: parse(styles.borderRightWidth),\n bottom: parse(styles.borderBottomWidth),\n left: parse(styles.borderLeftWidth)\n };\n return createBox({\n borderBox: borderBox,\n margin: margin,\n padding: padding,\n border: border\n });\n};\nvar getBox = function getBox(el) {\n var borderBox = el.getBoundingClientRect();\n var styles = window.getComputedStyle(el);\n return calculateBox(borderBox, styles);\n};\n\nexport { calculateBox, createBox, expand, getBox, getRect, offset, shrink, withScroll };\n","import {\n BoxModel,\n createBox as createBoxWithoutScroll,\n CreateBoxArgs,\n getBox as getBoxWithoutScroll,\n withScroll,\n} from 'css-box-model'\n\nimport { Action, ActionTypes } from '../actions'\n\nexport type { BoxModel }\n\nexport function parse(rawString: string): number {\n const value = Number(rawString.replace(/px$/, ''))\n\n return Number.isFinite(value) ? value : 0\n}\n\nexport function createBox(boxArgs: CreateBoxArgs): BoxModel {\n return withScroll(createBoxWithoutScroll(boxArgs))\n}\n\nexport function getBox(element: Element): BoxModel {\n return withScroll(getBoxWithoutScroll(element))\n}\n\nexport interface BoxModelHandle {\n getBoxModel(): BoxModel | null\n}\n\nexport type Measurable = Element | BoxModelHandle\n\nexport function isMeasurable(value: unknown): value is Measurable {\n if (value instanceof Element) return true\n\n if (\n typeof value === 'object' &&\n value !== null &&\n 'getBoxModel' in value &&\n typeof (value as { getBoxModel: unknown }).getBoxModel === 'function'\n ) {\n return true\n }\n\n return false\n}\n\nexport function measure(measurable: Measurable): BoxModel | null {\n if (measurable instanceof Element) return getBox(measurable)\n\n return measurable.getBoxModel()\n}\n\nexport type State = {\n measurables: Map<string, Measurable>\n boxModels: Map<string, BoxModel>\n}\n\nexport function getInitialState(): State {\n return { measurables: new Map(), boxModels: new Map() }\n}\n\nexport function getMeasurables(state: State): Map<string, Measurable> {\n return state.measurables\n}\n\nexport function getBoxModels(state: State): Map<string, BoxModel> {\n return state.boxModels\n}\n\nexport function getBoxModel(state: State, elementKey: string): BoxModel | null {\n return getBoxModels(state).get(elementKey) ?? null\n}\n\nexport function reducer(state: State = getInitialState(), action: Action) {\n switch (action.type) {\n case ActionTypes.REGISTER_MEASURABLE:\n return {\n ...state,\n measurables: new Map(getMeasurables(state)).set(\n action.payload.elementKey,\n action.payload.measurable,\n ),\n }\n\n case ActionTypes.UNREGISTER_MEASURABLE: {\n const nextMeasurables = new Map(getMeasurables(state))\n\n const deleted = nextMeasurables.delete(action.payload.elementKey)\n\n return deleted ? { ...state, measurables: nextMeasurables } : state\n }\n\n case ActionTypes.CHANGE_ELEMENT_BOX_MODELS: {\n const { changedElementBoxModels } = action.payload\n\n if (changedElementBoxModels.size === 0) return state\n\n const nextBoxModels = new Map(getBoxModels(state))\n\n changedElementBoxModels.forEach((boxModel, elementKey) => {\n if (boxModel == null) nextBoxModels.delete(elementKey)\n else nextBoxModels.set(elementKey, boxModel)\n })\n\n return { ...state, boxModels: nextBoxModels }\n }\n\n default:\n return state\n }\n}\n"],"names":["createBox","parse","getBox","createBoxWithoutScroll","getBoxWithoutScroll","ActionTypes"],"mappings":"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"}
|