@makeswift/runtime 0.29.0-canary.21 → 0.29.0-canary.23

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 (159) hide show
  1. package/dist/cjs/api/graphql-api-client.js +1 -1
  2. package/dist/cjs/api/rest-api-client.js +1 -1
  3. package/dist/cjs/api-handler/handlers/manifest.js +1 -1
  4. package/dist/cjs/api-handler/handlers/merge-translated-data.js +2 -12
  5. package/dist/cjs/api-handler/handlers/merge-translated-data.js.map +1 -1
  6. package/dist/cjs/api-handler/handlers/revalidate.js +2 -12
  7. package/dist/cjs/api-handler/handlers/revalidate.js.map +1 -1
  8. package/dist/cjs/api-handler/handlers/table-record.js +2 -12
  9. package/dist/cjs/api-handler/handlers/table-record.js.map +1 -1
  10. package/dist/cjs/next/components/tests/controls/page-control-prop-rendering.js +3 -18
  11. package/dist/cjs/next/components/tests/controls/page-control-prop-rendering.js.map +1 -1
  12. package/dist/cjs/next/document.js +2 -1
  13. package/dist/cjs/next/document.js.map +1 -1
  14. package/dist/cjs/next/root-style-registry.js +11 -2
  15. package/dist/cjs/next/root-style-registry.js.map +1 -1
  16. package/dist/cjs/runtimes/react/css-runtime/components/styles-context-provider.js +2 -0
  17. package/dist/cjs/runtimes/react/css-runtime/components/styles-context-provider.js.map +1 -1
  18. package/dist/cjs/runtimes/react/css-runtime/constants.js +3 -0
  19. package/dist/cjs/runtimes/react/css-runtime/constants.js.map +1 -1
  20. package/dist/cjs/runtimes/react/css-runtime/hooks/use-base-styles.js +2 -2
  21. package/dist/cjs/runtimes/react/css-runtime/hooks/use-base-styles.js.map +1 -1
  22. package/dist/cjs/runtimes/react/css-runtime/hooks/use-controlled-styles.js +4 -3
  23. package/dist/cjs/runtimes/react/css-runtime/hooks/use-controlled-styles.js.map +1 -1
  24. package/dist/cjs/runtimes/react/css-runtime/hooks/use-css-reset.js +4 -7
  25. package/dist/cjs/runtimes/react/css-runtime/hooks/use-css-reset.js.map +1 -1
  26. package/dist/cjs/runtimes/react/css-runtime/hooks/use-legacy-controlled-style.js +2 -2
  27. package/dist/cjs/runtimes/react/css-runtime/hooks/use-legacy-controlled-style.js.map +1 -1
  28. package/dist/cjs/runtimes/react/css-runtime/hooks/use-style.js +4 -3
  29. package/dist/cjs/runtimes/react/css-runtime/hooks/use-style.js.map +1 -1
  30. package/dist/cjs/runtimes/react/css-runtime/serialize-css.js +24 -7
  31. package/dist/cjs/runtimes/react/css-runtime/serialize-css.js.map +1 -1
  32. package/dist/cjs/runtimes/react/css-runtime/stylesheet-engine.js +9 -3
  33. package/dist/cjs/runtimes/react/css-runtime/stylesheet-engine.js.map +1 -1
  34. package/dist/cjs/runtimes/react/hooks/use-async-effect.js +4 -3
  35. package/dist/cjs/runtimes/react/hooks/use-async-effect.js.map +1 -1
  36. package/dist/cjs/runtimes/react/hooks/use-server-element-refresh.js +10 -20
  37. package/dist/cjs/runtimes/react/hooks/use-server-element-refresh.js.map +1 -1
  38. package/dist/cjs/runtimes/react/root-style-registry.js +5 -1
  39. package/dist/cjs/runtimes/react/root-style-registry.js.map +1 -1
  40. package/dist/cjs/runtimes/react/server/components/editable-server-element.js +18 -14
  41. package/dist/cjs/runtimes/react/server/components/editable-server-element.js.map +1 -1
  42. package/dist/cjs/runtimes/react/server/components/element-data.js +1 -0
  43. package/dist/cjs/runtimes/react/server/components/element-data.js.map +1 -1
  44. package/dist/cjs/runtimes/react/server/components/server-elements-cache.js +75 -25
  45. package/dist/cjs/runtimes/react/server/components/server-elements-cache.js.map +1 -1
  46. package/dist/cjs/state/actions/internal/read-write-action-types.js +1 -1
  47. package/dist/cjs/state/actions/internal/read-write-action-types.js.map +1 -1
  48. package/dist/cjs/state/actions/internal/read-write-actions.js +4 -4
  49. package/dist/cjs/state/actions/internal/read-write-actions.js.map +1 -1
  50. package/dist/cjs/state/modules/read-write/resolved-value-overrides.js +32 -14
  51. package/dist/cjs/state/modules/read-write/resolved-value-overrides.js.map +1 -1
  52. package/dist/cjs/state/read-write-state.js +5 -0
  53. package/dist/cjs/state/read-write-state.js.map +1 -1
  54. package/dist/cjs/testing/window.js +50 -0
  55. package/dist/cjs/testing/window.js.map +1 -0
  56. package/dist/cjs/utils/{isErrorWithMessage.js → error-message.js} +12 -5
  57. package/dist/cjs/utils/error-message.js.map +1 -0
  58. package/dist/esm/api/graphql-api-client.js +1 -1
  59. package/dist/esm/api/rest-api-client.js +1 -1
  60. package/dist/esm/api-handler/handlers/manifest.js +1 -1
  61. package/dist/esm/api-handler/handlers/merge-translated-data.js +1 -1
  62. package/dist/esm/api-handler/handlers/merge-translated-data.js.map +1 -1
  63. package/dist/esm/api-handler/handlers/revalidate.js +1 -1
  64. package/dist/esm/api-handler/handlers/revalidate.js.map +1 -1
  65. package/dist/esm/api-handler/handlers/table-record.js +1 -1
  66. package/dist/esm/api-handler/handlers/table-record.js.map +1 -1
  67. package/dist/esm/next/components/tests/controls/page-control-prop-rendering.js +3 -18
  68. package/dist/esm/next/components/tests/controls/page-control-prop-rendering.js.map +1 -1
  69. package/dist/esm/next/document.js +2 -1
  70. package/dist/esm/next/document.js.map +1 -1
  71. package/dist/esm/next/root-style-registry.js +11 -2
  72. package/dist/esm/next/root-style-registry.js.map +1 -1
  73. package/dist/esm/runtimes/react/css-runtime/components/styles-context-provider.js +2 -0
  74. package/dist/esm/runtimes/react/css-runtime/components/styles-context-provider.js.map +1 -1
  75. package/dist/esm/runtimes/react/css-runtime/constants.js +2 -0
  76. package/dist/esm/runtimes/react/css-runtime/constants.js.map +1 -1
  77. package/dist/esm/runtimes/react/css-runtime/hooks/use-base-styles.js +2 -2
  78. package/dist/esm/runtimes/react/css-runtime/hooks/use-base-styles.js.map +1 -1
  79. package/dist/esm/runtimes/react/css-runtime/hooks/use-controlled-styles.js +4 -3
  80. package/dist/esm/runtimes/react/css-runtime/hooks/use-controlled-styles.js.map +1 -1
  81. package/dist/esm/runtimes/react/css-runtime/hooks/use-css-reset.js +4 -7
  82. package/dist/esm/runtimes/react/css-runtime/hooks/use-css-reset.js.map +1 -1
  83. package/dist/esm/runtimes/react/css-runtime/hooks/use-legacy-controlled-style.js +2 -2
  84. package/dist/esm/runtimes/react/css-runtime/hooks/use-legacy-controlled-style.js.map +1 -1
  85. package/dist/esm/runtimes/react/css-runtime/hooks/use-style.js +4 -3
  86. package/dist/esm/runtimes/react/css-runtime/hooks/use-style.js.map +1 -1
  87. package/dist/esm/runtimes/react/css-runtime/serialize-css.js +34 -8
  88. package/dist/esm/runtimes/react/css-runtime/serialize-css.js.map +1 -1
  89. package/dist/esm/runtimes/react/css-runtime/stylesheet-engine.js +9 -3
  90. package/dist/esm/runtimes/react/css-runtime/stylesheet-engine.js.map +1 -1
  91. package/dist/esm/runtimes/react/hooks/use-async-effect.js +4 -3
  92. package/dist/esm/runtimes/react/hooks/use-async-effect.js.map +1 -1
  93. package/dist/esm/runtimes/react/hooks/use-server-element-refresh.js +11 -21
  94. package/dist/esm/runtimes/react/hooks/use-server-element-refresh.js.map +1 -1
  95. package/dist/esm/runtimes/react/root-style-registry.js +7 -2
  96. package/dist/esm/runtimes/react/root-style-registry.js.map +1 -1
  97. package/dist/esm/runtimes/react/server/components/editable-server-element.js +19 -15
  98. package/dist/esm/runtimes/react/server/components/editable-server-element.js.map +1 -1
  99. package/dist/esm/runtimes/react/server/components/element-data.js +1 -0
  100. package/dist/esm/runtimes/react/server/components/element-data.js.map +1 -1
  101. package/dist/esm/runtimes/react/server/components/server-elements-cache.js +83 -26
  102. package/dist/esm/runtimes/react/server/components/server-elements-cache.js.map +1 -1
  103. package/dist/esm/state/actions/internal/read-write-action-types.js +1 -1
  104. package/dist/esm/state/actions/internal/read-write-action-types.js.map +1 -1
  105. package/dist/esm/state/actions/internal/read-write-actions.js +3 -3
  106. package/dist/esm/state/actions/internal/read-write-actions.js.map +1 -1
  107. package/dist/esm/state/modules/read-write/resolved-value-overrides.js +31 -14
  108. package/dist/esm/state/modules/read-write/resolved-value-overrides.js.map +1 -1
  109. package/dist/esm/state/read-write-state.js +4 -0
  110. package/dist/esm/state/read-write-state.js.map +1 -1
  111. package/dist/esm/testing/window.js +26 -0
  112. package/dist/esm/testing/window.js.map +1 -0
  113. package/dist/esm/utils/error-message.js +9 -0
  114. package/dist/esm/utils/error-message.js.map +1 -0
  115. package/dist/types/next/components/tests/controls/page-control-prop-rendering.d.ts.map +1 -1
  116. package/dist/types/next/root-style-registry.d.ts +1 -1
  117. package/dist/types/next/root-style-registry.d.ts.map +1 -1
  118. package/dist/types/runtimes/react/css-runtime/__tests__/runtime-integration/utils.d.ts +2 -1
  119. package/dist/types/runtimes/react/css-runtime/__tests__/runtime-integration/utils.d.ts.map +1 -1
  120. package/dist/types/runtimes/react/css-runtime/components/styles-context-provider.d.ts +2 -1
  121. package/dist/types/runtimes/react/css-runtime/components/styles-context-provider.d.ts.map +1 -1
  122. package/dist/types/runtimes/react/css-runtime/constants.d.ts +1 -0
  123. package/dist/types/runtimes/react/css-runtime/constants.d.ts.map +1 -1
  124. package/dist/types/runtimes/react/css-runtime/hooks/use-controlled-styles.d.ts.map +1 -1
  125. package/dist/types/runtimes/react/css-runtime/hooks/use-style.d.ts.map +1 -1
  126. package/dist/types/runtimes/react/css-runtime/serialize-css.d.ts +7 -3
  127. package/dist/types/runtimes/react/css-runtime/serialize-css.d.ts.map +1 -1
  128. package/dist/types/runtimes/react/css-runtime/stylesheet-engine.d.ts +3 -1
  129. package/dist/types/runtimes/react/css-runtime/stylesheet-engine.d.ts.map +1 -1
  130. package/dist/types/runtimes/react/hooks/use-async-effect.d.ts.map +1 -1
  131. package/dist/types/runtimes/react/hooks/use-server-element-refresh.d.ts +3 -4
  132. package/dist/types/runtimes/react/hooks/use-server-element-refresh.d.ts.map +1 -1
  133. package/dist/types/runtimes/react/root-style-registry.d.ts +12 -2
  134. package/dist/types/runtimes/react/root-style-registry.d.ts.map +1 -1
  135. package/dist/types/runtimes/react/server/components/editable-server-element.d.ts.map +1 -1
  136. package/dist/types/runtimes/react/server/components/element-data.d.ts.map +1 -1
  137. package/dist/types/runtimes/react/server/components/server-elements-cache.d.ts +2 -2
  138. package/dist/types/runtimes/react/server/components/server-elements-cache.d.ts.map +1 -1
  139. package/dist/types/state/actions/index.d.ts +1 -1
  140. package/dist/types/state/actions/internal/action-types.d.ts +1 -1
  141. package/dist/types/state/actions/internal/read-write-action-types.d.ts +1 -1
  142. package/dist/types/state/actions/internal/read-write-actions.d.ts +6 -5
  143. package/dist/types/state/actions/internal/read-write-actions.d.ts.map +1 -1
  144. package/dist/types/state/modules/read-write/resolved-value-overrides.d.ts +9 -3
  145. package/dist/types/state/modules/read-write/resolved-value-overrides.d.ts.map +1 -1
  146. package/dist/types/state/read-write-state.d.ts +1 -0
  147. package/dist/types/state/read-write-state.d.ts.map +1 -1
  148. package/dist/types/testing/window.d.ts +9 -0
  149. package/dist/types/testing/window.d.ts.map +1 -0
  150. package/dist/types/utils/__tests__/error-message.test.d.ts +2 -0
  151. package/dist/types/utils/__tests__/error-message.test.d.ts.map +1 -0
  152. package/dist/types/utils/error-message.d.ts +7 -0
  153. package/dist/types/utils/error-message.d.ts.map +1 -0
  154. package/package.json +3 -3
  155. package/dist/cjs/utils/isErrorWithMessage.js.map +0 -1
  156. package/dist/esm/utils/isErrorWithMessage.js +0 -7
  157. package/dist/esm/utils/isErrorWithMessage.js.map +0 -1
  158. package/dist/types/utils/isErrorWithMessage.d.ts +0 -6
  159. package/dist/types/utils/isErrorWithMessage.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/state/actions/internal/read-write-actions.ts"],"sourcesContent":["import { type Operation } from 'ot-json0'\nimport { type ThunkAction } from '@reduxjs/toolkit'\n\nimport { ControlInstance } from '@makeswift/controls'\n\nimport { ElementImperativeHandle } from '../../../runtimes/react/element-imperative-handle'\n\nimport { type DescriptorsByComponentType } from '../../modules/prop-controller-descriptors'\nimport { type Measurable } from '../../modules/read-write/box-models'\nimport { type PropControllersHandle } from '../../modules/read-write/prop-controllers'\nimport {\n type ResolvedValueKey,\n type ResolvedValue,\n} from '../../modules/read-write/resolved-value-overrides'\n\nimport { createPropController } from '../../../prop-controllers/instances'\n\nimport { type Action } from '../../actions'\nimport * as Builder from '../../builder-api/actions'\n\nimport { type DocumentPayload } from '../../shared-api'\nimport { type SerializedState as APIClientCache } from '../../api-client/state'\nimport { getComponentPropControllerDescriptors } from '../../read-only-state'\nimport { type State } from '../../unified-state'\n\nimport { ReadWriteActionTypes } from './read-write-action-types'\n\ntype FlushActionBufferAction = {\n type: typeof ReadWriteActionTypes.FLUSH_ACTION_BUFFER\n}\n\ntype ChangeElementTreeAction = {\n type: typeof ReadWriteActionTypes.CHANGE_ELEMENT_TREE\n payload: {\n oldDocument: DocumentPayload\n newDocument: DocumentPayload\n descriptors: DescriptorsByComponentType\n operation: Operation\n }\n}\n\ntype RegisterComponentHandleAction = {\n type: typeof ReadWriteActionTypes.REGISTER_COMPONENT_HANDLE\n payload: { documentKey: string; elementKey: string; componentHandle: ElementImperativeHandle }\n}\n\ntype UnregisterComponentHandleAction = {\n type: typeof ReadWriteActionTypes.UNREGISTER_COMPONENT_HANDLE\n payload: { documentKey: string; elementKey: string }\n}\n\ntype RegisterPropControllersHandleAction = {\n type: typeof ReadWriteActionTypes.REGISTER_PROP_CONTROLLERS_HANDLE\n payload: { documentKey: string; elementKey: string; handle: PropControllersHandle }\n}\n\ntype UnregisterPropControllersHandleAction = {\n type: typeof ReadWriteActionTypes.UNREGISTER_PROP_CONTROLLERS_HANDLE\n payload: { documentKey: string; elementKey: string }\n}\n\ntype RegisterPropControllersAction = {\n type: typeof ReadWriteActionTypes.REGISTER_PROP_CONTROLLERS\n payload: {\n documentKey: string\n elementKey: string\n propControllers: Record<string, ControlInstance>\n }\n}\n\ntype UnregisterPropControllersAction = {\n type: typeof ReadWriteActionTypes.UNREGISTER_PROP_CONTROLLERS\n payload: { documentKey: string; elementKey: string }\n}\n\ntype RegisterMeasurableAction = {\n type: typeof ReadWriteActionTypes.REGISTER_MEASURABLE\n payload: { documentKey: string; elementKey: string; measurable: Measurable }\n}\n\ntype UnregisterMeasurableAction = {\n type: typeof ReadWriteActionTypes.UNREGISTER_MEASURABLE\n payload: { documentKey: string; elementKey: string }\n}\n\ntype SetResolvedValueOverrideAction = {\n type: typeof ReadWriteActionTypes.SET_RESOLVED_VALUE_OVERRIDE\n payload: { documentKey: string; instanceKey: ResolvedValueKey; value: ResolvedValue }\n}\n\ntype ClearResolvedValueOverrideAction = {\n type: typeof ReadWriteActionTypes.CLEAR_RESOLVED_VALUE_OVERRIDE\n payload: { documentKey: string; instanceKey: ResolvedValueKey }\n}\n\ntype UpdateAPIClientCache = {\n type: typeof ReadWriteActionTypes.UPDATE_API_CLIENT_CACHE\n payload: APIClientCache\n}\n\ntype ClearAPIClientCache = {\n type: typeof ReadWriteActionTypes.CLEAR_API_CLIENT_CACHE\n}\n\nexport type ReadWriteAction =\n | FlushActionBufferAction\n | ChangeElementTreeAction\n | RegisterComponentHandleAction\n | UnregisterComponentHandleAction\n | RegisterPropControllersHandleAction\n | UnregisterPropControllersHandleAction\n | RegisterPropControllersAction\n | UnregisterPropControllersAction\n | RegisterMeasurableAction\n | UnregisterMeasurableAction\n | SetResolvedValueOverrideAction\n | ClearResolvedValueOverrideAction\n | UpdateAPIClientCache\n | ClearAPIClientCache\n\nexport function flushActionBuffer() {\n return { type: ReadWriteActionTypes.FLUSH_ACTION_BUFFER }\n}\n\nexport function changeElementTree(\n payload: ChangeElementTreeAction['payload'],\n): ChangeElementTreeAction {\n return {\n type: ReadWriteActionTypes.CHANGE_ELEMENT_TREE,\n payload,\n }\n}\n\nexport function registerComponentHandle(\n documentKey: string,\n elementKey: string,\n componentHandle: ElementImperativeHandle,\n): RegisterComponentHandleAction {\n return {\n type: ReadWriteActionTypes.REGISTER_COMPONENT_HANDLE,\n payload: { documentKey, elementKey, componentHandle },\n }\n}\n\nexport function unregisterComponentHandle(\n documentKey: string,\n elementKey: string,\n): UnregisterComponentHandleAction {\n return {\n type: ReadWriteActionTypes.UNREGISTER_COMPONENT_HANDLE,\n payload: { documentKey, elementKey },\n }\n}\n\nexport function registerComponentHandleEffect(\n documentKey: string,\n elementKey: string,\n componentHandle: ElementImperativeHandle,\n): ThunkAction<() => void, unknown, unknown, ReadWriteAction> {\n return dispatch => {\n dispatch(registerComponentHandle(documentKey, elementKey, componentHandle))\n\n return () => {\n dispatch(unregisterComponentHandle(documentKey, elementKey))\n }\n }\n}\n\nexport function registerPropControllersHandle(\n documentKey: string,\n elementKey: string,\n handle: PropControllersHandle,\n): RegisterPropControllersHandleAction {\n return {\n type: ReadWriteActionTypes.REGISTER_PROP_CONTROLLERS_HANDLE,\n payload: { documentKey, elementKey, handle },\n }\n}\n\nexport function unregisterPropControllersHandle(\n documentKey: string,\n elementKey: string,\n): UnregisterPropControllersHandleAction {\n return {\n type: ReadWriteActionTypes.UNREGISTER_PROP_CONTROLLERS_HANDLE,\n payload: { documentKey, elementKey },\n }\n}\n\nexport function registerPropControllers(\n documentKey: string,\n elementKey: string,\n propControllers: Record<string, ControlInstance>,\n): RegisterPropControllersAction {\n return {\n type: ReadWriteActionTypes.REGISTER_PROP_CONTROLLERS,\n payload: { documentKey, elementKey, propControllers },\n }\n}\n\nexport function unregisterPropControllers(\n documentKey: string,\n elementKey: string,\n): UnregisterPropControllersAction {\n return {\n type: ReadWriteActionTypes.UNREGISTER_PROP_CONTROLLERS,\n payload: { documentKey, elementKey },\n }\n}\n\nexport function registerPropControllersEffect(\n documentKey: string,\n elementKey: string,\n propControllers: Record<string, ControlInstance>,\n): ThunkAction<() => void, unknown, unknown, ReadWriteAction> {\n return dispatch => {\n dispatch(registerPropControllers(documentKey, elementKey, propControllers))\n\n return () => {\n dispatch(unregisterPropControllers(documentKey, elementKey))\n }\n }\n}\n\nexport function registerMeasurable(\n documentKey: string,\n elementKey: string,\n measurable: Measurable,\n): RegisterMeasurableAction {\n return {\n type: ReadWriteActionTypes.REGISTER_MEASURABLE,\n payload: { documentKey, elementKey, measurable },\n }\n}\n\nexport function unregisterMeasurable(\n documentKey: string,\n elementKey: string,\n): UnregisterMeasurableAction {\n return { type: ReadWriteActionTypes.UNREGISTER_MEASURABLE, payload: { documentKey, elementKey } }\n}\n\nexport function setResolvedValueOverride(\n payload: SetResolvedValueOverrideAction['payload'],\n): SetResolvedValueOverrideAction {\n return {\n type: ReadWriteActionTypes.SET_RESOLVED_VALUE_OVERRIDE,\n payload,\n }\n}\n\nexport function clearResolvedValueOverride(\n payload: ClearResolvedValueOverrideAction['payload'],\n): ClearResolvedValueOverrideAction {\n return {\n type: ReadWriteActionTypes.CLEAR_RESOLVED_VALUE_OVERRIDE,\n payload,\n }\n}\n\nexport function registerMeasurableEffect(\n documentKey: string,\n elementKey: string,\n measurable: Measurable,\n): ThunkAction<() => void, unknown, unknown, ReadWriteAction> {\n return dispatch => {\n dispatch(registerMeasurable(documentKey, elementKey, measurable))\n\n return () => {\n dispatch(unregisterMeasurable(documentKey, elementKey))\n }\n }\n}\n\nexport function updateAPIClientCache(payload: APIClientCache): UpdateAPIClientCache {\n return { type: ReadWriteActionTypes.UPDATE_API_CLIENT_CACHE, payload }\n}\n\nexport function clearAPIClientCache(): ClearAPIClientCache {\n return { type: ReadWriteActionTypes.CLEAR_API_CLIENT_CACHE }\n}\n\nexport function createPropControllers({\n documentKey,\n elementKey,\n componentType,\n}: {\n documentKey: string\n elementKey: string\n componentType: string\n}): ThunkAction<Record<string, ControlInstance> | null, State, unknown, Action> {\n return (dispatch, getState) => {\n const descriptors = getComponentPropControllerDescriptors(getState(), componentType)\n if (descriptors == null) return null\n\n const propControllers = Object.entries(descriptors).reduce(\n (acc, [propName, descriptor]) => {\n const propController = createPropController({\n descriptor,\n instanceKey: { elementKey, propPath: propName },\n sendMessage: message =>\n dispatch(\n Builder.messageBuilderPropController(documentKey, elementKey, propName, message),\n ),\n }) as ControlInstance\n\n return { ...acc, [propName]: propController }\n },\n {} as Record<string, ControlInstance>,\n )\n\n return propControllers\n }\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../../../src/state/actions/internal/read-write-actions.ts"],"sourcesContent":["import { type Operation } from 'ot-json0'\nimport { type ThunkAction } from '@reduxjs/toolkit'\n\nimport { ControlInstance } from '@makeswift/controls'\n\nimport { ElementImperativeHandle } from '../../../runtimes/react/element-imperative-handle'\n\nimport { type DescriptorsByComponentType } from '../../modules/prop-controller-descriptors'\nimport { type Measurable } from '../../modules/read-write/box-models'\nimport { type PropControllersHandle } from '../../modules/read-write/prop-controllers'\nimport {\n type ResolvedValueKey,\n type ResolvedValue,\n} from '../../modules/read-write/resolved-value-overrides'\n\nimport { createPropController } from '../../../prop-controllers/instances'\n\nimport { type Action } from '../../actions'\nimport * as Builder from '../../builder-api/actions'\n\nimport { type DocumentPayload } from '../../shared-api'\nimport { type SerializedState as APIClientCache } from '../../api-client/state'\nimport { getComponentPropControllerDescriptors } from '../../read-only-state'\nimport { type State } from '../../unified-state'\n\nimport { ReadWriteActionTypes } from './read-write-action-types'\n\ntype FlushActionBufferAction = {\n type: typeof ReadWriteActionTypes.FLUSH_ACTION_BUFFER\n}\n\ntype ChangeElementTreeAction = {\n type: typeof ReadWriteActionTypes.CHANGE_ELEMENT_TREE\n payload: {\n oldDocument: DocumentPayload\n newDocument: DocumentPayload\n descriptors: DescriptorsByComponentType\n operation: Operation\n }\n}\n\ntype RegisterComponentHandleAction = {\n type: typeof ReadWriteActionTypes.REGISTER_COMPONENT_HANDLE\n payload: { documentKey: string; elementKey: string; componentHandle: ElementImperativeHandle }\n}\n\ntype UnregisterComponentHandleAction = {\n type: typeof ReadWriteActionTypes.UNREGISTER_COMPONENT_HANDLE\n payload: { documentKey: string; elementKey: string }\n}\n\ntype RegisterPropControllersHandleAction = {\n type: typeof ReadWriteActionTypes.REGISTER_PROP_CONTROLLERS_HANDLE\n payload: { documentKey: string; elementKey: string; handle: PropControllersHandle }\n}\n\ntype UnregisterPropControllersHandleAction = {\n type: typeof ReadWriteActionTypes.UNREGISTER_PROP_CONTROLLERS_HANDLE\n payload: { documentKey: string; elementKey: string }\n}\n\ntype RegisterPropControllersAction = {\n type: typeof ReadWriteActionTypes.REGISTER_PROP_CONTROLLERS\n payload: {\n documentKey: string\n elementKey: string\n propControllers: Record<string, ControlInstance>\n }\n}\n\ntype UnregisterPropControllersAction = {\n type: typeof ReadWriteActionTypes.UNREGISTER_PROP_CONTROLLERS\n payload: { documentKey: string; elementKey: string }\n}\n\ntype RegisterMeasurableAction = {\n type: typeof ReadWriteActionTypes.REGISTER_MEASURABLE\n payload: { documentKey: string; elementKey: string; measurable: Measurable }\n}\n\ntype UnregisterMeasurableAction = {\n type: typeof ReadWriteActionTypes.UNREGISTER_MEASURABLE\n payload: { documentKey: string; elementKey: string }\n}\n\ntype SetResolvedValueOverrideAction = {\n type: typeof ReadWriteActionTypes.SET_RESOLVED_VALUE_OVERRIDE\n payload: { documentKey: string; instanceKey: ResolvedValueKey; value: ResolvedValue }\n}\n\ntype ClearStaleResolvedValueOverridesAction = {\n type: typeof ReadWriteActionTypes.CLEAR_STALE_RESOLVED_VALUE_OVERRIDES\n payload: { documentKey: string; elementKey: string; generation: number }\n}\n\ntype UpdateAPIClientCache = {\n type: typeof ReadWriteActionTypes.UPDATE_API_CLIENT_CACHE\n payload: APIClientCache\n}\n\ntype ClearAPIClientCache = {\n type: typeof ReadWriteActionTypes.CLEAR_API_CLIENT_CACHE\n}\n\nexport type ReadWriteAction =\n | FlushActionBufferAction\n | ChangeElementTreeAction\n | RegisterComponentHandleAction\n | UnregisterComponentHandleAction\n | RegisterPropControllersHandleAction\n | UnregisterPropControllersHandleAction\n | RegisterPropControllersAction\n | UnregisterPropControllersAction\n | RegisterMeasurableAction\n | UnregisterMeasurableAction\n | SetResolvedValueOverrideAction\n | ClearStaleResolvedValueOverridesAction\n | UpdateAPIClientCache\n | ClearAPIClientCache\n\nexport function flushActionBuffer() {\n return { type: ReadWriteActionTypes.FLUSH_ACTION_BUFFER }\n}\n\nexport function changeElementTree(\n payload: ChangeElementTreeAction['payload'],\n): ChangeElementTreeAction {\n return {\n type: ReadWriteActionTypes.CHANGE_ELEMENT_TREE,\n payload,\n }\n}\n\nexport function registerComponentHandle(\n documentKey: string,\n elementKey: string,\n componentHandle: ElementImperativeHandle,\n): RegisterComponentHandleAction {\n return {\n type: ReadWriteActionTypes.REGISTER_COMPONENT_HANDLE,\n payload: { documentKey, elementKey, componentHandle },\n }\n}\n\nexport function unregisterComponentHandle(\n documentKey: string,\n elementKey: string,\n): UnregisterComponentHandleAction {\n return {\n type: ReadWriteActionTypes.UNREGISTER_COMPONENT_HANDLE,\n payload: { documentKey, elementKey },\n }\n}\n\nexport function registerComponentHandleEffect(\n documentKey: string,\n elementKey: string,\n componentHandle: ElementImperativeHandle,\n): ThunkAction<() => void, unknown, unknown, ReadWriteAction> {\n return dispatch => {\n dispatch(registerComponentHandle(documentKey, elementKey, componentHandle))\n\n return () => {\n dispatch(unregisterComponentHandle(documentKey, elementKey))\n }\n }\n}\n\nexport function registerPropControllersHandle(\n documentKey: string,\n elementKey: string,\n handle: PropControllersHandle,\n): RegisterPropControllersHandleAction {\n return {\n type: ReadWriteActionTypes.REGISTER_PROP_CONTROLLERS_HANDLE,\n payload: { documentKey, elementKey, handle },\n }\n}\n\nexport function unregisterPropControllersHandle(\n documentKey: string,\n elementKey: string,\n): UnregisterPropControllersHandleAction {\n return {\n type: ReadWriteActionTypes.UNREGISTER_PROP_CONTROLLERS_HANDLE,\n payload: { documentKey, elementKey },\n }\n}\n\nexport function registerPropControllers(\n documentKey: string,\n elementKey: string,\n propControllers: Record<string, ControlInstance>,\n): RegisterPropControllersAction {\n return {\n type: ReadWriteActionTypes.REGISTER_PROP_CONTROLLERS,\n payload: { documentKey, elementKey, propControllers },\n }\n}\n\nexport function unregisterPropControllers(\n documentKey: string,\n elementKey: string,\n): UnregisterPropControllersAction {\n return {\n type: ReadWriteActionTypes.UNREGISTER_PROP_CONTROLLERS,\n payload: { documentKey, elementKey },\n }\n}\n\nexport function registerPropControllersEffect(\n documentKey: string,\n elementKey: string,\n propControllers: Record<string, ControlInstance>,\n): ThunkAction<() => void, unknown, unknown, ReadWriteAction> {\n return dispatch => {\n dispatch(registerPropControllers(documentKey, elementKey, propControllers))\n\n return () => {\n dispatch(unregisterPropControllers(documentKey, elementKey))\n }\n }\n}\n\nexport function registerMeasurable(\n documentKey: string,\n elementKey: string,\n measurable: Measurable,\n): RegisterMeasurableAction {\n return {\n type: ReadWriteActionTypes.REGISTER_MEASURABLE,\n payload: { documentKey, elementKey, measurable },\n }\n}\n\nexport function unregisterMeasurable(\n documentKey: string,\n elementKey: string,\n): UnregisterMeasurableAction {\n return { type: ReadWriteActionTypes.UNREGISTER_MEASURABLE, payload: { documentKey, elementKey } }\n}\n\nexport function setResolvedValueOverride(\n payload: SetResolvedValueOverrideAction['payload'],\n): SetResolvedValueOverrideAction {\n return {\n type: ReadWriteActionTypes.SET_RESOLVED_VALUE_OVERRIDE,\n payload,\n }\n}\n\nexport function clearStaleResolvedValueOverrides(\n payload: ClearStaleResolvedValueOverridesAction['payload'],\n): ClearStaleResolvedValueOverridesAction {\n return {\n type: ReadWriteActionTypes.CLEAR_STALE_RESOLVED_VALUE_OVERRIDES,\n payload,\n }\n}\n\nexport function registerMeasurableEffect(\n documentKey: string,\n elementKey: string,\n measurable: Measurable,\n): ThunkAction<() => void, unknown, unknown, ReadWriteAction> {\n return dispatch => {\n dispatch(registerMeasurable(documentKey, elementKey, measurable))\n\n return () => {\n dispatch(unregisterMeasurable(documentKey, elementKey))\n }\n }\n}\n\nexport function updateAPIClientCache(payload: APIClientCache): UpdateAPIClientCache {\n return { type: ReadWriteActionTypes.UPDATE_API_CLIENT_CACHE, payload }\n}\n\nexport function clearAPIClientCache(): ClearAPIClientCache {\n return { type: ReadWriteActionTypes.CLEAR_API_CLIENT_CACHE }\n}\n\nexport function createPropControllers({\n documentKey,\n elementKey,\n componentType,\n}: {\n documentKey: string\n elementKey: string\n componentType: string\n}): ThunkAction<Record<string, ControlInstance> | null, State, unknown, Action> {\n return (dispatch, getState) => {\n const descriptors = getComponentPropControllerDescriptors(getState(), componentType)\n if (descriptors == null) return null\n\n const propControllers = Object.entries(descriptors).reduce(\n (acc, [propName, descriptor]) => {\n const propController = createPropController({\n descriptor,\n instanceKey: { elementKey, propPath: propName },\n sendMessage: message =>\n dispatch(\n Builder.messageBuilderPropController(documentKey, elementKey, propName, message),\n ),\n }) as ControlInstance\n\n return { ...acc, [propName]: propController }\n },\n {} as Record<string, ControlInstance>,\n )\n\n return propControllers\n }\n}\n"],"mappings":"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","names":[]}
@@ -1,14 +1,17 @@
1
1
  import { isKnownAction } from "../../actions";
2
2
  import { ReadWriteActionTypes } from "../../actions/internal/read-write-action-types";
3
3
  function getInitialState() {
4
- return { overrides: /* @__PURE__ */ new Map() };
4
+ return { overrides: /* @__PURE__ */ new Map(), generation: 0 };
5
5
  }
6
- const compositeKey = ({ elementKey, propPath }) => `${elementKey}@${propPath}`;
6
+ const getOverride = (state, documentKey, { elementKey, propPath }) => state.overrides.get(documentKey)?.get(elementKey)?.get(propPath);
7
7
  function hasValueOverride(state, documentKey, instanceKey) {
8
- return state.overrides.get(documentKey)?.has(compositeKey(instanceKey)) ?? false;
8
+ return getOverride(state, documentKey, instanceKey) != null;
9
9
  }
10
10
  function getValueOverride(state, documentKey, instanceKey) {
11
- return state.overrides.get(documentKey)?.get(compositeKey(instanceKey));
11
+ return getOverride(state, documentKey, instanceKey)?.value;
12
+ }
13
+ function getGeneration(state) {
14
+ return state.generation;
12
15
  }
13
16
  function reducer(state = getInitialState(), action) {
14
17
  if (!isKnownAction(action))
@@ -16,25 +19,39 @@ function reducer(state = getInitialState(), action) {
16
19
  switch (action.type) {
17
20
  case ReadWriteActionTypes.SET_RESOLVED_VALUE_OVERRIDE: {
18
21
  const { documentKey, instanceKey, value } = action.payload;
22
+ const { elementKey, propPath } = instanceKey;
23
+ const generation = state.generation + 1;
24
+ const propOverrides = new Map(getPropOverrides(state, documentKey, elementKey)).set(
25
+ propPath,
26
+ { value, setAtGeneration: generation }
27
+ );
19
28
  return {
20
- ...state,
21
- overrides: new Map(state.overrides).set(
22
- documentKey,
23
- new Map(state.overrides.get(documentKey) ?? []).set(compositeKey(instanceKey), value)
24
- )
29
+ generation,
30
+ overrides: setPropOverrides(state, documentKey, elementKey, propOverrides)
25
31
  };
26
32
  }
27
- case ReadWriteActionTypes.CLEAR_RESOLVED_VALUE_OVERRIDE: {
28
- const { documentKey, instanceKey } = action.payload;
29
- const nextOverrides = new Map(state.overrides.get(documentKey) ?? []);
30
- const deleted = nextOverrides.delete(compositeKey(instanceKey));
31
- return deleted ? { ...state, overrides: new Map(state.overrides).set(documentKey, nextOverrides) } : state;
33
+ case ReadWriteActionTypes.CLEAR_STALE_RESOLVED_VALUE_OVERRIDES: {
34
+ const { documentKey, elementKey, generation } = action.payload;
35
+ const propOverrides = getPropOverrides(state, documentKey, elementKey);
36
+ const overridesSinceGeneration = new Map(
37
+ Array.from(propOverrides).filter(([, override]) => override.setAtGeneration > generation)
38
+ );
39
+ return overridesSinceGeneration.size === propOverrides.size ? state : {
40
+ ...state,
41
+ overrides: setPropOverrides(state, documentKey, elementKey, overridesSinceGeneration)
42
+ };
32
43
  }
33
44
  default:
34
45
  return state;
35
46
  }
36
47
  }
48
+ const getPropOverrides = (state, documentKey, elementKey) => state.overrides.get(documentKey)?.get(elementKey) ?? /* @__PURE__ */ new Map();
49
+ const setPropOverrides = (state, documentKey, elementKey, propOverrides) => new Map(state.overrides).set(
50
+ documentKey,
51
+ new Map(state.overrides.get(documentKey) ?? []).set(elementKey, propOverrides)
52
+ );
37
53
  export {
54
+ getGeneration,
38
55
  getInitialState,
39
56
  getValueOverride,
40
57
  hasValueOverride,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/state/modules/read-write/resolved-value-overrides.ts"],"sourcesContent":["import { type ControlInstanceKey } from '@makeswift/controls'\n\nimport { type Action, type UnknownAction, isKnownAction } from '../../actions'\nimport { ReadWriteActionTypes } from '../../actions/internal/read-write-action-types'\n\nimport { Branded } from '../../../utils/branded'\n\nexport type ResolvedValueKey = ControlInstanceKey\nexport type ResolvedValue = unknown\n\ntype CompositeKey = Branded<string, 'CompositeResolvedValueKey'>\n\nexport type State = {\n overrides: Map<string, Map<CompositeKey, ResolvedValue>>\n}\n\nexport function getInitialState(): State {\n return { overrides: new Map() }\n}\n\nconst compositeKey = ({ elementKey, propPath }: ResolvedValueKey): CompositeKey =>\n `${elementKey}@${propPath}` as CompositeKey\n\nexport function hasValueOverride(\n state: State,\n documentKey: string,\n instanceKey: ResolvedValueKey,\n): boolean {\n return state.overrides.get(documentKey)?.has(compositeKey(instanceKey)) ?? false\n}\n\nexport function getValueOverride(\n state: State,\n documentKey: string,\n instanceKey: ResolvedValueKey,\n): ResolvedValue {\n return state.overrides.get(documentKey)?.get(compositeKey(instanceKey))\n}\n\nexport function reducer(state: State = getInitialState(), action: Action | UnknownAction) {\n if (!isKnownAction(action)) return state\n\n switch (action.type) {\n case ReadWriteActionTypes.SET_RESOLVED_VALUE_OVERRIDE: {\n const { documentKey, instanceKey, value } = action.payload\n return {\n ...state,\n overrides: new Map(state.overrides).set(\n documentKey,\n new Map(state.overrides.get(documentKey) ?? []).set(compositeKey(instanceKey), value),\n ),\n }\n }\n\n case ReadWriteActionTypes.CLEAR_RESOLVED_VALUE_OVERRIDE: {\n const { documentKey, instanceKey } = action.payload\n const nextOverrides = new Map(state.overrides.get(documentKey) ?? [])\n\n const deleted = nextOverrides.delete(compositeKey(instanceKey))\n return deleted\n ? { ...state, overrides: new Map(state.overrides).set(documentKey, nextOverrides) }\n : state\n }\n\n default:\n return state\n }\n}\n"],"mappings":"AAEA,SAA0C,qBAAqB;AAC/D,SAAS,4BAA4B;AAa9B,SAAS,kBAAyB;AACvC,SAAO,EAAE,WAAW,oBAAI,IAAI,EAAE;AAChC;AAEA,MAAM,eAAe,CAAC,EAAE,YAAY,SAAS,MAC3C,GAAG,UAAU,IAAI,QAAQ;AAEpB,SAAS,iBACd,OACA,aACA,aACS;AACT,SAAO,MAAM,UAAU,IAAI,WAAW,GAAG,IAAI,aAAa,WAAW,CAAC,KAAK;AAC7E;AAEO,SAAS,iBACd,OACA,aACA,aACe;AACf,SAAO,MAAM,UAAU,IAAI,WAAW,GAAG,IAAI,aAAa,WAAW,CAAC;AACxE;AAEO,SAAS,QAAQ,QAAe,gBAAgB,GAAG,QAAgC;AACxF,MAAI,CAAC,cAAc,MAAM;AAAG,WAAO;AAEnC,UAAQ,OAAO,MAAM;AAAA,IACnB,KAAK,qBAAqB,6BAA6B;AACrD,YAAM,EAAE,aAAa,aAAa,MAAM,IAAI,OAAO;AACnD,aAAO;AAAA,QACL,GAAG;AAAA,QACH,WAAW,IAAI,IAAI,MAAM,SAAS,EAAE;AAAA,UAClC;AAAA,UACA,IAAI,IAAI,MAAM,UAAU,IAAI,WAAW,KAAK,CAAC,CAAC,EAAE,IAAI,aAAa,WAAW,GAAG,KAAK;AAAA,QACtF;AAAA,MACF;AAAA,IACF;AAAA,IAEA,KAAK,qBAAqB,+BAA+B;AACvD,YAAM,EAAE,aAAa,YAAY,IAAI,OAAO;AAC5C,YAAM,gBAAgB,IAAI,IAAI,MAAM,UAAU,IAAI,WAAW,KAAK,CAAC,CAAC;AAEpE,YAAM,UAAU,cAAc,OAAO,aAAa,WAAW,CAAC;AAC9D,aAAO,UACH,EAAE,GAAG,OAAO,WAAW,IAAI,IAAI,MAAM,SAAS,EAAE,IAAI,aAAa,aAAa,EAAE,IAChF;AAAA,IACN;AAAA,IAEA;AACE,aAAO;AAAA,EACX;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../../../src/state/modules/read-write/resolved-value-overrides.ts"],"sourcesContent":["import { type ControlInstanceKey } from '@makeswift/controls'\n\nimport { type Action, type UnknownAction, isKnownAction } from '../../actions'\nimport { ReadWriteActionTypes } from '../../actions/internal/read-write-action-types'\n\nexport type ResolvedValueKey = ControlInstanceKey\nexport type ResolvedValue = unknown\n\ntype Override = {\n value: ResolvedValue\n setAtGeneration: number\n}\n\ntype PropOverrides = Map<string, Override>\ntype ElementOverrides = Map<string, PropOverrides>\n\nexport type State = {\n overrides: Map<string, ElementOverrides>\n // incremented every time an override is set\n generation: number\n}\n\nexport function getInitialState(): State {\n return { overrides: new Map(), generation: 0 }\n}\n\nconst getOverride = (\n state: State,\n documentKey: string,\n { elementKey, propPath }: ResolvedValueKey,\n): Override | undefined => state.overrides.get(documentKey)?.get(elementKey)?.get(propPath)\n\nexport function hasValueOverride(\n state: State,\n documentKey: string,\n instanceKey: ResolvedValueKey,\n): boolean {\n return getOverride(state, documentKey, instanceKey) != null\n}\n\nexport function getValueOverride(\n state: State,\n documentKey: string,\n instanceKey: ResolvedValueKey,\n): ResolvedValue {\n return getOverride(state, documentKey, instanceKey)?.value\n}\n\nexport function getGeneration(state: State): number {\n return state.generation\n}\n\nexport function reducer(state: State = getInitialState(), action: Action | UnknownAction) {\n if (!isKnownAction(action)) return state\n\n switch (action.type) {\n case ReadWriteActionTypes.SET_RESOLVED_VALUE_OVERRIDE: {\n const { documentKey, instanceKey, value } = action.payload\n const { elementKey, propPath } = instanceKey\n const generation = state.generation + 1\n\n const propOverrides = new Map(getPropOverrides(state, documentKey, elementKey)).set(\n propPath,\n { value, setAtGeneration: generation },\n )\n\n return {\n generation,\n overrides: setPropOverrides(state, documentKey, elementKey, propOverrides),\n }\n }\n\n case ReadWriteActionTypes.CLEAR_STALE_RESOLVED_VALUE_OVERRIDES: {\n const { documentKey, elementKey, generation } = action.payload\n const propOverrides = getPropOverrides(state, documentKey, elementKey)\n\n const overridesSinceGeneration = new Map(\n Array.from(propOverrides).filter(([, override]) => override.setAtGeneration > generation),\n )\n\n return overridesSinceGeneration.size === propOverrides.size\n ? state\n : {\n ...state,\n overrides: setPropOverrides(state, documentKey, elementKey, overridesSinceGeneration),\n }\n }\n\n default:\n return state\n }\n}\n\nconst getPropOverrides = (state: State, documentKey: string, elementKey: string): PropOverrides =>\n state.overrides.get(documentKey)?.get(elementKey) ?? new Map()\n\nconst setPropOverrides = (\n state: State,\n documentKey: string,\n elementKey: string,\n propOverrides: PropOverrides,\n): State['overrides'] =>\n new Map(state.overrides).set(\n documentKey,\n new Map(state.overrides.get(documentKey) ?? []).set(elementKey, propOverrides),\n )\n"],"mappings":"AAEA,SAA0C,qBAAqB;AAC/D,SAAS,4BAA4B;AAmB9B,SAAS,kBAAyB;AACvC,SAAO,EAAE,WAAW,oBAAI,IAAI,GAAG,YAAY,EAAE;AAC/C;AAEA,MAAM,cAAc,CAClB,OACA,aACA,EAAE,YAAY,SAAS,MACE,MAAM,UAAU,IAAI,WAAW,GAAG,IAAI,UAAU,GAAG,IAAI,QAAQ;AAEnF,SAAS,iBACd,OACA,aACA,aACS;AACT,SAAO,YAAY,OAAO,aAAa,WAAW,KAAK;AACzD;AAEO,SAAS,iBACd,OACA,aACA,aACe;AACf,SAAO,YAAY,OAAO,aAAa,WAAW,GAAG;AACvD;AAEO,SAAS,cAAc,OAAsB;AAClD,SAAO,MAAM;AACf;AAEO,SAAS,QAAQ,QAAe,gBAAgB,GAAG,QAAgC;AACxF,MAAI,CAAC,cAAc,MAAM;AAAG,WAAO;AAEnC,UAAQ,OAAO,MAAM;AAAA,IACnB,KAAK,qBAAqB,6BAA6B;AACrD,YAAM,EAAE,aAAa,aAAa,MAAM,IAAI,OAAO;AACnD,YAAM,EAAE,YAAY,SAAS,IAAI;AACjC,YAAM,aAAa,MAAM,aAAa;AAEtC,YAAM,gBAAgB,IAAI,IAAI,iBAAiB,OAAO,aAAa,UAAU,CAAC,EAAE;AAAA,QAC9E;AAAA,QACA,EAAE,OAAO,iBAAiB,WAAW;AAAA,MACvC;AAEA,aAAO;AAAA,QACL;AAAA,QACA,WAAW,iBAAiB,OAAO,aAAa,YAAY,aAAa;AAAA,MAC3E;AAAA,IACF;AAAA,IAEA,KAAK,qBAAqB,sCAAsC;AAC9D,YAAM,EAAE,aAAa,YAAY,WAAW,IAAI,OAAO;AACvD,YAAM,gBAAgB,iBAAiB,OAAO,aAAa,UAAU;AAErE,YAAM,2BAA2B,IAAI;AAAA,QACnC,MAAM,KAAK,aAAa,EAAE,OAAO,CAAC,CAAC,EAAE,QAAQ,MAAM,SAAS,kBAAkB,UAAU;AAAA,MAC1F;AAEA,aAAO,yBAAyB,SAAS,cAAc,OACnD,QACA;AAAA,QACE,GAAG;AAAA,QACH,WAAW,iBAAiB,OAAO,aAAa,YAAY,wBAAwB;AAAA,MACtF;AAAA,IACN;AAAA,IAEA;AACE,aAAO;AAAA,EACX;AACF;AAEA,MAAM,mBAAmB,CAAC,OAAc,aAAqB,eAC3D,MAAM,UAAU,IAAI,WAAW,GAAG,IAAI,UAAU,KAAK,oBAAI,IAAI;AAE/D,MAAM,mBAAmB,CACvB,OACA,aACA,YACA,kBAEA,IAAI,IAAI,MAAM,SAAS,EAAE;AAAA,EACvB;AAAA,EACA,IAAI,IAAI,MAAM,UAAU,IAAI,WAAW,KAAK,CAAC,CAAC,EAAE,IAAI,YAAY,aAAa;AAC/E;","names":[]}
@@ -109,6 +109,9 @@ function getResolvedValueOverride(state, documentKey, instanceKey) {
109
109
  instanceKey
110
110
  );
111
111
  }
112
+ function getResolvedValueOverridesGeneration(state) {
113
+ return ResolvedValueOverrides.getGeneration(getResolvedValueOverridesStateSlice(state));
114
+ }
112
115
  function setupBuilderProxy(builderProxy) {
113
116
  return (dispatch) => {
114
117
  return builderProxy.setup({ onHostAction: (action) => dispatch(action) });
@@ -130,6 +133,7 @@ export {
130
133
  getPropControllers,
131
134
  getPropControllersHandle,
132
135
  getResolvedValueOverride,
136
+ getResolvedValueOverridesGeneration,
133
137
  hasResolvedValueOverride,
134
138
  parse,
135
139
  setupBuilderProxy
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/state/read-write-state.ts"],"sourcesContent":["import { combineReducers, type ThunkAction, type ThunkDispatch } from '@reduxjs/toolkit'\n\nimport * as Documents from './modules/read-write/read-write-documents'\nimport * as BoxModels from './modules/read-write/box-models'\nimport * as Pointer from './modules/read-write/pointer'\nimport * as PropControllers from './modules/read-write/prop-controllers'\nimport * as ElementImperativeHandles from './modules/read-write/element-imperative-handles'\nimport * as ResolvedValueOverrides from './modules/read-write/resolved-value-overrides'\n\nimport { type Action } from './actions'\n\nimport { ElementImperativeHandle } from '../runtimes/react/element-imperative-handle'\n\nimport { BuilderAPIProxy } from './builder-api/proxy'\nimport * as ReadOnlyState from './read-only-state'\n\nexport type { Operation } from './modules/read-write/read-write-documents'\nexport type { BoxModelHandle } from './modules/read-write/box-models'\nexport { createBox, getBox, parse } from './modules/read-write/box-models'\nexport type { ResolvedValueKey, ResolvedValue } from './modules/read-write/resolved-value-overrides'\n\nconst reducers = {\n ...ReadOnlyState.reducers,\n documents: Documents.reducer,\n boxModels: BoxModels.reducer,\n pointer: Pointer.reducer,\n propControllers: PropControllers.reducer,\n elementImperativeHandles: ElementImperativeHandles.reducer,\n resolvedValueOverrides: ResolvedValueOverrides.reducer,\n}\n\nexport function createRootReducer() {\n return combineReducers(reducers)\n}\n\nexport type State = Omit<ReadOnlyState.State, 'documents'> & {\n documents: Documents.State\n boxModels: BoxModels.State\n pointer: Pointer.State\n propControllers: PropControllers.State\n elementImperativeHandles: ElementImperativeHandles.State\n resolvedValueOverrides: ResolvedValueOverrides.State\n}\n\nexport type Dispatch = ThunkDispatch<State, unknown, Action>\n\nfunction getDocumentsStateSlice(state: State): Documents.State {\n return state.documents\n}\n\nexport function getDocuments(state: State): Documents.State {\n return Documents.getDocuments(getDocumentsStateSlice(state))\n}\n\nexport function getDocument(state: State, documentKey: string): Documents.Document | null {\n return Documents.getDocument(getDocumentsStateSlice(state), documentKey)\n}\n\nfunction getBoxModelsStateSlice(state: State): BoxModels.State {\n return state.boxModels\n}\n\nexport function getMeasurables(state: State): Map<string, Map<string, BoxModels.Measurable>> {\n return BoxModels.getMeasurables(getBoxModelsStateSlice(state))\n}\n\nexport function getBoxModels(state: State): Map<string, Map<string, BoxModels.BoxDisplayModel>> {\n return BoxModels.getBoxModels(getBoxModelsStateSlice(state))\n}\n\nexport function getBoxModel(\n state: State,\n documentKey: string,\n elementKey: string,\n): BoxModels.BoxDisplayModel | null {\n return BoxModels.getBoxModel(getBoxModelsStateSlice(state), documentKey, elementKey)\n}\n\nexport function getPointer(state: State): Pointer.Point | null {\n return Pointer.getPointer(state.pointer)\n}\n\nexport function getElementImperativeHandles(\n state: State,\n): Map<string, Map<string, ElementImperativeHandle>> {\n return ElementImperativeHandles.getElementImperativeHandles(state.elementImperativeHandles)\n}\n\nexport function getElementImperativeHandlesContainingElement(\n state: State,\n element: Element,\n): Map<string, Map<string, ElementImperativeHandle>> {\n const elementImperativeHandles = getElementImperativeHandles(state)\n const filteredElementImperativeHandles = new Map<string, Map<string, ElementImperativeHandle>>()\n\n for (const [documentKey, byElementKey] of elementImperativeHandles) {\n const filteredByElementKey = new Map<string, ElementImperativeHandle>()\n\n for (const [elementKey, elementImperativeHandle] of byElementKey) {\n const handleElement = elementImperativeHandle.getDomNode()\n\n if (handleElement?.contains(element)) {\n filteredByElementKey.set(elementKey, elementImperativeHandle)\n }\n }\n\n if (filteredByElementKey.size > 0) {\n filteredElementImperativeHandles.set(documentKey, filteredByElementKey)\n }\n }\n\n return filteredElementImperativeHandles\n}\n\nfunction getPropControllersStateSlice(state: State): PropControllers.State {\n return state.propControllers\n}\n\nexport function getPropControllers(\n state: State,\n { documentKey, elementKey }: { documentKey: string; elementKey: string },\n) {\n return PropControllers.getPropControllers(\n getPropControllersStateSlice(state),\n documentKey,\n elementKey,\n )\n}\n\nexport function getPropControllersHandle(\n state: State,\n { documentKey, elementKey }: { documentKey: string; elementKey: string },\n) {\n return PropControllers.getPropControllersHandle(\n getPropControllersStateSlice(state),\n documentKey,\n elementKey,\n )\n}\n\nexport function getPropController(\n state: State,\n {\n documentKey,\n elementKey,\n propName,\n }: { documentKey: string; elementKey: string; propName: string },\n) {\n return PropControllers.getPropController(\n getPropControllersStateSlice(state),\n documentKey,\n elementKey,\n propName,\n )\n}\n\nfunction getResolvedValueOverridesStateSlice(state: State): ResolvedValueOverrides.State {\n return state.resolvedValueOverrides\n}\n\nexport function hasResolvedValueOverride(\n state: State,\n documentKey: string,\n instanceKey: ResolvedValueOverrides.ResolvedValueKey,\n): boolean {\n return ResolvedValueOverrides.hasValueOverride(\n getResolvedValueOverridesStateSlice(state),\n documentKey,\n instanceKey,\n )\n}\n\nexport function getResolvedValueOverride(\n state: State,\n documentKey: string,\n instanceKey: ResolvedValueOverrides.ResolvedValueKey,\n): ResolvedValueOverrides.ResolvedValue {\n return ResolvedValueOverrides.getValueOverride(\n getResolvedValueOverridesStateSlice(state),\n documentKey,\n instanceKey,\n )\n}\n\nexport function setupBuilderProxy(\n builderProxy: BuilderAPIProxy,\n): ThunkAction<VoidFunction, State, unknown, Action> {\n return dispatch => {\n return builderProxy.setup({ onHostAction: action => dispatch(action) })\n }\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../src/state/read-write-state.ts"],"sourcesContent":["import { combineReducers, type ThunkAction, type ThunkDispatch } from '@reduxjs/toolkit'\n\nimport * as Documents from './modules/read-write/read-write-documents'\nimport * as BoxModels from './modules/read-write/box-models'\nimport * as Pointer from './modules/read-write/pointer'\nimport * as PropControllers from './modules/read-write/prop-controllers'\nimport * as ElementImperativeHandles from './modules/read-write/element-imperative-handles'\nimport * as ResolvedValueOverrides from './modules/read-write/resolved-value-overrides'\n\nimport { type Action } from './actions'\n\nimport { ElementImperativeHandle } from '../runtimes/react/element-imperative-handle'\n\nimport { BuilderAPIProxy } from './builder-api/proxy'\nimport * as ReadOnlyState from './read-only-state'\n\nexport type { Operation } from './modules/read-write/read-write-documents'\nexport type { BoxModelHandle } from './modules/read-write/box-models'\nexport { createBox, getBox, parse } from './modules/read-write/box-models'\nexport type { ResolvedValueKey, ResolvedValue } from './modules/read-write/resolved-value-overrides'\n\nconst reducers = {\n ...ReadOnlyState.reducers,\n documents: Documents.reducer,\n boxModels: BoxModels.reducer,\n pointer: Pointer.reducer,\n propControllers: PropControllers.reducer,\n elementImperativeHandles: ElementImperativeHandles.reducer,\n resolvedValueOverrides: ResolvedValueOverrides.reducer,\n}\n\nexport function createRootReducer() {\n return combineReducers(reducers)\n}\n\nexport type State = Omit<ReadOnlyState.State, 'documents'> & {\n documents: Documents.State\n boxModels: BoxModels.State\n pointer: Pointer.State\n propControllers: PropControllers.State\n elementImperativeHandles: ElementImperativeHandles.State\n resolvedValueOverrides: ResolvedValueOverrides.State\n}\n\nexport type Dispatch = ThunkDispatch<State, unknown, Action>\n\nfunction getDocumentsStateSlice(state: State): Documents.State {\n return state.documents\n}\n\nexport function getDocuments(state: State): Documents.State {\n return Documents.getDocuments(getDocumentsStateSlice(state))\n}\n\nexport function getDocument(state: State, documentKey: string): Documents.Document | null {\n return Documents.getDocument(getDocumentsStateSlice(state), documentKey)\n}\n\nfunction getBoxModelsStateSlice(state: State): BoxModels.State {\n return state.boxModels\n}\n\nexport function getMeasurables(state: State): Map<string, Map<string, BoxModels.Measurable>> {\n return BoxModels.getMeasurables(getBoxModelsStateSlice(state))\n}\n\nexport function getBoxModels(state: State): Map<string, Map<string, BoxModels.BoxDisplayModel>> {\n return BoxModels.getBoxModels(getBoxModelsStateSlice(state))\n}\n\nexport function getBoxModel(\n state: State,\n documentKey: string,\n elementKey: string,\n): BoxModels.BoxDisplayModel | null {\n return BoxModels.getBoxModel(getBoxModelsStateSlice(state), documentKey, elementKey)\n}\n\nexport function getPointer(state: State): Pointer.Point | null {\n return Pointer.getPointer(state.pointer)\n}\n\nexport function getElementImperativeHandles(\n state: State,\n): Map<string, Map<string, ElementImperativeHandle>> {\n return ElementImperativeHandles.getElementImperativeHandles(state.elementImperativeHandles)\n}\n\nexport function getElementImperativeHandlesContainingElement(\n state: State,\n element: Element,\n): Map<string, Map<string, ElementImperativeHandle>> {\n const elementImperativeHandles = getElementImperativeHandles(state)\n const filteredElementImperativeHandles = new Map<string, Map<string, ElementImperativeHandle>>()\n\n for (const [documentKey, byElementKey] of elementImperativeHandles) {\n const filteredByElementKey = new Map<string, ElementImperativeHandle>()\n\n for (const [elementKey, elementImperativeHandle] of byElementKey) {\n const handleElement = elementImperativeHandle.getDomNode()\n\n if (handleElement?.contains(element)) {\n filteredByElementKey.set(elementKey, elementImperativeHandle)\n }\n }\n\n if (filteredByElementKey.size > 0) {\n filteredElementImperativeHandles.set(documentKey, filteredByElementKey)\n }\n }\n\n return filteredElementImperativeHandles\n}\n\nfunction getPropControllersStateSlice(state: State): PropControllers.State {\n return state.propControllers\n}\n\nexport function getPropControllers(\n state: State,\n { documentKey, elementKey }: { documentKey: string; elementKey: string },\n) {\n return PropControllers.getPropControllers(\n getPropControllersStateSlice(state),\n documentKey,\n elementKey,\n )\n}\n\nexport function getPropControllersHandle(\n state: State,\n { documentKey, elementKey }: { documentKey: string; elementKey: string },\n) {\n return PropControllers.getPropControllersHandle(\n getPropControllersStateSlice(state),\n documentKey,\n elementKey,\n )\n}\n\nexport function getPropController(\n state: State,\n {\n documentKey,\n elementKey,\n propName,\n }: { documentKey: string; elementKey: string; propName: string },\n) {\n return PropControllers.getPropController(\n getPropControllersStateSlice(state),\n documentKey,\n elementKey,\n propName,\n )\n}\n\nfunction getResolvedValueOverridesStateSlice(state: State): ResolvedValueOverrides.State {\n return state.resolvedValueOverrides\n}\n\nexport function hasResolvedValueOverride(\n state: State,\n documentKey: string,\n instanceKey: ResolvedValueOverrides.ResolvedValueKey,\n): boolean {\n return ResolvedValueOverrides.hasValueOverride(\n getResolvedValueOverridesStateSlice(state),\n documentKey,\n instanceKey,\n )\n}\n\nexport function getResolvedValueOverride(\n state: State,\n documentKey: string,\n instanceKey: ResolvedValueOverrides.ResolvedValueKey,\n): ResolvedValueOverrides.ResolvedValue {\n return ResolvedValueOverrides.getValueOverride(\n getResolvedValueOverridesStateSlice(state),\n documentKey,\n instanceKey,\n )\n}\n\nexport function getResolvedValueOverridesGeneration(state: State): number {\n return ResolvedValueOverrides.getGeneration(getResolvedValueOverridesStateSlice(state))\n}\n\nexport function setupBuilderProxy(\n builderProxy: BuilderAPIProxy,\n): ThunkAction<VoidFunction, State, unknown, Action> {\n return dispatch => {\n return builderProxy.setup({ onHostAction: action => dispatch(action) })\n }\n}\n"],"mappings":"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","names":[]}
@@ -0,0 +1,26 @@
1
+ function mockPostMessage() {
2
+ const postMessageMock = jest.spyOn(window, "postMessage").mockImplementation(() => {
3
+ });
4
+ const originalMessageChannel = window.MessageChannel;
5
+ const stubPort = () => ({ onmessage: null, postMessage: () => {
6
+ }, close: () => {
7
+ } });
8
+ window.MessageChannel = class {
9
+ port1 = stubPort();
10
+ port2 = stubPort();
11
+ };
12
+ return {
13
+ mock: postMessageMock,
14
+ restore: () => {
15
+ postMessageMock.mockRestore();
16
+ window.MessageChannel = originalMessageChannel;
17
+ }
18
+ };
19
+ }
20
+ const windowMocks = {
21
+ mockPostMessage
22
+ };
23
+ export {
24
+ windowMocks
25
+ };
26
+ //# sourceMappingURL=window.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/testing/window.ts"],"sourcesContent":["/*\n * Mock `window.postMessage` together with `MessageChannel`\n */\nfunction mockPostMessage(): { mock: jest.SpyInstance; restore: () => void } {\n const postMessageMock = jest.spyOn(window, 'postMessage').mockImplementation(() => {})\n\n const originalMessageChannel = window.MessageChannel\n const stubPort = () => ({ onmessage: null, postMessage: () => {}, close: () => {} })\n window.MessageChannel = class {\n port1 = stubPort()\n port2 = stubPort()\n } as unknown as typeof MessageChannel\n\n return {\n mock: postMessageMock,\n restore: () => {\n postMessageMock.mockRestore()\n window.MessageChannel = originalMessageChannel\n },\n }\n}\n\nexport const windowMocks = {\n mockPostMessage,\n}\n"],"mappings":"AAGA,SAAS,kBAAmE;AAC1E,QAAM,kBAAkB,KAAK,MAAM,QAAQ,aAAa,EAAE,mBAAmB,MAAM;AAAA,EAAC,CAAC;AAErF,QAAM,yBAAyB,OAAO;AACtC,QAAM,WAAW,OAAO,EAAE,WAAW,MAAM,aAAa,MAAM;AAAA,EAAC,GAAG,OAAO,MAAM;AAAA,EAAC,EAAE;AAClF,SAAO,iBAAiB,MAAM;AAAA,IAC5B,QAAQ,SAAS;AAAA,IACjB,QAAQ,SAAS;AAAA,EACnB;AAEA,SAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS,MAAM;AACb,sBAAgB,YAAY;AAC5B,aAAO,iBAAiB;AAAA,IAC1B;AAAA,EACF;AACF;AAEO,MAAM,cAAc;AAAA,EACzB;AACF;","names":[]}
@@ -0,0 +1,9 @@
1
+ function isErrorWithMessage(error) {
2
+ return typeof error === "object" && error !== null && "message" in error && typeof error.message === "string";
3
+ }
4
+ const errorMessage = (error) => isErrorWithMessage(error) ? error.message : typeof error === "string" ? error : "Unknown error";
5
+ export {
6
+ errorMessage,
7
+ isErrorWithMessage
8
+ };
9
+ //# sourceMappingURL=error-message.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/utils/error-message.ts"],"sourcesContent":["type ErrorWithMessage = {\n message: string\n}\n\nexport function isErrorWithMessage(error: unknown): error is ErrorWithMessage {\n return (\n typeof error === 'object' &&\n error !== null &&\n 'message' in error &&\n typeof error.message === 'string'\n )\n}\n\nexport const errorMessage = (error: unknown) =>\n isErrorWithMessage(error) ? error.message : typeof error === 'string' ? error : 'Unknown error'\n"],"mappings":"AAIO,SAAS,mBAAmB,OAA2C;AAC5E,SACE,OAAO,UAAU,YACjB,UAAU,QACV,aAAa,SACb,OAAO,MAAM,YAAY;AAE7B;AAEO,MAAM,eAAe,CAAC,UAC3B,mBAAmB,KAAK,IAAI,MAAM,UAAU,OAAO,UAAU,WAAW,QAAQ;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"page-control-prop-rendering.d.ts","sourceRoot":"","sources":["../../../../../../src/next/components/tests/controls/page-control-prop-rendering.tsx"],"names":[],"mappings":"AAGA,OAAO,2BAA2B,CAAA;AAGlC,OAAO,EAAa,KAAK,SAAS,EAAE,KAAK,QAAQ,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEjG,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,sCAAsC,CAAA;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAA;AAE/D,OAAO,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAA;AAqEvE,wBAAsB,4BAA4B,CAAC,CAAC,SAAS,iBAAiB,EAC5E,iBAAiB,EAAE,CAAC,EACpB,EACE,MAAM,EACN,KAAK,EACL,MAAM,EACN,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,MAAM,EACN,YAAiB,EACjB,WAAmB,EACnB,UAAiB,GAClB,EAAE;IACD,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAA;IAC7C,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAA;IAC/B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,CAAA;IACpD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAChD,YAAY,CAAC,EAAE,WAAW,EAAE,CAAA;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,iBAyGF"}
1
+ {"version":3,"file":"page-control-prop-rendering.d.ts","sourceRoot":"","sources":["../../../../../../src/next/components/tests/controls/page-control-prop-rendering.tsx"],"names":[],"mappings":"AAGA,OAAO,2BAA2B,CAAA;AAGlC,OAAO,EAAa,KAAK,SAAS,EAAE,KAAK,QAAQ,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEjG,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,sCAAsC,CAAA;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAA;AAE/D,OAAO,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAA;AAiDvE,wBAAsB,4BAA4B,CAAC,CAAC,SAAS,iBAAiB,EAC5E,iBAAiB,EAAE,CAAC,EACpB,EACE,MAAM,EACN,KAAK,EACL,MAAM,EACN,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,MAAM,EACN,YAAiB,EACjB,WAAmB,EACnB,UAAiB,GAClB,EAAE;IACD,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAA;IAC7C,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAA;IAC/B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,CAAA;IACpD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAChD,YAAY,CAAC,EAAE,WAAW,EAAE,CAAA;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,iBAyGF"}
@@ -1,4 +1,4 @@
1
1
  import { type PropsWithChildren } from 'react';
2
2
  import { type RootStyleProps } from '../runtimes/react/root-style-registry';
3
- export declare function NextRootStyleRegistry({ children, classNamePrefix, enableCssReset, }: PropsWithChildren<RootStyleProps>): import("react/jsx-runtime").JSX.Element;
3
+ export declare function NextRootStyleRegistry({ children, classNamePrefix, enableCssReset, forceImportant, }: PropsWithChildren<RootStyleProps>): import("react/jsx-runtime").JSX.Element;
4
4
  //# sourceMappingURL=root-style-registry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"root-style-registry.d.ts","sourceRoot":"","sources":["../../../src/next/root-style-registry.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAE9C,OAAO,EAEL,KAAK,cAAc,EACpB,MAAM,uCAAuC,CAAA;AAE9C,wBAAgB,qBAAqB,CAAC,EACpC,QAAQ,EACR,eAAe,EACf,cAAc,GACf,EAAE,iBAAiB,CAAC,cAAc,CAAC,2CAMnC"}
1
+ {"version":3,"file":"root-style-registry.d.ts","sourceRoot":"","sources":["../../../src/next/root-style-registry.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAE9C,OAAO,EAEL,KAAK,cAAc,EACpB,MAAM,uCAAuC,CAAA;AAE9C,wBAAgB,qBAAqB,CAAC,EACpC,QAAQ,EACR,eAAe,EACf,cAAc,EACd,cAAc,GACf,EAAE,iBAAiB,CAAC,cAAc,CAAC,2CAUnC"}
@@ -13,10 +13,11 @@ export type RuntimeIntegrationTestFixture = {
13
13
  stylesRegistry: StylesRegistry;
14
14
  namespace: string;
15
15
  };
16
- export declare function createControlledStylesTestFixtures({ siteVersion, controlDefinition, sampleData, }: {
16
+ export declare function createControlledStylesTestFixtures({ siteVersion, controlDefinition, sampleData, forceImportant, }: {
17
17
  siteVersion: SiteVersion;
18
18
  controlDefinition: StyleV1Definition | StyleV2Definition<ControlDefinition, CSSObject>;
19
19
  sampleData: DataType<StyleV1Definition> | DataType<StyleV2Definition<ControlDefinition, CSSObject>>;
20
+ forceImportant?: boolean;
20
21
  }): RuntimeIntegrationTestFixture;
21
22
  export declare function mockApiResourceRequests({ resources }: {
22
23
  resources: APIResource[];
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../../../src/runtimes/react/css-runtime/__tests__/runtime-integration/utils.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAkB,SAAS,EAAE,MAAM,OAAO,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAGtD,OAAO,EACL,iBAAiB,EACjB,QAAQ,EAER,eAAe,IAAI,iBAAiB,EACpC,iBAAiB,EAClB,MAAM,qBAAqB,CAAA;AAO5B,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAEnD,OAAO,EAAE,WAAW,EAAmB,MAAM,0BAA0B,CAAA;AAIvE,MAAM,MAAM,6BAA6B,GAAG;IAC1C,OAAO,EAAE,YAAY,CAAA;IACrB,WAAW,EAAE,WAAW,CAAA;IACxB,MAAM,EAAE,MAAM,SAAS,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,cAAc,CAAA;IAC9B,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,wBAAgB,kCAAkC,CAAC,EACjD,WAAW,EACX,iBAAiB,EACjB,UAAU,GACX,EAAE;IACD,WAAW,EAAE,WAAW,CAAA;IACxB,iBAAiB,EAAE,iBAAiB,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAA;IACtF,UAAU,EACN,QAAQ,CAAC,iBAAiB,CAAC,GAC3B,QAAQ,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC,CAAA;CAC9D,GAAG,6BAA6B,CAgDhC;AAqDD,wBAAgB,uBAAuB,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,EAAE,WAAW,EAAE,CAAA;CAAE,QAiBlF"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../../../src/runtimes/react/css-runtime/__tests__/runtime-integration/utils.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAkB,SAAS,EAAE,MAAM,OAAO,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAGtD,OAAO,EACL,iBAAiB,EACjB,QAAQ,EAER,eAAe,IAAI,iBAAiB,EACpC,iBAAiB,EAClB,MAAM,qBAAqB,CAAA;AAO5B,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAEnD,OAAO,EAAE,WAAW,EAAmB,MAAM,0BAA0B,CAAA;AAIvE,MAAM,MAAM,6BAA6B,GAAG;IAC1C,OAAO,EAAE,YAAY,CAAA;IACrB,WAAW,EAAE,WAAW,CAAA;IACxB,MAAM,EAAE,MAAM,SAAS,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,cAAc,CAAA;IAC9B,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,wBAAgB,kCAAkC,CAAC,EACjD,WAAW,EACX,iBAAiB,EACjB,UAAU,EACV,cAAc,GACf,EAAE;IACD,WAAW,EAAE,WAAW,CAAA;IACxB,iBAAiB,EAAE,iBAAiB,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAA;IACtF,UAAU,EACN,QAAQ,CAAC,iBAAiB,CAAC,GAC3B,QAAQ,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC,CAAA;IAC7D,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB,GAAG,6BAA6B,CAiDhC;AAwDD,wBAAgB,uBAAuB,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,EAAE,WAAW,EAAE,CAAA;CAAE,QAiBlF"}
@@ -3,6 +3,7 @@ import { StylesRegistry } from '../styles-registry';
3
3
  export type StylesContextValue = {
4
4
  classNamePrefix: string;
5
5
  enableCssReset: boolean;
6
+ forceImportant: boolean;
6
7
  stylesRegistry: StylesRegistry;
7
8
  /**
8
9
  * By default, Makeswift-generated `<style>` elements are placed in JSX alongside the components that use them
@@ -16,5 +17,5 @@ export type StylesContextValue = {
16
17
  shouldRenderStyleElements: boolean;
17
18
  };
18
19
  export declare const StylesContext: import("react").Context<StylesContextValue | undefined>;
19
- export declare function StylesContextProvider({ children, classNamePrefix, enableCssReset, stylesRegistry, shouldRenderStyleElements, }: PropsWithChildren<StylesContextValue>): import("react/jsx-runtime").JSX.Element;
20
+ export declare function StylesContextProvider({ children, classNamePrefix, enableCssReset, forceImportant, stylesRegistry, shouldRenderStyleElements, }: PropsWithChildren<StylesContextValue>): import("react/jsx-runtime").JSX.Element;
20
21
  //# sourceMappingURL=styles-context-provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"styles-context-provider.d.ts","sourceRoot":"","sources":["../../../../../../src/runtimes/react/css-runtime/components/styles-context-provider.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAiB,iBAAiB,EAAE,MAAM,OAAO,CAAA;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAEnD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,eAAe,EAAE,MAAM,CAAA;IACvB,cAAc,EAAE,OAAO,CAAA;IACvB,cAAc,EAAE,cAAc,CAAA;IAE9B;;;;;;;;OAQG;IACH,yBAAyB,EAAE,OAAO,CAAA;CACnC,CAAA;AAED,eAAO,MAAM,aAAa,yDAA2D,CAAA;AAErF,wBAAgB,qBAAqB,CAAC,EACpC,QAAQ,EACR,eAAe,EACf,cAAc,EACd,cAAc,EACd,yBAAyB,GAC1B,EAAE,iBAAiB,CAAC,kBAAkB,CAAC,2CAavC"}
1
+ {"version":3,"file":"styles-context-provider.d.ts","sourceRoot":"","sources":["../../../../../../src/runtimes/react/css-runtime/components/styles-context-provider.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAiB,iBAAiB,EAAE,MAAM,OAAO,CAAA;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAEnD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,eAAe,EAAE,MAAM,CAAA;IACvB,cAAc,EAAE,OAAO,CAAA;IACvB,cAAc,EAAE,OAAO,CAAA;IACvB,cAAc,EAAE,cAAc,CAAA;IAE9B;;;;;;;;OAQG;IACH,yBAAyB,EAAE,OAAO,CAAA;CACnC,CAAA;AAED,eAAO,MAAM,aAAa,yDAA2D,CAAA;AAErF,wBAAgB,qBAAqB,CAAC,EACpC,QAAQ,EACR,eAAe,EACf,cAAc,EACd,cAAc,EACd,cAAc,EACd,yBAAyB,GAC1B,EAAE,iBAAiB,CAAC,kBAAkB,CAAC,2CAcvC"}
@@ -1,5 +1,6 @@
1
1
  export declare const DEFAULT_CSS_CLASS_NAME_PREFIX = "ms";
2
2
  export declare const DEFAULT_CSS_RESET_ENABLED = true;
3
+ export declare const DEFAULT_CSS_FORCE_IMPORTANT = false;
3
4
  export declare const DEFAULT_CSS_PRECEDENCE: "medium";
4
5
  export declare const DEFAULT_SHOULD_RENDER_STYLE_ELEMENTS = true;
5
6
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../src/runtimes/react/css-runtime/constants.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,6BAA6B,OAAO,CAAA;AACjD,eAAO,MAAM,yBAAyB,OAAO,CAAA;AAC7C,eAAO,MAAM,sBAAsB,UAAkC,CAAA;AACrE,eAAO,MAAM,oCAAoC,OAAO,CAAA"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../src/runtimes/react/css-runtime/constants.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,6BAA6B,OAAO,CAAA;AACjD,eAAO,MAAM,yBAAyB,OAAO,CAAA;AAC7C,eAAO,MAAM,2BAA2B,QAAQ,CAAA;AAChD,eAAO,MAAM,sBAAsB,UAAkC,CAAA;AACrE,eAAO,MAAM,oCAAoC,OAAO,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-controlled-styles.d.ts","sourceRoot":"","sources":["../../../../../../src/runtimes/react/css-runtime/hooks/use-controlled-styles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAsB,MAAM,OAAO,CAAA;AAE1C,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAK7D,wBAAgB,mBAAmB,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE;;;;;EAsCvE"}
1
+ {"version":3,"file":"use-controlled-styles.d.ts","sourceRoot":"","sources":["../../../../../../src/runtimes/react/css-runtime/hooks/use-controlled-styles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAsB,MAAM,OAAO,CAAA;AAE1C,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAK7D,wBAAgB,mBAAmB,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE;;;;;EAuCvE"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-style.d.ts","sourceRoot":"","sources":["../../../../../../src/runtimes/react/css-runtime/hooks/use-style.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,SAAS;;;;;;;EAyBxC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,wBAAgB,aAAa,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,GAAG,SAAS,CAAC;;;EAiB7F"}
1
+ {"version":3,"file":"use-style.d.ts","sourceRoot":"","sources":["../../../../../../src/runtimes/react/css-runtime/hooks/use-style.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,SAAS;;;;;;;EA6BxC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,wBAAgB,aAAa,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,GAAG,SAAS,CAAC;;;EAiB7F"}
@@ -1,4 +1,7 @@
1
1
  import { CSSObject } from '@emotion/serialize';
2
+ type SerializationOptions = {
3
+ forceImportant?: boolean;
4
+ };
2
5
  /**
3
6
  * Creates a css string from the styles object and provided class name.
4
7
  *
@@ -11,7 +14,7 @@ import { CSSObject } from '@emotion/serialize';
11
14
  * For "uncontrolled" styles, this is used to convert an inline JS styles object
12
15
  * into a css string.
13
16
  */
14
- export declare function toCssStatements(stylesObject: CSSObject, className: string): {
17
+ export declare function toCssStatements(stylesObject: CSSObject, className: string, { forceImportant }?: SerializationOptions): {
15
18
  css: string;
16
19
  contentHash: string;
17
20
  };
@@ -23,9 +26,9 @@ export declare function toCssStatements(stylesObject: CSSObject, className: stri
23
26
  * (performing unnesting, applying vendor prefixes, etc.). Re-serializes and returns
24
27
  * the transformed css string.
25
28
  */
26
- export declare function processCss({ content }: {
29
+ export declare function processCss({ content, forceImportant, }: {
27
30
  content: string;
28
- }): string;
31
+ } & SerializationOptions): string;
29
32
  /**
30
33
  * Uses Emotion's `serializeStyles` function to create a css string
31
34
  * which is returned along with a content hash.
@@ -37,4 +40,5 @@ export declare function toRawCss(styles: Array<CSSObject>): {
37
40
  content: string;
38
41
  contentHash: string;
39
42
  };
43
+ export {};
40
44
  //# sourceMappingURL=serialize-css.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"serialize-css.d.ts","sourceRoot":"","sources":["../../../../../src/runtimes/react/css-runtime/serialize-css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA6C,MAAM,oBAAoB,CAAA;AAGzF;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAC7B,YAAY,EAAE,SAAS,EACvB,SAAS,EAAE,MAAM,GAChB;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAKtC;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAGnE;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAM3F"}
1
+ {"version":3,"file":"serialize-css.d.ts","sourceRoot":"","sources":["../../../../../src/runtimes/react/css-runtime/serialize-css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA6C,MAAM,oBAAoB,CAAA;AAczF,KAAK,oBAAoB,GAAG;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB,CAAA;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAC7B,YAAY,EAAE,SAAS,EACvB,SAAS,EAAE,MAAM,EACjB,EAAE,cAAsB,EAAE,GAAE,oBAAyB,GACpD;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAKtC;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,EACzB,OAAO,EACP,cAAsB,GACvB,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,oBAAoB,GAAG,MAAM,CAMrD;AAqBD;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAM3F"}
@@ -7,13 +7,15 @@ export declare class StylesheetEngine implements Stylesheet {
7
7
  private propPathComponents;
8
8
  private onDefineStyle;
9
9
  private classNamePrefix?;
10
- constructor({ breakpointsData, documentKey, elementKey, propPathComponents, onDefineStyle, classNamePrefix, }: {
10
+ private forceImportant;
11
+ constructor({ breakpointsData, documentKey, elementKey, propPathComponents, onDefineStyle, classNamePrefix, forceImportant, }: {
11
12
  breakpointsData: Breakpoints;
12
13
  documentKey: string;
13
14
  elementKey: string;
14
15
  propPathComponents: readonly string[];
15
16
  onDefineStyle: (data: ControlledStyleData) => void;
16
17
  classNamePrefix?: string;
18
+ forceImportant?: boolean;
17
19
  });
18
20
  breakpoints(): Breakpoints;
19
21
  defineStyle(resolvedStyle: ResolvedStyle, onBoxModelChange?: (boxModel: BoxDisplayModel | null) => void): string;
@@ -1 +1 @@
1
- {"version":3,"file":"stylesheet-engine.d.ts","sourceRoot":"","sources":["../../../../../src/runtimes/react/css-runtime/stylesheet-engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAE7F,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAI7C,qBAAa,gBAAiB,YAAW,UAAU;IACjD,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,kBAAkB,CAAmB;IAC7C,OAAO,CAAC,aAAa,CAAqC;IAC1D,OAAO,CAAC,eAAe,CAAC,CAAQ;gBAEpB,EACV,eAAe,EACf,WAAW,EACX,UAAU,EACV,kBAAkB,EAClB,aAAa,EACb,eAAe,GAChB,EAAE;QACD,eAAe,EAAE,WAAW,CAAA;QAC5B,WAAW,EAAE,MAAM,CAAA;QACnB,UAAU,EAAE,MAAM,CAAA;QAClB,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAA;QACrC,aAAa,EAAE,CAAC,IAAI,EAAE,mBAAmB,KAAK,IAAI,CAAA;QAClD,eAAe,CAAC,EAAE,MAAM,CAAA;KACzB;IASD,WAAW,IAAI,WAAW;IAI1B,WAAW,CACT,aAAa,EAAE,aAAa,EAC5B,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,KAAK,IAAI,GAC5D,MAAM;IAqBT,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU;IAWnC,GAAG,IAAI,MAAM;CAGd"}
1
+ {"version":3,"file":"stylesheet-engine.d.ts","sourceRoot":"","sources":["../../../../../src/runtimes/react/css-runtime/stylesheet-engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAE7F,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAI7C,qBAAa,gBAAiB,YAAW,UAAU;IACjD,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,kBAAkB,CAAmB;IAC7C,OAAO,CAAC,aAAa,CAAqC;IAC1D,OAAO,CAAC,eAAe,CAAC,CAAQ;IAChC,OAAO,CAAC,cAAc,CAAS;gBAEnB,EACV,eAAe,EACf,WAAW,EACX,UAAU,EACV,kBAAkB,EAClB,aAAa,EACb,eAAe,EACf,cAAsB,GACvB,EAAE;QACD,eAAe,EAAE,WAAW,CAAA;QAC5B,WAAW,EAAE,MAAM,CAAA;QACnB,UAAU,EAAE,MAAM,CAAA;QAClB,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAA;QACrC,aAAa,EAAE,CAAC,IAAI,EAAE,mBAAmB,KAAK,IAAI,CAAA;QAClD,eAAe,CAAC,EAAE,MAAM,CAAA;QACxB,cAAc,CAAC,EAAE,OAAO,CAAA;KACzB;IAUD,WAAW,IAAI,WAAW;IAI1B,WAAW,CACT,aAAa,EAAE,aAAa,EAC5B,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,KAAK,IAAI,GAC5D,MAAM;IAwBT,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU;IAYnC,GAAG,IAAI,MAAM;CAGd"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-async-effect.d.ts","sourceRoot":"","sources":["../../../../../src/runtimes/react/hooks/use-async-effect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAa,MAAM,OAAO,CAAA;AAEtD,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,QA6B9F"}
1
+ {"version":3,"file":"use-async-effect.d.ts","sourceRoot":"","sources":["../../../../../src/runtimes/react/hooks/use-async-effect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAa,MAAM,OAAO,CAAA;AAItD,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,QA8B9F"}
@@ -4,11 +4,10 @@ import { type ElementData } from '../../../state/read-only-state';
4
4
  * the server and stores the result in the server element cache under the
5
5
  * provided element key.
6
6
  *
7
- * The callback returns true only if the element render succeeds and is committed
8
- * to the cache. Returns false when rendering is unavailable, fails, or produces a
9
- * stale/out-of-order result.
7
+ * Calls the `onCommitted` callback once after a successfully rendered node is
8
+ * committed to the current React tree.
10
9
  */
11
10
  export declare const useServerElementRefresh: ({ elementKey, }: {
12
11
  elementKey: string;
13
- }) => ((elementData: ElementData) => Promise<boolean>);
12
+ }) => ((elementData: ElementData, onCommitted?: () => void) => Promise<void>);
14
13
  //# sourceMappingURL=use-server-element-refresh.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-server-element-refresh.d.ts","sourceRoot":"","sources":["../../../../../src/runtimes/react/hooks/use-server-element-refresh.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,gCAAgC,CAAA;AAQjE;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB,GAAI,iBAErC;IACD,UAAU,EAAE,MAAM,CAAA;CACnB,KAAG,CAAC,CAAC,WAAW,EAAE,WAAW,KAAK,OAAO,CAAC,OAAO,CAAC,CAiElD,CAAA"}
1
+ {"version":3,"file":"use-server-element-refresh.d.ts","sourceRoot":"","sources":["../../../../../src/runtimes/react/hooks/use-server-element-refresh.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,gCAAgC,CAAA;AAQjE;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,GAAI,iBAErC;IACD,UAAU,EAAE,MAAM,CAAA;CACnB,KAAG,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC,EAAE,MAAM,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAgDzE,CAAA"}
@@ -1,5 +1,9 @@
1
1
  import { type PropsWithChildren } from 'react';
2
2
  import { StylesRegistry } from './css-runtime/styles-registry';
3
+ /**
4
+ * Style configuration must remain unchanged while the document is mounted.
5
+ * Changing it during development may require a full page reload.
6
+ */
3
7
  export type RootStyleProps = {
4
8
  /**
5
9
  * The prefix used for generated class names.
@@ -11,12 +15,18 @@ export type RootStyleProps = {
11
15
  * Set to `false` when using `@layer`-based CSS frameworks like Tailwind.
12
16
  */
13
17
  enableCssReset?: boolean;
18
+ /**
19
+ * Append `!important` to Makeswift-generated style rule declarations to
20
+ * increase their priority relative to external styles.
21
+ */
22
+ forceImportant?: boolean;
14
23
  };
15
- export declare function RootStyleRegistry({ children, stylesRegistry, classNamePrefix, enableCssReset, shouldRenderStyleElements, }: PropsWithChildren<{
24
+ export declare function RootStyleRegistry({ children, stylesRegistry, classNamePrefix, enableCssReset, forceImportant, shouldRenderStyleElements, }: PropsWithChildren<{
16
25
  stylesRegistry: StylesRegistry;
17
26
  classNamePrefix?: string;
18
27
  enableCssReset?: boolean;
28
+ forceImportant?: boolean;
19
29
  shouldRenderStyleElements?: boolean;
20
30
  }>): import("react/jsx-runtime").JSX.Element;
21
- export declare function DefaultRootStyleRegistry({ children, classNamePrefix, enableCssReset, }: PropsWithChildren<RootStyleProps>): import("react/jsx-runtime").JSX.Element;
31
+ export declare function DefaultRootStyleRegistry({ children, classNamePrefix, enableCssReset, forceImportant, }: PropsWithChildren<RootStyleProps>): import("react/jsx-runtime").JSX.Element;
22
32
  //# sourceMappingURL=root-style-registry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"root-style-registry.d.ts","sourceRoot":"","sources":["../../../../src/runtimes/react/root-style-registry.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAY,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAExD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAS9D,MAAM,MAAM,cAAc,GAAG;IAC3B;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB,CAAA;AAED,wBAAgB,iBAAiB,CAAC,EAChC,QAAQ,EACR,cAAc,EACd,eAA+C,EAC/C,cAA0C,EAC1C,yBAAgE,GACjE,EAAE,iBAAiB,CAAC;IACnB,cAAc,EAAE,cAAc,CAAA;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,yBAAyB,CAAC,EAAE,OAAO,CAAA;CACpC,CAAC,2CAaD;AAED,wBAAgB,wBAAwB,CAAC,EACvC,QAAQ,EACR,eAAe,EACf,cAAc,GACf,EAAE,iBAAiB,CAAC,cAAc,CAAC,2CAWnC"}
1
+ {"version":3,"file":"root-style-registry.d.ts","sourceRoot":"","sources":["../../../../src/runtimes/react/root-style-registry.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAY,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAExD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAU9D;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB,CAAA;AAED,wBAAgB,iBAAiB,CAAC,EAChC,QAAQ,EACR,cAAc,EACd,eAA+C,EAC/C,cAA0C,EAC1C,cAA4C,EAC5C,yBAAgE,GACjE,EAAE,iBAAiB,CAAC;IACnB,cAAc,EAAE,cAAc,CAAA;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,yBAAyB,CAAC,EAAE,OAAO,CAAA;CACpC,CAAC,2CAcD;AAED,wBAAgB,wBAAwB,CAAC,EACvC,QAAQ,EACR,eAAe,EACf,cAAc,EACd,cAAc,GACf,EAAE,iBAAiB,CAAC,cAAc,CAAC,2CAYnC"}
@@ -1 +1 @@
1
- {"version":3,"file":"editable-server-element.d.ts","sourceRoot":"","sources":["../../../../../../src/runtimes/react/server/components/editable-server-element.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,iBAAiB,EAAmD,MAAM,OAAO,CAAA;AAI/F,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,mCAAmC,CAAA;AAkBpE,eAAO,MAAM,qBAAqB,GAAI,mCAGnC,iBAAiB,CAAC;IAAE,kBAAkB,EAAE,WAAW,CAAA;CAAE,CAAC,mDAaxD,CAAA"}
1
+ {"version":3,"file":"editable-server-element.d.ts","sourceRoot":"","sources":["../../../../../../src/runtimes/react/server/components/editable-server-element.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,iBAAiB,EAAmD,MAAM,OAAO,CAAA;AAI/F,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,mCAAmC,CAAA;AAqBpE,eAAO,MAAM,qBAAqB,GAAI,mCAGnC,iBAAiB,CAAC;IAAE,kBAAkB,EAAE,WAAW,CAAA;CAAE,CAAC,mDAaxD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"element-data.d.ts","sourceRoot":"","sources":["../../../../../../src/runtimes/react/server/components/element-data.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAItC,OAAO,EAEL,KAAK,WAAW,EAIjB,MAAM,mCAAmC,CAAA;AAK1C,OAAO,EAAE,KAAK,mBAAmB,EAAY,MAAM,mBAAmB,CAAA;AAMtE,wBAAsB,iBAAiB,CAAC,EACtC,WAAW,EACX,OAAO,EACP,WAAW,EACX,aAAa,GACd,EAAE;IACD,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,mBAAmB,CAAA;IAC5B,WAAW,EAAE,WAAW,CAAA;IACxB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACvC,GAAG,OAAO,CAAC,SAAS,CAAC,CAoDrB"}
1
+ {"version":3,"file":"element-data.d.ts","sourceRoot":"","sources":["../../../../../../src/runtimes/react/server/components/element-data.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAItC,OAAO,EAEL,KAAK,WAAW,EAIjB,MAAM,mCAAmC,CAAA;AAK1C,OAAO,EAAE,KAAK,mBAAmB,EAAY,MAAM,mBAAmB,CAAA;AAMtE,wBAAsB,iBAAiB,CAAC,EACtC,WAAW,EACX,OAAO,EACP,WAAW,EACX,aAAa,GACd,EAAE;IACD,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,mBAAmB,CAAA;IAC5B,WAAW,EAAE,WAAW,CAAA;IACxB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACvC,GAAG,OAAO,CAAC,SAAS,CAAC,CAqDrB"}
@@ -1,9 +1,9 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { type ElementsMap } from '../collect-server-elements';
3
+ type CommitRefresh = (node: ReactNode) => void;
3
4
  type ContextValue = {
4
5
  getElement: (elementKey: string) => ReactNode;
5
- updateElement: (elementKey: string, node: ReactNode) => void;
6
- removeElement: (elementKey: string) => void;
6
+ beginRefresh: (elementKey: string, onCommitted?: () => void) => CommitRefresh | null;
7
7
  };
8
8
  /**
9
9
  * Client-side "cache" of server-rendered elements; this is one of the key pieces in our RSC
@@ -1 +1 @@
1
- {"version":3,"file":"server-elements-cache.d.ts","sourceRoot":"","sources":["../../../../../../src/runtimes/react/server/components/server-elements-cache.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAiB,SAAS,EAA8C,MAAM,OAAO,CAAA;AAE5F,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAE7D,KAAK,YAAY,GAAG;IAClB,UAAU,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,SAAS,CAAA;IAC7C,aAAa,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,KAAK,IAAI,CAAA;IAC5D,aAAa,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAA;CAC5C,CAAA;AAQD;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,GAAI,sBAGjC;IACD,QAAQ,EAAE,SAAS,CAAA;IACnB,KAAK,EAAE,WAAW,CAAA;CACnB,4CAoCA,CAAA;AAED,eAAO,MAAM,sBAAsB,GAAI,yBAGpC;IACD,QAAQ,EAAE,SAAS,CAAA;IACnB,QAAQ,EAAE,WAAW,CAAA;CACtB,4CAA2E,CAAA;AAE5E,eAAO,MAAM,sBAAsB,oBAA4B,CAAA"}
1
+ {"version":3,"file":"server-elements-cache.d.ts","sourceRoot":"","sources":["../../../../../../src/runtimes/react/server/components/server-elements-cache.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEL,SAAS,EAMV,MAAM,OAAO,CAAA;AAId,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAE7D,KAAK,aAAa,GAAG,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAA;AAQ9C,KAAK,YAAY,GAAG;IAClB,UAAU,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,SAAS,CAAA;IAC7C,YAAY,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,IAAI,KAAK,aAAa,GAAG,IAAI,CAAA;CACrF,CAAA;AA8BD;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,GAAI,sBAGjC;IACD,QAAQ,EAAE,SAAS,CAAA;IACnB,KAAK,EAAE,WAAW,CAAA;CACnB,4CAkFA,CAAA;AAeD,eAAO,MAAM,sBAAsB,GAAI,yBAGpC;IACD,QAAQ,EAAE,SAAS,CAAA;IACnB,QAAQ,EAAE,WAAW,CAAA;CACtB,4CAA2E,CAAA;AAE5E,eAAO,MAAM,sBAAsB,oBAA4B,CAAA"}
@@ -15,7 +15,7 @@ export declare const ActionTypes: {
15
15
  readonly REGISTER_MEASURABLE: "REGISTER_MEASURABLE";
16
16
  readonly UNREGISTER_MEASURABLE: "UNREGISTER_MEASURABLE";
17
17
  readonly SET_RESOLVED_VALUE_OVERRIDE: "SET_RESOLVED_VALUE_OVERRIDE";
18
- readonly CLEAR_RESOLVED_VALUE_OVERRIDE: "CLEAR_RESOLVED_VALUE_OVERRIDE";
18
+ readonly CLEAR_STALE_RESOLVED_VALUE_OVERRIDES: "CLEAR_STALE_RESOLVED_VALUE_OVERRIDES";
19
19
  readonly UPDATE_API_CLIENT_CACHE: "UPDATE_API_CLIENT_CACHE";
20
20
  readonly CLEAR_API_CLIENT_CACHE: "CLEAR_API_CLIENT_CACHE";
21
21
  readonly API_RESOURCE_FULFILLED: "API_RESOURCE_FULFILLED";
@@ -10,7 +10,7 @@ export declare const InternalActionTypes: {
10
10
  readonly REGISTER_MEASURABLE: "REGISTER_MEASURABLE";
11
11
  readonly UNREGISTER_MEASURABLE: "UNREGISTER_MEASURABLE";
12
12
  readonly SET_RESOLVED_VALUE_OVERRIDE: "SET_RESOLVED_VALUE_OVERRIDE";
13
- readonly CLEAR_RESOLVED_VALUE_OVERRIDE: "CLEAR_RESOLVED_VALUE_OVERRIDE";
13
+ readonly CLEAR_STALE_RESOLVED_VALUE_OVERRIDES: "CLEAR_STALE_RESOLVED_VALUE_OVERRIDES";
14
14
  readonly UPDATE_API_CLIENT_CACHE: "UPDATE_API_CLIENT_CACHE";
15
15
  readonly CLEAR_API_CLIENT_CACHE: "CLEAR_API_CLIENT_CACHE";
16
16
  readonly API_RESOURCE_FULFILLED: "API_RESOURCE_FULFILLED";
@@ -10,7 +10,7 @@ export declare const ReadWriteActionTypes: {
10
10
  readonly REGISTER_MEASURABLE: "REGISTER_MEASURABLE";
11
11
  readonly UNREGISTER_MEASURABLE: "UNREGISTER_MEASURABLE";
12
12
  readonly SET_RESOLVED_VALUE_OVERRIDE: "SET_RESOLVED_VALUE_OVERRIDE";
13
- readonly CLEAR_RESOLVED_VALUE_OVERRIDE: "CLEAR_RESOLVED_VALUE_OVERRIDE";
13
+ readonly CLEAR_STALE_RESOLVED_VALUE_OVERRIDES: "CLEAR_STALE_RESOLVED_VALUE_OVERRIDES";
14
14
  readonly UPDATE_API_CLIENT_CACHE: "UPDATE_API_CLIENT_CACHE";
15
15
  readonly CLEAR_API_CLIENT_CACHE: "CLEAR_API_CLIENT_CACHE";
16
16
  };