@makeswift/runtime 0.0.0-20230106212652 → 0.0.0-20230109233611

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 (184) hide show
  1. package/dist/Box.cjs.js +48 -46
  2. package/dist/Box.cjs.js.map +1 -1
  3. package/dist/Box.es.js +51 -49
  4. package/dist/Box.es.js.map +1 -1
  5. package/dist/Button.cjs.js +2 -3
  6. package/dist/Button.cjs.js.map +1 -1
  7. package/dist/Button.es.js +3 -4
  8. package/dist/Button.es.js.map +1 -1
  9. package/dist/Carousel.cjs.js +3 -4
  10. package/dist/Carousel.cjs.js.map +1 -1
  11. package/dist/Carousel.es.js +4 -5
  12. package/dist/Carousel.es.js.map +1 -1
  13. package/dist/Countdown.cjs.js +2 -3
  14. package/dist/Countdown.cjs.js.map +1 -1
  15. package/dist/Countdown.es.js +3 -4
  16. package/dist/Countdown.es.js.map +1 -1
  17. package/dist/Divider.cjs.js +2 -3
  18. package/dist/Divider.cjs.js.map +1 -1
  19. package/dist/Divider.es.js +3 -4
  20. package/dist/Divider.es.js.map +1 -1
  21. package/dist/Embed.cjs.js +2 -3
  22. package/dist/Embed.cjs.js.map +1 -1
  23. package/dist/Embed.es.js +3 -4
  24. package/dist/Embed.es.js.map +1 -1
  25. package/dist/Form.cjs.js +5 -33
  26. package/dist/Form.cjs.js.map +1 -1
  27. package/dist/Form.es.js +6 -34
  28. package/dist/Form.es.js.map +1 -1
  29. package/dist/Image.cjs.js +3 -4
  30. package/dist/Image.cjs.js.map +1 -1
  31. package/dist/Image.es.js +4 -5
  32. package/dist/Image.es.js.map +1 -1
  33. package/dist/Navigation.cjs.js +3 -4
  34. package/dist/Navigation.cjs.js.map +1 -1
  35. package/dist/Navigation.es.js +4 -5
  36. package/dist/Navigation.es.js.map +1 -1
  37. package/dist/Root.cjs.js +2 -3
  38. package/dist/Root.cjs.js.map +1 -1
  39. package/dist/Root.es.js +3 -4
  40. package/dist/Root.es.js.map +1 -1
  41. package/dist/SocialLinks.cjs.js +2 -3
  42. package/dist/SocialLinks.cjs.js.map +1 -1
  43. package/dist/SocialLinks.es.js +3 -4
  44. package/dist/SocialLinks.es.js.map +1 -1
  45. package/dist/Text.cjs.js +18 -31
  46. package/dist/Text.cjs.js.map +1 -1
  47. package/dist/Text.es.js +19 -32
  48. package/dist/Text.es.js.map +1 -1
  49. package/dist/Video.cjs.js +2 -3
  50. package/dist/Video.cjs.js.map +1 -1
  51. package/dist/Video.es.js +3 -4
  52. package/dist/Video.es.js.map +1 -1
  53. package/dist/actions.cjs.js +27 -1
  54. package/dist/actions.cjs.js.map +1 -1
  55. package/dist/actions.es.js +24 -2
  56. package/dist/actions.es.js.map +1 -1
  57. package/dist/api.cjs.js +380 -3
  58. package/dist/api.cjs.js.map +1 -1
  59. package/dist/api.es.js +379 -2
  60. package/dist/api.es.js.map +1 -1
  61. package/dist/components.cjs.js +3 -7
  62. package/dist/components.cjs.js.map +1 -1
  63. package/dist/components.es.js +4 -4
  64. package/dist/grid-item.cjs.js +34 -64
  65. package/dist/grid-item.cjs.js.map +1 -1
  66. package/dist/grid-item.es.js +37 -65
  67. package/dist/grid-item.es.js.map +1 -1
  68. package/dist/index.cjs.js +637 -509
  69. package/dist/index.cjs.js.map +1 -1
  70. package/dist/index.cjs2.js +2 -1
  71. package/dist/index.cjs2.js.map +1 -1
  72. package/dist/index.es.js +623 -492
  73. package/dist/index.es.js.map +1 -1
  74. package/dist/index.es2.js +3 -2
  75. package/dist/index.es2.js.map +1 -1
  76. package/dist/index.es3.js +1 -1
  77. package/dist/next.cjs.js +2 -3
  78. package/dist/next.cjs.js.map +1 -1
  79. package/dist/next.es.js +3 -4
  80. package/dist/next.es.js.map +1 -1
  81. package/dist/react-builder-preview.cjs.js +5 -20
  82. package/dist/react-builder-preview.cjs.js.map +1 -1
  83. package/dist/react-builder-preview.es.js +8 -23
  84. package/dist/react-builder-preview.es.js.map +1 -1
  85. package/dist/react-page.cjs.js +88 -64
  86. package/dist/react-page.cjs.js.map +1 -1
  87. package/dist/react-page.es.js +82 -65
  88. package/dist/react-page.es.js.map +1 -1
  89. package/dist/react.cjs.js +2 -3
  90. package/dist/react.cjs.js.map +1 -1
  91. package/dist/react.es.js +2 -3
  92. package/dist/react.es.js.map +1 -1
  93. package/dist/slot.cjs.js.map +1 -1
  94. package/dist/slot.es.js.map +1 -1
  95. package/dist/types/src/api/graphql/client.d.ts +6 -0
  96. package/dist/types/src/api/graphql/client.d.ts.map +1 -0
  97. package/dist/types/src/api/graphql/documents/fragments.d.ts +10 -0
  98. package/dist/types/src/api/graphql/documents/fragments.d.ts.map +1 -0
  99. package/dist/types/src/api/graphql/documents/index.d.ts +3 -0
  100. package/dist/types/src/api/graphql/documents/index.d.ts.map +1 -0
  101. package/dist/types/src/api/graphql/documents/queries.d.ts +12 -0
  102. package/dist/types/src/api/graphql/documents/queries.d.ts.map +1 -0
  103. package/dist/types/src/api/graphql/fragments.d.ts +4 -0
  104. package/dist/types/src/api/graphql/fragments.d.ts.map +1 -0
  105. package/dist/types/src/api/graphql/generated/fragment-document-nodes.d.ts +11 -0
  106. package/dist/types/src/api/graphql/generated/fragment-document-nodes.d.ts.map +1 -0
  107. package/dist/types/src/api/graphql/generated/types.d.ts +508 -0
  108. package/dist/types/src/api/graphql/generated/types.d.ts.map +1 -0
  109. package/dist/types/src/api/{types.d.ts → graphql/types.d.ts} +6 -2
  110. package/dist/types/src/api/graphql/types.d.ts.map +1 -0
  111. package/dist/types/src/api/index.d.ts +2 -2
  112. package/dist/types/src/api/index.d.ts.map +1 -1
  113. package/dist/types/src/api/introspection.d.ts +4 -3
  114. package/dist/types/src/api/introspection.d.ts.map +1 -1
  115. package/dist/types/src/api/react.d.ts +49 -14
  116. package/dist/types/src/api/react.d.ts.map +1 -1
  117. package/dist/types/src/components/builtin/Box/Box.d.ts.map +1 -1
  118. package/dist/types/src/components/builtin/Box/animations.d.ts +4 -6
  119. package/dist/types/src/components/builtin/Box/animations.d.ts.map +1 -1
  120. package/dist/types/src/components/builtin/Button/Button.d.ts +1 -1
  121. package/dist/types/src/components/builtin/Form/Form.d.ts.map +1 -1
  122. package/dist/types/src/components/builtin/Form/components/Field/components/Checkbox/index.d.ts +1 -1
  123. package/dist/types/src/components/builtin/Text/components/RichTextEditor/components/Mark/hooks/useTypographyMark.d.ts +2 -2
  124. package/dist/types/src/components/builtin/Text/components/RichTextEditor/components/Mark/hooks/useTypographyMark.d.ts.map +1 -1
  125. package/dist/types/src/components/hooks/index.d.ts +0 -2
  126. package/dist/types/src/components/hooks/index.d.ts.map +1 -1
  127. package/dist/types/src/components/hooks/useBackgrounds.d.ts +10 -10
  128. package/dist/types/src/components/hooks/useBackgrounds.d.ts.map +1 -1
  129. package/dist/types/src/components/hooks/useBorder.d.ts.map +1 -1
  130. package/dist/types/src/components/hooks/useBoxShadow.d.ts.map +1 -1
  131. package/dist/types/src/components/hooks/useResponsiveColor.d.ts.map +1 -1
  132. package/dist/types/src/components/page/Page.d.ts +0 -20
  133. package/dist/types/src/components/page/Page.d.ts.map +1 -1
  134. package/dist/types/src/components/shared/BackgroundsContainer/index.d.ts +6 -1
  135. package/dist/types/src/components/shared/BackgroundsContainer/index.d.ts.map +1 -1
  136. package/dist/types/src/components/shared/Link/index.d.ts.map +1 -1
  137. package/dist/types/src/next/client.d.ts +2 -2
  138. package/dist/types/src/next/client.d.ts.map +1 -1
  139. package/dist/types/src/prop-controllers/descriptors.d.ts +1 -1
  140. package/dist/types/src/prop-controllers/descriptors.d.ts.map +1 -1
  141. package/dist/types/src/prop-controllers/introspection.d.ts +8 -1
  142. package/dist/types/src/prop-controllers/introspection.d.ts.map +1 -1
  143. package/dist/types/src/runtimes/react/controls/color.d.ts +1 -1
  144. package/dist/types/src/runtimes/react/controls/color.d.ts.map +1 -1
  145. package/dist/types/src/runtimes/react/controls/image.d.ts.map +1 -1
  146. package/dist/types/src/runtimes/react/controls/link.d.ts.map +1 -1
  147. package/dist/types/src/runtimes/react/hooks/makeswift-api.d.ts +10 -0
  148. package/dist/types/src/runtimes/react/hooks/makeswift-api.d.ts.map +1 -0
  149. package/dist/types/src/runtimes/react/index.d.ts.map +1 -1
  150. package/dist/types/src/state/actions.d.ts +41 -2
  151. package/dist/types/src/state/actions.d.ts.map +1 -1
  152. package/dist/types/src/state/makeswift-api-client.d.ts +31 -0
  153. package/dist/types/src/state/makeswift-api-client.d.ts.map +1 -0
  154. package/dist/types/src/state/modules/api-resources.d.ts +14 -0
  155. package/dist/types/src/state/modules/api-resources.d.ts.map +1 -0
  156. package/dist/types/src/state/react-builder-preview.d.ts +2 -2
  157. package/dist/types/src/state/react-builder-preview.d.ts.map +1 -1
  158. package/dist/types.cjs.js +14 -0
  159. package/dist/types.cjs.js.map +1 -0
  160. package/dist/types.es.js +13 -0
  161. package/dist/types.es.js.map +1 -0
  162. package/dist/useMediaQuery.es.js +1 -1
  163. package/package.json +2 -3
  164. package/dist/constants.cjs.js +0 -15
  165. package/dist/constants.cjs.js.map +0 -1
  166. package/dist/constants.es.js +0 -14
  167. package/dist/constants.es.js.map +0 -1
  168. package/dist/graphql.cjs.js +0 -365
  169. package/dist/graphql.cjs.js.map +0 -1
  170. package/dist/graphql.es.js +0 -356
  171. package/dist/graphql.es.js.map +0 -1
  172. package/dist/types/src/api/constants.d.ts +0 -4
  173. package/dist/types/src/api/constants.d.ts.map +0 -1
  174. package/dist/types/src/api/generated/graphql.d.ts +0 -175
  175. package/dist/types/src/api/generated/graphql.d.ts.map +0 -1
  176. package/dist/types/src/api/types.d.ts.map +0 -1
  177. package/dist/types/src/components/hooks/useFile.d.ts +0 -13
  178. package/dist/types/src/components/hooks/useFile.d.ts.map +0 -1
  179. package/dist/types/src/components/hooks/usePage.d.ts +0 -7
  180. package/dist/types/src/components/hooks/usePage.d.ts.map +0 -1
  181. package/dist/types/src/components/hooks/useTypography.d.ts +0 -24
  182. package/dist/types/src/components/hooks/useTypography.d.ts.map +0 -1
  183. package/dist/types/src/components/utils/queries.d.ts +0 -10
  184. package/dist/types/src/components/utils/queries.d.ts.map +0 -1
package/dist/Box.cjs.js CHANGED
@@ -37,6 +37,7 @@ var next = require("./index.cjs.js");
37
37
  var jsxRuntime = require("react/jsx-runtime");
38
38
  var gridItem = require("./grid-item.cjs.js");
39
39
  var boxModels = require("./box-models.cjs.js");
40
+ var uuid = require("uuid");
40
41
  require("use-sync-external-store/shim/with-selector");
41
42
  require("./react-page.cjs.js");
42
43
  require("redux");
@@ -45,12 +46,11 @@ require("./actions.cjs.js");
45
46
  require("./slot.cjs.js");
