@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.
Files changed (87) hide show
  1. package/dist/actions.cjs.js +91 -0
  2. package/dist/actions.cjs.js.map +1 -0
  3. package/dist/actions.es.js +80 -0
  4. package/dist/actions.es.js.map +1 -0
  5. package/dist/box-model.cjs.js +9 -0
  6. package/dist/box-model.cjs.js.map +1 -0
  7. package/dist/box-model.es.js +3 -0
  8. package/dist/box-model.es.js.map +1 -0
  9. package/dist/box-models.cjs.js +236 -0
  10. package/dist/box-models.cjs.js.map +1 -0
  11. package/dist/box-models.es.js +227 -0
  12. package/dist/box-models.es.js.map +1 -0
  13. package/dist/components.cjs.js +305 -0
  14. package/dist/components.cjs.js.map +1 -0
  15. package/dist/components.es.js +298 -0
  16. package/dist/components.es.js.map +1 -0
  17. package/dist/main.cjs.js +8 -0
  18. package/dist/main.cjs.js.map +1 -0
  19. package/dist/main.es.js +2 -0
  20. package/dist/main.es.js.map +1 -0
  21. package/dist/prop-controllers.cjs.js +177 -0
  22. package/dist/prop-controllers.cjs.js.map +1 -0
  23. package/dist/prop-controllers.es.js +174 -0
  24. package/dist/prop-controllers.es.js.map +1 -0
  25. package/dist/react-builder-preview.cjs.js +4301 -0
  26. package/dist/react-builder-preview.cjs.js.map +1 -0
  27. package/dist/react-builder-preview.es.js +4294 -0
  28. package/dist/react-builder-preview.es.js.map +1 -0
  29. package/dist/react.cjs.js +13 -0
  30. package/dist/react.cjs.js.map +1 -0
  31. package/dist/react.cjs2.js +835 -0
  32. package/dist/react.cjs2.js.map +1 -0
  33. package/dist/react.es.js +4 -0
  34. package/dist/react.es.js.map +1 -0
  35. package/dist/react.es2.js +810 -0
  36. package/dist/react.es2.js.map +1 -0
  37. package/dist/types/box-model.d.ts +3 -0
  38. package/dist/types/box-model.d.ts.map +1 -0
  39. package/dist/types/components/Root/Root.d.ts +11 -0
  40. package/dist/types/components/Root/Root.d.ts.map +1 -0
  41. package/dist/types/components/Root/components/Placeholder/index.d.ts +5 -0
  42. package/dist/types/components/Root/components/Placeholder/index.d.ts.map +1 -0
  43. package/dist/types/components/Root/index.d.ts +2 -0
  44. package/dist/types/components/Root/index.d.ts.map +1 -0
  45. package/dist/types/components/index.d.ts +2 -0
  46. package/dist/types/components/index.d.ts.map +1 -0
  47. package/dist/types/components/utils/columns.d.ts +2 -0
  48. package/dist/types/components/utils/columns.d.ts.map +1 -0
  49. package/dist/types/components/utils/cssMediaRules.d.ts +18 -0
  50. package/dist/types/components/utils/cssMediaRules.d.ts.map +1 -0
  51. package/dist/types/components/utils/devices.d.ts +16 -0
  52. package/dist/types/components/utils/devices.d.ts.map +1 -0
  53. package/dist/types/index.d.ts +6 -0
  54. package/dist/types/index.d.ts.map +1 -0
  55. package/dist/types/prop-controllers/descriptors.d.ts +656 -0
  56. package/dist/types/prop-controllers/descriptors.d.ts.map +1 -0
  57. package/dist/types/prop-controllers/index.d.ts +3 -0
  58. package/dist/types/prop-controllers/index.d.ts.map +1 -0
  59. package/dist/types/react.d.ts +4 -0
  60. package/dist/types/react.d.ts.map +1 -0
  61. package/dist/types/runtimes/react.d.ts +28 -0
  62. package/dist/types/runtimes/react.d.ts.map +1 -0
  63. package/dist/types/state/actions.d.ts +124 -0
  64. package/dist/types/state/actions.d.ts.map +1 -0
  65. package/dist/types/state/modules/box-models.d.ts +22 -0
  66. package/dist/types/state/modules/box-models.d.ts.map +1 -0
  67. package/dist/types/state/modules/components-meta.d.ts +14 -0
  68. package/dist/types/state/modules/components-meta.d.ts.map +1 -0
  69. package/dist/types/state/modules/prop-controllers.d.ts +10 -0
  70. package/dist/types/state/modules/prop-controllers.d.ts.map +1 -0
  71. package/dist/types/state/modules/react-components.d.ts +10 -0
  72. package/dist/types/state/modules/react-components.d.ts.map +1 -0
  73. package/dist/types/state/modules/read-only-documents.d.ts +28 -0
  74. package/dist/types/state/modules/read-only-documents.d.ts.map +1 -0
  75. package/dist/types/state/modules/read-write-documents.d.ts +13 -0
  76. package/dist/types/state/modules/read-write-documents.d.ts.map +1 -0
  77. package/dist/types/state/react-builder-preview.d.ts +39 -0
  78. package/dist/types/state/react-builder-preview.d.ts.map +1 -0
  79. package/dist/types/state/react-page.d.ts +28 -0
  80. package/dist/types/state/react-page.d.ts.map +1 -0
  81. package/dist/types/utils/deepEqual.d.ts +3 -0
  82. package/dist/types/utils/deepEqual.d.ts.map +1 -0
  83. package/dist/types/utils/is.d.ts +2 -0
  84. package/dist/types/utils/is.d.ts.map +1 -0
  85. package/dist/types/utils/shallowEqual.d.ts +3 -0
  86. package/dist/types/utils/shallowEqual.d.ts.map +1 -0
  87. package/package.json +103 -0
