@makeswift/runtime 0.16.0-canary.0 → 0.16.0-canary.1

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 (227) hide show
  1. package/dist/cjs/builder/serialization/control-serialization.js +38 -38
  2. package/dist/cjs/builder/serialization/control-serialization.js.map +1 -1
  3. package/dist/cjs/components/builtin/Box/Box.js.map +1 -1
  4. package/dist/cjs/components/builtin/Box/register.js +25 -24
  5. package/dist/cjs/components/builtin/Box/register.js.map +1 -1
  6. package/dist/cjs/components/builtin/Button/register.js +2 -2
  7. package/dist/cjs/components/builtin/Button/register.js.map +1 -1
  8. package/dist/cjs/components/builtin/Carousel/Carousel.js.map +1 -1
  9. package/dist/cjs/components/builtin/Carousel/register.js +26 -14
  10. package/dist/cjs/components/builtin/Carousel/register.js.map +1 -1
  11. package/dist/cjs/components/builtin/Countdown/Countdown.js.map +1 -1
  12. package/dist/cjs/components/builtin/Countdown/register.js +4 -3
  13. package/dist/cjs/components/builtin/Countdown/register.js.map +1 -1
  14. package/dist/cjs/components/builtin/Divider/Divider.js.map +1 -1
  15. package/dist/cjs/components/builtin/Divider/register.js +3 -2
  16. package/dist/cjs/components/builtin/Divider/register.js.map +1 -1
  17. package/dist/cjs/components/builtin/Form/Form.js.map +1 -1
  18. package/dist/cjs/components/builtin/Form/context/FormContext.js.map +1 -1
  19. package/dist/cjs/components/builtin/Form/register.js +4 -4
  20. package/dist/cjs/components/builtin/Form/register.js.map +1 -1
  21. package/dist/cjs/components/builtin/Image/register.js +4 -4
  22. package/dist/cjs/components/builtin/Image/register.js.map +1 -1
  23. package/dist/cjs/components/builtin/Navigation/Navigation.js.map +1 -1
  24. package/dist/cjs/components/builtin/Navigation/components/DropDownButton/index.js.map +1 -1
  25. package/dist/cjs/components/builtin/Navigation/components/LinksPlaceholder/index.js.map +1 -1
  26. package/dist/cjs/components/builtin/Navigation/components/MobileMenu/components/MobileDropDownButton/index.js.map +1 -1
  27. package/dist/cjs/components/builtin/Navigation/components/MobileMenu/index.js.map +1 -1
  28. package/dist/cjs/components/builtin/Navigation/register.js +30 -15
  29. package/dist/cjs/components/builtin/Navigation/register.js.map +1 -1
  30. package/dist/cjs/components/builtin/SocialLinks/SocialLinks.js.map +1 -1
  31. package/dist/cjs/components/builtin/SocialLinks/components/SocialLinksPlaceholder/index.js.map +1 -1
  32. package/dist/cjs/components/builtin/SocialLinks/register.js +3 -2
  33. package/dist/cjs/components/builtin/SocialLinks/register.js.map +1 -1
  34. package/dist/cjs/components/builtin/Video/register.js +2 -1
  35. package/dist/cjs/components/builtin/Video/register.js.map +1 -1
  36. package/dist/cjs/components/hooks/index.js +4 -2
  37. package/dist/cjs/components/hooks/index.js.map +1 -1
  38. package/dist/cjs/components/hooks/useBorder.js +3 -3
  39. package/dist/cjs/components/hooks/useBorder.js.map +1 -1
  40. package/dist/cjs/components/hooks/useBoxShadow.js +6 -5
  41. package/dist/cjs/components/hooks/useBoxShadow.js.map +1 -1
  42. package/dist/cjs/{prop-controllers/copy/shadows.js → components/hooks/useCheckboxPropControllerData.js} +11 -25
  43. package/dist/cjs/components/hooks/useCheckboxPropControllerData.js.map +1 -0
  44. package/dist/cjs/components/hooks/{usePropControllerLinkData.js → useLinkPropControllerData.js} +7 -7
  45. package/dist/cjs/components/hooks/{usePropControllerLinkData.js.map → useLinkPropControllerData.js.map} +1 -1
  46. package/dist/cjs/{prop-controllers/copy/responsive-color.js → components/hooks/useNumberPropControllerData.js} +11 -16
  47. package/dist/cjs/components/hooks/useNumberPropControllerData.js.map +1 -0
  48. package/dist/cjs/components/hooks/useResponsiveColor.js +2 -2
  49. package/dist/cjs/components/hooks/useResponsiveColor.js.map +1 -1
  50. package/dist/cjs/components/hooks/useResponsiveColorPropControllerData.js +34 -0
  51. package/dist/cjs/components/hooks/useResponsiveColorPropControllerData.js.map +1 -0
  52. package/dist/cjs/components/hooks/useResponsiveLengthPropControllerData.js +34 -0
  53. package/dist/cjs/components/hooks/useResponsiveLengthPropControllerData.js.map +1 -0
  54. package/dist/cjs/components/shared/GutterContainer/index.js.map +1 -1
  55. package/dist/cjs/components/shared/grid-item.js.map +1 -1
  56. package/dist/cjs/components/utils/responsive-style.js.map +1 -1
  57. package/dist/cjs/controls/control.js +3 -3
  58. package/dist/cjs/controls/control.js.map +1 -1
  59. package/dist/cjs/css/border.js.map +1 -1
  60. package/dist/cjs/next/api-handler/handlers/manifest.js +1 -1
  61. package/dist/cjs/prop-controllers/copy.js +5 -7
  62. package/dist/cjs/prop-controllers/copy.js.map +1 -1
  63. package/dist/cjs/prop-controllers/descriptors.js +0 -63
  64. package/dist/cjs/prop-controllers/descriptors.js.map +1 -1
  65. package/dist/cjs/prop-controllers/index.js.map +1 -1
  66. package/dist/cjs/prop-controllers/introspection.js +6 -28
  67. package/dist/cjs/prop-controllers/introspection.js.map +1 -1
  68. package/dist/cjs/runtimes/react/controls.js +53 -15
  69. package/dist/cjs/runtimes/react/controls.js.map +1 -1
  70. package/dist/esm/builder/serialization/control-serialization.js +8 -8
  71. package/dist/esm/builder/serialization/control-serialization.js.map +1 -1
  72. package/dist/esm/components/builtin/Box/Box.js.map +1 -1
  73. package/dist/esm/components/builtin/Box/register.js +5 -4
  74. package/dist/esm/components/builtin/Box/register.js.map +1 -1
  75. package/dist/esm/components/builtin/Button/register.js +3 -3
  76. package/dist/esm/components/builtin/Button/register.js.map +1 -1
  77. package/dist/esm/components/builtin/Carousel/Carousel.js.map +1 -1
  78. package/dist/esm/components/builtin/Carousel/register.js +31 -14
  79. package/dist/esm/components/builtin/Carousel/register.js.map +1 -1
  80. package/dist/esm/components/builtin/Countdown/Countdown.js.map +1 -1
  81. package/dist/esm/components/builtin/Countdown/register.js +4 -3
  82. package/dist/esm/components/builtin/Countdown/register.js.map +1 -1
  83. package/dist/esm/components/builtin/Divider/Divider.js.map +1 -1
  84. package/dist/esm/components/builtin/Divider/register.js +3 -2
  85. package/dist/esm/components/builtin/Divider/register.js.map +1 -1
  86. package/dist/esm/components/builtin/Form/Form.js.map +1 -1
  87. package/dist/esm/components/builtin/Form/context/FormContext.js.map +1 -1
  88. package/dist/esm/components/builtin/Form/register.js +5 -5
  89. package/dist/esm/components/builtin/Form/register.js.map +1 -1
  90. package/dist/esm/components/builtin/Image/register.js +5 -5
  91. package/dist/esm/components/builtin/Image/register.js.map +1 -1
  92. package/dist/esm/components/builtin/Navigation/Navigation.js.map +1 -1
  93. package/dist/esm/components/builtin/Navigation/components/DropDownButton/index.js.map +1 -1
  94. package/dist/esm/components/builtin/Navigation/components/LinksPlaceholder/index.js.map +1 -1
  95. package/dist/esm/components/builtin/Navigation/components/MobileMenu/components/MobileDropDownButton/index.js.map +1 -1
  96. package/dist/esm/components/builtin/Navigation/components/MobileMenu/index.js.map +1 -1
  97. package/dist/esm/components/builtin/Navigation/register.js +40 -16
  98. package/dist/esm/components/builtin/Navigation/register.js.map +1 -1
  99. package/dist/esm/components/builtin/SocialLinks/SocialLinks.js.map +1 -1
  100. package/dist/esm/components/builtin/SocialLinks/components/SocialLinksPlaceholder/index.js.map +1 -1
  101. package/dist/esm/components/builtin/SocialLinks/register.js +3 -2
  102. package/dist/esm/components/builtin/SocialLinks/register.js.map +1 -1
  103. package/dist/esm/components/builtin/Video/register.js +2 -1
  104. package/dist/esm/components/builtin/Video/register.js.map +1 -1
  105. package/dist/esm/components/hooks/index.js +2 -1
  106. package/dist/esm/components/hooks/index.js.map +1 -1
  107. package/dist/esm/components/hooks/useBorder.js +5 -3
  108. package/dist/esm/components/hooks/useBorder.js.map +1 -1
  109. package/dist/esm/components/hooks/useBoxShadow.js +9 -5
  110. package/dist/esm/components/hooks/useBoxShadow.js.map +1 -1
  111. package/dist/esm/components/hooks/useCheckboxPropControllerData.js +12 -0
  112. package/dist/esm/components/hooks/useCheckboxPropControllerData.js.map +1 -0
  113. package/dist/esm/components/hooks/{usePropControllerLinkData.js → useLinkPropControllerData.js} +3 -3
  114. package/dist/esm/components/hooks/{usePropControllerLinkData.js.map → useLinkPropControllerData.js.map} +1 -1
  115. package/dist/esm/components/hooks/useNumberPropControllerData.js +10 -0
  116. package/dist/esm/components/hooks/useNumberPropControllerData.js.map +1 -0
  117. package/dist/esm/components/hooks/useResponsiveColor.js +2 -2
  118. package/dist/esm/components/hooks/useResponsiveColor.js.map +1 -1
  119. package/dist/esm/components/hooks/useResponsiveColorPropControllerData.js +12 -0
  120. package/dist/esm/components/hooks/useResponsiveColorPropControllerData.js.map +1 -0
  121. package/dist/esm/components/hooks/useResponsiveLengthPropControllerData.js +12 -0
  122. package/dist/esm/components/hooks/useResponsiveLengthPropControllerData.js.map +1 -0
  123. package/dist/esm/components/shared/GutterContainer/index.js.map +1 -1
  124. package/dist/esm/components/shared/grid-item.js.map +1 -1
  125. package/dist/esm/components/utils/responsive-style.js.map +1 -1
  126. package/dist/esm/controls/control.js +3 -3
  127. package/dist/esm/controls/control.js.map +1 -1
  128. package/dist/esm/css/border.js.map +1 -1
  129. package/dist/esm/next/api-handler/handlers/manifest.js +1 -1
  130. package/dist/esm/prop-controllers/copy.js +10 -8
  131. package/dist/esm/prop-controllers/copy.js.map +1 -1
  132. package/dist/esm/prop-controllers/descriptors.js +0 -53
  133. package/dist/esm/prop-controllers/descriptors.js.map +1 -1
  134. package/dist/esm/prop-controllers/index.js.map +1 -1
  135. package/dist/esm/prop-controllers/introspection.js +10 -26
  136. package/dist/esm/prop-controllers/introspection.js.map +1 -1
  137. package/dist/esm/runtimes/react/controls.js +62 -19
  138. package/dist/esm/runtimes/react/controls.js.map +1 -1
  139. package/dist/types/builder/serialization/control-serialization.d.ts +27 -42
  140. package/dist/types/builder/serialization/control-serialization.d.ts.map +1 -1
  141. package/dist/types/components/builtin/Box/Box.d.ts.map +1 -1
  142. package/dist/types/components/builtin/Box/register.d.ts.map +1 -1
  143. package/dist/types/components/builtin/Carousel/Carousel.d.ts +5 -5
  144. package/dist/types/components/builtin/Carousel/Carousel.d.ts.map +1 -1
  145. package/dist/types/components/builtin/Carousel/register.d.ts.map +1 -1
  146. package/dist/types/components/builtin/Countdown/Countdown.d.ts.map +1 -1
  147. package/dist/types/components/builtin/Countdown/register.d.ts.map +1 -1
  148. package/dist/types/components/builtin/Divider/Divider.d.ts +3 -2
  149. package/dist/types/components/builtin/Divider/Divider.d.ts.map +1 -1
  150. package/dist/types/components/builtin/Divider/register.d.ts.map +1 -1
  151. package/dist/types/components/builtin/Form/Form.d.ts +3 -3
  152. package/dist/types/components/builtin/Form/Form.d.ts.map +1 -1
  153. package/dist/types/components/builtin/Form/context/FormContext.d.ts +2 -1
  154. package/dist/types/components/builtin/Form/context/FormContext.d.ts.map +1 -1
  155. package/dist/types/components/builtin/Navigation/Navigation.d.ts +4 -4
  156. package/dist/types/components/builtin/Navigation/Navigation.d.ts.map +1 -1
  157. package/dist/types/components/builtin/Navigation/components/DropDownButton/index.d.ts +5 -5
  158. package/dist/types/components/builtin/Navigation/components/DropDownButton/index.d.ts.map +1 -1
  159. package/dist/types/components/builtin/Navigation/components/LinksPlaceholder/index.d.ts +2 -2
  160. package/dist/types/components/builtin/Navigation/components/LinksPlaceholder/index.d.ts.map +1 -1
  161. package/dist/types/components/builtin/Navigation/components/MobileMenu/components/MobileDropDownButton/index.d.ts +5 -5
  162. package/dist/types/components/builtin/Navigation/components/MobileMenu/components/MobileDropDownButton/index.d.ts.map +1 -1
  163. package/dist/types/components/builtin/Navigation/components/MobileMenu/index.d.ts +2 -1
  164. package/dist/types/components/builtin/Navigation/components/MobileMenu/index.d.ts.map +1 -1
  165. package/dist/types/components/builtin/Navigation/register.d.ts.map +1 -1
  166. package/dist/types/components/builtin/SocialLinks/SocialLinks.d.ts.map +1 -1
  167. package/dist/types/components/builtin/SocialLinks/components/SocialLinksPlaceholder/index.d.ts +2 -2
  168. package/dist/types/components/builtin/SocialLinks/components/SocialLinksPlaceholder/index.d.ts.map +1 -1
  169. package/dist/types/components/builtin/SocialLinks/register.d.ts.map +1 -1
  170. package/dist/types/components/builtin/Video/register.d.ts.map +1 -1
  171. package/dist/types/components/hooks/index.d.ts +2 -1
  172. package/dist/types/components/hooks/index.d.ts.map +1 -1
  173. package/dist/types/components/hooks/useBorder.d.ts +2 -2
  174. package/dist/types/components/hooks/useBorder.d.ts.map +1 -1
  175. package/dist/types/components/hooks/useBoxShadow.d.ts +14 -14
  176. package/dist/types/components/hooks/useBoxShadow.d.ts.map +1 -1
  177. package/dist/types/components/hooks/useCheckboxPropControllerData.d.ts +3 -0
  178. package/dist/types/components/hooks/useCheckboxPropControllerData.d.ts.map +1 -0
  179. package/dist/types/components/hooks/{usePropControllerLinkData.d.ts → useLinkPropControllerData.d.ts} +2 -2
  180. package/dist/types/components/hooks/useLinkPropControllerData.d.ts.map +1 -0
  181. package/dist/types/components/hooks/useNumberPropControllerData.d.ts +3 -0
  182. package/dist/types/components/hooks/useNumberPropControllerData.d.ts.map +1 -0
  183. package/dist/types/components/hooks/useResponsiveColor.d.ts +2 -4
  184. package/dist/types/components/hooks/useResponsiveColor.d.ts.map +1 -1
  185. package/dist/types/components/hooks/useResponsiveColorPropControllerData.d.ts +4 -0
  186. package/dist/types/components/hooks/useResponsiveColorPropControllerData.d.ts.map +1 -0
  187. package/dist/types/components/hooks/useResponsiveLengthPropControllerData.d.ts +3 -0
  188. package/dist/types/components/hooks/useResponsiveLengthPropControllerData.d.ts.map +1 -0
  189. package/dist/types/components/shared/GutterContainer/index.d.ts +2 -2
  190. package/dist/types/components/shared/GutterContainer/index.d.ts.map +1 -1
  191. package/dist/types/components/shared/grid-item.d.ts +4 -3
  192. package/dist/types/components/shared/grid-item.d.ts.map +1 -1
  193. package/dist/types/components/utils/responsive-style.d.ts +8 -7
  194. package/dist/types/components/utils/responsive-style.d.ts.map +1 -1
  195. package/dist/types/css/border.d.ts +1 -1
  196. package/dist/types/css/border.d.ts.map +1 -1
  197. package/dist/types/prop-controllers/copy.d.ts.map +1 -1
  198. package/dist/types/prop-controllers/descriptors.d.ts +17 -200
  199. package/dist/types/prop-controllers/descriptors.d.ts.map +1 -1
  200. package/dist/types/prop-controllers/index.d.ts +2 -2
  201. package/dist/types/prop-controllers/index.d.ts.map +1 -1
  202. package/dist/types/prop-controllers/introspection.d.ts +1 -4
  203. package/dist/types/prop-controllers/introspection.d.ts.map +1 -1
  204. package/dist/types/runtimes/react/controls.d.ts +5 -7
  205. package/dist/types/runtimes/react/controls.d.ts.map +1 -1
  206. package/package.json +2 -2
  207. package/dist/cjs/prop-controllers/copy/border.js +0 -53
  208. package/dist/cjs/prop-controllers/copy/border.js.map +0 -1
  209. package/dist/cjs/prop-controllers/copy/responsive-color.js.map +0 -1
  210. package/dist/cjs/prop-controllers/copy/shadows.js.map +0 -1
  211. package/dist/esm/prop-controllers/copy/border.js +0 -29
  212. package/dist/esm/prop-controllers/copy/border.js.map +0 -1
  213. package/dist/esm/prop-controllers/copy/responsive-color.js +0 -15
  214. package/dist/esm/prop-controllers/copy/responsive-color.js.map +0 -1
  215. package/dist/esm/prop-controllers/copy/shadows.js +0 -24
  216. package/dist/esm/prop-controllers/copy/shadows.js.map +0 -1
  217. package/dist/types/components/hooks/usePropControllerLinkData.d.ts.map +0 -1
  218. package/dist/types/prop-controllers/copy/border.d.ts +0 -4
  219. package/dist/types/prop-controllers/copy/border.d.ts.map +0 -1
  220. package/dist/types/prop-controllers/copy/border.test.d.ts +0 -2
  221. package/dist/types/prop-controllers/copy/border.test.d.ts.map +0 -1
  222. package/dist/types/prop-controllers/copy/responsive-color.d.ts +0 -4
  223. package/dist/types/prop-controllers/copy/responsive-color.d.ts.map +0 -1
  224. package/dist/types/prop-controllers/copy/shadows.d.ts +0 -4
  225. package/dist/types/prop-controllers/copy/shadows.d.ts.map +0 -1
  226. package/dist/types/prop-controllers/copy/shadows.test.d.ts +0 -2
  227. package/dist/types/prop-controllers/copy/shadows.test.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/utils/responsive-style.ts"],"sourcesContent":["import { WidthProperty } from 'csstype'\nimport { CSSObject } from '@emotion/css'\n\nimport {\n ResponsiveValue,\n ResponsiveValueType as ExtractResponsiveValue,\n Length as LengthValue,\n WidthValue,\n PaddingValue,\n MarginValue,\n BorderRadiusValue,\n TextStyleValue,\n} from '../../prop-controllers/descriptors'\nimport {\n FallbackStrategy,\n getBreakpoint,\n getBreakpointMediaQuery,\n join as joinResponsiveValues,\n Breakpoints,\n} from '../../state/modules/breakpoints'\nimport { getIndexes } from './columns'\nimport { PaddingPropertyData, paddingPropertyDataToStyle } from '../../css/padding'\nimport { MarginPropertyData, marginPropertyDataToStyle } from '../../css/margin'\nimport { BorderRadiusPropertyData, borderRadiusPropertyDataToStyle } from '../../css/border-radius'\nimport { BorderPropertyData, borderPropertyDataToStyle } from '../../css/border'\nimport { BorderPropControllerData } from '../hooks/useBorder'\nimport { colorToString } from './colorToString'\nimport { BoxShadowData, BoxShadowPropControllerData } from '../hooks'\nimport { useBreakpoints } from '../../runtimes/react'\nimport { DropFirst } from './drop-first'\n\nexport function responsiveStyle<V, A extends ReadonlyArray<ResponsiveValue<V> | null | undefined>>(\n breakpoints: Breakpoints,\n responsiveValues: A,\n join: (values: { [K in keyof A]: ExtractResponsiveValue<A[K]> | undefined }) => CSSObject,\n strategy?: FallbackStrategy<V>,\n): CSSObject {\n return joinResponsiveValues(breakpoints, responsiveValues, join, strategy).reduce(\n (acc, { deviceId, value }) => {\n const breakpoint = getBreakpoint(breakpoints, deviceId)\n const mediaQuery = getBreakpointMediaQuery(breakpoint)\n\n return {\n ...acc,\n [mediaQuery]: {\n ...(acc[mediaQuery] as CSSObject),\n ...value,\n },\n }\n },\n {} as CSSObject,\n )\n}\n\nexport function useResponsiveStyle<\n V,\n A extends ReadonlyArray<ResponsiveValue<V> | null | undefined>,\n>(\n responsiveValues: A,\n join: (values: { [K in keyof A]: ExtractResponsiveValue<A[K]> | undefined }) => CSSObject,\n strategy?: FallbackStrategy<V>,\n): CSSObject {\n return responsiveStyle(useBreakpoints(), responsiveValues, join, strategy)\n}\n\nexport function responsiveWidth(\n breakpoints: Breakpoints,\n widthData: WidthValue | undefined,\n defaultValue: LengthValue | WidthProperty<string | number> = '100%',\n): CSSObject {\n return {\n maxWidth: '100%',\n ...responsiveStyle(breakpoints, [widthData], ([width = defaultValue]) => ({\n width: typeof width === 'object' ? `${width.value}${width.unit}` : width,\n })),\n }\n}\n\nexport function useResponsiveWidth(\n ...args: DropFirst<Parameters<typeof responsiveWidth>>\n): CSSObject {\n return responsiveWidth(useBreakpoints(), ...args)\n}\n\nexport function responsivePadding(\n breakpoints: Breakpoints,\n paddingData: PaddingValue | undefined,\n defaultValue: PaddingPropertyData = {} as PaddingPropertyData,\n): CSSObject {\n return responsiveStyle(breakpoints, [paddingData], ([padding = {} as PaddingPropertyData]) =>\n paddingPropertyDataToStyle(\n padding,\n Object.assign(\n { paddingTop: 0, paddingRight: 0, paddingBottom: 0, paddingLeft: 0 },\n defaultValue,\n ),\n ),\n )\n}\n\nexport function useResponsivePadding(\n ...args: DropFirst<Parameters<typeof responsivePadding>>\n): CSSObject {\n return responsivePadding(useBreakpoints(), ...args)\n}\n\nexport function responsiveMargin(\n breakpoints: Breakpoints,\n marginData: MarginValue | undefined,\n defaultValue: MarginPropertyData = {} as MarginPropertyData,\n): CSSObject {\n return responsiveStyle(breakpoints, [marginData], ([margin = {} as MarginPropertyData]) =>\n marginPropertyDataToStyle(\n margin,\n Object.assign(\n { marginTop: 0, marginRight: 'auto', marginBottom: 0, marginLeft: 'auto' },\n defaultValue,\n ),\n ),\n )\n}\n\nexport function useResponsiveMargin(\n ...args: DropFirst<Parameters<typeof responsiveMargin>>\n): CSSObject {\n return responsiveMargin(useBreakpoints(), ...args)\n}\n\nexport function responsiveBorderRadius(\n breakpoints: Breakpoints,\n borderRadiusData: BorderRadiusValue | undefined,\n defaultValue: BorderRadiusPropertyData = {} as BorderRadiusPropertyData,\n): CSSObject {\n return responsiveStyle(breakpoints, [borderRadiusData], ([borderRadius = {}]) =>\n borderRadiusPropertyDataToStyle(\n borderRadius,\n Object.assign(\n {\n borderTopLeftRadius: 0,\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0,\n borderBottomLeftRadius: 0,\n },\n defaultValue,\n ),\n ),\n )\n}\n\nexport function useResponsiveBorderRadius(\n ...args: DropFirst<Parameters<typeof responsiveBorderRadius>>\n): CSSObject {\n return responsiveBorderRadius(useBreakpoints(), ...args)\n}\n\nexport function useResponsiveBorder(\n borderData: BorderPropControllerData | undefined,\n defaultValue: BorderPropertyData = {},\n): CSSObject {\n return useResponsiveStyle([borderData], ([border = {}]) =>\n borderPropertyDataToStyle(\n border,\n Object.assign(\n {\n borderTop: '0px solid black',\n borderRight: '0px solid black',\n borderBottom: '0px solid black',\n borderLeft: '0px solid black',\n },\n defaultValue,\n ),\n ),\n )\n}\n\nconst floor =\n (d: number) =>\n (v: number): number =>\n Math.floor(10 ** d * v) / 10 ** d\n\nexport function responsiveGridItem(\n breakpoints: Breakpoints,\n props: {\n grid: ResponsiveValue<{ spans: number[][]; count: number }>\n index: number\n columnGap?: ResponsiveValue<LengthValue>\n rowGap?: ResponsiveValue<LengthValue>\n },\n): CSSObject {\n return {\n display: 'flex',\n ...responsiveStyle(\n breakpoints,\n [props.grid, props.columnGap, props.rowGap] as const,\n ([\n { spans, count } = { spans: [[12]], count: 12 },\n columnGap = { value: 0, unit: 'px' },\n rowGap = { value: 0, unit: 'px' },\n ]) => {\n const [rowIndex, columnIndex] = getIndexes(spans, props.index)\n const firstCol = columnIndex === 0\n const lastCol = columnIndex === spans[rowIndex].length - 1\n const span = spans[rowIndex][columnIndex]\n const fraction = floor(5)(span / count)\n const width = `${fraction} * (100% + ${columnGap.value}${columnGap.unit})`\n const excessWidth = `${Number(firstCol) + Number(lastCol)} * ${columnGap.value}${\n columnGap.unit\n } / 2`\n const iePrecisionError = '0.01px'\n const flexBasis = `calc(${width} - ${excessWidth} - ${iePrecisionError})`\n const firstRow = rowIndex === 0\n const lastRow = rowIndex === spans.length - 1\n\n return span === 0\n ? { display: 'none' }\n : {\n flexBasis,\n minWidth: flexBasis,\n // NOTE: IE11 width breaks without max width\n // https://github.com/philipwalton/flexbugs/issues/3\n maxWidth: flexBasis,\n paddingLeft: firstCol ? 0 : `${columnGap.value / 2}${columnGap.unit}`,\n paddingRight: lastCol ? 0 : `${columnGap.value / 2}${columnGap.unit}`,\n paddingTop: firstRow ? 0 : `${rowGap.value / 2}${rowGap.unit}`,\n paddingBottom: lastRow ? 0 : `${rowGap.value / 2}${rowGap.unit}`,\n }\n },\n ),\n }\n}\n\nexport function useResponsiveGridItem(\n ...args: DropFirst<Parameters<typeof responsiveGridItem>>\n): CSSObject {\n return responsiveGridItem(useBreakpoints(), ...args)\n}\n\nconst getBoxShadow = (shadows: BoxShadowData) =>\n shadows\n .map(\n ({ payload: { inset, offsetX, offsetY, blurRadius, spreadRadius, color } }) =>\n `${inset ? 'inset ' : ''}${offsetX.toFixed(1)}px ${offsetY.toFixed(\n 1,\n )}px ${blurRadius}px ${spreadRadius}px ${\n color != null ? colorToString(color) : 'rgba(0,0,0,0.2)'\n }`,\n )\n .filter(Boolean)\n .join()\n\nexport function responsiveShadow(\n breakpoints: Breakpoints,\n value: BoxShadowPropControllerData | undefined,\n): CSSObject {\n return responsiveStyle(breakpoints, [value], ([shadow = []]) => ({\n boxShadow: getBoxShadow(shadow),\n }))\n}\n\nexport function useResponsiveShadow(\n ...args: DropFirst<Parameters<typeof responsiveShadow>>\n): CSSObject {\n return responsiveShadow(useBreakpoints(), ...args)\n}\n\nexport function responsiveTextStyle(\n breakpoints: Breakpoints,\n value: TextStyleValue | undefined,\n): CSSObject {\n return responsiveStyle(\n breakpoints,\n [value],\n ([\n textStyle = {\n fontFamily: null,\n letterSpacing: null,\n fontSize: null,\n fontWeight: null,\n textTransform: [],\n fontStyle: [],\n },\n ]) => {\n const {\n fontSize,\n fontWeight,\n fontStyle = [],\n textTransform = [],\n letterSpacing,\n fontFamily,\n } = textStyle\n\n return {\n ...(fontFamily == null ? {} : { fontFamily: `\"${fontFamily}\"` }),\n ...(fontWeight == null ? {} : { fontWeight }),\n ...(letterSpacing == null ? {} : { letterSpacing }),\n ...(fontSize == null ? {} : { fontSize: `${fontSize.value}${fontSize.unit}` }),\n ...(textTransform.includes('uppercase') ? { textTransform: 'uppercase' } : {}),\n ...(fontStyle.includes('italic') ? { fontStyle: 'italic' } : {}),\n }\n },\n )\n}\n\nexport function useResponsiveTextStyle(\n ...args: DropFirst<Parameters<typeof responsiveTextStyle>>\n): CSSObject {\n return responsiveTextStyle(useBreakpoints(), ...args)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAaA,yBAMO;AACP,qBAA2B;AAC3B,qBAAgE;AAChE,oBAA8D;AAC9D,2BAA0E;AAC1E,oBAA8D;AAE9D,2BAA8B;AAE9B,mBAA+B;AAGxB,SAAS,gBACd,aACA,kBACA,MACA,UACW;AACX,aAAO,mBAAAA,MAAqB,aAAa,kBAAkB,MAAM,QAAQ,EAAE;AAAA,IACzE,CAAC,KAAK,EAAE,UAAU,MAAM,MAAM;AAC5B,YAAM,iBAAa,kCAAc,aAAa,QAAQ;AACtD,YAAM,iBAAa,4CAAwB,UAAU;AAErD,aAAO;AAAA,QACL,GAAG;AAAA,QACH,CAAC,UAAU,GAAG;AAAA,UACZ,GAAI,IAAI,UAAU;AAAA,UAClB,GAAG;AAAA,QACL;AAAA,MACF;AAAA,IACF;AAAA,IACA,CAAC;AAAA,EACH;AACF;AAEO,SAAS,mBAId,kBACA,MACA,UACW;AACX,SAAO,oBAAgB,6BAAe,GAAG,kBAAkB,MAAM,QAAQ;AAC3E;AAEO,SAAS,gBACd,aACA,WACA,eAA6D,QAClD;AACX,SAAO;AAAA,IACL,UAAU;AAAA,IACV,GAAG,gBAAgB,aAAa,CAAC,SAAS,GAAG,CAAC,CAAC,QAAQ,YAAY,OAAO;AAAA,MACxE,OAAO,OAAO,UAAU,WAAW,GAAG,MAAM,KAAK,GAAG,MAAM,IAAI,KAAK;AAAA,IACrE,EAAE;AAAA,EACJ;AACF;AAEO,SAAS,sBACX,MACQ;AACX,SAAO,oBAAgB,6BAAe,GAAG,GAAG,IAAI;AAClD;AAEO,SAAS,kBACd,aACA,aACA,eAAoC,CAAC,GAC1B;AACX,SAAO;AAAA,IAAgB;AAAA,IAAa,CAAC,WAAW;AAAA,IAAG,CAAC,CAAC,UAAU,CAAC,CAAwB,UACtF;AAAA,MACE;AAAA,MACA,OAAO;AAAA,QACL,EAAE,YAAY,GAAG,cAAc,GAAG,eAAe,GAAG,aAAa,EAAE;AAAA,QACnE;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAEO,SAAS,wBACX,MACQ;AACX,SAAO,sBAAkB,6BAAe,GAAG,GAAG,IAAI;AACpD;AAEO,SAAS,iBACd,aACA,YACA,eAAmC,CAAC,GACzB;AACX,SAAO;AAAA,IAAgB;AAAA,IAAa,CAAC,UAAU;AAAA,IAAG,CAAC,CAAC,SAAS,CAAC,CAAuB,UACnF;AAAA,MACE;AAAA,MACA,OAAO;AAAA,QACL,EAAE,WAAW,GAAG,aAAa,QAAQ,cAAc,GAAG,YAAY,OAAO;AAAA,QACzE;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAEO,SAAS,uBACX,MACQ;AACX,SAAO,qBAAiB,6BAAe,GAAG,GAAG,IAAI;AACnD;AAEO,SAAS,uBACd,aACA,kBACA,eAAyC,CAAC,GAC/B;AACX,SAAO;AAAA,IAAgB;AAAA,IAAa,CAAC,gBAAgB;AAAA,IAAG,CAAC,CAAC,eAAe,CAAC,CAAC,UACzE;AAAA,MACE;AAAA,MACA,OAAO;AAAA,QACL;AAAA,UACE,qBAAqB;AAAA,UACrB,sBAAsB;AAAA,UACtB,yBAAyB;AAAA,UACzB,wBAAwB;AAAA,QAC1B;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAEO,SAAS,6BACX,MACQ;AACX,SAAO,2BAAuB,6BAAe,GAAG,GAAG,IAAI;AACzD;AAEO,SAAS,oBACd,YACA,eAAmC,CAAC,GACzB;AACX,SAAO;AAAA,IAAmB,CAAC,UAAU;AAAA,IAAG,CAAC,CAAC,SAAS,CAAC,CAAC,UACnD;AAAA,MACE;AAAA,MACA,OAAO;AAAA,QACL;AAAA,UACE,WAAW;AAAA,UACX,aAAa;AAAA,UACb,cAAc;AAAA,UACd,YAAY;AAAA,QACd;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAEA,MAAM,QACJ,CAAC,MACD,CAAC,MACC,KAAK,MAAM,MAAM,IAAI,CAAC,IAAI,MAAM;AAE7B,SAAS,mBACd,aACA,OAMW;AACX,SAAO;AAAA,IACL,SAAS;AAAA,IACT,GAAG;AAAA,MACD;AAAA,MACA,CAAC,MAAM,MAAM,MAAM,WAAW,MAAM,MAAM;AAAA,MAC1C,CAAC;AAAA,QACC,EAAE,OAAO,MAAM,IAAI,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,OAAO,GAAG;AAAA,QAC9C,YAAY,EAAE,OAAO,GAAG,MAAM,KAAK;AAAA,QACnC,SAAS,EAAE,OAAO,GAAG,MAAM,KAAK;AAAA,MAClC,MAAM;AACJ,cAAM,CAAC,UAAU,WAAW,QAAI,2BAAW,OAAO,MAAM,KAAK;AAC7D,cAAM,WAAW,gBAAgB;AACjC,cAAM,UAAU,gBAAgB,MAAM,QAAQ,EAAE,SAAS;AACzD,cAAM,OAAO,MAAM,QAAQ,EAAE,WAAW;AACxC,cAAM,WAAW,MAAM,CAAC,EAAE,OAAO,KAAK;AACtC,cAAM,QAAQ,GAAG,QAAQ,cAAc,UAAU,KAAK,GAAG,UAAU,IAAI;AACvE,cAAM,cAAc,GAAG,OAAO,QAAQ,IAAI,OAAO,OAAO,CAAC,MAAM,UAAU,KAAK,GAC5E,UAAU,IACZ;AACA,cAAM,mBAAmB;AACzB,cAAM,YAAY,QAAQ,KAAK,MAAM,WAAW,MAAM,gBAAgB;AACtE,cAAM,WAAW,aAAa;AAC9B,cAAM,UAAU,aAAa,MAAM,SAAS;AAE5C,eAAO,SAAS,IACZ,EAAE,SAAS,OAAO,IAClB;AAAA,UACE;AAAA,UACA,UAAU;AAAA;AAAA;AAAA,UAGV,UAAU;AAAA,UACV,aAAa,WAAW,IAAI,GAAG,UAAU,QAAQ,CAAC,GAAG,UAAU,IAAI;AAAA,UACnE,cAAc,UAAU,IAAI,GAAG,UAAU,QAAQ,CAAC,GAAG,UAAU,IAAI;AAAA,UACnE,YAAY,WAAW,IAAI,GAAG,OAAO,QAAQ,CAAC,GAAG,OAAO,IAAI;AAAA,UAC5D,eAAe,UAAU,IAAI,GAAG,OAAO,QAAQ,CAAC,GAAG,OAAO,IAAI;AAAA,QAChE;AAAA,MACN;AAAA,IACF;AAAA,EACF;AACF;AAEO,SAAS,yBACX,MACQ;AACX,SAAO,uBAAmB,6BAAe,GAAG,GAAG,IAAI;AACrD;AAEA,MAAM,eAAe,CAAC,YACpB,QACG;AAAA,EACC,CAAC,EAAE,SAAS,EAAE,OAAO,SAAS,SAAS,YAAY,cAAc,MAAM,EAAE,MACvE,GAAG,QAAQ,WAAW,EAAE,GAAG,QAAQ,QAAQ,CAAC,CAAC,MAAM,QAAQ;AAAA,IACzD;AAAA,EACF,CAAC,MAAM,UAAU,MAAM,YAAY,MACjC,SAAS,WAAO,oCAAc,KAAK,IAAI,iBACzC;AACJ,EACC,OAAO,OAAO,EACd,KAAK;AAEH,SAAS,iBACd,aACA,OACW;AACX,SAAO,gBAAgB,aAAa,CAAC,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO;AAAA,IAC/D,WAAW,aAAa,MAAM;AAAA,EAChC,EAAE;AACJ;AAEO,SAAS,uBACX,MACQ;AACX,SAAO,qBAAiB,6BAAe,GAAG,GAAG,IAAI;AACnD;AAEO,SAAS,oBACd,aACA,OACW;AACX,SAAO;AAAA,IACL;AAAA,IACA,CAAC,KAAK;AAAA,IACN,CAAC;AAAA,MACC,YAAY;AAAA,QACV,YAAY;AAAA,QACZ,eAAe;AAAA,QACf,UAAU;AAAA,QACV,YAAY;AAAA,QACZ,eAAe,CAAC;AAAA,QAChB,WAAW,CAAC;AAAA,MACd;AAAA,IACF,MAAM;AACJ,YAAM;AAAA,QACJ;AAAA,QACA;AAAA,QACA,YAAY,CAAC;AAAA,QACb,gBAAgB,CAAC;AAAA,QACjB;AAAA,QACA;AAAA,MACF,IAAI;AAEJ,aAAO;AAAA,QACL,GAAI,cAAc,OAAO,CAAC,IAAI,EAAE,YAAY,IAAI,UAAU,IAAI;AAAA,QAC9D,GAAI,cAAc,OAAO,CAAC,IAAI,EAAE,WAAW;AAAA,QAC3C,GAAI,iBAAiB,OAAO,CAAC,IAAI,EAAE,cAAc;AAAA,QACjD,GAAI,YAAY,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,KAAK,GAAG,SAAS,IAAI,GAAG;AAAA,QAC5E,GAAI,cAAc,SAAS,WAAW,IAAI,EAAE,eAAe,YAAY,IAAI,CAAC;AAAA,QAC5E,GAAI,UAAU,SAAS,QAAQ,IAAI,EAAE,WAAW,SAAS,IAAI,CAAC;AAAA,MAChE;AAAA,IACF;AAAA,EACF;AACF;AAEO,SAAS,0BACX,MACQ;AACX,SAAO,wBAAoB,6BAAe,GAAG,GAAG,IAAI;AACtD;","names":["joinResponsiveValues"]}
1
+ {"version":3,"sources":["../../../../src/components/utils/responsive-style.ts"],"sourcesContent":["import { WidthProperty } from 'csstype'\nimport { CSSObject } from '@emotion/css'\nimport type {\n ResponsiveValueType as ExtractResponsiveValue,\n LengthData,\n ResponsiveBorderRadiusData,\n ResponsiveValue,\n} from '@makeswift/prop-controllers'\n\nimport {\n WidthValue,\n PaddingValue,\n MarginValue,\n TextStyleValue,\n} from '../../prop-controllers/descriptors'\nimport {\n FallbackStrategy,\n getBreakpoint,\n getBreakpointMediaQuery,\n join as joinResponsiveValues,\n Breakpoints,\n} from '../../state/modules/breakpoints'\nimport { getIndexes } from './columns'\nimport { PaddingPropertyData, paddingPropertyDataToStyle } from '../../css/padding'\nimport { MarginPropertyData, marginPropertyDataToStyle } from '../../css/margin'\nimport { BorderRadiusPropertyData, borderRadiusPropertyDataToStyle } from '../../css/border-radius'\nimport { BorderPropertyData, borderPropertyDataToStyle } from '../../css/border'\nimport { BorderPropControllerData } from '../hooks/useBorder'\nimport { colorToString } from './colorToString'\nimport { BoxShadow, ResponsiveBoxShadow } from '../hooks'\nimport { useBreakpoints } from '../../runtimes/react'\nimport { DropFirst } from './drop-first'\n\nexport function responsiveStyle<V, A extends ReadonlyArray<ResponsiveValue<V> | null | undefined>>(\n breakpoints: Breakpoints,\n responsiveValues: A,\n join: (values: { [K in keyof A]: ExtractResponsiveValue<A[K]> | undefined }) => CSSObject,\n strategy?: FallbackStrategy<V>,\n): CSSObject {\n return joinResponsiveValues(breakpoints, responsiveValues, join, strategy).reduce(\n (acc, { deviceId, value }) => {\n const breakpoint = getBreakpoint(breakpoints, deviceId)\n const mediaQuery = getBreakpointMediaQuery(breakpoint)\n\n return {\n ...acc,\n [mediaQuery]: {\n ...(acc[mediaQuery] as CSSObject),\n ...value,\n },\n }\n },\n {} as CSSObject,\n )\n}\n\nexport function useResponsiveStyle<\n V,\n A extends ReadonlyArray<ResponsiveValue<V> | null | undefined>,\n>(\n responsiveValues: A,\n join: (values: { [K in keyof A]: ExtractResponsiveValue<A[K]> | undefined }) => CSSObject,\n strategy?: FallbackStrategy<V>,\n): CSSObject {\n return responsiveStyle(useBreakpoints(), responsiveValues, join, strategy)\n}\n\nexport function responsiveWidth(\n breakpoints: Breakpoints,\n widthData: WidthValue | undefined,\n defaultValue: LengthData | WidthProperty<string | number> = '100%',\n): CSSObject {\n return {\n maxWidth: '100%',\n ...responsiveStyle(breakpoints, [widthData], ([width = defaultValue]) => ({\n width: typeof width === 'object' ? `${width.value}${width.unit}` : width,\n })),\n }\n}\n\nexport function useResponsiveWidth(\n ...args: DropFirst<Parameters<typeof responsiveWidth>>\n): CSSObject {\n return responsiveWidth(useBreakpoints(), ...args)\n}\n\nexport function responsivePadding(\n breakpoints: Breakpoints,\n paddingData: PaddingValue | undefined,\n defaultValue: PaddingPropertyData = {} as PaddingPropertyData,\n): CSSObject {\n return responsiveStyle(breakpoints, [paddingData], ([padding = {} as PaddingPropertyData]) =>\n paddingPropertyDataToStyle(\n padding,\n Object.assign(\n { paddingTop: 0, paddingRight: 0, paddingBottom: 0, paddingLeft: 0 },\n defaultValue,\n ),\n ),\n )\n}\n\nexport function useResponsivePadding(\n ...args: DropFirst<Parameters<typeof responsivePadding>>\n): CSSObject {\n return responsivePadding(useBreakpoints(), ...args)\n}\n\nexport function responsiveMargin(\n breakpoints: Breakpoints,\n marginData: MarginValue | undefined,\n defaultValue: MarginPropertyData = {} as MarginPropertyData,\n): CSSObject {\n return responsiveStyle(breakpoints, [marginData], ([margin = {} as MarginPropertyData]) =>\n marginPropertyDataToStyle(\n margin,\n Object.assign(\n { marginTop: 0, marginRight: 'auto', marginBottom: 0, marginLeft: 'auto' },\n defaultValue,\n ),\n ),\n )\n}\n\nexport function useResponsiveMargin(\n ...args: DropFirst<Parameters<typeof responsiveMargin>>\n): CSSObject {\n return responsiveMargin(useBreakpoints(), ...args)\n}\n\nexport function responsiveBorderRadius(\n breakpoints: Breakpoints,\n borderRadiusData: ResponsiveBorderRadiusData | undefined,\n defaultValue: BorderRadiusPropertyData = {} as BorderRadiusPropertyData,\n): CSSObject {\n return responsiveStyle(breakpoints, [borderRadiusData], ([borderRadius = {}]) =>\n borderRadiusPropertyDataToStyle(\n borderRadius,\n Object.assign(\n {\n borderTopLeftRadius: 0,\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0,\n borderBottomLeftRadius: 0,\n },\n defaultValue,\n ),\n ),\n )\n}\n\nexport function useResponsiveBorderRadius(\n ...args: DropFirst<Parameters<typeof responsiveBorderRadius>>\n): CSSObject {\n return responsiveBorderRadius(useBreakpoints(), ...args)\n}\n\nexport function useResponsiveBorder(\n borderData: BorderPropControllerData | undefined,\n defaultValue: BorderPropertyData = {},\n): CSSObject {\n return useResponsiveStyle([borderData], ([border = {}]) =>\n borderPropertyDataToStyle(\n border,\n Object.assign(\n {\n borderTop: '0px solid black',\n borderRight: '0px solid black',\n borderBottom: '0px solid black',\n borderLeft: '0px solid black',\n },\n defaultValue,\n ),\n ),\n )\n}\n\nconst floor =\n (d: number) =>\n (v: number): number =>\n Math.floor(10 ** d * v) / 10 ** d\n\nexport function responsiveGridItem(\n breakpoints: Breakpoints,\n props: {\n grid: ResponsiveValue<{ spans: number[][]; count: number }>\n index: number\n columnGap?: ResponsiveValue<LengthData>\n rowGap?: ResponsiveValue<LengthData>\n },\n): CSSObject {\n return {\n display: 'flex',\n ...responsiveStyle(\n breakpoints,\n [props.grid, props.columnGap, props.rowGap] as const,\n ([\n { spans, count } = { spans: [[12]], count: 12 },\n columnGap = { value: 0, unit: 'px' },\n rowGap = { value: 0, unit: 'px' },\n ]) => {\n const [rowIndex, columnIndex] = getIndexes(spans, props.index)\n const firstCol = columnIndex === 0\n const lastCol = columnIndex === spans[rowIndex].length - 1\n const span = spans[rowIndex][columnIndex]\n const fraction = floor(5)(span / count)\n const width = `${fraction} * (100% + ${columnGap.value}${columnGap.unit})`\n const excessWidth = `${Number(firstCol) + Number(lastCol)} * ${columnGap.value}${\n columnGap.unit\n } / 2`\n const iePrecisionError = '0.01px'\n const flexBasis = `calc(${width} - ${excessWidth} - ${iePrecisionError})`\n const firstRow = rowIndex === 0\n const lastRow = rowIndex === spans.length - 1\n\n return span === 0\n ? { display: 'none' }\n : {\n flexBasis,\n minWidth: flexBasis,\n // NOTE: IE11 width breaks without max width\n // https://github.com/philipwalton/flexbugs/issues/3\n maxWidth: flexBasis,\n paddingLeft: firstCol ? 0 : `${columnGap.value / 2}${columnGap.unit}`,\n paddingRight: lastCol ? 0 : `${columnGap.value / 2}${columnGap.unit}`,\n paddingTop: firstRow ? 0 : `${rowGap.value / 2}${rowGap.unit}`,\n paddingBottom: lastRow ? 0 : `${rowGap.value / 2}${rowGap.unit}`,\n }\n },\n ),\n }\n}\n\nexport function useResponsiveGridItem(\n ...args: DropFirst<Parameters<typeof responsiveGridItem>>\n): CSSObject {\n return responsiveGridItem(useBreakpoints(), ...args)\n}\n\nconst getBoxShadow = (shadows: BoxShadow) =>\n shadows\n .map(\n ({ payload: { inset, offsetX, offsetY, blurRadius, spreadRadius, color } }) =>\n `${inset ? 'inset ' : ''}${offsetX.toFixed(1)}px ${offsetY.toFixed(\n 1,\n )}px ${blurRadius}px ${spreadRadius}px ${\n color != null ? colorToString(color) : 'rgba(0,0,0,0.2)'\n }`,\n )\n .filter(Boolean)\n .join()\n\nexport function responsiveShadow(\n breakpoints: Breakpoints,\n value: ResponsiveBoxShadow | undefined,\n): CSSObject {\n return responsiveStyle(breakpoints, [value], ([shadow = []]) => ({\n boxShadow: getBoxShadow(shadow),\n }))\n}\n\nexport function useResponsiveShadow(\n ...args: DropFirst<Parameters<typeof responsiveShadow>>\n): CSSObject {\n return responsiveShadow(useBreakpoints(), ...args)\n}\n\nexport function responsiveTextStyle(\n breakpoints: Breakpoints,\n value: TextStyleValue | undefined,\n): CSSObject {\n return responsiveStyle(\n breakpoints,\n [value],\n ([\n textStyle = {\n fontFamily: null,\n letterSpacing: null,\n fontSize: null,\n fontWeight: null,\n textTransform: [],\n fontStyle: [],\n },\n ]) => {\n const {\n fontSize,\n fontWeight,\n fontStyle = [],\n textTransform = [],\n letterSpacing,\n fontFamily,\n } = textStyle\n\n return {\n ...(fontFamily == null ? {} : { fontFamily: `\"${fontFamily}\"` }),\n ...(fontWeight == null ? {} : { fontWeight }),\n ...(letterSpacing == null ? {} : { letterSpacing }),\n ...(fontSize == null ? {} : { fontSize: `${fontSize.value}${fontSize.unit}` }),\n ...(textTransform.includes('uppercase') ? { textTransform: 'uppercase' } : {}),\n ...(fontStyle.includes('italic') ? { fontStyle: 'italic' } : {}),\n }\n },\n )\n}\n\nexport function useResponsiveTextStyle(\n ...args: DropFirst<Parameters<typeof responsiveTextStyle>>\n): CSSObject {\n return responsiveTextStyle(useBreakpoints(), ...args)\n}\n"],"mappings":"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","names":["joinResponsiveValues"]}
@@ -47,13 +47,13 @@ function copy(definition, value, context) {
47
47
  case import_descriptors.Types.Grid:
48
48
  case import_descriptors.Types.NavigationLinks:
49
49
  case import_prop_controllers.Types.Link:
50
- case import_descriptors.Types.Shadows:
50
+ case import_prop_controllers.Types.Shadows:
51
51
  case import_descriptors.Types.Image:
52
52
  case import_descriptors.Types.Images:
53
- case import_descriptors.Types.ResponsiveColor:
53
+ case import_prop_controllers.Types.ResponsiveColor:
54
54
  case import_descriptors.Types.TableFormFields:
55
55
  case import_descriptors.Types.Table:
56
- case import_descriptors.Types.Border:
56
+ case import_prop_controllers.Types.Border:
57
57
  case import_descriptors.Types.RichText:
58
58
  case import_descriptors.Types.ElementID:
59
59
  return (0, import_copy.copy)(definition, value, context);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/controls/control.ts"],"sourcesContent":["import { CheckboxControlData, CheckboxControlDefinition } from './checkbox'\nimport { ColorControlData, ColorControlDefinition, ColorControlType, copyColorData } from './color'\nimport { ComboboxControlData, ComboboxControlDefinition } from './combobox'\nimport { ImageControlData, ImageControlDefinition, copyImageData, ImageControlType } from './image'\nimport { LinkControlData, LinkControlDefinition, copyLinkData, LinkControlType } from './link'\nimport {\n ListControlData,\n ListControlDefinition,\n copyListData,\n ListControlType,\n getListTranslatableData,\n mergeListTranslatedData,\n ListControlTranslationDto,\n} from './list'\nimport { NumberControlData, NumberControlDefinition } from './number'\nimport { SelectControlData, SelectControlDefinition } from './select'\nimport {\n ShapeControlData,\n ShapeControlDefinition,\n copyShapeData,\n ShapeControlType,\n getShapeTranslatableData,\n mergeShapeTranslatedData,\n ShapeControlTranslationDto,\n} from './shape'\nimport { TextAreaControlData, TextAreaControlDefinition, TextAreaControlType } from './text-area'\nimport {\n TextInputControlData,\n TextInputControlDefinition,\n TextInputControlType,\n} from './text-input'\nimport { copyStyleData, StyleControlData, StyleControlDefinition, StyleControlType } from './style'\nimport {\n copySlotData,\n mergeSlotControlTranslatedData,\n mergeSlotData,\n SlotControlData,\n SlotControlDefinition,\n SlotControlType,\n} from './slot'\n\nimport {\n Descriptor,\n GridValue,\n IndexSignatureHack,\n Types,\n mergeGridPropControllerTranslatedData,\n} from '../prop-controllers/descriptors'\nimport { Types as PropControllerTypes } from '@makeswift/prop-controllers'\nimport { copy as propControllerCopy } from '../prop-controllers/copy'\nimport { CopyContext, Data, MergeContext, MergeTranslatableDataContext } from '../state/react-page'\nimport {\n RichTextControlData,\n RichTextControlDefinition,\n RichTextControlType,\n copyRichTextData,\n richTextDTOtoDAO,\n} from './rich-text'\nimport { PropControllerDescriptor } from '../prop-controllers'\n\nimport { richTextV2DescendentsToData } from './rich-text-v2/dto'\nimport { copyRichTextV2Data } from './rich-text-v2/copy'\nimport {\n RichTextV2ControlData,\n RichTextV2ControlDefinition,\n RichTextV2ControlType,\n isRichTextV1Data,\n} from './rich-text-v2/rich-text-v2'\n\nimport { StyleV2ControlData, StyleV2ControlDefinition } from './style-v2'\nimport { IconRadioGroupControlData, IconRadioGroupControlDefinition } from './icon-radio-group'\nimport { TypographyControlData, TypographyControlDefinition } from './typography'\nimport {\n RichTextV2ControlTranslationDto,\n getRichTextV2TranslatableData,\n mergeRichTextV2TranslatedData,\n} from './rich-text-v2/translation'\n\nexport type ControlDefinition =\n | CheckboxControlDefinition\n | NumberControlDefinition\n | TextInputControlDefinition\n | TextAreaControlDefinition\n | SelectControlDefinition\n | ColorControlDefinition\n | IconRadioGroupControlDefinition\n | ImageControlDefinition\n | ComboboxControlDefinition\n | ShapeControlDefinition\n | ListControlDefinition<any>\n | LinkControlDefinition\n | SlotControlDefinition\n | ShapeControlDefinition\n | RichTextControlDefinition\n | RichTextV2ControlDefinition\n | StyleControlDefinition\n | StyleV2ControlDefinition\n | TypographyControlDefinition\n\nexport type ControlDefinitionData<T extends ControlDefinition> = T extends CheckboxControlDefinition\n ? CheckboxControlData\n : T extends NumberControlDefinition\n ? NumberControlData\n : T extends TextInputControlDefinition\n ? TextInputControlData\n : T extends TextAreaControlDefinition\n ? TextAreaControlData\n : T extends SelectControlDefinition\n ? SelectControlData<T>\n : T extends ColorControlDefinition\n ? ColorControlData\n : T extends IconRadioGroupControlDefinition\n ? IconRadioGroupControlData<T>\n : T extends ImageControlDefinition\n ? ImageControlData\n : T extends ComboboxControlDefinition\n ? ComboboxControlData<T>\n : T extends ShapeControlDefinition\n ? ShapeControlData<T>\n : T extends ListControlDefinition\n ? ListControlData<T>\n : T extends LinkControlDefinition\n ? LinkControlData\n : T extends RichTextControlDefinition\n ? IndexSignatureHack<RichTextControlData>\n : T extends RichTextV2ControlDefinition\n ? RichTextV2ControlData\n : T extends StyleControlDefinition\n ? StyleControlData\n : T extends StyleV2ControlDefinition\n ? StyleV2ControlData\n : T extends TypographyControlDefinition\n ? TypographyControlData\n : never\n\nexport function copy(definition: Descriptor | ControlDefinition, value: any, context: CopyContext) {\n switch (definition.type) {\n case Types.Backgrounds:\n case Types.Grid:\n case Types.NavigationLinks:\n case PropControllerTypes.Link:\n case Types.Shadows:\n case Types.Image:\n case Types.Images:\n case Types.ResponsiveColor:\n case Types.TableFormFields:\n case Types.Table:\n case Types.Border:\n case Types.RichText:\n case Types.ElementID:\n return propControllerCopy(definition, value, context)\n case RichTextControlType:\n return copyRichTextData(value, context)\n case RichTextV2ControlType:\n return copyRichTextV2Data(\n isRichTextV1Data(value) ? richTextV2DescendentsToData(richTextDTOtoDAO(value)) : value,\n context,\n )\n case ColorControlType:\n return copyColorData(value, context)\n case ImageControlType:\n return copyImageData(value, context)\n case LinkControlType:\n return copyLinkData(value, context)\n case ShapeControlType:\n return copyShapeData(definition, value, context)\n case ListControlType:\n return copyListData(definition, value, context)\n case StyleControlType:\n return copyStyleData(value, context)\n case SlotControlType:\n return copySlotData(value, context)\n default:\n return value\n }\n}\n\nexport function merge(\n definition: PropControllerDescriptor,\n a: Data,\n b: Data = a,\n context: MergeContext,\n): Data {\n switch (definition.type) {\n case SlotControlType:\n return mergeSlotData(a as SlotControlData, b as SlotControlData, context)\n\n default:\n return b\n }\n}\n\nexport function getTranslatableData(definition: Descriptor | ControlDefinition, data: Data): Data {\n switch (definition.type) {\n case Types.TextInput:\n case Types.TextArea:\n case TextInputControlType:\n case TextAreaControlType:\n return data\n\n case RichTextV2ControlType:\n const richTextData = data as RichTextV2ControlData | RichTextControlData\n\n if (isRichTextV1Data(richTextData)) return null\n\n return getRichTextV2TranslatableData(definition, richTextData as RichTextV2ControlData)\n\n case ListControlType:\n if (data == null) return null\n\n return getListTranslatableData(definition, data as ListControlData)\n\n case ShapeControlType:\n if (data == null) return null\n\n return getShapeTranslatableData(definition, data as ShapeControlData)\n\n default:\n return null\n }\n}\n\nexport function mergeTranslatedData(\n definition: PropControllerDescriptor,\n data: Data,\n translatedData: Data,\n context: MergeTranslatableDataContext,\n): Data {\n if (data == null) return data\n\n switch (definition.type) {\n case Types.TextInput:\n case Types.TextArea:\n case TextInputControlType:\n case TextAreaControlType:\n if (translatedData == null) return data\n\n return translatedData\n\n case Types.Grid:\n return mergeGridPropControllerTranslatedData(data as GridValue, context)\n\n case SlotControlType:\n return mergeSlotControlTranslatedData(data as SlotControlData, context)\n\n case RichTextV2ControlType:\n if (translatedData == null) return data\n\n return mergeRichTextV2TranslatedData(\n definition,\n data as RichTextV2ControlData,\n translatedData as RichTextV2ControlTranslationDto,\n )\n\n case ListControlType:\n if (translatedData == null) return data\n\n return mergeListTranslatedData(\n definition,\n data as ListControlData,\n translatedData as ListControlTranslationDto,\n context,\n )\n\n case ShapeControlType:\n if (translatedData == null) return data\n\n return mergeShapeTranslatedData(\n definition,\n data as ShapeControlData,\n translatedData as ShapeControlTranslationDto,\n context,\n )\n\n default:\n return data\n }\n}\n"],"mappings":"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","names":["import_copy","PropControllerTypes","propControllerCopy"]}
1
+ {"version":3,"sources":["../../../src/controls/control.ts"],"sourcesContent":["import { CheckboxControlData, CheckboxControlDefinition } from './checkbox'\nimport { ColorControlData, ColorControlDefinition, ColorControlType, copyColorData } from './color'\nimport { ComboboxControlData, ComboboxControlDefinition } from './combobox'\nimport { ImageControlData, ImageControlDefinition, copyImageData, ImageControlType } from './image'\nimport { LinkControlData, LinkControlDefinition, copyLinkData, LinkControlType } from './link'\nimport {\n ListControlData,\n ListControlDefinition,\n copyListData,\n ListControlType,\n getListTranslatableData,\n mergeListTranslatedData,\n ListControlTranslationDto,\n} from './list'\nimport { NumberControlData, NumberControlDefinition } from './number'\nimport { SelectControlData, SelectControlDefinition } from './select'\nimport {\n ShapeControlData,\n ShapeControlDefinition,\n copyShapeData,\n ShapeControlType,\n getShapeTranslatableData,\n mergeShapeTranslatedData,\n ShapeControlTranslationDto,\n} from './shape'\nimport { TextAreaControlData, TextAreaControlDefinition, TextAreaControlType } from './text-area'\nimport {\n TextInputControlData,\n TextInputControlDefinition,\n TextInputControlType,\n} from './text-input'\nimport { copyStyleData, StyleControlData, StyleControlDefinition, StyleControlType } from './style'\nimport {\n copySlotData,\n mergeSlotControlTranslatedData,\n mergeSlotData,\n SlotControlData,\n SlotControlDefinition,\n SlotControlType,\n} from './slot'\n\nimport {\n Descriptor,\n GridValue,\n IndexSignatureHack,\n Types,\n mergeGridPropControllerTranslatedData,\n} from '../prop-controllers/descriptors'\nimport { Types as PropControllerTypes } from '@makeswift/prop-controllers'\nimport { copy as propControllerCopy } from '../prop-controllers/copy'\nimport { CopyContext, Data, MergeContext, MergeTranslatableDataContext } from '../state/react-page'\nimport {\n RichTextControlData,\n RichTextControlDefinition,\n RichTextControlType,\n copyRichTextData,\n richTextDTOtoDAO,\n} from './rich-text'\nimport { PropControllerDescriptor } from '../prop-controllers'\n\nimport { richTextV2DescendentsToData } from './rich-text-v2/dto'\nimport { copyRichTextV2Data } from './rich-text-v2/copy'\nimport {\n RichTextV2ControlData,\n RichTextV2ControlDefinition,\n RichTextV2ControlType,\n isRichTextV1Data,\n} from './rich-text-v2/rich-text-v2'\n\nimport { StyleV2ControlData, StyleV2ControlDefinition } from './style-v2'\nimport { IconRadioGroupControlData, IconRadioGroupControlDefinition } from './icon-radio-group'\nimport { TypographyControlData, TypographyControlDefinition } from './typography'\nimport {\n RichTextV2ControlTranslationDto,\n getRichTextV2TranslatableData,\n mergeRichTextV2TranslatedData,\n} from './rich-text-v2/translation'\n\nexport type ControlDefinition =\n | CheckboxControlDefinition\n | NumberControlDefinition\n | TextInputControlDefinition\n | TextAreaControlDefinition\n | SelectControlDefinition\n | ColorControlDefinition\n | IconRadioGroupControlDefinition\n | ImageControlDefinition\n | ComboboxControlDefinition\n | ShapeControlDefinition\n | ListControlDefinition<any>\n | LinkControlDefinition\n | SlotControlDefinition\n | ShapeControlDefinition\n | RichTextControlDefinition\n | RichTextV2ControlDefinition\n | StyleControlDefinition\n | StyleV2ControlDefinition\n | TypographyControlDefinition\n\nexport type ControlDefinitionData<T extends ControlDefinition> = T extends CheckboxControlDefinition\n ? CheckboxControlData\n : T extends NumberControlDefinition\n ? NumberControlData\n : T extends TextInputControlDefinition\n ? TextInputControlData\n : T extends TextAreaControlDefinition\n ? TextAreaControlData\n : T extends SelectControlDefinition\n ? SelectControlData<T>\n : T extends ColorControlDefinition\n ? ColorControlData\n : T extends IconRadioGroupControlDefinition\n ? IconRadioGroupControlData<T>\n : T extends ImageControlDefinition\n ? ImageControlData\n : T extends ComboboxControlDefinition\n ? ComboboxControlData<T>\n : T extends ShapeControlDefinition\n ? ShapeControlData<T>\n : T extends ListControlDefinition\n ? ListControlData<T>\n : T extends LinkControlDefinition\n ? LinkControlData\n : T extends RichTextControlDefinition\n ? IndexSignatureHack<RichTextControlData>\n : T extends RichTextV2ControlDefinition\n ? RichTextV2ControlData\n : T extends StyleControlDefinition\n ? StyleControlData\n : T extends StyleV2ControlDefinition\n ? StyleV2ControlData\n : T extends TypographyControlDefinition\n ? TypographyControlData\n : never\n\nexport function copy(definition: Descriptor | ControlDefinition, value: any, context: CopyContext) {\n switch (definition.type) {\n case Types.Backgrounds:\n case Types.Grid:\n case Types.NavigationLinks:\n case PropControllerTypes.Link:\n case PropControllerTypes.Shadows:\n case Types.Image:\n case Types.Images:\n case PropControllerTypes.ResponsiveColor:\n case Types.TableFormFields:\n case Types.Table:\n case PropControllerTypes.Border:\n case Types.RichText:\n case Types.ElementID:\n return propControllerCopy(definition, value, context)\n case RichTextControlType:\n return copyRichTextData(value, context)\n case RichTextV2ControlType:\n return copyRichTextV2Data(\n isRichTextV1Data(value) ? richTextV2DescendentsToData(richTextDTOtoDAO(value)) : value,\n context,\n )\n case ColorControlType:\n return copyColorData(value, context)\n case ImageControlType:\n return copyImageData(value, context)\n case LinkControlType:\n return copyLinkData(value, context)\n case ShapeControlType:\n return copyShapeData(definition, value, context)\n case ListControlType:\n return copyListData(definition, value, context)\n case StyleControlType:\n return copyStyleData(value, context)\n case SlotControlType:\n return copySlotData(value, context)\n default:\n return value\n }\n}\n\nexport function merge(\n definition: PropControllerDescriptor,\n a: Data,\n b: Data = a,\n context: MergeContext,\n): Data {\n switch (definition.type) {\n case SlotControlType:\n return mergeSlotData(a as SlotControlData, b as SlotControlData, context)\n\n default:\n return b\n }\n}\n\nexport function getTranslatableData(definition: Descriptor | ControlDefinition, data: Data): Data {\n switch (definition.type) {\n case Types.TextInput:\n case Types.TextArea:\n case TextInputControlType:\n case TextAreaControlType:\n return data\n\n case RichTextV2ControlType:\n const richTextData = data as RichTextV2ControlData | RichTextControlData\n\n if (isRichTextV1Data(richTextData)) return null\n\n return getRichTextV2TranslatableData(definition, richTextData as RichTextV2ControlData)\n\n case ListControlType:\n if (data == null) return null\n\n return getListTranslatableData(definition, data as ListControlData)\n\n case ShapeControlType:\n if (data == null) return null\n\n return getShapeTranslatableData(definition, data as ShapeControlData)\n\n default:\n return null\n }\n}\n\nexport function mergeTranslatedData(\n definition: PropControllerDescriptor,\n data: Data,\n translatedData: Data,\n context: MergeTranslatableDataContext,\n): Data {\n if (data == null) return data\n\n switch (definition.type) {\n case Types.TextInput:\n case Types.TextArea:\n case TextInputControlType:\n case TextAreaControlType:\n if (translatedData == null) return data\n\n return translatedData\n\n case Types.Grid:\n return mergeGridPropControllerTranslatedData(data as GridValue, context)\n\n case SlotControlType:\n return mergeSlotControlTranslatedData(data as SlotControlData, context)\n\n case RichTextV2ControlType:\n if (translatedData == null) return data\n\n return mergeRichTextV2TranslatedData(\n definition,\n data as RichTextV2ControlData,\n translatedData as RichTextV2ControlTranslationDto,\n )\n\n case ListControlType:\n if (translatedData == null) return data\n\n return mergeListTranslatedData(\n definition,\n data as ListControlData,\n translatedData as ListControlTranslationDto,\n context,\n )\n\n case ShapeControlType:\n if (translatedData == null) return data\n\n return mergeShapeTranslatedData(\n definition,\n data as ShapeControlData,\n translatedData as ShapeControlTranslationDto,\n context,\n )\n\n default:\n return data\n }\n}\n"],"mappings":"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","names":["import_copy","PropControllerTypes","propControllerCopy"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/css/border.ts"],"sourcesContent":["import { CSSObject } from '@emotion/css'\nimport {\n BorderBottomProperty,\n BorderLeftProperty,\n BorderProperty,\n BorderRightProperty,\n BorderStyleProperty,\n BorderTopProperty,\n} from 'csstype'\nimport { colorToString } from '../components/utils/colorToString'\nimport { ColorValue } from '../components/utils/types'\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/border-top#constituent_properties\n *\n * @todos\n * - Change `width` to be a `Length`\n * - Remove `null` from possible values\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type BorderSideShorthandPropertyData = {\n width: number | null | undefined\n style: BorderStyleProperty\n color?: ColorValue | null\n}\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/border\n *\n * @todos\n * - Remove `null` from possible values\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type BorderPropertyData = {\n borderTop?:\n | BorderSideShorthandPropertyData\n | BorderTopProperty<string | number>\n | null\n | undefined\n borderRight?:\n | BorderSideShorthandPropertyData\n | BorderRightProperty<string | number>\n | null\n | undefined\n borderBottom?:\n | BorderSideShorthandPropertyData\n | BorderBottomProperty<string | number>\n | null\n | undefined\n borderLeft?:\n | BorderSideShorthandPropertyData\n | BorderLeftProperty<string | number>\n | null\n | undefined\n}\n\nexport function borderPropertyDataToStyle(\n data: BorderPropertyData,\n defaultValue: BorderPropertyData = {},\n): CSSObject {\n const borderTop = data.borderTop ?? defaultValue.borderTop\n const borderRight = data.borderRight ?? defaultValue.borderRight\n const borderBottom = data.borderBottom ?? defaultValue.borderBottom\n const borderLeft = data.borderLeft ?? defaultValue.borderLeft\n const style: CSSObject = {}\n\n if (borderTop != null) style.borderTop = borderSideToString(borderTop)\n if (borderRight != null) style.borderRight = borderSideToString(borderRight)\n if (borderBottom != null) style.borderBottom = borderSideToString(borderBottom)\n if (borderLeft != null) style.borderLeft = borderSideToString(borderLeft)\n\n return style\n}\n\nfunction borderSideToString(\n borderSide: BorderSideShorthandPropertyData | BorderProperty<string | number>,\n): string {\n if (typeof borderSide === 'string') return borderSide\n\n if (typeof borderSide === 'number') return `${borderSide}px`\n\n const { width, color, style } = borderSide\n\n return `${width != null ? width : 0}px ${style} ${color != null ? colorToString(color) : 'black'}`\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,2BAA8B;AA+CvB,SAAS,0BACd,MACA,eAAmC,CAAC,GACzB;AACX,QAAM,YAAY,KAAK,aAAa,aAAa;AACjD,QAAM,cAAc,KAAK,eAAe,aAAa;AACrD,QAAM,eAAe,KAAK,gBAAgB,aAAa;AACvD,QAAM,aAAa,KAAK,cAAc,aAAa;AACnD,QAAM,QAAmB,CAAC;AAE1B,MAAI,aAAa;AAAM,UAAM,YAAY,mBAAmB,SAAS;AACrE,MAAI,eAAe;AAAM,UAAM,cAAc,mBAAmB,WAAW;AAC3E,MAAI,gBAAgB;AAAM,UAAM,eAAe,mBAAmB,YAAY;AAC9E,MAAI,cAAc;AAAM,UAAM,aAAa,mBAAmB,UAAU;AAExE,SAAO;AACT;AAEA,SAAS,mBACP,YACQ;AACR,MAAI,OAAO,eAAe;AAAU,WAAO;AAE3C,MAAI,OAAO,eAAe;AAAU,WAAO,GAAG,UAAU;AAExD,QAAM,EAAE,OAAO,OAAO,MAAM,IAAI;AAEhC,SAAO,GAAG,SAAS,OAAO,QAAQ,CAAC,MAAM,KAAK,IAAI,SAAS,WAAO,oCAAc,KAAK,IAAI,OAAO;AAClG;","names":[]}
1
+ {"version":3,"sources":["../../../src/css/border.ts"],"sourcesContent":["import { CSSObject } from '@emotion/css'\nimport {\n BorderBottomProperty,\n BorderLeftProperty,\n BorderProperty,\n BorderRightProperty,\n BorderStyleProperty,\n BorderTopProperty,\n} from 'csstype'\nimport { colorToString } from '../components/utils/colorToString'\nimport { ColorValue } from '../components/utils/types'\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/border-top#constituent_properties\n *\n * @todos\n * - Change `width` to be a `Length`\n * - Remove `null` from possible values\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type BorderSideShorthandPropertyData = {\n width?: number | null | undefined\n style: BorderStyleProperty\n color?: ColorValue | null\n}\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/border\n *\n * @todos\n * - Remove `null` from possible values\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type BorderPropertyData = {\n borderTop?:\n | BorderSideShorthandPropertyData\n | BorderTopProperty<string | number>\n | null\n | undefined\n borderRight?:\n | BorderSideShorthandPropertyData\n | BorderRightProperty<string | number>\n | null\n | undefined\n borderBottom?:\n | BorderSideShorthandPropertyData\n | BorderBottomProperty<string | number>\n | null\n | undefined\n borderLeft?:\n | BorderSideShorthandPropertyData\n | BorderLeftProperty<string | number>\n | null\n | undefined\n}\n\nexport function borderPropertyDataToStyle(\n data: BorderPropertyData,\n defaultValue: BorderPropertyData = {},\n): CSSObject {\n const borderTop = data.borderTop ?? defaultValue.borderTop\n const borderRight = data.borderRight ?? defaultValue.borderRight\n const borderBottom = data.borderBottom ?? defaultValue.borderBottom\n const borderLeft = data.borderLeft ?? defaultValue.borderLeft\n const style: CSSObject = {}\n\n if (borderTop != null) style.borderTop = borderSideToString(borderTop)\n if (borderRight != null) style.borderRight = borderSideToString(borderRight)\n if (borderBottom != null) style.borderBottom = borderSideToString(borderBottom)\n if (borderLeft != null) style.borderLeft = borderSideToString(borderLeft)\n\n return style\n}\n\nfunction borderSideToString(\n borderSide: BorderSideShorthandPropertyData | BorderProperty<string | number>,\n): string {\n if (typeof borderSide === 'string') return borderSide\n\n if (typeof borderSide === 'number') return `${borderSide}px`\n\n const { width, color, style } = borderSide\n\n return `${width != null ? width : 0}px ${style} ${color != null ? colorToString(color) : 'black'}`\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,2BAA8B;AA+CvB,SAAS,0BACd,MACA,eAAmC,CAAC,GACzB;AACX,QAAM,YAAY,KAAK,aAAa,aAAa;AACjD,QAAM,cAAc,KAAK,eAAe,aAAa;AACrD,QAAM,eAAe,KAAK,gBAAgB,aAAa;AACvD,QAAM,aAAa,KAAK,cAAc,aAAa;AACnD,QAAM,QAAmB,CAAC;AAE1B,MAAI,aAAa;AAAM,UAAM,YAAY,mBAAmB,SAAS;AACrE,MAAI,eAAe;AAAM,UAAM,cAAc,mBAAmB,WAAW;AAC3E,MAAI,gBAAgB;AAAM,UAAM,eAAe,mBAAmB,YAAY;AAC9E,MAAI,cAAc;AAAM,UAAM,aAAa,mBAAmB,UAAU;AAExE,SAAO;AACT;AAEA,SAAS,mBACP,YACQ;AACR,MAAI,OAAO,eAAe;AAAU,WAAO;AAE3C,MAAI,OAAO,eAAe;AAAU,WAAO,GAAG,UAAU;AAExD,QAAM,EAAE,OAAO,OAAO,MAAM,IAAI;AAEhC,SAAO,GAAG,SAAS,OAAO,QAAQ,CAAC,MAAM,KAAK,IAAI,SAAS,WAAO,oCAAc,KAAK,IAAI,OAAO;AAClG;","names":[]}
@@ -36,7 +36,7 @@ async function handler(...args) {
36
36
  const supportsPreviewMode = (0, import_ts_pattern.match)(args).with(routeHandlerPattern, () => false).with(apiRoutePattern, () => true).exhaustive();
37
37
  const supportsDraftMode = (0, import_ts_pattern.match)(args).with(routeHandlerPattern, () => true).with(apiRoutePattern, () => false).exhaustive();
38
38
  const body = {
39
- version: "0.16.0-canary.0",
39
+ version: "0.16.0-canary.1",
40
40
  previewMode: supportsPreviewMode,
41
41
  draftMode: supportsDraftMode,
42
42
  interactionMode: true,
@@ -26,16 +26,14 @@ var import_backgrounds = require("./copy/backgrounds");
26
26
  var import_grid = require("./copy/grid");
27
27
  var import_navigation_links = require("./copy/navigation-links");
28
28
  var import_prop_controllers = require("@makeswift/prop-controllers");
29
- var import_shadows = require("./copy/shadows");
30
29
  var import_image = require("./copy/image");
31
30
  var import_images = require("./copy/images");
32
- var import_responsive_color = require("./copy/responsive-color");
33
31
  var import_table_form_fields = require("./copy/table-form-fields");
34
32
  var import_table = require("./copy/table");
35
- var import_border = require("./copy/border");
36
33
  var import_rich_text = require("./copy/rich-text");
37
34
  var import_element_id = require("./copy/element-id");
38
35
  var import_prop_controllers2 = require("@makeswift/prop-controllers");
36
+ var import_prop_controllers3 = require("@makeswift/prop-controllers");
39
37
  function copy(descriptor, value, context) {
40
38
  switch (descriptor.type) {
41
39
  case "Backgrounds":
@@ -47,19 +45,19 @@ function copy(descriptor, value, context) {
47
45
  case import_prop_controllers2.Types.Link:
48
46
  return (0, import_prop_controllers.copyLinkPropControllerData)(value, context);
49
47
  case "Shadows":
50
- return (0, import_shadows.copy)(value, context);
48
+ return (0, import_prop_controllers.copyShadowsPropControllerData)(value, context);
51
49
  case "Image":
52
50
  return (0, import_image.copy)(descriptor, value, context);
53
51
  case "Images":
54
52
  return (0, import_images.copy)(descriptor, value, context);
55
53
  case "ResponsiveColor":
56
- return (0, import_responsive_color.copy)(value, context);
54
+ return (0, import_prop_controllers3.copyResponsiveColorPropControllerData)(value, context);
57
55
  case "TableFormFields":
58
56
  return (0, import_table_form_fields.copy)(value, context);
59
57
  case "Table":
60
58
  return (0, import_table.copy)(value, context);
61
- case "Border":
62
- return (0, import_border.copy)(value, context);
59
+ case import_prop_controllers2.Types.Border:
60
+ return (0, import_prop_controllers.copyBorderPropControllerData)(value, context);
63
61
  case "RichText":
64
62
  return (0, import_rich_text.copy)(value, context);
65
63
  case "ElementID":
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/prop-controllers/copy.ts"],"sourcesContent":["import { Descriptor } from './descriptors'\nimport { copy as backgroundsCopy } from './copy/backgrounds'\nimport { copy as gridCopy } from './copy/grid'\nimport { copy as navigationLinksCopy } from './copy/navigation-links'\nimport { copyLinkPropControllerData } from '@makeswift/prop-controllers'\nimport { copy as shadowsCopy } from './copy/shadows'\nimport { copy as imageCopy } from './copy/image'\nimport { copy as imagesCopy } from './copy/images'\nimport { copy as responsiveColorCopy } from './copy/responsive-color'\nimport { copy as tableFormFieldsCopy } from './copy/table-form-fields'\nimport { copy as tableCopy } from './copy/table'\nimport { copy as borderCopy } from './copy/border'\nimport { copy as richTextCopy } from './copy/rich-text'\nimport { copy as elementIdCopy } from './copy/element-id'\nimport { CopyContext } from '../state/react-page'\nimport { Types as PropControllerTypes } from '@makeswift/prop-controllers'\n\n// @note: note typing value, because would then have to type narrow `Data` per case\nexport function copy(descriptor: Descriptor, value: any, context: CopyContext) {\n switch (descriptor.type) {\n case 'Backgrounds':\n return backgroundsCopy(descriptor, value, context)\n case 'Grid':\n return gridCopy(value, context)\n case 'NavigationLinks':\n return navigationLinksCopy(value, context)\n case PropControllerTypes.Link:\n return copyLinkPropControllerData(value, context)\n case 'Shadows':\n return shadowsCopy(value, context)\n case 'Image':\n return imageCopy(descriptor, value, context)\n case 'Images':\n return imagesCopy(descriptor, value, context)\n case 'ResponsiveColor':\n return responsiveColorCopy(value, context)\n case 'TableFormFields':\n return tableFormFieldsCopy(value, context)\n case 'Table':\n return tableCopy(value, context)\n case 'Border':\n return borderCopy(value, context)\n case 'RichText':\n return richTextCopy(value, context)\n case 'ElementID':\n return elementIdCopy(value, context)\n default:\n return value\n }\n}\n\nexport function copyElementReference(value: string, context: CopyContext) {\n return context.replacementContext.globalElementIds.get(value) || value\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,yBAAwC;AACxC,kBAAiC;AACjC,8BAA4C;AAC5C,8BAA2C;AAC3C,qBAAoC;AACpC,mBAAkC;AAClC,oBAAmC;AACnC,8BAA4C;AAC5C,+BAA4C;AAC5C,mBAAkC;AAClC,oBAAmC;AACnC,uBAAqC;AACrC,wBAAsC;AAEtC,IAAAA,2BAA6C;AAGtC,SAAS,KAAK,YAAwB,OAAY,SAAsB;AAC7E,UAAQ,WAAW,MAAM;AAAA,IACvB,KAAK;AACH,iBAAO,mBAAAC,MAAgB,YAAY,OAAO,OAAO;AAAA,IACnD,KAAK;AACH,iBAAO,YAAAC,MAAS,OAAO,OAAO;AAAA,IAChC,KAAK;AACH,iBAAO,wBAAAC,MAAoB,OAAO,OAAO;AAAA,IAC3C,KAAK,yBAAAC,MAAoB;AACvB,iBAAO,oDAA2B,OAAO,OAAO;AAAA,IAClD,KAAK;AACH,iBAAO,eAAAC,MAAY,OAAO,OAAO;AAAA,IACnC,KAAK;AACH,iBAAO,aAAAC,MAAU,YAAY,OAAO,OAAO;AAAA,IAC7C,KAAK;AACH,iBAAO,cAAAC,MAAW,YAAY,OAAO,OAAO;AAAA,IAC9C,KAAK;AACH,iBAAO,wBAAAC,MAAoB,OAAO,OAAO;AAAA,IAC3C,KAAK;AACH,iBAAO,yBAAAC,MAAoB,OAAO,OAAO;AAAA,IAC3C,KAAK;AACH,iBAAO,aAAAC,MAAU,OAAO,OAAO;AAAA,IACjC,KAAK;AACH,iBAAO,cAAAC,MAAW,OAAO,OAAO;AAAA,IAClC,KAAK;AACH,iBAAO,iBAAAC,MAAa,OAAO,OAAO;AAAA,IACpC,KAAK;AACH,iBAAO,kBAAAC,MAAc,OAAO,OAAO;AAAA,IACrC;AACE,aAAO;AAAA,EACX;AACF;AAEO,SAAS,qBAAqB,OAAe,SAAsB;AACxE,SAAO,QAAQ,mBAAmB,iBAAiB,IAAI,KAAK,KAAK;AACnE;","names":["import_prop_controllers","backgroundsCopy","gridCopy","navigationLinksCopy","PropControllerTypes","shadowsCopy","imageCopy","imagesCopy","responsiveColorCopy","tableFormFieldsCopy","tableCopy","borderCopy","richTextCopy","elementIdCopy"]}
1
+ {"version":3,"sources":["../../../src/prop-controllers/copy.ts"],"sourcesContent":["import { Descriptor } from './descriptors'\nimport { copy as backgroundsCopy } from './copy/backgrounds'\nimport { copy as gridCopy } from './copy/grid'\nimport { copy as navigationLinksCopy } from './copy/navigation-links'\nimport {\n copyLinkPropControllerData,\n copyShadowsPropControllerData,\n copyBorderPropControllerData,\n} from '@makeswift/prop-controllers'\nimport { copy as imageCopy } from './copy/image'\nimport { copy as imagesCopy } from './copy/images'\nimport { copy as tableFormFieldsCopy } from './copy/table-form-fields'\nimport { copy as tableCopy } from './copy/table'\nimport { copy as richTextCopy } from './copy/rich-text'\nimport { copy as elementIdCopy } from './copy/element-id'\nimport { CopyContext } from '../state/react-page'\nimport { Types as PropControllerTypes } from '@makeswift/prop-controllers'\nimport { copyResponsiveColorPropControllerData } from '@makeswift/prop-controllers'\n\n// @note: note typing value, because would then have to type narrow `Data` per case\nexport function copy(descriptor: Descriptor, value: any, context: CopyContext) {\n switch (descriptor.type) {\n case 'Backgrounds':\n return backgroundsCopy(descriptor, value, context)\n case 'Grid':\n return gridCopy(value, context)\n case 'NavigationLinks':\n return navigationLinksCopy(value, context)\n case PropControllerTypes.Link:\n return copyLinkPropControllerData(value, context)\n case 'Shadows':\n return copyShadowsPropControllerData(value, context)\n case 'Image':\n return imageCopy(descriptor, value, context)\n case 'Images':\n return imagesCopy(descriptor, value, context)\n case 'ResponsiveColor':\n return copyResponsiveColorPropControllerData(value, context)\n case 'TableFormFields':\n return tableFormFieldsCopy(value, context)\n case 'Table':\n return tableCopy(value, context)\n case PropControllerTypes.Border:\n return copyBorderPropControllerData(value, context)\n case 'RichText':\n return richTextCopy(value, context)\n case 'ElementID':\n return elementIdCopy(value, context)\n default:\n return value\n }\n}\n\nexport function copyElementReference(value: string, context: CopyContext) {\n return context.replacementContext.globalElementIds.get(value) || value\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,yBAAwC;AACxC,kBAAiC;AACjC,8BAA4C;AAC5C,8BAIO;AACP,mBAAkC;AAClC,oBAAmC;AACnC,+BAA4C;AAC5C,mBAAkC;AAClC,uBAAqC;AACrC,wBAAsC;AAEtC,IAAAA,2BAA6C;AAC7C,IAAAA,2BAAsD;AAG/C,SAAS,KAAK,YAAwB,OAAY,SAAsB;AAC7E,UAAQ,WAAW,MAAM;AAAA,IACvB,KAAK;AACH,iBAAO,mBAAAC,MAAgB,YAAY,OAAO,OAAO;AAAA,IACnD,KAAK;AACH,iBAAO,YAAAC,MAAS,OAAO,OAAO;AAAA,IAChC,KAAK;AACH,iBAAO,wBAAAC,MAAoB,OAAO,OAAO;AAAA,IAC3C,KAAK,yBAAAC,MAAoB;AACvB,iBAAO,oDAA2B,OAAO,OAAO;AAAA,IAClD,KAAK;AACH,iBAAO,uDAA8B,OAAO,OAAO;AAAA,IACrD,KAAK;AACH,iBAAO,aAAAC,MAAU,YAAY,OAAO,OAAO;AAAA,IAC7C,KAAK;AACH,iBAAO,cAAAC,MAAW,YAAY,OAAO,OAAO;AAAA,IAC9C,KAAK;AACH,iBAAO,gEAAsC,OAAO,OAAO;AAAA,IAC7D,KAAK;AACH,iBAAO,yBAAAC,MAAoB,OAAO,OAAO;AAAA,IAC3C,KAAK;AACH,iBAAO,aAAAC,MAAU,OAAO,OAAO;AAAA,IACjC,KAAK,yBAAAJ,MAAoB;AACvB,iBAAO,sDAA6B,OAAO,OAAO;AAAA,IACpD,KAAK;AACH,iBAAO,iBAAAK,MAAa,OAAO,OAAO;AAAA,IACpC,KAAK;AACH,iBAAO,kBAAAC,MAAc,OAAO,OAAO;AAAA,IACrC;AACE,aAAO;AAAA,EACX;AACF;AAEO,SAAS,qBAAqB,OAAe,SAAsB;AACxE,SAAO,QAAQ,mBAAmB,iBAAiB,IAAI,KAAK,KAAK;AACnE;","names":["import_prop_controllers","backgroundsCopy","gridCopy","navigationLinksCopy","PropControllerTypes","imageCopy","imagesCopy","tableFormFieldsCopy","tableCopy","richTextCopy","elementIdCopy"]}
@@ -19,11 +19,6 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
19
19
  var descriptors_exports = {};
20
20
  __export(descriptors_exports, {
21
21
  Backgrounds: () => Backgrounds,
22
- Border: () => Border,
23
- BorderPropControllerFormat: () => BorderPropControllerFormat,
24
- BorderRadius: () => BorderRadius,
25
- BorderRadiusPropControllerFormat: () => BorderRadiusPropControllerFormat,
26
- Checkbox: () => Checkbox,
27
22
  Date: () => Date,
28
23
  ElementID: () => ElementID,
29
24
  Font: () => Font,
@@ -36,18 +31,13 @@ __export(descriptors_exports, {
36
31
  Margin: () => Margin,
37
32
  MarginPropControllerFormat: () => MarginPropControllerFormat,
38
33
  NavigationLinks: () => NavigationLinks,
39
- Number: () => Number,
40
34
  Padding: () => Padding,
41
35
  PaddingPropControllerFormat: () => PaddingPropControllerFormat,
42
- ResponsiveColor: () => ResponsiveColor,
43
36
  ResponsiveIconRadioGroup: () => ResponsiveIconRadioGroup,
44
- ResponsiveLength: () => ResponsiveLength,
45
37
  ResponsiveNumber: () => ResponsiveNumber,
46
38
  ResponsiveOpacity: () => ResponsiveOpacity,
47
39
  ResponsiveSelect: () => ResponsiveSelect,
48
40
  RichText: () => RichText,
49
- Shadows: () => Shadows,
50
- ShadowsPropControllerFormat: () => ShadowsPropControllerFormat,
51
41
  Shape: () => Shape,
52
42
  SocialLinks: () => SocialLinks,
53
43
  Table: () => Table,
@@ -81,9 +71,6 @@ var import_style2 = require("../controls/style");
81
71
  var import_introspection = require("./introspection");
82
72
  const Types = {
83
73
  Backgrounds: "Backgrounds",
84
- Border: "Border",
85
- BorderRadius: "BorderRadius",
86
- Checkbox: "Checkbox",
87
74
  Date: "Date",
88
75
  ElementID: "ElementID",
89
76
  Font: "Font",
@@ -95,16 +82,12 @@ const Types = {
95
82
  List: "List",
96
83
  Margin: "Margin",
97
84
  NavigationLinks: "NavigationLinks",
98
- Number: "Number",
99
85
  Padding: "Padding",
100
- ResponsiveColor: "ResponsiveColor",
101
86
  ResponsiveIconRadioGroup: "ResponsiveIconRadioGroup",
102
- ResponsiveLength: "ResponsiveLength",
103
87
  ResponsiveNumber: "ResponsiveNumber",
104
88
  ResponsiveOpacity: "ResponsiveOpacity",
105
89
  ResponsiveSelect: "ResponsiveSelect",
106
90
  RichText: "RichText",
107
- Shadows: "Shadows",
108
91
  Shape: "Shape",
109
92
  SocialLinks: "SocialLinks",
110
93
  Table: "Table",
@@ -120,25 +103,6 @@ const Types = {
120
103
  function Backgrounds(options = {}) {
121
104
  return { type: Types.Backgrounds, version: 1, options };
122
105
  }
123
- const BorderPropControllerFormat = {
124
- ClassName: "makeswift::prop-controllers::border::format::class-name",
125
- ResponsiveValue: "makeswift::prop-controllers:border::format::responsive-value"
126
- };
127
- function Border(options = {}) {
128
- return { type: Types.Border, options };
129
- }
130
- Border.Format = BorderPropControllerFormat;
131
- const BorderRadiusPropControllerFormat = {
132
- ClassName: "makeswift::prop-controllers::border-radius::format::class-name",
133
- ResponsiveValue: "makeswift::prop-controllers::border-radius::format::responsive-value"
134
- };
135
- function BorderRadius(options = {}) {
136
- return { type: Types.BorderRadius, options };
137
- }
138
- BorderRadius.Format = BorderRadiusPropControllerFormat;
139
- function Checkbox(options) {
140
- return { type: Types.Checkbox, options };
141
- }
142
106
  function Date(options = {}) {
143
107
  return { type: Types.Date, options };
144
108
  }
@@ -203,9 +167,6 @@ Margin.Format = MarginPropControllerFormat;
203
167
  function NavigationLinks(options = {}) {
204
168
  return { type: Types.NavigationLinks, options };
205
169
  }
206
- function Number(options = {}) {
207
- return { type: Types.Number, options };
208
- }
209
170
  const PaddingPropControllerFormat = {
210
171
  ClassName: "makeswift::prop-controllers::padding::format::class-name",
211
172
  ResponsiveValue: "makeswift::prop-controllers::padding::format::responsive-value"
@@ -214,15 +175,9 @@ function Padding(options = {}) {
214
175
  return { type: Types.Padding, options };
215
176
  }
216
177
  Padding.Format = PaddingPropControllerFormat;
217
- function ResponsiveColor(options = {}) {
218
- return { type: Types.ResponsiveColor, options };
219
- }
220
178
  function ResponsiveIconRadioGroup(options) {
221
179
  return { type: Types.ResponsiveIconRadioGroup, options };
222
180
  }
223
- function ResponsiveLength(options = {}) {
224
- return { type: Types.ResponsiveLength, options };
225
- }
226
181
  function ResponsiveNumber(options = {}) {
227
182
  return { type: Types.ResponsiveNumber, options };
228
183
  }
@@ -235,14 +190,6 @@ function ResponsiveSelect(options) {
235
190
  function RichText(options = {}) {
236
191
  return { type: Types.RichText, options };
237
192
  }
238
- const ShadowsPropControllerFormat = {
239
- ClassName: "makeswift::prop-controllers::shadows::format::class-name",
240
- ResponsiveValue: "makeswift::prop-controllers::shadows::format::responsive-value"
241
- };
242
- function Shadows(options = {}) {
243
- return { type: Types.Shadows, options };
244
- }
245
- Shadows.Format = ShadowsPropControllerFormat;
246
193
  function Shape(options) {
247
194
  return { type: Types.Shape, options };
248
195
  }
@@ -329,11 +276,6 @@ Width.Format = WidthPropControllerFormat;
329
276
  // Annotate the CommonJS export names for ESM import in node:
330
277
  0 && (module.exports = {
331
278
  Backgrounds,
332
- Border,
333
- BorderPropControllerFormat,
334
- BorderRadius,
335
- BorderRadiusPropControllerFormat,
336
- Checkbox,
337
279
  Date,
338
280
  ElementID,
339
281
  Font,
@@ -346,18 +288,13 @@ Width.Format = WidthPropControllerFormat;
346
288
  Margin,
347
289
  MarginPropControllerFormat,
348
290
  NavigationLinks,
349
- Number,
350
291
  Padding,
351
292
  PaddingPropControllerFormat,
352
- ResponsiveColor,
353
293
  ResponsiveIconRadioGroup,
354
- ResponsiveLength,
355
294
  ResponsiveNumber,
356
295
  ResponsiveOpacity,
357
296
  ResponsiveSelect,
358
297
  RichText,
359
- Shadows,
360
- ShadowsPropControllerFormat,
361
298
  Shape,
362
299
  SocialLinks,
363
300
  Table,