@makeswift/runtime 0.11.9 → 0.11.10

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 (118) hide show
  1. package/dist/Box.cjs.js +1 -1
  2. package/dist/Box.es.js +1 -1
  3. package/dist/Button.cjs.js +1 -1
  4. package/dist/Button.es.js +1 -1
  5. package/dist/Carousel.cjs.js +1 -1
  6. package/dist/Carousel.es.js +1 -1
  7. package/dist/Countdown.cjs.js +1 -1
  8. package/dist/Countdown.es.js +1 -1
  9. package/dist/Divider.cjs.js +1 -1
  10. package/dist/Divider.es.js +1 -1
  11. package/dist/Embed.cjs.js +1 -1
  12. package/dist/Embed.es.js +1 -1
  13. package/dist/Form.cjs.js +1 -1
  14. package/dist/Form.es.js +1 -1
  15. package/dist/Image.cjs.js +1 -1
  16. package/dist/Image.es.js +1 -1
  17. package/dist/LiveProvider.cjs.js +1 -1
  18. package/dist/LiveProvider.es.js +1 -1
  19. package/dist/Navigation.cjs.js +1 -1
  20. package/dist/Navigation.es.js +1 -1
  21. package/dist/PreviewProvider.cjs.js +1 -1
  22. package/dist/PreviewProvider.es.js +1 -1
  23. package/dist/ReadOnlyText.cjs.js +1 -1
  24. package/dist/ReadOnlyText.es.js +1 -1
  25. package/dist/ReadOnlyTextV2.cjs.js +2 -2
  26. package/dist/ReadOnlyTextV2.es.js +2 -2
  27. package/dist/Root.cjs.js +1 -1
  28. package/dist/Root.es.js +1 -1
  29. package/dist/SocialLinks.cjs.js +109 -51
  30. package/dist/SocialLinks.cjs.js.map +1 -1
  31. package/dist/SocialLinks.es.js +109 -51
  32. package/dist/SocialLinks.es.js.map +1 -1
  33. package/dist/Video.cjs.js +1 -1
  34. package/dist/Video.es.js +1 -1
  35. package/dist/breakpoints.cjs.js +223 -0
  36. package/dist/breakpoints.cjs.js.map +1 -0
  37. package/dist/breakpoints.es.js +206 -0
  38. package/dist/breakpoints.es.js.map +1 -0
  39. package/dist/builder.cjs.js +1 -1
  40. package/dist/builder.es.js +1 -1
  41. package/dist/components.cjs.js +1 -1
  42. package/dist/components.es.js +1 -1
  43. package/dist/control-serialization.cjs.js +1 -1
  44. package/dist/control-serialization.es.js +1 -1
  45. package/dist/controls.cjs.js +1 -1
  46. package/dist/controls.es.js +1 -1
  47. package/dist/index.cjs.js +2 -2
  48. package/dist/index.cjs2.js +1 -1
  49. package/dist/index.cjs8.js +1 -1
  50. package/dist/index.cjs9.js +1 -1
  51. package/dist/index.es.js +2 -2
  52. package/dist/index.es2.js +1 -1
  53. package/dist/index.es8.js +1 -1
  54. package/dist/index.es9.js +1 -1
  55. package/dist/main.cjs.js +1 -1
  56. package/dist/main.es.js +1 -1
  57. package/dist/next.cjs.js +1 -1
  58. package/dist/next.es.js +1 -1
  59. package/dist/prop-controllers.cjs.js +1 -1
  60. package/dist/prop-controllers.es.js +1 -1
  61. package/dist/react-page.cjs.js +192 -6
  62. package/dist/react-page.cjs.js.map +1 -1
  63. package/dist/react-page.es.js +198 -12
  64. package/dist/react-page.es.js.map +1 -1
  65. package/dist/react.cjs.js +1 -1
  66. package/dist/react.es.js +1 -1
  67. package/dist/slate.cjs.js +1 -1
  68. package/dist/slate.es.js +1 -1
  69. package/dist/state/breakpoints.cjs.js +17 -219
  70. package/dist/state/breakpoints.cjs.js.map +1 -1
  71. package/dist/state/breakpoints.es.js +2 -205
  72. package/dist/state/breakpoints.es.js.map +1 -1
  73. package/dist/toText.cjs.js +1 -1
  74. package/dist/toText.es.js +1 -1
  75. package/dist/types/src/components/builtin/SocialLinks/options.d.ts +10 -0
  76. package/dist/types/src/components/builtin/SocialLinks/options.d.ts.map +1 -1
  77. package/dist/types/src/controls/control.d.ts.map +1 -1
  78. package/dist/types/src/controls/rich-text/__tests__/copy.test.d.ts.map +1 -0
  79. package/dist/types/src/controls/rich-text/__tests__/dto.test.d.ts.map +1 -0
  80. package/dist/types/src/controls/rich-text/__tests__/introspection.test.d.ts.map +1 -0
  81. package/dist/types/src/controls/rich-text-v2/__tests__/copy.test.d.ts.map +1 -0
  82. package/dist/types/src/controls/rich-text-v2/__tests__/fixtures/rearranged.d.ts.map +1 -0
  83. package/dist/types/src/controls/rich-text-v2/__tests__/fixtures/simple.d.ts.map +1 -0
  84. package/dist/types/src/controls/rich-text-v2/__tests__/introspection.test.d.ts.map +1 -0
  85. package/dist/types/src/controls/rich-text-v2/__tests__/translation.test.d.ts.map +1 -0
  86. package/dist/types/src/controls/rich-text-v2/translation.d.ts +1 -1
  87. package/dist/types/src/controls/rich-text-v2/translation.d.ts.map +1 -1
  88. package/dist/types/src/prop-controllers/descriptors.d.ts +1 -1
  89. package/dist/types/src/prop-controllers/descriptors.d.ts.map +1 -1
  90. package/dist/types/src/slate/TypographyPlugin/index.d.ts +4 -1
  91. package/dist/types/src/slate/TypographyPlugin/index.d.ts.map +1 -1
  92. package/dist/types/src/slate/TypographyPlugin/normalizeSimilarText.d.ts +10 -0
  93. package/dist/types/src/slate/TypographyPlugin/normalizeSimilarText.d.ts.map +1 -0
  94. package/dist/types/src/slate/TypographyPlugin/normalizeTypographyDown.d.ts +29 -0
  95. package/dist/types/src/slate/TypographyPlugin/normalizeTypographyDown.d.ts.map +1 -0
  96. package/dist/types/src/slate/TypographyPlugin/normalizeTypographyUp.d.ts +4 -0
  97. package/dist/types/src/slate/TypographyPlugin/normalizeTypographyUp.d.ts.map +1 -0
  98. package/dist/types/src/slate/types.d.ts +19 -2
  99. package/dist/types/src/slate/types.d.ts.map +1 -1
  100. package/dist/useMediaQuery.cjs.js +1 -1
  101. package/dist/useMediaQuery.es.js +1 -1
  102. package/package.json +1 -1
  103. package/dist/types/src/controls/rich-text/__test__/copy.test.d.ts.map +0 -1
  104. package/dist/types/src/controls/rich-text/__test__/dto.test.d.ts.map +0 -1
  105. package/dist/types/src/controls/rich-text/__test__/introspection.test.d.ts.map +0 -1
  106. package/dist/types/src/controls/rich-text-v2/__test__/copy.test.d.ts.map +0 -1
  107. package/dist/types/src/controls/rich-text-v2/__test__/fixtures/rearranged.d.ts.map +0 -1
  108. package/dist/types/src/controls/rich-text-v2/__test__/fixtures/simple.d.ts.map +0 -1
  109. package/dist/types/src/controls/rich-text-v2/__test__/introspection.test.d.ts.map +0 -1
  110. package/dist/types/src/controls/rich-text-v2/__test__/translation.test.d.ts.map +0 -1
  111. /package/dist/types/src/controls/rich-text/{__test__ → __tests__}/copy.test.d.ts +0 -0
  112. /package/dist/types/src/controls/rich-text/{__test__ → __tests__}/dto.test.d.ts +0 -0
  113. /package/dist/types/src/controls/rich-text/{__test__ → __tests__}/introspection.test.d.ts +0 -0
  114. /package/dist/types/src/controls/rich-text-v2/{__test__ → __tests__}/copy.test.d.ts +0 -0
  115. /package/dist/types/src/controls/rich-text-v2/{__test__ → __tests__}/fixtures/rearranged.d.ts +0 -0
  116. /package/dist/types/src/controls/rich-text-v2/{__test__ → __tests__}/fixtures/simple.d.ts +0 -0
  117. /package/dist/types/src/controls/rich-text-v2/{__test__ → __tests__}/introspection.test.d.ts +0 -0
  118. /package/dist/types/src/controls/rich-text-v2/{__test__ → __tests__}/translation.test.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"breakpoints.cjs.js","sources":["../src/utils/keys.ts","../src/utils/coalesce.ts","../src/utils/shallowMerge.ts","../src/state/modules/breakpoints.ts"],"sourcesContent":["const keys = <O extends { [key: string]: unknown }>(o: O): (keyof O)[] => Object.keys(o)\n\nexport default keys\n","const coalesce = <T>(...args: Array<T>): T => {\n let i: number\n\n for (i = 0; i < args.length - 1; i += 1) {\n if (args[i] != null) return args[i]\n }\n\n return args[i]\n}\n\nexport default coalesce\n","import keys from './keys'\nimport coalesce from './coalesce'\n\nexport default function shallowMerge<\n A extends Record<string, unknown>,\n B extends Record<string, unknown>,\n>(a: A, b: B): A & B {\n const bKeys = keys(b)\n const merged = { ...a } as A & B\n\n bKeys.forEach(key => {\n // @ts-expect-error: `coalesce` returns `null | undefined` regardless of input guarantees.\n merged[key] = coalesce(merged[key], b[key])\n })\n\n return merged\n}\n","import { Viewport } from 'csstype'\n\nimport {\n ResponsiveValue as PropControllerResponsiveValue,\n DeviceOverride as PropControllerDeviceOverride,\n Device as DeviceId,\n} from '../../prop-controllers'\nimport shallowMerge from '../../utils/shallowMerge'\nimport { Action, ActionTypes } from '../actions'\nimport coalesce from '../../utils/coalesce'\nimport { Data } from '../../controls/types'\n\nexport type DeviceOverride<T> = PropControllerDeviceOverride<T>\nexport type ResponsiveValue<T> = PropControllerResponsiveValue<T>\nexport type BreakpointId = DeviceId\n\nexport type Breakpoint = {\n id: BreakpointId\n label?: string\n viewportWidth?: number\n minWidth?: number\n maxWidth?: number\n}\n\nexport type Breakpoints = Breakpoint[]\n\nexport type State = Breakpoints\n\nexport const DefaultBreakpointID = {\n Desktop: 'desktop',\n Tablet: 'tablet',\n Mobile: 'mobile',\n} as const\n\ntype DefaultBreakpointID = typeof DefaultBreakpointID[keyof typeof DefaultBreakpointID]\n\nexport const DEFAULT_BREAKPOINTS: Breakpoints = [\n {\n id: DefaultBreakpointID.Desktop,\n label: 'Desktop',\n minWidth: 769,\n },\n {\n id: DefaultBreakpointID.Tablet,\n label: 'Tablet',\n minWidth: 576,\n maxWidth: 768,\n viewportWidth: 760,\n },\n {\n id: DefaultBreakpointID.Mobile,\n label: 'Mobile',\n maxWidth: 575,\n viewportWidth: 390,\n },\n]\n\nexport function getInitialState(breakpoints = DEFAULT_BREAKPOINTS): State {\n return breakpoints\n}\n\nexport function reducer(state: State = getInitialState(), action: Action): State {\n switch (action.type) {\n case ActionTypes.SET_BREAKPOINTS: {\n const breakpoints = action.payload.breakpoints\n\n if (breakpoints.length === 0) throw new Error('Breakpoints cannot be empty.')\n\n return breakpoints\n }\n\n default:\n return state\n }\n}\n\nexport type BreakpointsInput = Record<string, { width: number; label?: string; viewport?: number }>\n\nexport function parseBreakpointsInput(input: BreakpointsInput): Breakpoints {\n validateBreakpointsInput(input)\n\n const sorted = Object.entries(input)\n .map(([id, value]) => ({ ...value, id }))\n .sort((a, b) => b.width - a.width) // Sort by width in descending order\n\n const transformed = sorted.reduce(\n (prev, curr, index, array) => {\n const { width, viewport, id, label } = curr\n const next = array[index + 1]\n\n const breakpoint: Breakpoint = {\n id,\n ...(label && { label }),\n ...(next && { minWidth: next.width + 1 }),\n maxWidth: width,\n viewportWidth: viewport ?? width,\n }\n\n return [...prev, breakpoint]\n },\n [\n { id: DefaultBreakpointID.Desktop, label: 'Desktop', minWidth: sorted[0].width + 1 },\n ] as Breakpoints,\n )\n\n return transformed\n}\n\nfunction validateBreakpointsInput(input: BreakpointsInput) {\n if (DefaultBreakpointID.Desktop in input) {\n throw new Error(\n `Cannot change the base breakpoint. \"${DefaultBreakpointID.Desktop}\" is reserved as the base breakpoint.`,\n )\n }\n\n if (Object.keys(input).length === 0) {\n throw new Error(`Breakpoints cannot be empty. You must provide at least one breakpoint.`)\n }\n\n const sorted = Object.entries(input)\n .map(([id, value]) => ({ ...value, id }))\n .sort((a, b) => b.width - a.width) // Sort by width in descending order\n\n sorted.forEach(({ id, width, viewport }, index, array) => {\n // This is only valid for desktop-first. We need to check the inverse for mobile-first.\n if (viewport && viewport > width) {\n throw new Error(\n `Error on breakpoint \"${id}\". Viewport cannot be greater than its width.\n \"${id}\" has a viewport of ${viewport}px and a width of ${width}px.`,\n )\n }\n\n const next = array[index + 1]\n\n if (viewport && next && viewport < next.width) {\n throw new Error(\n `Error on breakpoint \"${id}\". Viewport cannot be smaller than the next breakpoint's width. \n \"${id}\" has a viewport of ${viewport}px and the next breakpoint \"${next.id}\" has a width of ${next.width}px.`,\n )\n }\n\n if (next && width === next.width) {\n throw new Error(\n `Breakpoints cannot have the same width. \"${id}\" and \"${next.id}\" have the same width`,\n )\n }\n })\n}\n\n// Sort breakpoints by minWidth in descending order\nfunction sortBreakpoints(breakpoints: Breakpoints): Breakpoints {\n return breakpoints.sort((a, b) => (b?.minWidth ?? 0) - (a?.minWidth ?? 0))\n}\n\nexport const getBreakpoint = (state: State, breakpointId: Breakpoint['id']): Breakpoint => {\n const breakpoint = state.find(({ id }) => id === breakpointId)\n\n if (breakpoint == null) throw new Error(`Unrecognized breakpoint ID: \"${breakpointId}\".`)\n\n return breakpoint\n}\n\nexport const getBaseBreakpoint = (breakpoints: Breakpoints): Breakpoint => {\n const breakpoint = sortBreakpoints(breakpoints)[0]\n\n if (breakpoint == null) throw new Error(`Cannot get base breakpoint.`)\n\n return breakpoint\n}\n\nexport function findBreakpointOverride<S>(\n breakpoints: Breakpoints,\n values: ResponsiveValue<S> = [],\n deviceId: string,\n strategy: FallbackStrategy<S> = defaultStrategy,\n): DeviceOverride<S> | undefined {\n const value = values.find(({ deviceId: d }) => d === deviceId)\n const fallbacks = breakpoints\n .slice(0, breakpoints.findIndex(d => d.id === deviceId) + 1)\n .reverse()\n .map(d => values.find(v => v.deviceId === d.id))\n .filter((override): override is DeviceOverride<S> => Boolean(override))\n\n return value != null || fallbacks.length > 0 ? strategy(value, fallbacks) : undefined\n}\n\nexport type FallbackStrategy<V> = (\n arg0: DeviceOverride<V> | undefined,\n arg1: ResponsiveValue<V>,\n) => DeviceOverride<V> | undefined\n\nfunction defaultStrategy<V>(\n value: DeviceOverride<V> | undefined,\n fallbacks: ResponsiveValue<V>,\n): DeviceOverride<V> | undefined {\n return value || fallbacks[0]\n}\n\nexport function shallowMergeFallbacks<V extends Record<string, unknown>>(\n value: DeviceOverride<V> | undefined,\n fallbacks: ResponsiveValue<V>,\n): DeviceOverride<V> | undefined {\n return [value, ...fallbacks]\n .filter((override): override is DeviceOverride<V> => Boolean(override))\n .reduce((a, b) => ({\n deviceId: a.deviceId || b.deviceId,\n value: shallowMerge(a.value, b.value),\n }))\n}\n\nfunction mergeOrCoalesce<A extends Data>(a: A, b: A): A {\n if (\n typeof a === 'object' &&\n a !== null &&\n !Array.isArray(a) &&\n typeof b === 'object' &&\n b !== null &&\n !Array.isArray(b)\n ) {\n return shallowMerge(a, b) as A\n }\n return coalesce(a, b)\n}\n\nexport function mergeOrCoalesceFallbacks<V extends Data>(\n value: DeviceOverride<V> | undefined,\n fallbacks: ResponsiveValue<V>,\n): DeviceOverride<V> | undefined {\n return [value, ...fallbacks]\n .filter((override): override is DeviceOverride<V> => Boolean(override))\n .reduce((a, b) => ({\n deviceId: a.deviceId || b.deviceId,\n value: mergeOrCoalesce(a.value, b.value),\n }))\n}\n\nexport type ExtractResponsiveValue<T> = T extends ResponsiveValue<infer V> ? V : never\n\nexport function join<V, A extends ReadonlyArray<ResponsiveValue<V> | null | undefined>, R>(\n breakpoints: Breakpoints,\n responsiveValues: A,\n joinFn: (values: { [I in keyof A]: ExtractResponsiveValue<A[I]> | undefined }) => R,\n strategy?: FallbackStrategy<V>,\n): ResponsiveValue<R> {\n return breakpoints\n .map(({ id }) => id)\n .map(deviceId => {\n const value = joinFn(\n responsiveValues.map(responsiveValue => {\n const deviceValue =\n responsiveValue &&\n findBreakpointOverride(breakpoints, responsiveValue, deviceId, strategy)\n\n return deviceValue == null ? undefined : deviceValue.value\n }) as unknown as { [I in keyof A]: ExtractResponsiveValue<A[I] | undefined> },\n )\n\n if (value == null) return null\n\n return { deviceId, value }\n })\n .filter((override): override is NonNullable<typeof override> => Boolean(override))\n}\n\nexport const getBreakpointMediaQuery = (breakpoint: Breakpoint): string => {\n const parts = ['@media only screen']\n\n if (breakpoint.minWidth != null) {\n parts.push(`(min-width: ${breakpoint.minWidth}px)`)\n }\n\n if (breakpoint.maxWidth != null) {\n parts.push(`(max-width: ${breakpoint.maxWidth}px)`)\n }\n\n return parts.join(' and ')\n}\n\nexport const getViewportStyle = (\n state: State,\n deviceId: string,\n): Viewport<string | number> | null | undefined => {\n const device = getBreakpoint(state, deviceId)\n\n return (\n device && {\n width: device.viewportWidth != null ? device.viewportWidth : '100%',\n minWidth: device.minWidth,\n }\n )\n}\n\nexport function findNextFallback<V>(\n breakpoints: Breakpoints,\n value: ResponsiveValue<V>,\n deviceId: BreakpointId,\n activeDeviceId: BreakpointId,\n fallbackStrategy?: FallbackStrategy<V>,\n): Breakpoint | null {\n const deviceOverride = findBreakpointOverride(\n breakpoints,\n value.filter(v => v.deviceId !== activeDeviceId),\n deviceId,\n fallbackStrategy,\n )\n\n return (deviceOverride && getBreakpoint(breakpoints, deviceOverride.deviceId)) ?? null\n}\n\nexport const mergeResponsiveValues = <A>(\n breakpoints: Breakpoints,\n source: DeviceOverride<A>[],\n override: DeviceOverride<A>[],\n): DeviceOverride<A>[] => {\n const devices = [\n ...new Set(\n source.map(({ deviceId }) => deviceId).concat(override.map(({ deviceId }) => deviceId)),\n ),\n ]\n\n return devices.map(deviceId => ({\n deviceId,\n value: {\n ...(findBreakpointOverride(breakpoints, source, deviceId) || { value: {} }).value,\n ...(findBreakpointOverride(breakpoints, override, deviceId, v => v) || { value: {} }).value,\n },\n })) as DeviceOverride<A>[]\n}\n"],"names":["ActionTypes"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,MAAM,OAAO,CAAuC,MAAsB,OAAO,KAAK,CAAC;ACAvF,MAAM,WAAW,IAAO,SAAsB;AACxC,MAAA;AAEJ,OAAK,IAAI,GAAG,IAAI,KAAK,SAAS,GAAG,KAAK,GAAG;AACvC,QAAI,KAAK,MAAM;AAAM,aAAO,KAAK;AAAA,EACnC;AAEA,SAAO,KAAK;AACd;ACLA,sBAGE,GAAM,GAAa;AACb,QAAA,QAAQ,KAAK,CAAC;AACd,QAAA,SAAS,mBAAK;AAEpB,QAAM,QAAQ,CAAO,QAAA;AAEnB,WAAO,OAAO,SAAS,OAAO,MAAM,EAAE,IAAI;AAAA,EAAA,CAC3C;AAEM,SAAA;AACT;ACYO,MAAM,sBAAsB;AAAA,EACjC,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,QAAQ;AACV;AAIO,MAAM,sBAAmC;AAAA,EAC9C;AAAA,IACE,IAAI,oBAAoB;AAAA,IACxB,OAAO;AAAA,IACP,UAAU;AAAA,EACZ;AAAA,EACA;AAAA,IACE,IAAI,oBAAoB;AAAA,IACxB,OAAO;AAAA,IACP,UAAU;AAAA,IACV,UAAU;AAAA,IACV,eAAe;AAAA,EACjB;AAAA,EACA;AAAA,IACE,IAAI,oBAAoB;AAAA,IACxB,OAAO;AAAA,IACP,UAAU;AAAA,IACV,eAAe;AAAA,EACjB;AACF;AAEO,yBAAyB,cAAc,qBAA4B;AACjE,SAAA;AACT;AAEwB,iBAAA,QAAe,gBAAgB,GAAG,QAAuB;AAC/E,UAAQ,OAAO;AAAA,SACRA,QAAAA,YAAY,iBAAiB;AAC1B,YAAA,cAAc,OAAO,QAAQ;AAEnC,UAAI,YAAY,WAAW;AAAS,cAAA,IAAI,MAAM,8BAA8B;AAErE,aAAA;AAAA,IACT;AAAA;AAGS,aAAA;AAAA;AAEb;AAIO,+BAA+B,OAAsC;AAC1E,2BAAyB,KAAK;AAExB,QAAA,SAAS,OAAO,QAAQ,KAAK,EAChC,IAAI,CAAC,CAAC,IAAI,WAAY,iCAAK,QAAL,EAAY,KAAK,EACvC,KAAK,CAAC,GAAG,MAAM,EAAE,QAAQ,EAAE,KAAK;AAEnC,QAAM,cAAc,OAAO,OACzB,CAAC,MAAM,MAAM,OAAO,UAAU;AAC5B,UAAM,EAAE,OAAO,UAAU,IAAI,UAAU;AACjC,UAAA,OAAO,MAAM,QAAQ;AAE3B,UAAM,aAAyB;AAAA,MAC7B;AAAA,OACI,SAAS,EAAE,MAAM,IACjB,QAAQ,EAAE,UAAU,KAAK,QAAQ,EAAE,IAHV;AAAA,MAI7B,UAAU;AAAA,MACV,eAAe,8BAAY;AAAA,IAAA;AAGtB,WAAA,CAAC,GAAG,MAAM,UAAU;AAAA,EAAA,GAE7B;AAAA,IACE,EAAE,IAAI,oBAAoB,SAAS,OAAO,WAAW,UAAU,OAAO,GAAG,QAAQ,EAAE;AAAA,EAAA,CAEvF;AAEO,SAAA;AACT;AAEA,kCAAkC,OAAyB;AACrD,MAAA,oBAAoB,WAAW,OAAO;AACxC,UAAM,IAAI,MACR,uCAAuC,oBAAoB,8CAC7D;AAAA,EACF;AAEA,MAAI,OAAO,KAAK,KAAK,EAAE,WAAW,GAAG;AAC7B,UAAA,IAAI,MAAM,wEAAwE;AAAA,EAC1F;AAEM,QAAA,SAAS,OAAO,QAAQ,KAAK,EAChC,IAAI,CAAC,CAAC,IAAI,WAAY,iCAAK,QAAL,EAAY,KAAK,EACvC,KAAK,CAAC,GAAG,MAAM,EAAE,QAAQ,EAAE,KAAK;AAEnC,SAAO,QAAQ,CAAC,EAAE,IAAI,OAAO,YAAY,OAAO,UAAU;AAEpD,QAAA,YAAY,WAAW,OAAO;AAC1B,YAAA,IAAI,MACR,wBAAwB;AAAA,WACrB,yBAAyB,6BAA6B,UAC3D;AAAA,IACF;AAEM,UAAA,OAAO,MAAM,QAAQ;AAE3B,QAAI,YAAY,QAAQ,WAAW,KAAK,OAAO;AACvC,YAAA,IAAI,MACR,wBAAwB;AAAA,WACrB,yBAAyB,uCAAuC,KAAK,sBAAsB,KAAK,UACrG;AAAA,IACF;AAEI,QAAA,QAAQ,UAAU,KAAK,OAAO;AAChC,YAAM,IAAI,MACR,4CAA4C,YAAY,KAAK,yBAC/D;AAAA,IACF;AAAA,EAAA,CACD;AACH;AAGA,yBAAyB,aAAuC;AACvD,SAAA,YAAY,KAAK,CAAC,GAAG,MAAA;;yCAAU,yBAAY,KAAS,8BAAA,aAAA,YAAY;AAAA,GAAE;AAC3E;AAEa,MAAA,gBAAgB,CAAC,OAAc,iBAA+C;AACzF,QAAM,aAAa,MAAM,KAAK,CAAC,EAAE,SAAS,OAAO,YAAY;AAE7D,MAAI,cAAc;AAAY,UAAA,IAAI,MAAM,gCAAgC,gBAAgB;AAEjF,SAAA;AACT;AAEa,MAAA,oBAAoB,CAAC,gBAAyC;AACnE,QAAA,aAAa,gBAAgB,WAAW,EAAE;AAEhD,MAAI,cAAc;AAAY,UAAA,IAAI,MAAM,6BAA6B;AAE9D,SAAA;AACT;AAEO,gCACL,aACA,SAA6B,CAC7B,GAAA,UACA,WAAgC,iBACD;AACzB,QAAA,QAAQ,OAAO,KAAK,CAAC,EAAE,UAAU,QAAQ,MAAM,QAAQ;AAC7D,QAAM,YAAY,YACf,MAAM,GAAG,YAAY,UAAU,CAAK,MAAA,EAAE,OAAO,QAAQ,IAAI,CAAC,EAC1D,QAAQ,EACR,IAAI,CAAA,MAAK,OAAO,KAAK,CAAK,MAAA,EAAE,aAAa,EAAE,EAAE,CAAC,EAC9C,OAAO,CAAC,aAA4C,QAAQ,QAAQ,CAAC;AAEjE,SAAA,SAAS,QAAQ,UAAU,SAAS,IAAI,SAAS,OAAO,SAAS,IAAI;AAC9E;AAOA,yBACE,OACA,WAC+B;AAC/B,SAAO,SAAS,UAAU;AAC5B;AAEO,+BACL,OACA,WAC+B;AAC/B,SAAO,CAAC,OAAO,GAAG,SAAS,EACxB,OAAO,CAAC,aAA4C,QAAQ,QAAQ,CAAC,EACrE,OAAO,CAAC,GAAG,MAAO;AAAA,IACjB,UAAU,EAAE,YAAY,EAAE;AAAA,IAC1B,OAAO,aAAa,EAAE,OAAO,EAAE,KAAK;AAAA,EACpC,EAAA;AACN;AAEA,yBAAyC,GAAM,GAAS;AACtD,MACE,OAAO,MAAM,YACb,MAAM,QACN,CAAC,MAAM,QAAQ,CAAC,KAChB,OAAO,MAAM,YACb,MAAM,QACN,CAAC,MAAM,QAAQ,CAAC,GAChB;AACO,WAAA,aAAa,GAAG,CAAC;AAAA,EAC1B;AACO,SAAA,SAAS,GAAG,CAAC;AACtB;AAEO,kCACL,OACA,WAC+B;AAC/B,SAAO,CAAC,OAAO,GAAG,SAAS,EACxB,OAAO,CAAC,aAA4C,QAAQ,QAAQ,CAAC,EACrE,OAAO,CAAC,GAAG,MAAO;AAAA,IACjB,UAAU,EAAE,YAAY,EAAE;AAAA,IAC1B,OAAO,gBAAgB,EAAE,OAAO,EAAE,KAAK;AAAA,EACvC,EAAA;AACN;AAKE,cAAA,aACA,kBACA,QACA,UACoB;AACb,SAAA,YACJ,IAAI,CAAC,EAAE,SAAS,EAAE,EAClB,IAAI,CAAY,aAAA;AACf,UAAM,QAAQ,OACZ,iBAAiB,IAAI,CAAmB,oBAAA;AACtC,YAAM,cACJ,mBACA,uBAAuB,aAAa,iBAAiB,UAAU,QAAQ;AAElE,aAAA,eAAe,OAAO,SAAY,YAAY;AAAA,IACtD,CAAA,CACH;AAEA,QAAI,SAAS;AAAa,aAAA;AAEnB,WAAA,EAAE,UAAU;EAAM,CAC1B,EACA,OAAO,CAAC,aAAuD,QAAQ,QAAQ,CAAC;AACrF;AAEa,MAAA,0BAA0B,CAAC,eAAmC;AACnE,QAAA,QAAQ,CAAC,oBAAoB;AAE/B,MAAA,WAAW,YAAY,MAAM;AACzB,UAAA,KAAK,eAAe,WAAW,aAAa;AAAA,EACpD;AAEI,MAAA,WAAW,YAAY,MAAM;AACzB,UAAA,KAAK,eAAe,WAAW,aAAa;AAAA,EACpD;AAEO,SAAA,MAAM,KAAK,OAAO;AAC3B;AAEa,MAAA,mBAAmB,CAC9B,OACA,aACiD;AAC3C,QAAA,SAAS,cAAc,OAAO,QAAQ;AAE5C,SACE,UAAU;AAAA,IACR,OAAO,OAAO,iBAAiB,OAAO,OAAO,gBAAgB;AAAA,IAC7D,UAAU,OAAO;AAAA,EAAA;AAGvB;AAEO,0BACL,aACA,OACA,UACA,gBACA,kBACmB;;AACb,QAAA,iBAAiB,uBACrB,aACA,MAAM,OAAO,CAAK,MAAA,EAAE,aAAa,cAAc,GAC/C,UACA,gBACF;AAEA,SAA0B,wBAAA,cAAc,aAAa,eAAe,QAAQ,MAAlD,YAAwD;AACpF;AAEO,MAAM,wBAAwB,CACnC,aACA,QACA,aACwB;AACxB,QAAM,UAAU;AAAA,IACd,GAAG,IAAI,IACL,OAAO,IAAI,CAAC,EAAE,eAAe,QAAQ,EAAE,OAAO,SAAS,IAAI,CAAC,EAAE,eAAe,QAAQ,CAAC,CACxF;AAAA,EAAA;AAGK,SAAA,QAAQ,IAAI,CAAa,aAAA;AAAA,IAC9B;AAAA,IACA,OAAO,kCACD,wBAAuB,aAAa,QAAQ,QAAQ,KAAK,EAAE,OAAO,CAAC,EAAA,GAAK,QACxE,wBAAuB,aAAa,UAAU,UAAU,CAAA,MAAK,CAAC,KAAK,EAAE,OAAO,CAAA,EAAM,GAAA;AAAA,EAExF,EAAA;AACJ;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,206 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+ import { A as ActionTypes } from "./actions.es.js";
21
+ const keys = (o) => Object.keys(o);
22
+ const coalesce = (...args) => {
23
+ let i;
24
+ for (i = 0; i < args.length - 1; i += 1) {
25
+ if (args[i] != null)
26
+ return args[i];
27
+ }
28
+ return args[i];
29
+ };
30
+ function shallowMerge(a, b) {
31
+ const bKeys = keys(b);
32
+ const merged = __spreadValues({}, a);
33
+ bKeys.forEach((key) => {
34
+ merged[key] = coalesce(merged[key], b[key]);
35
+ });
36
+ return merged;
37
+ }
38
+ const DefaultBreakpointID = {
39
+ Desktop: "desktop",
40
+ Tablet: "tablet",
41
+ Mobile: "mobile"
42
+ };
43
+ const DEFAULT_BREAKPOINTS = [
44
+ {
45
+ id: DefaultBreakpointID.Desktop,
46
+ label: "Desktop",
47
+ minWidth: 769
48
+ },
49
+ {
50
+ id: DefaultBreakpointID.Tablet,
51
+ label: "Tablet",
52
+ minWidth: 576,
53
+ maxWidth: 768,
54
+ viewportWidth: 760
55
+ },
56
+ {
57
+ id: DefaultBreakpointID.Mobile,
58
+ label: "Mobile",
59
+ maxWidth: 575,
60
+ viewportWidth: 390
61
+ }
62
+ ];
63
+ function getInitialState(breakpoints = DEFAULT_BREAKPOINTS) {
64
+ return breakpoints;
65
+ }
66
+ function reducer(state = getInitialState(), action) {
67
+ switch (action.type) {
68
+ case ActionTypes.SET_BREAKPOINTS: {
69
+ const breakpoints = action.payload.breakpoints;
70
+ if (breakpoints.length === 0)
71
+ throw new Error("Breakpoints cannot be empty.");
72
+ return breakpoints;
73
+ }
74
+ default:
75
+ return state;
76
+ }
77
+ }
78
+ function parseBreakpointsInput(input) {
79
+ validateBreakpointsInput(input);
80
+ const sorted = Object.entries(input).map(([id, value]) => __spreadProps(__spreadValues({}, value), { id })).sort((a, b) => b.width - a.width);
81
+ const transformed = sorted.reduce((prev, curr, index, array) => {
82
+ const { width, viewport, id, label } = curr;
83
+ const next = array[index + 1];
84
+ const breakpoint = __spreadProps(__spreadValues(__spreadValues({
85
+ id
86
+ }, label && { label }), next && { minWidth: next.width + 1 }), {
87
+ maxWidth: width,
88
+ viewportWidth: viewport != null ? viewport : width
89
+ });
90
+ return [...prev, breakpoint];
91
+ }, [
92
+ { id: DefaultBreakpointID.Desktop, label: "Desktop", minWidth: sorted[0].width + 1 }
93
+ ]);
94
+ return transformed;
95
+ }
96
+ function validateBreakpointsInput(input) {
97
+ if (DefaultBreakpointID.Desktop in input) {
98
+ throw new Error(`Cannot change the base breakpoint. "${DefaultBreakpointID.Desktop}" is reserved as the base breakpoint.`);
99
+ }
100
+ if (Object.keys(input).length === 0) {
101
+ throw new Error(`Breakpoints cannot be empty. You must provide at least one breakpoint.`);
102
+ }
103
+ const sorted = Object.entries(input).map(([id, value]) => __spreadProps(__spreadValues({}, value), { id })).sort((a, b) => b.width - a.width);
104
+ sorted.forEach(({ id, width, viewport }, index, array) => {
105
+ if (viewport && viewport > width) {
106
+ throw new Error(`Error on breakpoint "${id}". Viewport cannot be greater than its width.
107
+ "${id}" has a viewport of ${viewport}px and a width of ${width}px.`);
108
+ }
109
+ const next = array[index + 1];
110
+ if (viewport && next && viewport < next.width) {
111
+ throw new Error(`Error on breakpoint "${id}". Viewport cannot be smaller than the next breakpoint's width.
112
+ "${id}" has a viewport of ${viewport}px and the next breakpoint "${next.id}" has a width of ${next.width}px.`);
113
+ }
114
+ if (next && width === next.width) {
115
+ throw new Error(`Breakpoints cannot have the same width. "${id}" and "${next.id}" have the same width`);
116
+ }
117
+ });
118
+ }
119
+ function sortBreakpoints(breakpoints) {
120
+ return breakpoints.sort((a, b) => {
121
+ var _a, _b;
122
+ return ((_a = b == null ? void 0 : b.minWidth) != null ? _a : 0) - ((_b = a == null ? void 0 : a.minWidth) != null ? _b : 0);
123
+ });
124
+ }
125
+ const getBreakpoint = (state, breakpointId) => {
126
+ const breakpoint = state.find(({ id }) => id === breakpointId);
127
+ if (breakpoint == null)
128
+ throw new Error(`Unrecognized breakpoint ID: "${breakpointId}".`);
129
+ return breakpoint;
130
+ };
131
+ const getBaseBreakpoint = (breakpoints) => {
132
+ const breakpoint = sortBreakpoints(breakpoints)[0];
133
+ if (breakpoint == null)
134
+ throw new Error(`Cannot get base breakpoint.`);
135
+ return breakpoint;
136
+ };
137
+ function findBreakpointOverride(breakpoints, values = [], deviceId, strategy = defaultStrategy) {
138
+ const value = values.find(({ deviceId: d }) => d === deviceId);
139
+ const fallbacks = breakpoints.slice(0, breakpoints.findIndex((d) => d.id === deviceId) + 1).reverse().map((d) => values.find((v) => v.deviceId === d.id)).filter((override) => Boolean(override));
140
+ return value != null || fallbacks.length > 0 ? strategy(value, fallbacks) : void 0;
141
+ }
142
+ function defaultStrategy(value, fallbacks) {
143
+ return value || fallbacks[0];
144
+ }
145
+ function shallowMergeFallbacks(value, fallbacks) {
146
+ return [value, ...fallbacks].filter((override) => Boolean(override)).reduce((a, b) => ({
147
+ deviceId: a.deviceId || b.deviceId,
148
+ value: shallowMerge(a.value, b.value)
149
+ }));
150
+ }
151
+ function mergeOrCoalesce(a, b) {
152
+ if (typeof a === "object" && a !== null && !Array.isArray(a) && typeof b === "object" && b !== null && !Array.isArray(b)) {
153
+ return shallowMerge(a, b);
154
+ }
155
+ return coalesce(a, b);
156
+ }
157
+ function mergeOrCoalesceFallbacks(value, fallbacks) {
158
+ return [value, ...fallbacks].filter((override) => Boolean(override)).reduce((a, b) => ({
159
+ deviceId: a.deviceId || b.deviceId,
160
+ value: mergeOrCoalesce(a.value, b.value)
161
+ }));
162
+ }
163
+ function join(breakpoints, responsiveValues, joinFn, strategy) {
164
+ return breakpoints.map(({ id }) => id).map((deviceId) => {
165
+ const value = joinFn(responsiveValues.map((responsiveValue) => {
166
+ const deviceValue = responsiveValue && findBreakpointOverride(breakpoints, responsiveValue, deviceId, strategy);
167
+ return deviceValue == null ? void 0 : deviceValue.value;
168
+ }));
169
+ if (value == null)
170
+ return null;
171
+ return { deviceId, value };
172
+ }).filter((override) => Boolean(override));
173
+ }
174
+ const getBreakpointMediaQuery = (breakpoint) => {
175
+ const parts = ["@media only screen"];
176
+ if (breakpoint.minWidth != null) {
177
+ parts.push(`(min-width: ${breakpoint.minWidth}px)`);
178
+ }
179
+ if (breakpoint.maxWidth != null) {
180
+ parts.push(`(max-width: ${breakpoint.maxWidth}px)`);
181
+ }
182
+ return parts.join(" and ");
183
+ };
184
+ const getViewportStyle = (state, deviceId) => {
185
+ const device = getBreakpoint(state, deviceId);
186
+ return device && {
187
+ width: device.viewportWidth != null ? device.viewportWidth : "100%",
188
+ minWidth: device.minWidth
189
+ };
190
+ };
191
+ function findNextFallback(breakpoints, value, deviceId, activeDeviceId, fallbackStrategy) {
192
+ var _a;
193
+ const deviceOverride = findBreakpointOverride(breakpoints, value.filter((v) => v.deviceId !== activeDeviceId), deviceId, fallbackStrategy);
194
+ return (_a = deviceOverride && getBreakpoint(breakpoints, deviceOverride.deviceId)) != null ? _a : null;
195
+ }
196
+ const mergeResponsiveValues = (breakpoints, source, override) => {
197
+ const devices = [
198
+ ...new Set(source.map(({ deviceId }) => deviceId).concat(override.map(({ deviceId }) => deviceId)))
199
+ ];
200
+ return devices.map((deviceId) => ({
201
+ deviceId,
202
+ value: __spreadValues(__spreadValues({}, (findBreakpointOverride(breakpoints, source, deviceId) || { value: {} }).value), (findBreakpointOverride(breakpoints, override, deviceId, (v) => v) || { value: {} }).value)
203
+ }));
204
+ };
205
+ export { DefaultBreakpointID as D, getBaseBreakpoint as a, getBreakpoint as b, getBreakpointMediaQuery as c, shallowMergeFallbacks as d, DEFAULT_BREAKPOINTS as e, findBreakpointOverride as f, getInitialState as g, getViewportStyle as h, findNextFallback as i, join as j, keys as k, mergeResponsiveValues as l, mergeOrCoalesceFallbacks as m, parseBreakpointsInput as p, reducer as r, shallowMerge as s };
206
+ //# sourceMappingURL=breakpoints.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"breakpoints.es.js","sources":["../src/utils/keys.ts","../src/utils/coalesce.ts","../src/utils/shallowMerge.ts","../src/state/modules/breakpoints.ts"],"sourcesContent":["const keys = <O extends { [key: string]: unknown }>(o: O): (keyof O)[] => Object.keys(o)\n\nexport default keys\n","const coalesce = <T>(...args: Array<T>): T => {\n let i: number\n\n for (i = 0; i < args.length - 1; i += 1) {\n if (args[i] != null) return args[i]\n }\n\n return args[i]\n}\n\nexport default coalesce\n","import keys from './keys'\nimport coalesce from './coalesce'\n\nexport default function shallowMerge<\n A extends Record<string, unknown>,\n B extends Record<string, unknown>,\n>(a: A, b: B): A & B {\n const bKeys = keys(b)\n const merged = { ...a } as A & B\n\n bKeys.forEach(key => {\n // @ts-expect-error: `coalesce` returns `null | undefined` regardless of input guarantees.\n merged[key] = coalesce(merged[key], b[key])\n })\n\n return merged\n}\n","import { Viewport } from 'csstype'\n\nimport {\n ResponsiveValue as PropControllerResponsiveValue,\n DeviceOverride as PropControllerDeviceOverride,\n Device as DeviceId,\n} from '../../prop-controllers'\nimport shallowMerge from '../../utils/shallowMerge'\nimport { Action, ActionTypes } from '../actions'\nimport coalesce from '../../utils/coalesce'\nimport { Data } from '../../controls/types'\n\nexport type DeviceOverride<T> = PropControllerDeviceOverride<T>\nexport type ResponsiveValue<T> = PropControllerResponsiveValue<T>\nexport type BreakpointId = DeviceId\n\nexport type Breakpoint = {\n id: BreakpointId\n label?: string\n viewportWidth?: number\n minWidth?: number\n maxWidth?: number\n}\n\nexport type Breakpoints = Breakpoint[]\n\nexport type State = Breakpoints\n\nexport const DefaultBreakpointID = {\n Desktop: 'desktop',\n Tablet: 'tablet',\n Mobile: 'mobile',\n} as const\n\ntype DefaultBreakpointID = typeof DefaultBreakpointID[keyof typeof DefaultBreakpointID]\n\nexport const DEFAULT_BREAKPOINTS: Breakpoints = [\n {\n id: DefaultBreakpointID.Desktop,\n label: 'Desktop',\n minWidth: 769,\n },\n {\n id: DefaultBreakpointID.Tablet,\n label: 'Tablet',\n minWidth: 576,\n maxWidth: 768,\n viewportWidth: 760,\n },\n {\n id: DefaultBreakpointID.Mobile,\n label: 'Mobile',\n maxWidth: 575,\n viewportWidth: 390,\n },\n]\n\nexport function getInitialState(breakpoints = DEFAULT_BREAKPOINTS): State {\n return breakpoints\n}\n\nexport function reducer(state: State = getInitialState(), action: Action): State {\n switch (action.type) {\n case ActionTypes.SET_BREAKPOINTS: {\n const breakpoints = action.payload.breakpoints\n\n if (breakpoints.length === 0) throw new Error('Breakpoints cannot be empty.')\n\n return breakpoints\n }\n\n default:\n return state\n }\n}\n\nexport type BreakpointsInput = Record<string, { width: number; label?: string; viewport?: number }>\n\nexport function parseBreakpointsInput(input: BreakpointsInput): Breakpoints {\n validateBreakpointsInput(input)\n\n const sorted = Object.entries(input)\n .map(([id, value]) => ({ ...value, id }))\n .sort((a, b) => b.width - a.width) // Sort by width in descending order\n\n const transformed = sorted.reduce(\n (prev, curr, index, array) => {\n const { width, viewport, id, label } = curr\n const next = array[index + 1]\n\n const breakpoint: Breakpoint = {\n id,\n ...(label && { label }),\n ...(next && { minWidth: next.width + 1 }),\n maxWidth: width,\n viewportWidth: viewport ?? width,\n }\n\n return [...prev, breakpoint]\n },\n [\n { id: DefaultBreakpointID.Desktop, label: 'Desktop', minWidth: sorted[0].width + 1 },\n ] as Breakpoints,\n )\n\n return transformed\n}\n\nfunction validateBreakpointsInput(input: BreakpointsInput) {\n if (DefaultBreakpointID.Desktop in input) {\n throw new Error(\n `Cannot change the base breakpoint. \"${DefaultBreakpointID.Desktop}\" is reserved as the base breakpoint.`,\n )\n }\n\n if (Object.keys(input).length === 0) {\n throw new Error(`Breakpoints cannot be empty. You must provide at least one breakpoint.`)\n }\n\n const sorted = Object.entries(input)\n .map(([id, value]) => ({ ...value, id }))\n .sort((a, b) => b.width - a.width) // Sort by width in descending order\n\n sorted.forEach(({ id, width, viewport }, index, array) => {\n // This is only valid for desktop-first. We need to check the inverse for mobile-first.\n if (viewport && viewport > width) {\n throw new Error(\n `Error on breakpoint \"${id}\". Viewport cannot be greater than its width.\n \"${id}\" has a viewport of ${viewport}px and a width of ${width}px.`,\n )\n }\n\n const next = array[index + 1]\n\n if (viewport && next && viewport < next.width) {\n throw new Error(\n `Error on breakpoint \"${id}\". Viewport cannot be smaller than the next breakpoint's width. \n \"${id}\" has a viewport of ${viewport}px and the next breakpoint \"${next.id}\" has a width of ${next.width}px.`,\n )\n }\n\n if (next && width === next.width) {\n throw new Error(\n `Breakpoints cannot have the same width. \"${id}\" and \"${next.id}\" have the same width`,\n )\n }\n })\n}\n\n// Sort breakpoints by minWidth in descending order\nfunction sortBreakpoints(breakpoints: Breakpoints): Breakpoints {\n return breakpoints.sort((a, b) => (b?.minWidth ?? 0) - (a?.minWidth ?? 0))\n}\n\nexport const getBreakpoint = (state: State, breakpointId: Breakpoint['id']): Breakpoint => {\n const breakpoint = state.find(({ id }) => id === breakpointId)\n\n if (breakpoint == null) throw new Error(`Unrecognized breakpoint ID: \"${breakpointId}\".`)\n\n return breakpoint\n}\n\nexport const getBaseBreakpoint = (breakpoints: Breakpoints): Breakpoint => {\n const breakpoint = sortBreakpoints(breakpoints)[0]\n\n if (breakpoint == null) throw new Error(`Cannot get base breakpoint.`)\n\n return breakpoint\n}\n\nexport function findBreakpointOverride<S>(\n breakpoints: Breakpoints,\n values: ResponsiveValue<S> = [],\n deviceId: string,\n strategy: FallbackStrategy<S> = defaultStrategy,\n): DeviceOverride<S> | undefined {\n const value = values.find(({ deviceId: d }) => d === deviceId)\n const fallbacks = breakpoints\n .slice(0, breakpoints.findIndex(d => d.id === deviceId) + 1)\n .reverse()\n .map(d => values.find(v => v.deviceId === d.id))\n .filter((override): override is DeviceOverride<S> => Boolean(override))\n\n return value != null || fallbacks.length > 0 ? strategy(value, fallbacks) : undefined\n}\n\nexport type FallbackStrategy<V> = (\n arg0: DeviceOverride<V> | undefined,\n arg1: ResponsiveValue<V>,\n) => DeviceOverride<V> | undefined\n\nfunction defaultStrategy<V>(\n value: DeviceOverride<V> | undefined,\n fallbacks: ResponsiveValue<V>,\n): DeviceOverride<V> | undefined {\n return value || fallbacks[0]\n}\n\nexport function shallowMergeFallbacks<V extends Record<string, unknown>>(\n value: DeviceOverride<V> | undefined,\n fallbacks: ResponsiveValue<V>,\n): DeviceOverride<V> | undefined {\n return [value, ...fallbacks]\n .filter((override): override is DeviceOverride<V> => Boolean(override))\n .reduce((a, b) => ({\n deviceId: a.deviceId || b.deviceId,\n value: shallowMerge(a.value, b.value),\n }))\n}\n\nfunction mergeOrCoalesce<A extends Data>(a: A, b: A): A {\n if (\n typeof a === 'object' &&\n a !== null &&\n !Array.isArray(a) &&\n typeof b === 'object' &&\n b !== null &&\n !Array.isArray(b)\n ) {\n return shallowMerge(a, b) as A\n }\n return coalesce(a, b)\n}\n\nexport function mergeOrCoalesceFallbacks<V extends Data>(\n value: DeviceOverride<V> | undefined,\n fallbacks: ResponsiveValue<V>,\n): DeviceOverride<V> | undefined {\n return [value, ...fallbacks]\n .filter((override): override is DeviceOverride<V> => Boolean(override))\n .reduce((a, b) => ({\n deviceId: a.deviceId || b.deviceId,\n value: mergeOrCoalesce(a.value, b.value),\n }))\n}\n\nexport type ExtractResponsiveValue<T> = T extends ResponsiveValue<infer V> ? V : never\n\nexport function join<V, A extends ReadonlyArray<ResponsiveValue<V> | null | undefined>, R>(\n breakpoints: Breakpoints,\n responsiveValues: A,\n joinFn: (values: { [I in keyof A]: ExtractResponsiveValue<A[I]> | undefined }) => R,\n strategy?: FallbackStrategy<V>,\n): ResponsiveValue<R> {\n return breakpoints\n .map(({ id }) => id)\n .map(deviceId => {\n const value = joinFn(\n responsiveValues.map(responsiveValue => {\n const deviceValue =\n responsiveValue &&\n findBreakpointOverride(breakpoints, responsiveValue, deviceId, strategy)\n\n return deviceValue == null ? undefined : deviceValue.value\n }) as unknown as { [I in keyof A]: ExtractResponsiveValue<A[I] | undefined> },\n )\n\n if (value == null) return null\n\n return { deviceId, value }\n })\n .filter((override): override is NonNullable<typeof override> => Boolean(override))\n}\n\nexport const getBreakpointMediaQuery = (breakpoint: Breakpoint): string => {\n const parts = ['@media only screen']\n\n if (breakpoint.minWidth != null) {\n parts.push(`(min-width: ${breakpoint.minWidth}px)`)\n }\n\n if (breakpoint.maxWidth != null) {\n parts.push(`(max-width: ${breakpoint.maxWidth}px)`)\n }\n\n return parts.join(' and ')\n}\n\nexport const getViewportStyle = (\n state: State,\n deviceId: string,\n): Viewport<string | number> | null | undefined => {\n const device = getBreakpoint(state, deviceId)\n\n return (\n device && {\n width: device.viewportWidth != null ? device.viewportWidth : '100%',\n minWidth: device.minWidth,\n }\n )\n}\n\nexport function findNextFallback<V>(\n breakpoints: Breakpoints,\n value: ResponsiveValue<V>,\n deviceId: BreakpointId,\n activeDeviceId: BreakpointId,\n fallbackStrategy?: FallbackStrategy<V>,\n): Breakpoint | null {\n const deviceOverride = findBreakpointOverride(\n breakpoints,\n value.filter(v => v.deviceId !== activeDeviceId),\n deviceId,\n fallbackStrategy,\n )\n\n return (deviceOverride && getBreakpoint(breakpoints, deviceOverride.deviceId)) ?? null\n}\n\nexport const mergeResponsiveValues = <A>(\n breakpoints: Breakpoints,\n source: DeviceOverride<A>[],\n override: DeviceOverride<A>[],\n): DeviceOverride<A>[] => {\n const devices = [\n ...new Set(\n source.map(({ deviceId }) => deviceId).concat(override.map(({ deviceId }) => deviceId)),\n ),\n ]\n\n return devices.map(deviceId => ({\n deviceId,\n value: {\n ...(findBreakpointOverride(breakpoints, source, deviceId) || { value: {} }).value,\n ...(findBreakpointOverride(breakpoints, override, deviceId, v => v) || { value: {} }).value,\n },\n })) as DeviceOverride<A>[]\n}\n"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ require("redux");
7
7
  require("redux-thunk");
8
8
  require("./actions.cjs.js");
9
9
  require("zod");
10
- require("./state/breakpoints.cjs.js");
10
+ require("./breakpoints.cjs.js");
11
11
  require("ts-pattern");
12
12
  require("corporate-ipsum");
13
13
  require("slate");
@@ -5,7 +5,7 @@ import "redux";
5
5
  import "redux-thunk";
6
6
  import "./actions.es.js";
7
7
  import "zod";
8
- import "./state/breakpoints.es.js";
8
+ import "./breakpoints.es.js";
9
9
  import "ts-pattern";
10
10
  import "corporate-ipsum";
11
11
  import "slate";
@@ -25,7 +25,7 @@ require("redux");
25
25
  require("redux-thunk");
26
26
  require("./actions.cjs.js");
27
27
  require("zod");
28
- require("./state/breakpoints.cjs.js");
28
+ require("./breakpoints.cjs.js");
29
29
  require("ts-pattern");
30
30
  require("corporate-ipsum");
31
31
  require("slate");
@@ -23,7 +23,7 @@ import "redux";
23
23
  import "redux-thunk";
24
24
  import "./actions.es.js";
25
25
  import "zod";
26
- import "./state/breakpoints.es.js";
26
+ import "./breakpoints.es.js";
27
27
  import "ts-pattern";
28
28
  import "corporate-ipsum";
29
29
  import "slate";
@@ -41,7 +41,7 @@ require("slate-hyperscript");
41
41
  require("parse5");
42
42
  require("is-hotkey");
43
43
  require("react/jsx-runtime");
44
- require("./state/breakpoints.cjs.js");
44
+ require("./breakpoints.cjs.js");
45
45
  function isSerializedFunction(value) {
46
46
  return value instanceof MessagePort;
47
47
  }
@@ -41,7 +41,7 @@ import "slate-hyperscript";
41
41
  import "parse5";
42
42
  import "is-hotkey";
43
43
  import "react/jsx-runtime";
44
- import "./state/breakpoints.es.js";
44
+ import "./breakpoints.es.js";
45
45
  function isSerializedFunction(value) {
46
46
  return value instanceof MessagePort;
47
47
  }
@@ -7,7 +7,7 @@ require("redux");
7
7
  require("redux-thunk");
8
8
  require("./actions.cjs.js");
9
9
  require("zod");
10
- require("./state/breakpoints.cjs.js");
10
+ require("./breakpoints.cjs.js");
11
11
  require("ts-pattern");
12
12
  require("corporate-ipsum");
13
13
  require("slate");
@@ -5,7 +5,7 @@ import "redux";
5
5
  import "redux-thunk";
6
6
  import "./actions.es.js";
7
7
  import "zod";
8
- import "./state/breakpoints.es.js";
8
+ import "./breakpoints.es.js";
9
9
  import "ts-pattern";
10
10
  import "corporate-ipsum";
11
11
  import "slate";
package/dist/index.cjs.js CHANGED
@@ -50,7 +50,7 @@ require("escape-html");
50
50
  require("slate-hyperscript");
51
51
  require("parse5");
52
52
  require("is-hotkey");
53
- var state_breakpoints = require("./state/breakpoints.cjs.js");
53
+ var state_breakpoints = require("./breakpoints.cjs.js");
54
54
  var shim = require("use-sync-external-store/shim");
55
55
  var redux = require("redux");
56
56
  var thunk = require("redux-thunk");
@@ -1239,7 +1239,7 @@ async function fonts(_req, res, { getFonts } = {}) {
1239
1239
  const fonts2 = (_a = await (getFonts == null ? void 0 : getFonts())) != null ? _a : [];
1240
1240
  return res.json(fonts2);
1241
1241
  }
1242
- const version = "0.11.9";
1242
+ const version = "0.11.10";
1243
1243
  async function handler(req, res, { apiKey, siteVersions }) {
1244
1244
  if (req.query.secret !== apiKey) {
1245
1245
  return res.status(401).json({ message: "Unauthorized" });
@@ -43,7 +43,7 @@ require("slate-hyperscript");
43
43
  require("parse5");
44
44
  require("is-hotkey");
45
45
  var jsxRuntime = require("react/jsx-runtime");
46
- require("./state/breakpoints.cjs.js");
46
+ require("./breakpoints.cjs.js");
47
47
  var useMediaQuery = require("./useMediaQuery.cjs.js");
48
48
  var css = require("@emotion/css");
49
49
  var NextImage = require("next/image");
@@ -45,7 +45,7 @@ require("escape-html");
45
45
  require("slate-hyperscript");
46
46
  require("parse5");
47
47
  var jsxRuntime = require("react/jsx-runtime");
48
- require("./state/breakpoints.cjs.js");
48
+ require("./breakpoints.cjs.js");
49
49
  var index$1 = require("./index.cjs5.js");
50
50
  var index = require("./index.cjs3.js");
51
51
  require("./actions.cjs.js");
@@ -47,7 +47,7 @@ var index$1 = require("./index.cjs7.js");
47
47
  var useIsomorphicLayoutEffect = require("./useIsomorphicLayoutEffect.cjs.js");
48
48
  var jsxRuntime = require("react/jsx-runtime");
49
49
  require("./actions.cjs.js");
50
- var state_breakpoints = require("./state/breakpoints.cjs.js");
50
+ var state_breakpoints = require("./breakpoints.cjs.js");
51
51
  require("uuid");
52
52
  require("./index.cjs3.js");
53
53
  require("@emotion/css");
package/dist/index.es.js CHANGED
@@ -50,7 +50,7 @@ import "escape-html";
50
50
  import "slate-hyperscript";
51
51
  import "parse5";
52
52
  import "is-hotkey";
53
- import { getBaseBreakpoint, findBreakpointOverride, join, getBreakpoint, getBreakpointMediaQuery, mergeOrCoalesceFallbacks, shallowMergeFallbacks, parseBreakpointsInput } from "./state/breakpoints.es.js";
53
+ import { a as getBaseBreakpoint, f as findBreakpointOverride, j as join, b as getBreakpoint, c as getBreakpointMediaQuery, m as mergeOrCoalesceFallbacks, d as shallowMergeFallbacks, p as parseBreakpointsInput } from "./breakpoints.es.js";
54
54
  import { useSyncExternalStore } from "use-sync-external-store/shim";
55
55
  import { createStore, applyMiddleware } from "redux";
56
56
  import thunk from "redux-thunk";
@@ -1206,7 +1206,7 @@ async function fonts(_req, res, { getFonts } = {}) {
1206
1206
  const fonts2 = (_a = await (getFonts == null ? void 0 : getFonts())) != null ? _a : [];
1207
1207
  return res.json(fonts2);
1208
1208
  }
1209
- const version = "0.11.9";
1209
+ const version = "0.11.10";
1210
1210
  async function handler(req, res, { apiKey, siteVersions }) {
1211
1211
  if (req.query.secret !== apiKey) {
1212
1212
  return res.status(401).json({ message: "Unauthorized" });
package/dist/index.es2.js CHANGED
@@ -42,7 +42,7 @@ import "slate-hyperscript";
42
42
  import "parse5";
43
43
  import "is-hotkey";
44
44
  import { jsx, Fragment, jsxs } from "react/jsx-runtime";
45
- import "./state/breakpoints.es.js";
45
+ import "./breakpoints.es.js";
46
46
  import { u as useMediaQuery } from "./useMediaQuery.es.js";
47
47
  import { cx } from "@emotion/css";
48
48
  import NextImage from "next/image";
package/dist/index.es8.js CHANGED
@@ -43,7 +43,7 @@ import "escape-html";
43
43
  import "slate-hyperscript";
44
44
  import "parse5";
45
45
  import { jsx } from "react/jsx-runtime";
46
- import "./state/breakpoints.es.js";
46
+ import "./breakpoints.es.js";
47
47
  import { w as withBuilder } from "./index.es5.js";
48
48
  import { L as Link } from "./index.es3.js";
49
49
  import "./actions.es.js";
package/dist/index.es9.js CHANGED
@@ -45,7 +45,7 @@ import { w as withLocalChanges } from "./index.es7.js";
45
45
  import { u as useIsomorphicLayoutEffect } from "./useIsomorphicLayoutEffect.es.js";
46
46
  import { jsx } from "react/jsx-runtime";
47
47
  import "./actions.es.js";
48
- import { getBaseBreakpoint, DefaultBreakpointID } from "./state/breakpoints.es.js";
48
+ import { a as getBaseBreakpoint, D as DefaultBreakpointID } from "./breakpoints.es.js";
49
49
  import "uuid";
50
50
  import "./index.es3.js";
51
51
  import "@emotion/css";
package/dist/main.cjs.js CHANGED
@@ -6,7 +6,7 @@ var constants = require("./constants.cjs.js");
6
6
  require("zod");
7
7
  require("redux");
8
8
  require("redux-thunk");
9
- require("./state/breakpoints.cjs.js");
9
+ require("./breakpoints.cjs.js");
10
10
  require("ts-pattern");
11
11
  require("corporate-ipsum");
12
12
  require("slate");
package/dist/main.es.js CHANGED
@@ -4,7 +4,7 @@ export { M as MakeswiftComponentType } from "./constants.es.js";
4
4
  import "zod";
5
5
  import "redux";
6
6
  import "redux-thunk";
7
- import "./state/breakpoints.es.js";
7
+ import "./breakpoints.es.js";
8
8
  import "ts-pattern";
9
9
  import "corporate-ipsum";
10
10
  import "slate";
package/dist/next.cjs.js CHANGED
@@ -10,7 +10,7 @@ require("redux");
10
10
  require("redux-thunk");
11
11
  require("./actions.cjs.js");
12
12
  require("zod");
13
- require("./state/breakpoints.cjs.js");
13
+ require("./breakpoints.cjs.js");
14
14
  require("ts-pattern");
15
15
  require("corporate-ipsum");
16
16
  require("slate");
package/dist/next.es.js CHANGED
@@ -8,7 +8,7 @@ import "redux";
8
8
  import "redux-thunk";
9
9
  import "./actions.es.js";
10
10
  import "zod";
11
- import "./state/breakpoints.es.js";
11
+ import "./breakpoints.es.js";
12
12
  import "ts-pattern";
13
13
  import "corporate-ipsum";
14
14
  import "slate";
@@ -5,7 +5,7 @@ require("redux");
5
5
  require("redux-thunk");
6
6
  require("./actions.cjs.js");
7
7
  require("zod");
8
- require("./state/breakpoints.cjs.js");
8
+ require("./breakpoints.cjs.js");
9
9
  require("ts-pattern");
10
10
  require("corporate-ipsum");
11
11
  require("slate");
@@ -3,7 +3,7 @@ import "redux";
3
3
  import "redux-thunk";
4
4
  import "./actions.es.js";
5
5
  import "zod";
6
- import "./state/breakpoints.es.js";
6
+ import "./breakpoints.es.js";
7
7
  import "ts-pattern";
8
8
  import "corporate-ipsum";
9
9
  import "slate";