46
47
  require("./control.cjs.js");
47
48
  require("next/dynamic");
48
- require("@apollo/client");
49
- require("@apollo/client/link/batch-http");
50
49
  require("slate");
51
- require("./graphql.cjs.js");
50
+ require("./types.cjs.js");
52
51
  require("./text-input.cjs.js");
53
52
  require("./combobox.cjs.js");
53
+ require("use-sync-external-store/shim");
54
54
  require("color");
55
55
  require("scroll-into-view-if-needed");
56
56
  require("react-dom");
@@ -171,53 +171,55 @@ const Box = React.forwardRef(function Box2({
171
171
  const gridItemClassName = next.useStyle(next.responsiveStyle([verticalAlign], ([alignItems = "flex-start"]) => ({
172
172
  alignItems
173
173
  })));
174
+ const key = React.useMemo(() => uuid.v4(), [boxAnimateType, boxAnimateDuration, boxAnimateDelay, itemAnimateType, itemAnimateDuration, itemAnimateDelay, itemStaggerDuration]);
174
175
  const {
175
- exited,
176
- entered
177
- } = gridItem.useAnimation(boxAnimateType, boxAnimateDuration, boxAnimateDelay);
178
- const isEntered = gridItem.useIsEntered(boxElement, [boxAnimateType, boxAnimateDuration, boxAnimateDelay, itemAnimateType, itemAnimateDuration, itemAnimateDelay, itemStaggerDuration]);
179
- return /* @__PURE__ */ jsxRuntime.jsx(gridItem.EnteredContext.Provider, {
180
- value: {
181
- isEntered
182
- },
183
- children: /* @__PURE__ */ jsxRuntime.jsx(gridItem.BackgroundsContainer, {
184
- ref: setBoxElement,
185
- id,
186
- className: css.cx(width, margin, borderRadius, next.useStyle({
187
- display: "flex"
188
- }), next.useStyle(next.responsiveStyle([height], ([alignSelf = "auto"]) => ({
189
- alignSelf
190
- }))), exited, isEntered && entered),
191
- backgrounds,
192
- children: /* @__PURE__ */ jsxRuntime.jsx("div", {
193
- ref: innerRef,
194
- className: css.cx(padding, boxShadow, border, next.useStyle({
195
- display: "flex",
196
- flexWrap: "wrap",
197
- width: "100%"
198
- }), next.useStyle(next.responsiveStyle([verticalAlign], ([alignContent = "flex-start"]) => ({
199
- alignContent
200
- })))),
201
- children: children && children.elements.length > 0 ? children.elements.map((child, index) => /* @__PURE__ */ jsxRuntime.jsx(gridItem.GridItem, {
202
- className: gridItemClassName,
203
- grid: children.columns,
204
- index,
205
- itemAnimateType,
206
- itemAnimateDuration,
207
- itemAnimateDelay,
208
- itemStaggerDuration,
209
- isEntered,
210
- columnGap,
211
- rowGap,
212
- children: /* @__PURE__ */ jsxRuntime.jsx(next.Element, {
213
- element: child
214
- })
215
- }, child.key)) : /* @__PURE__ */ jsxRuntime.jsx(Placeholder, {
216
- hide: hidePlaceholder
176
+ isEntered,
177
+ resetEntered
178
+ } = gridItem.useIsEntered(boxElement);
179
+ React.useEffect(() => {
180
+ resetEntered();
181
+ }, [boxAnimateType, boxAnimateDuration, boxAnimateDelay, itemAnimateType, itemAnimateDuration, itemAnimateDelay, itemStaggerDuration]);
182
+ return /* @__PURE__ */ jsxRuntime.jsx(gridItem.BackgroundsContainer, {
183
+ ref: setBoxElement,
184
+ id,
185
+ className: css.cx(width, margin, borderRadius, next.useStyle({
186
+ display: "flex"
187
+ }), next.useStyle(next.responsiveStyle([height], ([alignSelf = "auto"]) => ({
188
+ alignSelf
189
+ })))),
190
+ boxAnimateType,
191
+ boxAnimateDuration,
192
+ boxAnimateDelay,
193
+ isEntered,
194
+ backgrounds,
195
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", {
196
+ ref: innerRef,
197
+ className: css.cx(padding, boxShadow, border, next.useStyle({
198
+ display: "flex",
199
+ flexWrap: "wrap",
200
+ width: "100%"
201
+ }), next.useStyle(next.responsiveStyle([verticalAlign], ([alignContent = "flex-start"]) => ({
202
+ alignContent
203
+ })))),
204
+ children: children && children.elements.length > 0 ? children.elements.map((child, index) => /* @__PURE__ */ jsxRuntime.jsx(gridItem.GridItem, {
205
+ className: gridItemClassName,
206
+ grid: children.columns,
207
+ index,
208
+ itemAnimateType,
209
+ itemAnimateDuration,
210
+ itemAnimateDelay,
211
+ itemStaggerDuration,
212
+ isEntered,
213
+ columnGap,
214
+ rowGap,
215
+ children: /* @__PURE__ */ jsxRuntime.jsx(next.Element, {
216
+ element: child
217
217
  })
218
+ }, child.key)) : /* @__PURE__ */ jsxRuntime.jsx(Placeholder, {
219
+ hide: hidePlaceholder
218
220
  })
219
221
  })
220
- });
222
+ }, key);
221
223
  });
222
224
  exports["default"] = Box;
223
225
  //# sourceMappingURL=Box.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Box.cjs.js","sources":["../src/components/builtin/Box/components/Placeholder/index.tsx","../src/components/builtin/Box/Box.tsx"],"sourcesContent":["import { forwardRef, Ref } from 'react'\nimport { useStyle } from '../../../../../runtimes/react/use-style'\n\ntype Props = { hide?: boolean }\n\nexport default forwardRef(function Placeholder(\n { hide = false, ...restOfProps }: Props,\n ref: Ref<HTMLDivElement>,\n) {\n return (\n <div\n {...restOfProps}\n ref={ref}\n style={{ visibility: hide ? 'hidden' : 'initial' }}\n className={useStyle({\n width: '100%',\n background: 'rgba(161, 168, 194, 0.18)',\n height: 80,\n padding: 8,\n })}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"100%\"\n height=\"100%\"\n style={{ overflow: 'visible' }}\n >\n <rect\n x={0}\n y={0}\n width=\"100%\"\n height=\"100%\"\n strokeWidth={2}\n strokeDasharray=\"4 2\"\n fill=\"none\"\n stroke=\"rgba(161, 168, 194, 0.40)\"\n rx=\"4\"\n ry=\"4\"\n />\n </svg>\n </div>\n )\n})\n","import { forwardRef, Ref, useImperativeHandle, useRef, useState } from 'react'\nimport { cx } from '@emotion/css'\n\nimport { Element } from '../../../runtimes/react'\nimport Placeholder from './components/Placeholder'\nimport { EnteredContext, useIsEntered } from './animations'\nimport {\n ElementIDValue,\n ResponsiveIconRadioGroupValue,\n GridValue,\n GapYValue,\n GapXValue,\n CheckboxValue,\n ResponsiveSelectValue,\n ResponsiveNumberValue,\n BackgroundsValue,\n} from '../../../prop-controllers/descriptors'\nimport { BoxModelHandle, parse, createBox } from '../../../box-model'\nimport BackgroundsContainer from '../../shared/BackgroundsContainer'\nimport { BoxAnimateIn } from './constants'\nimport { responsiveStyle } from '../../utils/responsive-style'\nimport { GridItem } from '../../shared/grid-item'\nimport { useStyle } from '../../../runtimes/react/use-style'\nimport { useAnimation } from './animations'\n\ntype Props = {\n id?: ElementIDValue\n backgrounds?: BackgroundsValue\n width?: string\n height?: ResponsiveIconRadioGroupValue<'auto' | 'stretch'>\n verticalAlign?: ResponsiveIconRadioGroupValue<\n 'flex-start' | 'center' | 'flex-end' | 'space-between'\n >\n margin?: string\n padding?: string\n border?: string\n borderRadius?: string\n boxShadow?: string\n rowGap?: GapYValue\n columnGap?: GapXValue\n boxAnimateType?: ResponsiveSelectValue<BoxAnimateIn>\n boxAnimateDuration?: ResponsiveNumberValue\n boxAnimateDelay?: ResponsiveNumberValue\n itemAnimateType?: ResponsiveSelectValue<BoxAnimateIn>\n itemAnimateDuration?: ResponsiveNumberValue\n itemAnimateDelay?: ResponsiveNumberValue\n itemStaggerDuration?: ResponsiveNumberValue\n hidePlaceholder?: CheckboxValue\n children?: GridValue\n}\n\nconst Box = forwardRef(function Box(\n {\n id,\n backgrounds,\n width,\n height,\n margin,\n padding,\n border,\n children,\n borderRadius,\n boxShadow,\n rowGap,\n columnGap,\n hidePlaceholder,\n verticalAlign,\n boxAnimateType,\n boxAnimateDuration,\n boxAnimateDelay,\n itemAnimateDelay,\n itemAnimateType,\n itemAnimateDuration,\n itemStaggerDuration,\n }: Props,\n ref: Ref<BoxModelHandle>,\n) {\n const innerRef = useRef<HTMLDivElement | null>(null)\n const [boxElement, setBoxElement] = useState<HTMLElement | null>(null)\n\n useImperativeHandle(\n ref,\n () => ({\n getBoxModel() {\n const paddingBoxElement = innerRef.current\n const borderBoxElement = innerRef.current\n const marginBoxElement = boxElement\n const borderBox = innerRef.current?.getBoundingClientRect()\n const paddingBoxComputedStyle =\n paddingBoxElement?.ownerDocument.defaultView?.getComputedStyle(paddingBoxElement)\n const borderBoxComputedStyle =\n borderBoxElement?.ownerDocument.defaultView?.getComputedStyle(borderBoxElement)\n const marginBoxComputedStyle =\n marginBoxElement?.ownerDocument.defaultView?.getComputedStyle(marginBoxElement)\n const padding = paddingBoxComputedStyle && {\n top: parse(paddingBoxComputedStyle.paddingTop),\n right: parse(paddingBoxComputedStyle.paddingRight),\n bottom: parse(paddingBoxComputedStyle.paddingBottom),\n left: parse(paddingBoxComputedStyle.paddingLeft),\n }\n const border = borderBoxComputedStyle && {\n top: parse(borderBoxComputedStyle.borderTopWidth),\n right: parse(borderBoxComputedStyle.borderRightWidth),\n bottom: parse(borderBoxComputedStyle.borderBottomWidth),\n left: parse(borderBoxComputedStyle.borderLeftWidth),\n }\n const margin = marginBoxComputedStyle && {\n top: parse(marginBoxComputedStyle.marginTop),\n right: parse(marginBoxComputedStyle.marginRight),\n bottom: parse(marginBoxComputedStyle.marginBottom),\n left: parse(marginBoxComputedStyle.marginLeft),\n }\n\n return borderBox ? createBox({ borderBox, padding, border, margin }) : null\n },\n }),\n [boxElement],\n )\n\n const gridItemClassName = useStyle(\n responsiveStyle([verticalAlign], ([alignItems = 'flex-start']) => ({ alignItems })),\n )\n\n const { exited, entered } = useAnimation(boxAnimateType, boxAnimateDuration, boxAnimateDelay)\n\n const isEntered = useIsEntered(boxElement, [\n boxAnimateType,\n boxAnimateDuration,\n boxAnimateDelay,\n itemAnimateType,\n itemAnimateDuration,\n itemAnimateDelay,\n itemStaggerDuration,\n ])\n\n return (\n <EnteredContext.Provider value={{ isEntered }}>\n <BackgroundsContainer\n ref={setBoxElement}\n id={id}\n className={cx(\n width,\n margin,\n borderRadius,\n useStyle({ display: 'flex' }),\n useStyle(responsiveStyle([height], ([alignSelf = 'auto']) => ({ alignSelf }))),\n exited,\n isEntered && entered,\n )}\n backgrounds={backgrounds}\n >\n <div\n ref={innerRef}\n className={cx(\n padding,\n boxShadow,\n border,\n useStyle({ display: 'flex', flexWrap: 'wrap', width: '100%' }),\n useStyle(\n responsiveStyle([verticalAlign], ([alignContent = 'flex-start']) => ({\n alignContent,\n })),\n ),\n )}\n >\n {children && children.elements.length > 0 ? (\n children.elements.map((child, index) => (\n <GridItem\n key={child.key}\n className={gridItemClassName}\n grid={children.columns}\n index={index}\n itemAnimateType={itemAnimateType}\n itemAnimateDuration={itemAnimateDuration}\n itemAnimateDelay={itemAnimateDelay}\n itemStaggerDuration={itemStaggerDuration}\n isEntered={isEntered}\n columnGap={columnGap}\n rowGap={rowGap}\n >\n <Element element={child} />\n </GridItem>\n ))\n ) : (\n <Placeholder hide={hidePlaceholder} />\n )}\n </div>\n </BackgroundsContainer>\n </EnteredContext.Provider>\n )\n})\n\nexport default Box\n"],"names":["forwardRef","ref","hide","restOfProps","visibility","useStyle","width","background","height","padding","overflow","Box","id","backgrounds","margin","border","children","borderRadius","boxShadow","rowGap","columnGap","hidePlaceholder","verticalAlign","boxAnimateType","boxAnimateDuration","boxAnimateDelay","itemAnimateDelay","itemAnimateType","itemAnimateDuration","itemStaggerDuration","innerRef","useRef","boxElement","setBoxElement","useState","useImperativeHandle","getBoxModel","paddingBoxElement","current","borderBoxElement","marginBoxElement","borderBox","getBoundingClientRect","paddingBoxComputedStyle","ownerDocument","defaultView","getComputedStyle","borderBoxComputedStyle","marginBoxComputedStyle","top","parse","paddingTop","right","paddingRight","bottom","paddingBottom","left","paddingLeft","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","marginTop","marginRight","marginBottom","marginLeft","createBox","gridItemClassName","responsiveStyle","alignItems","exited","entered","useAnimation","isEntered","useIsEntered","_jsx","EnteredContext","BackgroundsContainer","cx","display","alignSelf","flexWrap","alignContent","elements","length","map","child","index","GridItem","columns","Element","key"],"mappings":"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"}
1
+ {"version":3,"file":"Box.cjs.js","sources":["../src/components/builtin/Box/components/Placeholder/index.tsx","../src/components/builtin/Box/Box.tsx"],"sourcesContent":["import { forwardRef, Ref } from 'react'\nimport { useStyle } from '../../../../../runtimes/react/use-style'\n\ntype Props = { hide?: boolean }\n\nexport default forwardRef(function Placeholder(\n { hide = false, ...restOfProps }: Props,\n ref: Ref<HTMLDivElement>,\n) {\n return (\n <div\n {...restOfProps}\n ref={ref}\n style={{ visibility: hide ? 'hidden' : 'initial' }}\n className={useStyle({\n width: '100%',\n background: 'rgba(161, 168, 194, 0.18)',\n height: 80,\n padding: 8,\n })}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"100%\"\n height=\"100%\"\n style={{ overflow: 'visible' }}\n >\n <rect\n x={0}\n y={0}\n width=\"100%\"\n height=\"100%\"\n strokeWidth={2}\n strokeDasharray=\"4 2\"\n fill=\"none\"\n stroke=\"rgba(161, 168, 194, 0.40)\"\n rx=\"4\"\n ry=\"4\"\n />\n </svg>\n </div>\n )\n})\n","import { forwardRef, Ref, useEffect, useImperativeHandle, useMemo, useRef, useState } from 'react'\nimport { cx } from '@emotion/css'\n\nimport { Element } from '../../../runtimes/react'\nimport Placeholder from './components/Placeholder'\nimport { useIsEntered } from './animations'\nimport {\n ElementIDValue,\n ResponsiveIconRadioGroupValue,\n GridValue,\n GapYValue,\n GapXValue,\n CheckboxValue,\n ResponsiveSelectValue,\n ResponsiveNumberValue,\n BackgroundsValue,\n} from '../../../prop-controllers/descriptors'\nimport { BoxModelHandle, parse, createBox } from '../../../box-model'\nimport BackgroundsContainer from '../../shared/BackgroundsContainer'\nimport { BoxAnimateIn } from './constants'\nimport { responsiveStyle } from '../../utils/responsive-style'\nimport { GridItem } from '../../shared/grid-item'\nimport { useStyle } from '../../../runtimes/react/use-style'\nimport { v4 } from 'uuid'\n\ntype Props = {\n id?: ElementIDValue\n backgrounds?: BackgroundsValue\n width?: string\n height?: ResponsiveIconRadioGroupValue<'auto' | 'stretch'>\n verticalAlign?: ResponsiveIconRadioGroupValue<\n 'flex-start' | 'center' | 'flex-end' | 'space-between'\n >\n margin?: string\n padding?: string\n border?: string\n borderRadius?: string\n boxShadow?: string\n rowGap?: GapYValue\n columnGap?: GapXValue\n boxAnimateType?: ResponsiveSelectValue<BoxAnimateIn>\n boxAnimateDuration?: ResponsiveNumberValue\n boxAnimateDelay?: ResponsiveNumberValue\n itemAnimateType?: ResponsiveSelectValue<BoxAnimateIn>\n itemAnimateDuration?: ResponsiveNumberValue\n itemAnimateDelay?: ResponsiveNumberValue\n itemStaggerDuration?: ResponsiveNumberValue\n hidePlaceholder?: CheckboxValue\n children?: GridValue\n}\n\nconst Box = forwardRef(function Box(\n {\n id,\n backgrounds,\n width,\n height,\n margin,\n padding,\n border,\n children,\n borderRadius,\n boxShadow,\n rowGap,\n columnGap,\n hidePlaceholder,\n verticalAlign,\n boxAnimateType,\n boxAnimateDuration,\n boxAnimateDelay,\n itemAnimateDelay,\n itemAnimateType,\n itemAnimateDuration,\n itemStaggerDuration,\n }: Props,\n ref: Ref<BoxModelHandle>,\n) {\n const innerRef = useRef<HTMLDivElement | null>(null)\n const [boxElement, setBoxElement] = useState<HTMLElement | null>(null)\n\n useImperativeHandle(\n ref,\n () => ({\n getBoxModel() {\n const paddingBoxElement = innerRef.current\n const borderBoxElement = innerRef.current\n const marginBoxElement = boxElement\n const borderBox = innerRef.current?.getBoundingClientRect()\n const paddingBoxComputedStyle =\n paddingBoxElement?.ownerDocument.defaultView?.getComputedStyle(paddingBoxElement)\n const borderBoxComputedStyle =\n borderBoxElement?.ownerDocument.defaultView?.getComputedStyle(borderBoxElement)\n const marginBoxComputedStyle =\n marginBoxElement?.ownerDocument.defaultView?.getComputedStyle(marginBoxElement)\n const padding = paddingBoxComputedStyle && {\n top: parse(paddingBoxComputedStyle.paddingTop),\n right: parse(paddingBoxComputedStyle.paddingRight),\n bottom: parse(paddingBoxComputedStyle.paddingBottom),\n left: parse(paddingBoxComputedStyle.paddingLeft),\n }\n const border = borderBoxComputedStyle && {\n top: parse(borderBoxComputedStyle.borderTopWidth),\n right: parse(borderBoxComputedStyle.borderRightWidth),\n bottom: parse(borderBoxComputedStyle.borderBottomWidth),\n left: parse(borderBoxComputedStyle.borderLeftWidth),\n }\n const margin = marginBoxComputedStyle && {\n top: parse(marginBoxComputedStyle.marginTop),\n right: parse(marginBoxComputedStyle.marginRight),\n bottom: parse(marginBoxComputedStyle.marginBottom),\n left: parse(marginBoxComputedStyle.marginLeft),\n }\n\n return borderBox ? createBox({ borderBox, padding, border, margin }) : null\n },\n }),\n [boxElement],\n )\n\n const gridItemClassName = useStyle(\n responsiveStyle([verticalAlign], ([alignItems = 'flex-start']) => ({ alignItems })),\n )\n\n const key = useMemo(\n () => v4(),\n [\n boxAnimateType,\n boxAnimateDuration,\n boxAnimateDelay,\n itemAnimateType,\n itemAnimateDuration,\n itemAnimateDelay,\n itemStaggerDuration,\n ],\n )\n\n const { isEntered, resetEntered } = useIsEntered(boxElement)\n\n useEffect(() => {\n resetEntered()\n }, [\n boxAnimateType,\n boxAnimateDuration,\n boxAnimateDelay,\n itemAnimateType,\n itemAnimateDuration,\n itemAnimateDelay,\n itemStaggerDuration,\n ])\n\n return (\n <BackgroundsContainer\n ref={setBoxElement}\n id={id}\n key={key}\n className={cx(\n width,\n margin,\n borderRadius,\n useStyle({ display: 'flex' }),\n useStyle(responsiveStyle([height], ([alignSelf = 'auto']) => ({ alignSelf }))),\n )}\n boxAnimateType={boxAnimateType}\n boxAnimateDuration={boxAnimateDuration}\n boxAnimateDelay={boxAnimateDelay}\n isEntered={isEntered}\n backgrounds={backgrounds}\n >\n <div\n ref={innerRef}\n className={cx(\n padding,\n boxShadow,\n border,\n useStyle({ display: 'flex', flexWrap: 'wrap', width: '100%' }),\n useStyle(\n responsiveStyle([verticalAlign], ([alignContent = 'flex-start']) => ({\n alignContent,\n })),\n ),\n )}\n >\n {children && children.elements.length > 0 ? (\n children.elements.map((child, index) => (\n <GridItem\n key={child.key}\n className={gridItemClassName}\n grid={children.columns}\n index={index}\n itemAnimateType={itemAnimateType}\n itemAnimateDuration={itemAnimateDuration}\n itemAnimateDelay={itemAnimateDelay}\n itemStaggerDuration={itemStaggerDuration}\n isEntered={isEntered}\n columnGap={columnGap}\n rowGap={rowGap}\n >\n <Element element={child} />\n </GridItem>\n ))\n ) : (\n <Placeholder hide={hidePlaceholder} />\n )}\n </div>\n </BackgroundsContainer>\n )\n})\n\nexport default Box\n"],"names":["forwardRef","ref","hide","restOfProps","visibility","useStyle","width","background","height","padding","overflow","Box","id","backgrounds","margin","border","children","borderRadius","boxShadow","rowGap","columnGap","hidePlaceholder","verticalAlign","boxAnimateType","boxAnimateDuration","boxAnimateDelay","itemAnimateDelay","itemAnimateType","itemAnimateDuration","itemStaggerDuration","innerRef","useRef","boxElement","setBoxElement","useState","useImperativeHandle","getBoxModel","paddingBoxElement","current","borderBoxElement","marginBoxElement","borderBox","getBoundingClientRect","paddingBoxComputedStyle","ownerDocument","defaultView","getComputedStyle","borderBoxComputedStyle","marginBoxComputedStyle","top","parse","paddingTop","right","paddingRight","bottom","paddingBottom","left","paddingLeft","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","marginTop","marginRight","marginBottom","marginLeft","createBox","gridItemClassName","responsiveStyle","alignItems","key","useMemo","v4","isEntered","resetEntered","useIsEntered","useEffect","BackgroundsContainer","cx","display","alignSelf","flexWrap","alignContent","elements","length","map","child","index","GridItem","columns","Element"],"mappings":"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"}
package/dist/Box.es.js CHANGED
@@ -29,12 +29,13 @@ var __objRest = (source, exclude) => {
29
29
  }
30
30
  return target;
31
31
  };
32
- import { forwardRef, useRef, useState, useImperativeHandle } from "react";
32
+ import { forwardRef, useRef, useState, useImperativeHandle, useMemo, useEffect } from "react";
33
33
  import { cx } from "@emotion/css";
34
- import { q as useStyle, r as responsiveStyle, E as Element } from "./index.es.js";
34
+ import { n as useStyle, r as responsiveStyle, E as Element } from "./index.es.js";
35
35
  import { jsx } from "react/jsx-runtime";
36
- import { a as useAnimation, b as useIsEntered, E as EnteredContext, B as BackgroundsContainer, G as GridItem } from "./grid-item.es.js";
36
+ import { a as useIsEntered, B as BackgroundsContainer, G as GridItem } from "./grid-item.es.js";
37
37
  import { p as parse, c as createBox } from "./box-models.es.js";
38
+ import { v4 } from "uuid";
38
39
  import "use-sync-external-store/shim/with-selector";
39
40
  import "./react-page.es.js";
40
41
  import "redux";
@@ -43,12 +44,11 @@ import "./actions.es.js";
43
44
  import "./slot.es.js";
44
45
  import "./control.es.js";
45
46
  import "next/dynamic";
46
- import "@apollo/client";
47
- import "@apollo/client/link/batch-http";
48
47
  import "slate";
49
- import "./graphql.es.js";
48
+ import "./types.es.js";
50
49
  import "./text-input.es.js";
51
50
  import "./combobox.es.js";
51
+ import "use-sync-external-store/shim";
52
52
  import "color";
53
53
  import "scroll-into-view-if-needed";
54
54
  import "react-dom";
@@ -169,53 +169,55 @@ const Box = forwardRef(function Box2({
169
169
  const gridItemClassName = useStyle(responsiveStyle([verticalAlign], ([alignItems = "flex-start"]) => ({
170
170
  alignItems
171
171
  })));
172
+ const key = useMemo(() => v4(), [boxAnimateType, boxAnimateDuration, boxAnimateDelay, itemAnimateType, itemAnimateDuration, itemAnimateDelay, itemStaggerDuration]);
172
173
  const {
173
- exited,
174
- entered
175
- } = useAnimation(boxAnimateType, boxAnimateDuration, boxAnimateDelay);
176
- const isEntered = useIsEntered(boxElement, [boxAnimateType, boxAnimateDuration, boxAnimateDelay, itemAnimateType, itemAnimateDuration, itemAnimateDelay, itemStaggerDuration]);
177
- return /* @__PURE__ */ jsx(EnteredContext.Provider, {
178
- value: {
179
- isEntered
180
- },
181
- children: /* @__PURE__ */ jsx(BackgroundsContainer, {
182
- ref: setBoxElement,
183
- id,
184
- className: cx(width, margin, borderRadius, useStyle({
185
- display: "flex"
186
- }), useStyle(responsiveStyle([height], ([alignSelf = "auto"]) => ({
187
- alignSelf
188
- }))), exited, isEntered && entered),
189
- backgrounds,
190
- children: /* @__PURE__ */ jsx("div", {
191
- ref: innerRef,
192
- className: cx(padding, boxShadow, border, useStyle({
193
- display: "flex",
194
- flexWrap: "wrap",
195
- width: "100%"
196
- }), useStyle(responsiveStyle([verticalAlign], ([alignContent = "flex-start"]) => ({
197
- alignContent
198
- })))),
199
- children: children && children.elements.length > 0 ? children.elements.map((child, index) => /* @__PURE__ */ jsx(GridItem, {
200
- className: gridItemClassName,
201
- grid: children.columns,
202
- index,
203
- itemAnimateType,
204
- itemAnimateDuration,
205
- itemAnimateDelay,
206
- itemStaggerDuration,
207
- isEntered,
208
- columnGap,
209
- rowGap,
210
- children: /* @__PURE__ */ jsx(Element, {
211
- element: child
212
- })
213
- }, child.key)) : /* @__PURE__ */ jsx(Placeholder, {
214
- hide: hidePlaceholder
174
+ isEntered,
175
+ resetEntered
176
+ } = useIsEntered(boxElement);
177
+ useEffect(() => {
178
+ resetEntered();
179
+ }, [boxAnimateType, boxAnimateDuration, boxAnimateDelay, itemAnimateType, itemAnimateDuration, itemAnimateDelay, itemStaggerDuration]);
180
+ return /* @__PURE__ */ jsx(BackgroundsContainer, {
181
+ ref: setBoxElement,
182
+ id,
183
+ className: cx(width, margin, borderRadius, useStyle({
184
+ display: "flex"
185
+ }), useStyle(responsiveStyle([height], ([alignSelf = "auto"]) => ({
186
+ alignSelf
187
+ })))),
188
+ boxAnimateType,
189
+ boxAnimateDuration,
190
+ boxAnimateDelay,
191
+ isEntered,
192
+ backgrounds,
193
+ children: /* @__PURE__ */ jsx("div", {
194
+ ref: innerRef,
195
+ className: cx(padding, boxShadow, border, useStyle({
196
+ display: "flex",
197
+ flexWrap: "wrap",
198
+ width: "100%"
199
+ }), useStyle(responsiveStyle([verticalAlign], ([alignContent = "flex-start"]) => ({
200
+ alignContent
201
+ })))),
202
+ children: children && children.elements.length > 0 ? children.elements.map((child, index) => /* @__PURE__ */ jsx(GridItem, {
203
+ className: gridItemClassName,
204
+ grid: children.columns,
205
+ index,
206
+ itemAnimateType,
207
+ itemAnimateDuration,
208
+ itemAnimateDelay,
209
+ itemStaggerDuration,
210
+ isEntered,
211
+ columnGap,
212
+ rowGap,
213
+ children: /* @__PURE__ */ jsx(Element, {
214
+ element: child
215
215
  })
216
+ }, child.key)) : /* @__PURE__ */ jsx(Placeholder, {
217
+ hide: hidePlaceholder
216
218
  })
217
219
  })
218
- });
220
+ }, key);
219
221
  });
220
222
  export { Box as default };
221
223
  //# sourceMappingURL=Box.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Box.es.js","sources":["../src/components/builtin/Box/components/Placeholder/index.tsx","../src/components/builtin/Box/Box.tsx"],"sourcesContent":["import { forwardRef, Ref } from 'react'\nimport { useStyle } from '../../../../../runtimes/react/use-style'\n\ntype Props = { hide?: boolean }\n\nexport default forwardRef(function Placeholder(\n { hide = false, ...restOfProps }: Props,\n ref: Ref<HTMLDivElement>,\n) {\n return (\n <div\n {...restOfProps}\n ref={ref}\n style={{ visibility: hide ? 'hidden' : 'initial' }}\n className={useStyle({\n width: '100%',\n background: 'rgba(161, 168, 194, 0.18)',\n height: 80,\n padding: 8,\n })}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"100%\"\n height=\"100%\"\n style={{ overflow: 'visible' }}\n >\n <rect\n x={0}\n y={0}\n width=\"100%\"\n height=\"100%\"\n strokeWidth={2}\n strokeDasharray=\"4 2\"\n fill=\"none\"\n stroke=\"rgba(161, 168, 194, 0.40)\"\n rx=\"4\"\n ry=\"4\"\n />\n </svg>\n </div>\n )\n})\n","import { forwardRef, Ref, useImperativeHandle, useRef, useState } from 'react'\nimport { cx } from '@emotion/css'\n\nimport { Element } from '../../../runtimes/react'\nimport Placeholder from './components/Placeholder'\nimport { EnteredContext, useIsEntered } from './animations'\nimport {\n ElementIDValue,\n ResponsiveIconRadioGroupValue,\n GridValue,\n GapYValue,\n GapXValue,\n CheckboxValue,\n ResponsiveSelectValue,\n ResponsiveNumberValue,\n BackgroundsValue,\n} from '../../../prop-controllers/descriptors'\nimport { BoxModelHandle, parse, createBox } from '../../../box-model'\nimport BackgroundsContainer from '../../shared/BackgroundsContainer'\nimport { BoxAnimateIn } from './constants'\nimport { responsiveStyle } from '../../utils/responsive-style'\nimport { GridItem } from '../../shared/grid-item'\nimport { useStyle } from '../../../runtimes/react/use-style'\nimport { useAnimation } from './animations'\n\ntype Props = {\n id?: ElementIDValue\n backgrounds?: BackgroundsValue\n width?: string\n height?: ResponsiveIconRadioGroupValue<'auto' | 'stretch'>\n verticalAlign?: ResponsiveIconRadioGroupValue<\n 'flex-start' | 'center' | 'flex-end' | 'space-between'\n >\n margin?: string\n padding?: string\n border?: string\n borderRadius?: string\n boxShadow?: string\n rowGap?: GapYValue\n columnGap?: GapXValue\n boxAnimateType?: ResponsiveSelectValue<BoxAnimateIn>\n boxAnimateDuration?: ResponsiveNumberValue\n boxAnimateDelay?: ResponsiveNumberValue\n itemAnimateType?: ResponsiveSelectValue<BoxAnimateIn>\n itemAnimateDuration?: ResponsiveNumberValue\n itemAnimateDelay?: ResponsiveNumberValue\n itemStaggerDuration?: ResponsiveNumberValue\n hidePlaceholder?: CheckboxValue\n children?: GridValue\n}\n\nconst Box = forwardRef(function Box(\n {\n id,\n backgrounds,\n width,\n height,\n margin,\n padding,\n border,\n children,\n borderRadius,\n boxShadow,\n rowGap,\n columnGap,\n hidePlaceholder,\n verticalAlign,\n boxAnimateType,\n boxAnimateDuration,\n boxAnimateDelay,\n itemAnimateDelay,\n itemAnimateType,\n itemAnimateDuration,\n itemStaggerDuration,\n }: Props,\n ref: Ref<BoxModelHandle>,\n) {\n const innerRef = useRef<HTMLDivElement | null>(null)\n const [boxElement, setBoxElement] = useState<HTMLElement | null>(null)\n\n useImperativeHandle(\n ref,\n () => ({\n getBoxModel() {\n const paddingBoxElement = innerRef.current\n const borderBoxElement = innerRef.current\n const marginBoxElement = boxElement\n const borderBox = innerRef.current?.getBoundingClientRect()\n const paddingBoxComputedStyle =\n paddingBoxElement?.ownerDocument.defaultView?.getComputedStyle(paddingBoxElement)\n const borderBoxComputedStyle =\n borderBoxElement?.ownerDocument.defaultView?.getComputedStyle(borderBoxElement)\n const marginBoxComputedStyle =\n marginBoxElement?.ownerDocument.defaultView?.getComputedStyle(marginBoxElement)\n const padding = paddingBoxComputedStyle && {\n top: parse(paddingBoxComputedStyle.paddingTop),\n right: parse(paddingBoxComputedStyle.paddingRight),\n bottom: parse(paddingBoxComputedStyle.paddingBottom),\n left: parse(paddingBoxComputedStyle.paddingLeft),\n }\n const border = borderBoxComputedStyle && {\n top: parse(borderBoxComputedStyle.borderTopWidth),\n right: parse(borderBoxComputedStyle.borderRightWidth),\n bottom: parse(borderBoxComputedStyle.borderBottomWidth),\n left: parse(borderBoxComputedStyle.borderLeftWidth),\n }\n const margin = marginBoxComputedStyle && {\n top: parse(marginBoxComputedStyle.marginTop),\n right: parse(marginBoxComputedStyle.marginRight),\n bottom: parse(marginBoxComputedStyle.marginBottom),\n left: parse(marginBoxComputedStyle.marginLeft),\n }\n\n return borderBox ? createBox({ borderBox, padding, border, margin }) : null\n },\n }),\n [boxElement],\n )\n\n const gridItemClassName = useStyle(\n responsiveStyle([verticalAlign], ([alignItems = 'flex-start']) => ({ alignItems })),\n )\n\n const { exited, entered } = useAnimation(boxAnimateType, boxAnimateDuration, boxAnimateDelay)\n\n const isEntered = useIsEntered(boxElement, [\n boxAnimateType,\n boxAnimateDuration,\n boxAnimateDelay,\n itemAnimateType,\n itemAnimateDuration,\n itemAnimateDelay,\n itemStaggerDuration,\n ])\n\n return (\n <EnteredContext.Provider value={{ isEntered }}>\n <BackgroundsContainer\n ref={setBoxElement}\n id={id}\n className={cx(\n width,\n margin,\n borderRadius,\n useStyle({ display: 'flex' }),\n useStyle(responsiveStyle([height], ([alignSelf = 'auto']) => ({ alignSelf }))),\n exited,\n isEntered && entered,\n )}\n backgrounds={backgrounds}\n >\n <div\n ref={innerRef}\n className={cx(\n padding,\n boxShadow,\n border,\n useStyle({ display: 'flex', flexWrap: 'wrap', width: '100%' }),\n useStyle(\n responsiveStyle([verticalAlign], ([alignContent = 'flex-start']) => ({\n alignContent,\n })),\n ),\n )}\n >\n {children && children.elements.length > 0 ? (\n children.elements.map((child, index) => (\n <GridItem\n key={child.key}\n className={gridItemClassName}\n grid={children.columns}\n index={index}\n itemAnimateType={itemAnimateType}\n itemAnimateDuration={itemAnimateDuration}\n itemAnimateDelay={itemAnimateDelay}\n itemStaggerDuration={itemStaggerDuration}\n isEntered={isEntered}\n columnGap={columnGap}\n rowGap={rowGap}\n >\n <Element element={child} />\n </GridItem>\n ))\n ) : (\n <Placeholder hide={hidePlaceholder} />\n )}\n </div>\n </BackgroundsContainer>\n </EnteredContext.Provider>\n )\n})\n\nexport default Box\n"],"names":["forwardRef","ref","hide","restOfProps","visibility","useStyle","width","background","height","padding","overflow","Box","id","backgrounds","margin","border","children","borderRadius","boxShadow","rowGap","columnGap","hidePlaceholder","verticalAlign","boxAnimateType","boxAnimateDuration","boxAnimateDelay","itemAnimateDelay","itemAnimateType","itemAnimateDuration","itemStaggerDuration","innerRef","useRef","boxElement","setBoxElement","useState","useImperativeHandle","getBoxModel","paddingBoxElement","current","borderBoxElement","marginBoxElement","borderBox","getBoundingClientRect","paddingBoxComputedStyle","ownerDocument","defaultView","getComputedStyle","borderBoxComputedStyle","marginBoxComputedStyle","top","parse","paddingTop","right","paddingRight","bottom","paddingBottom","left","paddingLeft","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","marginTop","marginRight","marginBottom","marginLeft","createBox","gridItemClassName","responsiveStyle","alignItems","exited","entered","useAnimation","isEntered","useIsEntered","_jsx","cx","display","alignSelf","flexWrap","alignContent","elements","length","map","child","index","columns","key"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,IAAA,cAAeA,WAAW,sBACxB,IACAC,KACA;AAFA,eAAEC;AAAAA,WAAO;AAAA,MAAT,IAAmBC,wBAAnB,IAAmBA;AAAAA,IAAjBD;AAAAA;AAGF,qEAEQC;IACJ;AAAA,IACA,OAAO;AAAA,MAAEC,YAAYF,OAAO,WAAW;AAAA,IAHzC;AAAA,IAIE,WAAWG,SAAS;AAAA,MAClBC,OAAO;AAAA,MACPC,YAAY;AAAA,MACZC,QAAQ;AAAA,MACRC,SAAS;AAAA,IAAA,CAJQ;AAAA,IAOnB,8BAAA,OAAA;AAAA,MACE,OAAM;AAAA,MACN,OAAM;AAAA,MACN,QAAO;AAAA,MACP,OAAO;AAAA,QAAEC,UAAU;AAAA,MAJrB;AAAA,MAME,8BAAA,QAAA;AAAA,QACE,GAAG;AAAA,QACH,GAAG;AAAA,QACH,OAAM;AAAA,QACN,QAAO;AAAA,QACP,aAAa;AAAA,QACb,iBAAgB;AAAA,QAChB,MAAK;AAAA,QACL,QAAO;AAAA,QACP,IAAG;AAAA,QACH,IAAG;AAAA,MAAA,CAVL;AAAA,IAAA,CANF;AAAA,EAAA,EAZJ;AAiCD,CArCwB;AC8CnBC,MAAAA,MAAMX,WAAW,cACrB;AAAA,EACEY;AAAAA,EACAC;AAAAA,EACAP;AAAAA,EACAE;AAAAA,EACAM;AAAAA,EACAL;AAAAA,EACAM;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,GAEF5B,KACA;AACM6B,QAAAA,WAAWC,OAA8B,IAAxB;AACvB,QAAM,CAACC,YAAYC,iBAAiBC,SAA6B,IAArB;AAE5CC,sBACElC,KACA,MAAO;AAAA,IACLmC,cAAc;;AACZ,YAAMC,oBAAoBP,SAASQ;AACnC,YAAMC,mBAAmBT,SAASQ;AAC5BE,YAAAA,mBAAmBR;AACnBS,YAAAA,YAAYX,eAASQ,YAATR,mBAAkBY;AAC9BC,YAAAA,0BACJN,6DAAmBO,cAAcC,gBAAjCR,mBAA8CS,iBAAiBT;AAC3DU,YAAAA,yBACJR,2DAAkBK,cAAcC,gBAAhCN,mBAA6CO,iBAAiBP;AAC1DS,YAAAA,yBACJR,2DAAkBI,cAAcC,gBAAhCL,mBAA6CM,iBAAiBN;AAC1D/B,YAAAA,WAAUkC,2BAA2B;AAAA,QACzCM,KAAKC,MAAMP,wBAAwBQ,UAAzB;AAAA,QACVC,OAAOF,MAAMP,wBAAwBU,YAAzB;AAAA,QACZC,QAAQJ,MAAMP,wBAAwBY,aAAzB;AAAA,QACbC,MAAMN,MAAMP,wBAAwBc,WAAzB;AAAA,MAAA;AAEP1C,YAAAA,UAASgC,0BAA0B;AAAA,QACvCE,KAAKC,MAAMH,uBAAuBW,cAAxB;AAAA,QACVN,OAAOF,MAAMH,uBAAuBY,gBAAxB;AAAA,QACZL,QAAQJ,MAAMH,uBAAuBa,iBAAxB;AAAA,QACbJ,MAAMN,MAAMH,uBAAuBc,eAAxB;AAAA,MAAA;AAEP/C,YAAAA,UAASkC,0BAA0B;AAAA,QACvCC,KAAKC,MAAMF,uBAAuBc,SAAxB;AAAA,QACVV,OAAOF,MAAMF,uBAAuBe,WAAxB;AAAA,QACZT,QAAQJ,MAAMF,uBAAuBgB,YAAxB;AAAA,QACbR,MAAMN,MAAMF,uBAAuBiB,UAAxB;AAAA,MAAA;AAGNxB,aAAAA,YAAYyB,UAAU;AAAA,QAAEzB;AAAAA,QAAWhC,SAAAA;AAAAA,QAASM,QAAAA;AAAAA,QAAQD,QAAAA;AAAAA,MAA/B,CAAA,IAA2C;AAAA,IACxE;AAAA,EAAA,IAEH,CAACkB,UAAD,CApCiB;AAuCbmC,QAAAA,oBAAoB9D,SACxB+D,gBAAgB,CAAC9C,aAAD,GAAiB,CAAC,CAAC+C,aAAa,kBAAmB;AAAA,IAAEA;AAAAA,IAAtD,CADiB;AAI5B,QAAA;AAAA,IAAEC;AAAAA,IAAQC;AAAAA,MAAYC,aAAajD,gBAAgBC,oBAAoBC,eAArC;AAElCgD,QAAAA,YAAYC,aAAa1C,YAAY,CACzCT,gBACAC,oBACAC,iBACAE,iBACAC,qBACAF,kBACAG,mBAPyC,CAAb;AAW5B,SAAA8C,oBAAC,eAAe,UAAhB;AAAA,IAAyB,OAAO;AAAA,MAAEF;AAAAA,IAAlC;AAAA,IAAA,8BACG,sBAAD;AAAA,MACE,KAAKxC;AAAAA,MACL;AAAA,MACA,WAAW2C,GACTtE,OACAQ,QACAG,cACAZ,SAAS;AAAA,QAAEwE,SAAS;AAAA,MAAA,CAAZ,GACRxE,SAAS+D,gBAAgB,CAAC5D,MAAD,GAAU,CAAC,CAACsE,YAAY,YAAa;AAAA,QAAEA;AAAAA,MAAxC,EAAA,CAAhB,GACRR,QACAG,aAAaF,OAPF;AAAA,MASb;AAAA,MAEA,8BAAA,OAAA;AAAA,QACE,KAAKzC;AAAAA,QACL,WAAW8C,GACTnE,SACAS,WACAH,QACAV,SAAS;AAAA,UAAEwE,SAAS;AAAA,UAAQE,UAAU;AAAA,UAAQzE,OAAO;AAAA,QAAA,CAA7C,GACRD,SACE+D,gBAAgB,CAAC9C,aAAD,GAAiB,CAAC,CAAC0D,eAAe,kBAAmB;AAAA,UACnEA;AAAAA,QAD+B,EAAlB,CADT,CALG;AAAA,QAYZhE,UAAAA,YAAYA,SAASiE,SAASC,SAAS,IACtClE,SAASiE,SAASE,IAAI,CAACC,OAAOC,8BAC3B,UAAD;AAAA,UAEE,WAAWlB;AAAAA,UACX,MAAMnD,SAASsE;AAAAA,UACf;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UAXF,8BAaG,SAAD;AAAA,YAAS,SAASF;AAAAA,UAAAA,CAAlB;AAAA,WAZKA,MAAMG,GADb,CADF,wBAkBC,aAAD;AAAA,UAAa,MAAMlE;AAAAA,QAAAA,CAAnB;AAAA,MAAA,CAjCJ;AAAA,IAAA,CAdF;AAAA,EAAA,CAFJ;AAuDD,CA3IqB;;"}
1
+ {"version":3,"file":"Box.es.js","sources":["../src/components/builtin/Box/components/Placeholder/index.tsx","../src/components/builtin/Box/Box.tsx"],"sourcesContent":["import { forwardRef, Ref } from 'react'\nimport { useStyle } from '../../../../../runtimes/react/use-style'\n\ntype Props = { hide?: boolean }\n\nexport default forwardRef(function Placeholder(\n { hide = false, ...restOfProps }: Props,\n ref: Ref<HTMLDivElement>,\n) {\n return (\n <div\n {...restOfProps}\n ref={ref}\n style={{ visibility: hide ? 'hidden' : 'initial' }}\n className={useStyle({\n width: '100%',\n background: 'rgba(161, 168, 194, 0.18)',\n height: 80,\n padding: 8,\n })}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"100%\"\n height=\"100%\"\n style={{ overflow: 'visible' }}\n >\n <rect\n x={0}\n y={0}\n width=\"100%\"\n height=\"100%\"\n strokeWidth={2}\n strokeDasharray=\"4 2\"\n fill=\"none\"\n stroke=\"rgba(161, 168, 194, 0.40)\"\n rx=\"4\"\n ry=\"4\"\n />\n </svg>\n </div>\n )\n})\n","import { forwardRef, Ref, useEffect, useImperativeHandle, useMemo, useRef, useState } from 'react'\nimport { cx } from '@emotion/css'\n\nimport { Element } from '../../../runtimes/react'\nimport Placeholder from './components/Placeholder'\nimport { useIsEntered } from './animations'\nimport {\n ElementIDValue,\n ResponsiveIconRadioGroupValue,\n GridValue,\n GapYValue,\n GapXValue,\n CheckboxValue,\n ResponsiveSelectValue,\n ResponsiveNumberValue,\n BackgroundsValue,\n} from '../../../prop-controllers/descriptors'\nimport { BoxModelHandle, parse, createBox } from '../../../box-model'\nimport BackgroundsContainer from '../../shared/BackgroundsContainer'\nimport { BoxAnimateIn } from './constants'\nimport { responsiveStyle } from '../../utils/responsive-style'\nimport { GridItem } from '../../shared/grid-item'\nimport { useStyle } from '../../../runtimes/react/use-style'\nimport { v4 } from 'uuid'\n\ntype Props = {\n id?: ElementIDValue\n backgrounds?: BackgroundsValue\n width?: string\n height?: ResponsiveIconRadioGroupValue<'auto' | 'stretch'>\n verticalAlign?: ResponsiveIconRadioGroupValue<\n 'flex-start' | 'center' | 'flex-end' | 'space-between'\n >\n margin?: string\n padding?: string\n border?: string\n borderRadius?: string\n boxShadow?: string\n rowGap?: GapYValue\n columnGap?: GapXValue\n boxAnimateType?: ResponsiveSelectValue<BoxAnimateIn>\n boxAnimateDuration?: ResponsiveNumberValue\n boxAnimateDelay?: ResponsiveNumberValue\n itemAnimateType?: ResponsiveSelectValue<BoxAnimateIn>\n itemAnimateDuration?: ResponsiveNumberValue\n itemAnimateDelay?: ResponsiveNumberValue\n itemStaggerDuration?: ResponsiveNumberValue\n hidePlaceholder?: CheckboxValue\n children?: GridValue\n}\n\nconst Box = forwardRef(function Box(\n {\n id,\n backgrounds,\n width,\n height,\n margin,\n padding,\n border,\n children,\n borderRadius,\n boxShadow,\n rowGap,\n columnGap,\n hidePlaceholder,\n verticalAlign,\n boxAnimateType,\n boxAnimateDuration,\n boxAnimateDelay,\n itemAnimateDelay,\n itemAnimateType,\n itemAnimateDuration,\n itemStaggerDuration,\n }: Props,\n ref: Ref<BoxModelHandle>,\n) {\n const innerRef = useRef<HTMLDivElement | null>(null)\n const [boxElement, setBoxElement] = useState<HTMLElement | null>(null)\n\n useImperativeHandle(\n ref,\n () => ({\n getBoxModel() {\n const paddingBoxElement = innerRef.current\n const borderBoxElement = innerRef.current\n const marginBoxElement = boxElement\n const borderBox = innerRef.current?.getBoundingClientRect()\n const paddingBoxComputedStyle =\n paddingBoxElement?.ownerDocument.defaultView?.getComputedStyle(paddingBoxElement)\n const borderBoxComputedStyle =\n borderBoxElement?.ownerDocument.defaultView?.getComputedStyle(borderBoxElement)\n const marginBoxComputedStyle =\n marginBoxElement?.ownerDocument.defaultView?.getComputedStyle(marginBoxElement)\n const padding = paddingBoxComputedStyle && {\n top: parse(paddingBoxComputedStyle.paddingTop),\n right: parse(paddingBoxComputedStyle.paddingRight),\n bottom: parse(paddingBoxComputedStyle.paddingBottom),\n left: parse(paddingBoxComputedStyle.paddingLeft),\n }\n const border = borderBoxComputedStyle && {\n top: parse(borderBoxComputedStyle.borderTopWidth),\n right: parse(borderBoxComputedStyle.borderRightWidth),\n bottom: parse(borderBoxComputedStyle.borderBottomWidth),\n left: parse(borderBoxComputedStyle.borderLeftWidth),\n }\n const margin = marginBoxComputedStyle && {\n top: parse(marginBoxComputedStyle.marginTop),\n right: parse(marginBoxComputedStyle.marginRight),\n bottom: parse(marginBoxComputedStyle.marginBottom),\n left: parse(marginBoxComputedStyle.marginLeft),\n }\n\n return borderBox ? createBox({ borderBox, padding, border, margin }) : null\n },\n }),\n [boxElement],\n )\n\n const gridItemClassName = useStyle(\n responsiveStyle([verticalAlign], ([alignItems = 'flex-start']) => ({ alignItems })),\n )\n\n const key = useMemo(\n () => v4(),\n [\n boxAnimateType,\n boxAnimateDuration,\n boxAnimateDelay,\n itemAnimateType,\n itemAnimateDuration,\n itemAnimateDelay,\n itemStaggerDuration,\n ],\n )\n\n const { isEntered, resetEntered } = useIsEntered(boxElement)\n\n useEffect(() => {\n resetEntered()\n }, [\n boxAnimateType,\n boxAnimateDuration,\n boxAnimateDelay,\n itemAnimateType,\n itemAnimateDuration,\n itemAnimateDelay,\n itemStaggerDuration,\n ])\n\n return (\n <BackgroundsContainer\n ref={setBoxElement}\n id={id}\n key={key}\n className={cx(\n width,\n margin,\n borderRadius,\n useStyle({ display: 'flex' }),\n useStyle(responsiveStyle([height], ([alignSelf = 'auto']) => ({ alignSelf }))),\n )}\n boxAnimateType={boxAnimateType}\n boxAnimateDuration={boxAnimateDuration}\n boxAnimateDelay={boxAnimateDelay}\n isEntered={isEntered}\n backgrounds={backgrounds}\n >\n <div\n ref={innerRef}\n className={cx(\n padding,\n boxShadow,\n border,\n useStyle({ display: 'flex', flexWrap: 'wrap', width: '100%' }),\n useStyle(\n responsiveStyle([verticalAlign], ([alignContent = 'flex-start']) => ({\n alignContent,\n })),\n ),\n )}\n >\n {children && children.elements.length > 0 ? (\n children.elements.map((child, index) => (\n <GridItem\n key={child.key}\n className={gridItemClassName}\n grid={children.columns}\n index={index}\n itemAnimateType={itemAnimateType}\n itemAnimateDuration={itemAnimateDuration}\n itemAnimateDelay={itemAnimateDelay}\n itemStaggerDuration={itemStaggerDuration}\n isEntered={isEntered}\n columnGap={columnGap}\n rowGap={rowGap}\n >\n <Element element={child} />\n </GridItem>\n ))\n ) : (\n <Placeholder hide={hidePlaceholder} />\n )}\n </div>\n </BackgroundsContainer>\n )\n})\n\nexport default Box\n"],"names":["forwardRef","ref","hide","restOfProps","visibility","useStyle","width","background","height","padding","overflow","Box","id","backgrounds","margin","border","children","borderRadius","boxShadow","rowGap","columnGap","hidePlaceholder","verticalAlign","boxAnimateType","boxAnimateDuration","boxAnimateDelay","itemAnimateDelay","itemAnimateType","itemAnimateDuration","itemStaggerDuration","innerRef","useRef","boxElement","setBoxElement","useState","useImperativeHandle","getBoxModel","paddingBoxElement","current","borderBoxElement","marginBoxElement","borderBox","getBoundingClientRect","paddingBoxComputedStyle","ownerDocument","defaultView","getComputedStyle","borderBoxComputedStyle","marginBoxComputedStyle","top","parse","paddingTop","right","paddingRight","bottom","paddingBottom","left","paddingLeft","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","marginTop","marginRight","marginBottom","marginLeft","createBox","gridItemClassName","responsiveStyle","alignItems","key","useMemo","v4","isEntered","resetEntered","useIsEntered","useEffect","cx","display","alignSelf","flexWrap","alignContent","elements","length","map","child","index","columns"],"mappings":"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"}
@@ -45,12 +45,11 @@ require("./actions.cjs.js");
45
45
  require("./slot.cjs.js");
46
46
  require("./control.cjs.js");
47
47
  require("next/dynamic");
48
- require("@apollo/client");
49
- require("@apollo/client/link/batch-http");
50
48
  require("slate");
51
- require("./graphql.cjs.js");
49
+ require("./types.cjs.js");
52
50
  require("./text-input.cjs.js");
53
51
  require("./combobox.cjs.js");
52
+ require("use-sync-external-store/shim");
54
53
  require("scroll-into-view-if-needed");
55
54
  require("./box-models.cjs.js");
56
55
  require("css-box-model");
@@ -1 +1 @@
1
- {"version":3,"file":"Button.cjs.js","sources":["../src/components/builtin/Button/Button.tsx"],"sourcesContent":["import {\n ComponentPropsWithoutRef,\n ElementRef,\n ElementType,\n ForwardedRef,\n forwardRef,\n ReactNode,\n} from 'react'\nimport ColorHelper from 'color'\n\nimport {\n ElementIDValue,\n ResponsiveSelectValue,\n ResponsiveIconRadioGroupValue,\n TextStyleValue,\n LinkValue,\n WidthValue,\n} from '../../../prop-controllers/descriptors'\nimport { colorToString } from '../../utils/colorToString'\nimport { Link } from '../../shared/Link'\nimport { ResponsiveColor } from '../../../runtimes/react/controls'\nimport { ButtonVariant } from './contants'\nimport { useStyle } from '../../../runtimes/react/use-style'\nimport { responsiveStyle, responsiveTextStyle, responsiveWidth } from '../../utils/responsive-style'\nimport { cx } from '@emotion/css'\n\ntype BaseProps<T extends ElementType> = {\n as?: T\n id?: ElementIDValue\n children?: ReactNode\n link?: LinkValue\n variant?: ResponsiveSelectValue<ButtonVariant>\n shape?: ResponsiveIconRadioGroupValue<'pill' | 'rounded' | 'square'>\n size?: ResponsiveIconRadioGroupValue<'small' | 'medium' | 'large'>\n color?: ResponsiveColor | null\n textColor?: ResponsiveColor | null\n textStyle?: TextStyleValue\n width?: WidthValue\n margin?: string\n}\n\ntype Props<T extends ElementType> = BaseProps<T> &\n Omit<ComponentPropsWithoutRef<typeof Link>, keyof BaseProps<T>>\n\nconst Button = forwardRef(function Button<T extends ElementType = 'button'>(\n {\n as,\n id,\n children,\n link,\n variant,\n shape,\n size,\n textColor,\n color,\n textStyle,\n width,\n margin,\n className,\n ...restOfProps\n }: Props<T>,\n ref: ForwardedRef<ElementRef<T>>,\n) {\n const Component = as ?? Link\n\n return (\n // @ts-ignore: `ref` prop doesn't match between `Link` and `T`.\n <Component\n {...restOfProps}\n ref={ref}\n id={id}\n className={cx(\n useStyle({\n display: 'table',\n border: 0,\n outline: 0,\n userSelect: 'none',\n cursor: 'pointer',\n fontFamily: 'inherit',\n textDecoration: 'none',\n textAlign: 'center',\n }),\n useStyle(responsiveWidth(width, 'auto')),\n margin,\n useStyle(\n responsiveStyle(\n [variant, shape, size, textColor, color] as const,\n ([\n variant = 'flat',\n shape = 'rounded',\n size = 'medium',\n textColor = { swatch: { hue: 0, saturation: 0, lightness: 100 }, alpha: 1 },\n color = { swatch: { hue: 0, saturation: 0, lightness: 0 }, alpha: 1 },\n ]) => {\n const fontSize = {\n value: { small: 12, medium: 14, large: 18 }[size],\n unit: 'px',\n }\n\n return {\n color: colorToString(textColor),\n borderRadius: `${{ square: 0, rounded: 4, pill: 500 }[shape]}px`,\n padding: `${{ small: '8px 12px', medium: '12px 16px', large: '16px 20px' }[size]}`,\n fontSize: `${fontSize.value}${fontSize.unit}`,\n ...{\n flat: {\n background: colorToString(color),\n border: 'none',\n transition: ['color', 'background', 'border', 'box-shadow']\n .map(property => `${property} 0.15s ease-in-out`)\n .join(', '),\n\n ':hover': {\n background: ColorHelper(colorToString(color)).darken(0.1).hex(),\n },\n\n ':active': {\n background: ColorHelper(colorToString(color)).darken(0.15).hex(),\n },\n },\n outline: {\n background: 'transparent',\n boxShadow: `inset 0 0 0 2px ${colorToString(color)}`,\n transition: ['color', 'background', 'box-shadow']\n .map(property => `${property} 0.15s ease-in-out`)\n .join(', '),\n\n ':hover': {\n boxShadow: `inset 0 0 0 2px ${ColorHelper(colorToString(color))\n .darken(0.1)\n .hex()}`,\n color: ColorHelper(colorToString(color)).darken(0.1).hex(),\n },\n\n ':active': {\n boxShadow: `inset 0 0 0 2px ${ColorHelper(colorToString(color))\n .darken(0.15)\n .hex()}`,\n color: ColorHelper(colorToString(color)).darken(0.15).hex(),\n },\n },\n shadow: {\n background: colorToString(color),\n boxShadow: '0 2px 4px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.2)',\n transition: ['transform', 'box-shadow']\n .map(property => `${property} 0.18s`)\n .join(', '),\n\n ':hover': {\n boxShadow:\n '0 10px 25px rgba(0, 0, 0, 0.15), 0 8px 10px -6px rgba(0, 0, 0, 0.3)',\n transform: 'translateY(-1px)',\n },\n\n ':active': {\n boxShadow:\n '0 4px 12px rgba(0, 0, 0, 0.15), 0 4px 6px -3px rgba(0, 0, 0, 0.3)',\n transform: 'translateY(0px)',\n },\n },\n clear: {\n background: 'transparent',\n border: 'none',\n\n ':hover': {\n color: ColorHelper(colorToString(textColor)).alpha(0.5).toString(),\n },\n\n ':active': {\n color: ColorHelper(colorToString(textColor)).alpha(0.6).toString(),\n },\n },\n blocky: {\n background: colorToString(color),\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: ColorHelper(colorToString(color)).darken(0.25).hex(),\n boxShadow: `0 4px ${ColorHelper(colorToString(color)).darken(0.25).hex()}`,\n transition: ['transform', 'box-shadow']\n .map(property => `${property} 0.1s`)\n .join(', '),\n\n ':hover': {\n transform: 'translateY(2px)',\n boxShadow: `0 2px ${ColorHelper(colorToString(color)).darken(0.25).hex()}`,\n },\n\n ':active': {\n transform: 'translateY(4px)',\n boxShadow: `0 0 ${ColorHelper(colorToString(color)).darken(0.25).hex()}`,\n },\n },\n bubbly: {\n background: `linear-gradient(\n 180deg,\n ${ColorHelper(colorToString(color)).lighten(0.05).hex()},\n ${ColorHelper(colorToString(color)).darken(0.3).saturate(0.05).hex()}\n )`,\n position: 'relative',\n zIndex: '0',\n\n ':before': {\n position: 'absolute',\n content: '\"\"',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n zIndex: '-1',\n borderRadius: 'inherit',\n background: `linear-gradient(\n 180deg,\n ${ColorHelper(colorToString(color)).lighten(0.2).hex()},\n ${ColorHelper(colorToString(color)).darken(0.2).saturate(0.05).hex()}\n )`,\n opacity: '0',\n transition: 'opacity 0.15s',\n },\n\n ':hover': {\n ':before': {\n opacity: '1',\n },\n },\n\n ':active': {\n ':before': {\n opacity: '0.25',\n },\n },\n } as const,\n skewed: {\n position: 'relative',\n zIndex: '0',\n\n ':before': {\n position: 'absolute',\n content: '\"\"',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n zIndex: '-1',\n background: colorToString(color),\n transform: 'skewX(-12deg)',\n borderRadius: 'inherit',\n transition: 'transform 0.2s cubic-bezier(0.25, 0, 0.25, 1.75)',\n },\n\n ':hover:before': {\n transform: 'skew(0deg)',\n },\n\n ':active:before': {\n transform: 'skew(-8deg)',\n },\n } as const,\n }[variant],\n }\n },\n ),\n ),\n useStyle(responsiveTextStyle(textStyle)),\n className,\n )}\n link={link}\n >\n {children == null ? 'Button Text' : children}\n </Component>\n )\n})\n\nexport default Button\n"],"names":["Button","forwardRef","ref","as","id","children","link","variant","shape","size","textColor","color","textStyle","width","margin","className","restOfProps","Component","Link","cx","useStyle","display","border","outline","userSelect","cursor","fontFamily","textDecoration","textAlign","responsiveWidth","responsiveStyle","swatch","hue","saturation","lightness","alpha","fontSize","value","small","medium","large","unit","colorToString","borderRadius","square","rounded","pill","padding","flat","background","transition","map","property","join","ColorHelper","darken","hex","boxShadow","shadow","transform","clear","toString","blocky","borderWidth","borderStyle","borderColor","bubbly","lighten","saturate","position","zIndex","content","top","right","bottom","left","opacity","skewed","responsiveTextStyle"],"mappings":"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"}
1
+ {"version":3,"file":"Button.cjs.js","sources":["../src/components/builtin/Button/Button.tsx"],"sourcesContent":["import {\n ComponentPropsWithoutRef,\n ElementRef,\n ElementType,\n ForwardedRef,\n forwardRef,\n ReactNode,\n} from 'react'\nimport ColorHelper from 'color'\n\nimport {\n ElementIDValue,\n ResponsiveSelectValue,\n ResponsiveIconRadioGroupValue,\n TextStyleValue,\n LinkValue,\n WidthValue,\n} from '../../../prop-controllers/descriptors'\nimport { colorToString } from '../../utils/colorToString'\nimport { Link } from '../../shared/Link'\nimport { ResponsiveColor } from '../../../runtimes/react/controls'\nimport { ButtonVariant } from './contants'\nimport { useStyle } from '../../../runtimes/react/use-style'\nimport { responsiveStyle, responsiveTextStyle, responsiveWidth } from '../../utils/responsive-style'\nimport { cx } from '@emotion/css'\n\ntype BaseProps<T extends ElementType> = {\n as?: T\n id?: ElementIDValue\n children?: ReactNode\n link?: LinkValue\n variant?: ResponsiveSelectValue<ButtonVariant>\n shape?: ResponsiveIconRadioGroupValue<'pill' | 'rounded' | 'square'>\n size?: ResponsiveIconRadioGroupValue<'small' | 'medium' | 'large'>\n color?: ResponsiveColor | null\n textColor?: ResponsiveColor | null\n textStyle?: TextStyleValue\n width?: WidthValue\n margin?: string\n}\n\ntype Props<T extends ElementType> = BaseProps<T> &\n Omit<ComponentPropsWithoutRef<typeof Link>, keyof BaseProps<T>>\n\nconst Button = forwardRef(function Button<T extends ElementType = 'button'>(\n {\n as,\n id,\n children,\n link,\n variant,\n shape,\n size,\n textColor,\n color,\n textStyle,\n width,\n margin,\n className,\n ...restOfProps\n }: Props<T>,\n ref: ForwardedRef<ElementRef<T>>,\n) {\n const Component = as ?? Link\n\n return (\n // @ts-ignore: `ref` prop doesn't match between `Link` and `T`.\n <Component\n {...restOfProps}\n ref={ref}\n id={id}\n className={cx(\n useStyle({\n display: 'table',\n border: 0,\n outline: 0,\n userSelect: 'none',\n cursor: 'pointer',\n fontFamily: 'inherit',\n textDecoration: 'none',\n textAlign: 'center',\n }),\n useStyle(responsiveWidth(width, 'auto')),\n margin,\n useStyle(\n responsiveStyle(\n [variant, shape, size, textColor, color] as const,\n ([\n variant = 'flat',\n shape = 'rounded',\n size = 'medium',\n textColor = { swatch: { hue: 0, saturation: 0, lightness: 100 }, alpha: 1 },\n color = { swatch: { hue: 0, saturation: 0, lightness: 0 }, alpha: 1 },\n ]) => {\n const fontSize = {\n value: { small: 12, medium: 14, large: 18 }[size],\n unit: 'px',\n }\n\n return {\n color: colorToString(textColor),\n borderRadius: `${{ square: 0, rounded: 4, pill: 500 }[shape]}px`,\n padding: `${{ small: '8px 12px', medium: '12px 16px', large: '16px 20px' }[size]}`,\n fontSize: `${fontSize.value}${fontSize.unit}`,\n ...{\n flat: {\n background: colorToString(color),\n border: 'none',\n transition: ['color', 'background', 'border', 'box-shadow']\n .map(property => `${property} 0.15s ease-in-out`)\n .join(', '),\n\n ':hover': {\n background: ColorHelper(colorToString(color)).darken(0.1).hex(),\n },\n\n ':active': {\n background: ColorHelper(colorToString(color)).darken(0.15).hex(),\n },\n },\n outline: {\n background: 'transparent',\n boxShadow: `inset 0 0 0 2px ${colorToString(color)}`,\n transition: ['color', 'background', 'box-shadow']\n .map(property => `${property} 0.15s ease-in-out`)\n .join(', '),\n\n ':hover': {\n boxShadow: `inset 0 0 0 2px ${ColorHelper(colorToString(color))\n .darken(0.1)\n .hex()}`,\n color: ColorHelper(colorToString(color)).darken(0.1).hex(),\n },\n\n ':active': {\n boxShadow: `inset 0 0 0 2px ${ColorHelper(colorToString(color))\n .darken(0.15)\n .hex()}`,\n color: ColorHelper(colorToString(color)).darken(0.15).hex(),\n },\n },\n shadow: {\n background: colorToString(color),\n boxShadow: '0 2px 4px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.2)',\n transition: ['transform', 'box-shadow']\n .map(property => `${property} 0.18s`)\n .join(', '),\n\n ':hover': {\n boxShadow:\n '0 10px 25px rgba(0, 0, 0, 0.15), 0 8px 10px -6px rgba(0, 0, 0, 0.3)',\n transform: 'translateY(-1px)',\n },\n\n ':active': {\n boxShadow:\n '0 4px 12px rgba(0, 0, 0, 0.15), 0 4px 6px -3px rgba(0, 0, 0, 0.3)',\n transform: 'translateY(0px)',\n },\n },\n clear: {\n background: 'transparent',\n border: 'none',\n\n ':hover': {\n color: ColorHelper(colorToString(textColor)).alpha(0.5).toString(),\n },\n\n ':active': {\n color: ColorHelper(colorToString(textColor)).alpha(0.6).toString(),\n },\n },\n blocky: {\n background: colorToString(color),\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: ColorHelper(colorToString(color)).darken(0.25).hex(),\n boxShadow: `0 4px ${ColorHelper(colorToString(color)).darken(0.25).hex()}`,\n transition: ['transform', 'box-shadow']\n .map(property => `${property} 0.1s`)\n .join(', '),\n\n ':hover': {\n transform: 'translateY(2px)',\n boxShadow: `0 2px ${ColorHelper(colorToString(color)).darken(0.25).hex()}`,\n },\n\n ':active': {\n transform: 'translateY(4px)',\n boxShadow: `0 0 ${ColorHelper(colorToString(color)).darken(0.25).hex()}`,\n },\n },\n bubbly: {\n background: `linear-gradient(\n 180deg,\n ${ColorHelper(colorToString(color)).lighten(0.05).hex()},\n ${ColorHelper(colorToString(color)).darken(0.3).saturate(0.05).hex()}\n )`,\n position: 'relative',\n zIndex: '0',\n\n ':before': {\n position: 'absolute',\n content: '\"\"',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n zIndex: '-1',\n borderRadius: 'inherit',\n background: `linear-gradient(\n 180deg,\n ${ColorHelper(colorToString(color)).lighten(0.2).hex()},\n ${ColorHelper(colorToString(color)).darken(0.2).saturate(0.05).hex()}\n )`,\n opacity: '0',\n transition: 'opacity 0.15s',\n },\n\n ':hover': {\n ':before': {\n opacity: '1',\n },\n },\n\n ':active': {\n ':before': {\n opacity: '0.25',\n },\n },\n } as const,\n skewed: {\n position: 'relative',\n zIndex: '0',\n\n ':before': {\n position: 'absolute',\n content: '\"\"',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n zIndex: '-1',\n background: colorToString(color),\n transform: 'skewX(-12deg)',\n borderRadius: 'inherit',\n transition: 'transform 0.2s cubic-bezier(0.25, 0, 0.25, 1.75)',\n },\n\n ':hover:before': {\n transform: 'skew(0deg)',\n },\n\n ':active:before': {\n transform: 'skew(-8deg)',\n },\n } as const,\n }[variant],\n }\n },\n ),\n ),\n useStyle(responsiveTextStyle(textStyle)),\n className,\n )}\n link={link}\n >\n {children == null ? 'Button Text' : children}\n </Component>\n )\n})\n\nexport default Button\n"],"names":["Button","forwardRef","ref","as","id","children","link","variant","shape","size","textColor","color","textStyle","width","margin","className","restOfProps","Component","Link","cx","useStyle","display","border","outline","userSelect","cursor","fontFamily","textDecoration","textAlign","responsiveWidth","responsiveStyle","swatch","hue","saturation","lightness","alpha","fontSize","value","small","medium","large","unit","colorToString","borderRadius","square","rounded","pill","padding","flat","background","transition","map","property","join","ColorHelper","darken","hex","boxShadow","shadow","transform","clear","toString","blocky","borderWidth","borderStyle","borderColor","bubbly","lighten","saturate","position","zIndex","content","top","right","bottom","left","opacity","skewed","responsiveTextStyle"],"mappings":"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"}
package/dist/Button.es.js CHANGED
@@ -31,7 +31,7 @@ var __objRest = (source, exclude) => {
31
31
  };
32
32
  import { forwardRef } from "react";
33
33
  import ColorHelper from "color";
34
- import { q as useStyle, s as responsiveWidth, r as responsiveStyle, t as responsiveTextStyle, v as colorToString } from "./index.es.js";
34
+ import { n as useStyle, o as responsiveWidth, r as responsiveStyle, p as responsiveTextStyle, q as colorToString } from "./index.es.js";
35
35
  import { L as Link } from "./index.es2.js";
36
36
  import { cx } from "@emotion/css";
37
37
  import { jsx } from "react/jsx-runtime";
@@ -43,12 +43,11 @@ import "./actions.es.js";
43
43
  import "./slot.es.js";
44
44
  import "./control.es.js";
45
45
  import "next/dynamic";
46
- import "@apollo/client";
47
- import "@apollo/client/link/batch-http";
48
46
  import "slate";
49
- import "./graphql.es.js";
47
+ import "./types.es.js";
50
48
  import "./text-input.es.js";
51
49
  import "./combobox.es.js";
50
+ import "use-sync-external-store/shim";
52
51
  import "scroll-into-view-if-needed";
53
52
  import "./box-models.es.js";
54
53
  import "css-box-model";
@@ -1 +1 @@
1
- {"version":3,"file":"Button.es.js","sources":["../src/components/builtin/Button/Button.tsx"],"sourcesContent":["import {\n ComponentPropsWithoutRef,\n ElementRef,\n ElementType,\n ForwardedRef,\n forwardRef,\n ReactNode,\n} from 'react'\nimport ColorHelper from 'color'\n\nimport {\n ElementIDValue,\n ResponsiveSelectValue,\n ResponsiveIconRadioGroupValue,\n TextStyleValue,\n LinkValue,\n WidthValue,\n} from '../../../prop-controllers/descriptors'\nimport { colorToString } from '../../utils/colorToString'\nimport { Link } from '../../shared/Link'\nimport { ResponsiveColor } from '../../../runtimes/react/controls'\nimport { ButtonVariant } from './contants'\nimport { useStyle } from '../../../runtimes/react/use-style'\nimport { responsiveStyle, responsiveTextStyle, responsiveWidth } from '../../utils/responsive-style'\nimport { cx } from '@emotion/css'\n\ntype BaseProps<T extends ElementType> = {\n as?: T\n id?: ElementIDValue\n children?: ReactNode\n link?: LinkValue\n variant?: ResponsiveSelectValue<ButtonVariant>\n shape?: ResponsiveIconRadioGroupValue<'pill' | 'rounded' | 'square'>\n size?: ResponsiveIconRadioGroupValue<'small' | 'medium' | 'large'>\n color?: ResponsiveColor | null\n textColor?: ResponsiveColor | null\n textStyle?: TextStyleValue\n width?: WidthValue\n margin?: string\n}\n\ntype Props<T extends ElementType> = BaseProps<T> &\n Omit<ComponentPropsWithoutRef<typeof Link>, keyof BaseProps<T>>\n\nconst Button = forwardRef(function Button<T extends ElementType = 'button'>(\n {\n as,\n id,\n children,\n link,\n variant,\n shape,\n size,\n textColor,\n color,\n textStyle,\n width,\n margin,\n className,\n ...restOfProps\n }: Props<T>,\n ref: ForwardedRef<ElementRef<T>>,\n) {\n const Component = as ?? Link\n\n return (\n // @ts-ignore: `ref` prop doesn't match between `Link` and `T`.\n <Component\n {...restOfProps}\n ref={ref}\n id={id}\n className={cx(\n useStyle({\n display: 'table',\n border: 0,\n outline: 0,\n userSelect: 'none',\n cursor: 'pointer',\n fontFamily: 'inherit',\n textDecoration: 'none',\n textAlign: 'center',\n }),\n useStyle(responsiveWidth(width, 'auto')),\n margin,\n useStyle(\n responsiveStyle(\n [variant, shape, size, textColor, color] as const,\n ([\n variant = 'flat',\n shape = 'rounded',\n size = 'medium',\n textColor = { swatch: { hue: 0, saturation: 0, lightness: 100 }, alpha: 1 },\n color = { swatch: { hue: 0, saturation: 0, lightness: 0 }, alpha: 1 },\n ]) => {\n const fontSize = {\n value: { small: 12, medium: 14, large: 18 }[size],\n unit: 'px',\n }\n\n return {\n color: colorToString(textColor),\n borderRadius: `${{ square: 0, rounded: 4, pill: 500 }[shape]}px`,\n padding: `${{ small: '8px 12px', medium: '12px 16px', large: '16px 20px' }[size]}`,\n fontSize: `${fontSize.value}${fontSize.unit}`,\n ...{\n flat: {\n background: colorToString(color),\n border: 'none',\n transition: ['color', 'background', 'border', 'box-shadow']\n .map(property => `${property} 0.15s ease-in-out`)\n .join(', '),\n\n ':hover': {\n background: ColorHelper(colorToString(color)).darken(0.1).hex(),\n },\n\n ':active': {\n background: ColorHelper(colorToString(color)).darken(0.15).hex(),\n },\n },\n outline: {\n background: 'transparent',\n boxShadow: `inset 0 0 0 2px ${colorToString(color)}`,\n transition: ['color', 'background', 'box-shadow']\n .map(property => `${property} 0.15s ease-in-out`)\n .join(', '),\n\n ':hover': {\n boxShadow: `inset 0 0 0 2px ${ColorHelper(colorToString(color))\n .darken(0.1)\n .hex()}`,\n color: ColorHelper(colorToString(color)).darken(0.1).hex(),\n },\n\n ':active': {\n boxShadow: `inset 0 0 0 2px ${ColorHelper(colorToString(color))\n .darken(0.15)\n .hex()}`,\n color: ColorHelper(colorToString(color)).darken(0.15).hex(),\n },\n },\n shadow: {\n background: colorToString(color),\n boxShadow: '0 2px 4px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.2)',\n transition: ['transform', 'box-shadow']\n .map(property => `${property} 0.18s`)\n .join(', '),\n\n ':hover': {\n boxShadow:\n '0 10px 25px rgba(0, 0, 0, 0.15), 0 8px 10px -6px rgba(0, 0, 0, 0.3)',\n transform: 'translateY(-1px)',\n },\n\n ':active': {\n boxShadow:\n '0 4px 12px rgba(0, 0, 0, 0.15), 0 4px 6px -3px rgba(0, 0, 0, 0.3)',\n transform: 'translateY(0px)',\n },\n },\n clear: {\n background: 'transparent',\n border: 'none',\n\n ':hover': {\n color: ColorHelper(colorToString(textColor)).alpha(0.5).toString(),\n },\n\n ':active': {\n color: ColorHelper(colorToString(textColor)).alpha(0.6).toString(),\n },\n },\n blocky: {\n background: colorToString(color),\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: ColorHelper(colorToString(color)).darken(0.25).hex(),\n boxShadow: `0 4px ${ColorHelper(colorToString(color)).darken(0.25).hex()}`,\n transition: ['transform', 'box-shadow']\n .map(property => `${property} 0.1s`)\n .join(', '),\n\n ':hover': {\n transform: 'translateY(2px)',\n boxShadow: `0 2px ${ColorHelper(colorToString(color)).darken(0.25).hex()}`,\n },\n\n ':active': {\n transform: 'translateY(4px)',\n boxShadow: `0 0 ${ColorHelper(colorToString(color)).darken(0.25).hex()}`,\n },\n },\n bubbly: {\n background: `linear-gradient(\n 180deg,\n ${ColorHelper(colorToString(color)).lighten(0.05).hex()},\n ${ColorHelper(colorToString(color)).darken(0.3).saturate(0.05).hex()}\n )`,\n position: 'relative',\n zIndex: '0',\n\n ':before': {\n position: 'absolute',\n content: '\"\"',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n zIndex: '-1',\n borderRadius: 'inherit',\n background: `linear-gradient(\n 180deg,\n ${ColorHelper(colorToString(color)).lighten(0.2).hex()},\n ${ColorHelper(colorToString(color)).darken(0.2).saturate(0.05).hex()}\n )`,\n opacity: '0',\n transition: 'opacity 0.15s',\n },\n\n ':hover': {\n ':before': {\n opacity: '1',\n },\n },\n\n ':active': {\n ':before': {\n opacity: '0.25',\n },\n },\n } as const,\n skewed: {\n position: 'relative',\n zIndex: '0',\n\n ':before': {\n position: 'absolute',\n content: '\"\"',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n zIndex: '-1',\n background: colorToString(color),\n transform: 'skewX(-12deg)',\n borderRadius: 'inherit',\n transition: 'transform 0.2s cubic-bezier(0.25, 0, 0.25, 1.75)',\n },\n\n ':hover:before': {\n transform: 'skew(0deg)',\n },\n\n ':active:before': {\n transform: 'skew(-8deg)',\n },\n } as const,\n }[variant],\n }\n },\n ),\n ),\n useStyle(responsiveTextStyle(textStyle)),\n className,\n )}\n link={link}\n >\n {children == null ? 'Button Text' : children}\n </Component>\n )\n})\n\nexport default Button\n"],"names":["Button","forwardRef","ref","as","id","children","link","variant","shape","size","textColor","color","textStyle","width","margin","className","restOfProps","Component","Link","cx","useStyle","display","border","outline","userSelect","cursor","fontFamily","textDecoration","textAlign","responsiveWidth","responsiveStyle","swatch","hue","saturation","lightness","alpha","fontSize","value","small","medium","large","unit","colorToString","borderRadius","square","rounded","pill","padding","flat","background","transition","map","property","join","ColorHelper","darken","hex","boxShadow","shadow","transform","clear","toString","blocky","borderWidth","borderStyle","borderColor","bubbly","lighten","saturate","position","zIndex","content","top","right","bottom","left","opacity","skewed","responsiveTextStyle"],"mappings":"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"}
1
+ {"version":3,"file":"Button.es.js","sources":["../src/components/builtin/Button/Button.tsx"],"sourcesContent":["import {\n ComponentPropsWithoutRef,\n ElementRef,\n ElementType,\n ForwardedRef,\n forwardRef,\n ReactNode,\n} from 'react'\nimport ColorHelper from 'color'\n\nimport {\n ElementIDValue,\n ResponsiveSelectValue,\n ResponsiveIconRadioGroupValue,\n TextStyleValue,\n LinkValue,\n WidthValue,\n} from '../../../prop-controllers/descriptors'\nimport { colorToString } from '../../utils/colorToString'\nimport { Link } from '../../shared/Link'\nimport { ResponsiveColor } from '../../../runtimes/react/controls'\nimport { ButtonVariant } from './contants'\nimport { useStyle } from '../../../runtimes/react/use-style'\nimport { responsiveStyle, responsiveTextStyle, responsiveWidth } from '../../utils/responsive-style'\nimport { cx } from '@emotion/css'\n\ntype BaseProps<T extends ElementType> = {\n as?: T\n id?: ElementIDValue\n children?: ReactNode\n link?: LinkValue\n variant?: ResponsiveSelectValue<ButtonVariant>\n shape?: ResponsiveIconRadioGroupValue<'pill' | 'rounded' | 'square'>\n size?: ResponsiveIconRadioGroupValue<'small' | 'medium' | 'large'>\n color?: ResponsiveColor | null\n textColor?: ResponsiveColor | null\n textStyle?: TextStyleValue\n width?: WidthValue\n margin?: string\n}\n\ntype Props<T extends ElementType> = BaseProps<T> &\n Omit<ComponentPropsWithoutRef<typeof Link>, keyof BaseProps<T>>\n\nconst Button = forwardRef(function Button<T extends ElementType = 'button'>(\n {\n as,\n id,\n children,\n link,\n variant,\n shape,\n size,\n textColor,\n color,\n textStyle,\n width,\n margin,\n className,\n ...restOfProps\n }: Props<T>,\n ref: ForwardedRef<ElementRef<T>>,\n) {\n const Component = as ?? Link\n\n return (\n // @ts-ignore: `ref` prop doesn't match between `Link` and `T`.\n <Component\n {...restOfProps}\n ref={ref}\n id={id}\n className={cx(\n useStyle({\n display: 'table',\n border: 0,\n outline: 0,\n userSelect: 'none',\n cursor: 'pointer',\n fontFamily: 'inherit',\n textDecoration: 'none',\n textAlign: 'center',\n }),\n useStyle(responsiveWidth(width, 'auto')),\n margin,\n useStyle(\n responsiveStyle(\n [variant, shape, size, textColor, color] as const,\n ([\n variant = 'flat',\n shape = 'rounded',\n size = 'medium',\n textColor = { swatch: { hue: 0, saturation: 0, lightness: 100 }, alpha: 1 },\n color = { swatch: { hue: 0, saturation: 0, lightness: 0 }, alpha: 1 },\n ]) => {\n const fontSize = {\n value: { small: 12, medium: 14, large: 18 }[size],\n unit: 'px',\n }\n\n return {\n color: colorToString(textColor),\n borderRadius: `${{ square: 0, rounded: 4, pill: 500 }[shape]}px`,\n padding: `${{ small: '8px 12px', medium: '12px 16px', large: '16px 20px' }[size]}`,\n fontSize: `${fontSize.value}${fontSize.unit}`,\n ...{\n flat: {\n background: colorToString(color),\n border: 'none',\n transition: ['color', 'background', 'border', 'box-shadow']\n .map(property => `${property} 0.15s ease-in-out`)\n .join(', '),\n\n ':hover': {\n background: ColorHelper(colorToString(color)).darken(0.1).hex(),\n },\n\n ':active': {\n background: ColorHelper(colorToString(color)).darken(0.15).hex(),\n },\n },\n outline: {\n background: 'transparent',\n boxShadow: `inset 0 0 0 2px ${colorToString(color)}`,\n transition: ['color', 'background', 'box-shadow']\n .map(property => `${property} 0.15s ease-in-out`)\n .join(', '),\n\n ':hover': {\n boxShadow: `inset 0 0 0 2px ${ColorHelper(colorToString(color))\n .darken(0.1)\n .hex()}`,\n color: ColorHelper(colorToString(color)).darken(0.1).hex(),\n },\n\n ':active': {\n boxShadow: `inset 0 0 0 2px ${ColorHelper(colorToString(color))\n .darken(0.15)\n .hex()}`,\n color: ColorHelper(colorToString(color)).darken(0.15).hex(),\n },\n },\n shadow: {\n background: colorToString(color),\n boxShadow: '0 2px 4px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.2)',\n transition: ['transform', 'box-shadow']\n .map(property => `${property} 0.18s`)\n .join(', '),\n\n ':hover': {\n boxShadow:\n '0 10px 25px rgba(0, 0, 0, 0.15), 0 8px 10px -6px rgba(0, 0, 0, 0.3)',\n transform: 'translateY(-1px)',\n },\n\n ':active': {\n boxShadow:\n '0 4px 12px rgba(0, 0, 0, 0.15), 0 4px 6px -3px rgba(0, 0, 0, 0.3)',\n transform: 'translateY(0px)',\n },\n },\n clear: {\n background: 'transparent',\n border: 'none',\n\n ':hover': {\n color: ColorHelper(colorToString(textColor)).alpha(0.5).toString(),\n },\n\n ':active': {\n color: ColorHelper(colorToString(textColor)).alpha(0.6).toString(),\n },\n },\n blocky: {\n background: colorToString(color),\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: ColorHelper(colorToString(color)).darken(0.25).hex(),\n boxShadow: `0 4px ${ColorHelper(colorToString(color)).darken(0.25).hex()}`,\n transition: ['transform', 'box-shadow']\n .map(property => `${property} 0.1s`)\n .join(', '),\n\n ':hover': {\n transform: 'translateY(2px)',\n boxShadow: `0 2px ${ColorHelper(colorToString(color)).darken(0.25).hex()}`,\n },\n\n ':active': {\n transform: 'translateY(4px)',\n boxShadow: `0 0 ${ColorHelper(colorToString(color)).darken(0.25).hex()}`,\n },\n },\n bubbly: {\n background: `linear-gradient(\n 180deg,\n ${ColorHelper(colorToString(color)).lighten(0.05).hex()},\n ${ColorHelper(colorToString(color)).darken(0.3).saturate(0.05).hex()}\n )`,\n position: 'relative',\n zIndex: '0',\n\n ':before': {\n position: 'absolute',\n content: '\"\"',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n zIndex: '-1',\n borderRadius: 'inherit',\n background: `linear-gradient(\n 180deg,\n ${ColorHelper(colorToString(color)).lighten(0.2).hex()},\n ${ColorHelper(colorToString(color)).darken(0.2).saturate(0.05).hex()}\n )`,\n opacity: '0',\n transition: 'opacity 0.15s',\n },\n\n ':hover': {\n ':before': {\n opacity: '1',\n },\n },\n\n ':active': {\n ':before': {\n opacity: '0.25',\n },\n },\n } as const,\n skewed: {\n position: 'relative',\n zIndex: '0',\n\n ':before': {\n position: 'absolute',\n content: '\"\"',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n zIndex: '-1',\n background: colorToString(color),\n transform: 'skewX(-12deg)',\n borderRadius: 'inherit',\n transition: 'transform 0.2s cubic-bezier(0.25, 0, 0.25, 1.75)',\n },\n\n ':hover:before': {\n transform: 'skew(0deg)',\n },\n\n ':active:before': {\n transform: 'skew(-8deg)',\n },\n } as const,\n }[variant],\n }\n },\n ),\n ),\n useStyle(responsiveTextStyle(textStyle)),\n className,\n )}\n link={link}\n >\n {children == null ? 'Button Text' : children}\n </Component>\n )\n})\n\nexport default Button\n"],"names":["Button","forwardRef","ref","as","id","children","link","variant","shape","size","textColor","color","textStyle","width","margin","className","restOfProps","Component","Link","cx","useStyle","display","border","outline","userSelect","cursor","fontFamily","textDecoration","textAlign","responsiveWidth","responsiveStyle","swatch","hue","saturation","lightness","alpha","fontSize","value","small","medium","large","unit","colorToString","borderRadius","square","rounded","pill","padding","flat","background","transition","map","property","join","ColorHelper","darken","hex","boxShadow","shadow","transform","clear","toString","blocky","borderWidth","borderStyle","borderColor","bubbly","lighten","saturate","position","zIndex","content","top","right","bottom","left","opacity","skewed","responsiveTextStyle"],"mappings":"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"}