@@ -0,0 +1,227 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+ import { A as ActionTypes } from "./actions.es.js";
21
+ var isProduction = true;
22
+ var prefix = "Invariant failed";
23
+ function invariant(condition, message) {
24
+ if (condition) {
25
+ return;
26
+ }
27
+ if (isProduction) {
28
+ throw new Error(prefix);
29
+ }
30
+ var provided = typeof message === "function" ? message() : message;
31
+ var value = provided ? prefix + ": " + provided : prefix;
32
+ throw new Error(value);
33
+ }
34
+ var getRect = function getRect2(_ref) {
35
+ var top = _ref.top, right = _ref.right, bottom = _ref.bottom, left = _ref.left;
36
+ var width = right - left;
37
+ var height = bottom - top;
38
+ var rect = {
39
+ top,
40
+ right,
41
+ bottom,
42
+ left,
43
+ width,
44
+ height,
45
+ x: left,
46
+ y: top,
47
+ center: {
48
+ x: (right + left) / 2,
49
+ y: (bottom + top) / 2
50
+ }
51
+ };
52
+ return rect;
53
+ };
54
+ var expand = function expand2(target, expandBy) {
55
+ return {
56
+ top: target.top - expandBy.top,
57
+ left: target.left - expandBy.left,
58
+ bottom: target.bottom + expandBy.bottom,
59
+ right: target.right + expandBy.right
60
+ };
61
+ };
62
+ var shrink = function shrink2(target, shrinkBy) {
63
+ return {
64
+ top: target.top + shrinkBy.top,
65
+ left: target.left + shrinkBy.left,
66
+ bottom: target.bottom - shrinkBy.bottom,
67
+ right: target.right - shrinkBy.right
68
+ };
69
+ };
70
+ var shift = function shift2(target, shiftBy) {
71
+ return {
72
+ top: target.top + shiftBy.y,
73
+ left: target.left + shiftBy.x,
74
+ bottom: target.bottom + shiftBy.y,
75
+ right: target.right + shiftBy.x
76
+ };
77
+ };
78
+ var noSpacing = {
79
+ top: 0,
80
+ right: 0,
81
+ bottom: 0,
82
+ left: 0
83
+ };
84
+ var createBox$1 = function createBox(_ref2) {
85
+ 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;
86
+ var marginBox = getRect(expand(borderBox, margin));
87
+ var paddingBox = getRect(shrink(borderBox, border));
88
+ var contentBox = getRect(shrink(paddingBox, padding));
89
+ return {
90
+ marginBox,
91
+ borderBox: getRect(borderBox),
92
+ paddingBox,
93
+ contentBox,
94
+ margin,
95
+ border,
96
+ padding
97
+ };
98
+ };
99
+ var parse$1 = function parse(raw) {
100
+ var value = raw.slice(0, -2);
101
+ var suffix = raw.slice(-2);
102
+ if (suffix !== "px") {
103
+ return 0;
104
+ }
105
+ var result = Number(value);
106
+ !!isNaN(result) ? invariant(false) : void 0;
107
+ return result;
108
+ };
109
+ var getWindowScroll = function getWindowScroll2() {
110
+ return {
111
+ x: window.pageXOffset,
112
+ y: window.pageYOffset
113
+ };
114
+ };
115
+ var offset = function offset2(original, change) {
116
+ var borderBox = original.borderBox, border = original.border, margin = original.margin, padding = original.padding;
117
+ var shifted = shift(borderBox, change);
118
+ return createBox$1({
119
+ borderBox: shifted,
120
+ border,
121
+ margin,
122
+ padding
123
+ });
124
+ };
125
+ var withScroll = function withScroll2(original, scroll) {
126
+ if (scroll === void 0) {
127
+ scroll = getWindowScroll();
128
+ }
129
+ return offset(original, scroll);
130
+ };
131
+ var calculateBox = function calculateBox2(borderBox, styles) {
132
+ var margin = {
133
+ top: parse$1(styles.marginTop),
134
+ right: parse$1(styles.marginRight),
135
+ bottom: parse$1(styles.marginBottom),
136
+ left: parse$1(styles.marginLeft)
137
+ };
138
+ var padding = {
139
+ top: parse$1(styles.paddingTop),
140
+ right: parse$1(styles.paddingRight),
141
+ bottom: parse$1(styles.paddingBottom),
142
+ left: parse$1(styles.paddingLeft)
143
+ };
144
+ var border = {
145
+ top: parse$1(styles.borderTopWidth),
146
+ right: parse$1(styles.borderRightWidth),
147
+ bottom: parse$1(styles.borderBottomWidth),
148
+ left: parse$1(styles.borderLeftWidth)
149
+ };
150
+ return createBox$1({
151
+ borderBox,
152
+ margin,
153
+ padding,
154
+ border
155
+ });
156
+ };
157
+ var getBox$1 = function getBox(el) {
158
+ var borderBox = el.getBoundingClientRect();
159
+ var styles = window.getComputedStyle(el);
160
+ return calculateBox(borderBox, styles);
161
+ };
162
+ function parse2(rawString) {
163
+ const value = Number(rawString.replace(/px$/, ""));
164
+ return Number.isFinite(value) ? value : 0;
165
+ }
166
+ function createBox2(boxArgs) {
167
+ return withScroll(createBox$1(boxArgs));
168
+ }
169
+ function getBox2(element) {
170
+ return withScroll(getBox$1(element));
171
+ }
172
+ function isMeasurable(value) {
173
+ if (value instanceof Element)
174
+ return true;
175
+ if (typeof value === "object" && value !== null && "getBoxModel" in value && typeof value.getBoxModel === "function") {
176
+ return true;
177
+ }
178
+ return false;
179
+ }
180
+ function measure(measurable) {
181
+ if (measurable instanceof Element)
182
+ return getBox2(measurable);
183
+ return measurable.getBoxModel();
184
+ }
185
+ function getInitialState() {
186
+ return { measurables: /* @__PURE__ */ new Map(), boxModels: /* @__PURE__ */ new Map() };
187
+ }
188
+ function getMeasurables(state) {
189
+ return state.measurables;
190
+ }
191
+ function getBoxModels(state) {
192
+ return state.boxModels;
193
+ }
194
+ function getBoxModel(state, elementKey) {
195
+ var _a;
196
+ return (_a = getBoxModels(state).get(elementKey)) != null ? _a : null;
197
+ }
198
+ function reducer(state = getInitialState(), action) {
199
+ switch (action.type) {
200
+ case ActionTypes.REGISTER_MEASURABLE:
201
+ return __spreadProps(__spreadValues({}, state), {
202
+ measurables: new Map(getMeasurables(state)).set(action.payload.elementKey, action.payload.measurable)
203
+ });
204
+ case ActionTypes.UNREGISTER_MEASURABLE: {
205
+ const nextMeasurables = new Map(getMeasurables(state));
206
+ const deleted = nextMeasurables.delete(action.payload.elementKey);
207
+ return deleted ? __spreadProps(__spreadValues({}, state), { measurables: nextMeasurables }) : state;
208
+ }
209
+ case ActionTypes.CHANGE_ELEMENT_BOX_MODELS: {
210
+ const { changedElementBoxModels } = action.payload;
211
+ if (changedElementBoxModels.size === 0)
212
+ return state;
213
+ const nextBoxModels = new Map(getBoxModels(state));
214
+ changedElementBoxModels.forEach((boxModel, elementKey) => {
215
+ if (boxModel == null)
216
+ nextBoxModels.delete(elementKey);
217
+ else
218
+ nextBoxModels.set(elementKey, boxModel);
219
+ });
220
+ return __spreadProps(__spreadValues({}, state), { boxModels: nextBoxModels });
221
+ }
222
+ default:
223
+ return state;
224
+ }
225
+ }
226
+ export { getMeasurables as a, getBoxModels as b, createBox2 as c, getBoxModel as d, getBox2 as g, isMeasurable as i, measure as m, parse2 as p, reducer as r };
227
+ //# sourceMappingURL=box-models.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"box-models.es.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"],"mappings":"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"}
@@ -0,0 +1,305 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports[Symbol.toStringTag] = "Module";
23
+ var styled = require("styled-components");
24
+ var require$$0 = require("react");
25
+ var react = require("./react.cjs2.js");
26
+ require("./actions.cjs.js");
27
+ function _interopDefaultLegacy(e) {
28
+ return e && typeof e === "object" && "default" in e ? e : { "default": e };
29
+ }
30
+ var styled__default = /* @__PURE__ */ _interopDefaultLegacy(styled);
31
+ function normalize() {
32
+ var _ref;
33
+ return [(_ref = {
34
+ html: {
35
+ lineHeight: "1.15",
36
+ textSizeAdjust: "100%"
37
+ },
38
+ body: {
39
+ margin: "0"
40
+ },
41
+ h1: {
42
+ fontSize: "2em",
43
+ margin: "0.67em 0"
44
+ },
45
+ hr: {
46
+ boxSizing: "content-box",
47
+ height: "0",
48
+ overflow: "visible"
49
+ },
50
+ pre: {
51
+ fontFamily: "monospace, monospace",
52
+ fontSize: "1em"
53
+ },
54
+ a: {
55
+ backgroundColor: "transparent"
56
+ },
57
+ "abbr[title]": {
58
+ borderBottom: "none",
59
+ textDecoration: "underline"
60
+ }
61
+ }, _ref["b,\n strong"] = {
62
+ fontWeight: "bolder"
63
+ }, _ref["code,\n kbd,\n samp"] = {
64
+ fontFamily: "monospace, monospace",
65
+ fontSize: "1em"
66
+ }, _ref.small = {
67
+ fontSize: "80%"
68
+ }, _ref["sub,\n sup"] = {
69
+ fontSize: "75%",
70
+ lineHeight: "0",
71
+ position: "relative",
72
+ verticalAlign: "baseline"
73
+ }, _ref.sub = {
74
+ bottom: "-0.25em"
75
+ }, _ref.sup = {
76
+ top: "-0.5em"
77
+ }, _ref.img = {
78
+ borderStyle: "none"
79
+ }, _ref["button,\n input,\n optgroup,\n select,\n textarea"] = {
80
+ fontFamily: "inherit",
81
+ fontSize: "100%",
82
+ lineHeight: "1.15",
83
+ margin: "0"
84
+ }, _ref["button,\n input"] = {
85
+ overflow: "visible"
86
+ }, _ref["button,\n select"] = {
87
+ textTransform: "none"
88
+ }, _ref['button,\n html [type="button"],\n [type="reset"],\n [type="submit"]'] = {
89
+ WebkitAppearance: "button"
90
+ }, _ref['button::-moz-focus-inner,\n [type="button"]::-moz-focus-inner,\n [type="reset"]::-moz-focus-inner,\n [type="submit"]::-moz-focus-inner'] = {
91
+ borderStyle: "none",
92
+ padding: "0"
93
+ }, _ref['button:-moz-focusring,\n [type="button"]:-moz-focusring,\n [type="reset"]:-moz-focusring,\n [type="submit"]:-moz-focusring'] = {
94
+ outline: "1px dotted ButtonText"
95
+ }, _ref.fieldset = {
96
+ padding: "0.35em 0.625em 0.75em"
97
+ }, _ref.legend = {
98
+ boxSizing: "border-box",
99
+ color: "inherit",
100
+ display: "table",
101
+ maxWidth: "100%",
102
+ padding: "0",
103
+ whiteSpace: "normal"
104
+ }, _ref.progress = {
105
+ verticalAlign: "baseline"
106
+ }, _ref.textarea = {
107
+ overflow: "auto"
108
+ }, _ref['[type="checkbox"],\n [type="radio"]'] = {
109
+ boxSizing: "border-box",
110
+ padding: "0"
111
+ }, _ref['[type="number"]::-webkit-inner-spin-button,\n [type="number"]::-webkit-outer-spin-button'] = {
112
+ height: "auto"
113
+ }, _ref['[type="search"]'] = {
114
+ WebkitAppearance: "textfield",
115
+ outlineOffset: "-2px"
116
+ }, _ref['[type="search"]::-webkit-search-decoration'] = {
117
+ WebkitAppearance: "none"
118
+ }, _ref["::-webkit-file-upload-button"] = {
119
+ WebkitAppearance: "button",
120
+ font: "inherit"
121
+ }, _ref.details = {
122
+ display: "block"
123
+ }, _ref.summary = {
124
+ display: "list-item"
125
+ }, _ref.template = {
126
+ display: "none"
127
+ }, _ref["[hidden]"] = {
128
+ display: "none"
129
+ }, _ref), {
130
+ "abbr[title]": {
131
+ textDecoration: "underline dotted"
132
+ }
133
+ }];
134
+ }
135
+ const PlaceholderBase = styled__default["default"].div`
136
+ width: 100%;
137
+ background: rgba(161, 168, 194, 0.18);
138
+ height: 80px;
139
+ padding: 8px;
140
+ `;
141
+ var Placeholder = require$$0.forwardRef(function Placeholder2(props, ref) {
142
+ return /* @__PURE__ */ react.jsx(PlaceholderBase, __spreadProps(__spreadValues({}, props), {
143
+ ref,
144
+ children: /* @__PURE__ */ react.jsx("svg", {
145
+ xmlns: "http://www.w3.org/2000/svg",
146
+ width: "100%",
147
+ height: "100%",
148
+ style: {
149
+ overflow: "visible"
150
+ },
151
+ children: /* @__PURE__ */ react.jsx("rect", {
152
+ x: 0,
153
+ y: 0,
154
+ width: "100%",
155
+ height: "100%",
156
+ strokeWidth: 2,
157
+ strokeDasharray: "4 2",
158
+ fill: "none",
159
+ stroke: "rgba(161, 168, 194, 0.40)",
160
+ rx: "4",
161
+ ry: "4"
162
+ })
163
+ })
164
+ }));
165
+ });
166
+ const DEVICES = [
167
+ { id: "desktop", minWidth: 769 },
168
+ { id: "tablet", minWidth: 476, maxWidth: 768 },
169
+ { id: "mobile", maxWidth: 475 }
170
+ ];
171
+ const getDevice = (deviceId) => {
172
+ const device = DEVICES.find(({ id }) => id === deviceId);
173
+ if (device == null)
174
+ throw new Error(`Unrecognized device ID: "${deviceId}".`);
175
+ return device;
176
+ };
177
+ function defaultStrategy(value, fallbacks) {
178
+ return value || fallbacks[0];
179
+ }
180
+ function findDeviceOverride(values = [], deviceId, strategy = defaultStrategy) {
181
+ const value = values.find(({ deviceId: d }) => d === deviceId);
182
+ const fallbacks = DEVICES.slice(0, DEVICES.findIndex((d) => d.id === deviceId) + 1).reverse().map((d) => values.find((v) => v.deviceId === d.id)).filter((override) => Boolean(override));
183
+ return value != null || fallbacks.length > 0 ? strategy(value, fallbacks) : void 0;
184
+ }
185
+ function join(responsiveValues, joinFn, strategy) {
186
+ return DEVICES.map(({ id }) => id).map((deviceId) => {
187
+ const value = joinFn(responsiveValues.map((responsiveValue) => {
188
+ const deviceValue = responsiveValue && findDeviceOverride(responsiveValue, deviceId, strategy);
189
+ return deviceValue == null ? void 0 : deviceValue.value;
190
+ }));
191
+ if (value == null)
192
+ return null;
193
+ return { deviceId, value };
194
+ }).filter((override) => Boolean(override));
195
+ }
196
+ const getDeviceMediaQuery = (device) => {
197
+ const parts = ["@media only screen"];
198
+ if (device.minWidth != null) {
199
+ parts.push(`(min-width: ${device.minWidth}px)`);
200
+ }
201
+ if (device.maxWidth != null) {
202
+ parts.push(`(max-width: ${device.maxWidth}px)`);
203
+ }
204
+ return parts.join(" and ");
205
+ };
206
+ const getIndexes = (spans, index) => {
207
+ const flattened = spans.reduce((a, s) => a.concat(s), []);
208
+ if (index < 0 || index > flattened.length)
209
+ throw new RangeError();
210
+ let remainder = index;
211
+ let rowIndex = 0;
212
+ while (rowIndex < spans.length - 1 && remainder >= spans[rowIndex].length) {
213
+ remainder -= spans[rowIndex].length;
214
+ rowIndex += 1;
215
+ }
216
+ return [rowIndex, remainder];
217
+ };
218
+ function cssMediaRules(responsiveValues, join$1, strategy) {
219
+ return (props) => join(typeof responsiveValues === "function" ? responsiveValues(props) : responsiveValues, join$1, strategy).reduce((acc, { deviceId, value }) => {
220
+ const device = getDevice(deviceId);
221
+ const mediaQuery = getDeviceMediaQuery(device);
222
+ return styled.css`
223
+ ${acc}${mediaQuery} {
224
+ ${value}
225
+ }
226
+ `;
227
+ }, styled.css``);
228
+ }
229
+ const floor = (d) => (v) => Math.floor(10 ** d * v) / 10 ** d;
230
+ function cssGridItem() {
231
+ return (props) => styled.css`
232
+ display: flex;
233
+
234
+ /* TODO: A default span of 12 won't work once the column count is modifiable. */
235
+ ${cssMediaRules([props.grid, props.columnGap, props.rowGap], ([
236
+ { spans, count } = { spans: [[12]], count: 12 },
237
+ columnGap = { value: 0, unit: "px" },
238
+ rowGap = { value: 0, unit: "px" }
239
+ ]) => {
240
+ const [rowIndex, columnIndex] = getIndexes(spans, props.index);
241
+ const firstCol = columnIndex === 0;
242
+ const lastCol = columnIndex === spans[rowIndex].length - 1;
243
+ const span = spans[rowIndex][columnIndex];
244
+ const fraction = floor(5)(span / count);
245
+ const width = `${fraction} * (100% + ${columnGap.value}${columnGap.unit})`;
246
+ const excessWidth = `${Number(firstCol) + Number(lastCol)} * ${columnGap.value}${columnGap.unit} / 2`;
247
+ const iePrecisionError = "0.01px";
248
+ const flexBasis = `calc(${width} - ${excessWidth} - ${iePrecisionError})`;
249
+ const firstRow = rowIndex === 0;
250
+ const lastRow = rowIndex === spans.length - 1;
251
+ return span === 0 ? { display: "none" } : {
252
+ flexBasis,
253
+ minWidth: flexBasis,
254
+ maxWidth: flexBasis,
255
+ paddingLeft: firstCol ? 0 : `${columnGap.value / 2}${columnGap.unit}`,
256
+ paddingRight: lastCol ? 0 : `${columnGap.value / 2}${columnGap.unit}`,
257
+ paddingTop: firstRow ? 0 : `${rowGap.value / 2}${rowGap.unit}`,
258
+ paddingBottom: lastRow ? 0 : `${rowGap.value / 2}${rowGap.unit}`
259
+ };
260
+ })}
261
+ `;
262
+ }
263
+ const Normalize = styled.createGlobalStyle`
264
+ html {
265
+ box-sizing: border-box;
266
+ }
267
+
268
+ *, *::before, *::after {
269
+ box-sizing: inherit;
270
+ }
271
+
272
+ ${normalize()}
273
+ `;
274
+ const Grid = styled__default["default"].div`
275
+ display: flex;
276
+ flex-wrap: wrap;
277
+ width: 100%;
278
+ `;
279
+ const GridItem = styled__default["default"].div`
280
+ display: flex;
281
+ align-items: flex-start;
282
+ ${cssGridItem()}
283
+ `;
284
+ var Root = require$$0.forwardRef(function Page({
285
+ children,
286
+ rowGap,
287
+ columnGap
288
+ }, ref) {
289
+ return /* @__PURE__ */ react.jsxs(react.Fragment, {
290
+ children: [/* @__PURE__ */ react.jsx(Normalize, {}), /* @__PURE__ */ react.jsx(Grid, {
291
+ ref,
292
+ children: children && children.elements.length > 0 ? children.elements.map((child, index) => /* @__PURE__ */ react.jsx(GridItem, {
293
+ grid: children.columns,
294
+ index,
295
+ columnGap,
296
+ rowGap,
297
+ children: /* @__PURE__ */ react.jsx(react.Element, {
298
+ element: child
299
+ })
300
+ }, child.key)) : /* @__PURE__ */ react.jsx(Placeholder, {})
301
+ })]
302
+ });
303
+ });
304
+ exports.Root = Root;
305
+ //# sourceMappingURL=components.cjs.js.map