@developer_tribe/react-builder 1.0.6 → 1.0.7

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 (63) hide show
  1. package/dist/build-components/patterns.generated.d.ts +56 -56
  2. package/dist/components/AttributesEditorPanel.d.ts +2 -2
  3. package/dist/components/BottomBar.d.ts +6 -2
  4. package/dist/components/Checkbox.d.ts +1 -1
  5. package/dist/index.cjs.js +3 -3
  6. package/dist/index.cjs.js.map +1 -1
  7. package/dist/index.d.ts +2 -1
  8. package/dist/index.esm.js +3 -3
  9. package/dist/index.esm.js.map +1 -1
  10. package/dist/index.native.cjs.js +1 -1
  11. package/dist/index.native.cjs.js.map +1 -1
  12. package/dist/index.native.esm.js +4 -4
  13. package/dist/index.native.esm.js.map +1 -1
  14. package/dist/modals/ScreenColorsModal.d.ts +1 -1
  15. package/dist/pages/ProjectPage.d.ts +3 -2
  16. package/dist/pages/tabs/BuilderPanel.d.ts +2 -2
  17. package/dist/pages/tabs/SideTool.d.ts +8 -0
  18. package/dist/store.d.ts +0 -6
  19. package/dist/styles.css +1 -1
  20. package/package.json +5 -2
  21. package/src/RenderPage.tsx +1 -4
  22. package/src/assets/samples/carousel-sample.json +81 -99
  23. package/src/assets/samples/simple-1.json +2 -8
  24. package/src/assets/samples/simple-2.json +9 -36
  25. package/src/assets/samples/vpn-onboard-1.json +23 -27
  26. package/src/assets/samples/vpn-onboard-2.json +275 -279
  27. package/src/assets/samples/vpn-onboard-3.json +246 -247
  28. package/src/assets/samples/vpn-onboard-4.json +246 -247
  29. package/src/assets/samples/vpn-onboard-5.json +369 -375
  30. package/src/assets/samples/vpn-onboard-6.json +248 -252
  31. package/src/build-components/View/pattern.json +2 -2
  32. package/src/build-components/patterns.generated.ts +56 -56
  33. package/src/components/AttributesEditorPanel.tsx +8 -12
  34. package/src/components/BottomBar.tsx +75 -69
  35. package/src/components/EditorHeader.tsx +4 -11
  36. package/src/index.ts +2 -1
  37. package/src/modals/ScreenColorsModal.tsx +57 -51
  38. package/src/pages/ProjectPage.tsx +168 -69
  39. package/src/pages/tabs/BuilderPanel.tsx +8 -14
  40. package/src/pages/tabs/SideTool.tsx +253 -0
  41. package/src/store.ts +6 -10
  42. package/src/styles/base/_global.scss +29 -32
  43. package/src/styles/components/_attributes-editor.scss +27 -33
  44. package/src/styles/components/_bottom-bar.scss +11 -23
  45. package/src/styles/components/_editor-shell.scss +38 -18
  46. package/src/styles/components/_mockos-router.scss +16 -14
  47. package/src/styles/components/_ui-components.scss +14 -15
  48. package/src/styles/foundation/_colors.scss +28 -8
  49. package/src/styles/foundation/_mixins.scss +1 -1
  50. package/src/styles/foundation/_sizes.scss +4 -2
  51. package/src/styles/layout/_builder.scss +1 -1
  52. package/src/styles/modals/_add-component.scss +2 -2
  53. package/src/styles/modals/_color-modal.scss +2 -2
  54. package/src/styles/modals/_modal-shell.scss +1 -1
  55. package/src/utils/analyseNodeByPatterns.ts +0 -15
  56. package/dist/components/MobilePanelToggleButton.d.ts +0 -8
  57. package/dist/hooks/useMinimumDelay.d.ts +0 -7
  58. package/dist/hooks/useMobileEditorPanels.d.ts +0 -12
  59. package/dist/hooks/useSyncProjectPageStore.d.ts +0 -15
  60. package/src/components/MobilePanelToggleButton.tsx +0 -39
  61. package/src/hooks/useMinimumDelay.ts +0 -20
  62. package/src/hooks/useMobileEditorPanels.ts +0 -56
  63. package/src/hooks/useSyncProjectPageStore.ts +0 -40
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.cjs.js","sources":["../src/types/PreviewConfig.ts","../src/components/BuilderProvider.tsx","../src/components/ParamsProvider.tsx","../src/hooks/useParams.ts","../src/hooks/useLocalizationParams.ts","../node_modules/use-sync-external-store/shim/index.js","../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js","../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js","../node_modules/use-sync-external-store/shim/with-selector.js","../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.js","../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js","../node_modules/zustand/esm/vanilla.mjs","../node_modules/zustand/esm/traditional.mjs","../node_modules/zustand/esm/vanilla/shallow.mjs","../src/utils/getDevices.ts","../node_modules/zustand/esm/middleware.mjs","../src/store.ts","../src/utils/generateRandomKeyForNode.ts","../src/build-components/patterns.generated.ts","../src/utils/patterns.ts","../src/utils/nodeGuards.ts","../src/utils/analyseNodeByPatterns.ts","../src/utils/analyseNodeStructural.ts","../src/utils/analyseNode.ts","../src/utils/novaToJson.ts","../src/assets/samples/getSamples.ts","../src/components/LocalizationParamsProvider.tsx","../src/utils/querySelector.ts","../src/paywall/hooks/useCalculateLocalizedPrice.ts","../src/paywall/hooks/useCarouselOptionsSeperator.ts","../src/paywall/hooks/useCloseStatusPaywall.ts","../src/paywall/hooks/useDiscountRate.ts","../src/hooks/useLocalize.ts","../src/utils/replaceLocalizationParams.ts","../src/paywall/hooks/usePaywallCounter.ts"],"sourcesContent":["export interface AppConfig {\n theme: 'light' | 'dark';\n isRtl: boolean; //This could be device in future\n screenStyle: {\n light: { backgroundColor: string; color: string; seperatorColor?: string };\n dark: { backgroundColor: string; color: string; seperatorColor?: string };\n };\n localication: Localication;\n defaultLanguage?: string;\n baseSize: { width: number; height: number };\n}\n\nexport const defaultAppConfig: AppConfig = {\n theme: 'light',\n isRtl: false,\n screenStyle: {\n light: { backgroundColor: '#FDFDFD', color: '#161827' },\n dark: { backgroundColor: '#12131A', color: '#E9EBF9' },\n },\n localication: {},\n baseSize: { width: 375, height: 812 },\n};\n\nexport type Localication = {\n [key: string]: {\n [key: string]: string;\n };\n};\n","import React, { createContext, useContext, useMemo } from 'react';\nimport type { Product } from '../paywall/types/paywall-types';\nimport type { PaywallBenefits } from '../paywall/types/benefits';\n\n// NOTE: We keep this context intentionally tiny.\n// IMPORTANT: This provider may be mounted once but consumed by multiple `build-components`\n// on the same screen. Keep the value minimal + stable to avoid unnecessary rerenders.\n// In React Native, `products` should be sourced from an IAP wrapper (e.g. `react-native-iap`)\n// and passed in via `params` from the host app.\nexport type Products = Product;\n\nexport type BuilderProviderParams = {\n products: Products[];\n benefits: PaywallBenefits;\n};\n\ntype BuilderProviderProps = {\n params: BuilderProviderParams;\n children: React.ReactNode;\n};\n\nconst BuilderContext = createContext<BuilderProviderParams | undefined>(\n undefined,\n);\n\nexport function BuilderProvider({ params, children }: BuilderProviderProps) {\n const value = useMemo<BuilderProviderParams>(\n () => ({\n products: Array.isArray(params?.products) ? params.products : [],\n benefits:\n params?.benefits && typeof params.benefits === 'object'\n ? (params.benefits as PaywallBenefits)\n : {},\n }),\n [params?.benefits, params?.products],\n );\n\n return (\n <BuilderContext.Provider value={value}>{children}</BuilderContext.Provider>\n );\n}\n\nexport function useBuilderParams(): BuilderProviderParams {\n return useContext(BuilderContext) ?? { products: [], benefits: {} };\n}\n","import React, { createContext, useMemo } from 'react';\n\nexport type LocalizationParams = Record<string, string>;\nexport type OtherParams = Record<string, string | boolean | number>;\n\nexport type ParamsContextValue = {\n localizationParams: LocalizationParams;\n otherParams: OtherParams;\n};\n\nexport type ParamsProviderProps = {\n localizationParams?: LocalizationParams;\n otherParams?: OtherParams;\n children: React.ReactNode;\n};\n\nexport const ParamsContext = createContext<ParamsContextValue>({\n localizationParams: {},\n otherParams: {},\n});\n\nexport function ParamsProvider({\n localizationParams,\n otherParams,\n children,\n}: ParamsProviderProps) {\n const value = useMemo<ParamsContextValue>(\n () => ({\n localizationParams: localizationParams ?? {},\n otherParams: otherParams ?? {},\n }),\n [localizationParams, otherParams],\n );\n\n return (\n <ParamsContext.Provider value={value}>{children}</ParamsContext.Provider>\n );\n}\n","import { useContext } from 'react';\nimport { ParamsContext } from '../components/ParamsProvider';\n\nexport function useParams() {\n return (\n useContext(ParamsContext) ?? { localizationParams: {}, otherParams: {} }\n );\n}\n","import { useParams } from './useParams';\n\nexport function useLocalizationParams() {\n return useParams().localizationParams ?? {};\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim.production.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\n","/**\n * @license React\n * use-sync-external-store-shim.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar React = require(\"react\");\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useState = React.useState,\n useEffect = React.useEffect,\n useLayoutEffect = React.useLayoutEffect,\n useDebugValue = React.useDebugValue;\nfunction useSyncExternalStore$2(subscribe, getSnapshot) {\n var value = getSnapshot(),\n _useState = useState({ inst: { value: value, getSnapshot: getSnapshot } }),\n inst = _useState[0].inst,\n forceUpdate = _useState[1];\n useLayoutEffect(\n function () {\n inst.value = value;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n },\n [subscribe, value, getSnapshot]\n );\n useEffect(\n function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n });\n },\n [subscribe]\n );\n useDebugValue(value);\n return value;\n}\nfunction checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n}\nfunction useSyncExternalStore$1(subscribe, getSnapshot) {\n return getSnapshot();\n}\nvar shim =\n \"undefined\" === typeof window ||\n \"undefined\" === typeof window.document ||\n \"undefined\" === typeof window.document.createElement\n ? useSyncExternalStore$1\n : useSyncExternalStore$2;\nexports.useSyncExternalStore =\n void 0 !== React.useSyncExternalStore ? React.useSyncExternalStore : shim;\n","/**\n * @license React\n * use-sync-external-store-shim.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n }\n function useSyncExternalStore$2(subscribe, getSnapshot) {\n didWarnOld18Alpha ||\n void 0 === React.startTransition ||\n ((didWarnOld18Alpha = !0),\n console.error(\n \"You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release.\"\n ));\n var value = getSnapshot();\n if (!didWarnUncachedGetSnapshot) {\n var cachedValue = getSnapshot();\n objectIs(value, cachedValue) ||\n (console.error(\n \"The result of getSnapshot should be cached to avoid an infinite loop\"\n ),\n (didWarnUncachedGetSnapshot = !0));\n }\n cachedValue = useState({\n inst: { value: value, getSnapshot: getSnapshot }\n });\n var inst = cachedValue[0].inst,\n forceUpdate = cachedValue[1];\n useLayoutEffect(\n function () {\n inst.value = value;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n },\n [subscribe, value, getSnapshot]\n );\n useEffect(\n function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n });\n },\n [subscribe]\n );\n useDebugValue(value);\n return value;\n }\n function checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n }\n function useSyncExternalStore$1(subscribe, getSnapshot) {\n return getSnapshot();\n }\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());\n var React = require(\"react\"),\n objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useState = React.useState,\n useEffect = React.useEffect,\n useLayoutEffect = React.useLayoutEffect,\n useDebugValue = React.useDebugValue,\n didWarnOld18Alpha = !1,\n didWarnUncachedGetSnapshot = !1,\n shim =\n \"undefined\" === typeof window ||\n \"undefined\" === typeof window.document ||\n \"undefined\" === typeof window.document.createElement\n ? useSyncExternalStore$1\n : useSyncExternalStore$2;\n exports.useSyncExternalStore =\n void 0 !== React.useSyncExternalStore ? React.useSyncExternalStore : shim;\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());\n })();\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim/with-selector.production.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim/with-selector.development.js');\n}\n","/**\n * @license React\n * use-sync-external-store-shim/with-selector.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar React = require(\"react\"),\n shim = require(\"use-sync-external-store/shim\");\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useSyncExternalStore = shim.useSyncExternalStore,\n useRef = React.useRef,\n useEffect = React.useEffect,\n useMemo = React.useMemo,\n useDebugValue = React.useDebugValue;\nexports.useSyncExternalStoreWithSelector = function (\n subscribe,\n getSnapshot,\n getServerSnapshot,\n selector,\n isEqual\n) {\n var instRef = useRef(null);\n if (null === instRef.current) {\n var inst = { hasValue: !1, value: null };\n instRef.current = inst;\n } else inst = instRef.current;\n instRef = useMemo(\n function () {\n function memoizedSelector(nextSnapshot) {\n if (!hasMemo) {\n hasMemo = !0;\n memoizedSnapshot = nextSnapshot;\n nextSnapshot = selector(nextSnapshot);\n if (void 0 !== isEqual && inst.hasValue) {\n var currentSelection = inst.value;\n if (isEqual(currentSelection, nextSnapshot))\n return (memoizedSelection = currentSelection);\n }\n return (memoizedSelection = nextSnapshot);\n }\n currentSelection = memoizedSelection;\n if (objectIs(memoizedSnapshot, nextSnapshot)) return currentSelection;\n var nextSelection = selector(nextSnapshot);\n if (void 0 !== isEqual && isEqual(currentSelection, nextSelection))\n return (memoizedSnapshot = nextSnapshot), currentSelection;\n memoizedSnapshot = nextSnapshot;\n return (memoizedSelection = nextSelection);\n }\n var hasMemo = !1,\n memoizedSnapshot,\n memoizedSelection,\n maybeGetServerSnapshot =\n void 0 === getServerSnapshot ? null : getServerSnapshot;\n return [\n function () {\n return memoizedSelector(getSnapshot());\n },\n null === maybeGetServerSnapshot\n ? void 0\n : function () {\n return memoizedSelector(maybeGetServerSnapshot());\n }\n ];\n },\n [getSnapshot, getServerSnapshot, selector, isEqual]\n );\n var value = useSyncExternalStore(subscribe, instRef[0], instRef[1]);\n useEffect(\n function () {\n inst.hasValue = !0;\n inst.value = value;\n },\n [value]\n );\n useDebugValue(value);\n return value;\n};\n","/**\n * @license React\n * use-sync-external-store-shim/with-selector.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n }\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());\n var React = require(\"react\"),\n shim = require(\"use-sync-external-store/shim\"),\n objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useSyncExternalStore = shim.useSyncExternalStore,\n useRef = React.useRef,\n useEffect = React.useEffect,\n useMemo = React.useMemo,\n useDebugValue = React.useDebugValue;\n exports.useSyncExternalStoreWithSelector = function (\n subscribe,\n getSnapshot,\n getServerSnapshot,\n selector,\n isEqual\n ) {\n var instRef = useRef(null);\n if (null === instRef.current) {\n var inst = { hasValue: !1, value: null };\n instRef.current = inst;\n } else inst = instRef.current;\n instRef = useMemo(\n function () {\n function memoizedSelector(nextSnapshot) {\n if (!hasMemo) {\n hasMemo = !0;\n memoizedSnapshot = nextSnapshot;\n nextSnapshot = selector(nextSnapshot);\n if (void 0 !== isEqual && inst.hasValue) {\n var currentSelection = inst.value;\n if (isEqual(currentSelection, nextSnapshot))\n return (memoizedSelection = currentSelection);\n }\n return (memoizedSelection = nextSnapshot);\n }\n currentSelection = memoizedSelection;\n if (objectIs(memoizedSnapshot, nextSnapshot))\n return currentSelection;\n var nextSelection = selector(nextSnapshot);\n if (void 0 !== isEqual && isEqual(currentSelection, nextSelection))\n return (memoizedSnapshot = nextSnapshot), currentSelection;\n memoizedSnapshot = nextSnapshot;\n return (memoizedSelection = nextSelection);\n }\n var hasMemo = !1,\n memoizedSnapshot,\n memoizedSelection,\n maybeGetServerSnapshot =\n void 0 === getServerSnapshot ? null : getServerSnapshot;\n return [\n function () {\n return memoizedSelector(getSnapshot());\n },\n null === maybeGetServerSnapshot\n ? void 0\n : function () {\n return memoizedSelector(maybeGetServerSnapshot());\n }\n ];\n },\n [getSnapshot, getServerSnapshot, selector, isEqual]\n );\n var value = useSyncExternalStore(subscribe, instRef[0], instRef[1]);\n useEffect(\n function () {\n inst.hasValue = !0;\n inst.value = value;\n },\n [value]\n );\n useDebugValue(value);\n return value;\n };\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());\n })();\n","const createStoreImpl = (createState) => {\n let state;\n const listeners = /* @__PURE__ */ new Set();\n const setState = (partial, replace) => {\n const nextState = typeof partial === \"function\" ? partial(state) : partial;\n if (!Object.is(nextState, state)) {\n const previousState = state;\n state = (replace != null ? replace : typeof nextState !== \"object\" || nextState === null) ? nextState : Object.assign({}, state, nextState);\n listeners.forEach((listener) => listener(state, previousState));\n }\n };\n const getState = () => state;\n const getInitialState = () => initialState;\n const subscribe = (listener) => {\n listeners.add(listener);\n return () => listeners.delete(listener);\n };\n const api = { setState, getState, getInitialState, subscribe };\n const initialState = state = createState(setState, getState, api);\n return api;\n};\nconst createStore = ((createState) => createState ? createStoreImpl(createState) : createStoreImpl);\n\nexport { createStore };\n","import React from 'react';\nimport useSyncExternalStoreExports from 'use-sync-external-store/shim/with-selector.js';\nimport { createStore } from 'zustand/vanilla';\n\nconst { useSyncExternalStoreWithSelector } = useSyncExternalStoreExports;\nconst identity = (arg) => arg;\nfunction useStoreWithEqualityFn(api, selector = identity, equalityFn) {\n const slice = useSyncExternalStoreWithSelector(\n api.subscribe,\n api.getState,\n api.getInitialState,\n selector,\n equalityFn\n );\n React.useDebugValue(slice);\n return slice;\n}\nconst createWithEqualityFnImpl = (createState, defaultEqualityFn) => {\n const api = createStore(createState);\n const useBoundStoreWithEqualityFn = (selector, equalityFn = defaultEqualityFn) => useStoreWithEqualityFn(api, selector, equalityFn);\n Object.assign(useBoundStoreWithEqualityFn, api);\n return useBoundStoreWithEqualityFn;\n};\nconst createWithEqualityFn = ((createState, defaultEqualityFn) => createState ? createWithEqualityFnImpl(createState, defaultEqualityFn) : createWithEqualityFnImpl);\n\nexport { createWithEqualityFn, useStoreWithEqualityFn };\n","const isIterable = (obj) => Symbol.iterator in obj;\nconst hasIterableEntries = (value) => (\n // HACK: avoid checking entries type\n \"entries\" in value\n);\nconst compareEntries = (valueA, valueB) => {\n const mapA = valueA instanceof Map ? valueA : new Map(valueA.entries());\n const mapB = valueB instanceof Map ? valueB : new Map(valueB.entries());\n if (mapA.size !== mapB.size) {\n return false;\n }\n for (const [key, value] of mapA) {\n if (!mapB.has(key) || !Object.is(value, mapB.get(key))) {\n return false;\n }\n }\n return true;\n};\nconst compareIterables = (valueA, valueB) => {\n const iteratorA = valueA[Symbol.iterator]();\n const iteratorB = valueB[Symbol.iterator]();\n let nextA = iteratorA.next();\n let nextB = iteratorB.next();\n while (!nextA.done && !nextB.done) {\n if (!Object.is(nextA.value, nextB.value)) {\n return false;\n }\n nextA = iteratorA.next();\n nextB = iteratorB.next();\n }\n return !!nextA.done && !!nextB.done;\n};\nfunction shallow(valueA, valueB) {\n if (Object.is(valueA, valueB)) {\n return true;\n }\n if (typeof valueA !== \"object\" || valueA === null || typeof valueB !== \"object\" || valueB === null) {\n return false;\n }\n if (Object.getPrototypeOf(valueA) !== Object.getPrototypeOf(valueB)) {\n return false;\n }\n if (isIterable(valueA) && isIterable(valueB)) {\n if (hasIterableEntries(valueA) && hasIterableEntries(valueB)) {\n return compareEntries(valueA, valueB);\n }\n return compareIterables(valueA, valueB);\n }\n return compareEntries(\n { entries: () => Object.entries(valueA) },\n { entries: () => Object.entries(valueB) }\n );\n}\n\nexport { shallow };\n","import { Device } from '../types/Device';\nimport devices from '../assets/devices.json';\n\nexport function getDevices(): Device[] {\n const deviceList = (devices as Device[]).slice();\n deviceList.sort((a, b) => {\n const ai = a.importance ?? 999;\n const bi = b.importance ?? 999;\n return ai - bi;\n });\n return deviceList;\n}\n\n//TODO: object instead of function\nexport function getDefaultDevice(): Device {\n return getDevices()[0];\n}\n","const reduxImpl = (reducer, initial) => (set, _get, api) => {\n api.dispatch = (action) => {\n set((state) => reducer(state, action), false, action);\n return action;\n };\n api.dispatchFromDevtools = true;\n return { dispatch: (...args) => api.dispatch(...args), ...initial };\n};\nconst redux = reduxImpl;\n\nconst trackedConnections = /* @__PURE__ */ new Map();\nconst getTrackedConnectionState = (name) => {\n const api = trackedConnections.get(name);\n if (!api) return {};\n return Object.fromEntries(\n Object.entries(api.stores).map(([key, api2]) => [key, api2.getState()])\n );\n};\nconst extractConnectionInformation = (store, extensionConnector, options) => {\n if (store === void 0) {\n return {\n type: \"untracked\",\n connection: extensionConnector.connect(options)\n };\n }\n const existingConnection = trackedConnections.get(options.name);\n if (existingConnection) {\n return { type: \"tracked\", store, ...existingConnection };\n }\n const newConnection = {\n connection: extensionConnector.connect(options),\n stores: {}\n };\n trackedConnections.set(options.name, newConnection);\n return { type: \"tracked\", store, ...newConnection };\n};\nconst removeStoreFromTrackedConnections = (name, store) => {\n if (store === void 0) return;\n const connectionInfo = trackedConnections.get(name);\n if (!connectionInfo) return;\n delete connectionInfo.stores[store];\n if (Object.keys(connectionInfo.stores).length === 0) {\n trackedConnections.delete(name);\n }\n};\nconst findCallerName = (stack) => {\n var _a, _b;\n if (!stack) return void 0;\n const traceLines = stack.split(\"\\n\");\n const apiSetStateLineIndex = traceLines.findIndex(\n (traceLine) => traceLine.includes(\"api.setState\")\n );\n if (apiSetStateLineIndex < 0) return void 0;\n const callerLine = ((_a = traceLines[apiSetStateLineIndex + 1]) == null ? void 0 : _a.trim()) || \"\";\n return (_b = /.+ (.+) .+/.exec(callerLine)) == null ? void 0 : _b[1];\n};\nconst devtoolsImpl = (fn, devtoolsOptions = {}) => (set, get, api) => {\n const { enabled, anonymousActionType, store, ...options } = devtoolsOptions;\n let extensionConnector;\n try {\n extensionConnector = (enabled != null ? enabled : (import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") && window.__REDUX_DEVTOOLS_EXTENSION__;\n } catch (e) {\n }\n if (!extensionConnector) {\n return fn(set, get, api);\n }\n const { connection, ...connectionInformation } = extractConnectionInformation(store, extensionConnector, options);\n let isRecording = true;\n api.setState = ((state, replace, nameOrAction) => {\n const r = set(state, replace);\n if (!isRecording) return r;\n const action = nameOrAction === void 0 ? {\n type: anonymousActionType || findCallerName(new Error().stack) || \"anonymous\"\n } : typeof nameOrAction === \"string\" ? { type: nameOrAction } : nameOrAction;\n if (store === void 0) {\n connection == null ? void 0 : connection.send(action, get());\n return r;\n }\n connection == null ? void 0 : connection.send(\n {\n ...action,\n type: `${store}/${action.type}`\n },\n {\n ...getTrackedConnectionState(options.name),\n [store]: api.getState()\n }\n );\n return r;\n });\n api.devtools = {\n cleanup: () => {\n if (connection && typeof connection.unsubscribe === \"function\") {\n connection.unsubscribe();\n }\n removeStoreFromTrackedConnections(options.name, store);\n }\n };\n const setStateFromDevtools = (...a) => {\n const originalIsRecording = isRecording;\n isRecording = false;\n set(...a);\n isRecording = originalIsRecording;\n };\n const initialState = fn(api.setState, get, api);\n if (connectionInformation.type === \"untracked\") {\n connection == null ? void 0 : connection.init(initialState);\n } else {\n connectionInformation.stores[connectionInformation.store] = api;\n connection == null ? void 0 : connection.init(\n Object.fromEntries(\n Object.entries(connectionInformation.stores).map(([key, store2]) => [\n key,\n key === connectionInformation.store ? initialState : store2.getState()\n ])\n )\n );\n }\n if (api.dispatchFromDevtools && typeof api.dispatch === \"function\") {\n let didWarnAboutReservedActionType = false;\n const originalDispatch = api.dispatch;\n api.dispatch = (...args) => {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && args[0].type === \"__setState\" && !didWarnAboutReservedActionType) {\n console.warn(\n '[zustand devtools middleware] \"__setState\" action type is reserved to set state from the devtools. Avoid using it.'\n );\n didWarnAboutReservedActionType = true;\n }\n originalDispatch(...args);\n };\n }\n connection.subscribe((message) => {\n var _a;\n switch (message.type) {\n case \"ACTION\":\n if (typeof message.payload !== \"string\") {\n console.error(\n \"[zustand devtools middleware] Unsupported action format\"\n );\n return;\n }\n return parseJsonThen(\n message.payload,\n (action) => {\n if (action.type === \"__setState\") {\n if (store === void 0) {\n setStateFromDevtools(action.state);\n return;\n }\n if (Object.keys(action.state).length !== 1) {\n console.error(\n `\n [zustand devtools middleware] Unsupported __setState action format.\n When using 'store' option in devtools(), the 'state' should have only one key, which is a value of 'store' that was passed in devtools(),\n and value of this only key should be a state object. Example: { \"type\": \"__setState\", \"state\": { \"abc123Store\": { \"foo\": \"bar\" } } }\n `\n );\n }\n const stateFromDevtools = action.state[store];\n if (stateFromDevtools === void 0 || stateFromDevtools === null) {\n return;\n }\n if (JSON.stringify(api.getState()) !== JSON.stringify(stateFromDevtools)) {\n setStateFromDevtools(stateFromDevtools);\n }\n return;\n }\n if (!api.dispatchFromDevtools) return;\n if (typeof api.dispatch !== \"function\") return;\n api.dispatch(action);\n }\n );\n case \"DISPATCH\":\n switch (message.payload.type) {\n case \"RESET\":\n setStateFromDevtools(initialState);\n if (store === void 0) {\n return connection == null ? void 0 : connection.init(api.getState());\n }\n return connection == null ? void 0 : connection.init(getTrackedConnectionState(options.name));\n case \"COMMIT\":\n if (store === void 0) {\n connection == null ? void 0 : connection.init(api.getState());\n return;\n }\n return connection == null ? void 0 : connection.init(getTrackedConnectionState(options.name));\n case \"ROLLBACK\":\n return parseJsonThen(message.state, (state) => {\n if (store === void 0) {\n setStateFromDevtools(state);\n connection == null ? void 0 : connection.init(api.getState());\n return;\n }\n setStateFromDevtools(state[store]);\n connection == null ? void 0 : connection.init(getTrackedConnectionState(options.name));\n });\n case \"JUMP_TO_STATE\":\n case \"JUMP_TO_ACTION\":\n return parseJsonThen(message.state, (state) => {\n if (store === void 0) {\n setStateFromDevtools(state);\n return;\n }\n if (JSON.stringify(api.getState()) !== JSON.stringify(state[store])) {\n setStateFromDevtools(state[store]);\n }\n });\n case \"IMPORT_STATE\": {\n const { nextLiftedState } = message.payload;\n const lastComputedState = (_a = nextLiftedState.computedStates.slice(-1)[0]) == null ? void 0 : _a.state;\n if (!lastComputedState) return;\n if (store === void 0) {\n setStateFromDevtools(lastComputedState);\n } else {\n setStateFromDevtools(lastComputedState[store]);\n }\n connection == null ? void 0 : connection.send(\n null,\n // FIXME no-any\n nextLiftedState\n );\n return;\n }\n case \"PAUSE_RECORDING\":\n return isRecording = !isRecording;\n }\n return;\n }\n });\n return initialState;\n};\nconst devtools = devtoolsImpl;\nconst parseJsonThen = (stringified, fn) => {\n let parsed;\n try {\n parsed = JSON.parse(stringified);\n } catch (e) {\n console.error(\n \"[zustand devtools middleware] Could not parse the received json\",\n e\n );\n }\n if (parsed !== void 0) fn(parsed);\n};\n\nconst subscribeWithSelectorImpl = (fn) => (set, get, api) => {\n const origSubscribe = api.subscribe;\n api.subscribe = ((selector, optListener, options) => {\n let listener = selector;\n if (optListener) {\n const equalityFn = (options == null ? void 0 : options.equalityFn) || Object.is;\n let currentSlice = selector(api.getState());\n listener = (state) => {\n const nextSlice = selector(state);\n if (!equalityFn(currentSlice, nextSlice)) {\n const previousSlice = currentSlice;\n optListener(currentSlice = nextSlice, previousSlice);\n }\n };\n if (options == null ? void 0 : options.fireImmediately) {\n optListener(currentSlice, currentSlice);\n }\n }\n return origSubscribe(listener);\n });\n const initialState = fn(set, get, api);\n return initialState;\n};\nconst subscribeWithSelector = subscribeWithSelectorImpl;\n\nfunction combine(initialState, create) {\n return (...args) => Object.assign({}, initialState, create(...args));\n}\n\nfunction createJSONStorage(getStorage, options) {\n let storage;\n try {\n storage = getStorage();\n } catch (e) {\n return;\n }\n const persistStorage = {\n getItem: (name) => {\n var _a;\n const parse = (str2) => {\n if (str2 === null) {\n return null;\n }\n return JSON.parse(str2, options == null ? void 0 : options.reviver);\n };\n const str = (_a = storage.getItem(name)) != null ? _a : null;\n if (str instanceof Promise) {\n return str.then(parse);\n }\n return parse(str);\n },\n setItem: (name, newValue) => storage.setItem(name, JSON.stringify(newValue, options == null ? void 0 : options.replacer)),\n removeItem: (name) => storage.removeItem(name)\n };\n return persistStorage;\n}\nconst toThenable = (fn) => (input) => {\n try {\n const result = fn(input);\n if (result instanceof Promise) {\n return result;\n }\n return {\n then(onFulfilled) {\n return toThenable(onFulfilled)(result);\n },\n catch(_onRejected) {\n return this;\n }\n };\n } catch (e) {\n return {\n then(_onFulfilled) {\n return this;\n },\n catch(onRejected) {\n return toThenable(onRejected)(e);\n }\n };\n }\n};\nconst persistImpl = (config, baseOptions) => (set, get, api) => {\n let options = {\n storage: createJSONStorage(() => localStorage),\n partialize: (state) => state,\n version: 0,\n merge: (persistedState, currentState) => ({\n ...currentState,\n ...persistedState\n }),\n ...baseOptions\n };\n let hasHydrated = false;\n const hydrationListeners = /* @__PURE__ */ new Set();\n const finishHydrationListeners = /* @__PURE__ */ new Set();\n let storage = options.storage;\n if (!storage) {\n return config(\n (...args) => {\n console.warn(\n `[zustand persist middleware] Unable to update item '${options.name}', the given storage is currently unavailable.`\n );\n set(...args);\n },\n get,\n api\n );\n }\n const setItem = () => {\n const state = options.partialize({ ...get() });\n return storage.setItem(options.name, {\n state,\n version: options.version\n });\n };\n const savedSetState = api.setState;\n api.setState = (state, replace) => {\n savedSetState(state, replace);\n return setItem();\n };\n const configResult = config(\n (...args) => {\n set(...args);\n return setItem();\n },\n get,\n api\n );\n api.getInitialState = () => configResult;\n let stateFromStorage;\n const hydrate = () => {\n var _a, _b;\n if (!storage) return;\n hasHydrated = false;\n hydrationListeners.forEach((cb) => {\n var _a2;\n return cb((_a2 = get()) != null ? _a2 : configResult);\n });\n const postRehydrationCallback = ((_b = options.onRehydrateStorage) == null ? void 0 : _b.call(options, (_a = get()) != null ? _a : configResult)) || void 0;\n return toThenable(storage.getItem.bind(storage))(options.name).then((deserializedStorageValue) => {\n if (deserializedStorageValue) {\n if (typeof deserializedStorageValue.version === \"number\" && deserializedStorageValue.version !== options.version) {\n if (options.migrate) {\n const migration = options.migrate(\n deserializedStorageValue.state,\n deserializedStorageValue.version\n );\n if (migration instanceof Promise) {\n return migration.then((result) => [true, result]);\n }\n return [true, migration];\n }\n console.error(\n `State loaded from storage couldn't be migrated since no migrate function was provided`\n );\n } else {\n return [false, deserializedStorageValue.state];\n }\n }\n return [false, void 0];\n }).then((migrationResult) => {\n var _a2;\n const [migrated, migratedState] = migrationResult;\n stateFromStorage = options.merge(\n migratedState,\n (_a2 = get()) != null ? _a2 : configResult\n );\n set(stateFromStorage, true);\n if (migrated) {\n return setItem();\n }\n }).then(() => {\n postRehydrationCallback == null ? void 0 : postRehydrationCallback(stateFromStorage, void 0);\n stateFromStorage = get();\n hasHydrated = true;\n finishHydrationListeners.forEach((cb) => cb(stateFromStorage));\n }).catch((e) => {\n postRehydrationCallback == null ? void 0 : postRehydrationCallback(void 0, e);\n });\n };\n api.persist = {\n setOptions: (newOptions) => {\n options = {\n ...options,\n ...newOptions\n };\n if (newOptions.storage) {\n storage = newOptions.storage;\n }\n },\n clearStorage: () => {\n storage == null ? void 0 : storage.removeItem(options.name);\n },\n getOptions: () => options,\n rehydrate: () => hydrate(),\n hasHydrated: () => hasHydrated,\n onHydrate: (cb) => {\n hydrationListeners.add(cb);\n return () => {\n hydrationListeners.delete(cb);\n };\n },\n onFinishHydration: (cb) => {\n finishHydrationListeners.add(cb);\n return () => {\n finishHydrationListeners.delete(cb);\n };\n }\n };\n if (!options.skipHydration) {\n hydrate();\n }\n return stateFromStorage || configResult;\n};\nconst persist = persistImpl;\n\nexport { combine, createJSONStorage, devtools, persist, redux, subscribeWithSelector };\n","import { createWithEqualityFn } from 'zustand/traditional';\nimport { shallow } from 'zustand/shallow';\nimport type { Device } from './types/Device';\nimport { defaultAppConfig, type AppConfig } from './types/PreviewConfig';\nimport { getDefaultDevice } from './utils/getDevices';\nimport { createJSONStorage, persist } from 'zustand/middleware';\nimport { Node } from './types/Node';\nimport type { LogEntry, LogLevel, ProjectColors } from './types/Project';\nimport type { Product } from './paywall/types/paywall-types';\nimport type {\n PaywallBenefits,\n PaywallBenefitValue,\n} from './paywall/types/benefits';\n\ntype RenderStore = {\n projectName: string;\n setProjectName: (name: string) => void;\n /**\n * Root node tree being edited (a.k.a. \"editor data\").\n * Not persisted: it comes from the currently opened project.\n */\n editorData: Node | null;\n setEditorData: (data: Node | null) => void;\n copiedNode: Node | null;\n setCopiedNode: (node: Node | null) => void;\n current: Node | null;\n setCurrent: (node: Node | null) => void;\n forceRender: number;\n incForceRender: () => void;\n device: Device;\n setDevice: (device: Device) => void;\n appConfig: AppConfig;\n setAppConfig: (appConfig: AppConfig) => void;\n projectColors?: ProjectColors;\n setProjectColors: (projectColors?: ProjectColors) => void;\n previewMode: boolean;\n setPreviewMode: (previewMode: boolean) => void;\n // Mockable: products (persisted)\n products: Product[];\n addProduct: () => void;\n removeProduct: (index: number) => void;\n updateProduct: (index: number, patch: Partial<Product>) => void;\n setProducts: (products: Product[]) => void;\n clearProducts: () => void;\n // Mockable: benefits (persisted)\n benefits: PaywallBenefits;\n setBenefits: (benefits: PaywallBenefits) => void;\n clearBenefits: () => void;\n upsertBenefit: (key: string, value: PaywallBenefitValue) => void;\n removeBenefit: (key: string) => void;\n renameBenefit: (fromKey: string, toKey: string) => void;\n // Logging\n logs: LogEntry[];\n logLevel: LogLevel;\n setLogLevel: (level: LogLevel) => void;\n addLog: (\n entry: Omit<LogEntry, 'id' | 'timestamp'> & {\n id?: string;\n timestamp?: number;\n },\n ) => void;\n clearLogs: () => void;\n};\n\nexport const useRenderStore = createWithEqualityFn<RenderStore>()(\n persist(\n (set) => ({\n projectName: '',\n setProjectName: (name) => set({ projectName: name }),\n editorData: null,\n setEditorData: (data) => set({ editorData: data, current: data }),\n copiedNode: null,\n setCopiedNode: (node) => set({ copiedNode: node }),\n current: null,\n setCurrent: (node) => set({ current: node }),\n forceRender: 0,\n incForceRender: () =>\n set((state) => ({ forceRender: state.forceRender + 1 })),\n device: getDefaultDevice(),\n setDevice: (device) => set({ device }),\n appConfig: defaultAppConfig,\n setAppConfig: (appConfig) => set({ appConfig }),\n projectColors: undefined,\n setProjectColors: (projectColors) => set({ projectColors }),\n previewMode: false,\n setPreviewMode: (previewMode) => set({ previewMode }),\n products: [],\n addProduct: () =>\n set((state) => ({\n products: [\n ...(Array.isArray(state.products) ? state.products : []),\n {\n productId: '',\n title: '',\n description: '',\n localizedPrice: '',\n price: '',\n currency: '',\n },\n ],\n })),\n removeProduct: (index) =>\n set((state) => ({\n products: state.products.filter((_, idx) => idx !== index),\n })),\n updateProduct: (index, patch) =>\n set((state) => {\n const prev = state.products;\n if (!Array.isArray(prev)) return state;\n if (index < 0 || index >= prev.length) return state;\n const next = prev.map((p, idx) =>\n idx === index ? { ...p, ...(patch ?? {}) } : p,\n );\n return { products: next };\n }),\n setProducts: (products) =>\n set({\n products: Array.isArray(products) ? products : [],\n }),\n clearProducts: () => set({ products: [] }),\n\n benefits: {},\n setBenefits: (benefits) =>\n set({\n benefits:\n benefits && typeof benefits === 'object' && !Array.isArray(benefits)\n ? (benefits as PaywallBenefits)\n : {},\n }),\n clearBenefits: () => set({ benefits: {} }),\n upsertBenefit: (key, value) =>\n set((state) => {\n const normalizedKey = typeof key === 'string' ? key.trim() : '';\n if (!normalizedKey) return state;\n if (\n typeof value !== 'string' &&\n typeof value !== 'number' &&\n typeof value !== 'boolean'\n ) {\n return state;\n }\n const prev = state.benefits;\n const next: PaywallBenefits = { ...(prev ?? {}) };\n next[normalizedKey] = value;\n return { benefits: next };\n }),\n removeBenefit: (key) =>\n set((state) => {\n const normalizedKey = typeof key === 'string' ? key.trim() : '';\n if (!normalizedKey) return state;\n const prev = state.benefits;\n if (!prev || typeof prev !== 'object') return state;\n if (!(normalizedKey in prev)) return state;\n const next: PaywallBenefits = { ...(prev ?? {}) };\n delete next[normalizedKey];\n return { benefits: next };\n }),\n renameBenefit: (fromKey, toKey) =>\n set((state) => {\n const from = typeof fromKey === 'string' ? fromKey.trim() : '';\n const to = typeof toKey === 'string' ? toKey.trim() : '';\n if (!from || !to) return state;\n if (from === to) return state;\n const prev = state.benefits;\n if (!prev || typeof prev !== 'object') return state;\n if (!(from in prev)) return state;\n const next: PaywallBenefits = { ...(prev ?? {}) };\n const value = next[from] as PaywallBenefitValue;\n delete next[from];\n next[to] = value;\n return { benefits: next };\n }),\n // Logging defaults\n logs: [],\n logLevel: 'INFO',\n setLogLevel: (level) => set({ logLevel: level }),\n addLog: (entry) =>\n set((state) => {\n const now = Date.now();\n const id =\n entry.id ?? `${now}-${Math.random().toString(36).slice(2, 8)}`;\n const timestamp = entry.timestamp ?? now;\n const newEntry: LogEntry = {\n id,\n timestamp,\n level: entry.level,\n source: entry.source,\n message: entry.message,\n payload: entry.payload,\n };\n return { logs: [...state.logs, newEntry] };\n }),\n clearLogs: () => set({ logs: [] }),\n }),\n {\n name: 'render-store',\n partialize: (state) => ({\n // Explicitly DO NOT persist projectName (it comes from ProjectPage props)\n // Explicitly DO NOT persist editorData/current (they come from the opened project)\n copiedNode: state.copiedNode ?? null,\n logLevel: state.logLevel,\n products: state.products,\n benefits: state.benefits,\n }),\n storage: createJSONStorage(() => localStorage),\n },\n ),\n shallow,\n);\n","export function generateRandomKeyForNode(type: string) {\n return type + '-' + Math.random().toString(36).substring(2, 15);\n}\n","/* AUTO-GENERATED FILE - DO NOT EDIT */\n\n// Export resolved patterns (after extends resolution)\nexport const patterns = [\n {\n schemaVersion: 1,\n allowUnknownAttributes: false,\n pattern: {\n type: 'BIcon',\n children: 'never',\n attributes: {\n color: 'color',\n fontSize: 'size',\n fontWeight: [\n 'normal',\n 'bold',\n '100',\n '200',\n '300',\n '400',\n '500',\n '600',\n '700',\n '800',\n '900',\n ],\n textAlign: ['left', 'center', 'right', 'justify'],\n scrollable: 'boolean',\n flexDirection: ['row', 'column'],\n alignItems: ['flex-start', 'center', 'flex-end', 'stretch', 'baseline'],\n justifyContent: [\n 'flex-start',\n 'center',\n 'flex-end',\n 'space-between',\n 'space-around',\n 'space-evenly',\n ],\n gap: 'size',\n padding: 'size',\n paddingHorizontal: 'size',\n paddingVertical: 'size',\n paddingTop: 'size',\n paddingBottom: 'size',\n paddingLeft: 'size',\n paddingRight: 'size',\n margin: 'size',\n marginVertical: 'size',\n marginTop: 'size',\n marginBottom: 'size',\n marginLeft: 'size',\n marginRight: 'size',\n backgroundColor: 'color',\n borderRadius: 'size',\n width: 'size',\n minWidth: 'size',\n maxWidth: 'size',\n height: 'size',\n minHeight: 'size',\n maxHeight: 'size',\n flex: 'number',\n position: ['relative', 'absolute'],\n top: 'size',\n bottom: 'size',\n left: 'size',\n right: 'size',\n zIndex: 'number',\n iconType: 'iconType',\n size: 'number',\n strokeWidth: 'number',\n },\n defaults: { iconType: 'activity', fontSize: '16', strokeWidth: 1.5 },\n },\n meta: {\n desiredParent: ['all'],\n label: 'BIcon',\n description: 'Renders an icon from the icon set.',\n attributes: {\n color: {\n label: 'Color',\n description: 'Text color.',\n category: 'style',\n specialCategory: null,\n sort: 1,\n },\n fontSize: {\n label: 'Font Size',\n description: 'Text size.',\n category: 'style',\n specialCategory: null,\n sort: 2,\n preferedScale: 's',\n },\n fontWeight: {\n label: 'Font Weight',\n description: 'Text weight.',\n category: 'style',\n specialCategory: null,\n sort: 3,\n },\n textAlign: {\n label: 'Text Align',\n description: 'Text alignment.',\n category: 'style',\n specialCategory: null,\n sort: 4,\n },\n scrollable: {\n label: 'Scrollable (!!)',\n description: 'THIS FEATURE MIGHT NOT WORK IN MOBILE!',\n category: 'container',\n specialCategory: null,\n sort: -1,\n },\n flexDirection: {\n label: 'Flex Direction',\n description: 'Sets row or column layout.',\n category: 'container',\n specialCategory: null,\n sort: 4,\n },\n alignItems: {\n label: 'Align Items',\n description: 'Controls cross-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n justifyContent: {\n label: 'Justify Content',\n description: 'Controls main-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 5,\n },\n gap: {\n label: 'Gap',\n description: 'Space between children.',\n category: 'container',\n specialCategory: null,\n sort: 10,\n preferedScale: 's',\n },\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n specialCategory: 'padding',\n sort: 6,\n preferedScale: 's',\n },\n paddingHorizontal: {\n label: 'Padding Horizontal',\n description: 'Left and right padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 7,\n preferedScale: 's',\n },\n paddingVertical: {\n label: 'Padding Vertical',\n description: 'Top and bottom padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 8,\n preferedScale: 'vs',\n },\n paddingTop: {\n label: 'Padding Top',\n description: 'Top padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 9,\n preferedScale: 'vs',\n },\n paddingBottom: {\n label: 'Padding Bottom',\n description: 'Bottom padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 10,\n preferedScale: 'vs',\n },\n paddingLeft: {\n label: 'Padding Left',\n description: 'Left padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 11,\n preferedScale: 's',\n },\n paddingRight: {\n label: 'Padding Right',\n description: 'Right padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 12,\n preferedScale: 's',\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n specialCategory: 'margin',\n sort: 13,\n preferedScale: 's',\n },\n marginHorizontal: {\n label: 'Margin Horizontal',\n description: 'Left and right margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 14,\n preferedScale: 's',\n },\n marginVertical: {\n label: 'Margin Vertical',\n description: 'Top and bottom margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 15,\n preferedScale: 'vs',\n },\n marginTop: {\n label: 'Margin Top',\n description: 'Top margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 16,\n preferedScale: 'vs',\n },\n marginBottom: {\n label: 'Margin Bottom',\n description: 'Bottom margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 17,\n preferedScale: 'vs',\n },\n marginLeft: {\n label: 'Margin Left',\n description: 'Left margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 18,\n preferedScale: 's',\n },\n marginRight: {\n label: 'Margin Right',\n description: 'Right margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 19,\n preferedScale: 's',\n },\n backgroundColor: {\n label: 'Background Color',\n description: 'Background fill color.',\n category: 'style',\n specialCategory: null,\n sort: 20,\n },\n borderRadius: {\n label: 'Border Radius',\n description: 'Corner rounding amount.',\n category: 'style',\n specialCategory: null,\n sort: 21,\n preferedScale: 's',\n },\n width: {\n label: 'Width',\n description: 'Fixed width value.',\n category: 'container',\n specialCategory: 'size',\n sort: 0,\n preferedScale: 's',\n },\n minWidth: {\n label: 'Min Width',\n description: 'Minimum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 1,\n preferedScale: 's',\n },\n maxWidth: {\n label: 'Max Width',\n description: 'Maximum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 2,\n preferedScale: 's',\n },\n height: {\n label: 'Height',\n description: 'Fixed height value.',\n category: 'container',\n specialCategory: 'size',\n sort: 3,\n preferedScale: 'vs',\n },\n minHeight: {\n label: 'Min Height',\n description: 'Minimum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 4,\n preferedScale: 'vs',\n },\n maxHeight: {\n label: 'Max Height',\n description: 'Maximum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 5,\n preferedScale: 'vs',\n },\n flex: {\n label: 'Flex',\n description: 'Flex grow factor (e.g. 1 fills available space).',\n category: 'container',\n specialCategory: 'size',\n sort: 6,\n },\n position: {\n label: 'Position',\n description: 'Sets layout positioning mode.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n top: {\n label: 'Top',\n description: 'Offset from the top edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 22,\n preferedScale: 'vs',\n },\n bottom: {\n label: 'Bottom',\n description: 'Offset from the bottom edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 23,\n preferedScale: 'vs',\n },\n left: {\n label: 'Left',\n description: 'Offset from the left edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 24,\n preferedScale: 's',\n },\n right: {\n label: 'Right',\n description: 'Offset from the right edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 25,\n preferedScale: 's',\n },\n zIndex: {\n label: 'Z-Index',\n description: 'Controls stacking order.',\n category: 'container',\n specialCategory: null,\n sort: 26,\n },\n iconType: {\n label: 'Icon',\n description: 'Which icon to render.',\n category: 'other',\n specialCategory: null,\n sort: 1,\n },\n size: {\n label: 'Size',\n description: 'Icon size (px).',\n category: 'style',\n specialCategory: null,\n sort: 2,\n },\n strokeWidth: {\n label: 'Stroke Width',\n description: 'SVG stroke width override (applied to the icon paths).',\n category: 'style',\n specialCategory: null,\n sort: 3,\n },\n },\n specialCategories: {\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n sort: 1,\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n sort: 2,\n },\n size: {\n label: 'Size',\n description: 'Fixed dimensions.',\n category: 'container',\n sort: 3,\n },\n offset: {\n label: 'Offset',\n description: 'Absolute positioning offsets.',\n category: 'container',\n sort: 4,\n },\n },\n },\n types: {},\n defaults: {\n iconType: 'activity',\n fontSize: '16',\n strokeWidth: 1.5,\n flexDirection: 'column',\n position: 'relative',\n zIndex: 1,\n },\n },\n {\n schemaVersion: 1,\n allowUnknownAttributes: false,\n pattern: {\n type: 'BackgroundImage',\n children: 'never',\n attributes: {\n scrollable: 'boolean',\n flexDirection: ['row', 'column'],\n alignItems: ['flex-start', 'center', 'flex-end', 'stretch', 'baseline'],\n justifyContent: [\n 'flex-start',\n 'center',\n 'flex-end',\n 'space-between',\n 'space-around',\n 'space-evenly',\n ],\n gap: 'size',\n padding: 'size',\n paddingHorizontal: 'size',\n paddingVertical: 'size',\n paddingTop: 'size',\n paddingBottom: 'size',\n paddingLeft: 'size',\n paddingRight: 'size',\n margin: 'size',\n marginVertical: 'size',\n marginTop: 'size',\n marginBottom: 'size',\n marginLeft: 'size',\n marginRight: 'size',\n backgroundColor: 'color',\n borderRadius: 'size',\n width: 'size',\n minWidth: 'size',\n maxWidth: 'size',\n height: 'size',\n minHeight: 'size',\n maxHeight: 'size',\n flex: 'number',\n position: ['relative', 'absolute'],\n top: 'size',\n bottom: 'size',\n left: 'size',\n right: 'size',\n zIndex: 'number',\n src: 'string',\n resizeMode: ['cover', 'contain', 'stretch', 'center'],\n },\n defaults: {\n resizeMode: 'cover',\n width: '100%',\n height: '100%',\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n zIndex: 0,\n },\n },\n meta: {\n desiredParent: ['all', 'background'],\n label: 'Background Image',\n description: 'Background image.',\n specialCategories: {\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n sort: 1,\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n sort: 2,\n },\n size: {\n label: 'Size',\n description: 'Fixed dimensions.',\n category: 'container',\n sort: 3,\n },\n offset: {\n label: 'Offset',\n description: 'Absolute positioning offsets.',\n category: 'container',\n sort: 4,\n },\n },\n attributes: {\n scrollable: {\n label: 'Scrollable (!!)',\n description: 'THIS FEATURE MIGHT NOT WORK IN MOBILE!',\n category: 'container',\n specialCategory: null,\n sort: -1,\n },\n flexDirection: {\n label: 'Flex Direction',\n description: 'Sets row or column layout.',\n category: 'container',\n specialCategory: null,\n sort: 4,\n },\n alignItems: {\n label: 'Align Items',\n description: 'Controls cross-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n justifyContent: {\n label: 'Justify Content',\n description: 'Controls main-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 5,\n },\n gap: {\n label: 'Gap',\n description: 'Space between children.',\n category: 'container',\n specialCategory: null,\n sort: 10,\n preferedScale: 's',\n },\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n specialCategory: 'padding',\n sort: 6,\n preferedScale: 's',\n },\n paddingHorizontal: {\n label: 'Padding Horizontal',\n description: 'Left and right padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 7,\n preferedScale: 's',\n },\n paddingVertical: {\n label: 'Padding Vertical',\n description: 'Top and bottom padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 8,\n preferedScale: 'vs',\n },\n paddingTop: {\n label: 'Padding Top',\n description: 'Top padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 9,\n preferedScale: 'vs',\n },\n paddingBottom: {\n label: 'Padding Bottom',\n description: 'Bottom padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 10,\n preferedScale: 'vs',\n },\n paddingLeft: {\n label: 'Padding Left',\n description: 'Left padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 11,\n preferedScale: 's',\n },\n paddingRight: {\n label: 'Padding Right',\n description: 'Right padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 12,\n preferedScale: 's',\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n specialCategory: 'margin',\n sort: 13,\n preferedScale: 's',\n },\n marginHorizontal: {\n label: 'Margin Horizontal',\n description: 'Left and right margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 14,\n preferedScale: 's',\n },\n marginVertical: {\n label: 'Margin Vertical',\n description: 'Top and bottom margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 15,\n preferedScale: 'vs',\n },\n marginTop: {\n label: 'Margin Top',\n description: 'Top margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 16,\n preferedScale: 'vs',\n },\n marginBottom: {\n label: 'Margin Bottom',\n description: 'Bottom margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 17,\n preferedScale: 'vs',\n },\n marginLeft: {\n label: 'Margin Left',\n description: 'Left margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 18,\n preferedScale: 's',\n },\n marginRight: {\n label: 'Margin Right',\n description: 'Right margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 19,\n preferedScale: 's',\n },\n backgroundColor: {\n label: 'Background Color',\n description: 'Background fill color.',\n category: 'style',\n specialCategory: null,\n sort: 20,\n },\n borderRadius: {\n label: 'Border Radius',\n description: 'Corner rounding amount.',\n category: 'style',\n specialCategory: null,\n sort: 21,\n preferedScale: 's',\n },\n width: {\n label: 'Width',\n description: 'Fixed width value.',\n category: 'container',\n specialCategory: 'size',\n sort: 0,\n preferedScale: 's',\n },\n minWidth: {\n label: 'Min Width',\n description: 'Minimum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 1,\n preferedScale: 's',\n },\n maxWidth: {\n label: 'Max Width',\n description: 'Maximum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 2,\n preferedScale: 's',\n },\n height: {\n label: 'Height',\n description: 'Fixed height value.',\n category: 'container',\n specialCategory: 'size',\n sort: 3,\n preferedScale: 'vs',\n },\n minHeight: {\n label: 'Min Height',\n description: 'Minimum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 4,\n preferedScale: 'vs',\n },\n maxHeight: {\n label: 'Max Height',\n description: 'Maximum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 5,\n preferedScale: 'vs',\n },\n flex: {\n label: 'Flex',\n description: 'Flex grow factor (e.g. 1 fills available space).',\n category: 'container',\n specialCategory: 'size',\n sort: 6,\n },\n position: {\n label: 'Position',\n description: 'Sets layout positioning mode.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n top: {\n label: 'Top',\n description: 'Offset from the top edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 22,\n preferedScale: 'vs',\n },\n bottom: {\n label: 'Bottom',\n description: 'Offset from the bottom edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 23,\n preferedScale: 'vs',\n },\n left: {\n label: 'Left',\n description: 'Offset from the left edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 24,\n preferedScale: 's',\n },\n right: {\n label: 'Right',\n description: 'Offset from the right edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 25,\n preferedScale: 's',\n },\n zIndex: {\n label: 'Z-Index',\n description: 'Controls stacking order.',\n category: 'container',\n specialCategory: null,\n sort: 26,\n },\n src: {\n label: 'Src',\n description: 'Image source URL.',\n category: 'other',\n specialCategory: null,\n sort: 1,\n },\n resizeMode: {\n label: 'Resize Mode',\n description: 'How the image fits its container.',\n category: 'style',\n specialCategory: null,\n sort: 4,\n },\n },\n },\n types: {},\n defaults: {\n resizeMode: 'cover',\n width: '100%',\n height: '100%',\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n zIndex: 0,\n flexDirection: 'column',\n },\n },\n {\n schemaVersion: 1,\n allowUnknownAttributes: false,\n pattern: {\n type: 'Button',\n children: 'string',\n attributes: {\n scrollable: 'boolean',\n flexDirection: ['row', 'column'],\n alignItems: ['flex-start', 'center', 'flex-end', 'stretch', 'baseline'],\n justifyContent: [\n 'flex-start',\n 'center',\n 'flex-end',\n 'space-between',\n 'space-around',\n 'space-evenly',\n ],\n gap: 'size',\n padding: 'size',\n paddingHorizontal: 'size',\n paddingVertical: 'size',\n paddingTop: 'size',\n paddingBottom: 'size',\n paddingLeft: 'size',\n paddingRight: 'size',\n margin: 'size',\n marginVertical: 'size',\n marginTop: 'size',\n marginBottom: 'size',\n marginLeft: 'size',\n marginRight: 'size',\n backgroundColor: 'color',\n borderRadius: 'size',\n width: 'size',\n minWidth: 'size',\n maxWidth: 'size',\n height: 'size',\n minHeight: 'size',\n maxHeight: 'size',\n flex: 'number',\n position: ['relative', 'absolute'],\n top: 'size',\n bottom: 'size',\n left: 'size',\n right: 'size',\n zIndex: 'number',\n color: 'color',\n fontSize: 'size',\n fontWeight: [\n 'normal',\n 'bold',\n '100',\n '200',\n '300',\n '400',\n '500',\n '600',\n '700',\n '800',\n '900',\n ],\n },\n defaults: { backgroundColor: 'transparent' },\n },\n meta: {\n desiredParent: ['all'],\n label: 'Button',\n description: 'Simple action button.',\n specialCategories: {\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n sort: 1,\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n sort: 2,\n },\n size: {\n label: 'Size',\n description: 'Fixed dimensions.',\n category: 'container',\n sort: 3,\n },\n offset: {\n label: 'Offset',\n description: 'Absolute positioning offsets.',\n category: 'container',\n sort: 4,\n },\n },\n attributes: {\n scrollable: {\n label: 'Scrollable (!!)',\n description: 'THIS FEATURE MIGHT NOT WORK IN MOBILE!',\n category: 'container',\n specialCategory: null,\n sort: -1,\n },\n flexDirection: {\n label: 'Flex Direction',\n description: 'Sets row or column layout.',\n category: 'container',\n specialCategory: null,\n sort: 4,\n },\n alignItems: {\n label: 'Align Items',\n description: 'Controls cross-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n justifyContent: {\n label: 'Justify Content',\n description: 'Controls main-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 5,\n },\n gap: {\n label: 'Gap',\n description: 'Space between children.',\n category: 'container',\n specialCategory: null,\n sort: 10,\n preferedScale: 's',\n },\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n specialCategory: 'padding',\n sort: 6,\n preferedScale: 's',\n },\n paddingHorizontal: {\n label: 'Padding Horizontal',\n description: 'Left and right padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 7,\n preferedScale: 's',\n },\n paddingVertical: {\n label: 'Padding Vertical',\n description: 'Top and bottom padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 8,\n preferedScale: 'vs',\n },\n paddingTop: {\n label: 'Padding Top',\n description: 'Top padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 9,\n preferedScale: 'vs',\n },\n paddingBottom: {\n label: 'Padding Bottom',\n description: 'Bottom padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 10,\n preferedScale: 'vs',\n },\n paddingLeft: {\n label: 'Padding Left',\n description: 'Left padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 11,\n preferedScale: 's',\n },\n paddingRight: {\n label: 'Padding Right',\n description: 'Right padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 12,\n preferedScale: 's',\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n specialCategory: 'margin',\n sort: 13,\n preferedScale: 's',\n },\n marginHorizontal: {\n label: 'Margin Horizontal',\n description: 'Left and right margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 14,\n preferedScale: 's',\n },\n marginVertical: {\n label: 'Margin Vertical',\n description: 'Top and bottom margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 15,\n preferedScale: 'vs',\n },\n marginTop: {\n label: 'Margin Top',\n description: 'Top margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 16,\n preferedScale: 'vs',\n },\n marginBottom: {\n label: 'Margin Bottom',\n description: 'Bottom margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 17,\n preferedScale: 'vs',\n },\n marginLeft: {\n label: 'Margin Left',\n description: 'Left margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 18,\n preferedScale: 's',\n },\n marginRight: {\n label: 'Margin Right',\n description: 'Right margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 19,\n preferedScale: 's',\n },\n backgroundColor: {\n label: 'Background Color',\n description: 'Background fill color.',\n category: 'style',\n specialCategory: null,\n sort: 20,\n },\n borderRadius: {\n label: 'Border Radius',\n description: 'Corner rounding amount.',\n category: 'style',\n specialCategory: null,\n sort: 21,\n preferedScale: 's',\n },\n width: {\n label: 'Width',\n description: 'Fixed width value.',\n category: 'container',\n specialCategory: 'size',\n sort: 0,\n preferedScale: 's',\n },\n minWidth: {\n label: 'Min Width',\n description: 'Minimum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 1,\n preferedScale: 's',\n },\n maxWidth: {\n label: 'Max Width',\n description: 'Maximum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 2,\n preferedScale: 's',\n },\n height: {\n label: 'Height',\n description: 'Fixed height value.',\n category: 'container',\n specialCategory: 'size',\n sort: 3,\n preferedScale: 'vs',\n },\n minHeight: {\n label: 'Min Height',\n description: 'Minimum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 4,\n preferedScale: 'vs',\n },\n maxHeight: {\n label: 'Max Height',\n description: 'Maximum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 5,\n preferedScale: 'vs',\n },\n flex: {\n label: 'Flex',\n description: 'Flex grow factor (e.g. 1 fills available space).',\n category: 'container',\n specialCategory: 'size',\n sort: 6,\n },\n position: {\n label: 'Position',\n description: 'Sets layout positioning mode.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n top: {\n label: 'Top',\n description: 'Offset from the top edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 22,\n preferedScale: 'vs',\n },\n bottom: {\n label: 'Bottom',\n description: 'Offset from the bottom edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 23,\n preferedScale: 'vs',\n },\n left: {\n label: 'Left',\n description: 'Offset from the left edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 24,\n preferedScale: 's',\n },\n right: {\n label: 'Right',\n description: 'Offset from the right edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 25,\n preferedScale: 's',\n },\n zIndex: {\n label: 'Z-Index',\n description: 'Controls stacking order.',\n category: 'container',\n specialCategory: null,\n sort: 26,\n },\n color: {\n label: 'Color',\n description: 'Text color of the button.',\n category: 'style',\n specialCategory: null,\n sort: 1,\n },\n fontSize: {\n label: 'Font Size',\n description: 'Text size of the button.',\n category: 'style',\n specialCategory: null,\n sort: 2,\n },\n fontWeight: {\n label: 'Font Weight',\n description: 'Text weight of the button.',\n category: 'style',\n specialCategory: null,\n sort: 3,\n },\n },\n },\n types: {},\n defaults: {\n backgroundColor: 'transparent',\n flexDirection: 'column',\n position: 'relative',\n zIndex: 1,\n },\n },\n {\n schemaVersion: 1,\n allowUnknownAttributes: false,\n pattern: {\n type: 'Carousel',\n children: 'CarouselItem',\n attributes: {\n scrollable: 'boolean',\n flexDirection: ['row', 'column'],\n alignItems: ['flex-start', 'center', 'flex-end', 'stretch', 'baseline'],\n justifyContent: [\n 'flex-start',\n 'center',\n 'flex-end',\n 'space-between',\n 'space-around',\n 'space-evenly',\n ],\n gap: 'size',\n padding: 'size',\n paddingHorizontal: 'size',\n paddingVertical: 'size',\n paddingTop: 'size',\n paddingBottom: 'size',\n paddingLeft: 'size',\n paddingRight: 'size',\n margin: 'size',\n marginVertical: 'size',\n marginTop: 'size',\n marginBottom: 'size',\n marginLeft: 'size',\n marginRight: 'size',\n backgroundColor: 'color',\n borderRadius: 'size',\n width: 'size',\n minWidth: 'size',\n maxWidth: 'size',\n height: 'size',\n minHeight: 'size',\n maxHeight: 'size',\n flex: 'number',\n position: ['relative', 'absolute'],\n top: 'size',\n bottom: 'size',\n left: 'size',\n right: 'size',\n zIndex: 'number',\n },\n defaults: { flexDirection: 'row' },\n },\n meta: {\n desiredParent: ['=CarouselProvider'],\n label: 'Carousel',\n description: 'Container for carousel items.',\n specialCategories: {\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n sort: 1,\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n sort: 2,\n },\n size: {\n label: 'Size',\n description: 'Fixed dimensions.',\n category: 'container',\n sort: 3,\n },\n offset: {\n label: 'Offset',\n description: 'Absolute positioning offsets.',\n category: 'container',\n sort: 4,\n },\n },\n attributes: {\n scrollable: {\n label: 'Scrollable (!!)',\n description: 'THIS FEATURE MIGHT NOT WORK IN MOBILE!',\n category: 'container',\n specialCategory: null,\n sort: -1,\n },\n flexDirection: {\n label: 'Flex Direction',\n description: 'Sets row or column layout.',\n category: 'container',\n specialCategory: null,\n sort: 4,\n },\n alignItems: {\n label: 'Align Items',\n description: 'Controls cross-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n justifyContent: {\n label: 'Justify Content',\n description: 'Controls main-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 5,\n },\n gap: {\n label: 'Gap',\n description: 'Space between children.',\n category: 'container',\n specialCategory: null,\n sort: 10,\n preferedScale: 's',\n },\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n specialCategory: 'padding',\n sort: 6,\n preferedScale: 's',\n },\n paddingHorizontal: {\n label: 'Padding Horizontal',\n description: 'Left and right padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 7,\n preferedScale: 's',\n },\n paddingVertical: {\n label: 'Padding Vertical',\n description: 'Top and bottom padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 8,\n preferedScale: 'vs',\n },\n paddingTop: {\n label: 'Padding Top',\n description: 'Top padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 9,\n preferedScale: 'vs',\n },\n paddingBottom: {\n label: 'Padding Bottom',\n description: 'Bottom padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 10,\n preferedScale: 'vs',\n },\n paddingLeft: {\n label: 'Padding Left',\n description: 'Left padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 11,\n preferedScale: 's',\n },\n paddingRight: {\n label: 'Padding Right',\n description: 'Right padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 12,\n preferedScale: 's',\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n specialCategory: 'margin',\n sort: 13,\n preferedScale: 's',\n },\n marginHorizontal: {\n label: 'Margin Horizontal',\n description: 'Left and right margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 14,\n preferedScale: 's',\n },\n marginVertical: {\n label: 'Margin Vertical',\n description: 'Top and bottom margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 15,\n preferedScale: 'vs',\n },\n marginTop: {\n label: 'Margin Top',\n description: 'Top margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 16,\n preferedScale: 'vs',\n },\n marginBottom: {\n label: 'Margin Bottom',\n description: 'Bottom margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 17,\n preferedScale: 'vs',\n },\n marginLeft: {\n label: 'Margin Left',\n description: 'Left margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 18,\n preferedScale: 's',\n },\n marginRight: {\n label: 'Margin Right',\n description: 'Right margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 19,\n preferedScale: 's',\n },\n backgroundColor: {\n label: 'Background Color',\n description: 'Background fill color.',\n category: 'style',\n specialCategory: null,\n sort: 20,\n },\n borderRadius: {\n label: 'Border Radius',\n description: 'Corner rounding amount.',\n category: 'style',\n specialCategory: null,\n sort: 21,\n preferedScale: 's',\n },\n width: {\n label: 'Width',\n description: 'Fixed width value.',\n category: 'container',\n specialCategory: 'size',\n sort: 0,\n preferedScale: 's',\n },\n minWidth: {\n label: 'Min Width',\n description: 'Minimum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 1,\n preferedScale: 's',\n },\n maxWidth: {\n label: 'Max Width',\n description: 'Maximum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 2,\n preferedScale: 's',\n },\n height: {\n label: 'Height',\n description: 'Fixed height value.',\n category: 'container',\n specialCategory: 'size',\n sort: 3,\n preferedScale: 'vs',\n },\n minHeight: {\n label: 'Min Height',\n description: 'Minimum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 4,\n preferedScale: 'vs',\n },\n maxHeight: {\n label: 'Max Height',\n description: 'Maximum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 5,\n preferedScale: 'vs',\n },\n flex: {\n label: 'Flex',\n description: 'Flex grow factor (e.g. 1 fills available space).',\n category: 'container',\n specialCategory: 'size',\n sort: 6,\n },\n position: {\n label: 'Position',\n description: 'Sets layout positioning mode.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n top: {\n label: 'Top',\n description: 'Offset from the top edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 22,\n preferedScale: 'vs',\n },\n bottom: {\n label: 'Bottom',\n description: 'Offset from the bottom edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 23,\n preferedScale: 'vs',\n },\n left: {\n label: 'Left',\n description: 'Offset from the left edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 24,\n preferedScale: 's',\n },\n right: {\n label: 'Right',\n description: 'Offset from the right edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 25,\n preferedScale: 's',\n },\n zIndex: {\n label: 'Z-Index',\n description: 'Controls stacking order.',\n category: 'container',\n specialCategory: null,\n sort: 26,\n },\n },\n },\n types: {},\n defaults: { flexDirection: 'row', position: 'relative', zIndex: 1 },\n },\n {\n schemaVersion: 1,\n allowUnknownAttributes: false,\n pattern: {\n type: 'CarouselButtons',\n children: 'never',\n attributes: {\n scrollable: 'boolean',\n flexDirection: ['row', 'column'],\n alignItems: ['flex-start', 'center', 'flex-end', 'stretch', 'baseline'],\n justifyContent: [\n 'flex-start',\n 'center',\n 'flex-end',\n 'space-between',\n 'space-around',\n 'space-evenly',\n ],\n gap: 'size',\n padding: 'size',\n paddingHorizontal: 'size',\n paddingVertical: 'size',\n paddingTop: 'size',\n paddingBottom: 'size',\n paddingLeft: 'size',\n paddingRight: 'size',\n margin: 'size',\n marginVertical: 'size',\n marginTop: 'size',\n marginBottom: 'size',\n marginLeft: 'size',\n marginRight: 'size',\n backgroundColor: 'color',\n borderRadius: 'size',\n width: 'size',\n minWidth: 'size',\n maxWidth: 'size',\n height: 'size',\n minHeight: 'size',\n maxHeight: 'size',\n flex: 'number',\n position: ['relative', 'absolute'],\n top: 'size',\n bottom: 'size',\n left: 'size',\n right: 'size',\n zIndex: 'number',\n buttonType: ['previous_button', 'next_button', 'skip_button'],\n skipNumber: 'number',\n },\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n meta: {\n desiredParent: ['>OnboardProvider', '>CarouselProvider'],\n label: 'Carousel Buttons',\n description: 'Renders built-in carousel buttons.',\n specialCategories: {\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n sort: 1,\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n sort: 2,\n },\n size: {\n label: 'Size',\n description: 'Fixed dimensions.',\n category: 'container',\n sort: 3,\n },\n offset: {\n label: 'Offset',\n description: 'Absolute positioning offsets.',\n category: 'container',\n sort: 4,\n },\n },\n attributes: {\n scrollable: {\n label: 'Scrollable (!!)',\n description: 'THIS FEATURE MIGHT NOT WORK IN MOBILE!',\n category: 'container',\n specialCategory: null,\n sort: -1,\n },\n flexDirection: {\n label: 'Flex Direction',\n description: 'Sets row or column layout.',\n category: 'container',\n specialCategory: null,\n sort: 4,\n },\n alignItems: {\n label: 'Align Items',\n description: 'Controls cross-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n justifyContent: {\n label: 'Justify Content',\n description: 'Controls main-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 5,\n },\n gap: {\n label: 'Gap',\n description: 'Space between children.',\n category: 'container',\n specialCategory: null,\n sort: 10,\n preferedScale: 's',\n },\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n specialCategory: 'padding',\n sort: 6,\n preferedScale: 's',\n },\n paddingHorizontal: {\n label: 'Padding Horizontal',\n description: 'Left and right padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 7,\n preferedScale: 's',\n },\n paddingVertical: {\n label: 'Padding Vertical',\n description: 'Top and bottom padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 8,\n preferedScale: 'vs',\n },\n paddingTop: {\n label: 'Padding Top',\n description: 'Top padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 9,\n preferedScale: 'vs',\n },\n paddingBottom: {\n label: 'Padding Bottom',\n description: 'Bottom padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 10,\n preferedScale: 'vs',\n },\n paddingLeft: {\n label: 'Padding Left',\n description: 'Left padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 11,\n preferedScale: 's',\n },\n paddingRight: {\n label: 'Padding Right',\n description: 'Right padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 12,\n preferedScale: 's',\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n specialCategory: 'margin',\n sort: 13,\n preferedScale: 's',\n },\n marginHorizontal: {\n label: 'Margin Horizontal',\n description: 'Left and right margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 14,\n preferedScale: 's',\n },\n marginVertical: {\n label: 'Margin Vertical',\n description: 'Top and bottom margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 15,\n preferedScale: 'vs',\n },\n marginTop: {\n label: 'Margin Top',\n description: 'Top margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 16,\n preferedScale: 'vs',\n },\n marginBottom: {\n label: 'Margin Bottom',\n description: 'Bottom margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 17,\n preferedScale: 'vs',\n },\n marginLeft: {\n label: 'Margin Left',\n description: 'Left margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 18,\n preferedScale: 's',\n },\n marginRight: {\n label: 'Margin Right',\n description: 'Right margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 19,\n preferedScale: 's',\n },\n backgroundColor: {\n label: 'Background Color',\n description: 'Background fill color.',\n category: 'style',\n specialCategory: null,\n sort: 20,\n },\n borderRadius: {\n label: 'Border Radius',\n description: 'Corner rounding amount.',\n category: 'style',\n specialCategory: null,\n sort: 21,\n preferedScale: 's',\n },\n width: {\n label: 'Width',\n description: 'Fixed width value.',\n category: 'container',\n specialCategory: 'size',\n sort: 0,\n preferedScale: 's',\n },\n minWidth: {\n label: 'Min Width',\n description: 'Minimum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 1,\n preferedScale: 's',\n },\n maxWidth: {\n label: 'Max Width',\n description: 'Maximum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 2,\n preferedScale: 's',\n },\n height: {\n label: 'Height',\n description: 'Fixed height value.',\n category: 'container',\n specialCategory: 'size',\n sort: 3,\n preferedScale: 'vs',\n },\n minHeight: {\n label: 'Min Height',\n description: 'Minimum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 4,\n preferedScale: 'vs',\n },\n maxHeight: {\n label: 'Max Height',\n description: 'Maximum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 5,\n preferedScale: 'vs',\n },\n flex: {\n label: 'Flex',\n description: 'Flex grow factor (e.g. 1 fills available space).',\n category: 'container',\n specialCategory: 'size',\n sort: 6,\n },\n position: {\n label: 'Position',\n description: 'Sets layout positioning mode.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n top: {\n label: 'Top',\n description: 'Offset from the top edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 22,\n preferedScale: 'vs',\n },\n bottom: {\n label: 'Bottom',\n description: 'Offset from the bottom edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 23,\n preferedScale: 'vs',\n },\n left: {\n label: 'Left',\n description: 'Offset from the left edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 24,\n preferedScale: 's',\n },\n right: {\n label: 'Right',\n description: 'Offset from the right edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 25,\n preferedScale: 's',\n },\n zIndex: {\n label: 'Z-Index',\n description: 'Controls stacking order.',\n category: 'container',\n specialCategory: null,\n sort: 26,\n },\n buttonType: {\n label: 'Button Type',\n description: 'Which carousel button to show.',\n category: 'other',\n specialCategory: null,\n sort: 1,\n },\n skipNumber: {\n label: 'Skip Number',\n description: 'Index to skip to when tapped.',\n category: 'other',\n specialCategory: null,\n sort: 2,\n },\n },\n },\n types: {},\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n {\n schemaVersion: 1,\n allowUnknownAttributes: false,\n pattern: {\n type: 'CarouselDots',\n children: 'never',\n attributes: {\n scrollable: 'boolean',\n flexDirection: ['row', 'column'],\n alignItems: ['flex-start', 'center', 'flex-end', 'stretch', 'baseline'],\n justifyContent: [\n 'flex-start',\n 'center',\n 'flex-end',\n 'space-between',\n 'space-around',\n 'space-evenly',\n ],\n gap: 'size',\n padding: 'size',\n paddingHorizontal: 'size',\n paddingVertical: 'size',\n paddingTop: 'size',\n paddingBottom: 'size',\n paddingLeft: 'size',\n paddingRight: 'size',\n margin: 'size',\n marginVertical: 'size',\n marginTop: 'size',\n marginBottom: 'size',\n marginLeft: 'size',\n marginRight: 'size',\n backgroundColor: 'color',\n borderRadius: 'size',\n width: 'size',\n minWidth: 'size',\n maxWidth: 'size',\n height: 'size',\n minHeight: 'size',\n maxHeight: 'size',\n flex: 'number',\n position: ['relative', 'absolute'],\n top: 'size',\n bottom: 'size',\n left: 'size',\n right: 'size',\n zIndex: 'number',\n dotType: [\n 'expanding_dot',\n 'normal_dot',\n 'scaling_dot',\n 'sliding_border',\n 'sliding_dot',\n 'liquid_like',\n ],\n },\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n meta: {\n desiredParent: ['>CarouselProvider'],\n label: 'Carousel Dots',\n description: 'Renders page indicator dots.',\n specialCategories: {\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n sort: 1,\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n sort: 2,\n },\n size: {\n label: 'Size',\n description: 'Fixed dimensions.',\n category: 'container',\n sort: 3,\n },\n offset: {\n label: 'Offset',\n description: 'Absolute positioning offsets.',\n category: 'container',\n sort: 4,\n },\n },\n attributes: {\n scrollable: {\n label: 'Scrollable (!!)',\n description: 'THIS FEATURE MIGHT NOT WORK IN MOBILE!',\n category: 'container',\n specialCategory: null,\n sort: -1,\n },\n flexDirection: {\n label: 'Flex Direction',\n description: 'Sets row or column layout.',\n category: 'container',\n specialCategory: null,\n sort: 4,\n },\n alignItems: {\n label: 'Align Items',\n description: 'Controls cross-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n justifyContent: {\n label: 'Justify Content',\n description: 'Controls main-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 5,\n },\n gap: {\n label: 'Gap',\n description: 'Space between children.',\n category: 'container',\n specialCategory: null,\n sort: 10,\n preferedScale: 's',\n },\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n specialCategory: 'padding',\n sort: 6,\n preferedScale: 's',\n },\n paddingHorizontal: {\n label: 'Padding Horizontal',\n description: 'Left and right padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 7,\n preferedScale: 's',\n },\n paddingVertical: {\n label: 'Padding Vertical',\n description: 'Top and bottom padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 8,\n preferedScale: 'vs',\n },\n paddingTop: {\n label: 'Padding Top',\n description: 'Top padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 9,\n preferedScale: 'vs',\n },\n paddingBottom: {\n label: 'Padding Bottom',\n description: 'Bottom padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 10,\n preferedScale: 'vs',\n },\n paddingLeft: {\n label: 'Padding Left',\n description: 'Left padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 11,\n preferedScale: 's',\n },\n paddingRight: {\n label: 'Padding Right',\n description: 'Right padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 12,\n preferedScale: 's',\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n specialCategory: 'margin',\n sort: 13,\n preferedScale: 's',\n },\n marginHorizontal: {\n label: 'Margin Horizontal',\n description: 'Left and right margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 14,\n preferedScale: 's',\n },\n marginVertical: {\n label: 'Margin Vertical',\n description: 'Top and bottom margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 15,\n preferedScale: 'vs',\n },\n marginTop: {\n label: 'Margin Top',\n description: 'Top margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 16,\n preferedScale: 'vs',\n },\n marginBottom: {\n label: 'Margin Bottom',\n description: 'Bottom margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 17,\n preferedScale: 'vs',\n },\n marginLeft: {\n label: 'Margin Left',\n description: 'Left margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 18,\n preferedScale: 's',\n },\n marginRight: {\n label: 'Margin Right',\n description: 'Right margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 19,\n preferedScale: 's',\n },\n backgroundColor: {\n label: 'Background Color',\n description: 'Background fill color.',\n category: 'style',\n specialCategory: null,\n sort: 20,\n },\n borderRadius: {\n label: 'Border Radius',\n description: 'Corner rounding amount.',\n category: 'style',\n specialCategory: null,\n sort: 21,\n preferedScale: 's',\n },\n width: {\n label: 'Width',\n description: 'Fixed width value.',\n category: 'container',\n specialCategory: 'size',\n sort: 0,\n preferedScale: 's',\n },\n minWidth: {\n label: 'Min Width',\n description: 'Minimum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 1,\n preferedScale: 's',\n },\n maxWidth: {\n label: 'Max Width',\n description: 'Maximum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 2,\n preferedScale: 's',\n },\n height: {\n label: 'Height',\n description: 'Fixed height value.',\n category: 'container',\n specialCategory: 'size',\n sort: 3,\n preferedScale: 'vs',\n },\n minHeight: {\n label: 'Min Height',\n description: 'Minimum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 4,\n preferedScale: 'vs',\n },\n maxHeight: {\n label: 'Max Height',\n description: 'Maximum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 5,\n preferedScale: 'vs',\n },\n flex: {\n label: 'Flex',\n description: 'Flex grow factor (e.g. 1 fills available space).',\n category: 'container',\n specialCategory: 'size',\n sort: 6,\n },\n position: {\n label: 'Position',\n description: 'Sets layout positioning mode.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n top: {\n label: 'Top',\n description: 'Offset from the top edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 22,\n preferedScale: 'vs',\n },\n bottom: {\n label: 'Bottom',\n description: 'Offset from the bottom edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 23,\n preferedScale: 'vs',\n },\n left: {\n label: 'Left',\n description: 'Offset from the left edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 24,\n preferedScale: 's',\n },\n right: {\n label: 'Right',\n description: 'Offset from the right edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 25,\n preferedScale: 's',\n },\n zIndex: {\n label: 'Z-Index',\n description: 'Controls stacking order.',\n category: 'container',\n specialCategory: null,\n sort: 26,\n },\n dotType: {\n label: 'Dot Type',\n description: 'Style used for the dots.',\n category: 'style',\n specialCategory: null,\n sort: 1,\n },\n },\n },\n types: {},\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n {\n schemaVersion: 1,\n allowUnknownAttributes: false,\n pattern: {\n type: 'CarouselItem',\n children: 'node',\n attributes: {\n scrollable: 'boolean',\n flexDirection: ['row', 'column'],\n alignItems: ['flex-start', 'center', 'flex-end', 'stretch', 'baseline'],\n justifyContent: [\n 'flex-start',\n 'center',\n 'flex-end',\n 'space-between',\n 'space-around',\n 'space-evenly',\n ],\n gap: 'size',\n padding: 'size',\n paddingHorizontal: 'size',\n paddingVertical: 'size',\n paddingTop: 'size',\n paddingBottom: 'size',\n paddingLeft: 'size',\n paddingRight: 'size',\n margin: 'size',\n marginVertical: 'size',\n marginTop: 'size',\n marginBottom: 'size',\n marginLeft: 'size',\n marginRight: 'size',\n backgroundColor: 'color',\n borderRadius: 'size',\n width: 'size',\n minWidth: 'size',\n maxWidth: 'size',\n height: 'size',\n minHeight: 'size',\n maxHeight: 'size',\n flex: 'number',\n position: ['relative', 'absolute'],\n top: 'size',\n bottom: 'size',\n left: 'size',\n right: 'size',\n zIndex: 'number',\n },\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n meta: {\n desiredParent: ['=Carousel'],\n label: 'Carousel Item',\n description: 'Single slide inside a carousel.',\n specialCategories: {\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n sort: 1,\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n sort: 2,\n },\n size: {\n label: 'Size',\n description: 'Fixed dimensions.',\n category: 'container',\n sort: 3,\n },\n offset: {\n label: 'Offset',\n description: 'Absolute positioning offsets.',\n category: 'container',\n sort: 4,\n },\n },\n attributes: {\n scrollable: {\n label: 'Scrollable (!!)',\n description: 'THIS FEATURE MIGHT NOT WORK IN MOBILE!',\n category: 'container',\n specialCategory: null,\n sort: -1,\n },\n flexDirection: {\n label: 'Flex Direction',\n description: 'Sets row or column layout.',\n category: 'container',\n specialCategory: null,\n sort: 4,\n },\n alignItems: {\n label: 'Align Items',\n description: 'Controls cross-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n justifyContent: {\n label: 'Justify Content',\n description: 'Controls main-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 5,\n },\n gap: {\n label: 'Gap',\n description: 'Space between children.',\n category: 'container',\n specialCategory: null,\n sort: 10,\n preferedScale: 's',\n },\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n specialCategory: 'padding',\n sort: 6,\n preferedScale: 's',\n },\n paddingHorizontal: {\n label: 'Padding Horizontal',\n description: 'Left and right padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 7,\n preferedScale: 's',\n },\n paddingVertical: {\n label: 'Padding Vertical',\n description: 'Top and bottom padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 8,\n preferedScale: 'vs',\n },\n paddingTop: {\n label: 'Padding Top',\n description: 'Top padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 9,\n preferedScale: 'vs',\n },\n paddingBottom: {\n label: 'Padding Bottom',\n description: 'Bottom padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 10,\n preferedScale: 'vs',\n },\n paddingLeft: {\n label: 'Padding Left',\n description: 'Left padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 11,\n preferedScale: 's',\n },\n paddingRight: {\n label: 'Padding Right',\n description: 'Right padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 12,\n preferedScale: 's',\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n specialCategory: 'margin',\n sort: 13,\n preferedScale: 's',\n },\n marginHorizontal: {\n label: 'Margin Horizontal',\n description: 'Left and right margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 14,\n preferedScale: 's',\n },\n marginVertical: {\n label: 'Margin Vertical',\n description: 'Top and bottom margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 15,\n preferedScale: 'vs',\n },\n marginTop: {\n label: 'Margin Top',\n description: 'Top margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 16,\n preferedScale: 'vs',\n },\n marginBottom: {\n label: 'Margin Bottom',\n description: 'Bottom margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 17,\n preferedScale: 'vs',\n },\n marginLeft: {\n label: 'Margin Left',\n description: 'Left margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 18,\n preferedScale: 's',\n },\n marginRight: {\n label: 'Margin Right',\n description: 'Right margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 19,\n preferedScale: 's',\n },\n backgroundColor: {\n label: 'Background Color',\n description: 'Background fill color.',\n category: 'style',\n specialCategory: null,\n sort: 20,\n },\n borderRadius: {\n label: 'Border Radius',\n description: 'Corner rounding amount.',\n category: 'style',\n specialCategory: null,\n sort: 21,\n preferedScale: 's',\n },\n width: {\n label: 'Width',\n description: 'Fixed width value.',\n category: 'container',\n specialCategory: 'size',\n sort: 0,\n preferedScale: 's',\n },\n minWidth: {\n label: 'Min Width',\n description: 'Minimum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 1,\n preferedScale: 's',\n },\n maxWidth: {\n label: 'Max Width',\n description: 'Maximum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 2,\n preferedScale: 's',\n },\n height: {\n label: 'Height',\n description: 'Fixed height value.',\n category: 'container',\n specialCategory: 'size',\n sort: 3,\n preferedScale: 'vs',\n },\n minHeight: {\n label: 'Min Height',\n description: 'Minimum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 4,\n preferedScale: 'vs',\n },\n maxHeight: {\n label: 'Max Height',\n description: 'Maximum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 5,\n preferedScale: 'vs',\n },\n flex: {\n label: 'Flex',\n description: 'Flex grow factor (e.g. 1 fills available space).',\n category: 'container',\n specialCategory: 'size',\n sort: 6,\n },\n position: {\n label: 'Position',\n description: 'Sets layout positioning mode.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n top: {\n label: 'Top',\n description: 'Offset from the top edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 22,\n preferedScale: 'vs',\n },\n bottom: {\n label: 'Bottom',\n description: 'Offset from the bottom edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 23,\n preferedScale: 'vs',\n },\n left: {\n label: 'Left',\n description: 'Offset from the left edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 24,\n preferedScale: 's',\n },\n right: {\n label: 'Right',\n description: 'Offset from the right edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 25,\n preferedScale: 's',\n },\n zIndex: {\n label: 'Z-Index',\n description: 'Controls stacking order.',\n category: 'container',\n specialCategory: null,\n sort: 26,\n },\n },\n },\n types: {},\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n {\n schemaVersion: 1,\n allowUnknownAttributes: false,\n pattern: {\n type: 'CarouselProvider',\n children: 'node',\n attributes: {\n scrollable: 'boolean',\n flexDirection: ['row', 'column'],\n alignItems: ['flex-start', 'center', 'flex-end', 'stretch', 'baseline'],\n justifyContent: [\n 'flex-start',\n 'center',\n 'flex-end',\n 'space-between',\n 'space-around',\n 'space-evenly',\n ],\n gap: 'size',\n padding: 'size',\n paddingHorizontal: 'size',\n paddingVertical: 'size',\n paddingTop: 'size',\n paddingBottom: 'size',\n paddingLeft: 'size',\n paddingRight: 'size',\n margin: 'size',\n marginVertical: 'size',\n marginTop: 'size',\n marginBottom: 'size',\n marginLeft: 'size',\n marginRight: 'size',\n backgroundColor: 'color',\n borderRadius: 'size',\n width: 'size',\n minWidth: 'size',\n maxWidth: 'size',\n height: 'size',\n minHeight: 'size',\n maxHeight: 'size',\n flex: 'number',\n position: ['relative', 'absolute'],\n top: 'size',\n bottom: 'size',\n left: 'size',\n right: 'size',\n zIndex: 'number',\n },\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n meta: {\n desiredParent: ['root', '>View'],\n label: 'Carousel Provider',\n description: 'Provides carousel context to its children.',\n specialCategories: {\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n sort: 1,\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n sort: 2,\n },\n size: {\n label: 'Size',\n description: 'Fixed dimensions.',\n category: 'container',\n sort: 3,\n },\n offset: {\n label: 'Offset',\n description: 'Absolute positioning offsets.',\n category: 'container',\n sort: 4,\n },\n },\n attributes: {\n scrollable: {\n label: 'Scrollable (!!)',\n description: 'THIS FEATURE MIGHT NOT WORK IN MOBILE!',\n category: 'container',\n specialCategory: null,\n sort: -1,\n },\n flexDirection: {\n label: 'Flex Direction',\n description: 'Sets row or column layout.',\n category: 'container',\n specialCategory: null,\n sort: 4,\n },\n alignItems: {\n label: 'Align Items',\n description: 'Controls cross-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n justifyContent: {\n label: 'Justify Content',\n description: 'Controls main-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 5,\n },\n gap: {\n label: 'Gap',\n description: 'Space between children.',\n category: 'container',\n specialCategory: null,\n sort: 10,\n preferedScale: 's',\n },\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n specialCategory: 'padding',\n sort: 6,\n preferedScale: 's',\n },\n paddingHorizontal: {\n label: 'Padding Horizontal',\n description: 'Left and right padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 7,\n preferedScale: 's',\n },\n paddingVertical: {\n label: 'Padding Vertical',\n description: 'Top and bottom padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 8,\n preferedScale: 'vs',\n },\n paddingTop: {\n label: 'Padding Top',\n description: 'Top padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 9,\n preferedScale: 'vs',\n },\n paddingBottom: {\n label: 'Padding Bottom',\n description: 'Bottom padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 10,\n preferedScale: 'vs',\n },\n paddingLeft: {\n label: 'Padding Left',\n description: 'Left padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 11,\n preferedScale: 's',\n },\n paddingRight: {\n label: 'Padding Right',\n description: 'Right padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 12,\n preferedScale: 's',\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n specialCategory: 'margin',\n sort: 13,\n preferedScale: 's',\n },\n marginHorizontal: {\n label: 'Margin Horizontal',\n description: 'Left and right margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 14,\n preferedScale: 's',\n },\n marginVertical: {\n label: 'Margin Vertical',\n description: 'Top and bottom margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 15,\n preferedScale: 'vs',\n },\n marginTop: {\n label: 'Margin Top',\n description: 'Top margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 16,\n preferedScale: 'vs',\n },\n marginBottom: {\n label: 'Margin Bottom',\n description: 'Bottom margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 17,\n preferedScale: 'vs',\n },\n marginLeft: {\n label: 'Margin Left',\n description: 'Left margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 18,\n preferedScale: 's',\n },\n marginRight: {\n label: 'Margin Right',\n description: 'Right margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 19,\n preferedScale: 's',\n },\n backgroundColor: {\n label: 'Background Color',\n description: 'Background fill color.',\n category: 'style',\n specialCategory: null,\n sort: 20,\n },\n borderRadius: {\n label: 'Border Radius',\n description: 'Corner rounding amount.',\n category: 'style',\n specialCategory: null,\n sort: 21,\n preferedScale: 's',\n },\n width: {\n label: 'Width',\n description: 'Fixed width value.',\n category: 'container',\n specialCategory: 'size',\n sort: 0,\n preferedScale: 's',\n },\n minWidth: {\n label: 'Min Width',\n description: 'Minimum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 1,\n preferedScale: 's',\n },\n maxWidth: {\n label: 'Max Width',\n description: 'Maximum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 2,\n preferedScale: 's',\n },\n height: {\n label: 'Height',\n description: 'Fixed height value.',\n category: 'container',\n specialCategory: 'size',\n sort: 3,\n preferedScale: 'vs',\n },\n minHeight: {\n label: 'Min Height',\n description: 'Minimum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 4,\n preferedScale: 'vs',\n },\n maxHeight: {\n label: 'Max Height',\n description: 'Maximum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 5,\n preferedScale: 'vs',\n },\n flex: {\n label: 'Flex',\n description: 'Flex grow factor (e.g. 1 fills available space).',\n category: 'container',\n specialCategory: 'size',\n sort: 6,\n },\n position: {\n label: 'Position',\n description: 'Sets layout positioning mode.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n top: {\n label: 'Top',\n description: 'Offset from the top edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 22,\n preferedScale: 'vs',\n },\n bottom: {\n label: 'Bottom',\n description: 'Offset from the bottom edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 23,\n preferedScale: 'vs',\n },\n left: {\n label: 'Left',\n description: 'Offset from the left edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 24,\n preferedScale: 's',\n },\n right: {\n label: 'Right',\n description: 'Offset from the right edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 25,\n preferedScale: 's',\n },\n zIndex: {\n label: 'Z-Index',\n description: 'Controls stacking order.',\n category: 'container',\n specialCategory: null,\n sort: 26,\n },\n },\n },\n types: {},\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n {\n schemaVersion: 1,\n allowUnknownAttributes: false,\n pattern: {\n type: 'Image',\n children: 'never',\n attributes: {\n scrollable: 'boolean',\n flexDirection: ['row', 'column'],\n alignItems: ['flex-start', 'center', 'flex-end', 'stretch', 'baseline'],\n justifyContent: [\n 'flex-start',\n 'center',\n 'flex-end',\n 'space-between',\n 'space-around',\n 'space-evenly',\n ],\n gap: 'size',\n padding: 'size',\n paddingHorizontal: 'size',\n paddingVertical: 'size',\n paddingTop: 'size',\n paddingBottom: 'size',\n paddingLeft: 'size',\n paddingRight: 'size',\n margin: 'size',\n marginVertical: 'size',\n marginTop: 'size',\n marginBottom: 'size',\n marginLeft: 'size',\n marginRight: 'size',\n backgroundColor: 'color',\n borderRadius: 'size',\n width: 'size',\n minWidth: 'size',\n maxWidth: 'size',\n height: 'size',\n minHeight: 'size',\n maxHeight: 'size',\n flex: 'number',\n position: ['relative', 'absolute'],\n top: 'size',\n bottom: 'size',\n left: 'size',\n right: 'size',\n zIndex: 'number',\n src: 'string',\n resizeMode: ['cover', 'contain', 'stretch', 'center'],\n },\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n meta: {\n desiredParent: ['all'],\n label: 'Image',\n description: 'Shows an image or graphic.',\n specialCategories: {\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n sort: 1,\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n sort: 2,\n },\n size: {\n label: 'Size',\n description: 'Fixed dimensions.',\n category: 'container',\n sort: 3,\n },\n offset: {\n label: 'Offset',\n description: 'Absolute positioning offsets.',\n category: 'container',\n sort: 4,\n },\n },\n attributes: {\n scrollable: {\n label: 'Scrollable (!!)',\n description: 'THIS FEATURE MIGHT NOT WORK IN MOBILE!',\n category: 'container',\n specialCategory: null,\n sort: -1,\n },\n flexDirection: {\n label: 'Flex Direction',\n description: 'Sets row or column layout.',\n category: 'container',\n specialCategory: null,\n sort: 4,\n },\n alignItems: {\n label: 'Align Items',\n description: 'Controls cross-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n justifyContent: {\n label: 'Justify Content',\n description: 'Controls main-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 5,\n },\n gap: {\n label: 'Gap',\n description: 'Space between children.',\n category: 'container',\n specialCategory: null,\n sort: 10,\n preferedScale: 's',\n },\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n specialCategory: 'padding',\n sort: 6,\n preferedScale: 's',\n },\n paddingHorizontal: {\n label: 'Padding Horizontal',\n description: 'Left and right padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 7,\n preferedScale: 's',\n },\n paddingVertical: {\n label: 'Padding Vertical',\n description: 'Top and bottom padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 8,\n preferedScale: 'vs',\n },\n paddingTop: {\n label: 'Padding Top',\n description: 'Top padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 9,\n preferedScale: 'vs',\n },\n paddingBottom: {\n label: 'Padding Bottom',\n description: 'Bottom padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 10,\n preferedScale: 'vs',\n },\n paddingLeft: {\n label: 'Padding Left',\n description: 'Left padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 11,\n preferedScale: 's',\n },\n paddingRight: {\n label: 'Padding Right',\n description: 'Right padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 12,\n preferedScale: 's',\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n specialCategory: 'margin',\n sort: 13,\n preferedScale: 's',\n },\n marginHorizontal: {\n label: 'Margin Horizontal',\n description: 'Left and right margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 14,\n preferedScale: 's',\n },\n marginVertical: {\n label: 'Margin Vertical',\n description: 'Top and bottom margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 15,\n preferedScale: 'vs',\n },\n marginTop: {\n label: 'Margin Top',\n description: 'Top margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 16,\n preferedScale: 'vs',\n },\n marginBottom: {\n label: 'Margin Bottom',\n description: 'Bottom margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 17,\n preferedScale: 'vs',\n },\n marginLeft: {\n label: 'Margin Left',\n description: 'Left margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 18,\n preferedScale: 's',\n },\n marginRight: {\n label: 'Margin Right',\n description: 'Right margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 19,\n preferedScale: 's',\n },\n backgroundColor: {\n label: 'Background Color',\n description: 'Background fill color.',\n category: 'style',\n specialCategory: null,\n sort: 20,\n },\n borderRadius: {\n label: 'Border Radius',\n description: 'Corner rounding amount.',\n category: 'style',\n specialCategory: null,\n sort: 21,\n preferedScale: 's',\n },\n width: {\n label: 'Width',\n description: 'Image width.',\n category: 'container',\n specialCategory: null,\n sort: 2,\n },\n minWidth: {\n label: 'Min Width',\n description: 'Minimum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 1,\n preferedScale: 's',\n },\n maxWidth: {\n label: 'Max Width',\n description: 'Maximum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 2,\n preferedScale: 's',\n },\n height: {\n label: 'Height',\n description: 'Image height.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n minHeight: {\n label: 'Min Height',\n description: 'Minimum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 4,\n preferedScale: 'vs',\n },\n maxHeight: {\n label: 'Max Height',\n description: 'Maximum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 5,\n preferedScale: 'vs',\n },\n flex: {\n label: 'Flex',\n description: 'Flex grow factor (e.g. 1 fills available space).',\n category: 'container',\n specialCategory: 'size',\n sort: 6,\n },\n position: {\n label: 'Position',\n description: 'Sets layout positioning mode.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n top: {\n label: 'Top',\n description: 'Offset from the top edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 22,\n preferedScale: 'vs',\n },\n bottom: {\n label: 'Bottom',\n description: 'Offset from the bottom edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 23,\n preferedScale: 'vs',\n },\n left: {\n label: 'Left',\n description: 'Offset from the left edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 24,\n preferedScale: 's',\n },\n right: {\n label: 'Right',\n description: 'Offset from the right edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 25,\n preferedScale: 's',\n },\n zIndex: {\n label: 'Z-Index',\n description: 'Controls stacking order.',\n category: 'container',\n specialCategory: null,\n sort: 26,\n },\n src: {\n label: 'Src',\n description: 'Image source URL.',\n category: 'other',\n specialCategory: null,\n sort: 1,\n },\n resizeMode: {\n label: 'Resize Mode',\n description: 'How the image fits the frame.',\n category: 'style',\n specialCategory: null,\n sort: 4,\n },\n },\n },\n types: {},\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n {\n schemaVersion: 1,\n allowUnknownAttributes: true,\n pattern: {\n type: 'Main',\n children: ['node', 'array'],\n attributes: {\n scrollable: 'boolean',\n flexDirection: ['row', 'column'],\n alignItems: ['flex-start', 'center', 'flex-end', 'stretch', 'baseline'],\n justifyContent: [\n 'flex-start',\n 'center',\n 'flex-end',\n 'space-between',\n 'space-around',\n 'space-evenly',\n ],\n gap: 'size',\n padding: 'size',\n paddingHorizontal: 'size',\n paddingVertical: 'size',\n paddingTop: 'size',\n paddingBottom: 'size',\n paddingLeft: 'size',\n paddingRight: 'size',\n margin: 'size',\n marginVertical: 'size',\n marginTop: 'size',\n marginBottom: 'size',\n marginLeft: 'size',\n marginRight: 'size',\n backgroundColor: 'color',\n borderRadius: 'size',\n width: 'size',\n minWidth: 'size',\n maxWidth: 'size',\n height: 'size',\n minHeight: 'size',\n maxHeight: 'size',\n flex: 'number',\n position: ['relative', 'absolute'],\n top: 'size',\n bottom: 'size',\n left: 'size',\n right: 'size',\n zIndex: 'number',\n useSafeAreaView: 'boolean',\n },\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n meta: {\n desiredParent: ['root'],\n label: 'Main',\n description: 'Top-level screen wrapper (safe area, base layout).',\n specialCategories: {\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n sort: 1,\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n sort: 2,\n },\n size: {\n label: 'Size',\n description: 'Fixed dimensions.',\n category: 'container',\n sort: 3,\n },\n offset: {\n label: 'Offset',\n description: 'Absolute positioning offsets.',\n category: 'container',\n sort: 4,\n },\n },\n attributes: {\n scrollable: {\n label: 'Scrollable (!!)',\n description: 'THIS FEATURE MIGHT NOT WORK IN MOBILE!',\n category: 'container',\n specialCategory: null,\n sort: -1,\n },\n flexDirection: {\n label: 'Flex Direction',\n description: 'Sets row or column layout.',\n category: 'container',\n specialCategory: null,\n sort: 4,\n },\n alignItems: {\n label: 'Align Items',\n description: 'Controls cross-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n justifyContent: {\n label: 'Justify Content',\n description: 'Controls main-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 5,\n },\n gap: {\n label: 'Gap',\n description: 'Space between children.',\n category: 'container',\n specialCategory: null,\n sort: 10,\n preferedScale: 's',\n },\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n specialCategory: 'padding',\n sort: 6,\n preferedScale: 's',\n },\n paddingHorizontal: {\n label: 'Padding Horizontal',\n description: 'Left and right padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 7,\n preferedScale: 's',\n },\n paddingVertical: {\n label: 'Padding Vertical',\n description: 'Top and bottom padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 8,\n preferedScale: 'vs',\n },\n paddingTop: {\n label: 'Padding Top',\n description: 'Top padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 9,\n preferedScale: 'vs',\n },\n paddingBottom: {\n label: 'Padding Bottom',\n description: 'Bottom padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 10,\n preferedScale: 'vs',\n },\n paddingLeft: {\n label: 'Padding Left',\n description: 'Left padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 11,\n preferedScale: 's',\n },\n paddingRight: {\n label: 'Padding Right',\n description: 'Right padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 12,\n preferedScale: 's',\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n specialCategory: 'margin',\n sort: 13,\n preferedScale: 's',\n },\n marginHorizontal: {\n label: 'Margin Horizontal',\n description: 'Left and right margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 14,\n preferedScale: 's',\n },\n marginVertical: {\n label: 'Margin Vertical',\n description: 'Top and bottom margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 15,\n preferedScale: 'vs',\n },\n marginTop: {\n label: 'Margin Top',\n description: 'Top margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 16,\n preferedScale: 'vs',\n },\n marginBottom: {\n label: 'Margin Bottom',\n description: 'Bottom margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 17,\n preferedScale: 'vs',\n },\n marginLeft: {\n label: 'Margin Left',\n description: 'Left margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 18,\n preferedScale: 's',\n },\n marginRight: {\n label: 'Margin Right',\n description: 'Right margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 19,\n preferedScale: 's',\n },\n backgroundColor: {\n label: 'Background Color',\n description: 'Background fill color.',\n category: 'style',\n specialCategory: null,\n sort: 20,\n },\n borderRadius: {\n label: 'Border Radius',\n description: 'Corner rounding amount.',\n category: 'style',\n specialCategory: null,\n sort: 21,\n preferedScale: 's',\n },\n width: {\n label: 'Width',\n description: 'Fixed width value.',\n category: 'container',\n specialCategory: 'size',\n sort: 0,\n preferedScale: 's',\n },\n minWidth: {\n label: 'Min Width',\n description: 'Minimum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 1,\n preferedScale: 's',\n },\n maxWidth: {\n label: 'Max Width',\n description: 'Maximum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 2,\n preferedScale: 's',\n },\n height: {\n label: 'Height',\n description: 'Fixed height value.',\n category: 'container',\n specialCategory: 'size',\n sort: 3,\n preferedScale: 'vs',\n },\n minHeight: {\n label: 'Min Height',\n description: 'Minimum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 4,\n preferedScale: 'vs',\n },\n maxHeight: {\n label: 'Max Height',\n description: 'Maximum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 5,\n preferedScale: 'vs',\n },\n flex: {\n label: 'Flex',\n description: 'Flex grow factor (e.g. 1 fills available space).',\n category: 'container',\n specialCategory: 'size',\n sort: 6,\n },\n position: {\n label: 'Position',\n description: 'Sets layout positioning mode.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n top: {\n label: 'Top',\n description: 'Offset from the top edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 22,\n preferedScale: 'vs',\n },\n bottom: {\n label: 'Bottom',\n description: 'Offset from the bottom edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 23,\n preferedScale: 'vs',\n },\n left: {\n label: 'Left',\n description: 'Offset from the left edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 24,\n preferedScale: 's',\n },\n right: {\n label: 'Right',\n description: 'Offset from the right edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 25,\n preferedScale: 's',\n },\n zIndex: {\n label: 'Z-Index',\n description: 'Controls stacking order.',\n category: 'container',\n specialCategory: null,\n sort: 26,\n },\n useSafeAreaView: {\n label: 'Use Safe Area View',\n description:\n 'Wraps content with a safe-area-aware container (when supported by the target).',\n category: 'container',\n specialCategory: null,\n sort: 1,\n forceVisible: true,\n },\n },\n hideAllAttributes: true,\n },\n defaults: {\n flexDirection: 'column',\n position: 'relative',\n zIndex: 1,\n useSafeAreaView: true,\n width: '100%',\n height: '100%',\n flex: 1,\n },\n types: {},\n },\n {\n schemaVersion: 1,\n allowUnknownAttributes: false,\n pattern: {\n type: 'Onboard',\n children: 'node',\n attributes: {\n scrollable: 'boolean',\n flexDirection: ['row', 'column'],\n alignItems: ['flex-start', 'center', 'flex-end', 'stretch', 'baseline'],\n justifyContent: [\n 'flex-start',\n 'center',\n 'flex-end',\n 'space-between',\n 'space-around',\n 'space-evenly',\n ],\n gap: 'size',\n padding: 'size',\n paddingHorizontal: 'size',\n paddingVertical: 'size',\n paddingTop: 'size',\n paddingBottom: 'size',\n paddingLeft: 'size',\n paddingRight: 'size',\n margin: 'size',\n marginVertical: 'size',\n marginTop: 'size',\n marginBottom: 'size',\n marginLeft: 'size',\n marginRight: 'size',\n backgroundColor: 'color',\n borderRadius: 'size',\n width: 'size',\n minWidth: 'size',\n maxWidth: 'size',\n height: 'size',\n minHeight: 'size',\n maxHeight: 'size',\n flex: 'number',\n position: ['relative', 'absolute'],\n top: 'size',\n bottom: 'size',\n left: 'size',\n right: 'size',\n zIndex: 'number',\n },\n defaults: { flexDirection: 'row' },\n },\n meta: {\n desiredParent: ['=OnboardProvider'],\n label: 'Onboard',\n description: 'Wraps the onboarding flow.',\n specialCategories: {\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n sort: 1,\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n sort: 2,\n },\n size: {\n label: 'Size',\n description: 'Fixed dimensions.',\n category: 'container',\n sort: 3,\n },\n offset: {\n label: 'Offset',\n description: 'Absolute positioning offsets.',\n category: 'container',\n sort: 4,\n },\n },\n attributes: {\n scrollable: {\n label: 'Scrollable (!!)',\n description: 'THIS FEATURE MIGHT NOT WORK IN MOBILE!',\n category: 'container',\n specialCategory: null,\n sort: -1,\n },\n flexDirection: {\n label: 'Flex Direction',\n description: 'Sets row or column layout.',\n category: 'container',\n specialCategory: null,\n sort: 4,\n },\n alignItems: {\n label: 'Align Items',\n description: 'Controls cross-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n justifyContent: {\n label: 'Justify Content',\n description: 'Controls main-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 5,\n },\n gap: {\n label: 'Gap',\n description: 'Space between children.',\n category: 'container',\n specialCategory: null,\n sort: 10,\n preferedScale: 's',\n },\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n specialCategory: 'padding',\n sort: 6,\n preferedScale: 's',\n },\n paddingHorizontal: {\n label: 'Padding Horizontal',\n description: 'Left and right padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 7,\n preferedScale: 's',\n },\n paddingVertical: {\n label: 'Padding Vertical',\n description: 'Top and bottom padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 8,\n preferedScale: 'vs',\n },\n paddingTop: {\n label: 'Padding Top',\n description: 'Top padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 9,\n preferedScale: 'vs',\n },\n paddingBottom: {\n label: 'Padding Bottom',\n description: 'Bottom padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 10,\n preferedScale: 'vs',\n },\n paddingLeft: {\n label: 'Padding Left',\n description: 'Left padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 11,\n preferedScale: 's',\n },\n paddingRight: {\n label: 'Padding Right',\n description: 'Right padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 12,\n preferedScale: 's',\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n specialCategory: 'margin',\n sort: 13,\n preferedScale: 's',\n },\n marginHorizontal: {\n label: 'Margin Horizontal',\n description: 'Left and right margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 14,\n preferedScale: 's',\n },\n marginVertical: {\n label: 'Margin Vertical',\n description: 'Top and bottom margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 15,\n preferedScale: 'vs',\n },\n marginTop: {\n label: 'Margin Top',\n description: 'Top margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 16,\n preferedScale: 'vs',\n },\n marginBottom: {\n label: 'Margin Bottom',\n description: 'Bottom margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 17,\n preferedScale: 'vs',\n },\n marginLeft: {\n label: 'Margin Left',\n description: 'Left margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 18,\n preferedScale: 's',\n },\n marginRight: {\n label: 'Margin Right',\n description: 'Right margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 19,\n preferedScale: 's',\n },\n backgroundColor: {\n label: 'Background Color',\n description: 'Background fill color.',\n category: 'style',\n specialCategory: null,\n sort: 20,\n },\n borderRadius: {\n label: 'Border Radius',\n description: 'Corner rounding amount.',\n category: 'style',\n specialCategory: null,\n sort: 21,\n preferedScale: 's',\n },\n width: {\n label: 'Width',\n description: 'Fixed width value.',\n category: 'container',\n specialCategory: 'size',\n sort: 0,\n preferedScale: 's',\n },\n minWidth: {\n label: 'Min Width',\n description: 'Minimum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 1,\n preferedScale: 's',\n },\n maxWidth: {\n label: 'Max Width',\n description: 'Maximum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 2,\n preferedScale: 's',\n },\n height: {\n label: 'Height',\n description: 'Fixed height value.',\n category: 'container',\n specialCategory: 'size',\n sort: 3,\n preferedScale: 'vs',\n },\n minHeight: {\n label: 'Min Height',\n description: 'Minimum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 4,\n preferedScale: 'vs',\n },\n maxHeight: {\n label: 'Max Height',\n description: 'Maximum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 5,\n preferedScale: 'vs',\n },\n flex: {\n label: 'Flex',\n description: 'Flex grow factor (e.g. 1 fills available space).',\n category: 'container',\n specialCategory: 'size',\n sort: 6,\n },\n position: {\n label: 'Position',\n description: 'Sets layout positioning mode.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n top: {\n label: 'Top',\n description: 'Offset from the top edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 22,\n preferedScale: 'vs',\n },\n bottom: {\n label: 'Bottom',\n description: 'Offset from the bottom edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 23,\n preferedScale: 'vs',\n },\n left: {\n label: 'Left',\n description: 'Offset from the left edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 24,\n preferedScale: 's',\n },\n right: {\n label: 'Right',\n description: 'Offset from the right edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 25,\n preferedScale: 's',\n },\n zIndex: {\n label: 'Z-Index',\n description: 'Controls stacking order.',\n category: 'container',\n specialCategory: null,\n sort: 26,\n },\n },\n desiredChildren: ['=OnboardItem'],\n },\n types: {},\n defaults: { flexDirection: 'row', position: 'relative', zIndex: 1 },\n },\n {\n schemaVersion: 1,\n allowUnknownAttributes: false,\n pattern: {\n type: 'OnboardButton',\n children: 'never',\n attributes: {\n scrollable: 'boolean',\n flexDirection: ['row', 'column'],\n alignItems: ['flex-start', 'center', 'flex-end', 'stretch', 'baseline'],\n justifyContent: [\n 'flex-start',\n 'center',\n 'flex-end',\n 'space-between',\n 'space-around',\n 'space-evenly',\n ],\n gap: 'size',\n padding: 'size',\n paddingHorizontal: 'size',\n paddingVertical: 'size',\n paddingTop: 'size',\n paddingBottom: 'size',\n paddingLeft: 'size',\n paddingRight: 'size',\n margin: 'size',\n marginVertical: 'size',\n marginTop: 'size',\n marginBottom: 'size',\n marginLeft: 'size',\n marginRight: 'size',\n backgroundColor: 'color',\n borderRadius: 'size',\n width: 'size',\n minWidth: 'size',\n maxWidth: 'size',\n height: 'size',\n minHeight: 'size',\n maxHeight: 'size',\n flex: 'number',\n position: ['relative', 'absolute'],\n top: 'size',\n bottom: 'size',\n left: 'size',\n right: 'size',\n zIndex: 'number',\n labelKey: 'string',\n button_text_color: 'color',\n animation: [\n 'simple-animation',\n 'line-animation',\n 'blur',\n 'blur-animation',\n 'blur-line-animation',\n ],\n animation_color: 'color',\n button_background_color: 'color',\n events: 'EventObject[]',\n },\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n meta: {\n desiredParent: ['=OnboardButtons'],\n label: 'Onboard Button',\n description: 'Single action button for onboarding.',\n specialCategories: {\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n sort: 1,\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n sort: 2,\n },\n size: {\n label: 'Size',\n description: 'Fixed dimensions.',\n category: 'container',\n sort: 3,\n },\n offset: {\n label: 'Offset',\n description: 'Absolute positioning offsets.',\n category: 'container',\n sort: 4,\n },\n },\n attributes: {\n scrollable: {\n label: 'Scrollable (!!)',\n description: 'THIS FEATURE MIGHT NOT WORK IN MOBILE!',\n category: 'container',\n specialCategory: null,\n sort: -1,\n },\n flexDirection: {\n label: 'Flex Direction',\n description: 'Sets row or column layout.',\n category: 'container',\n specialCategory: null,\n sort: 4,\n },\n alignItems: {\n label: 'Align Items',\n description: 'Controls cross-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n justifyContent: {\n label: 'Justify Content',\n description: 'Controls main-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 5,\n },\n gap: {\n label: 'Gap',\n description: 'Space between children.',\n category: 'container',\n specialCategory: null,\n sort: 10,\n preferedScale: 's',\n },\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n specialCategory: 'padding',\n sort: 6,\n preferedScale: 's',\n },\n paddingHorizontal: {\n label: 'Padding Horizontal',\n description: 'Left and right padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 7,\n preferedScale: 's',\n },\n paddingVertical: {\n label: 'Padding Vertical',\n description: 'Top and bottom padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 8,\n preferedScale: 'vs',\n },\n paddingTop: {\n label: 'Padding Top',\n description: 'Top padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 9,\n preferedScale: 'vs',\n },\n paddingBottom: {\n label: 'Padding Bottom',\n description: 'Bottom padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 10,\n preferedScale: 'vs',\n },\n paddingLeft: {\n label: 'Padding Left',\n description: 'Left padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 11,\n preferedScale: 's',\n },\n paddingRight: {\n label: 'Padding Right',\n description: 'Right padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 12,\n preferedScale: 's',\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n specialCategory: 'margin',\n sort: 13,\n preferedScale: 's',\n },\n marginHorizontal: {\n label: 'Margin Horizontal',\n description: 'Left and right margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 14,\n preferedScale: 's',\n },\n marginVertical: {\n label: 'Margin Vertical',\n description: 'Top and bottom margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 15,\n preferedScale: 'vs',\n },\n marginTop: {\n label: 'Margin Top',\n description: 'Top margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 16,\n preferedScale: 'vs',\n },\n marginBottom: {\n label: 'Margin Bottom',\n description: 'Bottom margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 17,\n preferedScale: 'vs',\n },\n marginLeft: {\n label: 'Margin Left',\n description: 'Left margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 18,\n preferedScale: 's',\n },\n marginRight: {\n label: 'Margin Right',\n description: 'Right margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 19,\n preferedScale: 's',\n },\n backgroundColor: {\n label: 'Background Color',\n description: 'Background fill color.',\n category: 'style',\n specialCategory: null,\n sort: 20,\n },\n borderRadius: {\n label: 'Border Radius',\n description: 'Corner rounding amount.',\n category: 'style',\n specialCategory: null,\n sort: 21,\n preferedScale: 's',\n },\n width: {\n label: 'Width',\n description: 'Fixed width value.',\n category: 'container',\n specialCategory: 'size',\n sort: 0,\n preferedScale: 's',\n },\n minWidth: {\n label: 'Min Width',\n description: 'Minimum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 1,\n preferedScale: 's',\n },\n maxWidth: {\n label: 'Max Width',\n description: 'Maximum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 2,\n preferedScale: 's',\n },\n height: {\n label: 'Height',\n description: 'Fixed height value.',\n category: 'container',\n specialCategory: 'size',\n sort: 3,\n preferedScale: 'vs',\n },\n minHeight: {\n label: 'Min Height',\n description: 'Minimum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 4,\n preferedScale: 'vs',\n },\n maxHeight: {\n label: 'Max Height',\n description: 'Maximum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 5,\n preferedScale: 'vs',\n },\n flex: {\n label: 'Flex',\n description: 'Flex grow value in layout.',\n category: 'container',\n specialCategory: null,\n sort: 6,\n },\n position: {\n label: 'Position',\n description: 'Sets layout positioning mode.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n top: {\n label: 'Top',\n description: 'Offset from the top edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 22,\n preferedScale: 'vs',\n },\n bottom: {\n label: 'Bottom',\n description: 'Offset from the bottom edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 23,\n preferedScale: 'vs',\n },\n left: {\n label: 'Left',\n description: 'Offset from the left edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 24,\n preferedScale: 's',\n },\n right: {\n label: 'Right',\n description: 'Offset from the right edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 25,\n preferedScale: 's',\n },\n zIndex: {\n label: 'Z-Index',\n description: 'Controls stacking order.',\n category: 'container',\n specialCategory: null,\n sort: 26,\n },\n labelKey: {\n label: 'Label Key',\n description: 'Localization key for the button text.',\n category: 'other',\n specialCategory: null,\n sort: 1,\n },\n button_text_color: {\n label: 'Button Text Color',\n description: 'Text color of the button.',\n category: 'style',\n specialCategory: null,\n sort: 2,\n },\n animation: {\n label: 'Animation',\n description: 'Animation style for the button.',\n category: 'style',\n specialCategory: null,\n sort: 3,\n },\n animation_color: {\n label: 'Animation Color',\n description: 'Color used by the animation.',\n category: 'style',\n specialCategory: null,\n sort: 4,\n },\n button_background_color: {\n label: 'Button Background Color',\n description: 'Background color of the button.',\n category: 'style',\n specialCategory: null,\n sort: 5,\n },\n events: {\n label: 'Events',\n description: 'List of events fired by the button.',\n category: 'other',\n specialCategory: null,\n sort: 7,\n },\n },\n },\n types: {\n EventObject: {\n type: ['Permission', 'Navigate'],\n permission: ['att', 'notification', 'rating', 'GDPR', 'null'],\n navigate_to: 'string',\n targetIndex: 'number',\n },\n },\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n {\n schemaVersion: 1,\n allowUnknownAttributes: false,\n pattern: {\n type: 'OnboardButtons',\n children: 'node',\n attributes: {\n scrollable: 'boolean',\n flexDirection: ['row', 'column'],\n alignItems: ['flex-start', 'center', 'flex-end', 'stretch', 'baseline'],\n justifyContent: [\n 'flex-start',\n 'center',\n 'flex-end',\n 'space-between',\n 'space-around',\n 'space-evenly',\n ],\n gap: 'size',\n padding: 'size',\n paddingHorizontal: 'size',\n paddingVertical: 'size',\n paddingTop: 'size',\n paddingBottom: 'size',\n paddingLeft: 'size',\n paddingRight: 'size',\n margin: 'size',\n marginVertical: 'size',\n marginTop: 'size',\n marginBottom: 'size',\n marginLeft: 'size',\n marginRight: 'size',\n backgroundColor: 'color',\n borderRadius: 'size',\n width: 'size',\n minWidth: 'size',\n maxWidth: 'size',\n height: 'size',\n minHeight: 'size',\n maxHeight: 'size',\n flex: 'number',\n position: ['relative', 'absolute'],\n top: 'size',\n bottom: 'size',\n left: 'size',\n right: 'size',\n zIndex: 'number',\n buttonType: ['previous_button', 'next_button', 'skip_button'],\n skipNumber: 'number',\n buttons_direction: ['row', 'column'],\n forIndex: 'number',\n seperatorColor: 'color',\n condition: ['carousel-index'],\n conditionVariable: 'number',\n },\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n meta: {\n desiredParent: ['=OnboardItem'],\n label: 'Onboard Buttons',\n description: 'Wrapper for onboarding button set.',\n specialCategories: {\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n sort: 1,\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n sort: 2,\n },\n size: {\n label: 'Size',\n description: 'Fixed dimensions.',\n category: 'container',\n sort: 3,\n },\n offset: {\n label: 'Offset',\n description: 'Absolute positioning offsets.',\n category: 'container',\n sort: 4,\n },\n },\n attributes: {\n scrollable: {\n label: 'Scrollable (!!)',\n description: 'THIS FEATURE MIGHT NOT WORK IN MOBILE!',\n category: 'container',\n specialCategory: null,\n sort: -1,\n },\n flexDirection: {\n label: 'Flex Direction',\n description: 'Sets row or column layout.',\n category: 'container',\n specialCategory: null,\n sort: 4,\n },\n alignItems: {\n label: 'Align Items',\n description: 'Controls cross-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n justifyContent: {\n label: 'Justify Content',\n description: 'Controls main-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 5,\n },\n gap: {\n label: 'Gap',\n description: 'Space between children.',\n category: 'container',\n specialCategory: null,\n sort: 10,\n preferedScale: 's',\n },\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n specialCategory: 'padding',\n sort: 6,\n preferedScale: 's',\n },\n paddingHorizontal: {\n label: 'Padding Horizontal',\n description: 'Left and right padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 7,\n preferedScale: 's',\n },\n paddingVertical: {\n label: 'Padding Vertical',\n description: 'Top and bottom padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 8,\n preferedScale: 'vs',\n },\n paddingTop: {\n label: 'Padding Top',\n description: 'Top padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 9,\n preferedScale: 'vs',\n },\n paddingBottom: {\n label: 'Padding Bottom',\n description: 'Bottom padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 10,\n preferedScale: 'vs',\n },\n paddingLeft: {\n label: 'Padding Left',\n description: 'Left padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 11,\n preferedScale: 's',\n },\n paddingRight: {\n label: 'Padding Right',\n description: 'Right padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 12,\n preferedScale: 's',\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n specialCategory: 'margin',\n sort: 13,\n preferedScale: 's',\n },\n marginHorizontal: {\n label: 'Margin Horizontal',\n description: 'Left and right margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 14,\n preferedScale: 's',\n },\n marginVertical: {\n label: 'Margin Vertical',\n description: 'Top and bottom margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 15,\n preferedScale: 'vs',\n },\n marginTop: {\n label: 'Margin Top',\n description: 'Top margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 16,\n preferedScale: 'vs',\n },\n marginBottom: {\n label: 'Margin Bottom',\n description: 'Bottom margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 17,\n preferedScale: 'vs',\n },\n marginLeft: {\n label: 'Margin Left',\n description: 'Left margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 18,\n preferedScale: 's',\n },\n marginRight: {\n label: 'Margin Right',\n description: 'Right margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 19,\n preferedScale: 's',\n },\n backgroundColor: {\n label: 'Background Color',\n description: 'Background fill color.',\n category: 'style',\n specialCategory: null,\n sort: 20,\n },\n borderRadius: {\n label: 'Border Radius',\n description: 'Corner rounding amount.',\n category: 'style',\n specialCategory: null,\n sort: 21,\n preferedScale: 's',\n },\n width: {\n label: 'Width',\n description: 'Fixed width value.',\n category: 'container',\n specialCategory: 'size',\n sort: 0,\n preferedScale: 's',\n },\n minWidth: {\n label: 'Min Width',\n description: 'Minimum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 1,\n preferedScale: 's',\n },\n maxWidth: {\n label: 'Max Width',\n description: 'Maximum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 2,\n preferedScale: 's',\n },\n height: {\n label: 'Height',\n description: 'Fixed height value.',\n category: 'container',\n specialCategory: 'size',\n sort: 3,\n preferedScale: 'vs',\n },\n minHeight: {\n label: 'Min Height',\n description: 'Minimum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 4,\n preferedScale: 'vs',\n },\n maxHeight: {\n label: 'Max Height',\n description: 'Maximum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 5,\n preferedScale: 'vs',\n },\n flex: {\n label: 'Flex',\n description: 'Flex grow factor (e.g. 1 fills available space).',\n category: 'container',\n specialCategory: 'size',\n sort: 6,\n },\n position: {\n label: 'Position',\n description: 'Sets layout positioning mode.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n top: {\n label: 'Top',\n description: 'Offset from the top edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 22,\n preferedScale: 'vs',\n },\n bottom: {\n label: 'Bottom',\n description: 'Offset from the bottom edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 23,\n preferedScale: 'vs',\n },\n left: {\n label: 'Left',\n description: 'Offset from the left edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 24,\n preferedScale: 's',\n },\n right: {\n label: 'Right',\n description: 'Offset from the right edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 25,\n preferedScale: 's',\n },\n zIndex: {\n label: 'Z-Index',\n description: 'Controls stacking order.',\n category: 'container',\n specialCategory: null,\n sort: 26,\n },\n buttonType: {\n label: 'Button Type',\n description: 'Which onboard button to show.',\n category: 'other',\n specialCategory: null,\n sort: 1,\n },\n skipNumber: {\n label: 'Skip Number',\n description: 'Slide index to skip to.',\n category: 'other',\n specialCategory: null,\n sort: 2,\n },\n buttons_direction: {\n label: 'Buttons Direction',\n description: 'Direction to lay out buttons.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n forIndex: {\n label: 'For Index',\n description: 'Show only for this slide index.',\n category: 'other',\n specialCategory: null,\n sort: 4,\n },\n seperatorColor: {\n label: 'Seperator Color',\n description: 'Color of the divider line.',\n category: 'style',\n specialCategory: null,\n sort: 5,\n },\n condition: {\n label: 'Condition',\n description: 'Built-in condition to check.',\n category: 'other',\n specialCategory: null,\n sort: 6,\n },\n conditionVariable: {\n label: 'Condition Variable',\n description: 'Value used when checking the condition.',\n category: 'other',\n specialCategory: null,\n sort: 7,\n },\n },\n },\n types: {},\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n {\n schemaVersion: 1,\n allowUnknownAttributes: false,\n pattern: {\n type: 'OnboardDot',\n children: 'never',\n attributes: {\n scrollable: 'boolean',\n flexDirection: 'never',\n alignItems: 'never',\n justifyContent: 'never',\n gap: 'size',\n padding: 'size',\n paddingHorizontal: 'size',\n paddingVertical: 'size',\n paddingTop: 'size',\n paddingBottom: 'size',\n paddingLeft: 'size',\n paddingRight: 'size',\n margin: 'size',\n marginVertical: 'size',\n marginTop: 'size',\n marginBottom: 'size',\n marginLeft: 'size',\n marginRight: 'size',\n backgroundColor: 'color',\n borderRadius: 'size',\n width: 'size',\n minWidth: 'size',\n maxWidth: 'size',\n height: 'size',\n minHeight: 'size',\n maxHeight: 'size',\n flex: 'number',\n position: ['relative', 'absolute'],\n top: 'size',\n bottom: 'size',\n left: 'size',\n right: 'size',\n zIndex: 'number',\n dotType: [\n 'expanding_dot',\n 'normal_dot',\n 'scaling_dot',\n 'sliding_border',\n 'sliding_dot',\n 'liquid_like',\n ],\n inactive_dot_opacity: 'number',\n expanding_dot_width: 'size',\n active_dot_color: 'color',\n },\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n meta: {\n desiredParent: ['>OnboardProvider'],\n label: 'Onboard Dot',\n description: 'Renders onboarding progress dots.',\n specialCategories: {\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n sort: 1,\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n sort: 2,\n },\n size: {\n label: 'Size',\n description: 'Fixed dimensions.',\n category: 'container',\n sort: 3,\n },\n offset: {\n label: 'Offset',\n description: 'Absolute positioning offsets.',\n category: 'container',\n sort: 4,\n },\n },\n attributes: {\n scrollable: {\n label: 'Scrollable (!!)',\n description: 'THIS FEATURE MIGHT NOT WORK IN MOBILE!',\n category: 'container',\n specialCategory: null,\n sort: -1,\n },\n flexDirection: {\n label: 'Flex Direction',\n description: 'Sets row or column layout.',\n category: 'container',\n specialCategory: null,\n sort: 4,\n },\n alignItems: {\n label: 'Align Items',\n description: 'Controls cross-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n justifyContent: {\n label: 'Justify Content',\n description: 'Controls main-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 5,\n },\n gap: {\n label: 'Gap',\n description: 'Space between children.',\n category: 'container',\n specialCategory: null,\n sort: 10,\n preferedScale: 's',\n },\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n specialCategory: 'padding',\n sort: 6,\n preferedScale: 's',\n },\n paddingHorizontal: {\n label: 'Padding Horizontal',\n description: 'Left and right padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 7,\n preferedScale: 's',\n },\n paddingVertical: {\n label: 'Padding Vertical',\n description: 'Top and bottom padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 8,\n preferedScale: 'vs',\n },\n paddingTop: {\n label: 'Padding Top',\n description: 'Top padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 9,\n preferedScale: 'vs',\n },\n paddingBottom: {\n label: 'Padding Bottom',\n description: 'Bottom padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 10,\n preferedScale: 'vs',\n },\n paddingLeft: {\n label: 'Padding Left',\n description: 'Left padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 11,\n preferedScale: 's',\n },\n paddingRight: {\n label: 'Padding Right',\n description: 'Right padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 12,\n preferedScale: 's',\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n specialCategory: 'margin',\n sort: 13,\n preferedScale: 's',\n },\n marginHorizontal: {\n label: 'Margin Horizontal',\n description: 'Left and right margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 14,\n preferedScale: 's',\n },\n marginVertical: {\n label: 'Margin Vertical',\n description: 'Top and bottom margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 15,\n preferedScale: 'vs',\n },\n marginTop: {\n label: 'Margin Top',\n description: 'Top margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 16,\n preferedScale: 'vs',\n },\n marginBottom: {\n label: 'Margin Bottom',\n description: 'Bottom margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 17,\n preferedScale: 'vs',\n },\n marginLeft: {\n label: 'Margin Left',\n description: 'Left margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 18,\n preferedScale: 's',\n },\n marginRight: {\n label: 'Margin Right',\n description: 'Right margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 19,\n preferedScale: 's',\n },\n backgroundColor: {\n label: 'Background Color',\n description: 'Background fill color.',\n category: 'style',\n specialCategory: null,\n sort: 20,\n },\n borderRadius: {\n label: 'Border Radius',\n description: 'Corner rounding amount.',\n category: 'style',\n specialCategory: null,\n sort: 21,\n preferedScale: 's',\n },\n width: {\n label: 'Width',\n description: 'Fixed width value.',\n category: 'container',\n specialCategory: 'size',\n sort: 0,\n preferedScale: 's',\n },\n minWidth: {\n label: 'Min Width',\n description: 'Minimum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 1,\n preferedScale: 's',\n },\n maxWidth: {\n label: 'Max Width',\n description: 'Maximum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 2,\n preferedScale: 's',\n },\n height: {\n label: 'Height',\n description: 'Fixed height value.',\n category: 'container',\n specialCategory: 'size',\n sort: 3,\n preferedScale: 'vs',\n },\n minHeight: {\n label: 'Min Height',\n description: 'Minimum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 4,\n preferedScale: 'vs',\n },\n maxHeight: {\n label: 'Max Height',\n description: 'Maximum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 5,\n preferedScale: 'vs',\n },\n flex: {\n label: 'Flex',\n description: 'Flex grow factor (e.g. 1 fills available space).',\n category: 'container',\n specialCategory: 'size',\n sort: 6,\n },\n position: {\n label: 'Position',\n description: 'Sets layout positioning mode.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n top: {\n label: 'Top',\n description: 'Offset from the top edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 22,\n preferedScale: 'vs',\n },\n bottom: {\n label: 'Bottom',\n description: 'Offset from the bottom edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 23,\n preferedScale: 'vs',\n },\n left: {\n label: 'Left',\n description: 'Offset from the left edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 24,\n preferedScale: 's',\n },\n right: {\n label: 'Right',\n description: 'Offset from the right edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 25,\n preferedScale: 's',\n },\n zIndex: {\n label: 'Z-Index',\n description: 'Controls stacking order.',\n category: 'container',\n specialCategory: null,\n sort: 26,\n },\n dotType: {\n label: 'Dot Type',\n description: 'Dot animation style.',\n category: 'style',\n specialCategory: null,\n sort: 1,\n },\n inactive_dot_opacity: {\n label: 'Inactive Dot Opacity',\n description: 'Opacity for inactive dots.',\n category: 'style',\n specialCategory: null,\n sort: 2,\n },\n expanding_dot_width: {\n label: 'Expanding Dot Width',\n description: 'Width used while expanding.',\n category: 'style',\n specialCategory: null,\n sort: 3,\n },\n active_dot_color: {\n label: 'Active Dot Color',\n description: 'Color of the active dot.',\n category: 'style',\n specialCategory: null,\n sort: 4,\n },\n },\n },\n types: {},\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n {\n schemaVersion: 1,\n allowUnknownAttributes: false,\n pattern: {\n type: 'OnboardFooter',\n children: 'node',\n attributes: {\n color: 'color',\n fontSize: 'size',\n fontWeight: [\n 'normal',\n 'bold',\n '100',\n '200',\n '300',\n '400',\n '500',\n '600',\n '700',\n '800',\n '900',\n ],\n textAlign: ['left', 'center', 'right', 'justify'],\n scrollable: 'boolean',\n flexDirection: ['row', 'column'],\n alignItems: ['flex-start', 'center', 'flex-end', 'stretch', 'baseline'],\n justifyContent: [\n 'flex-start',\n 'center',\n 'flex-end',\n 'space-between',\n 'space-around',\n 'space-evenly',\n ],\n gap: 'size',\n padding: 'size',\n paddingHorizontal: 'size',\n paddingVertical: 'size',\n paddingTop: 'size',\n paddingBottom: 'size',\n paddingLeft: 'size',\n paddingRight: 'size',\n margin: 'size',\n marginVertical: 'size',\n marginTop: 'size',\n marginBottom: 'size',\n marginLeft: 'size',\n marginRight: 'size',\n backgroundColor: 'color',\n borderRadius: 'size',\n width: 'size',\n minWidth: 'size',\n maxWidth: 'size',\n height: 'size',\n minHeight: 'size',\n maxHeight: 'size',\n flex: 'number',\n position: ['relative', 'absolute'],\n top: 'size',\n bottom: 'size',\n left: 'size',\n right: 'size',\n zIndex: 'number',\n textLocalizationKey: 'string',\n linkedWordFirstLocalizationKey: 'string',\n linkedWordFirstColor: 'color',\n linkedWordFirstPage: 'string',\n linkedWordSecondLocalizationKey: 'string',\n linkedWordSecondColor: 'color',\n linkedWordSecondPage: 'string',\n },\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n meta: {\n desiredParent: ['>OnboardItem'],\n label: 'Onboard Footer',\n description: 'Footer text with optional links.',\n attributes: {\n color: {\n label: 'Color',\n description: 'Text color.',\n category: 'style',\n specialCategory: null,\n sort: 1,\n },\n fontSize: {\n label: 'Font Size',\n description: 'Text size.',\n category: 'style',\n specialCategory: null,\n sort: 2,\n preferedScale: 's',\n },\n fontWeight: {\n label: 'Font Weight',\n description: 'Text weight.',\n category: 'style',\n specialCategory: null,\n sort: 3,\n },\n textAlign: {\n label: 'Text Align',\n description: 'Text alignment.',\n category: 'style',\n specialCategory: null,\n sort: 4,\n },\n scrollable: {\n label: 'Scrollable (!!)',\n description: 'THIS FEATURE MIGHT NOT WORK IN MOBILE!',\n category: 'container',\n specialCategory: null,\n sort: -1,\n },\n flexDirection: {\n label: 'Flex Direction',\n description: 'Sets row or column layout.',\n category: 'container',\n specialCategory: null,\n sort: 4,\n },\n alignItems: {\n label: 'Align Items',\n description: 'Controls cross-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n justifyContent: {\n label: 'Justify Content',\n description: 'Controls main-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 5,\n },\n gap: {\n label: 'Gap',\n description: 'Space between children.',\n category: 'container',\n specialCategory: null,\n sort: 10,\n preferedScale: 's',\n },\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n specialCategory: 'padding',\n sort: 6,\n preferedScale: 's',\n },\n paddingHorizontal: {\n label: 'Padding Horizontal',\n description: 'Left and right padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 7,\n preferedScale: 's',\n },\n paddingVertical: {\n label: 'Padding Vertical',\n description: 'Top and bottom padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 8,\n preferedScale: 'vs',\n },\n paddingTop: {\n label: 'Padding Top',\n description: 'Top padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 9,\n preferedScale: 'vs',\n },\n paddingBottom: {\n label: 'Padding Bottom',\n description: 'Bottom padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 10,\n preferedScale: 'vs',\n },\n paddingLeft: {\n label: 'Padding Left',\n description: 'Left padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 11,\n preferedScale: 's',\n },\n paddingRight: {\n label: 'Padding Right',\n description: 'Right padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 12,\n preferedScale: 's',\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n specialCategory: 'margin',\n sort: 13,\n preferedScale: 's',\n },\n marginHorizontal: {\n label: 'Margin Horizontal',\n description: 'Left and right margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 14,\n preferedScale: 's',\n },\n marginVertical: {\n label: 'Margin Vertical',\n description: 'Top and bottom margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 15,\n preferedScale: 'vs',\n },\n marginTop: {\n label: 'Margin Top',\n description: 'Top margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 16,\n preferedScale: 'vs',\n },\n marginBottom: {\n label: 'Margin Bottom',\n description: 'Bottom margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 17,\n preferedScale: 'vs',\n },\n marginLeft: {\n label: 'Margin Left',\n description: 'Left margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 18,\n preferedScale: 's',\n },\n marginRight: {\n label: 'Margin Right',\n description: 'Right margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 19,\n preferedScale: 's',\n },\n backgroundColor: {\n label: 'Background Color',\n description: 'Background fill color.',\n category: 'style',\n specialCategory: null,\n sort: 20,\n },\n borderRadius: {\n label: 'Border Radius',\n description: 'Corner rounding amount.',\n category: 'style',\n specialCategory: null,\n sort: 21,\n preferedScale: 's',\n },\n width: {\n label: 'Width',\n description: 'Fixed width value.',\n category: 'container',\n specialCategory: 'size',\n sort: 0,\n preferedScale: 's',\n },\n minWidth: {\n label: 'Min Width',\n description: 'Minimum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 1,\n preferedScale: 's',\n },\n maxWidth: {\n label: 'Max Width',\n description: 'Maximum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 2,\n preferedScale: 's',\n },\n height: {\n label: 'Height',\n description: 'Fixed height value.',\n category: 'container',\n specialCategory: 'size',\n sort: 3,\n preferedScale: 'vs',\n },\n minHeight: {\n label: 'Min Height',\n description: 'Minimum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 4,\n preferedScale: 'vs',\n },\n maxHeight: {\n label: 'Max Height',\n description: 'Maximum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 5,\n preferedScale: 'vs',\n },\n flex: {\n label: 'Flex',\n description: 'Flex grow factor (e.g. 1 fills available space).',\n category: 'container',\n specialCategory: 'size',\n sort: 6,\n },\n position: {\n label: 'Position',\n description: 'Sets layout positioning mode.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n top: {\n label: 'Top',\n description: 'Offset from the top edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 22,\n preferedScale: 'vs',\n },\n bottom: {\n label: 'Bottom',\n description: 'Offset from the bottom edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 23,\n preferedScale: 'vs',\n },\n left: {\n label: 'Left',\n description: 'Offset from the left edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 24,\n preferedScale: 's',\n },\n right: {\n label: 'Right',\n description: 'Offset from the right edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 25,\n preferedScale: 's',\n },\n zIndex: {\n label: 'Z-Index',\n description: 'Controls stacking order.',\n category: 'container',\n specialCategory: null,\n sort: 26,\n },\n textLocalizationKey: {\n label: 'Text Localization Key',\n description: 'Localization key for the footer text.',\n category: 'other',\n specialCategory: null,\n sort: 1,\n },\n linkedWordFirstLocalizationKey: {\n label: 'Linked Word First Localization Key',\n description: 'Key for the first linked word.',\n category: 'other',\n specialCategory: null,\n sort: 2,\n },\n linkedWordFirstColor: {\n label: 'Linked Word First Color',\n description: 'Color of the first linked word.',\n category: 'style',\n specialCategory: null,\n sort: 3,\n },\n linkedWordFirstPage: {\n label: 'Linked Word First Page',\n description: 'Page opened by the first link.',\n category: 'other',\n specialCategory: null,\n sort: 4,\n },\n linkedWordSecondLocalizationKey: {\n label: 'Linked Word Second Localization Key',\n description: 'Key for the second linked word.',\n category: 'other',\n specialCategory: null,\n sort: 5,\n },\n linkedWordSecondColor: {\n label: 'Linked Word Second Color',\n description: 'Color of the second linked word.',\n category: 'style',\n specialCategory: null,\n sort: 6,\n },\n linkedWordSecondPage: {\n label: 'Linked Word Second Page',\n description: 'Page opened by the second link.',\n category: 'other',\n specialCategory: null,\n sort: 7,\n },\n },\n specialCategories: {\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n sort: 1,\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n sort: 2,\n },\n size: {\n label: 'Size',\n description: 'Fixed dimensions.',\n category: 'container',\n sort: 3,\n },\n offset: {\n label: 'Offset',\n description: 'Absolute positioning offsets.',\n category: 'container',\n sort: 4,\n },\n },\n },\n defaults: {\n flexDirection: 'column',\n position: 'relative',\n zIndex: 1,\n paddingHorizontal: '24@s',\n },\n types: {},\n },\n {\n schemaVersion: 1,\n allowUnknownAttributes: false,\n pattern: {\n type: 'OnboardImage',\n children: 'node',\n attributes: {\n src: 'string',\n width: 'size',\n height: 'size',\n resizeMode: ['cover', 'contain', 'stretch', 'center'],\n scrollable: 'boolean',\n flexDirection: ['row', 'column'],\n alignItems: ['flex-start', 'center', 'flex-end', 'stretch', 'baseline'],\n justifyContent: [\n 'flex-start',\n 'center',\n 'flex-end',\n 'space-between',\n 'space-around',\n 'space-evenly',\n ],\n gap: 'size',\n padding: 'size',\n paddingHorizontal: 'size',\n paddingVertical: 'size',\n paddingTop: 'size',\n paddingBottom: 'size',\n paddingLeft: 'size',\n paddingRight: 'size',\n margin: 'size',\n marginVertical: 'size',\n marginTop: 'size',\n marginBottom: 'size',\n marginLeft: 'size',\n marginRight: 'size',\n backgroundColor: 'color',\n borderRadius: 'size',\n minWidth: 'size',\n maxWidth: 'size',\n minHeight: 'size',\n maxHeight: 'size',\n flex: 'number',\n position: ['relative', 'absolute'],\n top: 'size',\n bottom: 'size',\n left: 'size',\n right: 'size',\n zIndex: 'number',\n video_url: 'string',\n lottie: 'string',\n },\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n meta: {\n desiredParent: ['>OnboardProvider', '>OnboardItem', '!=Onboard'],\n label: 'Onboard Image',\n description: 'Onboarding hero image with media.',\n attributes: {\n src: {\n label: 'Src',\n description: 'Image source URL.',\n category: 'other',\n specialCategory: null,\n sort: 1,\n },\n width: {\n label: 'Width',\n description: 'Fixed width value.',\n category: 'container',\n specialCategory: 'size',\n sort: 0,\n preferedScale: 's',\n },\n height: {\n label: 'Height',\n description: 'Fixed height value.',\n category: 'container',\n specialCategory: 'size',\n sort: 3,\n preferedScale: 'vs',\n },\n resizeMode: {\n label: 'Resize Mode',\n description: 'How the image fits the frame.',\n category: 'style',\n specialCategory: null,\n sort: 4,\n },\n scrollable: {\n label: 'Scrollable (!!)',\n description: 'THIS FEATURE MIGHT NOT WORK IN MOBILE!',\n category: 'container',\n specialCategory: null,\n sort: -1,\n },\n flexDirection: {\n label: 'Flex Direction',\n description: 'Sets row or column layout.',\n category: 'container',\n specialCategory: null,\n sort: 4,\n },\n alignItems: {\n label: 'Align Items',\n description: 'Controls cross-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n justifyContent: {\n label: 'Justify Content',\n description: 'Controls main-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 5,\n },\n gap: {\n label: 'Gap',\n description: 'Space between children.',\n category: 'container',\n specialCategory: null,\n sort: 10,\n preferedScale: 's',\n },\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n specialCategory: 'padding',\n sort: 6,\n preferedScale: 's',\n },\n paddingHorizontal: {\n label: 'Padding Horizontal',\n description: 'Left and right padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 7,\n preferedScale: 's',\n },\n paddingVertical: {\n label: 'Padding Vertical',\n description: 'Top and bottom padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 8,\n preferedScale: 'vs',\n },\n paddingTop: {\n label: 'Padding Top',\n description: 'Top padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 9,\n preferedScale: 'vs',\n },\n paddingBottom: {\n label: 'Padding Bottom',\n description: 'Bottom padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 10,\n preferedScale: 'vs',\n },\n paddingLeft: {\n label: 'Padding Left',\n description: 'Left padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 11,\n preferedScale: 's',\n },\n paddingRight: {\n label: 'Padding Right',\n description: 'Right padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 12,\n preferedScale: 's',\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n specialCategory: 'margin',\n sort: 13,\n preferedScale: 's',\n },\n marginHorizontal: {\n label: 'Margin Horizontal',\n description: 'Left and right margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 14,\n preferedScale: 's',\n },\n marginVertical: {\n label: 'Margin Vertical',\n description: 'Top and bottom margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 15,\n preferedScale: 'vs',\n },\n marginTop: {\n label: 'Margin Top',\n description: 'Top margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 16,\n preferedScale: 'vs',\n },\n marginBottom: {\n label: 'Margin Bottom',\n description: 'Bottom margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 17,\n preferedScale: 'vs',\n },\n marginLeft: {\n label: 'Margin Left',\n description: 'Left margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 18,\n preferedScale: 's',\n },\n marginRight: {\n label: 'Margin Right',\n description: 'Right margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 19,\n preferedScale: 's',\n },\n backgroundColor: {\n label: 'Background Color',\n description: 'Background fill color.',\n category: 'style',\n specialCategory: null,\n sort: 20,\n },\n borderRadius: {\n label: 'Border Radius',\n description: 'Corner rounding amount.',\n category: 'style',\n specialCategory: null,\n sort: 21,\n preferedScale: 's',\n },\n minWidth: {\n label: 'Min Width',\n description: 'Minimum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 1,\n preferedScale: 's',\n },\n maxWidth: {\n label: 'Max Width',\n description: 'Maximum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 2,\n preferedScale: 's',\n },\n minHeight: {\n label: 'Min Height',\n description: 'Minimum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 4,\n preferedScale: 'vs',\n },\n maxHeight: {\n label: 'Max Height',\n description: 'Maximum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 5,\n preferedScale: 'vs',\n },\n flex: {\n label: 'Flex',\n description: 'Flex grow factor (e.g. 1 fills available space).',\n category: 'container',\n specialCategory: 'size',\n sort: 6,\n },\n position: {\n label: 'Position',\n description: 'Sets layout positioning mode.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n top: {\n label: 'Top',\n description: 'Offset from the top edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 22,\n preferedScale: 'vs',\n },\n bottom: {\n label: 'Bottom',\n description: 'Offset from the bottom edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 23,\n preferedScale: 'vs',\n },\n left: {\n label: 'Left',\n description: 'Offset from the left edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 24,\n preferedScale: 's',\n },\n right: {\n label: 'Right',\n description: 'Offset from the right edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 25,\n preferedScale: 's',\n },\n zIndex: {\n label: 'Z-Index',\n description: 'Controls stacking order.',\n category: 'container',\n specialCategory: null,\n sort: 26,\n },\n video_url: {\n label: 'Video Url',\n description: 'URL for the onboarding video.',\n category: 'other',\n specialCategory: null,\n sort: 1,\n },\n lottie: {\n label: 'Lottie',\n description: 'Path to the lottie animation.',\n category: 'other',\n specialCategory: null,\n sort: 2,\n },\n },\n specialCategories: {\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n sort: 1,\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n sort: 2,\n },\n size: {\n label: 'Size',\n description: 'Fixed dimensions.',\n category: 'container',\n sort: 3,\n },\n offset: {\n label: 'Offset',\n description: 'Absolute positioning offsets.',\n category: 'container',\n sort: 4,\n },\n },\n },\n types: {},\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n {\n schemaVersion: 1,\n allowUnknownAttributes: false,\n pattern: {\n type: 'OnboardItem',\n children: 'node',\n attributes: {\n scrollable: 'boolean',\n flexDirection: ['row', 'column'],\n alignItems: ['flex-start', 'center', 'flex-end', 'stretch', 'baseline'],\n justifyContent: [\n 'flex-start',\n 'center',\n 'flex-end',\n 'space-between',\n 'space-around',\n 'space-evenly',\n ],\n gap: 'size',\n padding: 'size',\n paddingHorizontal: 'size',\n paddingVertical: 'size',\n paddingTop: 'size',\n paddingBottom: 'size',\n paddingLeft: 'size',\n paddingRight: 'size',\n margin: 'size',\n marginVertical: 'size',\n marginTop: 'size',\n marginBottom: 'size',\n marginLeft: 'size',\n marginRight: 'size',\n backgroundColor: 'color',\n borderRadius: 'size',\n width: 'size',\n minWidth: 'size',\n maxWidth: 'size',\n height: 'size',\n minHeight: 'size',\n maxHeight: 'size',\n flex: 'number',\n position: ['relative', 'absolute'],\n top: 'size',\n bottom: 'size',\n left: 'size',\n right: 'size',\n zIndex: 'number',\n display: ['flex', 'block'],\n },\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n meta: {\n desiredParent: ['=Onboard'],\n label: 'Onboard Item',\n description: 'Single onboarding screen section.',\n specialCategories: {\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n sort: 1,\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n sort: 2,\n },\n size: {\n label: 'Size',\n description: 'Fixed dimensions.',\n category: 'container',\n sort: 3,\n },\n offset: {\n label: 'Offset',\n description: 'Absolute positioning offsets.',\n category: 'container',\n sort: 4,\n },\n },\n attributes: {\n scrollable: {\n label: 'Scrollable (!!)',\n description: 'THIS FEATURE MIGHT NOT WORK IN MOBILE!',\n category: 'container',\n specialCategory: null,\n sort: -1,\n },\n flexDirection: {\n label: 'Flex Direction',\n description: 'Order of child stacking.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n alignItems: {\n label: 'Align Items',\n description: 'Controls cross-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n justifyContent: {\n label: 'Justify Content',\n description: 'Controls main-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 5,\n },\n gap: {\n label: 'Gap',\n description: 'Space between child blocks.',\n category: 'container',\n specialCategory: null,\n sort: 2,\n },\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n specialCategory: 'padding',\n sort: 6,\n preferedScale: 's',\n },\n paddingHorizontal: {\n label: 'Padding Horizontal',\n description: 'Left and right padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 4,\n },\n paddingVertical: {\n label: 'Padding Vertical',\n description: 'Top and bottom padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 8,\n preferedScale: 'vs',\n },\n paddingTop: {\n label: 'Padding Top',\n description: 'Top padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 9,\n preferedScale: 'vs',\n },\n paddingBottom: {\n label: 'Padding Bottom',\n description: 'Bottom padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 10,\n preferedScale: 'vs',\n },\n paddingLeft: {\n label: 'Padding Left',\n description: 'Left padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 11,\n preferedScale: 's',\n },\n paddingRight: {\n label: 'Padding Right',\n description: 'Right padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 12,\n preferedScale: 's',\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n specialCategory: 'margin',\n sort: 13,\n preferedScale: 's',\n },\n marginHorizontal: {\n label: 'Margin Horizontal',\n description: 'Left and right margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 14,\n preferedScale: 's',\n },\n marginVertical: {\n label: 'Margin Vertical',\n description: 'Top and bottom margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 15,\n preferedScale: 'vs',\n },\n marginTop: {\n label: 'Margin Top',\n description: 'Top margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 16,\n preferedScale: 'vs',\n },\n marginBottom: {\n label: 'Margin Bottom',\n description: 'Bottom margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 17,\n preferedScale: 'vs',\n },\n marginLeft: {\n label: 'Margin Left',\n description: 'Left margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 18,\n preferedScale: 's',\n },\n marginRight: {\n label: 'Margin Right',\n description: 'Right margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 19,\n preferedScale: 's',\n },\n backgroundColor: {\n label: 'Background Color',\n description: 'Background fill color.',\n category: 'style',\n specialCategory: null,\n sort: 20,\n },\n borderRadius: {\n label: 'Border Radius',\n description: 'Corner rounding amount.',\n category: 'style',\n specialCategory: null,\n sort: 21,\n preferedScale: 's',\n },\n width: {\n label: 'Width',\n description: 'Fixed width value.',\n category: 'container',\n specialCategory: 'size',\n sort: 0,\n preferedScale: 's',\n },\n minWidth: {\n label: 'Min Width',\n description: 'Minimum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 1,\n preferedScale: 's',\n },\n maxWidth: {\n label: 'Max Width',\n description: 'Maximum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 2,\n preferedScale: 's',\n },\n height: {\n label: 'Height',\n description: 'Fixed height value.',\n category: 'container',\n specialCategory: 'size',\n sort: 3,\n preferedScale: 'vs',\n },\n minHeight: {\n label: 'Min Height',\n description: 'Minimum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 4,\n preferedScale: 'vs',\n },\n maxHeight: {\n label: 'Max Height',\n description: 'Maximum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 5,\n preferedScale: 'vs',\n },\n flex: {\n label: 'Flex',\n description: 'Flex grow factor (e.g. 1 fills available space).',\n category: 'container',\n specialCategory: 'size',\n sort: 6,\n },\n position: {\n label: 'Position',\n description: 'Sets layout positioning mode.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n top: {\n label: 'Top',\n description: 'Offset from the top edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 22,\n preferedScale: 'vs',\n },\n bottom: {\n label: 'Bottom',\n description: 'Offset from the bottom edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 23,\n preferedScale: 'vs',\n },\n left: {\n label: 'Left',\n description: 'Offset from the left edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 24,\n preferedScale: 's',\n },\n right: {\n label: 'Right',\n description: 'Offset from the right edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 25,\n preferedScale: 's',\n },\n zIndex: {\n label: 'Z-Index',\n description: 'Controls stacking order.',\n category: 'container',\n specialCategory: null,\n sort: 26,\n },\n display: {\n label: 'Display',\n description: 'Controls layout display mode.',\n category: 'container',\n specialCategory: null,\n sort: 1,\n },\n },\n },\n defaults: {\n flexDirection: 'column',\n position: 'relative',\n zIndex: 1,\n gap: '16@vs',\n display: 'flex',\n paddingHorizontal: '24@s',\n },\n types: {},\n },\n {\n schemaVersion: 1,\n allowUnknownAttributes: false,\n pattern: {\n type: 'OnboardProvider',\n children: 'node',\n attributes: {\n scrollable: 'boolean',\n flexDirection: ['row', 'column'],\n alignItems: ['flex-start', 'center', 'flex-end', 'stretch', 'baseline'],\n justifyContent: [\n 'flex-start',\n 'center',\n 'flex-end',\n 'space-between',\n 'space-around',\n 'space-evenly',\n ],\n gap: 'size',\n padding: 'size',\n paddingHorizontal: 'size',\n paddingVertical: 'size',\n paddingTop: 'size',\n paddingBottom: 'size',\n paddingLeft: 'size',\n paddingRight: 'size',\n margin: 'size',\n marginVertical: 'size',\n marginTop: 'size',\n marginBottom: 'size',\n marginLeft: 'size',\n marginRight: 'size',\n backgroundColor: 'color',\n borderRadius: 'never',\n width: 'size',\n minWidth: 'size',\n maxWidth: 'size',\n height: 'size',\n minHeight: 'size',\n maxHeight: 'size',\n flex: 'number',\n position: ['relative', 'absolute'],\n top: 'size',\n bottom: 'size',\n left: 'size',\n right: 'size',\n zIndex: 'number',\n },\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n meta: {\n desiredParent: ['root'],\n label: 'Onboard Provider',\n description: 'Provides shared settings for onboarding.',\n specialCategories: {\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n sort: 1,\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n sort: 2,\n },\n size: {\n label: 'Size',\n description: 'Fixed dimensions.',\n category: 'container',\n sort: 3,\n },\n offset: {\n label: 'Offset',\n description: 'Absolute positioning offsets.',\n category: 'container',\n sort: 4,\n },\n },\n attributes: {\n scrollable: {\n label: 'Scrollable (!!)',\n description: 'THIS FEATURE MIGHT NOT WORK IN MOBILE!',\n category: 'container',\n specialCategory: null,\n sort: -1,\n },\n flexDirection: {\n label: 'Flex Direction',\n description: 'Sets row or column layout.',\n category: 'container',\n specialCategory: null,\n sort: 4,\n },\n alignItems: {\n label: 'Align Items',\n description: 'Controls cross-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n justifyContent: {\n label: 'Justify Content',\n description: 'Controls main-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 5,\n },\n gap: {\n label: 'Gap',\n description: 'Space between children.',\n category: 'container',\n specialCategory: null,\n sort: 10,\n preferedScale: 's',\n },\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n specialCategory: 'padding',\n sort: 6,\n preferedScale: 's',\n },\n paddingHorizontal: {\n label: 'Padding Horizontal',\n description: 'Left and right padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 7,\n preferedScale: 's',\n },\n paddingVertical: {\n label: 'Padding Vertical',\n description: 'Top and bottom padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 8,\n preferedScale: 'vs',\n },\n paddingTop: {\n label: 'Padding Top',\n description: 'Top padding for the provider.',\n category: 'container',\n specialCategory: 'padding',\n sort: 1,\n },\n paddingBottom: {\n label: 'Padding Bottom',\n description: 'Bottom padding for the provider.',\n category: 'container',\n specialCategory: 'padding',\n sort: 3,\n },\n paddingLeft: {\n label: 'Padding Left',\n description: 'Left padding for the provider.',\n category: 'container',\n specialCategory: 'padding',\n sort: 4,\n },\n paddingRight: {\n label: 'Padding Right',\n description: 'Right padding for the provider.',\n category: 'container',\n specialCategory: 'padding',\n sort: 2,\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n specialCategory: 'margin',\n sort: 13,\n preferedScale: 's',\n },\n marginHorizontal: {\n label: 'Margin Horizontal',\n description: 'Left and right margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 14,\n preferedScale: 's',\n },\n marginVertical: {\n label: 'Margin Vertical',\n description: 'Top and bottom margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 15,\n preferedScale: 'vs',\n },\n marginTop: {\n label: 'Margin Top',\n description: 'Top margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 16,\n preferedScale: 'vs',\n },\n marginBottom: {\n label: 'Margin Bottom',\n description: 'Bottom margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 17,\n preferedScale: 'vs',\n },\n marginLeft: {\n label: 'Margin Left',\n description: 'Left margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 18,\n preferedScale: 's',\n },\n marginRight: {\n label: 'Margin Right',\n description: 'Right margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 19,\n preferedScale: 's',\n },\n backgroundColor: {\n label: 'Background Color',\n description: 'Background fill color.',\n category: 'style',\n specialCategory: null,\n sort: 20,\n },\n borderRadius: {\n label: 'Border Radius',\n description: 'Corner rounding amount.',\n category: 'style',\n specialCategory: null,\n sort: 21,\n preferedScale: 's',\n },\n width: {\n label: 'Width',\n description: 'Fixed width value.',\n category: 'container',\n specialCategory: 'size',\n sort: 0,\n preferedScale: 's',\n },\n minWidth: {\n label: 'Min Width',\n description: 'Minimum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 1,\n preferedScale: 's',\n },\n maxWidth: {\n label: 'Max Width',\n description: 'Maximum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 2,\n preferedScale: 's',\n },\n height: {\n label: 'Height',\n description: 'Fixed height value.',\n category: 'container',\n specialCategory: 'size',\n sort: 3,\n preferedScale: 'vs',\n },\n minHeight: {\n label: 'Min Height',\n description: 'Minimum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 4,\n preferedScale: 'vs',\n },\n maxHeight: {\n label: 'Max Height',\n description: 'Maximum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 5,\n preferedScale: 'vs',\n },\n flex: {\n label: 'Flex',\n description: 'Flex grow factor (e.g. 1 fills available space).',\n category: 'container',\n specialCategory: 'size',\n sort: 6,\n },\n position: {\n label: 'Position',\n description: 'Sets layout positioning mode.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n top: {\n label: 'Top',\n description: 'Offset from the top edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 22,\n preferedScale: 'vs',\n },\n bottom: {\n label: 'Bottom',\n description: 'Offset from the bottom edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 23,\n preferedScale: 'vs',\n },\n left: {\n label: 'Left',\n description: 'Offset from the left edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 24,\n preferedScale: 's',\n },\n right: {\n label: 'Right',\n description: 'Offset from the right edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 25,\n preferedScale: 's',\n },\n zIndex: {\n label: 'Z-Index',\n description: 'Controls stacking order.',\n category: 'container',\n specialCategory: null,\n sort: 26,\n },\n },\n },\n defaults: {\n flexDirection: 'column',\n position: 'relative',\n zIndex: 1,\n width: '100%',\n height: '100%',\n },\n types: {},\n },\n {\n schemaVersion: 1,\n allowUnknownAttributes: false,\n pattern: {\n type: 'OnboardSubtitle',\n children: 'string',\n attributes: {\n color: 'color',\n fontSize: 'size',\n fontWeight: [\n 'normal',\n 'bold',\n '100',\n '200',\n '300',\n '400',\n '500',\n '600',\n '700',\n '800',\n '900',\n ],\n textAlign: ['left', 'center', 'right', 'justify'],\n scrollable: 'boolean',\n flexDirection: ['row', 'column'],\n alignItems: ['flex-start', 'center', 'flex-end', 'stretch', 'baseline'],\n justifyContent: [\n 'flex-start',\n 'center',\n 'flex-end',\n 'space-between',\n 'space-around',\n 'space-evenly',\n ],\n gap: 'size',\n padding: 'size',\n paddingHorizontal: 'size',\n paddingVertical: 'size',\n paddingTop: 'size',\n paddingBottom: 'size',\n paddingLeft: 'size',\n paddingRight: 'size',\n margin: 'size',\n marginVertical: 'size',\n marginTop: 'size',\n marginBottom: 'size',\n marginLeft: 'size',\n marginRight: 'size',\n backgroundColor: 'color',\n borderRadius: 'size',\n width: 'size',\n minWidth: 'size',\n maxWidth: 'size',\n height: 'size',\n minHeight: 'size',\n maxHeight: 'size',\n flex: 'number',\n position: ['relative', 'absolute'],\n top: 'size',\n bottom: 'size',\n left: 'size',\n right: 'size',\n zIndex: 'number',\n },\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n meta: {\n desiredParent: ['>OnboardProvider', '>OnboardItem'],\n label: 'Onboard Subtitle',\n description: 'Subtitle text for an onboarding step.',\n attributes: {\n color: {\n label: 'Color',\n description: 'Text color.',\n category: 'style',\n specialCategory: null,\n sort: 1,\n },\n fontSize: {\n label: 'Font Size',\n description: 'Text size.',\n category: 'style',\n specialCategory: null,\n sort: 2,\n preferedScale: 's',\n },\n fontWeight: {\n label: 'Font Weight',\n description: 'Text weight.',\n category: 'style',\n specialCategory: null,\n sort: 3,\n },\n textAlign: {\n label: 'Text Align',\n description: 'Text alignment.',\n category: 'style',\n specialCategory: null,\n sort: 4,\n },\n scrollable: {\n label: 'Scrollable (!!)',\n description: 'THIS FEATURE MIGHT NOT WORK IN MOBILE!',\n category: 'container',\n specialCategory: null,\n sort: -1,\n },\n flexDirection: {\n label: 'Flex Direction',\n description: 'Sets row or column layout.',\n category: 'container',\n specialCategory: null,\n sort: 4,\n },\n alignItems: {\n label: 'Align Items',\n description: 'Controls cross-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n justifyContent: {\n label: 'Justify Content',\n description: 'Controls main-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 5,\n },\n gap: {\n label: 'Gap',\n description: 'Space between children.',\n category: 'container',\n specialCategory: null,\n sort: 10,\n preferedScale: 's',\n },\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n specialCategory: 'padding',\n sort: 6,\n preferedScale: 's',\n },\n paddingHorizontal: {\n label: 'Padding Horizontal',\n description: 'Left and right padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 7,\n preferedScale: 's',\n },\n paddingVertical: {\n label: 'Padding Vertical',\n description: 'Top and bottom padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 8,\n preferedScale: 'vs',\n },\n paddingTop: {\n label: 'Padding Top',\n description: 'Top padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 9,\n preferedScale: 'vs',\n },\n paddingBottom: {\n label: 'Padding Bottom',\n description: 'Bottom padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 10,\n preferedScale: 'vs',\n },\n paddingLeft: {\n label: 'Padding Left',\n description: 'Left padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 11,\n preferedScale: 's',\n },\n paddingRight: {\n label: 'Padding Right',\n description: 'Right padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 12,\n preferedScale: 's',\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n specialCategory: 'margin',\n sort: 13,\n preferedScale: 's',\n },\n marginHorizontal: {\n label: 'Margin Horizontal',\n description: 'Left and right margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 14,\n preferedScale: 's',\n },\n marginVertical: {\n label: 'Margin Vertical',\n description: 'Top and bottom margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 15,\n preferedScale: 'vs',\n },\n marginTop: {\n label: 'Margin Top',\n description: 'Top margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 16,\n preferedScale: 'vs',\n },\n marginBottom: {\n label: 'Margin Bottom',\n description: 'Bottom margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 17,\n preferedScale: 'vs',\n },\n marginLeft: {\n label: 'Margin Left',\n description: 'Left margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 18,\n preferedScale: 's',\n },\n marginRight: {\n label: 'Margin Right',\n description: 'Right margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 19,\n preferedScale: 's',\n },\n backgroundColor: {\n label: 'Background Color',\n description: 'Background fill color.',\n category: 'style',\n specialCategory: null,\n sort: 20,\n },\n borderRadius: {\n label: 'Border Radius',\n description: 'Corner rounding amount.',\n category: 'style',\n specialCategory: null,\n sort: 21,\n preferedScale: 's',\n },\n width: {\n label: 'Width',\n description: 'Fixed width value.',\n category: 'container',\n specialCategory: 'size',\n sort: 0,\n preferedScale: 's',\n },\n minWidth: {\n label: 'Min Width',\n description: 'Minimum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 1,\n preferedScale: 's',\n },\n maxWidth: {\n label: 'Max Width',\n description: 'Maximum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 2,\n preferedScale: 's',\n },\n height: {\n label: 'Height',\n description: 'Fixed height value.',\n category: 'container',\n specialCategory: 'size',\n sort: 3,\n preferedScale: 'vs',\n },\n minHeight: {\n label: 'Min Height',\n description: 'Minimum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 4,\n preferedScale: 'vs',\n },\n maxHeight: {\n label: 'Max Height',\n description: 'Maximum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 5,\n preferedScale: 'vs',\n },\n flex: {\n label: 'Flex',\n description: 'Flex grow factor (e.g. 1 fills available space).',\n category: 'container',\n specialCategory: 'size',\n sort: 6,\n },\n position: {\n label: 'Position',\n description: 'Sets layout positioning mode.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n top: {\n label: 'Top',\n description: 'Offset from the top edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 22,\n preferedScale: 'vs',\n },\n bottom: {\n label: 'Bottom',\n description: 'Offset from the bottom edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 23,\n preferedScale: 'vs',\n },\n left: {\n label: 'Left',\n description: 'Offset from the left edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 24,\n preferedScale: 's',\n },\n right: {\n label: 'Right',\n description: 'Offset from the right edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 25,\n preferedScale: 's',\n },\n zIndex: {\n label: 'Z-Index',\n description: 'Controls stacking order.',\n category: 'container',\n specialCategory: null,\n sort: 26,\n },\n },\n specialCategories: {\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n sort: 1,\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n sort: 2,\n },\n size: {\n label: 'Size',\n description: 'Fixed dimensions.',\n category: 'container',\n sort: 3,\n },\n offset: {\n label: 'Offset',\n description: 'Absolute positioning offsets.',\n category: 'container',\n sort: 4,\n },\n },\n },\n defaults: {\n flexDirection: 'column',\n position: 'relative',\n zIndex: 1,\n fontSize: '14@fs',\n fontWeight: '600',\n },\n types: {},\n },\n {\n schemaVersion: 1,\n allowUnknownAttributes: false,\n pattern: {\n type: 'OnboardTitle',\n children: 'string',\n attributes: {\n color: 'color',\n fontSize: 'size',\n fontWeight: [\n 'normal',\n 'bold',\n '100',\n '200',\n '300',\n '400',\n '500',\n '600',\n '700',\n '800',\n '900',\n ],\n textAlign: ['left', 'center', 'right', 'justify'],\n scrollable: 'boolean',\n flexDirection: ['row', 'column'],\n alignItems: ['flex-start', 'center', 'flex-end', 'stretch', 'baseline'],\n justifyContent: [\n 'flex-start',\n 'center',\n 'flex-end',\n 'space-between',\n 'space-around',\n 'space-evenly',\n ],\n gap: 'size',\n padding: 'size',\n paddingHorizontal: 'size',\n paddingVertical: 'size',\n paddingTop: 'size',\n paddingBottom: 'size',\n paddingLeft: 'size',\n paddingRight: 'size',\n margin: 'size',\n marginVertical: 'size',\n marginTop: 'size',\n marginBottom: 'size',\n marginLeft: 'size',\n marginRight: 'size',\n backgroundColor: 'color',\n borderRadius: 'size',\n width: 'size',\n minWidth: 'size',\n maxWidth: 'size',\n height: 'size',\n minHeight: 'size',\n maxHeight: 'size',\n flex: 'number',\n position: ['relative', 'absolute'],\n top: 'size',\n bottom: 'size',\n left: 'size',\n right: 'size',\n zIndex: 'number',\n },\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n meta: {\n desiredParent: ['>OnboardItem', '>OnboardProvider'],\n label: 'Onboard Title',\n description: 'Title text for an onboarding step.',\n attributes: {\n color: {\n label: 'Color',\n description: 'Text color.',\n category: 'style',\n specialCategory: null,\n sort: 1,\n },\n fontSize: {\n label: 'Font Size',\n description: 'Text size.',\n category: 'style',\n specialCategory: null,\n sort: 2,\n preferedScale: 's',\n },\n fontWeight: {\n label: 'Font Weight',\n description: 'Text weight.',\n category: 'style',\n specialCategory: null,\n sort: 3,\n },\n textAlign: {\n label: 'Text Align',\n description: 'Text alignment.',\n category: 'style',\n specialCategory: null,\n sort: 4,\n },\n scrollable: {\n label: 'Scrollable (!!)',\n description: 'THIS FEATURE MIGHT NOT WORK IN MOBILE!',\n category: 'container',\n specialCategory: null,\n sort: -1,\n },\n flexDirection: {\n label: 'Flex Direction',\n description: 'Sets row or column layout.',\n category: 'container',\n specialCategory: null,\n sort: 4,\n },\n alignItems: {\n label: 'Align Items',\n description: 'Controls cross-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n justifyContent: {\n label: 'Justify Content',\n description: 'Controls main-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 5,\n },\n gap: {\n label: 'Gap',\n description: 'Space between children.',\n category: 'container',\n specialCategory: null,\n sort: 10,\n preferedScale: 's',\n },\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n specialCategory: 'padding',\n sort: 6,\n preferedScale: 's',\n },\n paddingHorizontal: {\n label: 'Padding Horizontal',\n description: 'Left and right padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 7,\n preferedScale: 's',\n },\n paddingVertical: {\n label: 'Padding Vertical',\n description: 'Top and bottom padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 8,\n preferedScale: 'vs',\n },\n paddingTop: {\n label: 'Padding Top',\n description: 'Top padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 9,\n preferedScale: 'vs',\n },\n paddingBottom: {\n label: 'Padding Bottom',\n description: 'Bottom padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 10,\n preferedScale: 'vs',\n },\n paddingLeft: {\n label: 'Padding Left',\n description: 'Left padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 11,\n preferedScale: 's',\n },\n paddingRight: {\n label: 'Padding Right',\n description: 'Right padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 12,\n preferedScale: 's',\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n specialCategory: 'margin',\n sort: 13,\n preferedScale: 's',\n },\n marginHorizontal: {\n label: 'Margin Horizontal',\n description: 'Left and right margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 14,\n preferedScale: 's',\n },\n marginVertical: {\n label: 'Margin Vertical',\n description: 'Top and bottom margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 15,\n preferedScale: 'vs',\n },\n marginTop: {\n label: 'Margin Top',\n description: 'Top margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 16,\n preferedScale: 'vs',\n },\n marginBottom: {\n label: 'Margin Bottom',\n description: 'Bottom margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 17,\n preferedScale: 'vs',\n },\n marginLeft: {\n label: 'Margin Left',\n description: 'Left margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 18,\n preferedScale: 's',\n },\n marginRight: {\n label: 'Margin Right',\n description: 'Right margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 19,\n preferedScale: 's',\n },\n backgroundColor: {\n label: 'Background Color',\n description: 'Background fill color.',\n category: 'style',\n specialCategory: null,\n sort: 20,\n },\n borderRadius: {\n label: 'Border Radius',\n description: 'Corner rounding amount.',\n category: 'style',\n specialCategory: null,\n sort: 21,\n preferedScale: 's',\n },\n width: {\n label: 'Width',\n description: 'Fixed width value.',\n category: 'container',\n specialCategory: 'size',\n sort: 0,\n preferedScale: 's',\n },\n minWidth: {\n label: 'Min Width',\n description: 'Minimum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 1,\n preferedScale: 's',\n },\n maxWidth: {\n label: 'Max Width',\n description: 'Maximum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 2,\n preferedScale: 's',\n },\n height: {\n label: 'Height',\n description: 'Fixed height value.',\n category: 'container',\n specialCategory: 'size',\n sort: 3,\n preferedScale: 'vs',\n },\n minHeight: {\n label: 'Min Height',\n description: 'Minimum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 4,\n preferedScale: 'vs',\n },\n maxHeight: {\n label: 'Max Height',\n description: 'Maximum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 5,\n preferedScale: 'vs',\n },\n flex: {\n label: 'Flex',\n description: 'Flex grow factor (e.g. 1 fills available space).',\n category: 'container',\n specialCategory: 'size',\n sort: 6,\n },\n position: {\n label: 'Position',\n description: 'Sets layout positioning mode.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n top: {\n label: 'Top',\n description: 'Offset from the top edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 22,\n preferedScale: 'vs',\n },\n bottom: {\n label: 'Bottom',\n description: 'Offset from the bottom edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 23,\n preferedScale: 'vs',\n },\n left: {\n label: 'Left',\n description: 'Offset from the left edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 24,\n preferedScale: 's',\n },\n right: {\n label: 'Right',\n description: 'Offset from the right edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 25,\n preferedScale: 's',\n },\n zIndex: {\n label: 'Z-Index',\n description: 'Controls stacking order.',\n category: 'container',\n specialCategory: null,\n sort: 26,\n },\n },\n specialCategories: {\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n sort: 1,\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n sort: 2,\n },\n size: {\n label: 'Size',\n description: 'Fixed dimensions.',\n category: 'container',\n sort: 3,\n },\n offset: {\n label: 'Offset',\n description: 'Absolute positioning offsets.',\n category: 'container',\n sort: 4,\n },\n },\n },\n defaults: {\n flexDirection: 'column',\n position: 'relative',\n zIndex: 1,\n fontSize: '24@fs',\n fontWeight: '700',\n textAlign: 'center',\n },\n types: {},\n },\n {\n schemaVersion: 1,\n allowUnknownAttributes: true,\n pattern: {\n type: 'PaywallBackground',\n children: 'never',\n attributes: {\n scrollable: 'boolean',\n flexDirection: ['row', 'column'],\n alignItems: ['flex-start', 'center', 'flex-end', 'stretch', 'baseline'],\n justifyContent: [\n 'flex-start',\n 'center',\n 'flex-end',\n 'space-between',\n 'space-around',\n 'space-evenly',\n ],\n gap: 'size',\n padding: 'size',\n paddingHorizontal: 'size',\n paddingVertical: 'size',\n paddingTop: 'size',\n paddingBottom: 'size',\n paddingLeft: 'size',\n paddingRight: 'size',\n margin: 'size',\n marginVertical: 'size',\n marginTop: 'size',\n marginBottom: 'size',\n marginLeft: 'size',\n marginRight: 'size',\n backgroundColor: 'color',\n borderRadius: 'size',\n width: 'size',\n minWidth: 'size',\n maxWidth: 'size',\n height: 'size',\n minHeight: 'size',\n maxHeight: 'size',\n flex: 'number',\n position: ['relative', 'absolute'],\n top: 'size',\n bottom: 'size',\n left: 'size',\n right: 'size',\n zIndex: 'number',\n },\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n meta: {\n desiredParent: ['>PaywallProvider'],\n label: 'Paywall Background',\n description: 'Paywall Background component.',\n specialCategories: {\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n sort: 1,\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n sort: 2,\n },\n size: {\n label: 'Size',\n description: 'Fixed dimensions.',\n category: 'container',\n sort: 3,\n },\n offset: {\n label: 'Offset',\n description: 'Absolute positioning offsets.',\n category: 'container',\n sort: 4,\n },\n },\n attributes: {\n scrollable: {\n label: 'Scrollable (!!)',\n description: 'THIS FEATURE MIGHT NOT WORK IN MOBILE!',\n category: 'container',\n specialCategory: null,\n sort: -1,\n },\n flexDirection: {\n label: 'Flex Direction',\n description: 'Sets row or column layout.',\n category: 'container',\n specialCategory: null,\n sort: 4,\n },\n alignItems: {\n label: 'Align Items',\n description: 'Controls cross-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n justifyContent: {\n label: 'Justify Content',\n description: 'Controls main-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 5,\n },\n gap: {\n label: 'Gap',\n description: 'Space between children.',\n category: 'container',\n specialCategory: null,\n sort: 10,\n preferedScale: 's',\n },\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n specialCategory: 'padding',\n sort: 6,\n preferedScale: 's',\n },\n paddingHorizontal: {\n label: 'Padding Horizontal',\n description: 'Left and right padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 7,\n preferedScale: 's',\n },\n paddingVertical: {\n label: 'Padding Vertical',\n description: 'Top and bottom padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 8,\n preferedScale: 'vs',\n },\n paddingTop: {\n label: 'Padding Top',\n description: 'Top padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 9,\n preferedScale: 'vs',\n },\n paddingBottom: {\n label: 'Padding Bottom',\n description: 'Bottom padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 10,\n preferedScale: 'vs',\n },\n paddingLeft: {\n label: 'Padding Left',\n description: 'Left padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 11,\n preferedScale: 's',\n },\n paddingRight: {\n label: 'Padding Right',\n description: 'Right padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 12,\n preferedScale: 's',\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n specialCategory: 'margin',\n sort: 13,\n preferedScale: 's',\n },\n marginHorizontal: {\n label: 'Margin Horizontal',\n description: 'Left and right margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 14,\n preferedScale: 's',\n },\n marginVertical: {\n label: 'Margin Vertical',\n description: 'Top and bottom margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 15,\n preferedScale: 'vs',\n },\n marginTop: {\n label: 'Margin Top',\n description: 'Top margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 16,\n preferedScale: 'vs',\n },\n marginBottom: {\n label: 'Margin Bottom',\n description: 'Bottom margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 17,\n preferedScale: 'vs',\n },\n marginLeft: {\n label: 'Margin Left',\n description: 'Left margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 18,\n preferedScale: 's',\n },\n marginRight: {\n label: 'Margin Right',\n description: 'Right margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 19,\n preferedScale: 's',\n },\n backgroundColor: {\n label: 'Background Color',\n description: 'Background fill color.',\n category: 'style',\n specialCategory: null,\n sort: 20,\n },\n borderRadius: {\n label: 'Border Radius',\n description: 'Corner rounding amount.',\n category: 'style',\n specialCategory: null,\n sort: 21,\n preferedScale: 's',\n },\n width: {\n label: 'Width',\n description: 'Fixed width value.',\n category: 'container',\n specialCategory: 'size',\n sort: 0,\n preferedScale: 's',\n },\n minWidth: {\n label: 'Min Width',\n description: 'Minimum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 1,\n preferedScale: 's',\n },\n maxWidth: {\n label: 'Max Width',\n description: 'Maximum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 2,\n preferedScale: 's',\n },\n height: {\n label: 'Height',\n description: 'Fixed height value.',\n category: 'container',\n specialCategory: 'size',\n sort: 3,\n preferedScale: 'vs',\n },\n minHeight: {\n label: 'Min Height',\n description: 'Minimum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 4,\n preferedScale: 'vs',\n },\n maxHeight: {\n label: 'Max Height',\n description: 'Maximum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 5,\n preferedScale: 'vs',\n },\n flex: {\n label: 'Flex',\n description: 'Flex grow factor (e.g. 1 fills available space).',\n category: 'container',\n specialCategory: 'size',\n sort: 6,\n },\n position: {\n label: 'Position',\n description: 'Sets layout positioning mode.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n top: {\n label: 'Top',\n description: 'Offset from the top edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 22,\n preferedScale: 'vs',\n },\n bottom: {\n label: 'Bottom',\n description: 'Offset from the bottom edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 23,\n preferedScale: 'vs',\n },\n left: {\n label: 'Left',\n description: 'Offset from the left edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 24,\n preferedScale: 's',\n },\n right: {\n label: 'Right',\n description: 'Offset from the right edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 25,\n preferedScale: 's',\n },\n zIndex: {\n label: 'Z-Index',\n description: 'Controls stacking order.',\n category: 'container',\n specialCategory: null,\n sort: 26,\n },\n },\n },\n types: {},\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n {\n schemaVersion: 1,\n allowUnknownAttributes: true,\n pattern: {\n type: 'PaywallCloseButton',\n children: 'never',\n attributes: {\n iconType: 'iconType',\n size: 'number',\n strokeWidth: 'number',\n color: 'color',\n fontSize: 'size',\n fontWeight: [\n 'normal',\n 'bold',\n '100',\n '200',\n '300',\n '400',\n '500',\n '600',\n '700',\n '800',\n '900',\n ],\n textAlign: ['left', 'center', 'right', 'justify'],\n scrollable: 'boolean',\n flexDirection: ['row', 'column'],\n alignItems: ['flex-start', 'center', 'flex-end', 'stretch', 'baseline'],\n justifyContent: [\n 'flex-start',\n 'center',\n 'flex-end',\n 'space-between',\n 'space-around',\n 'space-evenly',\n ],\n gap: 'size',\n padding: 'size',\n paddingHorizontal: 'size',\n paddingVertical: 'size',\n paddingTop: 'size',\n paddingBottom: 'size',\n paddingLeft: 'size',\n paddingRight: 'size',\n margin: 'size',\n marginVertical: 'size',\n marginTop: 'size',\n marginBottom: 'size',\n marginLeft: 'size',\n marginRight: 'size',\n backgroundColor: 'color',\n borderRadius: 'size',\n width: 'size',\n minWidth: 'size',\n maxWidth: 'size',\n height: 'size',\n minHeight: 'size',\n maxHeight: 'size',\n flex: 'number',\n position: ['relative', 'absolute'],\n top: 'size',\n bottom: 'size',\n left: 'size',\n right: 'size',\n zIndex: 'number',\n },\n defaults: {\n iconType: 'close',\n size: 24,\n flexDirection: 'row',\n justifyContent: 'center',\n alignItems: 'center',\n },\n },\n meta: {\n desiredParent: ['>PaywallProvider'],\n label: 'Paywall Close Button',\n description: 'Paywall Close Button component.',\n attributes: {\n iconType: {\n label: 'Icon',\n description: 'Which icon to render.',\n category: 'other',\n specialCategory: null,\n sort: 1,\n },\n size: {\n label: 'Size',\n description: 'Icon size (px).',\n category: 'style',\n specialCategory: null,\n sort: 2,\n },\n strokeWidth: {\n label: 'Stroke Width',\n description: 'SVG stroke width override (applied to the icon paths).',\n category: 'style',\n specialCategory: null,\n sort: 3,\n },\n color: {\n label: 'Color',\n description: 'Text color.',\n category: 'style',\n specialCategory: null,\n sort: 1,\n },\n fontSize: {\n label: 'Font Size',\n description: 'Text size.',\n category: 'style',\n specialCategory: null,\n sort: 2,\n preferedScale: 's',\n },\n fontWeight: {\n label: 'Font Weight',\n description: 'Text weight.',\n category: 'style',\n specialCategory: null,\n sort: 3,\n },\n textAlign: {\n label: 'Text Align',\n description: 'Text alignment.',\n category: 'style',\n specialCategory: null,\n sort: 4,\n },\n scrollable: {\n label: 'Scrollable (!!)',\n description: 'THIS FEATURE MIGHT NOT WORK IN MOBILE!',\n category: 'container',\n specialCategory: null,\n sort: -1,\n },\n flexDirection: {\n label: 'Flex Direction',\n description: 'Sets row or column layout.',\n category: 'container',\n specialCategory: null,\n sort: 4,\n },\n alignItems: {\n label: 'Align Items',\n description: 'Controls cross-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n justifyContent: {\n label: 'Justify Content',\n description: 'Controls main-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 5,\n },\n gap: {\n label: 'Gap',\n description: 'Space between children.',\n category: 'container',\n specialCategory: null,\n sort: 10,\n preferedScale: 's',\n },\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n specialCategory: 'padding',\n sort: 6,\n preferedScale: 's',\n },\n paddingHorizontal: {\n label: 'Padding Horizontal',\n description: 'Left and right padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 7,\n preferedScale: 's',\n },\n paddingVertical: {\n label: 'Padding Vertical',\n description: 'Top and bottom padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 8,\n preferedScale: 'vs',\n },\n paddingTop: {\n label: 'Padding Top',\n description: 'Top padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 9,\n preferedScale: 'vs',\n },\n paddingBottom: {\n label: 'Padding Bottom',\n description: 'Bottom padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 10,\n preferedScale: 'vs',\n },\n paddingLeft: {\n label: 'Padding Left',\n description: 'Left padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 11,\n preferedScale: 's',\n },\n paddingRight: {\n label: 'Padding Right',\n description: 'Right padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 12,\n preferedScale: 's',\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n specialCategory: 'margin',\n sort: 13,\n preferedScale: 's',\n },\n marginHorizontal: {\n label: 'Margin Horizontal',\n description: 'Left and right margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 14,\n preferedScale: 's',\n },\n marginVertical: {\n label: 'Margin Vertical',\n description: 'Top and bottom margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 15,\n preferedScale: 'vs',\n },\n marginTop: {\n label: 'Margin Top',\n description: 'Top margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 16,\n preferedScale: 'vs',\n },\n marginBottom: {\n label: 'Margin Bottom',\n description: 'Bottom margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 17,\n preferedScale: 'vs',\n },\n marginLeft: {\n label: 'Margin Left',\n description: 'Left margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 18,\n preferedScale: 's',\n },\n marginRight: {\n label: 'Margin Right',\n description: 'Right margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 19,\n preferedScale: 's',\n },\n backgroundColor: {\n label: 'Background Color',\n description: 'Background fill color.',\n category: 'style',\n specialCategory: null,\n sort: 20,\n },\n borderRadius: {\n label: 'Border Radius',\n description: 'Corner rounding amount.',\n category: 'style',\n specialCategory: null,\n sort: 21,\n preferedScale: 's',\n },\n width: {\n label: 'Width',\n description: 'Fixed width value.',\n category: 'container',\n specialCategory: 'size',\n sort: 0,\n preferedScale: 's',\n },\n minWidth: {\n label: 'Min Width',\n description: 'Minimum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 1,\n preferedScale: 's',\n },\n maxWidth: {\n label: 'Max Width',\n description: 'Maximum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 2,\n preferedScale: 's',\n },\n height: {\n label: 'Height',\n description: 'Fixed height value.',\n category: 'container',\n specialCategory: 'size',\n sort: 3,\n preferedScale: 'vs',\n },\n minHeight: {\n label: 'Min Height',\n description: 'Minimum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 4,\n preferedScale: 'vs',\n },\n maxHeight: {\n label: 'Max Height',\n description: 'Maximum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 5,\n preferedScale: 'vs',\n },\n flex: {\n label: 'Flex',\n description: 'Flex grow factor (e.g. 1 fills available space).',\n category: 'container',\n specialCategory: 'size',\n sort: 6,\n },\n position: {\n label: 'Position',\n description: 'Sets layout positioning mode.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n top: {\n label: 'Top',\n description: 'Offset from the top edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 22,\n preferedScale: 'vs',\n },\n bottom: {\n label: 'Bottom',\n description: 'Offset from the bottom edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 23,\n preferedScale: 'vs',\n },\n left: {\n label: 'Left',\n description: 'Offset from the left edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 24,\n preferedScale: 's',\n },\n right: {\n label: 'Right',\n description: 'Offset from the right edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 25,\n preferedScale: 's',\n },\n zIndex: {\n label: 'Z-Index',\n description: 'Controls stacking order.',\n category: 'container',\n specialCategory: null,\n sort: 26,\n },\n },\n specialCategories: {\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n sort: 1,\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n sort: 2,\n },\n size: {\n label: 'Size',\n description: 'Fixed dimensions.',\n category: 'container',\n sort: 3,\n },\n offset: {\n label: 'Offset',\n description: 'Absolute positioning offsets.',\n category: 'container',\n sort: 4,\n },\n },\n },\n types: {},\n defaults: {\n iconType: 'close',\n size: 24,\n flexDirection: 'row',\n justifyContent: 'center',\n alignItems: 'center',\n fontSize: '16',\n strokeWidth: 1.5,\n position: 'relative',\n zIndex: 1,\n },\n },\n {\n schemaVersion: 1,\n allowUnknownAttributes: true,\n pattern: {\n type: 'PaywallOptions',\n children: ['node', 'array'],\n attributes: {\n scrollable: 'boolean',\n flexDirection: ['row', 'column'],\n alignItems: ['flex-start', 'center', 'flex-end', 'stretch', 'baseline'],\n justifyContent: [\n 'flex-start',\n 'center',\n 'flex-end',\n 'space-between',\n 'space-around',\n 'space-evenly',\n ],\n gap: 'size',\n padding: 'size',\n paddingHorizontal: 'size',\n paddingVertical: 'size',\n paddingTop: 'size',\n paddingBottom: 'size',\n paddingLeft: 'size',\n paddingRight: 'size',\n margin: 'size',\n marginVertical: 'size',\n marginTop: 'size',\n marginBottom: 'size',\n marginLeft: 'size',\n marginRight: 'size',\n backgroundColor: 'color',\n borderRadius: 'size',\n width: 'size',\n minWidth: 'size',\n maxWidth: 'size',\n height: 'size',\n minHeight: 'size',\n maxHeight: 'size',\n flex: 'number',\n position: ['relative', 'absolute'],\n top: 'size',\n bottom: 'size',\n left: 'size',\n right: 'size',\n zIndex: 'number',\n },\n defaults: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'center',\n minHeight: '60px',\n },\n },\n meta: {\n desiredParent: ['>PaywallProvider'],\n label: 'Paywall Options',\n description: 'Paywall options selector component.',\n specialCategories: {\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n sort: 1,\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n sort: 2,\n },\n size: {\n label: 'Size',\n description: 'Fixed dimensions.',\n category: 'container',\n sort: 3,\n },\n offset: {\n label: 'Offset',\n description: 'Absolute positioning offsets.',\n category: 'container',\n sort: 4,\n },\n },\n attributes: {\n scrollable: {\n label: 'Scrollable (!!)',\n description: 'THIS FEATURE MIGHT NOT WORK IN MOBILE!',\n category: 'container',\n specialCategory: null,\n sort: -1,\n },\n flexDirection: {\n label: 'Flex Direction',\n description: 'Sets row or column layout.',\n category: 'container',\n specialCategory: null,\n sort: 4,\n },\n alignItems: {\n label: 'Align Items',\n description: 'Controls cross-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n justifyContent: {\n label: 'Justify Content',\n description: 'Controls main-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 5,\n },\n gap: {\n label: 'Gap',\n description: 'Space between children.',\n category: 'container',\n specialCategory: null,\n sort: 10,\n preferedScale: 's',\n },\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n specialCategory: 'padding',\n sort: 6,\n preferedScale: 's',\n },\n paddingHorizontal: {\n label: 'Padding Horizontal',\n description: 'Left and right padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 7,\n preferedScale: 's',\n },\n paddingVertical: {\n label: 'Padding Vertical',\n description: 'Top and bottom padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 8,\n preferedScale: 'vs',\n },\n paddingTop: {\n label: 'Padding Top',\n description: 'Top padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 9,\n preferedScale: 'vs',\n },\n paddingBottom: {\n label: 'Padding Bottom',\n description: 'Bottom padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 10,\n preferedScale: 'vs',\n },\n paddingLeft: {\n label: 'Padding Left',\n description: 'Left padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 11,\n preferedScale: 's',\n },\n paddingRight: {\n label: 'Padding Right',\n description: 'Right padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 12,\n preferedScale: 's',\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n specialCategory: 'margin',\n sort: 13,\n preferedScale: 's',\n },\n marginHorizontal: {\n label: 'Margin Horizontal',\n description: 'Left and right margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 14,\n preferedScale: 's',\n },\n marginVertical: {\n label: 'Margin Vertical',\n description: 'Top and bottom margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 15,\n preferedScale: 'vs',\n },\n marginTop: {\n label: 'Margin Top',\n description: 'Top margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 16,\n preferedScale: 'vs',\n },\n marginBottom: {\n label: 'Margin Bottom',\n description: 'Bottom margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 17,\n preferedScale: 'vs',\n },\n marginLeft: {\n label: 'Margin Left',\n description: 'Left margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 18,\n preferedScale: 's',\n },\n marginRight: {\n label: 'Margin Right',\n description: 'Right margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 19,\n preferedScale: 's',\n },\n backgroundColor: {\n label: 'Background Color',\n description: 'Background fill color.',\n category: 'style',\n specialCategory: null,\n sort: 20,\n },\n borderRadius: {\n label: 'Border Radius',\n description: 'Corner rounding amount.',\n category: 'style',\n specialCategory: null,\n sort: 21,\n preferedScale: 's',\n },\n width: {\n label: 'Width',\n description: 'Fixed width value.',\n category: 'container',\n specialCategory: 'size',\n sort: 0,\n preferedScale: 's',\n },\n minWidth: {\n label: 'Min Width',\n description: 'Minimum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 1,\n preferedScale: 's',\n },\n maxWidth: {\n label: 'Max Width',\n description: 'Maximum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 2,\n preferedScale: 's',\n },\n height: {\n label: 'Height',\n description: 'Fixed height value.',\n category: 'container',\n specialCategory: 'size',\n sort: 3,\n preferedScale: 'vs',\n },\n minHeight: {\n label: 'Min Height',\n description: 'Minimum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 4,\n preferedScale: 'vs',\n },\n maxHeight: {\n label: 'Max Height',\n description: 'Maximum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 5,\n preferedScale: 'vs',\n },\n flex: {\n label: 'Flex',\n description: 'Flex grow factor (e.g. 1 fills available space).',\n category: 'container',\n specialCategory: 'size',\n sort: 6,\n },\n position: {\n label: 'Position',\n description: 'Sets layout positioning mode.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n top: {\n label: 'Top',\n description: 'Offset from the top edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 22,\n preferedScale: 'vs',\n },\n bottom: {\n label: 'Bottom',\n description: 'Offset from the bottom edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 23,\n preferedScale: 'vs',\n },\n left: {\n label: 'Left',\n description: 'Offset from the left edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 24,\n preferedScale: 's',\n },\n right: {\n label: 'Right',\n description: 'Offset from the right edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 25,\n preferedScale: 's',\n },\n zIndex: {\n label: 'Z-Index',\n description: 'Controls stacking order.',\n category: 'container',\n specialCategory: null,\n sort: 26,\n },\n },\n },\n types: {},\n defaults: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'center',\n minHeight: '60px',\n position: 'relative',\n zIndex: 1,\n },\n },\n {\n schemaVersion: 1,\n allowUnknownAttributes: true,\n pattern: {\n type: 'PaywallProvider',\n children: ['node', 'array'],\n attributes: {\n scrollable: 'boolean',\n flexDirection: ['row', 'column'],\n alignItems: ['flex-start', 'center', 'flex-end', 'stretch', 'baseline'],\n justifyContent: [\n 'flex-start',\n 'center',\n 'flex-end',\n 'space-between',\n 'space-around',\n 'space-evenly',\n ],\n gap: 'size',\n padding: 'size',\n paddingHorizontal: 'size',\n paddingVertical: 'size',\n paddingTop: 'size',\n paddingBottom: 'size',\n paddingLeft: 'size',\n paddingRight: 'size',\n margin: 'size',\n marginVertical: 'size',\n marginTop: 'size',\n marginBottom: 'size',\n marginLeft: 'size',\n marginRight: 'size',\n backgroundColor: 'color',\n borderRadius: 'size',\n width: 'size',\n minWidth: 'size',\n maxWidth: 'size',\n height: 'size',\n minHeight: 'size',\n maxHeight: 'size',\n flex: 'number',\n position: ['relative', 'absolute'],\n top: 'size',\n bottom: 'size',\n left: 'size',\n right: 'size',\n zIndex: 'number',\n },\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n meta: {\n desiredParent: ['all'],\n label: 'Paywall Provider',\n description: 'Provider/wrapper for paywall screen components.',\n specialCategories: {\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n sort: 1,\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n sort: 2,\n },\n size: {\n label: 'Size',\n description: 'Fixed dimensions.',\n category: 'container',\n sort: 3,\n },\n offset: {\n label: 'Offset',\n description: 'Absolute positioning offsets.',\n category: 'container',\n sort: 4,\n },\n },\n attributes: {\n scrollable: {\n label: 'Scrollable (!!)',\n description: 'THIS FEATURE MIGHT NOT WORK IN MOBILE!',\n category: 'container',\n specialCategory: null,\n sort: -1,\n },\n flexDirection: {\n label: 'Flex Direction',\n description: 'Sets row or column layout.',\n category: 'container',\n specialCategory: null,\n sort: 4,\n },\n alignItems: {\n label: 'Align Items',\n description: 'Controls cross-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n justifyContent: {\n label: 'Justify Content',\n description: 'Controls main-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 5,\n },\n gap: {\n label: 'Gap',\n description: 'Space between children.',\n category: 'container',\n specialCategory: null,\n sort: 10,\n preferedScale: 's',\n },\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n specialCategory: 'padding',\n sort: 6,\n preferedScale: 's',\n },\n paddingHorizontal: {\n label: 'Padding Horizontal',\n description: 'Left and right padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 7,\n preferedScale: 's',\n },\n paddingVertical: {\n label: 'Padding Vertical',\n description: 'Top and bottom padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 8,\n preferedScale: 'vs',\n },\n paddingTop: {\n label: 'Padding Top',\n description: 'Top padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 9,\n preferedScale: 'vs',\n },\n paddingBottom: {\n label: 'Padding Bottom',\n description: 'Bottom padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 10,\n preferedScale: 'vs',\n },\n paddingLeft: {\n label: 'Padding Left',\n description: 'Left padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 11,\n preferedScale: 's',\n },\n paddingRight: {\n label: 'Padding Right',\n description: 'Right padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 12,\n preferedScale: 's',\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n specialCategory: 'margin',\n sort: 13,\n preferedScale: 's',\n },\n marginHorizontal: {\n label: 'Margin Horizontal',\n description: 'Left and right margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 14,\n preferedScale: 's',\n },\n marginVertical: {\n label: 'Margin Vertical',\n description: 'Top and bottom margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 15,\n preferedScale: 'vs',\n },\n marginTop: {\n label: 'Margin Top',\n description: 'Top margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 16,\n preferedScale: 'vs',\n },\n marginBottom: {\n label: 'Margin Bottom',\n description: 'Bottom margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 17,\n preferedScale: 'vs',\n },\n marginLeft: {\n label: 'Margin Left',\n description: 'Left margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 18,\n preferedScale: 's',\n },\n marginRight: {\n label: 'Margin Right',\n description: 'Right margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 19,\n preferedScale: 's',\n },\n backgroundColor: {\n label: 'Background Color',\n description: 'Background fill color.',\n category: 'style',\n specialCategory: null,\n sort: 20,\n },\n borderRadius: {\n label: 'Border Radius',\n description: 'Corner rounding amount.',\n category: 'style',\n specialCategory: null,\n sort: 21,\n preferedScale: 's',\n },\n width: {\n label: 'Width',\n description: 'Fixed width value.',\n category: 'container',\n specialCategory: 'size',\n sort: 0,\n preferedScale: 's',\n },\n minWidth: {\n label: 'Min Width',\n description: 'Minimum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 1,\n preferedScale: 's',\n },\n maxWidth: {\n label: 'Max Width',\n description: 'Maximum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 2,\n preferedScale: 's',\n },\n height: {\n label: 'Height',\n description: 'Fixed height value.',\n category: 'container',\n specialCategory: 'size',\n sort: 3,\n preferedScale: 'vs',\n },\n minHeight: {\n label: 'Min Height',\n description: 'Minimum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 4,\n preferedScale: 'vs',\n },\n maxHeight: {\n label: 'Max Height',\n description: 'Maximum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 5,\n preferedScale: 'vs',\n },\n flex: {\n label: 'Flex',\n description: 'Flex grow factor (e.g. 1 fills available space).',\n category: 'container',\n specialCategory: 'size',\n sort: 6,\n },\n position: {\n label: 'Position',\n description: 'Sets layout positioning mode.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n top: {\n label: 'Top',\n description: 'Offset from the top edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 22,\n preferedScale: 'vs',\n },\n bottom: {\n label: 'Bottom',\n description: 'Offset from the bottom edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 23,\n preferedScale: 'vs',\n },\n left: {\n label: 'Left',\n description: 'Offset from the left edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 24,\n preferedScale: 's',\n },\n right: {\n label: 'Right',\n description: 'Offset from the right edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 25,\n preferedScale: 's',\n },\n zIndex: {\n label: 'Z-Index',\n description: 'Controls stacking order.',\n category: 'container',\n specialCategory: null,\n sort: 26,\n },\n },\n mockableFeatures: { products: true, benefits: true },\n },\n defaults: {\n flexDirection: 'column',\n position: 'relative',\n zIndex: 1,\n width: '100%',\n height: '100%',\n },\n types: {},\n },\n {\n schemaVersion: 1,\n allowUnknownAttributes: false,\n pattern: {\n type: 'PaywallSubscribeButton',\n children: 'string',\n attributes: {\n color: 'color',\n fontSize: 'size',\n fontWeight: [\n 'normal',\n 'bold',\n '100',\n '200',\n '300',\n '400',\n '500',\n '600',\n '700',\n '800',\n '900',\n ],\n scrollable: 'boolean',\n flexDirection: ['row', 'column'],\n alignItems: ['flex-start', 'center', 'flex-end', 'stretch', 'baseline'],\n justifyContent: [\n 'flex-start',\n 'center',\n 'flex-end',\n 'space-between',\n 'space-around',\n 'space-evenly',\n ],\n gap: 'size',\n padding: 'size',\n paddingHorizontal: 'size',\n paddingVertical: 'size',\n paddingTop: 'size',\n paddingBottom: 'size',\n paddingLeft: 'size',\n paddingRight: 'size',\n margin: 'size',\n marginVertical: 'size',\n marginTop: 'size',\n marginBottom: 'size',\n marginLeft: 'size',\n marginRight: 'size',\n backgroundColor: 'color',\n borderRadius: 'size',\n width: 'size',\n minWidth: 'size',\n maxWidth: 'size',\n height: 'size',\n minHeight: 'size',\n maxHeight: 'size',\n flex: 'number',\n position: ['relative', 'absolute'],\n top: 'size',\n bottom: 'size',\n left: 'size',\n right: 'size',\n zIndex: 'number',\n },\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n meta: {\n desiredParent: ['>PaywallProvider'],\n label: 'Paywall Subscribe Button',\n description: 'Paywall subscribe call-to-action button. Extends Button.',\n attributes: {\n color: {\n label: 'Color',\n description: 'Text color of the button.',\n category: 'style',\n specialCategory: null,\n sort: 1,\n },\n fontSize: {\n label: 'Font Size',\n description: 'Text size of the button.',\n category: 'style',\n specialCategory: null,\n sort: 2,\n },\n fontWeight: {\n label: 'Font Weight',\n description: 'Text weight of the button.',\n category: 'style',\n specialCategory: null,\n sort: 3,\n },\n scrollable: {\n label: 'Scrollable (!!)',\n description: 'THIS FEATURE MIGHT NOT WORK IN MOBILE!',\n category: 'container',\n specialCategory: null,\n sort: -1,\n },\n flexDirection: {\n label: 'Flex Direction',\n description: 'Sets row or column layout.',\n category: 'container',\n specialCategory: null,\n sort: 4,\n },\n alignItems: {\n label: 'Align Items',\n description: 'Controls cross-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n justifyContent: {\n label: 'Justify Content',\n description: 'Controls main-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 5,\n },\n gap: {\n label: 'Gap',\n description: 'Space between children.',\n category: 'container',\n specialCategory: null,\n sort: 10,\n preferedScale: 's',\n },\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n specialCategory: 'padding',\n sort: 6,\n preferedScale: 's',\n },\n paddingHorizontal: {\n label: 'Padding Horizontal',\n description: 'Left and right padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 7,\n preferedScale: 's',\n },\n paddingVertical: {\n label: 'Padding Vertical',\n description: 'Top and bottom padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 8,\n preferedScale: 'vs',\n },\n paddingTop: {\n label: 'Padding Top',\n description: 'Top padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 9,\n preferedScale: 'vs',\n },\n paddingBottom: {\n label: 'Padding Bottom',\n description: 'Bottom padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 10,\n preferedScale: 'vs',\n },\n paddingLeft: {\n label: 'Padding Left',\n description: 'Left padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 11,\n preferedScale: 's',\n },\n paddingRight: {\n label: 'Padding Right',\n description: 'Right padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 12,\n preferedScale: 's',\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n specialCategory: 'margin',\n sort: 13,\n preferedScale: 's',\n },\n marginHorizontal: {\n label: 'Margin Horizontal',\n description: 'Left and right margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 14,\n preferedScale: 's',\n },\n marginVertical: {\n label: 'Margin Vertical',\n description: 'Top and bottom margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 15,\n preferedScale: 'vs',\n },\n marginTop: {\n label: 'Margin Top',\n description: 'Top margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 16,\n preferedScale: 'vs',\n },\n marginBottom: {\n label: 'Margin Bottom',\n description: 'Bottom margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 17,\n preferedScale: 'vs',\n },\n marginLeft: {\n label: 'Margin Left',\n description: 'Left margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 18,\n preferedScale: 's',\n },\n marginRight: {\n label: 'Margin Right',\n description: 'Right margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 19,\n preferedScale: 's',\n },\n backgroundColor: {\n label: 'Background Color',\n description: 'Background fill color.',\n category: 'style',\n specialCategory: null,\n sort: 20,\n },\n borderRadius: {\n label: 'Border Radius',\n description: 'Corner rounding amount.',\n category: 'style',\n specialCategory: null,\n sort: 21,\n preferedScale: 's',\n },\n width: {\n label: 'Width',\n description: 'Fixed width value.',\n category: 'container',\n specialCategory: 'size',\n sort: 0,\n preferedScale: 's',\n },\n minWidth: {\n label: 'Min Width',\n description: 'Minimum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 1,\n preferedScale: 's',\n },\n maxWidth: {\n label: 'Max Width',\n description: 'Maximum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 2,\n preferedScale: 's',\n },\n height: {\n label: 'Height',\n description: 'Fixed height value.',\n category: 'container',\n specialCategory: 'size',\n sort: 3,\n preferedScale: 'vs',\n },\n minHeight: {\n label: 'Min Height',\n description: 'Minimum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 4,\n preferedScale: 'vs',\n },\n maxHeight: {\n label: 'Max Height',\n description: 'Maximum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 5,\n preferedScale: 'vs',\n },\n flex: {\n label: 'Flex',\n description: 'Flex grow factor (e.g. 1 fills available space).',\n category: 'container',\n specialCategory: 'size',\n sort: 6,\n },\n position: {\n label: 'Position',\n description: 'Sets layout positioning mode.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n top: {\n label: 'Top',\n description: 'Offset from the top edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 22,\n preferedScale: 'vs',\n },\n bottom: {\n label: 'Bottom',\n description: 'Offset from the bottom edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 23,\n preferedScale: 'vs',\n },\n left: {\n label: 'Left',\n description: 'Offset from the left edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 24,\n preferedScale: 's',\n },\n right: {\n label: 'Right',\n description: 'Offset from the right edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 25,\n preferedScale: 's',\n },\n zIndex: {\n label: 'Z-Index',\n description: 'Controls stacking order.',\n category: 'container',\n specialCategory: null,\n sort: 26,\n },\n },\n specialCategories: {\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n sort: 1,\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n sort: 2,\n },\n size: {\n label: 'Size',\n description: 'Fixed dimensions.',\n category: 'container',\n sort: 3,\n },\n offset: {\n label: 'Offset',\n description: 'Absolute positioning offsets.',\n category: 'container',\n sort: 4,\n },\n },\n },\n defaults: {\n flexDirection: 'column',\n position: 'relative',\n zIndex: 1,\n backgroundColor: '#6495ED',\n paddingHorizontal: '20@s',\n paddingVertical: '12@vs',\n borderRadius: '12@s',\n color: '#FFFFFF',\n fontSize: '16@fs',\n fontWeight: '700',\n justifyContent: 'center',\n alignItems: 'center',\n },\n types: {},\n },\n {\n schemaVersion: 1,\n allowUnknownAttributes: true,\n pattern: {\n type: 'RadioButton',\n children: 'never',\n attributes: {\n scrollable: 'boolean',\n flexDirection: ['row', 'column'],\n alignItems: ['flex-start', 'center', 'flex-end', 'stretch', 'baseline'],\n justifyContent: [\n 'flex-start',\n 'center',\n 'flex-end',\n 'space-between',\n 'space-around',\n 'space-evenly',\n ],\n gap: 'size',\n padding: 'size',\n paddingHorizontal: 'size',\n paddingVertical: 'size',\n paddingTop: 'size',\n paddingBottom: 'size',\n paddingLeft: 'size',\n paddingRight: 'size',\n margin: 'size',\n marginVertical: 'size',\n marginTop: 'size',\n marginBottom: 'size',\n marginLeft: 'size',\n marginRight: 'size',\n backgroundColor: 'color',\n borderRadius: 'size',\n width: 'size',\n minWidth: 'size',\n maxWidth: 'size',\n height: 'size',\n minHeight: 'size',\n maxHeight: 'size',\n flex: 'number',\n position: ['relative', 'absolute'],\n top: 'size',\n bottom: 'size',\n left: 'size',\n right: 'size',\n zIndex: 'number',\n selected: 'boolean',\n color: 'color',\n size: 'number',\n },\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n meta: {\n desiredParent: ['all'],\n label: 'Radio Button',\n description: 'Generic radio button icon.',\n specialCategories: {\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n sort: 1,\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n sort: 2,\n },\n size: {\n label: 'Size',\n description: 'Fixed dimensions.',\n category: 'container',\n sort: 3,\n },\n offset: {\n label: 'Offset',\n description: 'Absolute positioning offsets.',\n category: 'container',\n sort: 4,\n },\n },\n attributes: {\n scrollable: {\n label: 'Scrollable (!!)',\n description: 'THIS FEATURE MIGHT NOT WORK IN MOBILE!',\n category: 'container',\n specialCategory: null,\n sort: -1,\n },\n flexDirection: {\n label: 'Flex Direction',\n description: 'Sets row or column layout.',\n category: 'container',\n specialCategory: null,\n sort: 4,\n },\n alignItems: {\n label: 'Align Items',\n description: 'Controls cross-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n justifyContent: {\n label: 'Justify Content',\n description: 'Controls main-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 5,\n },\n gap: {\n label: 'Gap',\n description: 'Space between children.',\n category: 'container',\n specialCategory: null,\n sort: 10,\n preferedScale: 's',\n },\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n specialCategory: 'padding',\n sort: 6,\n preferedScale: 's',\n },\n paddingHorizontal: {\n label: 'Padding Horizontal',\n description: 'Left and right padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 7,\n preferedScale: 's',\n },\n paddingVertical: {\n label: 'Padding Vertical',\n description: 'Top and bottom padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 8,\n preferedScale: 'vs',\n },\n paddingTop: {\n label: 'Padding Top',\n description: 'Top padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 9,\n preferedScale: 'vs',\n },\n paddingBottom: {\n label: 'Padding Bottom',\n description: 'Bottom padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 10,\n preferedScale: 'vs',\n },\n paddingLeft: {\n label: 'Padding Left',\n description: 'Left padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 11,\n preferedScale: 's',\n },\n paddingRight: {\n label: 'Padding Right',\n description: 'Right padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 12,\n preferedScale: 's',\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n specialCategory: 'margin',\n sort: 13,\n preferedScale: 's',\n },\n marginHorizontal: {\n label: 'Margin Horizontal',\n description: 'Left and right margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 14,\n preferedScale: 's',\n },\n marginVertical: {\n label: 'Margin Vertical',\n description: 'Top and bottom margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 15,\n preferedScale: 'vs',\n },\n marginTop: {\n label: 'Margin Top',\n description: 'Top margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 16,\n preferedScale: 'vs',\n },\n marginBottom: {\n label: 'Margin Bottom',\n description: 'Bottom margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 17,\n preferedScale: 'vs',\n },\n marginLeft: {\n label: 'Margin Left',\n description: 'Left margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 18,\n preferedScale: 's',\n },\n marginRight: {\n label: 'Margin Right',\n description: 'Right margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 19,\n preferedScale: 's',\n },\n backgroundColor: {\n label: 'Background Color',\n description: 'Background fill color.',\n category: 'style',\n specialCategory: null,\n sort: 20,\n },\n borderRadius: {\n label: 'Border Radius',\n description: 'Corner rounding amount.',\n category: 'style',\n specialCategory: null,\n sort: 21,\n preferedScale: 's',\n },\n width: {\n label: 'Width',\n description: 'Fixed width value.',\n category: 'container',\n specialCategory: 'size',\n sort: 0,\n preferedScale: 's',\n },\n minWidth: {\n label: 'Min Width',\n description: 'Minimum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 1,\n preferedScale: 's',\n },\n maxWidth: {\n label: 'Max Width',\n description: 'Maximum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 2,\n preferedScale: 's',\n },\n height: {\n label: 'Height',\n description: 'Fixed height value.',\n category: 'container',\n specialCategory: 'size',\n sort: 3,\n preferedScale: 'vs',\n },\n minHeight: {\n label: 'Min Height',\n description: 'Minimum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 4,\n preferedScale: 'vs',\n },\n maxHeight: {\n label: 'Max Height',\n description: 'Maximum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 5,\n preferedScale: 'vs',\n },\n flex: {\n label: 'Flex',\n description: 'Flex grow factor (e.g. 1 fills available space).',\n category: 'container',\n specialCategory: 'size',\n sort: 6,\n },\n position: {\n label: 'Position',\n description: 'Sets layout positioning mode.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n top: {\n label: 'Top',\n description: 'Offset from the top edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 22,\n preferedScale: 'vs',\n },\n bottom: {\n label: 'Bottom',\n description: 'Offset from the bottom edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 23,\n preferedScale: 'vs',\n },\n left: {\n label: 'Left',\n description: 'Offset from the left edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 24,\n preferedScale: 's',\n },\n right: {\n label: 'Right',\n description: 'Offset from the right edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 25,\n preferedScale: 's',\n },\n zIndex: {\n label: 'Z-Index',\n description: 'Controls stacking order.',\n category: 'container',\n specialCategory: null,\n sort: 26,\n },\n selected: {\n label: 'Selected',\n description: 'Whether the radio is selected.',\n category: 'other',\n specialCategory: null,\n sort: 0,\n },\n color: {\n label: 'Color',\n description: 'Radio color.',\n category: 'style',\n specialCategory: null,\n sort: 1,\n },\n size: {\n label: 'Size',\n description: 'Radio size in px.',\n category: 'style',\n specialCategory: null,\n sort: 2,\n },\n },\n },\n types: {},\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n {\n schemaVersion: 1,\n allowUnknownAttributes: false,\n pattern: {\n type: 'Text',\n children: 'string',\n attributes: {\n scrollable: 'boolean',\n flexDirection: ['row', 'column'],\n alignItems: ['flex-start', 'center', 'flex-end', 'stretch', 'baseline'],\n justifyContent: [\n 'flex-start',\n 'center',\n 'flex-end',\n 'space-between',\n 'space-around',\n 'space-evenly',\n ],\n gap: 'size',\n padding: 'size',\n paddingHorizontal: 'size',\n paddingVertical: 'size',\n paddingTop: 'size',\n paddingBottom: 'size',\n paddingLeft: 'size',\n paddingRight: 'size',\n margin: 'size',\n marginVertical: 'size',\n marginTop: 'size',\n marginBottom: 'size',\n marginLeft: 'size',\n marginRight: 'size',\n backgroundColor: 'color',\n borderRadius: 'size',\n width: 'size',\n minWidth: 'size',\n maxWidth: 'size',\n height: 'size',\n minHeight: 'size',\n maxHeight: 'size',\n flex: 'number',\n position: ['relative', 'absolute'],\n top: 'size',\n bottom: 'size',\n left: 'size',\n right: 'size',\n zIndex: 'number',\n color: 'color',\n fontSize: 'size',\n fontWeight: [\n 'normal',\n 'bold',\n '100',\n '200',\n '300',\n '400',\n '500',\n '600',\n '700',\n '800',\n '900',\n ],\n textAlign: ['left', 'center', 'right', 'justify'],\n },\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n meta: {\n desiredParent: ['all'],\n label: 'Text',\n description: 'Displays simple text.',\n specialCategories: {\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n sort: 1,\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n sort: 2,\n },\n size: {\n label: 'Size',\n description: 'Fixed dimensions.',\n category: 'container',\n sort: 3,\n },\n offset: {\n label: 'Offset',\n description: 'Absolute positioning offsets.',\n category: 'container',\n sort: 4,\n },\n },\n attributes: {\n scrollable: {\n label: 'Scrollable (!!)',\n description: 'THIS FEATURE MIGHT NOT WORK IN MOBILE!',\n category: 'container',\n specialCategory: null,\n sort: -1,\n },\n flexDirection: {\n label: 'Flex Direction',\n description: 'Sets row or column layout.',\n category: 'container',\n specialCategory: null,\n sort: 4,\n },\n alignItems: {\n label: 'Align Items',\n description: 'Controls cross-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n justifyContent: {\n label: 'Justify Content',\n description: 'Controls main-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 5,\n },\n gap: {\n label: 'Gap',\n description: 'Space between children.',\n category: 'container',\n specialCategory: null,\n sort: 10,\n preferedScale: 's',\n },\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n specialCategory: 'padding',\n sort: 6,\n preferedScale: 's',\n },\n paddingHorizontal: {\n label: 'Padding Horizontal',\n description: 'Left and right padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 7,\n preferedScale: 's',\n },\n paddingVertical: {\n label: 'Padding Vertical',\n description: 'Top and bottom padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 8,\n preferedScale: 'vs',\n },\n paddingTop: {\n label: 'Padding Top',\n description: 'Top padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 9,\n preferedScale: 'vs',\n },\n paddingBottom: {\n label: 'Padding Bottom',\n description: 'Bottom padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 10,\n preferedScale: 'vs',\n },\n paddingLeft: {\n label: 'Padding Left',\n description: 'Left padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 11,\n preferedScale: 's',\n },\n paddingRight: {\n label: 'Padding Right',\n description: 'Right padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 12,\n preferedScale: 's',\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n specialCategory: 'margin',\n sort: 13,\n preferedScale: 's',\n },\n marginHorizontal: {\n label: 'Margin Horizontal',\n description: 'Left and right margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 14,\n preferedScale: 's',\n },\n marginVertical: {\n label: 'Margin Vertical',\n description: 'Top and bottom margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 15,\n preferedScale: 'vs',\n },\n marginTop: {\n label: 'Margin Top',\n description: 'Top margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 16,\n preferedScale: 'vs',\n },\n marginBottom: {\n label: 'Margin Bottom',\n description: 'Bottom margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 17,\n preferedScale: 'vs',\n },\n marginLeft: {\n label: 'Margin Left',\n description: 'Left margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 18,\n preferedScale: 's',\n },\n marginRight: {\n label: 'Margin Right',\n description: 'Right margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 19,\n preferedScale: 's',\n },\n backgroundColor: {\n label: 'Background Color',\n description: 'Background fill color.',\n category: 'style',\n specialCategory: null,\n sort: 20,\n },\n borderRadius: {\n label: 'Border Radius',\n description: 'Corner rounding amount.',\n category: 'style',\n specialCategory: null,\n sort: 21,\n preferedScale: 's',\n },\n width: {\n label: 'Width',\n description: 'Fixed width value.',\n category: 'container',\n specialCategory: 'size',\n sort: 0,\n preferedScale: 's',\n },\n minWidth: {\n label: 'Min Width',\n description: 'Minimum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 1,\n preferedScale: 's',\n },\n maxWidth: {\n label: 'Max Width',\n description: 'Maximum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 2,\n preferedScale: 's',\n },\n height: {\n label: 'Height',\n description: 'Fixed height value.',\n category: 'container',\n specialCategory: 'size',\n sort: 3,\n preferedScale: 'vs',\n },\n minHeight: {\n label: 'Min Height',\n description: 'Minimum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 4,\n preferedScale: 'vs',\n },\n maxHeight: {\n label: 'Max Height',\n description: 'Maximum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 5,\n preferedScale: 'vs',\n },\n flex: {\n label: 'Flex',\n description: 'Flex grow factor (e.g. 1 fills available space).',\n category: 'container',\n specialCategory: 'size',\n sort: 6,\n },\n position: {\n label: 'Position',\n description: 'Sets layout positioning mode.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n top: {\n label: 'Top',\n description: 'Offset from the top edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 22,\n preferedScale: 'vs',\n },\n bottom: {\n label: 'Bottom',\n description: 'Offset from the bottom edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 23,\n preferedScale: 'vs',\n },\n left: {\n label: 'Left',\n description: 'Offset from the left edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 24,\n preferedScale: 's',\n },\n right: {\n label: 'Right',\n description: 'Offset from the right edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 25,\n preferedScale: 's',\n },\n zIndex: {\n label: 'Z-Index',\n description: 'Controls stacking order.',\n category: 'container',\n specialCategory: null,\n sort: 26,\n },\n color: {\n label: 'Color',\n description: 'Text color.',\n category: 'style',\n specialCategory: null,\n sort: 1,\n },\n fontSize: {\n label: 'Font Size',\n description: 'Text size.',\n category: 'style',\n specialCategory: null,\n sort: 2,\n preferedScale: 's',\n },\n fontWeight: {\n label: 'Font Weight',\n description: 'Text weight.',\n category: 'style',\n specialCategory: null,\n sort: 3,\n },\n textAlign: {\n label: 'Text Align',\n description: 'Text alignment.',\n category: 'style',\n specialCategory: null,\n sort: 4,\n },\n },\n },\n types: {},\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n {\n schemaVersion: 1,\n allowUnknownAttributes: false,\n pattern: {\n type: 'View',\n children: ['node', 'array'],\n attributes: {\n scrollable: 'boolean',\n flexDirection: ['row', 'column'],\n alignItems: ['flex-start', 'center', 'flex-end', 'stretch', 'baseline'],\n justifyContent: [\n 'flex-start',\n 'center',\n 'flex-end',\n 'space-between',\n 'space-around',\n 'space-evenly',\n ],\n gap: 'size',\n padding: 'size',\n paddingHorizontal: 'size',\n paddingVertical: 'size',\n paddingTop: 'size',\n paddingBottom: 'size',\n paddingLeft: 'size',\n paddingRight: 'size',\n margin: 'size',\n marginVertical: 'size',\n marginTop: 'size',\n marginBottom: 'size',\n marginLeft: 'size',\n marginRight: 'size',\n backgroundColor: 'color',\n borderRadius: 'size',\n width: 'size',\n minWidth: 'size',\n maxWidth: 'size',\n height: 'size',\n minHeight: 'size',\n maxHeight: 'size',\n flex: 'number',\n position: ['relative', 'absolute'],\n top: 'size',\n bottom: 'size',\n left: 'size',\n right: 'size',\n zIndex: 'number',\n },\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n meta: {\n desiredParent: ['all'],\n label: 'View',\n description: 'Base layout container.',\n specialCategories: {\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n sort: 1,\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n sort: 2,\n },\n size: {\n label: 'Size',\n description: 'Fixed dimensions.',\n category: 'container',\n sort: 3,\n },\n offset: {\n label: 'Offset',\n description: 'Absolute positioning offsets.',\n category: 'container',\n sort: 4,\n },\n },\n attributes: {\n scrollable: {\n label: 'Scrollable (!!)',\n description: 'THIS FEATURE MIGHT NOT WORK IN MOBILE!',\n category: 'container',\n specialCategory: null,\n sort: -1,\n },\n flexDirection: {\n label: 'Flex Direction',\n description: 'Sets row or column layout.',\n category: 'container',\n specialCategory: null,\n sort: 4,\n },\n alignItems: {\n label: 'Align Items',\n description: 'Controls cross-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n justifyContent: {\n label: 'Justify Content',\n description: 'Controls main-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 5,\n },\n gap: {\n label: 'Gap',\n description: 'Space between children.',\n category: 'container',\n specialCategory: null,\n sort: 10,\n preferedScale: 's',\n },\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n specialCategory: 'padding',\n sort: 6,\n preferedScale: 's',\n },\n paddingHorizontal: {\n label: 'Padding Horizontal',\n description: 'Left and right padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 7,\n preferedScale: 's',\n },\n paddingVertical: {\n label: 'Padding Vertical',\n description: 'Top and bottom padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 8,\n preferedScale: 'vs',\n },\n paddingTop: {\n label: 'Padding Top',\n description: 'Top padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 9,\n preferedScale: 'vs',\n },\n paddingBottom: {\n label: 'Padding Bottom',\n description: 'Bottom padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 10,\n preferedScale: 'vs',\n },\n paddingLeft: {\n label: 'Padding Left',\n description: 'Left padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 11,\n preferedScale: 's',\n },\n paddingRight: {\n label: 'Padding Right',\n description: 'Right padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 12,\n preferedScale: 's',\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n specialCategory: 'margin',\n sort: 13,\n preferedScale: 's',\n },\n marginHorizontal: {\n label: 'Margin Horizontal',\n description: 'Left and right margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 14,\n preferedScale: 's',\n },\n marginVertical: {\n label: 'Margin Vertical',\n description: 'Top and bottom margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 15,\n preferedScale: 'vs',\n },\n marginTop: {\n label: 'Margin Top',\n description: 'Top margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 16,\n preferedScale: 'vs',\n },\n marginBottom: {\n label: 'Margin Bottom',\n description: 'Bottom margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 17,\n preferedScale: 'vs',\n },\n marginLeft: {\n label: 'Margin Left',\n description: 'Left margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 18,\n preferedScale: 's',\n },\n marginRight: {\n label: 'Margin Right',\n description: 'Right margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 19,\n preferedScale: 's',\n },\n backgroundColor: {\n label: 'Background Color',\n description: 'Background fill color.',\n category: 'style',\n specialCategory: null,\n sort: 20,\n },\n borderRadius: {\n label: 'Border Radius',\n description: 'Corner rounding amount.',\n category: 'style',\n specialCategory: null,\n sort: 21,\n preferedScale: 's',\n },\n width: {\n label: 'Width',\n description: 'Fixed width value.',\n category: 'container',\n specialCategory: 'size',\n sort: 0,\n preferedScale: 's',\n },\n minWidth: {\n label: 'Min Width',\n description: 'Minimum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 1,\n preferedScale: 's',\n },\n maxWidth: {\n label: 'Max Width',\n description: 'Maximum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 2,\n preferedScale: 's',\n },\n height: {\n label: 'Height',\n description: 'Fixed height value.',\n category: 'container',\n specialCategory: 'size',\n sort: 3,\n preferedScale: 'vs',\n },\n minHeight: {\n label: 'Min Height',\n description: 'Minimum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 4,\n preferedScale: 'vs',\n },\n maxHeight: {\n label: 'Max Height',\n description: 'Maximum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 5,\n preferedScale: 'vs',\n },\n flex: {\n label: 'Flex',\n description: 'Flex grow factor (e.g. 1 fills available space).',\n category: 'container',\n specialCategory: 'size',\n sort: 6,\n },\n position: {\n label: 'Position',\n description: 'Sets layout positioning mode.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n top: {\n label: 'Top',\n description: 'Offset from the top edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 22,\n preferedScale: 'vs',\n },\n bottom: {\n label: 'Bottom',\n description: 'Offset from the bottom edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 23,\n preferedScale: 'vs',\n },\n left: {\n label: 'Left',\n description: 'Offset from the left edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 24,\n preferedScale: 's',\n },\n right: {\n label: 'Right',\n description: 'Offset from the right edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 25,\n preferedScale: 's',\n },\n zIndex: {\n label: 'Z-Index',\n description: 'Controls stacking order.',\n category: 'container',\n specialCategory: null,\n sort: 26,\n },\n },\n },\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n] as const;\n","import { patterns as generatedPatterns } from '../build-components/patterns.generated';\nimport type { NodeDefaultAttribute } from '../types/Node';\n\nexport type AttributeMeta = {\n label?: string;\n description?: string;\n category?: 'style' | 'container' | 'other' | string;\n specialCategory?: 'padding' | 'margin' | 'offset' | null | string;\n sort?: number;\n preferedScale?: 's' | 'vs' | 'f' | '%' | '' | string;\n /**\n * When true, this attribute should remain visible even if the component\n * metadata requests hiding all attributes (e.g. `meta.hideAllAttributes`).\n */\n forceVisible?: boolean;\n /**\n * Alias for `forceVisible` used by some patterns.\n */\n override?: boolean;\n};\n\nexport type SpecialCategoryMeta = {\n label?: string;\n description?: string;\n category?: 'style' | 'container' | 'other' | string;\n sort?: number;\n};\n\ntype PatternMeta = {\n label?: string;\n description?: string;\n attributes?: Record<string, AttributeMeta>;\n specialCategories?: Record<string, SpecialCategoryMeta>;\n desiredParent?: string[];\n desiredChildren?: string[];\n mockableFeatures?: Record<string, boolean>;\n /** If true, hide all attributes in the editor except ones with `forceVisible/override`. */\n hideAllAttributes?: boolean;\n};\n\ntype Pattern = {\n schemaVersion: number;\n allowUnknownAttributes: boolean;\n extends: string;\n pattern: {\n type: string;\n children: unknown;\n attributes?: Record<string, string | string[]>;\n };\n defaults?: NodeDefaultAttribute;\n\n // Optional custom complex types referenced by attributes like \"X[]\" or \"X\"\n // Each entry maps a type name (e.g., \"EventObject\") to its field schema\n // where the inner record maps fieldName -> primitive type or enum options\n types?: Record<string, Record<string, string | string[]>>;\n // Optional defaults to be applied to node.attributes if not provided\n meta?: PatternMeta;\n};\n\nconst patterns: Pattern[] = generatedPatterns as unknown as Pattern[];\n\n// Build a fast lookup map without normalization for direct access\nconst patternIndex: Map<string, Pattern> = new Map(\n patterns.map((p) => [p.pattern.type, p]),\n);\n\nfunction pascalToCamelCase(s: string): string {\n if (!s) return s;\n return s[0].toLowerCase() + s.slice(1);\n}\n\nfunction pascalToKebabCase(s: string): string {\n if (!s) return s;\n // BackgroundImage -> background-image, IAPBackground -> iap-background\n return s\n .replace(/([a-z0-9])([A-Z])/g, '$1-$2')\n .replace(/([A-Z]+)([A-Z][a-z0-9]+)/g, '$1-$2')\n .toLowerCase();\n}\n\nconst typeAliases: Map<string, string> = new Map();\nfor (const p of patterns) {\n const canonical = p?.pattern?.type;\n if (typeof canonical !== 'string' || !canonical) continue;\n const aliases = [\n canonical,\n canonical.toLowerCase(),\n pascalToCamelCase(canonical),\n pascalToKebabCase(canonical),\n ];\n for (const a of aliases) {\n if (!a) continue;\n if (!typeAliases.has(a)) {\n typeAliases.set(a, canonical);\n }\n }\n}\n\n/** Normalize legacy/variant component type strings to the canonical pattern.type (PascalCase). */\nexport function normalizeComponentType(\n type?: string | null,\n): string | undefined {\n if (typeof type !== 'string' || !type) return undefined;\n if (patternIndex.has(type)) return type;\n return typeAliases.get(type) ?? typeAliases.get(type.toLowerCase());\n}\n\nexport function getPatternByType(type?: string | null): Pattern | undefined {\n if (typeof type !== 'string') return undefined;\n const normalized = normalizeComponentType(type) ?? type;\n return patternIndex.get(normalized);\n}\n\nexport function getAttributeSchema(\n type?: string | null,\n): Record<string, string | string[]> | undefined {\n const p = getPatternByType(type);\n return p?.pattern.attributes;\n}\n\nexport function getAttributeMeta(\n type?: string | null,\n): Record<string, AttributeMeta> | undefined {\n const p = getPatternByType(type);\n return p?.meta?.attributes;\n}\n\n/** Returns defaults block (if any) for a given component type */\nexport function getDefaultsForType(\n type?: string | null,\n): NodeDefaultAttribute | undefined {\n const p = getPatternByType(type);\n return p?.defaults as NodeDefaultAttribute | undefined;\n}\n\n/**\n * Returns the schema of a custom complex type declared under a component pattern's `types` block.\n * For example, OnboardButton.pattern.types.EventObject\n */\nexport function getTypeSchema(\n componentType?: string | null,\n typeName?: string | null,\n): Record<string, string | string[]> | undefined {\n if (!componentType || !typeName) return undefined;\n const p = getPatternByType(componentType);\n // Some JSON imports may not type-check \"types\" so we fallback to any access\n const types: Record<string, Record<string, string | string[]>> | undefined = (\n p as unknown as {\n types?: Record<string, Record<string, string | string[]>>;\n }\n )?.types;\n return types?.[typeName];\n}\n\n/** Utility: returns true if the type name refers to a primitive scalar */\nexport function isPrimitiveType(typeName: string): boolean {\n return (\n typeName === 'string' ||\n typeName === 'number' ||\n typeName === 'boolean' ||\n typeName === 'color' ||\n typeName === 'size' ||\n typeName === 'iconType'\n );\n}\n\n/** Utility: parse `X[]` forms and return the item type if present */\nexport function getArrayItemType(typeName: string): string | null {\n if (typeof typeName !== 'string') return null;\n return typeName.endsWith('[]') ? typeName.slice(0, -2) : null;\n}\n","import type { Node, NodeDefaultAttribute } from '../types/Node';\n\nexport function isNodeNullOrUndefined<T = NodeDefaultAttribute>(\n node: Node<T>,\n): boolean {\n return node === null || node === undefined;\n}\n\nexport function isNodeString<T = NodeDefaultAttribute>(node: Node<T>): boolean {\n return typeof node === 'string';\n}\n\nexport function isNodeArray<T = NodeDefaultAttribute>(node: Node<T>): boolean {\n return node instanceof Array;\n}\n\nexport function isEmptyObject<T = NodeDefaultAttribute>(\n node: Node<T>,\n): boolean {\n return (\n typeof node === 'object' &&\n node !== null &&\n !Array.isArray(node) &&\n Object.keys(node as object).length === 0\n );\n}\n","import type { Node, NodeData, NodeDefaultAttribute } from '../types/Node';\nimport {\n getArrayItemType,\n getAttributeSchema,\n getPatternByType,\n getTypeSchema,\n isPrimitiveType,\n normalizeComponentType,\n} from './patterns';\nimport {\n isEmptyObject,\n isNodeArray,\n isNodeNullOrUndefined,\n isNodeString,\n} from './nodeGuards';\n\nexport type AnalyseResultWithPath = {\n valid: boolean;\n message?: string;\n path?: string;\n};\n\ntype AttributeTypeSpec = string | string[];\ntype AttributeSchema = Record<string, AttributeTypeSpec>;\n\ntype PatternLike = {\n allowUnknownAttributes: boolean;\n pattern: {\n type: string;\n children: unknown;\n attributes?: AttributeSchema;\n };\n};\n\nfunction ok(): AnalyseResultWithPath {\n return { valid: true };\n}\n\nfunction fail(message: string, path?: string): AnalyseResultWithPath {\n return { valid: false, message, path };\n}\n\nfunction joinPath(base: string, next: string): string {\n if (!base) return next;\n if (!next) return base;\n // next may already include brackets (e.g. [0])\n return next.startsWith('[') ? `${base}${next}` : `${base}.${next}`;\n}\n\nfunction isPlainObject(value: unknown): value is Record<string, unknown> {\n return typeof value === 'object' && value !== null && !Array.isArray(value);\n}\n\nfunction isNodeDataLike(\n value: unknown,\n): value is NodeData<NodeDefaultAttribute> {\n if (!isPlainObject(value)) return false;\n const maybeType = (value as Record<string, unknown>).type;\n return typeof maybeType === 'string' && 'children' in value;\n}\n\nfunction normalizeTypeOrFallback(type: string): string {\n return normalizeComponentType(type) ?? type;\n}\n\nfunction getChildrenSpecTokens(pattern: PatternLike): string[] {\n const raw = pattern?.pattern?.children;\n if (typeof raw === 'string') return [raw];\n if (Array.isArray(raw)) return raw.filter((x) => typeof x === 'string');\n return [];\n}\n\nfunction splitChildrenSpec(tokens: string[]): {\n baseKinds: Set<'never' | 'string' | 'node' | 'array'>;\n allowedComponentTypes: Set<string>;\n} {\n const baseKinds = new Set<'never' | 'string' | 'node' | 'array'>();\n const allowedComponentTypes = new Set<string>();\n for (const t of tokens) {\n if (t === 'never' || t === 'string' || t === 'node' || t === 'array') {\n baseKinds.add(t);\n } else if (typeof t === 'string' && t) {\n allowedComponentTypes.add(normalizeTypeOrFallback(t));\n }\n }\n return { baseKinds, allowedComponentTypes };\n}\n\nfunction validateChildrenNeverRule(\n children: Node<NodeDefaultAttribute>,\n baseKinds: Set<'never' | 'string' | 'node' | 'array'>,\n path: string,\n): AnalyseResultWithPath {\n if (!baseKinds.has('never')) return ok();\n if (isNodeNullOrUndefined(children) || isEmptyObject(children)) return ok();\n return fail(`Children not allowed (pattern.children = \"never\")`, path);\n}\n\nfunction validateChildrenKindRule(\n children: Node<NodeDefaultAttribute>,\n baseKinds: Set<'never' | 'string' | 'node' | 'array'>,\n allowedComponentTypes: Set<string>,\n path: string,\n): AnalyseResultWithPath {\n if (isNodeNullOrUndefined(children) || isEmptyObject(children)) return ok();\n\n // Component-type specs allow either a single node or an array of nodes.\n if (allowedComponentTypes.size > 0) {\n if (isNodeArray(children)) return ok();\n if (isNodeDataLike(children)) return ok();\n return fail(\n `Children must be a node or array of nodes (allowed: ${Array.from(\n allowedComponentTypes,\n ).join(', ')})`,\n path,\n );\n }\n\n if (isNodeString(children)) {\n return baseKinds.has('string')\n ? ok()\n : fail(`Children must not be a string`, path);\n }\n if (isNodeArray(children)) {\n return baseKinds.has('array')\n ? ok()\n : fail(`Children must not be an array`, path);\n }\n if (isNodeDataLike(children)) {\n return baseKinds.has('node')\n ? ok()\n : fail(`Children must not be a node`, path);\n }\n\n // Unknown object shape\n return fail(`Children has invalid shape`, path);\n}\n\nfunction validateChildrenAllowedComponentTypesRule(\n children: Node<NodeDefaultAttribute>,\n allowedComponentTypes: Set<string>,\n path: string,\n): AnalyseResultWithPath {\n if (allowedComponentTypes.size === 0) return ok();\n if (isNodeNullOrUndefined(children) || isEmptyObject(children)) return ok();\n\n const allowed = Array.from(allowedComponentTypes);\n\n const validateChildType = (child: unknown, childPath: string) => {\n if (!isNodeDataLike(child)) {\n return fail(`Child must be an object node`, childPath);\n }\n const actual = normalizeTypeOrFallback(child.type);\n if (!allowedComponentTypes.has(actual)) {\n return fail(\n `Child type \"${child.type}\" is not allowed here (allowed: ${allowed.join(\n ', ',\n )})`,\n joinPath(childPath, 'type'),\n );\n }\n return ok();\n };\n\n if (isNodeArray(children)) {\n const arr = children as unknown[];\n for (let i = 0; i < arr.length; i++) {\n const res = validateChildType(arr[i], `${path}[${i}]`);\n if (!res.valid) return res;\n }\n return ok();\n }\n\n return validateChildType(children, path);\n}\n\nfunction validateChildrenByPattern(\n nodeData: NodeData<NodeDefaultAttribute>,\n pattern: PatternLike,\n path: string,\n): AnalyseResultWithPath {\n const tokens = getChildrenSpecTokens(pattern);\n const { baseKinds, allowedComponentTypes } = splitChildrenSpec(tokens);\n\n const neverRes = validateChildrenNeverRule(\n nodeData.children,\n baseKinds,\n path,\n );\n if (!neverRes.valid) return neverRes;\n\n const kindRes = validateChildrenKindRule(\n nodeData.children,\n baseKinds,\n allowedComponentTypes,\n path,\n );\n if (!kindRes.valid) return kindRes;\n\n return validateChildrenAllowedComponentTypesRule(\n nodeData.children,\n allowedComponentTypes,\n path,\n );\n}\n\nfunction validatePrimitiveValue(\n value: unknown,\n primitiveType: string,\n path: string,\n): AnalyseResultWithPath {\n switch (primitiveType) {\n case 'string':\n return typeof value === 'string' ? ok() : fail(`Expected string`, path);\n case 'number':\n return typeof value === 'number' ? ok() : fail(`Expected number`, path);\n case 'boolean':\n return typeof value === 'boolean' ? ok() : fail(`Expected boolean`, path);\n case 'color':\n return typeof value === 'string'\n ? ok()\n : fail(`Expected color (string)`, path);\n case 'size':\n // Sizes can be numbers or strings like \"16@fs\" / \"100%\" / \"20px\"\n return typeof value === 'number' || typeof value === 'string'\n ? ok()\n : fail(`Expected size (string or number)`, path);\n case 'iconType':\n return typeof value === 'string'\n ? ok()\n : fail(`Expected iconType (string)`, path);\n default:\n return fail(`Unknown primitive type \"${primitiveType}\"`, path);\n }\n}\n\nfunction validateEnumValue(\n value: unknown,\n options: string[],\n path: string,\n): AnalyseResultWithPath {\n if (typeof value === 'string') {\n return options.includes(value)\n ? ok()\n : fail(`Expected one of: ${options.join(', ')}`, path);\n }\n if (Array.isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n const v = value[i];\n if (typeof v !== 'string' || !options.includes(v)) {\n return fail(\n `Expected an array of: ${options.join(', ')}`,\n `${path}[${i}]`,\n );\n }\n }\n return ok();\n }\n return fail(`Expected a string or string[] enum value`, path);\n}\n\nfunction validateCustomObjectValue(\n componentType: string,\n value: unknown,\n typeName: string,\n path: string,\n): AnalyseResultWithPath {\n const schema = getTypeSchema(componentType, typeName);\n if (!schema) {\n return fail(`Unknown custom type \"${typeName}\"`, path);\n }\n if (!isPlainObject(value)) {\n return fail(`Expected object for type \"${typeName}\"`, path);\n }\n\n for (const [fieldName, fieldSpec] of Object.entries(schema)) {\n if (!(fieldName in value)) continue;\n const fieldValue = (value as Record<string, unknown>)[fieldName];\n const fieldPath = joinPath(path, fieldName);\n const res = validateAttributeValue(\n componentType,\n fieldValue,\n fieldSpec,\n fieldPath,\n );\n if (!res.valid) return res;\n }\n\n return ok();\n}\n\nfunction validateAttributeValue(\n componentType: string,\n value: unknown,\n spec: AttributeTypeSpec,\n path: string,\n): AnalyseResultWithPath {\n if (Array.isArray(spec)) {\n return validateEnumValue(value, spec, path);\n }\n\n const arrayItemType = getArrayItemType(spec);\n if (arrayItemType) {\n if (!Array.isArray(value)) {\n return fail(`Expected array for type \"${spec}\"`, path);\n }\n for (let i = 0; i < value.length; i++) {\n const item = value[i];\n const itemPath = `${path}[${i}]`;\n const res = validateAttributeValue(\n componentType,\n item,\n arrayItemType,\n itemPath,\n );\n if (!res.valid) return res;\n }\n return ok();\n }\n\n if (isPrimitiveType(spec)) {\n return validatePrimitiveValue(value, spec, path);\n }\n\n return validateCustomObjectValue(componentType, value, spec, path);\n}\n\nfunction validateAttributesByPattern(\n nodeData: NodeData<NodeDefaultAttribute>,\n pattern: PatternLike,\n path: string,\n): AnalyseResultWithPath {\n const attrs = nodeData.attributes;\n if (attrs == null) return ok();\n if (!isPlainObject(attrs)) return fail(`attributes must be an object`, path);\n\n const componentType = normalizeTypeOrFallback(pattern.pattern.type);\n\n const schema: AttributeSchema = (getAttributeSchema(pattern.pattern.type) ??\n pattern.pattern.attributes ??\n {}) as AttributeSchema;\n\n for (const [attrName, attrValue] of Object.entries(attrs)) {\n // Legacy compatibility: older onboard samples/projects stored theme on the provider.\n // Modern projects store theme under `appConfig.theme`, but we still accept this\n // attribute to avoid breaking existing JSON.\n if (componentType === 'OnboardProvider' && attrName === 'theme') {\n if (typeof attrValue !== 'string') {\n return fail(`Expected one of: light, dark`, joinPath(path, attrName));\n }\n if (attrValue !== 'light' && attrValue !== 'dark') {\n return fail(`Expected one of: light, dark`, joinPath(path, attrName));\n }\n continue;\n }\n\n const attrSpec = schema?.[attrName];\n if (!attrSpec) {\n if (pattern.allowUnknownAttributes) continue;\n return fail(`Unknown attribute \"${attrName}\"`, joinPath(path, attrName));\n }\n const res = validateAttributeValue(\n pattern.pattern.type,\n attrValue,\n attrSpec,\n joinPath(path, attrName),\n );\n if (!res.valid) return res;\n }\n\n return ok();\n}\n\nfunction validateNodeDataByPatterns(\n nodeData: NodeData<NodeDefaultAttribute>,\n path: string,\n): AnalyseResultWithPath {\n const normalizedType = normalizeTypeOrFallback(nodeData.type);\n const pattern = getPatternByType(normalizedType) as unknown as\n | PatternLike\n | undefined;\n if (!pattern) {\n return fail(\n `Unknown component type \"${nodeData.type}\"`,\n joinPath(path, 'type'),\n );\n }\n\n const attrRes = validateAttributesByPattern(\n { ...nodeData, type: normalizedType },\n pattern,\n joinPath(path, 'attributes'),\n );\n if (!attrRes.valid) return attrRes;\n\n const childrenRes = validateChildrenByPattern(\n { ...nodeData, type: normalizedType },\n pattern,\n joinPath(path, 'children'),\n );\n if (!childrenRes.valid) return childrenRes;\n\n return ok();\n}\n\nfunction validateAnyNodeByPatterns(\n node: Node<NodeDefaultAttribute>,\n path: string,\n): AnalyseResultWithPath {\n if (\n isNodeNullOrUndefined(node) ||\n isNodeString(node) ||\n isEmptyObject(node)\n ) {\n return ok();\n }\n\n if (isNodeArray(node)) {\n const arr = node as unknown as Node<NodeDefaultAttribute>[];\n for (let i = 0; i < arr.length; i++) {\n const res = validateAnyNodeByPatterns(arr[i], `${path}[${i}]`);\n if (!res.valid) return res;\n }\n return ok();\n }\n\n if (!isNodeDataLike(node)) {\n return fail(`Invalid node shape`, path);\n }\n\n const selfRes = validateNodeDataByPatterns(node, path);\n if (!selfRes.valid) return selfRes;\n\n return validateAnyNodeByPatterns(\n node.children as Node<NodeDefaultAttribute>,\n joinPath(path, 'children'),\n );\n}\n\n/**\n * Validates a Node tree against the generated component patterns:\n * - Enforces `pattern.children` including \"never\"\n * - Validates `attributes` against `pattern.attributes` (+ custom `types`)\n *\n * Notes:\n * - Null/undefined children are considered \"no children\" and are allowed even\n * when patterns expect some kind of children.\n */\nexport function analyseNodeByPatterns(\n node: Node<NodeDefaultAttribute>,\n): AnalyseResultWithPath {\n return validateAnyNodeByPatterns(node, 'root');\n}\n","import type { Node, NodeData, NodeDefaultAttribute } from '../types/Node';\nimport {\n isEmptyObject,\n isNodeArray,\n isNodeNullOrUndefined,\n isNodeString,\n} from './nodeGuards';\n\nexport type AnalyseResult = {\n valid: boolean;\n message?: string;\n};\n\n/**\n * Structural validation only:\n * - Ensures the input is a valid Node union recursively (null/string/array/object)\n * - Does NOT validate against component patterns.\n */\nexport function analyseNodeStructural(\n node: Node<NodeDefaultAttribute>,\n): AnalyseResult {\n if (isNodeNullOrUndefined(node)) {\n return { valid: true, message: 'null or undefined is valid' };\n }\n\n if (isNodeString(node)) {\n return { valid: true, message: 'string is valid' };\n }\n\n if (isNodeArray(node)) {\n const nodeArray = node as unknown as Node[];\n for (const value of nodeArray) {\n const res = analyseNodeStructural(value as Node<NodeDefaultAttribute>);\n if (!res.valid) return res;\n }\n return { valid: true, message: 'Array is valid' };\n }\n\n const recordData = node as NodeData;\n if (isEmptyObject(recordData)) {\n return { valid: true, message: 'empty object is valid' };\n }\n\n if (recordData.children) {\n const res = analyseNodeStructural(\n recordData.children as Node<NodeDefaultAttribute>,\n );\n if (!res.valid) return res;\n }\n\n return { valid: true, message: 'everything is structurally valid' };\n}\n","import { Node, NodeData, NodeDefaultAttribute } from '../types/Node';\nimport { generateRandomKeyForNode } from './generateRandomKeyForNode';\nimport { analyseNodeByPatterns } from './analyseNodeByPatterns';\nimport { analyseNodeStructural } from './analyseNodeStructural';\nimport { isNodeArray, isNodeNullOrUndefined, isNodeString } from './nodeGuards';\n\nexport {\n isEmptyObject,\n isNodeArray,\n isNodeNullOrUndefined,\n isNodeString,\n} from './nodeGuards';\n\nfunction assignMissingKeys(\n node: Node<NodeDefaultAttribute>,\n usedKeys: Set<string>,\n): Node<NodeDefaultAttribute> {\n if (isNodeNullOrUndefined(node) || isNodeString(node)) {\n return node;\n }\n\n if (isNodeArray(node)) {\n const nodeArray = node as unknown as Node<NodeDefaultAttribute>[];\n return nodeArray.map((child) =>\n assignMissingKeys(child, usedKeys),\n ) as unknown as Node<NodeDefaultAttribute>;\n }\n\n const recordData = node as NodeData<NodeDefaultAttribute>;\n\n let key = recordData.key;\n if (key && usedKeys.has(key)) {\n // Repair duplicate keys by generating a new unique key.\n key = undefined;\n }\n\n if (!key) {\n do {\n key = generateRandomKeyForNode(recordData.type);\n } while (usedKeys.has(key));\n }\n usedKeys.add(key);\n\n const children = recordData.children\n ? (assignMissingKeys(\n recordData.children as Node<NodeDefaultAttribute>,\n usedKeys,\n ) as Node<NodeDefaultAttribute>)\n : recordData.children;\n\n return {\n ...recordData,\n key,\n children,\n };\n}\n\nexport function analyseNode(node: Node<NodeDefaultAttribute>): {\n valid: boolean;\n message?: string;\n} {\n const structural = analyseNodeStructural(node);\n if (!structural.valid) return structural;\n\n const patternRes = analyseNodeByPatterns(node);\n if (!patternRes.valid) {\n const prefix = patternRes.path ? `${patternRes.path}: ` : '';\n return { valid: false, message: `${prefix}${patternRes.message ?? ''}` };\n }\n\n return { valid: true, message: 'Node is valid (structure + patterns)' };\n}\n\nexport function analyseAndProccess(\n node: Node<NodeDefaultAttribute>,\n): Node<NodeDefaultAttribute> | null {\n if (isNodeNullOrUndefined(node)) {\n return null;\n }\n\n const { valid, message } = analyseNode(node);\n if (!valid) {\n throw new Error(message ?? 'Node is not valid');\n }\n\n const usedKeys = new Set<string>();\n return assignMissingKeys(node, usedKeys);\n}\n","import { Node, NodeData } from '../types/Node';\nimport { Project, ProjectBase } from '../types/Project';\n//TODO: deprecated olmasına rağmen snapshot testi ekle\n/**\n * @deprecated Legacy converter for old \"nova\" onboard JSON formats.\n * The built-in samples are now shipped in the new `Project<Node>` format,\n * so this should no longer be needed in normal usage.\n */\nexport function novaToJson(nova: ProjectBase<unknown>): Node {\n const layout = (nova.data as any).data?.layout;\n if (layout === 'onboard-layout') {\n return onboardNovaToJson(nova);\n }\n return null;\n}\n//@eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction onboardNovaToJson(nova: ProjectBase<unknown>): Node {\n const attributes =\n (nova?.data as any)?.data?.attributes ||\n (nova?.data as any)?.attributes ||\n {};\n //@eslint-disable-next-line @typescript-eslint/no-explicit-any\n const generalComponents = (attributes?.general_components || []) as any[];\n //@eslint-disable-next-line @typescript-eslint/no-explicit-any\n const pages = (attributes?.data || []) as any[];\n\n const dotsNode = mapDotsFromGeneralComponents(generalComponents);\n const footerNode = mapFooterFromGeneralComponents(generalComponents);\n const { carouselNode, providerLevelButtons } = buildCarouselFromPages(pages);\n\n const providerNode: NodeData = {\n type: 'OnboardProvider',\n key: (nova?.data as any)?.data?.key,\n children: [\n carouselNode,\n // Place dots above buttons in visual order\n ...(dotsNode ? [dotsNode] : []),\n ...(providerLevelButtons.length ? providerLevelButtons : []),\n ...(footerNode ? [footerNode] : []),\n ],\n attributes: {\n theme: (nova?.data as any)?.theme,\n },\n };\n\n const mainNode: NodeData = {\n type: 'Main',\n isMain: true,\n key: (nova?.data as any)?.data?.key,\n children: [providerNode],\n attributes: {\n // default safe area view on; can be overridden in the editor\n useSafeAreaView: true,\n },\n };\n\n // Provider should have its own key if needed; avoid duplicating root key on child.\n delete (providerNode as any).key;\n\n return mainNode;\n}\n//@eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction buildCarouselFromPages(pages: any[]): {\n carouselNode: NodeData;\n providerLevelButtons: Node[];\n} {\n const simplePages = pages.filter(\n (p) => p?.layout === 'simple-onboard-layout',\n );\n const pageKeyToIndex = new Map<string, number>();\n //@eslint-disable-next-line @typescript-eslint/no-explicit-any\n simplePages.forEach((p: any, idx: number) => {\n const key = p?.attributes?.key;\n if (typeof key === 'string') pageKeyToIndex.set(key, idx);\n });\n\n const providerLevelButtons: Node[] = [];\n const items: Node[] = simplePages.map((page) =>\n buildCarouselItem(page, pageKeyToIndex, providerLevelButtons),\n );\n\n const carouselNode: NodeData = {\n type: 'Onboard',\n children: items as unknown as Node,\n };\n\n return { carouselNode, providerLevelButtons };\n}\n\nfunction buildCarouselItem(\n page: any,\n pageKeyToIndex: Map<string, number>,\n providerLevelButtons: Node[],\n): NodeData {\n //@eslint-disable-next-line @typescript-eslint/no-explicit-any\n const components = (page?.attributes?.components || []) as any[];\n const children: Node[] = [];\n\n // Resolve page index for condition mapping\n const currentKey = page?.attributes?.key as string | undefined;\n const pageIndex =\n typeof currentKey === 'string' && pageKeyToIndex.has(currentKey)\n ? pageKeyToIndex.get(currentKey)!\n : undefined;\n\n for (const comp of components) {\n if (comp?.layout === 'title-layout') {\n const title = comp?.attributes?.title_localization_key || '';\n const color = comp?.attributes?.title_color || undefined;\n const {\n fontSize: titleFontSize,\n textAlign: titleTextAlign,\n marginTop: titleMarginTop,\n fontWeight: titleFontWeight,\n } = extractTextStyleAttributesFromComponent(comp);\n children.push({\n type: 'OnboardTitle',\n attributes:\n color ||\n titleFontSize ||\n titleTextAlign ||\n titleMarginTop ||\n titleFontWeight\n ? {\n ...(color ? { color } : {}),\n ...(typeof titleFontSize === 'number'\n ? { fontSize: titleFontSize }\n : {}),\n ...(titleTextAlign ? { textAlign: titleTextAlign } : {}),\n ...(typeof titleMarginTop === 'number'\n ? { marginTop: titleMarginTop }\n : {}),\n ...(titleFontWeight ? { fontWeight: titleFontWeight } : {}),\n }\n : undefined,\n children: title,\n });\n } else if (comp?.layout === 'subtitle-layout') {\n const subtitle = comp?.attributes?.subtitle_localization_key || '';\n const color = comp?.attributes?.subtitle_color || undefined;\n const {\n fontSize: subtitleFontSize,\n textAlign: subtitleTextAlign,\n marginTop: subtitleMarginTop,\n fontWeight: subtitleFontWeight,\n } = extractTextStyleAttributesFromComponent(comp);\n children.push({\n type: 'OnboardSubtitle',\n attributes:\n color ||\n subtitleFontSize ||\n subtitleTextAlign ||\n subtitleMarginTop ||\n subtitleFontWeight\n ? {\n ...(color ? { color } : {}),\n ...(typeof subtitleFontSize === 'number'\n ? { fontSize: subtitleFontSize }\n : {}),\n ...(subtitleTextAlign ? { textAlign: subtitleTextAlign } : {}),\n ...(typeof subtitleMarginTop === 'number'\n ? { marginTop: subtitleMarginTop }\n : {}),\n ...(subtitleFontWeight\n ? { fontWeight: subtitleFontWeight }\n : {}),\n }\n : undefined,\n children: subtitle,\n });\n } else if (comp?.layout === 'image-layout') {\n const src = comp?.attributes?.image || comp?.attributes?.src || '';\n const rawHeight =\n comp?.attributes?.height ??\n comp?.attributes?.ios_height ??\n comp?.attributes?.android_height;\n const height =\n typeof rawHeight === 'string'\n ? Number.parseInt(rawHeight, 10)\n : typeof rawHeight === 'number'\n ? rawHeight\n : undefined;\n\n // derive resizeMode from is_bg_image and try to extract borderRadius from styles\n const isBgImage = Boolean(comp?.attributes?.is_bg_image);\n const imageStyle = extractViewStyleAttributesFromComponent(comp);\n // optional rich media\n const lottie = comp?.attributes?.lottie as string | undefined;\n const videoUrl = comp?.attributes?.video_url as string | undefined;\n\n if (src) {\n children.push({\n type: 'OnboardImage',\n attributes: {\n src,\n ...(height ? { height } : {}),\n resizeMode: isBgImage ? 'cover' : 'contain',\n ...(typeof imageStyle.borderRadius === 'number'\n ? { borderRadius: imageStyle.borderRadius }\n : {}),\n ...(typeof lottie === 'string' ? { lottie } : {}),\n ...(typeof videoUrl === 'string' ? { video_url: videoUrl } : {}),\n },\n children: undefined as unknown as Node,\n } as unknown as NodeData);\n }\n } else if (comp?.layout === 'Buttons') {\n const direction = comp?.attributes?.buttons_direction;\n //@eslint-disable-next-line @typescript-eslint/no-explicit-any\n const buttons = (comp?.attributes?.buttons || []) as any[];\n //@eslint-disable-next-line @typescript-eslint/no-explicit-any\n const buttonNodes: Node[] = [];\n for (const btn of buttons) {\n const attrs = btn?.attributes || {};\n const labelKey = attrs?.button_text_localization_key || '';\n const buttonTextColor = attrs?.button_text_color;\n const buttonBackgroundColor = attrs?.button_background_color;\n const animation = attrs?.animation as\n | 'simple-animation'\n | 'line-animation'\n | 'blur'\n | 'blur-animation'\n | 'blur-line-animation'\n | undefined;\n const animationColor = attrs?.animation_color as string | undefined;\n const flex = attrs?.flex ? Number(attrs.flex) : undefined;\n\n // Normalize events and compute Navigate target indices when resolvable\n let targetIndex: number | undefined = undefined;\n //@eslint-disable-next-line @typescript-eslint/no-explicit-any\n const actions = (attrs?.actions || []) as any[];\n const normalizedEvents: {\n type: 'Permission' | 'Navigate';\n permission?: string;\n navigate_to?: string | null;\n targetIndex?: number;\n }[] = [];\n for (const action of actions) {\n //@eslint-disable-next-line @typescript-eslint/no-explicit-any\n const events = (action?.attributes?.events || []) as any[];\n for (const e of events) {\n if (e?.layout === 'Permission') {\n const permission = e?.attributes?.permission as\n | string\n | undefined;\n normalizedEvents.push({ type: 'Permission', permission });\n } else if (e?.layout === 'Navigate') {\n const nextKey = e?.attributes?.next_page_key as\n | string\n | undefined;\n // If key exists among simple-onboard-layout pages, prefer index navigation\n const hasTarget =\n typeof nextKey === 'string' && pageKeyToIndex.has(nextKey);\n const navigate_to = hasTarget\n ? null\n : typeof nextKey === 'string'\n ? nextKey\n : null;\n normalizedEvents.push({\n type: 'Navigate',\n navigate_to,\n ...(hasTarget\n ? { targetIndex: pageKeyToIndex.get(nextKey!)! }\n : {}),\n });\n if (hasTarget) {\n targetIndex = pageKeyToIndex.get(nextKey!)!;\n }\n }\n }\n }\n\n buttonNodes.push({\n type: 'OnboardButton',\n attributes: {\n labelKey,\n ...(typeof buttonTextColor === 'string'\n ? { button_text_color: buttonTextColor }\n : {}),\n ...(typeof animation === 'string' ? { animation } : {}),\n ...(typeof animationColor === 'string'\n ? { animation_color: animationColor }\n : {}),\n ...(typeof buttonBackgroundColor === 'string'\n ? { button_background_color: buttonBackgroundColor }\n : {}),\n ...(typeof flex === 'number' ? { flex } : {}),\n ...(normalizedEvents.length ? { events: normalizedEvents } : {}),\n },\n children: undefined as unknown as Node,\n } as unknown as NodeData);\n }\n\n if (buttonNodes.length > 0) {\n // Place buttons at provider level with visibility conditioned by page index\n providerLevelButtons.push({\n type: 'OnboardButtons',\n attributes: {\n ...(direction ? { buttons_direction: direction } : {}),\n ...(typeof pageIndex === 'number'\n ? { condition: 'carousel-index', conditionVariable: pageIndex }\n : {}),\n },\n children: buttonNodes as unknown as Node,\n } as unknown as NodeData);\n }\n }\n }\n\n const pageKeyAttr = page?.attributes?.key;\n const resolvedKey =\n (typeof pageKeyAttr === 'string' && pageKeyAttr) ||\n (typeof page?.key === 'string' ? page.key : undefined);\n\n return {\n type: 'OnboardItem',\n ...(resolvedKey ? { key: resolvedKey } : {}),\n children,\n };\n}\n\n//@eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction extractTextStyleAttributesFromComponent(comp: any): {\n fontSize?: number;\n textAlign?: 'left' | 'center' | 'right' | 'justify';\n marginTop?: number;\n fontWeight?:\n | 'normal'\n | 'bold'\n | '100'\n | '200'\n | '300'\n | '400'\n | '500'\n | '600'\n | '700'\n | '800'\n | '900';\n} {\n const result: {\n fontSize?: number;\n textAlign?: 'left' | 'center' | 'right' | 'justify';\n marginTop?: number;\n fontWeight?:\n | 'normal'\n | 'bold'\n | '100'\n | '200'\n | '300'\n | '400'\n | '500'\n | '600'\n | '700'\n | '800'\n | '900';\n } = {};\n\n //@eslint-disable-next-line @typescript-eslint/no-explicit-any\n const stylesRoot = (comp?.attributes?.styles || []) as any[];\n if (!Array.isArray(stylesRoot) || stylesRoot.length === 0) return result;\n\n const allowedAligns = new Set(['left', 'center', 'right', 'justify']);\n const allowedWeights = new Set([\n 'normal',\n 'bold',\n '100',\n '200',\n '300',\n '400',\n '500',\n '600',\n '700',\n '800',\n '900',\n ]);\n\n for (const s of stylesRoot) {\n if (s?.layout !== 'style-layout') continue;\n //@eslint-disable-next-line @typescript-eslint/no-explicit-any\n const nested = (s?.attributes?.styles || []) as any[];\n if (!Array.isArray(nested)) continue;\n for (const st of nested) {\n if (st?.layout !== 'Styles') continue;\n const type = st?.attributes?.type;\n if (type !== 'textStyle') continue;\n const style = st?.attributes?.style || {};\n\n const rawFontSize = style?.fontSize;\n if (typeof rawFontSize === 'number' && Number.isFinite(rawFontSize)) {\n result.fontSize = rawFontSize;\n } else if (typeof rawFontSize === 'string') {\n const n = Number.parseInt(rawFontSize, 10);\n if (Number.isFinite(n)) result.fontSize = n;\n }\n\n const align = style?.textAlign;\n if (typeof align === 'string' && allowedAligns.has(align)) {\n result.textAlign = align as typeof result.textAlign;\n }\n\n const rawMarginTop = style?.marginTop;\n if (typeof rawMarginTop === 'number' && Number.isFinite(rawMarginTop)) {\n result.marginTop = rawMarginTop;\n } else if (typeof rawMarginTop === 'string') {\n const n = Number.parseInt(rawMarginTop, 10);\n if (Number.isFinite(n)) result.marginTop = n;\n }\n\n const rawWeight = style?.fontWeight;\n let normalizedWeight: string | undefined;\n if (typeof rawWeight === 'number' && Number.isFinite(rawWeight)) {\n normalizedWeight = String(rawWeight);\n } else if (typeof rawWeight === 'string') {\n normalizedWeight = rawWeight;\n }\n if (normalizedWeight && allowedWeights.has(normalizedWeight)) {\n result.fontWeight = normalizedWeight as typeof result.fontWeight;\n }\n }\n }\n\n return result;\n}\n\n//@eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction extractViewStyleAttributesFromComponent(comp: any): {\n borderRadius?: number;\n} {\n const result: { borderRadius?: number } = {};\n //@eslint-disable-next-line @typescript-eslint/no-explicit-any\n const stylesRoot = (comp?.attributes?.styles || []) as any[];\n if (!Array.isArray(stylesRoot) || stylesRoot.length === 0) return result;\n for (const s of stylesRoot) {\n if (s?.layout !== 'style-layout') continue;\n //@eslint-disable-next-line @typescript-eslint/no-explicit-any\n const nested = (s?.attributes?.styles || []) as any[];\n if (!Array.isArray(nested)) continue;\n for (const st of nested) {\n if (st?.layout !== 'Styles') continue;\n const style = st?.attributes?.style || {};\n const rawBr = style?.borderRadius;\n if (typeof rawBr === 'number' && Number.isFinite(rawBr)) {\n result.borderRadius = rawBr;\n } else if (typeof rawBr === 'string') {\n const n = Number.parseInt(rawBr, 10);\n if (Number.isFinite(n)) result.borderRadius = n;\n }\n }\n }\n return result;\n}\n\nfunction mapDotsFromGeneralComponents(generalComponents: any[]): Node | null {\n const dots = generalComponents.find((gc) => gc?.layout === 'dots-layout');\n if (!dots) return null;\n const dotArray = dots?.attributes?.dot || [];\n const firstDot = dotArray?.[0];\n const dotType = firstDot?.layout as\n | 'expanding_dot'\n | 'normal_dot'\n | 'scaling_dot'\n | 'sliding_border'\n | 'sliding_dot'\n | 'liquid_like';\n const dotAttrs = (firstDot?.attributes || {}) as Record<string, unknown>;\n\n const parseNumber = (value: unknown): number | undefined => {\n if (typeof value === 'number') return value;\n if (typeof value === 'string' && value.trim().length > 0) {\n const n = Number(value);\n return Number.isFinite(n) ? n : undefined;\n }\n return undefined;\n };\n\n const inactiveDotOpacity = parseNumber(dotAttrs?.inactive_dot_opacity);\n const expandingDotWidth = parseNumber(dotAttrs?.expanding_dot_width);\n const dot_style =\n typeof dotAttrs?.dot_style === 'string'\n ? (dotAttrs.dot_style as string)\n : undefined;\n const container_style =\n typeof dotAttrs?.container_style === 'string'\n ? (dotAttrs.container_style as string)\n : undefined;\n const active_dot_color =\n typeof dotAttrs?.active_dot_color === 'string'\n ? (dotAttrs.active_dot_color as string)\n : undefined;\n\n const attributes: Record<string, unknown> = {};\n if (dotType) attributes.dotType = dotType;\n if (inactiveDotOpacity !== undefined)\n attributes.inactive_dot_opacity = inactiveDotOpacity;\n if (expandingDotWidth !== undefined)\n attributes.expanding_dot_width = expandingDotWidth;\n if (dot_style) attributes.dot_style = dot_style;\n if (container_style) attributes.container_style = container_style;\n if (active_dot_color) attributes.active_dot_color = active_dot_color;\n return {\n type: 'OnboardDot',\n attributes: Object.keys(attributes).length ? attributes : undefined,\n children: undefined as unknown as Node,\n } as unknown as NodeData;\n}\n\nfunction mapFooterFromGeneralComponents(generalComponents: any[]): Node | null {\n const footer = generalComponents.find((gc) => gc?.layout === 'footer-layout');\n if (!footer) return null;\n const texts = (footer?.attributes?.texts || []) as any[];\n const linkedWords: { text_key?: string; color?: string; page?: string }[] =\n [];\n let baseTextKey: string | undefined;\n let baseTextColor: string | undefined;\n\n for (const t of texts) {\n if (t?.layout === 'Text') {\n const textKey = t?.attributes?.text_localization_key || '';\n const color = t?.attributes?.text_color || undefined;\n if (!baseTextKey) baseTextKey = textKey;\n if (!baseTextColor && typeof color === 'string') baseTextColor = color;\n\n // Extract linked words if present\n const lws = (t?.attributes?.linkedwords || []) as any[];\n for (const w of lws) {\n if (w?.layout === 'LinkedWords') {\n const text_key = w?.attributes?.linked_word_localization_key as\n | string\n | undefined;\n const lwColor = w?.attributes?.linked_word_color as\n | string\n | undefined;\n const page = w?.attributes?.page as string | undefined;\n linkedWords.push({ text_key, color: lwColor, page });\n }\n }\n }\n }\n\n const attributes: Record<string, unknown> = { gap: 8 };\n if (baseTextKey) attributes.textLocalizationKey = baseTextKey;\n if (baseTextColor) attributes.textColor = baseTextColor;\n const first = linkedWords[0];\n const second = linkedWords[1];\n if (first) {\n if (first.text_key)\n attributes.linkedWordFirstLocalizationKey = first.text_key;\n if (first.color) attributes.linkedWordFirstColor = first.color;\n if (first.page) attributes.linkedWordFirstPage = first.page;\n }\n if (second) {\n if (second.text_key)\n attributes.linkedWordSecondLocalizationKey = second.text_key;\n if (second.color) attributes.linkedWordSecondColor = second.color;\n if (second.page) attributes.linkedWordSecondPage = second.page;\n }\n\n return {\n type: 'OnboardFooter',\n attributes,\n children: undefined as unknown as Node,\n } as NodeData;\n}\n","import { Project } from '../../types/Project';\nimport simple1 from './simple-1.json';\nimport simple2 from './simple-2.json';\nimport carouselSample from './carousel-sample.json';\nimport paywall1 from './paywall-1.json';\nimport vpnOnboard1 from './vpn-onboard-1.json';\nimport vpnOnboard2 from './vpn-onboard-2.json';\nimport vpnOnboard3 from './vpn-onboard-3.json';\nimport vpnOnboard4 from './vpn-onboard-4.json';\nimport vpnOnboard5 from './vpn-onboard-5.json';\nimport vpnOnboard6 from './vpn-onboard-6.json';\nimport { defaultAppConfig } from '../../types/PreviewConfig';\n\nfunction normalizeSample(sample: any): Project {\n return {\n ...sample,\n appConfig: { ...defaultAppConfig, ...(sample as any).appConfig },\n } as Project;\n}\n\nexport function getSamples(): Project[] {\n const onboardSamples = [\n vpnOnboard1,\n vpnOnboard2,\n vpnOnboard3,\n vpnOnboard4,\n vpnOnboard5,\n vpnOnboard6,\n ].map(normalizeSample);\n\n return [\n normalizeSample(simple1),\n normalizeSample(simple2),\n normalizeSample(carouselSample),\n normalizeSample(paywall1),\n ...onboardSamples,\n ];\n}\n\nexport function getBasicSamples(): Project[] {\n return [\n normalizeSample(simple1),\n normalizeSample(simple2),\n normalizeSample(carouselSample),\n ];\n}\n\nexport function getOnboardSamples(): Project[] {\n return [\n vpnOnboard1,\n vpnOnboard2,\n vpnOnboard3,\n vpnOnboard4,\n vpnOnboard5,\n vpnOnboard6,\n ].map(normalizeSample);\n}\n\nexport function getPaywallSamples(): Project[] {\n return [normalizeSample(paywall1)];\n}\n","import React from 'react';\nimport { ParamsProvider, type LocalizationParams } from './ParamsProvider';\n\n/**\n * Backward-compatible wrapper.\n * Prefer `ParamsProvider` instead.\n */\nexport type LocalizationParamsProviderProps = {\n params: LocalizationParams;\n children: React.ReactNode;\n};\n\nexport function LocalizationParamsProvider({\n params,\n children,\n}: LocalizationParamsProviderProps) {\n return (\n <ParamsProvider localizationParams={params} otherParams={{}}>\n {children}\n </ParamsProvider>\n );\n}\n","import { Node, NodeData } from '../types/Node';\n\nfunction isNodeData(value: Node): value is NodeData<Record<string, unknown>> {\n if (value === null || value === undefined) return false;\n if (Array.isArray(value)) return false;\n if (typeof value === 'string') return false;\n if (typeof value !== 'object') return false;\n return (\n 'type' in (value as Record<string, unknown>) &&\n 'children' in (value as Record<string, unknown>)\n );\n}\n\nexport function querySelector(node: Node, selector: string): NodeData[] {\n if (node === null || node === undefined) return [];\n if (!selector) return [];\n\n const isKeySearch = selector.startsWith('#');\n const keyToMatch = isKeySearch ? selector.slice(1) : undefined;\n\n const matches = (n: NodeData): boolean => {\n if (isKeySearch) return n.key === keyToMatch;\n return n.type === selector;\n };\n\n const result: NodeData[] = [];\n\n const visit = (current: Node) => {\n if (current === null || current === undefined) return;\n if (Array.isArray(current)) {\n for (const child of current) visit(child);\n return;\n }\n if (typeof current === 'string') return;\n if (isNodeData(current)) {\n if (matches(current)) result.push(current);\n visit(current.children);\n }\n };\n\n visit(node);\n return result;\n}\n","/**\n * Placeholder hook — will be implemented later.\n */\nexport function useCalculateLocalizedPrice(): string {\n return '';\n}\n","/**\n * Placeholder hook — will be implemented later.\n *\n * NOTE: name kept as `Seperator` to match existing external API usage.\n */\nexport function useCarouselOptionsSeperator(): string {\n return '';\n}\n","/**\n * Placeholder hook — will be implemented later.\n */\nexport function useCloseStatusPaywall(): boolean {\n return false;\n}\n","/**\n * Placeholder hook — will be implemented later.\n */\nexport function useDiscountRate(): number {\n return 0;\n}\n","import { useCallback } from 'react';\nimport { useRenderStore } from '../store';\nimport { useLocalizationParams } from './useLocalizationParams';\nimport { replaceLocalizationParams } from '../utils/replaceLocalizationParams';\n\nexport type LocalizeFn = (keyOrText: string) => string;\n\nexport function useLocalize(): LocalizeFn {\n const { defaultLanguage, localication } = useRenderStore((s) => ({\n defaultLanguage: s.appConfig?.defaultLanguage,\n localication: s.appConfig?.localication,\n }));\n const params = useLocalizationParams();\n\n return useCallback(\n (keyOrText: string) => {\n const raw =\n localication?.[defaultLanguage ?? 'en']?.[keyOrText] ?? keyOrText;\n return replaceLocalizationParams(raw, params);\n },\n [defaultLanguage, localication, params],\n );\n}\n","export function replaceLocalizationParams(\n text: string,\n params?: Record<string, string> | null,\n): string {\n if (!text) return text;\n if (!params) return text;\n\n return (\n Object.entries(params).reduce((acc, [key, val]) => {\n const needle = `@${key}`;\n // Replace all occurrences without regex escaping pitfalls.\n return acc.split(needle).join(String(val));\n }, text) || text\n );\n}\n","/**\n * Placeholder hook — will be implemented later.\n */\nexport function usePaywallCounter(): number {\n return 0;\n}\n"],"names":["defaultAppConfig","theme","isRtl","screenStyle","light","backgroundColor","color","dark","localication","baseSize","width","height","BuilderContext","createContext","undefined","ParamsContext","localizationParams","otherParams","ParamsProvider","children","value","useMemo","_jsx","Provider","useParams","useContext","useLocalizationParams","process","env","NODE_ENV","shimModule","exports","React","require$$0","objectIs","Object","is","x","y","useState","useEffect","useLayoutEffect","useDebugValue","checkIfSnapshotChanged","inst","latestGetSnapshot","getSnapshot","nextValue","error","shim","window","document","createElement","subscribe","_useState","forceUpdate","useSyncExternalStoreShim_production","useSyncExternalStore","__REACT_DEVTOOLS_GLOBAL_HOOK__","registerInternalModuleStart","Error","didWarnOld18Alpha","didWarnUncachedGetSnapshot","startTransition","console","cachedValue","useSyncExternalStoreShim_development","registerInternalModuleStop","withSelectorModule","require$$1","useRef","withSelector_production","useSyncExternalStoreWithSelector","getServerSnapshot","selector","isEqual","instRef","current","hasValue","memoizedSelector","nextSnapshot","hasMemo","memoizedSnapshot","currentSelection","memoizedSelection","nextSelection","maybeGetServerSnapshot","withSelector_development","createStoreImpl","createState","state","listeners","Set","setState","partial","replace","nextState","previousState","assign","forEach","listener","getState","api","getInitialState","initialState","add","delete","useSyncExternalStoreExports","identity","arg","isIterable","obj","Symbol","iterator","hasIterableEntries","compareEntries","valueA","valueB","mapA","Map","entries","mapB","size","key","has","get","getDevices","deviceList","devices","slice","sort","a","b","importance","getDefaultDevice","createJSONStorage","getStorage","options","storage","e","persistStorage","getItem","name","_a","parse","str2","JSON","str","Promise","then","setItem","newValue","stringify","removeItem","toThenable","fn","input","result","onFulfilled","_onRejected","this","_onFulfilled","catch","onRejected","useRenderStore","defaultEqualityFn","createStore","useBoundStoreWithEqualityFn","equalityFn","useStoreWithEqualityFn","createWithEqualityFn","config","baseOptions","set","localStorage","partialize","version","merge","persistedState","currentState","hasHydrated","hydrationListeners","finishHydrationListeners","args","warn","savedSetState","configResult","stateFromStorage","hydrate","_b","cb","_a2","postRehydrationCallback","onRehydrateStorage","call","bind","deserializedStorageValue","migrate","migration","migrationResult","migrated","migratedState","persist","setOptions","newOptions","clearStorage","getOptions","rehydrate","onHydrate","onFinishHydration","skipHydration","projectName","setProjectName","editorData","setEditorData","data","copiedNode","setCopiedNode","node","setCurrent","forceRender","incForceRender","device","setDevice","appConfig","setAppConfig","projectColors","setProjectColors","previewMode","setPreviewMode","products","addProduct","Array","isArray","productId","title","description","localizedPrice","price","currency","removeProduct","index","filter","_","idx","updateProduct","patch","prev","length","map","p","setProducts","clearProducts","benefits","setBenefits","clearBenefits","upsertBenefit","normalizedKey","trim","next","removeBenefit","renameBenefit","fromKey","toKey","from","to","logs","logLevel","setLogLevel","level","addLog","entry","now","Date","newEntry","id","Math","random","toString","timestamp","source","message","payload","clearLogs","getPrototypeOf","iteratorA","iteratorB","nextA","nextB","done","compareIterables","generateRandomKeyForNode","type","substring","patterns","schemaVersion","allowUnknownAttributes","pattern","attributes","fontSize","fontWeight","textAlign","scrollable","flexDirection","alignItems","justifyContent","gap","padding","paddingHorizontal","paddingVertical","paddingTop","paddingBottom","paddingLeft","paddingRight","margin","marginVertical","marginTop","marginBottom","marginLeft","marginRight","borderRadius","minWidth","maxWidth","minHeight","maxHeight","flex","position","top","bottom","left","right","zIndex","iconType","strokeWidth","defaults","meta","desiredParent","label","category","specialCategory","preferedScale","marginHorizontal","specialCategories","offset","types","src","resizeMode","buttonType","skipNumber","dotType","useSafeAreaView","forceVisible","hideAllAttributes","desiredChildren","labelKey","button_text_color","animation","animation_color","button_background_color","events","EventObject","permission","navigate_to","targetIndex","buttons_direction","forIndex","seperatorColor","condition","conditionVariable","inactive_dot_opacity","expanding_dot_width","active_dot_color","textLocalizationKey","linkedWordFirstLocalizationKey","linkedWordFirstColor","linkedWordFirstPage","linkedWordSecondLocalizationKey","linkedWordSecondColor","linkedWordSecondPage","video_url","lottie","display","mockableFeatures","selected","patternIndex","pascalToCamelCase","s","toLowerCase","pascalToKebabCase","typeAliases","canonical","aliases","normalizeComponentType","getPatternByType","normalized","getAttributeSchema","getTypeSchema","componentType","typeName","isPrimitiveType","getArrayItemType","endsWith","isNodeNullOrUndefined","isNodeString","isNodeArray","isEmptyObject","keys","fail","path","valid","joinPath","base","startsWith","isPlainObject","isNodeDataLike","normalizeTypeOrFallback","validateChildrenByPattern","nodeData","tokens","raw","getChildrenSpecTokens","baseKinds","allowedComponentTypes","t","splitChildrenSpec","neverRes","validateChildrenNeverRule","kindRes","join","validateChildrenKindRule","allowed","validateChildType","child","childPath","actual","arr","i","res","validateChildrenAllowedComponentTypesRule","validateAttributeValue","spec","includes","v","validateEnumValue","arrayItemType","primitiveType","validatePrimitiveValue","schema","fieldName","fieldSpec","validateCustomObjectValue","validateNodeDataByPatterns","attrRes","attrs","attrName","attrValue","attrSpec","validateAttributesByPattern","childrenRes","validateAnyNodeByPatterns","selfRes","analyseNodeByPatterns","analyseNodeStructural","nodeArray","recordData","assignMissingKeys","usedKeys","analyseNode","structural","patternRes","extractTextStyleAttributesFromComponent","comp","stylesRoot","styles","allowedAligns","allowedWeights","layout","nested","st","style","rawFontSize","Number","isFinite","n","parseInt","align","rawMarginTop","rawWeight","normalizedWeight","String","extractViewStyleAttributesFromComponent","rawBr","normalizeSample","sample","params","simple1","simple2","carouselSample","vpnOnboard1","vpnOnboard2","vpnOnboard3","vpnOnboard4","vpnOnboard5","vpnOnboard6","onboardSamples","paywall1","nova","generalComponents","general_components","pages","dotsNode","dots","find","gc","dotArray","dot","firstDot","dotAttrs","parseNumber","inactiveDotOpacity","expandingDotWidth","dot_style","container_style","mapDotsFromGeneralComponents","footerNode","footer","texts","linkedWords","baseTextKey","baseTextColor","textKey","text_localization_key","text_color","lws","linkedwords","w","text_key","linked_word_localization_key","lwColor","linked_word_color","page","push","textColor","first","second","mapFooterFromGeneralComponents","carouselNode","providerLevelButtons","simplePages","pageKeyToIndex","items","components","currentKey","pageIndex","title_localization_key","title_color","titleFontSize","titleTextAlign","titleMarginTop","titleFontWeight","subtitle","subtitle_localization_key","subtitle_color","subtitleFontSize","subtitleTextAlign","subtitleMarginTop","subtitleFontWeight","image","rawHeight","ios_height","android_height","isBgImage","Boolean","is_bg_image","imageStyle","videoUrl","direction","buttons","buttonNodes","btn","button_text_localization_key","buttonTextColor","buttonBackgroundColor","animationColor","actions","normalizedEvents","action","nextKey","next_page_key","hasTarget","pageKeyAttr","resolvedKey","buildCarouselItem","buildCarouselFromPages","providerNode","mainNode","isMain","onboardNovaToJson","isKeySearch","keyToMatch","visit","defaultLanguage","useCallback","keyOrText","text","reduce","acc","val","needle","split","replaceLocalizationParams"],"mappings":"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","x_google_ignoreList":[5,6,7,8,9,10,11,12,13,15]}
1
+ {"version":3,"file":"index.native.cjs.js","sources":["../src/types/PreviewConfig.ts","../src/components/BuilderProvider.tsx","../src/components/ParamsProvider.tsx","../src/hooks/useParams.ts","../src/hooks/useLocalizationParams.ts","../node_modules/use-sync-external-store/shim/index.js","../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js","../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js","../node_modules/use-sync-external-store/shim/with-selector.js","../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.js","../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js","../node_modules/zustand/esm/vanilla.mjs","../node_modules/zustand/esm/traditional.mjs","../node_modules/zustand/esm/vanilla/shallow.mjs","../src/utils/getDevices.ts","../node_modules/zustand/esm/middleware.mjs","../src/store.ts","../src/utils/generateRandomKeyForNode.ts","../src/build-components/patterns.generated.ts","../src/utils/patterns.ts","../src/utils/nodeGuards.ts","../src/utils/analyseNodeByPatterns.ts","../src/utils/analyseNodeStructural.ts","../src/utils/analyseNode.ts","../src/utils/novaToJson.ts","../src/assets/samples/getSamples.ts","../src/components/LocalizationParamsProvider.tsx","../src/utils/querySelector.ts","../src/paywall/hooks/useCalculateLocalizedPrice.ts","../src/paywall/hooks/useCarouselOptionsSeperator.ts","../src/paywall/hooks/useCloseStatusPaywall.ts","../src/paywall/hooks/useDiscountRate.ts","../src/hooks/useLocalize.ts","../src/utils/replaceLocalizationParams.ts","../src/paywall/hooks/usePaywallCounter.ts"],"sourcesContent":["export interface AppConfig {\n theme: 'light' | 'dark';\n isRtl: boolean; //This could be device in future\n screenStyle: {\n light: { backgroundColor: string; color: string; seperatorColor?: string };\n dark: { backgroundColor: string; color: string; seperatorColor?: string };\n };\n localication: Localication;\n defaultLanguage?: string;\n baseSize: { width: number; height: number };\n}\n\nexport const defaultAppConfig: AppConfig = {\n theme: 'light',\n isRtl: false,\n screenStyle: {\n light: { backgroundColor: '#FDFDFD', color: '#161827' },\n dark: { backgroundColor: '#12131A', color: '#E9EBF9' },\n },\n localication: {},\n baseSize: { width: 375, height: 812 },\n};\n\nexport type Localication = {\n [key: string]: {\n [key: string]: string;\n };\n};\n","import React, { createContext, useContext, useMemo } from 'react';\nimport type { Product } from '../paywall/types/paywall-types';\nimport type { PaywallBenefits } from '../paywall/types/benefits';\n\n// NOTE: We keep this context intentionally tiny.\n// IMPORTANT: This provider may be mounted once but consumed by multiple `build-components`\n// on the same screen. Keep the value minimal + stable to avoid unnecessary rerenders.\n// In React Native, `products` should be sourced from an IAP wrapper (e.g. `react-native-iap`)\n// and passed in via `params` from the host app.\nexport type Products = Product;\n\nexport type BuilderProviderParams = {\n products: Products[];\n benefits: PaywallBenefits;\n};\n\ntype BuilderProviderProps = {\n params: BuilderProviderParams;\n children: React.ReactNode;\n};\n\nconst BuilderContext = createContext<BuilderProviderParams | undefined>(\n undefined,\n);\n\nexport function BuilderProvider({ params, children }: BuilderProviderProps) {\n const value = useMemo<BuilderProviderParams>(\n () => ({\n products: Array.isArray(params?.products) ? params.products : [],\n benefits:\n params?.benefits && typeof params.benefits === 'object'\n ? (params.benefits as PaywallBenefits)\n : {},\n }),\n [params?.benefits, params?.products],\n );\n\n return (\n <BuilderContext.Provider value={value}>{children}</BuilderContext.Provider>\n );\n}\n\nexport function useBuilderParams(): BuilderProviderParams {\n return useContext(BuilderContext) ?? { products: [], benefits: {} };\n}\n","import React, { createContext, useMemo } from 'react';\n\nexport type LocalizationParams = Record<string, string>;\nexport type OtherParams = Record<string, string | boolean | number>;\n\nexport type ParamsContextValue = {\n localizationParams: LocalizationParams;\n otherParams: OtherParams;\n};\n\nexport type ParamsProviderProps = {\n localizationParams?: LocalizationParams;\n otherParams?: OtherParams;\n children: React.ReactNode;\n};\n\nexport const ParamsContext = createContext<ParamsContextValue>({\n localizationParams: {},\n otherParams: {},\n});\n\nexport function ParamsProvider({\n localizationParams,\n otherParams,\n children,\n}: ParamsProviderProps) {\n const value = useMemo<ParamsContextValue>(\n () => ({\n localizationParams: localizationParams ?? {},\n otherParams: otherParams ?? {},\n }),\n [localizationParams, otherParams],\n );\n\n return (\n <ParamsContext.Provider value={value}>{children}</ParamsContext.Provider>\n );\n}\n","import { useContext } from 'react';\nimport { ParamsContext } from '../components/ParamsProvider';\n\nexport function useParams() {\n return (\n useContext(ParamsContext) ?? { localizationParams: {}, otherParams: {} }\n );\n}\n","import { useParams } from './useParams';\n\nexport function useLocalizationParams() {\n return useParams().localizationParams ?? {};\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim.production.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\n","/**\n * @license React\n * use-sync-external-store-shim.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar React = require(\"react\");\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useState = React.useState,\n useEffect = React.useEffect,\n useLayoutEffect = React.useLayoutEffect,\n useDebugValue = React.useDebugValue;\nfunction useSyncExternalStore$2(subscribe, getSnapshot) {\n var value = getSnapshot(),\n _useState = useState({ inst: { value: value, getSnapshot: getSnapshot } }),\n inst = _useState[0].inst,\n forceUpdate = _useState[1];\n useLayoutEffect(\n function () {\n inst.value = value;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n },\n [subscribe, value, getSnapshot]\n );\n useEffect(\n function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n });\n },\n [subscribe]\n );\n useDebugValue(value);\n return value;\n}\nfunction checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n}\nfunction useSyncExternalStore$1(subscribe, getSnapshot) {\n return getSnapshot();\n}\nvar shim =\n \"undefined\" === typeof window ||\n \"undefined\" === typeof window.document ||\n \"undefined\" === typeof window.document.createElement\n ? useSyncExternalStore$1\n : useSyncExternalStore$2;\nexports.useSyncExternalStore =\n void 0 !== React.useSyncExternalStore ? React.useSyncExternalStore : shim;\n","/**\n * @license React\n * use-sync-external-store-shim.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n }\n function useSyncExternalStore$2(subscribe, getSnapshot) {\n didWarnOld18Alpha ||\n void 0 === React.startTransition ||\n ((didWarnOld18Alpha = !0),\n console.error(\n \"You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release.\"\n ));\n var value = getSnapshot();\n if (!didWarnUncachedGetSnapshot) {\n var cachedValue = getSnapshot();\n objectIs(value, cachedValue) ||\n (console.error(\n \"The result of getSnapshot should be cached to avoid an infinite loop\"\n ),\n (didWarnUncachedGetSnapshot = !0));\n }\n cachedValue = useState({\n inst: { value: value, getSnapshot: getSnapshot }\n });\n var inst = cachedValue[0].inst,\n forceUpdate = cachedValue[1];\n useLayoutEffect(\n function () {\n inst.value = value;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n },\n [subscribe, value, getSnapshot]\n );\n useEffect(\n function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n });\n },\n [subscribe]\n );\n useDebugValue(value);\n return value;\n }\n function checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n }\n function useSyncExternalStore$1(subscribe, getSnapshot) {\n return getSnapshot();\n }\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());\n var React = require(\"react\"),\n objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useState = React.useState,\n useEffect = React.useEffect,\n useLayoutEffect = React.useLayoutEffect,\n useDebugValue = React.useDebugValue,\n didWarnOld18Alpha = !1,\n didWarnUncachedGetSnapshot = !1,\n shim =\n \"undefined\" === typeof window ||\n \"undefined\" === typeof window.document ||\n \"undefined\" === typeof window.document.createElement\n ? useSyncExternalStore$1\n : useSyncExternalStore$2;\n exports.useSyncExternalStore =\n void 0 !== React.useSyncExternalStore ? React.useSyncExternalStore : shim;\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());\n })();\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim/with-selector.production.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim/with-selector.development.js');\n}\n","/**\n * @license React\n * use-sync-external-store-shim/with-selector.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar React = require(\"react\"),\n shim = require(\"use-sync-external-store/shim\");\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useSyncExternalStore = shim.useSyncExternalStore,\n useRef = React.useRef,\n useEffect = React.useEffect,\n useMemo = React.useMemo,\n useDebugValue = React.useDebugValue;\nexports.useSyncExternalStoreWithSelector = function (\n subscribe,\n getSnapshot,\n getServerSnapshot,\n selector,\n isEqual\n) {\n var instRef = useRef(null);\n if (null === instRef.current) {\n var inst = { hasValue: !1, value: null };\n instRef.current = inst;\n } else inst = instRef.current;\n instRef = useMemo(\n function () {\n function memoizedSelector(nextSnapshot) {\n if (!hasMemo) {\n hasMemo = !0;\n memoizedSnapshot = nextSnapshot;\n nextSnapshot = selector(nextSnapshot);\n if (void 0 !== isEqual && inst.hasValue) {\n var currentSelection = inst.value;\n if (isEqual(currentSelection, nextSnapshot))\n return (memoizedSelection = currentSelection);\n }\n return (memoizedSelection = nextSnapshot);\n }\n currentSelection = memoizedSelection;\n if (objectIs(memoizedSnapshot, nextSnapshot)) return currentSelection;\n var nextSelection = selector(nextSnapshot);\n if (void 0 !== isEqual && isEqual(currentSelection, nextSelection))\n return (memoizedSnapshot = nextSnapshot), currentSelection;\n memoizedSnapshot = nextSnapshot;\n return (memoizedSelection = nextSelection);\n }\n var hasMemo = !1,\n memoizedSnapshot,\n memoizedSelection,\n maybeGetServerSnapshot =\n void 0 === getServerSnapshot ? null : getServerSnapshot;\n return [\n function () {\n return memoizedSelector(getSnapshot());\n },\n null === maybeGetServerSnapshot\n ? void 0\n : function () {\n return memoizedSelector(maybeGetServerSnapshot());\n }\n ];\n },\n [getSnapshot, getServerSnapshot, selector, isEqual]\n );\n var value = useSyncExternalStore(subscribe, instRef[0], instRef[1]);\n useEffect(\n function () {\n inst.hasValue = !0;\n inst.value = value;\n },\n [value]\n );\n useDebugValue(value);\n return value;\n};\n","/**\n * @license React\n * use-sync-external-store-shim/with-selector.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n }\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());\n var React = require(\"react\"),\n shim = require(\"use-sync-external-store/shim\"),\n objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useSyncExternalStore = shim.useSyncExternalStore,\n useRef = React.useRef,\n useEffect = React.useEffect,\n useMemo = React.useMemo,\n useDebugValue = React.useDebugValue;\n exports.useSyncExternalStoreWithSelector = function (\n subscribe,\n getSnapshot,\n getServerSnapshot,\n selector,\n isEqual\n ) {\n var instRef = useRef(null);\n if (null === instRef.current) {\n var inst = { hasValue: !1, value: null };\n instRef.current = inst;\n } else inst = instRef.current;\n instRef = useMemo(\n function () {\n function memoizedSelector(nextSnapshot) {\n if (!hasMemo) {\n hasMemo = !0;\n memoizedSnapshot = nextSnapshot;\n nextSnapshot = selector(nextSnapshot);\n if (void 0 !== isEqual && inst.hasValue) {\n var currentSelection = inst.value;\n if (isEqual(currentSelection, nextSnapshot))\n return (memoizedSelection = currentSelection);\n }\n return (memoizedSelection = nextSnapshot);\n }\n currentSelection = memoizedSelection;\n if (objectIs(memoizedSnapshot, nextSnapshot))\n return currentSelection;\n var nextSelection = selector(nextSnapshot);\n if (void 0 !== isEqual && isEqual(currentSelection, nextSelection))\n return (memoizedSnapshot = nextSnapshot), currentSelection;\n memoizedSnapshot = nextSnapshot;\n return (memoizedSelection = nextSelection);\n }\n var hasMemo = !1,\n memoizedSnapshot,\n memoizedSelection,\n maybeGetServerSnapshot =\n void 0 === getServerSnapshot ? null : getServerSnapshot;\n return [\n function () {\n return memoizedSelector(getSnapshot());\n },\n null === maybeGetServerSnapshot\n ? void 0\n : function () {\n return memoizedSelector(maybeGetServerSnapshot());\n }\n ];\n },\n [getSnapshot, getServerSnapshot, selector, isEqual]\n );\n var value = useSyncExternalStore(subscribe, instRef[0], instRef[1]);\n useEffect(\n function () {\n inst.hasValue = !0;\n inst.value = value;\n },\n [value]\n );\n useDebugValue(value);\n return value;\n };\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());\n })();\n","const createStoreImpl = (createState) => {\n let state;\n const listeners = /* @__PURE__ */ new Set();\n const setState = (partial, replace) => {\n const nextState = typeof partial === \"function\" ? partial(state) : partial;\n if (!Object.is(nextState, state)) {\n const previousState = state;\n state = (replace != null ? replace : typeof nextState !== \"object\" || nextState === null) ? nextState : Object.assign({}, state, nextState);\n listeners.forEach((listener) => listener(state, previousState));\n }\n };\n const getState = () => state;\n const getInitialState = () => initialState;\n const subscribe = (listener) => {\n listeners.add(listener);\n return () => listeners.delete(listener);\n };\n const api = { setState, getState, getInitialState, subscribe };\n const initialState = state = createState(setState, getState, api);\n return api;\n};\nconst createStore = ((createState) => createState ? createStoreImpl(createState) : createStoreImpl);\n\nexport { createStore };\n","import React from 'react';\nimport useSyncExternalStoreExports from 'use-sync-external-store/shim/with-selector.js';\nimport { createStore } from 'zustand/vanilla';\n\nconst { useSyncExternalStoreWithSelector } = useSyncExternalStoreExports;\nconst identity = (arg) => arg;\nfunction useStoreWithEqualityFn(api, selector = identity, equalityFn) {\n const slice = useSyncExternalStoreWithSelector(\n api.subscribe,\n api.getState,\n api.getInitialState,\n selector,\n equalityFn\n );\n React.useDebugValue(slice);\n return slice;\n}\nconst createWithEqualityFnImpl = (createState, defaultEqualityFn) => {\n const api = createStore(createState);\n const useBoundStoreWithEqualityFn = (selector, equalityFn = defaultEqualityFn) => useStoreWithEqualityFn(api, selector, equalityFn);\n Object.assign(useBoundStoreWithEqualityFn, api);\n return useBoundStoreWithEqualityFn;\n};\nconst createWithEqualityFn = ((createState, defaultEqualityFn) => createState ? createWithEqualityFnImpl(createState, defaultEqualityFn) : createWithEqualityFnImpl);\n\nexport { createWithEqualityFn, useStoreWithEqualityFn };\n","const isIterable = (obj) => Symbol.iterator in obj;\nconst hasIterableEntries = (value) => (\n // HACK: avoid checking entries type\n \"entries\" in value\n);\nconst compareEntries = (valueA, valueB) => {\n const mapA = valueA instanceof Map ? valueA : new Map(valueA.entries());\n const mapB = valueB instanceof Map ? valueB : new Map(valueB.entries());\n if (mapA.size !== mapB.size) {\n return false;\n }\n for (const [key, value] of mapA) {\n if (!mapB.has(key) || !Object.is(value, mapB.get(key))) {\n return false;\n }\n }\n return true;\n};\nconst compareIterables = (valueA, valueB) => {\n const iteratorA = valueA[Symbol.iterator]();\n const iteratorB = valueB[Symbol.iterator]();\n let nextA = iteratorA.next();\n let nextB = iteratorB.next();\n while (!nextA.done && !nextB.done) {\n if (!Object.is(nextA.value, nextB.value)) {\n return false;\n }\n nextA = iteratorA.next();\n nextB = iteratorB.next();\n }\n return !!nextA.done && !!nextB.done;\n};\nfunction shallow(valueA, valueB) {\n if (Object.is(valueA, valueB)) {\n return true;\n }\n if (typeof valueA !== \"object\" || valueA === null || typeof valueB !== \"object\" || valueB === null) {\n return false;\n }\n if (Object.getPrototypeOf(valueA) !== Object.getPrototypeOf(valueB)) {\n return false;\n }\n if (isIterable(valueA) && isIterable(valueB)) {\n if (hasIterableEntries(valueA) && hasIterableEntries(valueB)) {\n return compareEntries(valueA, valueB);\n }\n return compareIterables(valueA, valueB);\n }\n return compareEntries(\n { entries: () => Object.entries(valueA) },\n { entries: () => Object.entries(valueB) }\n );\n}\n\nexport { shallow };\n","import { Device } from '../types/Device';\nimport devices from '../assets/devices.json';\n\nexport function getDevices(): Device[] {\n const deviceList = (devices as Device[]).slice();\n deviceList.sort((a, b) => {\n const ai = a.importance ?? 999;\n const bi = b.importance ?? 999;\n return ai - bi;\n });\n return deviceList;\n}\n\n//TODO: object instead of function\nexport function getDefaultDevice(): Device {\n return getDevices()[0];\n}\n","const reduxImpl = (reducer, initial) => (set, _get, api) => {\n api.dispatch = (action) => {\n set((state) => reducer(state, action), false, action);\n return action;\n };\n api.dispatchFromDevtools = true;\n return { dispatch: (...args) => api.dispatch(...args), ...initial };\n};\nconst redux = reduxImpl;\n\nconst trackedConnections = /* @__PURE__ */ new Map();\nconst getTrackedConnectionState = (name) => {\n const api = trackedConnections.get(name);\n if (!api) return {};\n return Object.fromEntries(\n Object.entries(api.stores).map(([key, api2]) => [key, api2.getState()])\n );\n};\nconst extractConnectionInformation = (store, extensionConnector, options) => {\n if (store === void 0) {\n return {\n type: \"untracked\",\n connection: extensionConnector.connect(options)\n };\n }\n const existingConnection = trackedConnections.get(options.name);\n if (existingConnection) {\n return { type: \"tracked\", store, ...existingConnection };\n }\n const newConnection = {\n connection: extensionConnector.connect(options),\n stores: {}\n };\n trackedConnections.set(options.name, newConnection);\n return { type: \"tracked\", store, ...newConnection };\n};\nconst removeStoreFromTrackedConnections = (name, store) => {\n if (store === void 0) return;\n const connectionInfo = trackedConnections.get(name);\n if (!connectionInfo) return;\n delete connectionInfo.stores[store];\n if (Object.keys(connectionInfo.stores).length === 0) {\n trackedConnections.delete(name);\n }\n};\nconst findCallerName = (stack) => {\n var _a, _b;\n if (!stack) return void 0;\n const traceLines = stack.split(\"\\n\");\n const apiSetStateLineIndex = traceLines.findIndex(\n (traceLine) => traceLine.includes(\"api.setState\")\n );\n if (apiSetStateLineIndex < 0) return void 0;\n const callerLine = ((_a = traceLines[apiSetStateLineIndex + 1]) == null ? void 0 : _a.trim()) || \"\";\n return (_b = /.+ (.+) .+/.exec(callerLine)) == null ? void 0 : _b[1];\n};\nconst devtoolsImpl = (fn, devtoolsOptions = {}) => (set, get, api) => {\n const { enabled, anonymousActionType, store, ...options } = devtoolsOptions;\n let extensionConnector;\n try {\n extensionConnector = (enabled != null ? enabled : (import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") && window.__REDUX_DEVTOOLS_EXTENSION__;\n } catch (e) {\n }\n if (!extensionConnector) {\n return fn(set, get, api);\n }\n const { connection, ...connectionInformation } = extractConnectionInformation(store, extensionConnector, options);\n let isRecording = true;\n api.setState = ((state, replace, nameOrAction) => {\n const r = set(state, replace);\n if (!isRecording) return r;\n const action = nameOrAction === void 0 ? {\n type: anonymousActionType || findCallerName(new Error().stack) || \"anonymous\"\n } : typeof nameOrAction === \"string\" ? { type: nameOrAction } : nameOrAction;\n if (store === void 0) {\n connection == null ? void 0 : connection.send(action, get());\n return r;\n }\n connection == null ? void 0 : connection.send(\n {\n ...action,\n type: `${store}/${action.type}`\n },\n {\n ...getTrackedConnectionState(options.name),\n [store]: api.getState()\n }\n );\n return r;\n });\n api.devtools = {\n cleanup: () => {\n if (connection && typeof connection.unsubscribe === \"function\") {\n connection.unsubscribe();\n }\n removeStoreFromTrackedConnections(options.name, store);\n }\n };\n const setStateFromDevtools = (...a) => {\n const originalIsRecording = isRecording;\n isRecording = false;\n set(...a);\n isRecording = originalIsRecording;\n };\n const initialState = fn(api.setState, get, api);\n if (connectionInformation.type === \"untracked\") {\n connection == null ? void 0 : connection.init(initialState);\n } else {\n connectionInformation.stores[connectionInformation.store] = api;\n connection == null ? void 0 : connection.init(\n Object.fromEntries(\n Object.entries(connectionInformation.stores).map(([key, store2]) => [\n key,\n key === connectionInformation.store ? initialState : store2.getState()\n ])\n )\n );\n }\n if (api.dispatchFromDevtools && typeof api.dispatch === \"function\") {\n let didWarnAboutReservedActionType = false;\n const originalDispatch = api.dispatch;\n api.dispatch = (...args) => {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && args[0].type === \"__setState\" && !didWarnAboutReservedActionType) {\n console.warn(\n '[zustand devtools middleware] \"__setState\" action type is reserved to set state from the devtools. Avoid using it.'\n );\n didWarnAboutReservedActionType = true;\n }\n originalDispatch(...args);\n };\n }\n connection.subscribe((message) => {\n var _a;\n switch (message.type) {\n case \"ACTION\":\n if (typeof message.payload !== \"string\") {\n console.error(\n \"[zustand devtools middleware] Unsupported action format\"\n );\n return;\n }\n return parseJsonThen(\n message.payload,\n (action) => {\n if (action.type === \"__setState\") {\n if (store === void 0) {\n setStateFromDevtools(action.state);\n return;\n }\n if (Object.keys(action.state).length !== 1) {\n console.error(\n `\n [zustand devtools middleware] Unsupported __setState action format.\n When using 'store' option in devtools(), the 'state' should have only one key, which is a value of 'store' that was passed in devtools(),\n and value of this only key should be a state object. Example: { \"type\": \"__setState\", \"state\": { \"abc123Store\": { \"foo\": \"bar\" } } }\n `\n );\n }\n const stateFromDevtools = action.state[store];\n if (stateFromDevtools === void 0 || stateFromDevtools === null) {\n return;\n }\n if (JSON.stringify(api.getState()) !== JSON.stringify(stateFromDevtools)) {\n setStateFromDevtools(stateFromDevtools);\n }\n return;\n }\n if (!api.dispatchFromDevtools) return;\n if (typeof api.dispatch !== \"function\") return;\n api.dispatch(action);\n }\n );\n case \"DISPATCH\":\n switch (message.payload.type) {\n case \"RESET\":\n setStateFromDevtools(initialState);\n if (store === void 0) {\n return connection == null ? void 0 : connection.init(api.getState());\n }\n return connection == null ? void 0 : connection.init(getTrackedConnectionState(options.name));\n case \"COMMIT\":\n if (store === void 0) {\n connection == null ? void 0 : connection.init(api.getState());\n return;\n }\n return connection == null ? void 0 : connection.init(getTrackedConnectionState(options.name));\n case \"ROLLBACK\":\n return parseJsonThen(message.state, (state) => {\n if (store === void 0) {\n setStateFromDevtools(state);\n connection == null ? void 0 : connection.init(api.getState());\n return;\n }\n setStateFromDevtools(state[store]);\n connection == null ? void 0 : connection.init(getTrackedConnectionState(options.name));\n });\n case \"JUMP_TO_STATE\":\n case \"JUMP_TO_ACTION\":\n return parseJsonThen(message.state, (state) => {\n if (store === void 0) {\n setStateFromDevtools(state);\n return;\n }\n if (JSON.stringify(api.getState()) !== JSON.stringify(state[store])) {\n setStateFromDevtools(state[store]);\n }\n });\n case \"IMPORT_STATE\": {\n const { nextLiftedState } = message.payload;\n const lastComputedState = (_a = nextLiftedState.computedStates.slice(-1)[0]) == null ? void 0 : _a.state;\n if (!lastComputedState) return;\n if (store === void 0) {\n setStateFromDevtools(lastComputedState);\n } else {\n setStateFromDevtools(lastComputedState[store]);\n }\n connection == null ? void 0 : connection.send(\n null,\n // FIXME no-any\n nextLiftedState\n );\n return;\n }\n case \"PAUSE_RECORDING\":\n return isRecording = !isRecording;\n }\n return;\n }\n });\n return initialState;\n};\nconst devtools = devtoolsImpl;\nconst parseJsonThen = (stringified, fn) => {\n let parsed;\n try {\n parsed = JSON.parse(stringified);\n } catch (e) {\n console.error(\n \"[zustand devtools middleware] Could not parse the received json\",\n e\n );\n }\n if (parsed !== void 0) fn(parsed);\n};\n\nconst subscribeWithSelectorImpl = (fn) => (set, get, api) => {\n const origSubscribe = api.subscribe;\n api.subscribe = ((selector, optListener, options) => {\n let listener = selector;\n if (optListener) {\n const equalityFn = (options == null ? void 0 : options.equalityFn) || Object.is;\n let currentSlice = selector(api.getState());\n listener = (state) => {\n const nextSlice = selector(state);\n if (!equalityFn(currentSlice, nextSlice)) {\n const previousSlice = currentSlice;\n optListener(currentSlice = nextSlice, previousSlice);\n }\n };\n if (options == null ? void 0 : options.fireImmediately) {\n optListener(currentSlice, currentSlice);\n }\n }\n return origSubscribe(listener);\n });\n const initialState = fn(set, get, api);\n return initialState;\n};\nconst subscribeWithSelector = subscribeWithSelectorImpl;\n\nfunction combine(initialState, create) {\n return (...args) => Object.assign({}, initialState, create(...args));\n}\n\nfunction createJSONStorage(getStorage, options) {\n let storage;\n try {\n storage = getStorage();\n } catch (e) {\n return;\n }\n const persistStorage = {\n getItem: (name) => {\n var _a;\n const parse = (str2) => {\n if (str2 === null) {\n return null;\n }\n return JSON.parse(str2, options == null ? void 0 : options.reviver);\n };\n const str = (_a = storage.getItem(name)) != null ? _a : null;\n if (str instanceof Promise) {\n return str.then(parse);\n }\n return parse(str);\n },\n setItem: (name, newValue) => storage.setItem(name, JSON.stringify(newValue, options == null ? void 0 : options.replacer)),\n removeItem: (name) => storage.removeItem(name)\n };\n return persistStorage;\n}\nconst toThenable = (fn) => (input) => {\n try {\n const result = fn(input);\n if (result instanceof Promise) {\n return result;\n }\n return {\n then(onFulfilled) {\n return toThenable(onFulfilled)(result);\n },\n catch(_onRejected) {\n return this;\n }\n };\n } catch (e) {\n return {\n then(_onFulfilled) {\n return this;\n },\n catch(onRejected) {\n return toThenable(onRejected)(e);\n }\n };\n }\n};\nconst persistImpl = (config, baseOptions) => (set, get, api) => {\n let options = {\n storage: createJSONStorage(() => localStorage),\n partialize: (state) => state,\n version: 0,\n merge: (persistedState, currentState) => ({\n ...currentState,\n ...persistedState\n }),\n ...baseOptions\n };\n let hasHydrated = false;\n const hydrationListeners = /* @__PURE__ */ new Set();\n const finishHydrationListeners = /* @__PURE__ */ new Set();\n let storage = options.storage;\n if (!storage) {\n return config(\n (...args) => {\n console.warn(\n `[zustand persist middleware] Unable to update item '${options.name}', the given storage is currently unavailable.`\n );\n set(...args);\n },\n get,\n api\n );\n }\n const setItem = () => {\n const state = options.partialize({ ...get() });\n return storage.setItem(options.name, {\n state,\n version: options.version\n });\n };\n const savedSetState = api.setState;\n api.setState = (state, replace) => {\n savedSetState(state, replace);\n return setItem();\n };\n const configResult = config(\n (...args) => {\n set(...args);\n return setItem();\n },\n get,\n api\n );\n api.getInitialState = () => configResult;\n let stateFromStorage;\n const hydrate = () => {\n var _a, _b;\n if (!storage) return;\n hasHydrated = false;\n hydrationListeners.forEach((cb) => {\n var _a2;\n return cb((_a2 = get()) != null ? _a2 : configResult);\n });\n const postRehydrationCallback = ((_b = options.onRehydrateStorage) == null ? void 0 : _b.call(options, (_a = get()) != null ? _a : configResult)) || void 0;\n return toThenable(storage.getItem.bind(storage))(options.name).then((deserializedStorageValue) => {\n if (deserializedStorageValue) {\n if (typeof deserializedStorageValue.version === \"number\" && deserializedStorageValue.version !== options.version) {\n if (options.migrate) {\n const migration = options.migrate(\n deserializedStorageValue.state,\n deserializedStorageValue.version\n );\n if (migration instanceof Promise) {\n return migration.then((result) => [true, result]);\n }\n return [true, migration];\n }\n console.error(\n `State loaded from storage couldn't be migrated since no migrate function was provided`\n );\n } else {\n return [false, deserializedStorageValue.state];\n }\n }\n return [false, void 0];\n }).then((migrationResult) => {\n var _a2;\n const [migrated, migratedState] = migrationResult;\n stateFromStorage = options.merge(\n migratedState,\n (_a2 = get()) != null ? _a2 : configResult\n );\n set(stateFromStorage, true);\n if (migrated) {\n return setItem();\n }\n }).then(() => {\n postRehydrationCallback == null ? void 0 : postRehydrationCallback(stateFromStorage, void 0);\n stateFromStorage = get();\n hasHydrated = true;\n finishHydrationListeners.forEach((cb) => cb(stateFromStorage));\n }).catch((e) => {\n postRehydrationCallback == null ? void 0 : postRehydrationCallback(void 0, e);\n });\n };\n api.persist = {\n setOptions: (newOptions) => {\n options = {\n ...options,\n ...newOptions\n };\n if (newOptions.storage) {\n storage = newOptions.storage;\n }\n },\n clearStorage: () => {\n storage == null ? void 0 : storage.removeItem(options.name);\n },\n getOptions: () => options,\n rehydrate: () => hydrate(),\n hasHydrated: () => hasHydrated,\n onHydrate: (cb) => {\n hydrationListeners.add(cb);\n return () => {\n hydrationListeners.delete(cb);\n };\n },\n onFinishHydration: (cb) => {\n finishHydrationListeners.add(cb);\n return () => {\n finishHydrationListeners.delete(cb);\n };\n }\n };\n if (!options.skipHydration) {\n hydrate();\n }\n return stateFromStorage || configResult;\n};\nconst persist = persistImpl;\n\nexport { combine, createJSONStorage, devtools, persist, redux, subscribeWithSelector };\n","import { createWithEqualityFn } from 'zustand/traditional';\nimport { shallow } from 'zustand/shallow';\nimport type { Device } from './types/Device';\nimport {\n defaultAppConfig,\n type AppConfig,\n type Localication,\n} from './types/PreviewConfig';\nimport { getDefaultDevice } from './utils/getDevices';\nimport { ScreenStyle } from './RenderPage';\nimport { createJSONStorage, persist } from 'zustand/middleware';\nimport { Node } from './types/Node';\nimport type { LogEntry, LogLevel, ProjectColors } from './types/Project';\nimport type { Product } from './paywall/types/paywall-types';\nimport type {\n PaywallBenefits,\n PaywallBenefitValue,\n} from './paywall/types/benefits';\n\ntype RenderStore = {\n projectName: string;\n setProjectName: (name: string) => void;\n copiedNode: Node | null;\n setCopiedNode: (node: Node | null) => void;\n current: Node | null;\n setCurrent: (node: Node | null) => void;\n forceRender: number;\n incForceRender: () => void;\n device: Device;\n setDevice: (device: Device) => void;\n appConfig: AppConfig;\n setAppConfig: (appConfig: AppConfig) => void;\n projectColors?: ProjectColors;\n setProjectColors: (projectColors?: ProjectColors) => void;\n previewMode: boolean;\n setPreviewMode: (previewMode: boolean) => void;\n // Mockable: products (persisted)\n products: Product[];\n addProduct: () => void;\n removeProduct: (index: number) => void;\n updateProduct: (index: number, patch: Partial<Product>) => void;\n setProducts: (products: Product[]) => void;\n clearProducts: () => void;\n // Mockable: benefits (persisted)\n benefits: PaywallBenefits;\n setBenefits: (benefits: PaywallBenefits) => void;\n clearBenefits: () => void;\n upsertBenefit: (key: string, value: PaywallBenefitValue) => void;\n removeBenefit: (key: string) => void;\n renameBenefit: (fromKey: string, toKey: string) => void;\n // Logging\n logs: LogEntry[];\n logLevel: LogLevel;\n setLogLevel: (level: LogLevel) => void;\n addLog: (\n entry: Omit<LogEntry, 'id' | 'timestamp'> & {\n id?: string;\n timestamp?: number;\n },\n ) => void;\n clearLogs: () => void;\n};\n\nexport const useRenderStore = createWithEqualityFn<RenderStore>()(\n persist(\n (set) => ({\n projectName: '',\n setProjectName: (name) => set({ projectName: name }),\n copiedNode: null,\n setCopiedNode: (node) => set({ copiedNode: node }),\n current: null,\n setCurrent: (node) => set({ current: node }),\n forceRender: 0,\n incForceRender: () =>\n set((state) => ({ forceRender: state.forceRender + 1 })),\n device: getDefaultDevice(),\n setDevice: (device) => set({ device }),\n appConfig: defaultAppConfig,\n setAppConfig: (appConfig) => set({ appConfig }),\n projectColors: undefined,\n setProjectColors: (projectColors) => set({ projectColors }),\n previewMode: false,\n setPreviewMode: (previewMode) => set({ previewMode }),\n products: [],\n addProduct: () =>\n set((state) => ({\n products: [\n ...(Array.isArray(state.products) ? state.products : []),\n {\n productId: '',\n title: '',\n description: '',\n localizedPrice: '',\n price: '',\n currency: '',\n },\n ],\n })),\n removeProduct: (index) =>\n set((state) => ({\n products: state.products.filter((_, idx) => idx !== index),\n })),\n updateProduct: (index, patch) =>\n set((state) => {\n const prev = state.products;\n if (!Array.isArray(prev)) return state;\n if (index < 0 || index >= prev.length) return state;\n const next = prev.map((p, idx) =>\n idx === index ? { ...p, ...(patch ?? {}) } : p,\n );\n return { products: next };\n }),\n setProducts: (products) =>\n set({\n products: Array.isArray(products) ? products : [],\n }),\n clearProducts: () => set({ products: [] }),\n\n benefits: {},\n setBenefits: (benefits) =>\n set({\n benefits:\n benefits && typeof benefits === 'object' && !Array.isArray(benefits)\n ? (benefits as PaywallBenefits)\n : {},\n }),\n clearBenefits: () => set({ benefits: {} }),\n upsertBenefit: (key, value) =>\n set((state) => {\n const normalizedKey = typeof key === 'string' ? key.trim() : '';\n if (!normalizedKey) return state;\n if (\n typeof value !== 'string' &&\n typeof value !== 'number' &&\n typeof value !== 'boolean'\n ) {\n return state;\n }\n const prev = state.benefits;\n const next: PaywallBenefits = { ...(prev ?? {}) };\n next[normalizedKey] = value;\n return { benefits: next };\n }),\n removeBenefit: (key) =>\n set((state) => {\n const normalizedKey = typeof key === 'string' ? key.trim() : '';\n if (!normalizedKey) return state;\n const prev = state.benefits;\n if (!prev || typeof prev !== 'object') return state;\n if (!(normalizedKey in prev)) return state;\n const next: PaywallBenefits = { ...(prev ?? {}) };\n delete next[normalizedKey];\n return { benefits: next };\n }),\n renameBenefit: (fromKey, toKey) =>\n set((state) => {\n const from = typeof fromKey === 'string' ? fromKey.trim() : '';\n const to = typeof toKey === 'string' ? toKey.trim() : '';\n if (!from || !to) return state;\n if (from === to) return state;\n const prev = state.benefits;\n if (!prev || typeof prev !== 'object') return state;\n if (!(from in prev)) return state;\n const next: PaywallBenefits = { ...(prev ?? {}) };\n const value = next[from] as PaywallBenefitValue;\n delete next[from];\n next[to] = value;\n return { benefits: next };\n }),\n // Logging defaults\n logs: [],\n logLevel: 'INFO',\n setLogLevel: (level) => set({ logLevel: level }),\n addLog: (entry) =>\n set((state) => {\n const now = Date.now();\n const id =\n entry.id ?? `${now}-${Math.random().toString(36).slice(2, 8)}`;\n const timestamp = entry.timestamp ?? now;\n const newEntry: LogEntry = {\n id,\n timestamp,\n level: entry.level,\n source: entry.source,\n message: entry.message,\n payload: entry.payload,\n };\n return { logs: [...state.logs, newEntry] };\n }),\n clearLogs: () => set({ logs: [] }),\n }),\n {\n name: 'render-store',\n partialize: (state) => ({\n // Explicitly DO NOT persist projectName (it comes from ProjectPage props)\n copiedNode: state.copiedNode ?? null,\n logLevel: state.logLevel,\n products: state.products,\n benefits: state.benefits,\n }),\n storage: createJSONStorage(() => localStorage),\n },\n ),\n shallow,\n);\n","export function generateRandomKeyForNode(type: string) {\n return type + '-' + Math.random().toString(36).substring(2, 15);\n}\n","/* AUTO-GENERATED FILE - DO NOT EDIT */\n\n// Export resolved patterns (after extends resolution)\nexport const patterns = [\n {\n schemaVersion: 1,\n allowUnknownAttributes: false,\n pattern: {\n type: 'BIcon',\n children: 'never',\n attributes: {\n color: 'color',\n fontSize: 'size',\n fontWeight: [\n 'normal',\n 'bold',\n '100',\n '200',\n '300',\n '400',\n '500',\n '600',\n '700',\n '800',\n '900',\n ],\n textAlign: ['left', 'center', 'right', 'justify'],\n scrollable: 'boolean',\n flexDirection: ['row', 'column'],\n alignItems: ['flex-start', 'center', 'flex-end', 'stretch', 'baseline'],\n justifyContent: [\n 'flex-start',\n 'center',\n 'flex-end',\n 'space-between',\n 'space-around',\n 'space-evenly',\n ],\n gap: 'size',\n padding: 'size',\n paddingHorizontal: 'size',\n paddingVertical: 'size',\n paddingTop: 'size',\n paddingBottom: 'size',\n paddingLeft: 'size',\n paddingRight: 'size',\n margin: 'size',\n marginVertical: 'size',\n marginTop: 'size',\n marginBottom: 'size',\n marginLeft: 'size',\n marginRight: 'size',\n backgroundColor: 'color',\n borderRadius: 'size',\n width: 'size',\n minWidth: 'size',\n maxWidth: 'size',\n height: 'size',\n minHeight: 'size',\n maxHeight: 'size',\n flex: 'number',\n position: ['relative', 'absolute'],\n top: 'size',\n bottom: 'size',\n left: 'size',\n right: 'size',\n zIndex: 'number',\n iconType: 'iconType',\n size: 'number',\n strokeWidth: 'number',\n },\n defaults: { iconType: 'activity', fontSize: '16', strokeWidth: 1.5 },\n },\n meta: {\n desiredParent: ['all'],\n label: 'BIcon',\n description: 'Renders an icon from the icon set.',\n attributes: {\n color: {\n label: 'Color',\n description: 'Text color.',\n category: 'style',\n specialCategory: null,\n sort: 1,\n },\n fontSize: {\n label: 'Font Size',\n description: 'Text size.',\n category: 'style',\n specialCategory: null,\n sort: 2,\n preferedScale: 's',\n },\n fontWeight: {\n label: 'Font Weight',\n description: 'Text weight.',\n category: 'style',\n specialCategory: null,\n sort: 3,\n },\n textAlign: {\n label: 'Text Align',\n description: 'Text alignment.',\n category: 'style',\n specialCategory: null,\n sort: 4,\n },\n scrollable: {\n label: 'Scrollable',\n description: 'Turns scroll interaction on.',\n category: 'container',\n specialCategory: null,\n sort: -1,\n },\n flexDirection: {\n label: 'Flex Direction',\n description: 'Sets row or column layout.',\n category: 'container',\n specialCategory: null,\n sort: 4,\n },\n alignItems: {\n label: 'Align Items',\n description: 'Controls cross-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n justifyContent: {\n label: 'Justify Content',\n description: 'Controls main-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 5,\n },\n gap: {\n label: 'Gap',\n description: 'Space between children.',\n category: 'container',\n specialCategory: null,\n sort: 10,\n preferedScale: 's',\n },\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n specialCategory: 'padding',\n sort: 6,\n preferedScale: 's',\n },\n paddingHorizontal: {\n label: 'Padding Horizontal',\n description: 'Left and right padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 7,\n preferedScale: 's',\n },\n paddingVertical: {\n label: 'Padding Vertical',\n description: 'Top and bottom padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 8,\n preferedScale: 'vs',\n },\n paddingTop: {\n label: 'Padding Top',\n description: 'Top padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 9,\n preferedScale: 'vs',\n },\n paddingBottom: {\n label: 'Padding Bottom',\n description: 'Bottom padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 10,\n preferedScale: 'vs',\n },\n paddingLeft: {\n label: 'Padding Left',\n description: 'Left padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 11,\n preferedScale: 's',\n },\n paddingRight: {\n label: 'Padding Right',\n description: 'Right padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 12,\n preferedScale: 's',\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n specialCategory: 'margin',\n sort: 13,\n preferedScale: 's',\n },\n marginHorizontal: {\n label: 'Margin Horizontal',\n description: 'Left and right margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 14,\n preferedScale: 's',\n },\n marginVertical: {\n label: 'Margin Vertical',\n description: 'Top and bottom margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 15,\n preferedScale: 'vs',\n },\n marginTop: {\n label: 'Margin Top',\n description: 'Top margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 16,\n preferedScale: 'vs',\n },\n marginBottom: {\n label: 'Margin Bottom',\n description: 'Bottom margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 17,\n preferedScale: 'vs',\n },\n marginLeft: {\n label: 'Margin Left',\n description: 'Left margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 18,\n preferedScale: 's',\n },\n marginRight: {\n label: 'Margin Right',\n description: 'Right margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 19,\n preferedScale: 's',\n },\n backgroundColor: {\n label: 'Background Color',\n description: 'Background fill color.',\n category: 'style',\n specialCategory: null,\n sort: 20,\n },\n borderRadius: {\n label: 'Border Radius',\n description: 'Corner rounding amount.',\n category: 'style',\n specialCategory: null,\n sort: 21,\n preferedScale: 's',\n },\n width: {\n label: 'Width',\n description: 'Fixed width value.',\n category: 'container',\n specialCategory: 'size',\n sort: 0,\n preferedScale: 's',\n },\n minWidth: {\n label: 'Min Width',\n description: 'Minimum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 1,\n preferedScale: 's',\n },\n maxWidth: {\n label: 'Max Width',\n description: 'Maximum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 2,\n preferedScale: 's',\n },\n height: {\n label: 'Height',\n description: 'Fixed height value.',\n category: 'container',\n specialCategory: 'size',\n sort: 3,\n preferedScale: 'vs',\n },\n minHeight: {\n label: 'Min Height',\n description: 'Minimum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 4,\n preferedScale: 'vs',\n },\n maxHeight: {\n label: 'Max Height',\n description: 'Maximum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 5,\n preferedScale: 'vs',\n },\n flex: {\n label: 'Flex',\n description: 'Flex grow factor (e.g. 1 fills available space).',\n category: 'container',\n specialCategory: 'size',\n sort: 6,\n },\n position: {\n label: 'Position',\n description: 'Sets layout positioning mode.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n top: {\n label: 'Top',\n description: 'Offset from the top edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 22,\n preferedScale: 'vs',\n },\n bottom: {\n label: 'Bottom',\n description: 'Offset from the bottom edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 23,\n preferedScale: 'vs',\n },\n left: {\n label: 'Left',\n description: 'Offset from the left edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 24,\n preferedScale: 's',\n },\n right: {\n label: 'Right',\n description: 'Offset from the right edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 25,\n preferedScale: 's',\n },\n zIndex: {\n label: 'Z-Index',\n description: 'Controls stacking order.',\n category: 'container',\n specialCategory: null,\n sort: 26,\n },\n iconType: {\n label: 'Icon',\n description: 'Which icon to render.',\n category: 'other',\n specialCategory: null,\n sort: 1,\n },\n size: {\n label: 'Size',\n description: 'Icon size (px).',\n category: 'style',\n specialCategory: null,\n sort: 2,\n },\n strokeWidth: {\n label: 'Stroke Width',\n description: 'SVG stroke width override (applied to the icon paths).',\n category: 'style',\n specialCategory: null,\n sort: 3,\n },\n },\n specialCategories: {\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n sort: 1,\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n sort: 2,\n },\n size: {\n label: 'Size',\n description: 'Fixed dimensions.',\n category: 'container',\n sort: 3,\n },\n offset: {\n label: 'Offset',\n description: 'Absolute positioning offsets.',\n category: 'container',\n sort: 4,\n },\n },\n },\n types: {},\n defaults: {\n iconType: 'activity',\n fontSize: '16',\n strokeWidth: 1.5,\n flexDirection: 'column',\n position: 'relative',\n zIndex: 1,\n },\n },\n {\n schemaVersion: 1,\n allowUnknownAttributes: false,\n pattern: {\n type: 'BackgroundImage',\n children: 'never',\n attributes: {\n scrollable: 'boolean',\n flexDirection: ['row', 'column'],\n alignItems: ['flex-start', 'center', 'flex-end', 'stretch', 'baseline'],\n justifyContent: [\n 'flex-start',\n 'center',\n 'flex-end',\n 'space-between',\n 'space-around',\n 'space-evenly',\n ],\n gap: 'size',\n padding: 'size',\n paddingHorizontal: 'size',\n paddingVertical: 'size',\n paddingTop: 'size',\n paddingBottom: 'size',\n paddingLeft: 'size',\n paddingRight: 'size',\n margin: 'size',\n marginVertical: 'size',\n marginTop: 'size',\n marginBottom: 'size',\n marginLeft: 'size',\n marginRight: 'size',\n backgroundColor: 'color',\n borderRadius: 'size',\n width: 'size',\n minWidth: 'size',\n maxWidth: 'size',\n height: 'size',\n minHeight: 'size',\n maxHeight: 'size',\n flex: 'number',\n position: ['relative', 'absolute'],\n top: 'size',\n bottom: 'size',\n left: 'size',\n right: 'size',\n zIndex: 'number',\n src: 'string',\n resizeMode: ['cover', 'contain', 'stretch', 'center'],\n },\n defaults: {\n resizeMode: 'cover',\n width: '100%',\n height: '100%',\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n zIndex: 0,\n },\n },\n meta: {\n desiredParent: ['all', 'background'],\n label: 'Background Image',\n description: 'Background image.',\n specialCategories: {\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n sort: 1,\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n sort: 2,\n },\n size: {\n label: 'Size',\n description: 'Fixed dimensions.',\n category: 'container',\n sort: 3,\n },\n offset: {\n label: 'Offset',\n description: 'Absolute positioning offsets.',\n category: 'container',\n sort: 4,\n },\n },\n attributes: {\n scrollable: {\n label: 'Scrollable',\n description: 'Turns scroll interaction on.',\n category: 'container',\n specialCategory: null,\n sort: -1,\n },\n flexDirection: {\n label: 'Flex Direction',\n description: 'Sets row or column layout.',\n category: 'container',\n specialCategory: null,\n sort: 4,\n },\n alignItems: {\n label: 'Align Items',\n description: 'Controls cross-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n justifyContent: {\n label: 'Justify Content',\n description: 'Controls main-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 5,\n },\n gap: {\n label: 'Gap',\n description: 'Space between children.',\n category: 'container',\n specialCategory: null,\n sort: 10,\n preferedScale: 's',\n },\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n specialCategory: 'padding',\n sort: 6,\n preferedScale: 's',\n },\n paddingHorizontal: {\n label: 'Padding Horizontal',\n description: 'Left and right padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 7,\n preferedScale: 's',\n },\n paddingVertical: {\n label: 'Padding Vertical',\n description: 'Top and bottom padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 8,\n preferedScale: 'vs',\n },\n paddingTop: {\n label: 'Padding Top',\n description: 'Top padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 9,\n preferedScale: 'vs',\n },\n paddingBottom: {\n label: 'Padding Bottom',\n description: 'Bottom padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 10,\n preferedScale: 'vs',\n },\n paddingLeft: {\n label: 'Padding Left',\n description: 'Left padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 11,\n preferedScale: 's',\n },\n paddingRight: {\n label: 'Padding Right',\n description: 'Right padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 12,\n preferedScale: 's',\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n specialCategory: 'margin',\n sort: 13,\n preferedScale: 's',\n },\n marginHorizontal: {\n label: 'Margin Horizontal',\n description: 'Left and right margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 14,\n preferedScale: 's',\n },\n marginVertical: {\n label: 'Margin Vertical',\n description: 'Top and bottom margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 15,\n preferedScale: 'vs',\n },\n marginTop: {\n label: 'Margin Top',\n description: 'Top margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 16,\n preferedScale: 'vs',\n },\n marginBottom: {\n label: 'Margin Bottom',\n description: 'Bottom margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 17,\n preferedScale: 'vs',\n },\n marginLeft: {\n label: 'Margin Left',\n description: 'Left margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 18,\n preferedScale: 's',\n },\n marginRight: {\n label: 'Margin Right',\n description: 'Right margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 19,\n preferedScale: 's',\n },\n backgroundColor: {\n label: 'Background Color',\n description: 'Background fill color.',\n category: 'style',\n specialCategory: null,\n sort: 20,\n },\n borderRadius: {\n label: 'Border Radius',\n description: 'Corner rounding amount.',\n category: 'style',\n specialCategory: null,\n sort: 21,\n preferedScale: 's',\n },\n width: {\n label: 'Width',\n description: 'Fixed width value.',\n category: 'container',\n specialCategory: 'size',\n sort: 0,\n preferedScale: 's',\n },\n minWidth: {\n label: 'Min Width',\n description: 'Minimum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 1,\n preferedScale: 's',\n },\n maxWidth: {\n label: 'Max Width',\n description: 'Maximum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 2,\n preferedScale: 's',\n },\n height: {\n label: 'Height',\n description: 'Fixed height value.',\n category: 'container',\n specialCategory: 'size',\n sort: 3,\n preferedScale: 'vs',\n },\n minHeight: {\n label: 'Min Height',\n description: 'Minimum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 4,\n preferedScale: 'vs',\n },\n maxHeight: {\n label: 'Max Height',\n description: 'Maximum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 5,\n preferedScale: 'vs',\n },\n flex: {\n label: 'Flex',\n description: 'Flex grow factor (e.g. 1 fills available space).',\n category: 'container',\n specialCategory: 'size',\n sort: 6,\n },\n position: {\n label: 'Position',\n description: 'Sets layout positioning mode.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n top: {\n label: 'Top',\n description: 'Offset from the top edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 22,\n preferedScale: 'vs',\n },\n bottom: {\n label: 'Bottom',\n description: 'Offset from the bottom edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 23,\n preferedScale: 'vs',\n },\n left: {\n label: 'Left',\n description: 'Offset from the left edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 24,\n preferedScale: 's',\n },\n right: {\n label: 'Right',\n description: 'Offset from the right edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 25,\n preferedScale: 's',\n },\n zIndex: {\n label: 'Z-Index',\n description: 'Controls stacking order.',\n category: 'container',\n specialCategory: null,\n sort: 26,\n },\n src: {\n label: 'Src',\n description: 'Image source URL.',\n category: 'other',\n specialCategory: null,\n sort: 1,\n },\n resizeMode: {\n label: 'Resize Mode',\n description: 'How the image fits its container.',\n category: 'style',\n specialCategory: null,\n sort: 4,\n },\n },\n },\n types: {},\n defaults: {\n resizeMode: 'cover',\n width: '100%',\n height: '100%',\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n zIndex: 0,\n flexDirection: 'column',\n },\n },\n {\n schemaVersion: 1,\n allowUnknownAttributes: false,\n pattern: {\n type: 'Button',\n children: 'string',\n attributes: {\n scrollable: 'boolean',\n flexDirection: ['row', 'column'],\n alignItems: ['flex-start', 'center', 'flex-end', 'stretch', 'baseline'],\n justifyContent: [\n 'flex-start',\n 'center',\n 'flex-end',\n 'space-between',\n 'space-around',\n 'space-evenly',\n ],\n gap: 'size',\n padding: 'size',\n paddingHorizontal: 'size',\n paddingVertical: 'size',\n paddingTop: 'size',\n paddingBottom: 'size',\n paddingLeft: 'size',\n paddingRight: 'size',\n margin: 'size',\n marginVertical: 'size',\n marginTop: 'size',\n marginBottom: 'size',\n marginLeft: 'size',\n marginRight: 'size',\n backgroundColor: 'color',\n borderRadius: 'size',\n width: 'size',\n minWidth: 'size',\n maxWidth: 'size',\n height: 'size',\n minHeight: 'size',\n maxHeight: 'size',\n flex: 'number',\n position: ['relative', 'absolute'],\n top: 'size',\n bottom: 'size',\n left: 'size',\n right: 'size',\n zIndex: 'number',\n color: 'color',\n fontSize: 'size',\n fontWeight: [\n 'normal',\n 'bold',\n '100',\n '200',\n '300',\n '400',\n '500',\n '600',\n '700',\n '800',\n '900',\n ],\n },\n defaults: { backgroundColor: 'transparent' },\n },\n meta: {\n desiredParent: ['all'],\n label: 'Button',\n description: 'Simple action button.',\n specialCategories: {\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n sort: 1,\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n sort: 2,\n },\n size: {\n label: 'Size',\n description: 'Fixed dimensions.',\n category: 'container',\n sort: 3,\n },\n offset: {\n label: 'Offset',\n description: 'Absolute positioning offsets.',\n category: 'container',\n sort: 4,\n },\n },\n attributes: {\n scrollable: {\n label: 'Scrollable',\n description: 'Turns scroll interaction on.',\n category: 'container',\n specialCategory: null,\n sort: -1,\n },\n flexDirection: {\n label: 'Flex Direction',\n description: 'Sets row or column layout.',\n category: 'container',\n specialCategory: null,\n sort: 4,\n },\n alignItems: {\n label: 'Align Items',\n description: 'Controls cross-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n justifyContent: {\n label: 'Justify Content',\n description: 'Controls main-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 5,\n },\n gap: {\n label: 'Gap',\n description: 'Space between children.',\n category: 'container',\n specialCategory: null,\n sort: 10,\n preferedScale: 's',\n },\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n specialCategory: 'padding',\n sort: 6,\n preferedScale: 's',\n },\n paddingHorizontal: {\n label: 'Padding Horizontal',\n description: 'Left and right padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 7,\n preferedScale: 's',\n },\n paddingVertical: {\n label: 'Padding Vertical',\n description: 'Top and bottom padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 8,\n preferedScale: 'vs',\n },\n paddingTop: {\n label: 'Padding Top',\n description: 'Top padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 9,\n preferedScale: 'vs',\n },\n paddingBottom: {\n label: 'Padding Bottom',\n description: 'Bottom padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 10,\n preferedScale: 'vs',\n },\n paddingLeft: {\n label: 'Padding Left',\n description: 'Left padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 11,\n preferedScale: 's',\n },\n paddingRight: {\n label: 'Padding Right',\n description: 'Right padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 12,\n preferedScale: 's',\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n specialCategory: 'margin',\n sort: 13,\n preferedScale: 's',\n },\n marginHorizontal: {\n label: 'Margin Horizontal',\n description: 'Left and right margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 14,\n preferedScale: 's',\n },\n marginVertical: {\n label: 'Margin Vertical',\n description: 'Top and bottom margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 15,\n preferedScale: 'vs',\n },\n marginTop: {\n label: 'Margin Top',\n description: 'Top margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 16,\n preferedScale: 'vs',\n },\n marginBottom: {\n label: 'Margin Bottom',\n description: 'Bottom margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 17,\n preferedScale: 'vs',\n },\n marginLeft: {\n label: 'Margin Left',\n description: 'Left margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 18,\n preferedScale: 's',\n },\n marginRight: {\n label: 'Margin Right',\n description: 'Right margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 19,\n preferedScale: 's',\n },\n backgroundColor: {\n label: 'Background Color',\n description: 'Background fill color.',\n category: 'style',\n specialCategory: null,\n sort: 20,\n },\n borderRadius: {\n label: 'Border Radius',\n description: 'Corner rounding amount.',\n category: 'style',\n specialCategory: null,\n sort: 21,\n preferedScale: 's',\n },\n width: {\n label: 'Width',\n description: 'Fixed width value.',\n category: 'container',\n specialCategory: 'size',\n sort: 0,\n preferedScale: 's',\n },\n minWidth: {\n label: 'Min Width',\n description: 'Minimum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 1,\n preferedScale: 's',\n },\n maxWidth: {\n label: 'Max Width',\n description: 'Maximum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 2,\n preferedScale: 's',\n },\n height: {\n label: 'Height',\n description: 'Fixed height value.',\n category: 'container',\n specialCategory: 'size',\n sort: 3,\n preferedScale: 'vs',\n },\n minHeight: {\n label: 'Min Height',\n description: 'Minimum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 4,\n preferedScale: 'vs',\n },\n maxHeight: {\n label: 'Max Height',\n description: 'Maximum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 5,\n preferedScale: 'vs',\n },\n flex: {\n label: 'Flex',\n description: 'Flex grow factor (e.g. 1 fills available space).',\n category: 'container',\n specialCategory: 'size',\n sort: 6,\n },\n position: {\n label: 'Position',\n description: 'Sets layout positioning mode.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n top: {\n label: 'Top',\n description: 'Offset from the top edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 22,\n preferedScale: 'vs',\n },\n bottom: {\n label: 'Bottom',\n description: 'Offset from the bottom edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 23,\n preferedScale: 'vs',\n },\n left: {\n label: 'Left',\n description: 'Offset from the left edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 24,\n preferedScale: 's',\n },\n right: {\n label: 'Right',\n description: 'Offset from the right edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 25,\n preferedScale: 's',\n },\n zIndex: {\n label: 'Z-Index',\n description: 'Controls stacking order.',\n category: 'container',\n specialCategory: null,\n sort: 26,\n },\n color: {\n label: 'Color',\n description: 'Text color of the button.',\n category: 'style',\n specialCategory: null,\n sort: 1,\n },\n fontSize: {\n label: 'Font Size',\n description: 'Text size of the button.',\n category: 'style',\n specialCategory: null,\n sort: 2,\n },\n fontWeight: {\n label: 'Font Weight',\n description: 'Text weight of the button.',\n category: 'style',\n specialCategory: null,\n sort: 3,\n },\n },\n },\n types: {},\n defaults: {\n backgroundColor: 'transparent',\n flexDirection: 'column',\n position: 'relative',\n zIndex: 1,\n },\n },\n {\n schemaVersion: 1,\n allowUnknownAttributes: false,\n pattern: {\n type: 'Carousel',\n children: 'CarouselItem',\n attributes: {\n scrollable: 'boolean',\n flexDirection: ['row', 'column'],\n alignItems: ['flex-start', 'center', 'flex-end', 'stretch', 'baseline'],\n justifyContent: [\n 'flex-start',\n 'center',\n 'flex-end',\n 'space-between',\n 'space-around',\n 'space-evenly',\n ],\n gap: 'size',\n padding: 'size',\n paddingHorizontal: 'size',\n paddingVertical: 'size',\n paddingTop: 'size',\n paddingBottom: 'size',\n paddingLeft: 'size',\n paddingRight: 'size',\n margin: 'size',\n marginVertical: 'size',\n marginTop: 'size',\n marginBottom: 'size',\n marginLeft: 'size',\n marginRight: 'size',\n backgroundColor: 'color',\n borderRadius: 'size',\n width: 'size',\n minWidth: 'size',\n maxWidth: 'size',\n height: 'size',\n minHeight: 'size',\n maxHeight: 'size',\n flex: 'number',\n position: ['relative', 'absolute'],\n top: 'size',\n bottom: 'size',\n left: 'size',\n right: 'size',\n zIndex: 'number',\n },\n defaults: { flexDirection: 'row' },\n },\n meta: {\n desiredParent: ['=CarouselProvider'],\n label: 'Carousel',\n description: 'Container for carousel items.',\n specialCategories: {\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n sort: 1,\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n sort: 2,\n },\n size: {\n label: 'Size',\n description: 'Fixed dimensions.',\n category: 'container',\n sort: 3,\n },\n offset: {\n label: 'Offset',\n description: 'Absolute positioning offsets.',\n category: 'container',\n sort: 4,\n },\n },\n attributes: {\n scrollable: {\n label: 'Scrollable',\n description: 'Turns scroll interaction on.',\n category: 'container',\n specialCategory: null,\n sort: -1,\n },\n flexDirection: {\n label: 'Flex Direction',\n description: 'Sets row or column layout.',\n category: 'container',\n specialCategory: null,\n sort: 4,\n },\n alignItems: {\n label: 'Align Items',\n description: 'Controls cross-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n justifyContent: {\n label: 'Justify Content',\n description: 'Controls main-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 5,\n },\n gap: {\n label: 'Gap',\n description: 'Space between children.',\n category: 'container',\n specialCategory: null,\n sort: 10,\n preferedScale: 's',\n },\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n specialCategory: 'padding',\n sort: 6,\n preferedScale: 's',\n },\n paddingHorizontal: {\n label: 'Padding Horizontal',\n description: 'Left and right padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 7,\n preferedScale: 's',\n },\n paddingVertical: {\n label: 'Padding Vertical',\n description: 'Top and bottom padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 8,\n preferedScale: 'vs',\n },\n paddingTop: {\n label: 'Padding Top',\n description: 'Top padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 9,\n preferedScale: 'vs',\n },\n paddingBottom: {\n label: 'Padding Bottom',\n description: 'Bottom padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 10,\n preferedScale: 'vs',\n },\n paddingLeft: {\n label: 'Padding Left',\n description: 'Left padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 11,\n preferedScale: 's',\n },\n paddingRight: {\n label: 'Padding Right',\n description: 'Right padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 12,\n preferedScale: 's',\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n specialCategory: 'margin',\n sort: 13,\n preferedScale: 's',\n },\n marginHorizontal: {\n label: 'Margin Horizontal',\n description: 'Left and right margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 14,\n preferedScale: 's',\n },\n marginVertical: {\n label: 'Margin Vertical',\n description: 'Top and bottom margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 15,\n preferedScale: 'vs',\n },\n marginTop: {\n label: 'Margin Top',\n description: 'Top margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 16,\n preferedScale: 'vs',\n },\n marginBottom: {\n label: 'Margin Bottom',\n description: 'Bottom margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 17,\n preferedScale: 'vs',\n },\n marginLeft: {\n label: 'Margin Left',\n description: 'Left margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 18,\n preferedScale: 's',\n },\n marginRight: {\n label: 'Margin Right',\n description: 'Right margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 19,\n preferedScale: 's',\n },\n backgroundColor: {\n label: 'Background Color',\n description: 'Background fill color.',\n category: 'style',\n specialCategory: null,\n sort: 20,\n },\n borderRadius: {\n label: 'Border Radius',\n description: 'Corner rounding amount.',\n category: 'style',\n specialCategory: null,\n sort: 21,\n preferedScale: 's',\n },\n width: {\n label: 'Width',\n description: 'Fixed width value.',\n category: 'container',\n specialCategory: 'size',\n sort: 0,\n preferedScale: 's',\n },\n minWidth: {\n label: 'Min Width',\n description: 'Minimum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 1,\n preferedScale: 's',\n },\n maxWidth: {\n label: 'Max Width',\n description: 'Maximum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 2,\n preferedScale: 's',\n },\n height: {\n label: 'Height',\n description: 'Fixed height value.',\n category: 'container',\n specialCategory: 'size',\n sort: 3,\n preferedScale: 'vs',\n },\n minHeight: {\n label: 'Min Height',\n description: 'Minimum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 4,\n preferedScale: 'vs',\n },\n maxHeight: {\n label: 'Max Height',\n description: 'Maximum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 5,\n preferedScale: 'vs',\n },\n flex: {\n label: 'Flex',\n description: 'Flex grow factor (e.g. 1 fills available space).',\n category: 'container',\n specialCategory: 'size',\n sort: 6,\n },\n position: {\n label: 'Position',\n description: 'Sets layout positioning mode.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n top: {\n label: 'Top',\n description: 'Offset from the top edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 22,\n preferedScale: 'vs',\n },\n bottom: {\n label: 'Bottom',\n description: 'Offset from the bottom edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 23,\n preferedScale: 'vs',\n },\n left: {\n label: 'Left',\n description: 'Offset from the left edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 24,\n preferedScale: 's',\n },\n right: {\n label: 'Right',\n description: 'Offset from the right edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 25,\n preferedScale: 's',\n },\n zIndex: {\n label: 'Z-Index',\n description: 'Controls stacking order.',\n category: 'container',\n specialCategory: null,\n sort: 26,\n },\n },\n },\n types: {},\n defaults: { flexDirection: 'row', position: 'relative', zIndex: 1 },\n },\n {\n schemaVersion: 1,\n allowUnknownAttributes: false,\n pattern: {\n type: 'CarouselButtons',\n children: 'never',\n attributes: {\n scrollable: 'boolean',\n flexDirection: ['row', 'column'],\n alignItems: ['flex-start', 'center', 'flex-end', 'stretch', 'baseline'],\n justifyContent: [\n 'flex-start',\n 'center',\n 'flex-end',\n 'space-between',\n 'space-around',\n 'space-evenly',\n ],\n gap: 'size',\n padding: 'size',\n paddingHorizontal: 'size',\n paddingVertical: 'size',\n paddingTop: 'size',\n paddingBottom: 'size',\n paddingLeft: 'size',\n paddingRight: 'size',\n margin: 'size',\n marginVertical: 'size',\n marginTop: 'size',\n marginBottom: 'size',\n marginLeft: 'size',\n marginRight: 'size',\n backgroundColor: 'color',\n borderRadius: 'size',\n width: 'size',\n minWidth: 'size',\n maxWidth: 'size',\n height: 'size',\n minHeight: 'size',\n maxHeight: 'size',\n flex: 'number',\n position: ['relative', 'absolute'],\n top: 'size',\n bottom: 'size',\n left: 'size',\n right: 'size',\n zIndex: 'number',\n buttonType: ['previous_button', 'next_button', 'skip_button'],\n skipNumber: 'number',\n },\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n meta: {\n desiredParent: ['>OnboardProvider', '>CarouselProvider'],\n label: 'Carousel Buttons',\n description: 'Renders built-in carousel buttons.',\n specialCategories: {\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n sort: 1,\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n sort: 2,\n },\n size: {\n label: 'Size',\n description: 'Fixed dimensions.',\n category: 'container',\n sort: 3,\n },\n offset: {\n label: 'Offset',\n description: 'Absolute positioning offsets.',\n category: 'container',\n sort: 4,\n },\n },\n attributes: {\n scrollable: {\n label: 'Scrollable',\n description: 'Turns scroll interaction on.',\n category: 'container',\n specialCategory: null,\n sort: -1,\n },\n flexDirection: {\n label: 'Flex Direction',\n description: 'Sets row or column layout.',\n category: 'container',\n specialCategory: null,\n sort: 4,\n },\n alignItems: {\n label: 'Align Items',\n description: 'Controls cross-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n justifyContent: {\n label: 'Justify Content',\n description: 'Controls main-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 5,\n },\n gap: {\n label: 'Gap',\n description: 'Space between children.',\n category: 'container',\n specialCategory: null,\n sort: 10,\n preferedScale: 's',\n },\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n specialCategory: 'padding',\n sort: 6,\n preferedScale: 's',\n },\n paddingHorizontal: {\n label: 'Padding Horizontal',\n description: 'Left and right padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 7,\n preferedScale: 's',\n },\n paddingVertical: {\n label: 'Padding Vertical',\n description: 'Top and bottom padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 8,\n preferedScale: 'vs',\n },\n paddingTop: {\n label: 'Padding Top',\n description: 'Top padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 9,\n preferedScale: 'vs',\n },\n paddingBottom: {\n label: 'Padding Bottom',\n description: 'Bottom padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 10,\n preferedScale: 'vs',\n },\n paddingLeft: {\n label: 'Padding Left',\n description: 'Left padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 11,\n preferedScale: 's',\n },\n paddingRight: {\n label: 'Padding Right',\n description: 'Right padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 12,\n preferedScale: 's',\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n specialCategory: 'margin',\n sort: 13,\n preferedScale: 's',\n },\n marginHorizontal: {\n label: 'Margin Horizontal',\n description: 'Left and right margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 14,\n preferedScale: 's',\n },\n marginVertical: {\n label: 'Margin Vertical',\n description: 'Top and bottom margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 15,\n preferedScale: 'vs',\n },\n marginTop: {\n label: 'Margin Top',\n description: 'Top margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 16,\n preferedScale: 'vs',\n },\n marginBottom: {\n label: 'Margin Bottom',\n description: 'Bottom margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 17,\n preferedScale: 'vs',\n },\n marginLeft: {\n label: 'Margin Left',\n description: 'Left margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 18,\n preferedScale: 's',\n },\n marginRight: {\n label: 'Margin Right',\n description: 'Right margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 19,\n preferedScale: 's',\n },\n backgroundColor: {\n label: 'Background Color',\n description: 'Background fill color.',\n category: 'style',\n specialCategory: null,\n sort: 20,\n },\n borderRadius: {\n label: 'Border Radius',\n description: 'Corner rounding amount.',\n category: 'style',\n specialCategory: null,\n sort: 21,\n preferedScale: 's',\n },\n width: {\n label: 'Width',\n description: 'Fixed width value.',\n category: 'container',\n specialCategory: 'size',\n sort: 0,\n preferedScale: 's',\n },\n minWidth: {\n label: 'Min Width',\n description: 'Minimum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 1,\n preferedScale: 's',\n },\n maxWidth: {\n label: 'Max Width',\n description: 'Maximum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 2,\n preferedScale: 's',\n },\n height: {\n label: 'Height',\n description: 'Fixed height value.',\n category: 'container',\n specialCategory: 'size',\n sort: 3,\n preferedScale: 'vs',\n },\n minHeight: {\n label: 'Min Height',\n description: 'Minimum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 4,\n preferedScale: 'vs',\n },\n maxHeight: {\n label: 'Max Height',\n description: 'Maximum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 5,\n preferedScale: 'vs',\n },\n flex: {\n label: 'Flex',\n description: 'Flex grow factor (e.g. 1 fills available space).',\n category: 'container',\n specialCategory: 'size',\n sort: 6,\n },\n position: {\n label: 'Position',\n description: 'Sets layout positioning mode.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n top: {\n label: 'Top',\n description: 'Offset from the top edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 22,\n preferedScale: 'vs',\n },\n bottom: {\n label: 'Bottom',\n description: 'Offset from the bottom edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 23,\n preferedScale: 'vs',\n },\n left: {\n label: 'Left',\n description: 'Offset from the left edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 24,\n preferedScale: 's',\n },\n right: {\n label: 'Right',\n description: 'Offset from the right edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 25,\n preferedScale: 's',\n },\n zIndex: {\n label: 'Z-Index',\n description: 'Controls stacking order.',\n category: 'container',\n specialCategory: null,\n sort: 26,\n },\n buttonType: {\n label: 'Button Type',\n description: 'Which carousel button to show.',\n category: 'other',\n specialCategory: null,\n sort: 1,\n },\n skipNumber: {\n label: 'Skip Number',\n description: 'Index to skip to when tapped.',\n category: 'other',\n specialCategory: null,\n sort: 2,\n },\n },\n },\n types: {},\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n {\n schemaVersion: 1,\n allowUnknownAttributes: false,\n pattern: {\n type: 'CarouselDots',\n children: 'never',\n attributes: {\n scrollable: 'boolean',\n flexDirection: ['row', 'column'],\n alignItems: ['flex-start', 'center', 'flex-end', 'stretch', 'baseline'],\n justifyContent: [\n 'flex-start',\n 'center',\n 'flex-end',\n 'space-between',\n 'space-around',\n 'space-evenly',\n ],\n gap: 'size',\n padding: 'size',\n paddingHorizontal: 'size',\n paddingVertical: 'size',\n paddingTop: 'size',\n paddingBottom: 'size',\n paddingLeft: 'size',\n paddingRight: 'size',\n margin: 'size',\n marginVertical: 'size',\n marginTop: 'size',\n marginBottom: 'size',\n marginLeft: 'size',\n marginRight: 'size',\n backgroundColor: 'color',\n borderRadius: 'size',\n width: 'size',\n minWidth: 'size',\n maxWidth: 'size',\n height: 'size',\n minHeight: 'size',\n maxHeight: 'size',\n flex: 'number',\n position: ['relative', 'absolute'],\n top: 'size',\n bottom: 'size',\n left: 'size',\n right: 'size',\n zIndex: 'number',\n dotType: [\n 'expanding_dot',\n 'normal_dot',\n 'scaling_dot',\n 'sliding_border',\n 'sliding_dot',\n 'liquid_like',\n ],\n },\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n meta: {\n desiredParent: ['>CarouselProvider'],\n label: 'Carousel Dots',\n description: 'Renders page indicator dots.',\n specialCategories: {\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n sort: 1,\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n sort: 2,\n },\n size: {\n label: 'Size',\n description: 'Fixed dimensions.',\n category: 'container',\n sort: 3,\n },\n offset: {\n label: 'Offset',\n description: 'Absolute positioning offsets.',\n category: 'container',\n sort: 4,\n },\n },\n attributes: {\n scrollable: {\n label: 'Scrollable',\n description: 'Turns scroll interaction on.',\n category: 'container',\n specialCategory: null,\n sort: -1,\n },\n flexDirection: {\n label: 'Flex Direction',\n description: 'Sets row or column layout.',\n category: 'container',\n specialCategory: null,\n sort: 4,\n },\n alignItems: {\n label: 'Align Items',\n description: 'Controls cross-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n justifyContent: {\n label: 'Justify Content',\n description: 'Controls main-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 5,\n },\n gap: {\n label: 'Gap',\n description: 'Space between children.',\n category: 'container',\n specialCategory: null,\n sort: 10,\n preferedScale: 's',\n },\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n specialCategory: 'padding',\n sort: 6,\n preferedScale: 's',\n },\n paddingHorizontal: {\n label: 'Padding Horizontal',\n description: 'Left and right padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 7,\n preferedScale: 's',\n },\n paddingVertical: {\n label: 'Padding Vertical',\n description: 'Top and bottom padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 8,\n preferedScale: 'vs',\n },\n paddingTop: {\n label: 'Padding Top',\n description: 'Top padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 9,\n preferedScale: 'vs',\n },\n paddingBottom: {\n label: 'Padding Bottom',\n description: 'Bottom padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 10,\n preferedScale: 'vs',\n },\n paddingLeft: {\n label: 'Padding Left',\n description: 'Left padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 11,\n preferedScale: 's',\n },\n paddingRight: {\n label: 'Padding Right',\n description: 'Right padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 12,\n preferedScale: 's',\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n specialCategory: 'margin',\n sort: 13,\n preferedScale: 's',\n },\n marginHorizontal: {\n label: 'Margin Horizontal',\n description: 'Left and right margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 14,\n preferedScale: 's',\n },\n marginVertical: {\n label: 'Margin Vertical',\n description: 'Top and bottom margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 15,\n preferedScale: 'vs',\n },\n marginTop: {\n label: 'Margin Top',\n description: 'Top margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 16,\n preferedScale: 'vs',\n },\n marginBottom: {\n label: 'Margin Bottom',\n description: 'Bottom margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 17,\n preferedScale: 'vs',\n },\n marginLeft: {\n label: 'Margin Left',\n description: 'Left margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 18,\n preferedScale: 's',\n },\n marginRight: {\n label: 'Margin Right',\n description: 'Right margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 19,\n preferedScale: 's',\n },\n backgroundColor: {\n label: 'Background Color',\n description: 'Background fill color.',\n category: 'style',\n specialCategory: null,\n sort: 20,\n },\n borderRadius: {\n label: 'Border Radius',\n description: 'Corner rounding amount.',\n category: 'style',\n specialCategory: null,\n sort: 21,\n preferedScale: 's',\n },\n width: {\n label: 'Width',\n description: 'Fixed width value.',\n category: 'container',\n specialCategory: 'size',\n sort: 0,\n preferedScale: 's',\n },\n minWidth: {\n label: 'Min Width',\n description: 'Minimum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 1,\n preferedScale: 's',\n },\n maxWidth: {\n label: 'Max Width',\n description: 'Maximum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 2,\n preferedScale: 's',\n },\n height: {\n label: 'Height',\n description: 'Fixed height value.',\n category: 'container',\n specialCategory: 'size',\n sort: 3,\n preferedScale: 'vs',\n },\n minHeight: {\n label: 'Min Height',\n description: 'Minimum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 4,\n preferedScale: 'vs',\n },\n maxHeight: {\n label: 'Max Height',\n description: 'Maximum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 5,\n preferedScale: 'vs',\n },\n flex: {\n label: 'Flex',\n description: 'Flex grow factor (e.g. 1 fills available space).',\n category: 'container',\n specialCategory: 'size',\n sort: 6,\n },\n position: {\n label: 'Position',\n description: 'Sets layout positioning mode.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n top: {\n label: 'Top',\n description: 'Offset from the top edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 22,\n preferedScale: 'vs',\n },\n bottom: {\n label: 'Bottom',\n description: 'Offset from the bottom edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 23,\n preferedScale: 'vs',\n },\n left: {\n label: 'Left',\n description: 'Offset from the left edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 24,\n preferedScale: 's',\n },\n right: {\n label: 'Right',\n description: 'Offset from the right edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 25,\n preferedScale: 's',\n },\n zIndex: {\n label: 'Z-Index',\n description: 'Controls stacking order.',\n category: 'container',\n specialCategory: null,\n sort: 26,\n },\n dotType: {\n label: 'Dot Type',\n description: 'Style used for the dots.',\n category: 'style',\n specialCategory: null,\n sort: 1,\n },\n },\n },\n types: {},\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n {\n schemaVersion: 1,\n allowUnknownAttributes: false,\n pattern: {\n type: 'CarouselItem',\n children: 'node',\n attributes: {\n scrollable: 'boolean',\n flexDirection: ['row', 'column'],\n alignItems: ['flex-start', 'center', 'flex-end', 'stretch', 'baseline'],\n justifyContent: [\n 'flex-start',\n 'center',\n 'flex-end',\n 'space-between',\n 'space-around',\n 'space-evenly',\n ],\n gap: 'size',\n padding: 'size',\n paddingHorizontal: 'size',\n paddingVertical: 'size',\n paddingTop: 'size',\n paddingBottom: 'size',\n paddingLeft: 'size',\n paddingRight: 'size',\n margin: 'size',\n marginVertical: 'size',\n marginTop: 'size',\n marginBottom: 'size',\n marginLeft: 'size',\n marginRight: 'size',\n backgroundColor: 'color',\n borderRadius: 'size',\n width: 'size',\n minWidth: 'size',\n maxWidth: 'size',\n height: 'size',\n minHeight: 'size',\n maxHeight: 'size',\n flex: 'number',\n position: ['relative', 'absolute'],\n top: 'size',\n bottom: 'size',\n left: 'size',\n right: 'size',\n zIndex: 'number',\n },\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n meta: {\n desiredParent: ['=Carousel'],\n label: 'Carousel Item',\n description: 'Single slide inside a carousel.',\n specialCategories: {\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n sort: 1,\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n sort: 2,\n },\n size: {\n label: 'Size',\n description: 'Fixed dimensions.',\n category: 'container',\n sort: 3,\n },\n offset: {\n label: 'Offset',\n description: 'Absolute positioning offsets.',\n category: 'container',\n sort: 4,\n },\n },\n attributes: {\n scrollable: {\n label: 'Scrollable',\n description: 'Turns scroll interaction on.',\n category: 'container',\n specialCategory: null,\n sort: -1,\n },\n flexDirection: {\n label: 'Flex Direction',\n description: 'Sets row or column layout.',\n category: 'container',\n specialCategory: null,\n sort: 4,\n },\n alignItems: {\n label: 'Align Items',\n description: 'Controls cross-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n justifyContent: {\n label: 'Justify Content',\n description: 'Controls main-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 5,\n },\n gap: {\n label: 'Gap',\n description: 'Space between children.',\n category: 'container',\n specialCategory: null,\n sort: 10,\n preferedScale: 's',\n },\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n specialCategory: 'padding',\n sort: 6,\n preferedScale: 's',\n },\n paddingHorizontal: {\n label: 'Padding Horizontal',\n description: 'Left and right padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 7,\n preferedScale: 's',\n },\n paddingVertical: {\n label: 'Padding Vertical',\n description: 'Top and bottom padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 8,\n preferedScale: 'vs',\n },\n paddingTop: {\n label: 'Padding Top',\n description: 'Top padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 9,\n preferedScale: 'vs',\n },\n paddingBottom: {\n label: 'Padding Bottom',\n description: 'Bottom padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 10,\n preferedScale: 'vs',\n },\n paddingLeft: {\n label: 'Padding Left',\n description: 'Left padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 11,\n preferedScale: 's',\n },\n paddingRight: {\n label: 'Padding Right',\n description: 'Right padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 12,\n preferedScale: 's',\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n specialCategory: 'margin',\n sort: 13,\n preferedScale: 's',\n },\n marginHorizontal: {\n label: 'Margin Horizontal',\n description: 'Left and right margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 14,\n preferedScale: 's',\n },\n marginVertical: {\n label: 'Margin Vertical',\n description: 'Top and bottom margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 15,\n preferedScale: 'vs',\n },\n marginTop: {\n label: 'Margin Top',\n description: 'Top margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 16,\n preferedScale: 'vs',\n },\n marginBottom: {\n label: 'Margin Bottom',\n description: 'Bottom margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 17,\n preferedScale: 'vs',\n },\n marginLeft: {\n label: 'Margin Left',\n description: 'Left margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 18,\n preferedScale: 's',\n },\n marginRight: {\n label: 'Margin Right',\n description: 'Right margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 19,\n preferedScale: 's',\n },\n backgroundColor: {\n label: 'Background Color',\n description: 'Background fill color.',\n category: 'style',\n specialCategory: null,\n sort: 20,\n },\n borderRadius: {\n label: 'Border Radius',\n description: 'Corner rounding amount.',\n category: 'style',\n specialCategory: null,\n sort: 21,\n preferedScale: 's',\n },\n width: {\n label: 'Width',\n description: 'Fixed width value.',\n category: 'container',\n specialCategory: 'size',\n sort: 0,\n preferedScale: 's',\n },\n minWidth: {\n label: 'Min Width',\n description: 'Minimum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 1,\n preferedScale: 's',\n },\n maxWidth: {\n label: 'Max Width',\n description: 'Maximum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 2,\n preferedScale: 's',\n },\n height: {\n label: 'Height',\n description: 'Fixed height value.',\n category: 'container',\n specialCategory: 'size',\n sort: 3,\n preferedScale: 'vs',\n },\n minHeight: {\n label: 'Min Height',\n description: 'Minimum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 4,\n preferedScale: 'vs',\n },\n maxHeight: {\n label: 'Max Height',\n description: 'Maximum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 5,\n preferedScale: 'vs',\n },\n flex: {\n label: 'Flex',\n description: 'Flex grow factor (e.g. 1 fills available space).',\n category: 'container',\n specialCategory: 'size',\n sort: 6,\n },\n position: {\n label: 'Position',\n description: 'Sets layout positioning mode.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n top: {\n label: 'Top',\n description: 'Offset from the top edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 22,\n preferedScale: 'vs',\n },\n bottom: {\n label: 'Bottom',\n description: 'Offset from the bottom edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 23,\n preferedScale: 'vs',\n },\n left: {\n label: 'Left',\n description: 'Offset from the left edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 24,\n preferedScale: 's',\n },\n right: {\n label: 'Right',\n description: 'Offset from the right edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 25,\n preferedScale: 's',\n },\n zIndex: {\n label: 'Z-Index',\n description: 'Controls stacking order.',\n category: 'container',\n specialCategory: null,\n sort: 26,\n },\n },\n },\n types: {},\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n {\n schemaVersion: 1,\n allowUnknownAttributes: false,\n pattern: {\n type: 'CarouselProvider',\n children: 'node',\n attributes: {\n scrollable: 'boolean',\n flexDirection: ['row', 'column'],\n alignItems: ['flex-start', 'center', 'flex-end', 'stretch', 'baseline'],\n justifyContent: [\n 'flex-start',\n 'center',\n 'flex-end',\n 'space-between',\n 'space-around',\n 'space-evenly',\n ],\n gap: 'size',\n padding: 'size',\n paddingHorizontal: 'size',\n paddingVertical: 'size',\n paddingTop: 'size',\n paddingBottom: 'size',\n paddingLeft: 'size',\n paddingRight: 'size',\n margin: 'size',\n marginVertical: 'size',\n marginTop: 'size',\n marginBottom: 'size',\n marginLeft: 'size',\n marginRight: 'size',\n backgroundColor: 'color',\n borderRadius: 'size',\n width: 'size',\n minWidth: 'size',\n maxWidth: 'size',\n height: 'size',\n minHeight: 'size',\n maxHeight: 'size',\n flex: 'number',\n position: ['relative', 'absolute'],\n top: 'size',\n bottom: 'size',\n left: 'size',\n right: 'size',\n zIndex: 'number',\n },\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n meta: {\n desiredParent: ['root', '>View'],\n label: 'Carousel Provider',\n description: 'Provides carousel context to its children.',\n specialCategories: {\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n sort: 1,\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n sort: 2,\n },\n size: {\n label: 'Size',\n description: 'Fixed dimensions.',\n category: 'container',\n sort: 3,\n },\n offset: {\n label: 'Offset',\n description: 'Absolute positioning offsets.',\n category: 'container',\n sort: 4,\n },\n },\n attributes: {\n scrollable: {\n label: 'Scrollable',\n description: 'Turns scroll interaction on.',\n category: 'container',\n specialCategory: null,\n sort: -1,\n },\n flexDirection: {\n label: 'Flex Direction',\n description: 'Sets row or column layout.',\n category: 'container',\n specialCategory: null,\n sort: 4,\n },\n alignItems: {\n label: 'Align Items',\n description: 'Controls cross-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n justifyContent: {\n label: 'Justify Content',\n description: 'Controls main-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 5,\n },\n gap: {\n label: 'Gap',\n description: 'Space between children.',\n category: 'container',\n specialCategory: null,\n sort: 10,\n preferedScale: 's',\n },\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n specialCategory: 'padding',\n sort: 6,\n preferedScale: 's',\n },\n paddingHorizontal: {\n label: 'Padding Horizontal',\n description: 'Left and right padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 7,\n preferedScale: 's',\n },\n paddingVertical: {\n label: 'Padding Vertical',\n description: 'Top and bottom padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 8,\n preferedScale: 'vs',\n },\n paddingTop: {\n label: 'Padding Top',\n description: 'Top padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 9,\n preferedScale: 'vs',\n },\n paddingBottom: {\n label: 'Padding Bottom',\n description: 'Bottom padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 10,\n preferedScale: 'vs',\n },\n paddingLeft: {\n label: 'Padding Left',\n description: 'Left padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 11,\n preferedScale: 's',\n },\n paddingRight: {\n label: 'Padding Right',\n description: 'Right padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 12,\n preferedScale: 's',\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n specialCategory: 'margin',\n sort: 13,\n preferedScale: 's',\n },\n marginHorizontal: {\n label: 'Margin Horizontal',\n description: 'Left and right margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 14,\n preferedScale: 's',\n },\n marginVertical: {\n label: 'Margin Vertical',\n description: 'Top and bottom margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 15,\n preferedScale: 'vs',\n },\n marginTop: {\n label: 'Margin Top',\n description: 'Top margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 16,\n preferedScale: 'vs',\n },\n marginBottom: {\n label: 'Margin Bottom',\n description: 'Bottom margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 17,\n preferedScale: 'vs',\n },\n marginLeft: {\n label: 'Margin Left',\n description: 'Left margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 18,\n preferedScale: 's',\n },\n marginRight: {\n label: 'Margin Right',\n description: 'Right margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 19,\n preferedScale: 's',\n },\n backgroundColor: {\n label: 'Background Color',\n description: 'Background fill color.',\n category: 'style',\n specialCategory: null,\n sort: 20,\n },\n borderRadius: {\n label: 'Border Radius',\n description: 'Corner rounding amount.',\n category: 'style',\n specialCategory: null,\n sort: 21,\n preferedScale: 's',\n },\n width: {\n label: 'Width',\n description: 'Fixed width value.',\n category: 'container',\n specialCategory: 'size',\n sort: 0,\n preferedScale: 's',\n },\n minWidth: {\n label: 'Min Width',\n description: 'Minimum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 1,\n preferedScale: 's',\n },\n maxWidth: {\n label: 'Max Width',\n description: 'Maximum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 2,\n preferedScale: 's',\n },\n height: {\n label: 'Height',\n description: 'Fixed height value.',\n category: 'container',\n specialCategory: 'size',\n sort: 3,\n preferedScale: 'vs',\n },\n minHeight: {\n label: 'Min Height',\n description: 'Minimum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 4,\n preferedScale: 'vs',\n },\n maxHeight: {\n label: 'Max Height',\n description: 'Maximum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 5,\n preferedScale: 'vs',\n },\n flex: {\n label: 'Flex',\n description: 'Flex grow factor (e.g. 1 fills available space).',\n category: 'container',\n specialCategory: 'size',\n sort: 6,\n },\n position: {\n label: 'Position',\n description: 'Sets layout positioning mode.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n top: {\n label: 'Top',\n description: 'Offset from the top edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 22,\n preferedScale: 'vs',\n },\n bottom: {\n label: 'Bottom',\n description: 'Offset from the bottom edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 23,\n preferedScale: 'vs',\n },\n left: {\n label: 'Left',\n description: 'Offset from the left edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 24,\n preferedScale: 's',\n },\n right: {\n label: 'Right',\n description: 'Offset from the right edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 25,\n preferedScale: 's',\n },\n zIndex: {\n label: 'Z-Index',\n description: 'Controls stacking order.',\n category: 'container',\n specialCategory: null,\n sort: 26,\n },\n },\n },\n types: {},\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n {\n schemaVersion: 1,\n allowUnknownAttributes: false,\n pattern: {\n type: 'Image',\n children: 'never',\n attributes: {\n scrollable: 'boolean',\n flexDirection: ['row', 'column'],\n alignItems: ['flex-start', 'center', 'flex-end', 'stretch', 'baseline'],\n justifyContent: [\n 'flex-start',\n 'center',\n 'flex-end',\n 'space-between',\n 'space-around',\n 'space-evenly',\n ],\n gap: 'size',\n padding: 'size',\n paddingHorizontal: 'size',\n paddingVertical: 'size',\n paddingTop: 'size',\n paddingBottom: 'size',\n paddingLeft: 'size',\n paddingRight: 'size',\n margin: 'size',\n marginVertical: 'size',\n marginTop: 'size',\n marginBottom: 'size',\n marginLeft: 'size',\n marginRight: 'size',\n backgroundColor: 'color',\n borderRadius: 'size',\n width: 'size',\n minWidth: 'size',\n maxWidth: 'size',\n height: 'size',\n minHeight: 'size',\n maxHeight: 'size',\n flex: 'number',\n position: ['relative', 'absolute'],\n top: 'size',\n bottom: 'size',\n left: 'size',\n right: 'size',\n zIndex: 'number',\n src: 'string',\n resizeMode: ['cover', 'contain', 'stretch', 'center'],\n },\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n meta: {\n desiredParent: ['all'],\n label: 'Image',\n description: 'Shows an image or graphic.',\n specialCategories: {\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n sort: 1,\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n sort: 2,\n },\n size: {\n label: 'Size',\n description: 'Fixed dimensions.',\n category: 'container',\n sort: 3,\n },\n offset: {\n label: 'Offset',\n description: 'Absolute positioning offsets.',\n category: 'container',\n sort: 4,\n },\n },\n attributes: {\n scrollable: {\n label: 'Scrollable',\n description: 'Turns scroll interaction on.',\n category: 'container',\n specialCategory: null,\n sort: -1,\n },\n flexDirection: {\n label: 'Flex Direction',\n description: 'Sets row or column layout.',\n category: 'container',\n specialCategory: null,\n sort: 4,\n },\n alignItems: {\n label: 'Align Items',\n description: 'Controls cross-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n justifyContent: {\n label: 'Justify Content',\n description: 'Controls main-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 5,\n },\n gap: {\n label: 'Gap',\n description: 'Space between children.',\n category: 'container',\n specialCategory: null,\n sort: 10,\n preferedScale: 's',\n },\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n specialCategory: 'padding',\n sort: 6,\n preferedScale: 's',\n },\n paddingHorizontal: {\n label: 'Padding Horizontal',\n description: 'Left and right padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 7,\n preferedScale: 's',\n },\n paddingVertical: {\n label: 'Padding Vertical',\n description: 'Top and bottom padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 8,\n preferedScale: 'vs',\n },\n paddingTop: {\n label: 'Padding Top',\n description: 'Top padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 9,\n preferedScale: 'vs',\n },\n paddingBottom: {\n label: 'Padding Bottom',\n description: 'Bottom padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 10,\n preferedScale: 'vs',\n },\n paddingLeft: {\n label: 'Padding Left',\n description: 'Left padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 11,\n preferedScale: 's',\n },\n paddingRight: {\n label: 'Padding Right',\n description: 'Right padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 12,\n preferedScale: 's',\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n specialCategory: 'margin',\n sort: 13,\n preferedScale: 's',\n },\n marginHorizontal: {\n label: 'Margin Horizontal',\n description: 'Left and right margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 14,\n preferedScale: 's',\n },\n marginVertical: {\n label: 'Margin Vertical',\n description: 'Top and bottom margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 15,\n preferedScale: 'vs',\n },\n marginTop: {\n label: 'Margin Top',\n description: 'Top margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 16,\n preferedScale: 'vs',\n },\n marginBottom: {\n label: 'Margin Bottom',\n description: 'Bottom margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 17,\n preferedScale: 'vs',\n },\n marginLeft: {\n label: 'Margin Left',\n description: 'Left margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 18,\n preferedScale: 's',\n },\n marginRight: {\n label: 'Margin Right',\n description: 'Right margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 19,\n preferedScale: 's',\n },\n backgroundColor: {\n label: 'Background Color',\n description: 'Background fill color.',\n category: 'style',\n specialCategory: null,\n sort: 20,\n },\n borderRadius: {\n label: 'Border Radius',\n description: 'Corner rounding amount.',\n category: 'style',\n specialCategory: null,\n sort: 21,\n preferedScale: 's',\n },\n width: {\n label: 'Width',\n description: 'Image width.',\n category: 'container',\n specialCategory: null,\n sort: 2,\n },\n minWidth: {\n label: 'Min Width',\n description: 'Minimum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 1,\n preferedScale: 's',\n },\n maxWidth: {\n label: 'Max Width',\n description: 'Maximum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 2,\n preferedScale: 's',\n },\n height: {\n label: 'Height',\n description: 'Image height.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n minHeight: {\n label: 'Min Height',\n description: 'Minimum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 4,\n preferedScale: 'vs',\n },\n maxHeight: {\n label: 'Max Height',\n description: 'Maximum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 5,\n preferedScale: 'vs',\n },\n flex: {\n label: 'Flex',\n description: 'Flex grow factor (e.g. 1 fills available space).',\n category: 'container',\n specialCategory: 'size',\n sort: 6,\n },\n position: {\n label: 'Position',\n description: 'Sets layout positioning mode.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n top: {\n label: 'Top',\n description: 'Offset from the top edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 22,\n preferedScale: 'vs',\n },\n bottom: {\n label: 'Bottom',\n description: 'Offset from the bottom edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 23,\n preferedScale: 'vs',\n },\n left: {\n label: 'Left',\n description: 'Offset from the left edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 24,\n preferedScale: 's',\n },\n right: {\n label: 'Right',\n description: 'Offset from the right edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 25,\n preferedScale: 's',\n },\n zIndex: {\n label: 'Z-Index',\n description: 'Controls stacking order.',\n category: 'container',\n specialCategory: null,\n sort: 26,\n },\n src: {\n label: 'Src',\n description: 'Image source URL.',\n category: 'other',\n specialCategory: null,\n sort: 1,\n },\n resizeMode: {\n label: 'Resize Mode',\n description: 'How the image fits the frame.',\n category: 'style',\n specialCategory: null,\n sort: 4,\n },\n },\n },\n types: {},\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n {\n schemaVersion: 1,\n allowUnknownAttributes: true,\n pattern: {\n type: 'Main',\n children: ['node', 'array'],\n attributes: {\n scrollable: 'boolean',\n flexDirection: ['row', 'column'],\n alignItems: ['flex-start', 'center', 'flex-end', 'stretch', 'baseline'],\n justifyContent: [\n 'flex-start',\n 'center',\n 'flex-end',\n 'space-between',\n 'space-around',\n 'space-evenly',\n ],\n gap: 'size',\n padding: 'size',\n paddingHorizontal: 'size',\n paddingVertical: 'size',\n paddingTop: 'size',\n paddingBottom: 'size',\n paddingLeft: 'size',\n paddingRight: 'size',\n margin: 'size',\n marginVertical: 'size',\n marginTop: 'size',\n marginBottom: 'size',\n marginLeft: 'size',\n marginRight: 'size',\n backgroundColor: 'color',\n borderRadius: 'size',\n width: 'size',\n minWidth: 'size',\n maxWidth: 'size',\n height: 'size',\n minHeight: 'size',\n maxHeight: 'size',\n flex: 'number',\n position: ['relative', 'absolute'],\n top: 'size',\n bottom: 'size',\n left: 'size',\n right: 'size',\n zIndex: 'number',\n useSafeAreaView: 'boolean',\n },\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n meta: {\n desiredParent: ['root'],\n label: 'Main',\n description: 'Top-level screen wrapper (safe area, base layout).',\n specialCategories: {\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n sort: 1,\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n sort: 2,\n },\n size: {\n label: 'Size',\n description: 'Fixed dimensions.',\n category: 'container',\n sort: 3,\n },\n offset: {\n label: 'Offset',\n description: 'Absolute positioning offsets.',\n category: 'container',\n sort: 4,\n },\n },\n attributes: {\n scrollable: {\n label: 'Scrollable',\n description: 'Turns scroll interaction on.',\n category: 'container',\n specialCategory: null,\n sort: -1,\n },\n flexDirection: {\n label: 'Flex Direction',\n description: 'Sets row or column layout.',\n category: 'container',\n specialCategory: null,\n sort: 4,\n },\n alignItems: {\n label: 'Align Items',\n description: 'Controls cross-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n justifyContent: {\n label: 'Justify Content',\n description: 'Controls main-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 5,\n },\n gap: {\n label: 'Gap',\n description: 'Space between children.',\n category: 'container',\n specialCategory: null,\n sort: 10,\n preferedScale: 's',\n },\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n specialCategory: 'padding',\n sort: 6,\n preferedScale: 's',\n },\n paddingHorizontal: {\n label: 'Padding Horizontal',\n description: 'Left and right padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 7,\n preferedScale: 's',\n },\n paddingVertical: {\n label: 'Padding Vertical',\n description: 'Top and bottom padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 8,\n preferedScale: 'vs',\n },\n paddingTop: {\n label: 'Padding Top',\n description: 'Top padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 9,\n preferedScale: 'vs',\n },\n paddingBottom: {\n label: 'Padding Bottom',\n description: 'Bottom padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 10,\n preferedScale: 'vs',\n },\n paddingLeft: {\n label: 'Padding Left',\n description: 'Left padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 11,\n preferedScale: 's',\n },\n paddingRight: {\n label: 'Padding Right',\n description: 'Right padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 12,\n preferedScale: 's',\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n specialCategory: 'margin',\n sort: 13,\n preferedScale: 's',\n },\n marginHorizontal: {\n label: 'Margin Horizontal',\n description: 'Left and right margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 14,\n preferedScale: 's',\n },\n marginVertical: {\n label: 'Margin Vertical',\n description: 'Top and bottom margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 15,\n preferedScale: 'vs',\n },\n marginTop: {\n label: 'Margin Top',\n description: 'Top margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 16,\n preferedScale: 'vs',\n },\n marginBottom: {\n label: 'Margin Bottom',\n description: 'Bottom margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 17,\n preferedScale: 'vs',\n },\n marginLeft: {\n label: 'Margin Left',\n description: 'Left margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 18,\n preferedScale: 's',\n },\n marginRight: {\n label: 'Margin Right',\n description: 'Right margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 19,\n preferedScale: 's',\n },\n backgroundColor: {\n label: 'Background Color',\n description: 'Background fill color.',\n category: 'style',\n specialCategory: null,\n sort: 20,\n },\n borderRadius: {\n label: 'Border Radius',\n description: 'Corner rounding amount.',\n category: 'style',\n specialCategory: null,\n sort: 21,\n preferedScale: 's',\n },\n width: {\n label: 'Width',\n description: 'Fixed width value.',\n category: 'container',\n specialCategory: 'size',\n sort: 0,\n preferedScale: 's',\n },\n minWidth: {\n label: 'Min Width',\n description: 'Minimum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 1,\n preferedScale: 's',\n },\n maxWidth: {\n label: 'Max Width',\n description: 'Maximum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 2,\n preferedScale: 's',\n },\n height: {\n label: 'Height',\n description: 'Fixed height value.',\n category: 'container',\n specialCategory: 'size',\n sort: 3,\n preferedScale: 'vs',\n },\n minHeight: {\n label: 'Min Height',\n description: 'Minimum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 4,\n preferedScale: 'vs',\n },\n maxHeight: {\n label: 'Max Height',\n description: 'Maximum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 5,\n preferedScale: 'vs',\n },\n flex: {\n label: 'Flex',\n description: 'Flex grow factor (e.g. 1 fills available space).',\n category: 'container',\n specialCategory: 'size',\n sort: 6,\n },\n position: {\n label: 'Position',\n description: 'Sets layout positioning mode.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n top: {\n label: 'Top',\n description: 'Offset from the top edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 22,\n preferedScale: 'vs',\n },\n bottom: {\n label: 'Bottom',\n description: 'Offset from the bottom edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 23,\n preferedScale: 'vs',\n },\n left: {\n label: 'Left',\n description: 'Offset from the left edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 24,\n preferedScale: 's',\n },\n right: {\n label: 'Right',\n description: 'Offset from the right edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 25,\n preferedScale: 's',\n },\n zIndex: {\n label: 'Z-Index',\n description: 'Controls stacking order.',\n category: 'container',\n specialCategory: null,\n sort: 26,\n },\n useSafeAreaView: {\n label: 'Use Safe Area View',\n description:\n 'Wraps content with a safe-area-aware container (when supported by the target).',\n category: 'container',\n specialCategory: null,\n sort: 1,\n forceVisible: true,\n },\n },\n hideAllAttributes: true,\n },\n defaults: {\n flexDirection: 'column',\n position: 'relative',\n zIndex: 1,\n useSafeAreaView: true,\n width: '100%',\n height: '100%',\n flex: 1,\n },\n types: {},\n },\n {\n schemaVersion: 1,\n allowUnknownAttributes: false,\n pattern: {\n type: 'Onboard',\n children: 'node',\n attributes: {\n scrollable: 'boolean',\n flexDirection: ['row', 'column'],\n alignItems: ['flex-start', 'center', 'flex-end', 'stretch', 'baseline'],\n justifyContent: [\n 'flex-start',\n 'center',\n 'flex-end',\n 'space-between',\n 'space-around',\n 'space-evenly',\n ],\n gap: 'size',\n padding: 'size',\n paddingHorizontal: 'size',\n paddingVertical: 'size',\n paddingTop: 'size',\n paddingBottom: 'size',\n paddingLeft: 'size',\n paddingRight: 'size',\n margin: 'size',\n marginVertical: 'size',\n marginTop: 'size',\n marginBottom: 'size',\n marginLeft: 'size',\n marginRight: 'size',\n backgroundColor: 'color',\n borderRadius: 'size',\n width: 'size',\n minWidth: 'size',\n maxWidth: 'size',\n height: 'size',\n minHeight: 'size',\n maxHeight: 'size',\n flex: 'number',\n position: ['relative', 'absolute'],\n top: 'size',\n bottom: 'size',\n left: 'size',\n right: 'size',\n zIndex: 'number',\n },\n defaults: { flexDirection: 'row' },\n },\n meta: {\n desiredParent: ['=OnboardProvider'],\n label: 'Onboard',\n description: 'Wraps the onboarding flow.',\n specialCategories: {\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n sort: 1,\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n sort: 2,\n },\n size: {\n label: 'Size',\n description: 'Fixed dimensions.',\n category: 'container',\n sort: 3,\n },\n offset: {\n label: 'Offset',\n description: 'Absolute positioning offsets.',\n category: 'container',\n sort: 4,\n },\n },\n attributes: {\n scrollable: {\n label: 'Scrollable',\n description: 'Turns scroll interaction on.',\n category: 'container',\n specialCategory: null,\n sort: -1,\n },\n flexDirection: {\n label: 'Flex Direction',\n description: 'Sets row or column layout.',\n category: 'container',\n specialCategory: null,\n sort: 4,\n },\n alignItems: {\n label: 'Align Items',\n description: 'Controls cross-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n justifyContent: {\n label: 'Justify Content',\n description: 'Controls main-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 5,\n },\n gap: {\n label: 'Gap',\n description: 'Space between children.',\n category: 'container',\n specialCategory: null,\n sort: 10,\n preferedScale: 's',\n },\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n specialCategory: 'padding',\n sort: 6,\n preferedScale: 's',\n },\n paddingHorizontal: {\n label: 'Padding Horizontal',\n description: 'Left and right padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 7,\n preferedScale: 's',\n },\n paddingVertical: {\n label: 'Padding Vertical',\n description: 'Top and bottom padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 8,\n preferedScale: 'vs',\n },\n paddingTop: {\n label: 'Padding Top',\n description: 'Top padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 9,\n preferedScale: 'vs',\n },\n paddingBottom: {\n label: 'Padding Bottom',\n description: 'Bottom padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 10,\n preferedScale: 'vs',\n },\n paddingLeft: {\n label: 'Padding Left',\n description: 'Left padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 11,\n preferedScale: 's',\n },\n paddingRight: {\n label: 'Padding Right',\n description: 'Right padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 12,\n preferedScale: 's',\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n specialCategory: 'margin',\n sort: 13,\n preferedScale: 's',\n },\n marginHorizontal: {\n label: 'Margin Horizontal',\n description: 'Left and right margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 14,\n preferedScale: 's',\n },\n marginVertical: {\n label: 'Margin Vertical',\n description: 'Top and bottom margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 15,\n preferedScale: 'vs',\n },\n marginTop: {\n label: 'Margin Top',\n description: 'Top margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 16,\n preferedScale: 'vs',\n },\n marginBottom: {\n label: 'Margin Bottom',\n description: 'Bottom margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 17,\n preferedScale: 'vs',\n },\n marginLeft: {\n label: 'Margin Left',\n description: 'Left margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 18,\n preferedScale: 's',\n },\n marginRight: {\n label: 'Margin Right',\n description: 'Right margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 19,\n preferedScale: 's',\n },\n backgroundColor: {\n label: 'Background Color',\n description: 'Background fill color.',\n category: 'style',\n specialCategory: null,\n sort: 20,\n },\n borderRadius: {\n label: 'Border Radius',\n description: 'Corner rounding amount.',\n category: 'style',\n specialCategory: null,\n sort: 21,\n preferedScale: 's',\n },\n width: {\n label: 'Width',\n description: 'Fixed width value.',\n category: 'container',\n specialCategory: 'size',\n sort: 0,\n preferedScale: 's',\n },\n minWidth: {\n label: 'Min Width',\n description: 'Minimum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 1,\n preferedScale: 's',\n },\n maxWidth: {\n label: 'Max Width',\n description: 'Maximum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 2,\n preferedScale: 's',\n },\n height: {\n label: 'Height',\n description: 'Fixed height value.',\n category: 'container',\n specialCategory: 'size',\n sort: 3,\n preferedScale: 'vs',\n },\n minHeight: {\n label: 'Min Height',\n description: 'Minimum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 4,\n preferedScale: 'vs',\n },\n maxHeight: {\n label: 'Max Height',\n description: 'Maximum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 5,\n preferedScale: 'vs',\n },\n flex: {\n label: 'Flex',\n description: 'Flex grow factor (e.g. 1 fills available space).',\n category: 'container',\n specialCategory: 'size',\n sort: 6,\n },\n position: {\n label: 'Position',\n description: 'Sets layout positioning mode.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n top: {\n label: 'Top',\n description: 'Offset from the top edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 22,\n preferedScale: 'vs',\n },\n bottom: {\n label: 'Bottom',\n description: 'Offset from the bottom edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 23,\n preferedScale: 'vs',\n },\n left: {\n label: 'Left',\n description: 'Offset from the left edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 24,\n preferedScale: 's',\n },\n right: {\n label: 'Right',\n description: 'Offset from the right edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 25,\n preferedScale: 's',\n },\n zIndex: {\n label: 'Z-Index',\n description: 'Controls stacking order.',\n category: 'container',\n specialCategory: null,\n sort: 26,\n },\n },\n desiredChildren: ['=OnboardItem'],\n },\n types: {},\n defaults: { flexDirection: 'row', position: 'relative', zIndex: 1 },\n },\n {\n schemaVersion: 1,\n allowUnknownAttributes: false,\n pattern: {\n type: 'OnboardButton',\n children: 'never',\n attributes: {\n scrollable: 'boolean',\n flexDirection: ['row', 'column'],\n alignItems: ['flex-start', 'center', 'flex-end', 'stretch', 'baseline'],\n justifyContent: [\n 'flex-start',\n 'center',\n 'flex-end',\n 'space-between',\n 'space-around',\n 'space-evenly',\n ],\n gap: 'size',\n padding: 'size',\n paddingHorizontal: 'size',\n paddingVertical: 'size',\n paddingTop: 'size',\n paddingBottom: 'size',\n paddingLeft: 'size',\n paddingRight: 'size',\n margin: 'size',\n marginVertical: 'size',\n marginTop: 'size',\n marginBottom: 'size',\n marginLeft: 'size',\n marginRight: 'size',\n backgroundColor: 'color',\n borderRadius: 'size',\n width: 'size',\n minWidth: 'size',\n maxWidth: 'size',\n height: 'size',\n minHeight: 'size',\n maxHeight: 'size',\n flex: 'number',\n position: ['relative', 'absolute'],\n top: 'size',\n bottom: 'size',\n left: 'size',\n right: 'size',\n zIndex: 'number',\n labelKey: 'string',\n button_text_color: 'color',\n animation: [\n 'simple-animation',\n 'line-animation',\n 'blur',\n 'blur-animation',\n 'blur-line-animation',\n ],\n animation_color: 'color',\n button_background_color: 'color',\n events: 'EventObject[]',\n },\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n meta: {\n desiredParent: ['=OnboardButtons'],\n label: 'Onboard Button',\n description: 'Single action button for onboarding.',\n specialCategories: {\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n sort: 1,\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n sort: 2,\n },\n size: {\n label: 'Size',\n description: 'Fixed dimensions.',\n category: 'container',\n sort: 3,\n },\n offset: {\n label: 'Offset',\n description: 'Absolute positioning offsets.',\n category: 'container',\n sort: 4,\n },\n },\n attributes: {\n scrollable: {\n label: 'Scrollable',\n description: 'Turns scroll interaction on.',\n category: 'container',\n specialCategory: null,\n sort: -1,\n },\n flexDirection: {\n label: 'Flex Direction',\n description: 'Sets row or column layout.',\n category: 'container',\n specialCategory: null,\n sort: 4,\n },\n alignItems: {\n label: 'Align Items',\n description: 'Controls cross-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n justifyContent: {\n label: 'Justify Content',\n description: 'Controls main-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 5,\n },\n gap: {\n label: 'Gap',\n description: 'Space between children.',\n category: 'container',\n specialCategory: null,\n sort: 10,\n preferedScale: 's',\n },\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n specialCategory: 'padding',\n sort: 6,\n preferedScale: 's',\n },\n paddingHorizontal: {\n label: 'Padding Horizontal',\n description: 'Left and right padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 7,\n preferedScale: 's',\n },\n paddingVertical: {\n label: 'Padding Vertical',\n description: 'Top and bottom padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 8,\n preferedScale: 'vs',\n },\n paddingTop: {\n label: 'Padding Top',\n description: 'Top padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 9,\n preferedScale: 'vs',\n },\n paddingBottom: {\n label: 'Padding Bottom',\n description: 'Bottom padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 10,\n preferedScale: 'vs',\n },\n paddingLeft: {\n label: 'Padding Left',\n description: 'Left padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 11,\n preferedScale: 's',\n },\n paddingRight: {\n label: 'Padding Right',\n description: 'Right padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 12,\n preferedScale: 's',\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n specialCategory: 'margin',\n sort: 13,\n preferedScale: 's',\n },\n marginHorizontal: {\n label: 'Margin Horizontal',\n description: 'Left and right margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 14,\n preferedScale: 's',\n },\n marginVertical: {\n label: 'Margin Vertical',\n description: 'Top and bottom margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 15,\n preferedScale: 'vs',\n },\n marginTop: {\n label: 'Margin Top',\n description: 'Top margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 16,\n preferedScale: 'vs',\n },\n marginBottom: {\n label: 'Margin Bottom',\n description: 'Bottom margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 17,\n preferedScale: 'vs',\n },\n marginLeft: {\n label: 'Margin Left',\n description: 'Left margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 18,\n preferedScale: 's',\n },\n marginRight: {\n label: 'Margin Right',\n description: 'Right margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 19,\n preferedScale: 's',\n },\n backgroundColor: {\n label: 'Background Color',\n description: 'Background fill color.',\n category: 'style',\n specialCategory: null,\n sort: 20,\n },\n borderRadius: {\n label: 'Border Radius',\n description: 'Corner rounding amount.',\n category: 'style',\n specialCategory: null,\n sort: 21,\n preferedScale: 's',\n },\n width: {\n label: 'Width',\n description: 'Fixed width value.',\n category: 'container',\n specialCategory: 'size',\n sort: 0,\n preferedScale: 's',\n },\n minWidth: {\n label: 'Min Width',\n description: 'Minimum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 1,\n preferedScale: 's',\n },\n maxWidth: {\n label: 'Max Width',\n description: 'Maximum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 2,\n preferedScale: 's',\n },\n height: {\n label: 'Height',\n description: 'Fixed height value.',\n category: 'container',\n specialCategory: 'size',\n sort: 3,\n preferedScale: 'vs',\n },\n minHeight: {\n label: 'Min Height',\n description: 'Minimum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 4,\n preferedScale: 'vs',\n },\n maxHeight: {\n label: 'Max Height',\n description: 'Maximum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 5,\n preferedScale: 'vs',\n },\n flex: {\n label: 'Flex',\n description: 'Flex grow value in layout.',\n category: 'container',\n specialCategory: null,\n sort: 6,\n },\n position: {\n label: 'Position',\n description: 'Sets layout positioning mode.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n top: {\n label: 'Top',\n description: 'Offset from the top edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 22,\n preferedScale: 'vs',\n },\n bottom: {\n label: 'Bottom',\n description: 'Offset from the bottom edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 23,\n preferedScale: 'vs',\n },\n left: {\n label: 'Left',\n description: 'Offset from the left edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 24,\n preferedScale: 's',\n },\n right: {\n label: 'Right',\n description: 'Offset from the right edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 25,\n preferedScale: 's',\n },\n zIndex: {\n label: 'Z-Index',\n description: 'Controls stacking order.',\n category: 'container',\n specialCategory: null,\n sort: 26,\n },\n labelKey: {\n label: 'Label Key',\n description: 'Localization key for the button text.',\n category: 'other',\n specialCategory: null,\n sort: 1,\n },\n button_text_color: {\n label: 'Button Text Color',\n description: 'Text color of the button.',\n category: 'style',\n specialCategory: null,\n sort: 2,\n },\n animation: {\n label: 'Animation',\n description: 'Animation style for the button.',\n category: 'style',\n specialCategory: null,\n sort: 3,\n },\n animation_color: {\n label: 'Animation Color',\n description: 'Color used by the animation.',\n category: 'style',\n specialCategory: null,\n sort: 4,\n },\n button_background_color: {\n label: 'Button Background Color',\n description: 'Background color of the button.',\n category: 'style',\n specialCategory: null,\n sort: 5,\n },\n events: {\n label: 'Events',\n description: 'List of events fired by the button.',\n category: 'other',\n specialCategory: null,\n sort: 7,\n },\n },\n },\n types: {\n EventObject: {\n type: ['Permission', 'Navigate'],\n permission: ['att', 'notification', 'rating', 'GDPR', 'null'],\n navigate_to: 'string',\n targetIndex: 'number',\n },\n },\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n {\n schemaVersion: 1,\n allowUnknownAttributes: false,\n pattern: {\n type: 'OnboardButtons',\n children: 'node',\n attributes: {\n scrollable: 'boolean',\n flexDirection: ['row', 'column'],\n alignItems: ['flex-start', 'center', 'flex-end', 'stretch', 'baseline'],\n justifyContent: [\n 'flex-start',\n 'center',\n 'flex-end',\n 'space-between',\n 'space-around',\n 'space-evenly',\n ],\n gap: 'size',\n padding: 'size',\n paddingHorizontal: 'size',\n paddingVertical: 'size',\n paddingTop: 'size',\n paddingBottom: 'size',\n paddingLeft: 'size',\n paddingRight: 'size',\n margin: 'size',\n marginVertical: 'size',\n marginTop: 'size',\n marginBottom: 'size',\n marginLeft: 'size',\n marginRight: 'size',\n backgroundColor: 'color',\n borderRadius: 'size',\n width: 'size',\n minWidth: 'size',\n maxWidth: 'size',\n height: 'size',\n minHeight: 'size',\n maxHeight: 'size',\n flex: 'number',\n position: ['relative', 'absolute'],\n top: 'size',\n bottom: 'size',\n left: 'size',\n right: 'size',\n zIndex: 'number',\n buttonType: ['previous_button', 'next_button', 'skip_button'],\n skipNumber: 'number',\n buttons_direction: ['row', 'column'],\n forIndex: 'number',\n seperatorColor: 'color',\n condition: ['carousel-index'],\n conditionVariable: 'number',\n },\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n meta: {\n desiredParent: ['=OnboardItem'],\n label: 'Onboard Buttons',\n description: 'Wrapper for onboarding button set.',\n specialCategories: {\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n sort: 1,\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n sort: 2,\n },\n size: {\n label: 'Size',\n description: 'Fixed dimensions.',\n category: 'container',\n sort: 3,\n },\n offset: {\n label: 'Offset',\n description: 'Absolute positioning offsets.',\n category: 'container',\n sort: 4,\n },\n },\n attributes: {\n scrollable: {\n label: 'Scrollable',\n description: 'Turns scroll interaction on.',\n category: 'container',\n specialCategory: null,\n sort: -1,\n },\n flexDirection: {\n label: 'Flex Direction',\n description: 'Sets row or column layout.',\n category: 'container',\n specialCategory: null,\n sort: 4,\n },\n alignItems: {\n label: 'Align Items',\n description: 'Controls cross-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n justifyContent: {\n label: 'Justify Content',\n description: 'Controls main-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 5,\n },\n gap: {\n label: 'Gap',\n description: 'Space between children.',\n category: 'container',\n specialCategory: null,\n sort: 10,\n preferedScale: 's',\n },\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n specialCategory: 'padding',\n sort: 6,\n preferedScale: 's',\n },\n paddingHorizontal: {\n label: 'Padding Horizontal',\n description: 'Left and right padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 7,\n preferedScale: 's',\n },\n paddingVertical: {\n label: 'Padding Vertical',\n description: 'Top and bottom padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 8,\n preferedScale: 'vs',\n },\n paddingTop: {\n label: 'Padding Top',\n description: 'Top padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 9,\n preferedScale: 'vs',\n },\n paddingBottom: {\n label: 'Padding Bottom',\n description: 'Bottom padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 10,\n preferedScale: 'vs',\n },\n paddingLeft: {\n label: 'Padding Left',\n description: 'Left padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 11,\n preferedScale: 's',\n },\n paddingRight: {\n label: 'Padding Right',\n description: 'Right padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 12,\n preferedScale: 's',\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n specialCategory: 'margin',\n sort: 13,\n preferedScale: 's',\n },\n marginHorizontal: {\n label: 'Margin Horizontal',\n description: 'Left and right margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 14,\n preferedScale: 's',\n },\n marginVertical: {\n label: 'Margin Vertical',\n description: 'Top and bottom margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 15,\n preferedScale: 'vs',\n },\n marginTop: {\n label: 'Margin Top',\n description: 'Top margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 16,\n preferedScale: 'vs',\n },\n marginBottom: {\n label: 'Margin Bottom',\n description: 'Bottom margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 17,\n preferedScale: 'vs',\n },\n marginLeft: {\n label: 'Margin Left',\n description: 'Left margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 18,\n preferedScale: 's',\n },\n marginRight: {\n label: 'Margin Right',\n description: 'Right margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 19,\n preferedScale: 's',\n },\n backgroundColor: {\n label: 'Background Color',\n description: 'Background fill color.',\n category: 'style',\n specialCategory: null,\n sort: 20,\n },\n borderRadius: {\n label: 'Border Radius',\n description: 'Corner rounding amount.',\n category: 'style',\n specialCategory: null,\n sort: 21,\n preferedScale: 's',\n },\n width: {\n label: 'Width',\n description: 'Fixed width value.',\n category: 'container',\n specialCategory: 'size',\n sort: 0,\n preferedScale: 's',\n },\n minWidth: {\n label: 'Min Width',\n description: 'Minimum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 1,\n preferedScale: 's',\n },\n maxWidth: {\n label: 'Max Width',\n description: 'Maximum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 2,\n preferedScale: 's',\n },\n height: {\n label: 'Height',\n description: 'Fixed height value.',\n category: 'container',\n specialCategory: 'size',\n sort: 3,\n preferedScale: 'vs',\n },\n minHeight: {\n label: 'Min Height',\n description: 'Minimum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 4,\n preferedScale: 'vs',\n },\n maxHeight: {\n label: 'Max Height',\n description: 'Maximum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 5,\n preferedScale: 'vs',\n },\n flex: {\n label: 'Flex',\n description: 'Flex grow factor (e.g. 1 fills available space).',\n category: 'container',\n specialCategory: 'size',\n sort: 6,\n },\n position: {\n label: 'Position',\n description: 'Sets layout positioning mode.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n top: {\n label: 'Top',\n description: 'Offset from the top edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 22,\n preferedScale: 'vs',\n },\n bottom: {\n label: 'Bottom',\n description: 'Offset from the bottom edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 23,\n preferedScale: 'vs',\n },\n left: {\n label: 'Left',\n description: 'Offset from the left edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 24,\n preferedScale: 's',\n },\n right: {\n label: 'Right',\n description: 'Offset from the right edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 25,\n preferedScale: 's',\n },\n zIndex: {\n label: 'Z-Index',\n description: 'Controls stacking order.',\n category: 'container',\n specialCategory: null,\n sort: 26,\n },\n buttonType: {\n label: 'Button Type',\n description: 'Which onboard button to show.',\n category: 'other',\n specialCategory: null,\n sort: 1,\n },\n skipNumber: {\n label: 'Skip Number',\n description: 'Slide index to skip to.',\n category: 'other',\n specialCategory: null,\n sort: 2,\n },\n buttons_direction: {\n label: 'Buttons Direction',\n description: 'Direction to lay out buttons.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n forIndex: {\n label: 'For Index',\n description: 'Show only for this slide index.',\n category: 'other',\n specialCategory: null,\n sort: 4,\n },\n seperatorColor: {\n label: 'Seperator Color',\n description: 'Color of the divider line.',\n category: 'style',\n specialCategory: null,\n sort: 5,\n },\n condition: {\n label: 'Condition',\n description: 'Built-in condition to check.',\n category: 'other',\n specialCategory: null,\n sort: 6,\n },\n conditionVariable: {\n label: 'Condition Variable',\n description: 'Value used when checking the condition.',\n category: 'other',\n specialCategory: null,\n sort: 7,\n },\n },\n },\n types: {},\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n {\n schemaVersion: 1,\n allowUnknownAttributes: false,\n pattern: {\n type: 'OnboardDot',\n children: 'never',\n attributes: {\n scrollable: 'boolean',\n flexDirection: 'never',\n alignItems: 'never',\n justifyContent: 'never',\n gap: 'size',\n padding: 'size',\n paddingHorizontal: 'size',\n paddingVertical: 'size',\n paddingTop: 'size',\n paddingBottom: 'size',\n paddingLeft: 'size',\n paddingRight: 'size',\n margin: 'size',\n marginVertical: 'size',\n marginTop: 'size',\n marginBottom: 'size',\n marginLeft: 'size',\n marginRight: 'size',\n backgroundColor: 'color',\n borderRadius: 'size',\n width: 'size',\n minWidth: 'size',\n maxWidth: 'size',\n height: 'size',\n minHeight: 'size',\n maxHeight: 'size',\n flex: 'number',\n position: ['relative', 'absolute'],\n top: 'size',\n bottom: 'size',\n left: 'size',\n right: 'size',\n zIndex: 'number',\n dotType: [\n 'expanding_dot',\n 'normal_dot',\n 'scaling_dot',\n 'sliding_border',\n 'sliding_dot',\n 'liquid_like',\n ],\n inactive_dot_opacity: 'number',\n expanding_dot_width: 'size',\n active_dot_color: 'color',\n },\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n meta: {\n desiredParent: ['>OnboardProvider'],\n label: 'Onboard Dot',\n description: 'Renders onboarding progress dots.',\n specialCategories: {\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n sort: 1,\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n sort: 2,\n },\n size: {\n label: 'Size',\n description: 'Fixed dimensions.',\n category: 'container',\n sort: 3,\n },\n offset: {\n label: 'Offset',\n description: 'Absolute positioning offsets.',\n category: 'container',\n sort: 4,\n },\n },\n attributes: {\n scrollable: {\n label: 'Scrollable',\n description: 'Turns scroll interaction on.',\n category: 'container',\n specialCategory: null,\n sort: -1,\n },\n flexDirection: {\n label: 'Flex Direction',\n description: 'Sets row or column layout.',\n category: 'container',\n specialCategory: null,\n sort: 4,\n },\n alignItems: {\n label: 'Align Items',\n description: 'Controls cross-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n justifyContent: {\n label: 'Justify Content',\n description: 'Controls main-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 5,\n },\n gap: {\n label: 'Gap',\n description: 'Space between children.',\n category: 'container',\n specialCategory: null,\n sort: 10,\n preferedScale: 's',\n },\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n specialCategory: 'padding',\n sort: 6,\n preferedScale: 's',\n },\n paddingHorizontal: {\n label: 'Padding Horizontal',\n description: 'Left and right padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 7,\n preferedScale: 's',\n },\n paddingVertical: {\n label: 'Padding Vertical',\n description: 'Top and bottom padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 8,\n preferedScale: 'vs',\n },\n paddingTop: {\n label: 'Padding Top',\n description: 'Top padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 9,\n preferedScale: 'vs',\n },\n paddingBottom: {\n label: 'Padding Bottom',\n description: 'Bottom padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 10,\n preferedScale: 'vs',\n },\n paddingLeft: {\n label: 'Padding Left',\n description: 'Left padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 11,\n preferedScale: 's',\n },\n paddingRight: {\n label: 'Padding Right',\n description: 'Right padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 12,\n preferedScale: 's',\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n specialCategory: 'margin',\n sort: 13,\n preferedScale: 's',\n },\n marginHorizontal: {\n label: 'Margin Horizontal',\n description: 'Left and right margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 14,\n preferedScale: 's',\n },\n marginVertical: {\n label: 'Margin Vertical',\n description: 'Top and bottom margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 15,\n preferedScale: 'vs',\n },\n marginTop: {\n label: 'Margin Top',\n description: 'Top margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 16,\n preferedScale: 'vs',\n },\n marginBottom: {\n label: 'Margin Bottom',\n description: 'Bottom margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 17,\n preferedScale: 'vs',\n },\n marginLeft: {\n label: 'Margin Left',\n description: 'Left margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 18,\n preferedScale: 's',\n },\n marginRight: {\n label: 'Margin Right',\n description: 'Right margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 19,\n preferedScale: 's',\n },\n backgroundColor: {\n label: 'Background Color',\n description: 'Background fill color.',\n category: 'style',\n specialCategory: null,\n sort: 20,\n },\n borderRadius: {\n label: 'Border Radius',\n description: 'Corner rounding amount.',\n category: 'style',\n specialCategory: null,\n sort: 21,\n preferedScale: 's',\n },\n width: {\n label: 'Width',\n description: 'Fixed width value.',\n category: 'container',\n specialCategory: 'size',\n sort: 0,\n preferedScale: 's',\n },\n minWidth: {\n label: 'Min Width',\n description: 'Minimum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 1,\n preferedScale: 's',\n },\n maxWidth: {\n label: 'Max Width',\n description: 'Maximum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 2,\n preferedScale: 's',\n },\n height: {\n label: 'Height',\n description: 'Fixed height value.',\n category: 'container',\n specialCategory: 'size',\n sort: 3,\n preferedScale: 'vs',\n },\n minHeight: {\n label: 'Min Height',\n description: 'Minimum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 4,\n preferedScale: 'vs',\n },\n maxHeight: {\n label: 'Max Height',\n description: 'Maximum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 5,\n preferedScale: 'vs',\n },\n flex: {\n label: 'Flex',\n description: 'Flex grow factor (e.g. 1 fills available space).',\n category: 'container',\n specialCategory: 'size',\n sort: 6,\n },\n position: {\n label: 'Position',\n description: 'Sets layout positioning mode.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n top: {\n label: 'Top',\n description: 'Offset from the top edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 22,\n preferedScale: 'vs',\n },\n bottom: {\n label: 'Bottom',\n description: 'Offset from the bottom edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 23,\n preferedScale: 'vs',\n },\n left: {\n label: 'Left',\n description: 'Offset from the left edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 24,\n preferedScale: 's',\n },\n right: {\n label: 'Right',\n description: 'Offset from the right edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 25,\n preferedScale: 's',\n },\n zIndex: {\n label: 'Z-Index',\n description: 'Controls stacking order.',\n category: 'container',\n specialCategory: null,\n sort: 26,\n },\n dotType: {\n label: 'Dot Type',\n description: 'Dot animation style.',\n category: 'style',\n specialCategory: null,\n sort: 1,\n },\n inactive_dot_opacity: {\n label: 'Inactive Dot Opacity',\n description: 'Opacity for inactive dots.',\n category: 'style',\n specialCategory: null,\n sort: 2,\n },\n expanding_dot_width: {\n label: 'Expanding Dot Width',\n description: 'Width used while expanding.',\n category: 'style',\n specialCategory: null,\n sort: 3,\n },\n active_dot_color: {\n label: 'Active Dot Color',\n description: 'Color of the active dot.',\n category: 'style',\n specialCategory: null,\n sort: 4,\n },\n },\n },\n types: {},\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n {\n schemaVersion: 1,\n allowUnknownAttributes: false,\n pattern: {\n type: 'OnboardFooter',\n children: 'node',\n attributes: {\n color: 'color',\n fontSize: 'size',\n fontWeight: [\n 'normal',\n 'bold',\n '100',\n '200',\n '300',\n '400',\n '500',\n '600',\n '700',\n '800',\n '900',\n ],\n textAlign: ['left', 'center', 'right', 'justify'],\n scrollable: 'boolean',\n flexDirection: ['row', 'column'],\n alignItems: ['flex-start', 'center', 'flex-end', 'stretch', 'baseline'],\n justifyContent: [\n 'flex-start',\n 'center',\n 'flex-end',\n 'space-between',\n 'space-around',\n 'space-evenly',\n ],\n gap: 'size',\n padding: 'size',\n paddingHorizontal: 'size',\n paddingVertical: 'size',\n paddingTop: 'size',\n paddingBottom: 'size',\n paddingLeft: 'size',\n paddingRight: 'size',\n margin: 'size',\n marginVertical: 'size',\n marginTop: 'size',\n marginBottom: 'size',\n marginLeft: 'size',\n marginRight: 'size',\n backgroundColor: 'color',\n borderRadius: 'size',\n width: 'size',\n minWidth: 'size',\n maxWidth: 'size',\n height: 'size',\n minHeight: 'size',\n maxHeight: 'size',\n flex: 'number',\n position: ['relative', 'absolute'],\n top: 'size',\n bottom: 'size',\n left: 'size',\n right: 'size',\n zIndex: 'number',\n textLocalizationKey: 'string',\n linkedWordFirstLocalizationKey: 'string',\n linkedWordFirstColor: 'color',\n linkedWordFirstPage: 'string',\n linkedWordSecondLocalizationKey: 'string',\n linkedWordSecondColor: 'color',\n linkedWordSecondPage: 'string',\n },\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n meta: {\n desiredParent: ['>OnboardItem'],\n label: 'Onboard Footer',\n description: 'Footer text with optional links.',\n attributes: {\n color: {\n label: 'Color',\n description: 'Text color.',\n category: 'style',\n specialCategory: null,\n sort: 1,\n },\n fontSize: {\n label: 'Font Size',\n description: 'Text size.',\n category: 'style',\n specialCategory: null,\n sort: 2,\n preferedScale: 's',\n },\n fontWeight: {\n label: 'Font Weight',\n description: 'Text weight.',\n category: 'style',\n specialCategory: null,\n sort: 3,\n },\n textAlign: {\n label: 'Text Align',\n description: 'Text alignment.',\n category: 'style',\n specialCategory: null,\n sort: 4,\n },\n scrollable: {\n label: 'Scrollable',\n description: 'Turns scroll interaction on.',\n category: 'container',\n specialCategory: null,\n sort: -1,\n },\n flexDirection: {\n label: 'Flex Direction',\n description: 'Sets row or column layout.',\n category: 'container',\n specialCategory: null,\n sort: 4,\n },\n alignItems: {\n label: 'Align Items',\n description: 'Controls cross-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n justifyContent: {\n label: 'Justify Content',\n description: 'Controls main-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 5,\n },\n gap: {\n label: 'Gap',\n description: 'Space between children.',\n category: 'container',\n specialCategory: null,\n sort: 10,\n preferedScale: 's',\n },\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n specialCategory: 'padding',\n sort: 6,\n preferedScale: 's',\n },\n paddingHorizontal: {\n label: 'Padding Horizontal',\n description: 'Left and right padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 7,\n preferedScale: 's',\n },\n paddingVertical: {\n label: 'Padding Vertical',\n description: 'Top and bottom padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 8,\n preferedScale: 'vs',\n },\n paddingTop: {\n label: 'Padding Top',\n description: 'Top padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 9,\n preferedScale: 'vs',\n },\n paddingBottom: {\n label: 'Padding Bottom',\n description: 'Bottom padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 10,\n preferedScale: 'vs',\n },\n paddingLeft: {\n label: 'Padding Left',\n description: 'Left padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 11,\n preferedScale: 's',\n },\n paddingRight: {\n label: 'Padding Right',\n description: 'Right padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 12,\n preferedScale: 's',\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n specialCategory: 'margin',\n sort: 13,\n preferedScale: 's',\n },\n marginHorizontal: {\n label: 'Margin Horizontal',\n description: 'Left and right margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 14,\n preferedScale: 's',\n },\n marginVertical: {\n label: 'Margin Vertical',\n description: 'Top and bottom margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 15,\n preferedScale: 'vs',\n },\n marginTop: {\n label: 'Margin Top',\n description: 'Top margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 16,\n preferedScale: 'vs',\n },\n marginBottom: {\n label: 'Margin Bottom',\n description: 'Bottom margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 17,\n preferedScale: 'vs',\n },\n marginLeft: {\n label: 'Margin Left',\n description: 'Left margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 18,\n preferedScale: 's',\n },\n marginRight: {\n label: 'Margin Right',\n description: 'Right margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 19,\n preferedScale: 's',\n },\n backgroundColor: {\n label: 'Background Color',\n description: 'Background fill color.',\n category: 'style',\n specialCategory: null,\n sort: 20,\n },\n borderRadius: {\n label: 'Border Radius',\n description: 'Corner rounding amount.',\n category: 'style',\n specialCategory: null,\n sort: 21,\n preferedScale: 's',\n },\n width: {\n label: 'Width',\n description: 'Fixed width value.',\n category: 'container',\n specialCategory: 'size',\n sort: 0,\n preferedScale: 's',\n },\n minWidth: {\n label: 'Min Width',\n description: 'Minimum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 1,\n preferedScale: 's',\n },\n maxWidth: {\n label: 'Max Width',\n description: 'Maximum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 2,\n preferedScale: 's',\n },\n height: {\n label: 'Height',\n description: 'Fixed height value.',\n category: 'container',\n specialCategory: 'size',\n sort: 3,\n preferedScale: 'vs',\n },\n minHeight: {\n label: 'Min Height',\n description: 'Minimum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 4,\n preferedScale: 'vs',\n },\n maxHeight: {\n label: 'Max Height',\n description: 'Maximum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 5,\n preferedScale: 'vs',\n },\n flex: {\n label: 'Flex',\n description: 'Flex grow factor (e.g. 1 fills available space).',\n category: 'container',\n specialCategory: 'size',\n sort: 6,\n },\n position: {\n label: 'Position',\n description: 'Sets layout positioning mode.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n top: {\n label: 'Top',\n description: 'Offset from the top edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 22,\n preferedScale: 'vs',\n },\n bottom: {\n label: 'Bottom',\n description: 'Offset from the bottom edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 23,\n preferedScale: 'vs',\n },\n left: {\n label: 'Left',\n description: 'Offset from the left edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 24,\n preferedScale: 's',\n },\n right: {\n label: 'Right',\n description: 'Offset from the right edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 25,\n preferedScale: 's',\n },\n zIndex: {\n label: 'Z-Index',\n description: 'Controls stacking order.',\n category: 'container',\n specialCategory: null,\n sort: 26,\n },\n textLocalizationKey: {\n label: 'Text Localization Key',\n description: 'Localization key for the footer text.',\n category: 'other',\n specialCategory: null,\n sort: 1,\n },\n linkedWordFirstLocalizationKey: {\n label: 'Linked Word First Localization Key',\n description: 'Key for the first linked word.',\n category: 'other',\n specialCategory: null,\n sort: 2,\n },\n linkedWordFirstColor: {\n label: 'Linked Word First Color',\n description: 'Color of the first linked word.',\n category: 'style',\n specialCategory: null,\n sort: 3,\n },\n linkedWordFirstPage: {\n label: 'Linked Word First Page',\n description: 'Page opened by the first link.',\n category: 'other',\n specialCategory: null,\n sort: 4,\n },\n linkedWordSecondLocalizationKey: {\n label: 'Linked Word Second Localization Key',\n description: 'Key for the second linked word.',\n category: 'other',\n specialCategory: null,\n sort: 5,\n },\n linkedWordSecondColor: {\n label: 'Linked Word Second Color',\n description: 'Color of the second linked word.',\n category: 'style',\n specialCategory: null,\n sort: 6,\n },\n linkedWordSecondPage: {\n label: 'Linked Word Second Page',\n description: 'Page opened by the second link.',\n category: 'other',\n specialCategory: null,\n sort: 7,\n },\n },\n specialCategories: {\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n sort: 1,\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n sort: 2,\n },\n size: {\n label: 'Size',\n description: 'Fixed dimensions.',\n category: 'container',\n sort: 3,\n },\n offset: {\n label: 'Offset',\n description: 'Absolute positioning offsets.',\n category: 'container',\n sort: 4,\n },\n },\n },\n defaults: {\n flexDirection: 'column',\n position: 'relative',\n zIndex: 1,\n paddingHorizontal: '24@s',\n },\n types: {},\n },\n {\n schemaVersion: 1,\n allowUnknownAttributes: false,\n pattern: {\n type: 'OnboardImage',\n children: 'node',\n attributes: {\n src: 'string',\n width: 'size',\n height: 'size',\n resizeMode: ['cover', 'contain', 'stretch', 'center'],\n scrollable: 'boolean',\n flexDirection: ['row', 'column'],\n alignItems: ['flex-start', 'center', 'flex-end', 'stretch', 'baseline'],\n justifyContent: [\n 'flex-start',\n 'center',\n 'flex-end',\n 'space-between',\n 'space-around',\n 'space-evenly',\n ],\n gap: 'size',\n padding: 'size',\n paddingHorizontal: 'size',\n paddingVertical: 'size',\n paddingTop: 'size',\n paddingBottom: 'size',\n paddingLeft: 'size',\n paddingRight: 'size',\n margin: 'size',\n marginVertical: 'size',\n marginTop: 'size',\n marginBottom: 'size',\n marginLeft: 'size',\n marginRight: 'size',\n backgroundColor: 'color',\n borderRadius: 'size',\n minWidth: 'size',\n maxWidth: 'size',\n minHeight: 'size',\n maxHeight: 'size',\n flex: 'number',\n position: ['relative', 'absolute'],\n top: 'size',\n bottom: 'size',\n left: 'size',\n right: 'size',\n zIndex: 'number',\n video_url: 'string',\n lottie: 'string',\n },\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n meta: {\n desiredParent: ['>OnboardProvider', '>OnboardItem', '!=Onboard'],\n label: 'Onboard Image',\n description: 'Onboarding hero image with media.',\n attributes: {\n src: {\n label: 'Src',\n description: 'Image source URL.',\n category: 'other',\n specialCategory: null,\n sort: 1,\n },\n width: {\n label: 'Width',\n description: 'Fixed width value.',\n category: 'container',\n specialCategory: 'size',\n sort: 0,\n preferedScale: 's',\n },\n height: {\n label: 'Height',\n description: 'Fixed height value.',\n category: 'container',\n specialCategory: 'size',\n sort: 3,\n preferedScale: 'vs',\n },\n resizeMode: {\n label: 'Resize Mode',\n description: 'How the image fits the frame.',\n category: 'style',\n specialCategory: null,\n sort: 4,\n },\n scrollable: {\n label: 'Scrollable',\n description: 'Turns scroll interaction on.',\n category: 'container',\n specialCategory: null,\n sort: -1,\n },\n flexDirection: {\n label: 'Flex Direction',\n description: 'Sets row or column layout.',\n category: 'container',\n specialCategory: null,\n sort: 4,\n },\n alignItems: {\n label: 'Align Items',\n description: 'Controls cross-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n justifyContent: {\n label: 'Justify Content',\n description: 'Controls main-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 5,\n },\n gap: {\n label: 'Gap',\n description: 'Space between children.',\n category: 'container',\n specialCategory: null,\n sort: 10,\n preferedScale: 's',\n },\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n specialCategory: 'padding',\n sort: 6,\n preferedScale: 's',\n },\n paddingHorizontal: {\n label: 'Padding Horizontal',\n description: 'Left and right padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 7,\n preferedScale: 's',\n },\n paddingVertical: {\n label: 'Padding Vertical',\n description: 'Top and bottom padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 8,\n preferedScale: 'vs',\n },\n paddingTop: {\n label: 'Padding Top',\n description: 'Top padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 9,\n preferedScale: 'vs',\n },\n paddingBottom: {\n label: 'Padding Bottom',\n description: 'Bottom padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 10,\n preferedScale: 'vs',\n },\n paddingLeft: {\n label: 'Padding Left',\n description: 'Left padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 11,\n preferedScale: 's',\n },\n paddingRight: {\n label: 'Padding Right',\n description: 'Right padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 12,\n preferedScale: 's',\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n specialCategory: 'margin',\n sort: 13,\n preferedScale: 's',\n },\n marginHorizontal: {\n label: 'Margin Horizontal',\n description: 'Left and right margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 14,\n preferedScale: 's',\n },\n marginVertical: {\n label: 'Margin Vertical',\n description: 'Top and bottom margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 15,\n preferedScale: 'vs',\n },\n marginTop: {\n label: 'Margin Top',\n description: 'Top margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 16,\n preferedScale: 'vs',\n },\n marginBottom: {\n label: 'Margin Bottom',\n description: 'Bottom margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 17,\n preferedScale: 'vs',\n },\n marginLeft: {\n label: 'Margin Left',\n description: 'Left margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 18,\n preferedScale: 's',\n },\n marginRight: {\n label: 'Margin Right',\n description: 'Right margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 19,\n preferedScale: 's',\n },\n backgroundColor: {\n label: 'Background Color',\n description: 'Background fill color.',\n category: 'style',\n specialCategory: null,\n sort: 20,\n },\n borderRadius: {\n label: 'Border Radius',\n description: 'Corner rounding amount.',\n category: 'style',\n specialCategory: null,\n sort: 21,\n preferedScale: 's',\n },\n minWidth: {\n label: 'Min Width',\n description: 'Minimum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 1,\n preferedScale: 's',\n },\n maxWidth: {\n label: 'Max Width',\n description: 'Maximum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 2,\n preferedScale: 's',\n },\n minHeight: {\n label: 'Min Height',\n description: 'Minimum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 4,\n preferedScale: 'vs',\n },\n maxHeight: {\n label: 'Max Height',\n description: 'Maximum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 5,\n preferedScale: 'vs',\n },\n flex: {\n label: 'Flex',\n description: 'Flex grow factor (e.g. 1 fills available space).',\n category: 'container',\n specialCategory: 'size',\n sort: 6,\n },\n position: {\n label: 'Position',\n description: 'Sets layout positioning mode.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n top: {\n label: 'Top',\n description: 'Offset from the top edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 22,\n preferedScale: 'vs',\n },\n bottom: {\n label: 'Bottom',\n description: 'Offset from the bottom edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 23,\n preferedScale: 'vs',\n },\n left: {\n label: 'Left',\n description: 'Offset from the left edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 24,\n preferedScale: 's',\n },\n right: {\n label: 'Right',\n description: 'Offset from the right edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 25,\n preferedScale: 's',\n },\n zIndex: {\n label: 'Z-Index',\n description: 'Controls stacking order.',\n category: 'container',\n specialCategory: null,\n sort: 26,\n },\n video_url: {\n label: 'Video Url',\n description: 'URL for the onboarding video.',\n category: 'other',\n specialCategory: null,\n sort: 1,\n },\n lottie: {\n label: 'Lottie',\n description: 'Path to the lottie animation.',\n category: 'other',\n specialCategory: null,\n sort: 2,\n },\n },\n specialCategories: {\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n sort: 1,\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n sort: 2,\n },\n size: {\n label: 'Size',\n description: 'Fixed dimensions.',\n category: 'container',\n sort: 3,\n },\n offset: {\n label: 'Offset',\n description: 'Absolute positioning offsets.',\n category: 'container',\n sort: 4,\n },\n },\n },\n types: {},\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n {\n schemaVersion: 1,\n allowUnknownAttributes: false,\n pattern: {\n type: 'OnboardItem',\n children: 'node',\n attributes: {\n scrollable: 'boolean',\n flexDirection: ['row', 'column'],\n alignItems: ['flex-start', 'center', 'flex-end', 'stretch', 'baseline'],\n justifyContent: [\n 'flex-start',\n 'center',\n 'flex-end',\n 'space-between',\n 'space-around',\n 'space-evenly',\n ],\n gap: 'size',\n padding: 'size',\n paddingHorizontal: 'size',\n paddingVertical: 'size',\n paddingTop: 'size',\n paddingBottom: 'size',\n paddingLeft: 'size',\n paddingRight: 'size',\n margin: 'size',\n marginVertical: 'size',\n marginTop: 'size',\n marginBottom: 'size',\n marginLeft: 'size',\n marginRight: 'size',\n backgroundColor: 'color',\n borderRadius: 'size',\n width: 'size',\n minWidth: 'size',\n maxWidth: 'size',\n height: 'size',\n minHeight: 'size',\n maxHeight: 'size',\n flex: 'number',\n position: ['relative', 'absolute'],\n top: 'size',\n bottom: 'size',\n left: 'size',\n right: 'size',\n zIndex: 'number',\n display: ['flex', 'block'],\n },\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n meta: {\n desiredParent: ['=Onboard'],\n label: 'Onboard Item',\n description: 'Single onboarding screen section.',\n specialCategories: {\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n sort: 1,\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n sort: 2,\n },\n size: {\n label: 'Size',\n description: 'Fixed dimensions.',\n category: 'container',\n sort: 3,\n },\n offset: {\n label: 'Offset',\n description: 'Absolute positioning offsets.',\n category: 'container',\n sort: 4,\n },\n },\n attributes: {\n scrollable: {\n label: 'Scrollable',\n description: 'Turns scroll interaction on.',\n category: 'container',\n specialCategory: null,\n sort: -1,\n },\n flexDirection: {\n label: 'Flex Direction',\n description: 'Order of child stacking.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n alignItems: {\n label: 'Align Items',\n description: 'Controls cross-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n justifyContent: {\n label: 'Justify Content',\n description: 'Controls main-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 5,\n },\n gap: {\n label: 'Gap',\n description: 'Space between child blocks.',\n category: 'container',\n specialCategory: null,\n sort: 2,\n },\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n specialCategory: 'padding',\n sort: 6,\n preferedScale: 's',\n },\n paddingHorizontal: {\n label: 'Padding Horizontal',\n description: 'Left and right padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 4,\n },\n paddingVertical: {\n label: 'Padding Vertical',\n description: 'Top and bottom padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 8,\n preferedScale: 'vs',\n },\n paddingTop: {\n label: 'Padding Top',\n description: 'Top padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 9,\n preferedScale: 'vs',\n },\n paddingBottom: {\n label: 'Padding Bottom',\n description: 'Bottom padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 10,\n preferedScale: 'vs',\n },\n paddingLeft: {\n label: 'Padding Left',\n description: 'Left padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 11,\n preferedScale: 's',\n },\n paddingRight: {\n label: 'Padding Right',\n description: 'Right padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 12,\n preferedScale: 's',\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n specialCategory: 'margin',\n sort: 13,\n preferedScale: 's',\n },\n marginHorizontal: {\n label: 'Margin Horizontal',\n description: 'Left and right margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 14,\n preferedScale: 's',\n },\n marginVertical: {\n label: 'Margin Vertical',\n description: 'Top and bottom margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 15,\n preferedScale: 'vs',\n },\n marginTop: {\n label: 'Margin Top',\n description: 'Top margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 16,\n preferedScale: 'vs',\n },\n marginBottom: {\n label: 'Margin Bottom',\n description: 'Bottom margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 17,\n preferedScale: 'vs',\n },\n marginLeft: {\n label: 'Margin Left',\n description: 'Left margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 18,\n preferedScale: 's',\n },\n marginRight: {\n label: 'Margin Right',\n description: 'Right margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 19,\n preferedScale: 's',\n },\n backgroundColor: {\n label: 'Background Color',\n description: 'Background fill color.',\n category: 'style',\n specialCategory: null,\n sort: 20,\n },\n borderRadius: {\n label: 'Border Radius',\n description: 'Corner rounding amount.',\n category: 'style',\n specialCategory: null,\n sort: 21,\n preferedScale: 's',\n },\n width: {\n label: 'Width',\n description: 'Fixed width value.',\n category: 'container',\n specialCategory: 'size',\n sort: 0,\n preferedScale: 's',\n },\n minWidth: {\n label: 'Min Width',\n description: 'Minimum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 1,\n preferedScale: 's',\n },\n maxWidth: {\n label: 'Max Width',\n description: 'Maximum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 2,\n preferedScale: 's',\n },\n height: {\n label: 'Height',\n description: 'Fixed height value.',\n category: 'container',\n specialCategory: 'size',\n sort: 3,\n preferedScale: 'vs',\n },\n minHeight: {\n label: 'Min Height',\n description: 'Minimum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 4,\n preferedScale: 'vs',\n },\n maxHeight: {\n label: 'Max Height',\n description: 'Maximum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 5,\n preferedScale: 'vs',\n },\n flex: {\n label: 'Flex',\n description: 'Flex grow factor (e.g. 1 fills available space).',\n category: 'container',\n specialCategory: 'size',\n sort: 6,\n },\n position: {\n label: 'Position',\n description: 'Sets layout positioning mode.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n top: {\n label: 'Top',\n description: 'Offset from the top edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 22,\n preferedScale: 'vs',\n },\n bottom: {\n label: 'Bottom',\n description: 'Offset from the bottom edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 23,\n preferedScale: 'vs',\n },\n left: {\n label: 'Left',\n description: 'Offset from the left edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 24,\n preferedScale: 's',\n },\n right: {\n label: 'Right',\n description: 'Offset from the right edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 25,\n preferedScale: 's',\n },\n zIndex: {\n label: 'Z-Index',\n description: 'Controls stacking order.',\n category: 'container',\n specialCategory: null,\n sort: 26,\n },\n display: {\n label: 'Display',\n description: 'Controls layout display mode.',\n category: 'container',\n specialCategory: null,\n sort: 1,\n },\n },\n },\n defaults: {\n flexDirection: 'column',\n position: 'relative',\n zIndex: 1,\n gap: '16@vs',\n display: 'flex',\n paddingHorizontal: '24@s',\n },\n types: {},\n },\n {\n schemaVersion: 1,\n allowUnknownAttributes: false,\n pattern: {\n type: 'OnboardProvider',\n children: 'node',\n attributes: {\n scrollable: 'boolean',\n flexDirection: ['row', 'column'],\n alignItems: ['flex-start', 'center', 'flex-end', 'stretch', 'baseline'],\n justifyContent: [\n 'flex-start',\n 'center',\n 'flex-end',\n 'space-between',\n 'space-around',\n 'space-evenly',\n ],\n gap: 'size',\n padding: 'size',\n paddingHorizontal: 'size',\n paddingVertical: 'size',\n paddingTop: 'size',\n paddingBottom: 'size',\n paddingLeft: 'size',\n paddingRight: 'size',\n margin: 'size',\n marginVertical: 'size',\n marginTop: 'size',\n marginBottom: 'size',\n marginLeft: 'size',\n marginRight: 'size',\n backgroundColor: 'color',\n borderRadius: 'never',\n width: 'size',\n minWidth: 'size',\n maxWidth: 'size',\n height: 'size',\n minHeight: 'size',\n maxHeight: 'size',\n flex: 'number',\n position: ['relative', 'absolute'],\n top: 'size',\n bottom: 'size',\n left: 'size',\n right: 'size',\n zIndex: 'number',\n },\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n meta: {\n desiredParent: ['root'],\n label: 'Onboard Provider',\n description: 'Provides shared settings for onboarding.',\n specialCategories: {\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n sort: 1,\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n sort: 2,\n },\n size: {\n label: 'Size',\n description: 'Fixed dimensions.',\n category: 'container',\n sort: 3,\n },\n offset: {\n label: 'Offset',\n description: 'Absolute positioning offsets.',\n category: 'container',\n sort: 4,\n },\n },\n attributes: {\n scrollable: {\n label: 'Scrollable',\n description: 'Turns scroll interaction on.',\n category: 'container',\n specialCategory: null,\n sort: -1,\n },\n flexDirection: {\n label: 'Flex Direction',\n description: 'Sets row or column layout.',\n category: 'container',\n specialCategory: null,\n sort: 4,\n },\n alignItems: {\n label: 'Align Items',\n description: 'Controls cross-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n justifyContent: {\n label: 'Justify Content',\n description: 'Controls main-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 5,\n },\n gap: {\n label: 'Gap',\n description: 'Space between children.',\n category: 'container',\n specialCategory: null,\n sort: 10,\n preferedScale: 's',\n },\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n specialCategory: 'padding',\n sort: 6,\n preferedScale: 's',\n },\n paddingHorizontal: {\n label: 'Padding Horizontal',\n description: 'Left and right padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 7,\n preferedScale: 's',\n },\n paddingVertical: {\n label: 'Padding Vertical',\n description: 'Top and bottom padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 8,\n preferedScale: 'vs',\n },\n paddingTop: {\n label: 'Padding Top',\n description: 'Top padding for the provider.',\n category: 'container',\n specialCategory: 'padding',\n sort: 1,\n },\n paddingBottom: {\n label: 'Padding Bottom',\n description: 'Bottom padding for the provider.',\n category: 'container',\n specialCategory: 'padding',\n sort: 3,\n },\n paddingLeft: {\n label: 'Padding Left',\n description: 'Left padding for the provider.',\n category: 'container',\n specialCategory: 'padding',\n sort: 4,\n },\n paddingRight: {\n label: 'Padding Right',\n description: 'Right padding for the provider.',\n category: 'container',\n specialCategory: 'padding',\n sort: 2,\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n specialCategory: 'margin',\n sort: 13,\n preferedScale: 's',\n },\n marginHorizontal: {\n label: 'Margin Horizontal',\n description: 'Left and right margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 14,\n preferedScale: 's',\n },\n marginVertical: {\n label: 'Margin Vertical',\n description: 'Top and bottom margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 15,\n preferedScale: 'vs',\n },\n marginTop: {\n label: 'Margin Top',\n description: 'Top margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 16,\n preferedScale: 'vs',\n },\n marginBottom: {\n label: 'Margin Bottom',\n description: 'Bottom margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 17,\n preferedScale: 'vs',\n },\n marginLeft: {\n label: 'Margin Left',\n description: 'Left margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 18,\n preferedScale: 's',\n },\n marginRight: {\n label: 'Margin Right',\n description: 'Right margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 19,\n preferedScale: 's',\n },\n backgroundColor: {\n label: 'Background Color',\n description: 'Background fill color.',\n category: 'style',\n specialCategory: null,\n sort: 20,\n },\n borderRadius: {\n label: 'Border Radius',\n description: 'Corner rounding amount.',\n category: 'style',\n specialCategory: null,\n sort: 21,\n preferedScale: 's',\n },\n width: {\n label: 'Width',\n description: 'Fixed width value.',\n category: 'container',\n specialCategory: 'size',\n sort: 0,\n preferedScale: 's',\n },\n minWidth: {\n label: 'Min Width',\n description: 'Minimum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 1,\n preferedScale: 's',\n },\n maxWidth: {\n label: 'Max Width',\n description: 'Maximum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 2,\n preferedScale: 's',\n },\n height: {\n label: 'Height',\n description: 'Fixed height value.',\n category: 'container',\n specialCategory: 'size',\n sort: 3,\n preferedScale: 'vs',\n },\n minHeight: {\n label: 'Min Height',\n description: 'Minimum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 4,\n preferedScale: 'vs',\n },\n maxHeight: {\n label: 'Max Height',\n description: 'Maximum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 5,\n preferedScale: 'vs',\n },\n flex: {\n label: 'Flex',\n description: 'Flex grow factor (e.g. 1 fills available space).',\n category: 'container',\n specialCategory: 'size',\n sort: 6,\n },\n position: {\n label: 'Position',\n description: 'Sets layout positioning mode.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n top: {\n label: 'Top',\n description: 'Offset from the top edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 22,\n preferedScale: 'vs',\n },\n bottom: {\n label: 'Bottom',\n description: 'Offset from the bottom edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 23,\n preferedScale: 'vs',\n },\n left: {\n label: 'Left',\n description: 'Offset from the left edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 24,\n preferedScale: 's',\n },\n right: {\n label: 'Right',\n description: 'Offset from the right edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 25,\n preferedScale: 's',\n },\n zIndex: {\n label: 'Z-Index',\n description: 'Controls stacking order.',\n category: 'container',\n specialCategory: null,\n sort: 26,\n },\n },\n },\n defaults: {\n flexDirection: 'column',\n position: 'relative',\n zIndex: 1,\n width: '100%',\n height: '100%',\n },\n types: {},\n },\n {\n schemaVersion: 1,\n allowUnknownAttributes: false,\n pattern: {\n type: 'OnboardSubtitle',\n children: 'string',\n attributes: {\n color: 'color',\n fontSize: 'size',\n fontWeight: [\n 'normal',\n 'bold',\n '100',\n '200',\n '300',\n '400',\n '500',\n '600',\n '700',\n '800',\n '900',\n ],\n textAlign: ['left', 'center', 'right', 'justify'],\n scrollable: 'boolean',\n flexDirection: ['row', 'column'],\n alignItems: ['flex-start', 'center', 'flex-end', 'stretch', 'baseline'],\n justifyContent: [\n 'flex-start',\n 'center',\n 'flex-end',\n 'space-between',\n 'space-around',\n 'space-evenly',\n ],\n gap: 'size',\n padding: 'size',\n paddingHorizontal: 'size',\n paddingVertical: 'size',\n paddingTop: 'size',\n paddingBottom: 'size',\n paddingLeft: 'size',\n paddingRight: 'size',\n margin: 'size',\n marginVertical: 'size',\n marginTop: 'size',\n marginBottom: 'size',\n marginLeft: 'size',\n marginRight: 'size',\n backgroundColor: 'color',\n borderRadius: 'size',\n width: 'size',\n minWidth: 'size',\n maxWidth: 'size',\n height: 'size',\n minHeight: 'size',\n maxHeight: 'size',\n flex: 'number',\n position: ['relative', 'absolute'],\n top: 'size',\n bottom: 'size',\n left: 'size',\n right: 'size',\n zIndex: 'number',\n },\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n meta: {\n desiredParent: ['>OnboardProvider', '>OnboardItem'],\n label: 'Onboard Subtitle',\n description: 'Subtitle text for an onboarding step.',\n attributes: {\n color: {\n label: 'Color',\n description: 'Text color.',\n category: 'style',\n specialCategory: null,\n sort: 1,\n },\n fontSize: {\n label: 'Font Size',\n description: 'Text size.',\n category: 'style',\n specialCategory: null,\n sort: 2,\n preferedScale: 's',\n },\n fontWeight: {\n label: 'Font Weight',\n description: 'Text weight.',\n category: 'style',\n specialCategory: null,\n sort: 3,\n },\n textAlign: {\n label: 'Text Align',\n description: 'Text alignment.',\n category: 'style',\n specialCategory: null,\n sort: 4,\n },\n scrollable: {\n label: 'Scrollable',\n description: 'Turns scroll interaction on.',\n category: 'container',\n specialCategory: null,\n sort: -1,\n },\n flexDirection: {\n label: 'Flex Direction',\n description: 'Sets row or column layout.',\n category: 'container',\n specialCategory: null,\n sort: 4,\n },\n alignItems: {\n label: 'Align Items',\n description: 'Controls cross-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n justifyContent: {\n label: 'Justify Content',\n description: 'Controls main-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 5,\n },\n gap: {\n label: 'Gap',\n description: 'Space between children.',\n category: 'container',\n specialCategory: null,\n sort: 10,\n preferedScale: 's',\n },\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n specialCategory: 'padding',\n sort: 6,\n preferedScale: 's',\n },\n paddingHorizontal: {\n label: 'Padding Horizontal',\n description: 'Left and right padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 7,\n preferedScale: 's',\n },\n paddingVertical: {\n label: 'Padding Vertical',\n description: 'Top and bottom padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 8,\n preferedScale: 'vs',\n },\n paddingTop: {\n label: 'Padding Top',\n description: 'Top padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 9,\n preferedScale: 'vs',\n },\n paddingBottom: {\n label: 'Padding Bottom',\n description: 'Bottom padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 10,\n preferedScale: 'vs',\n },\n paddingLeft: {\n label: 'Padding Left',\n description: 'Left padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 11,\n preferedScale: 's',\n },\n paddingRight: {\n label: 'Padding Right',\n description: 'Right padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 12,\n preferedScale: 's',\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n specialCategory: 'margin',\n sort: 13,\n preferedScale: 's',\n },\n marginHorizontal: {\n label: 'Margin Horizontal',\n description: 'Left and right margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 14,\n preferedScale: 's',\n },\n marginVertical: {\n label: 'Margin Vertical',\n description: 'Top and bottom margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 15,\n preferedScale: 'vs',\n },\n marginTop: {\n label: 'Margin Top',\n description: 'Top margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 16,\n preferedScale: 'vs',\n },\n marginBottom: {\n label: 'Margin Bottom',\n description: 'Bottom margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 17,\n preferedScale: 'vs',\n },\n marginLeft: {\n label: 'Margin Left',\n description: 'Left margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 18,\n preferedScale: 's',\n },\n marginRight: {\n label: 'Margin Right',\n description: 'Right margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 19,\n preferedScale: 's',\n },\n backgroundColor: {\n label: 'Background Color',\n description: 'Background fill color.',\n category: 'style',\n specialCategory: null,\n sort: 20,\n },\n borderRadius: {\n label: 'Border Radius',\n description: 'Corner rounding amount.',\n category: 'style',\n specialCategory: null,\n sort: 21,\n preferedScale: 's',\n },\n width: {\n label: 'Width',\n description: 'Fixed width value.',\n category: 'container',\n specialCategory: 'size',\n sort: 0,\n preferedScale: 's',\n },\n minWidth: {\n label: 'Min Width',\n description: 'Minimum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 1,\n preferedScale: 's',\n },\n maxWidth: {\n label: 'Max Width',\n description: 'Maximum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 2,\n preferedScale: 's',\n },\n height: {\n label: 'Height',\n description: 'Fixed height value.',\n category: 'container',\n specialCategory: 'size',\n sort: 3,\n preferedScale: 'vs',\n },\n minHeight: {\n label: 'Min Height',\n description: 'Minimum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 4,\n preferedScale: 'vs',\n },\n maxHeight: {\n label: 'Max Height',\n description: 'Maximum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 5,\n preferedScale: 'vs',\n },\n flex: {\n label: 'Flex',\n description: 'Flex grow factor (e.g. 1 fills available space).',\n category: 'container',\n specialCategory: 'size',\n sort: 6,\n },\n position: {\n label: 'Position',\n description: 'Sets layout positioning mode.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n top: {\n label: 'Top',\n description: 'Offset from the top edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 22,\n preferedScale: 'vs',\n },\n bottom: {\n label: 'Bottom',\n description: 'Offset from the bottom edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 23,\n preferedScale: 'vs',\n },\n left: {\n label: 'Left',\n description: 'Offset from the left edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 24,\n preferedScale: 's',\n },\n right: {\n label: 'Right',\n description: 'Offset from the right edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 25,\n preferedScale: 's',\n },\n zIndex: {\n label: 'Z-Index',\n description: 'Controls stacking order.',\n category: 'container',\n specialCategory: null,\n sort: 26,\n },\n },\n specialCategories: {\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n sort: 1,\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n sort: 2,\n },\n size: {\n label: 'Size',\n description: 'Fixed dimensions.',\n category: 'container',\n sort: 3,\n },\n offset: {\n label: 'Offset',\n description: 'Absolute positioning offsets.',\n category: 'container',\n sort: 4,\n },\n },\n },\n defaults: {\n flexDirection: 'column',\n position: 'relative',\n zIndex: 1,\n fontSize: '14@fs',\n fontWeight: '600',\n },\n types: {},\n },\n {\n schemaVersion: 1,\n allowUnknownAttributes: false,\n pattern: {\n type: 'OnboardTitle',\n children: 'string',\n attributes: {\n color: 'color',\n fontSize: 'size',\n fontWeight: [\n 'normal',\n 'bold',\n '100',\n '200',\n '300',\n '400',\n '500',\n '600',\n '700',\n '800',\n '900',\n ],\n textAlign: ['left', 'center', 'right', 'justify'],\n scrollable: 'boolean',\n flexDirection: ['row', 'column'],\n alignItems: ['flex-start', 'center', 'flex-end', 'stretch', 'baseline'],\n justifyContent: [\n 'flex-start',\n 'center',\n 'flex-end',\n 'space-between',\n 'space-around',\n 'space-evenly',\n ],\n gap: 'size',\n padding: 'size',\n paddingHorizontal: 'size',\n paddingVertical: 'size',\n paddingTop: 'size',\n paddingBottom: 'size',\n paddingLeft: 'size',\n paddingRight: 'size',\n margin: 'size',\n marginVertical: 'size',\n marginTop: 'size',\n marginBottom: 'size',\n marginLeft: 'size',\n marginRight: 'size',\n backgroundColor: 'color',\n borderRadius: 'size',\n width: 'size',\n minWidth: 'size',\n maxWidth: 'size',\n height: 'size',\n minHeight: 'size',\n maxHeight: 'size',\n flex: 'number',\n position: ['relative', 'absolute'],\n top: 'size',\n bottom: 'size',\n left: 'size',\n right: 'size',\n zIndex: 'number',\n },\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n meta: {\n desiredParent: ['>OnboardItem', '>OnboardProvider'],\n label: 'Onboard Title',\n description: 'Title text for an onboarding step.',\n attributes: {\n color: {\n label: 'Color',\n description: 'Text color.',\n category: 'style',\n specialCategory: null,\n sort: 1,\n },\n fontSize: {\n label: 'Font Size',\n description: 'Text size.',\n category: 'style',\n specialCategory: null,\n sort: 2,\n preferedScale: 's',\n },\n fontWeight: {\n label: 'Font Weight',\n description: 'Text weight.',\n category: 'style',\n specialCategory: null,\n sort: 3,\n },\n textAlign: {\n label: 'Text Align',\n description: 'Text alignment.',\n category: 'style',\n specialCategory: null,\n sort: 4,\n },\n scrollable: {\n label: 'Scrollable',\n description: 'Turns scroll interaction on.',\n category: 'container',\n specialCategory: null,\n sort: -1,\n },\n flexDirection: {\n label: 'Flex Direction',\n description: 'Sets row or column layout.',\n category: 'container',\n specialCategory: null,\n sort: 4,\n },\n alignItems: {\n label: 'Align Items',\n description: 'Controls cross-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n justifyContent: {\n label: 'Justify Content',\n description: 'Controls main-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 5,\n },\n gap: {\n label: 'Gap',\n description: 'Space between children.',\n category: 'container',\n specialCategory: null,\n sort: 10,\n preferedScale: 's',\n },\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n specialCategory: 'padding',\n sort: 6,\n preferedScale: 's',\n },\n paddingHorizontal: {\n label: 'Padding Horizontal',\n description: 'Left and right padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 7,\n preferedScale: 's',\n },\n paddingVertical: {\n label: 'Padding Vertical',\n description: 'Top and bottom padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 8,\n preferedScale: 'vs',\n },\n paddingTop: {\n label: 'Padding Top',\n description: 'Top padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 9,\n preferedScale: 'vs',\n },\n paddingBottom: {\n label: 'Padding Bottom',\n description: 'Bottom padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 10,\n preferedScale: 'vs',\n },\n paddingLeft: {\n label: 'Padding Left',\n description: 'Left padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 11,\n preferedScale: 's',\n },\n paddingRight: {\n label: 'Padding Right',\n description: 'Right padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 12,\n preferedScale: 's',\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n specialCategory: 'margin',\n sort: 13,\n preferedScale: 's',\n },\n marginHorizontal: {\n label: 'Margin Horizontal',\n description: 'Left and right margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 14,\n preferedScale: 's',\n },\n marginVertical: {\n label: 'Margin Vertical',\n description: 'Top and bottom margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 15,\n preferedScale: 'vs',\n },\n marginTop: {\n label: 'Margin Top',\n description: 'Top margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 16,\n preferedScale: 'vs',\n },\n marginBottom: {\n label: 'Margin Bottom',\n description: 'Bottom margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 17,\n preferedScale: 'vs',\n },\n marginLeft: {\n label: 'Margin Left',\n description: 'Left margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 18,\n preferedScale: 's',\n },\n marginRight: {\n label: 'Margin Right',\n description: 'Right margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 19,\n preferedScale: 's',\n },\n backgroundColor: {\n label: 'Background Color',\n description: 'Background fill color.',\n category: 'style',\n specialCategory: null,\n sort: 20,\n },\n borderRadius: {\n label: 'Border Radius',\n description: 'Corner rounding amount.',\n category: 'style',\n specialCategory: null,\n sort: 21,\n preferedScale: 's',\n },\n width: {\n label: 'Width',\n description: 'Fixed width value.',\n category: 'container',\n specialCategory: 'size',\n sort: 0,\n preferedScale: 's',\n },\n minWidth: {\n label: 'Min Width',\n description: 'Minimum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 1,\n preferedScale: 's',\n },\n maxWidth: {\n label: 'Max Width',\n description: 'Maximum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 2,\n preferedScale: 's',\n },\n height: {\n label: 'Height',\n description: 'Fixed height value.',\n category: 'container',\n specialCategory: 'size',\n sort: 3,\n preferedScale: 'vs',\n },\n minHeight: {\n label: 'Min Height',\n description: 'Minimum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 4,\n preferedScale: 'vs',\n },\n maxHeight: {\n label: 'Max Height',\n description: 'Maximum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 5,\n preferedScale: 'vs',\n },\n flex: {\n label: 'Flex',\n description: 'Flex grow factor (e.g. 1 fills available space).',\n category: 'container',\n specialCategory: 'size',\n sort: 6,\n },\n position: {\n label: 'Position',\n description: 'Sets layout positioning mode.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n top: {\n label: 'Top',\n description: 'Offset from the top edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 22,\n preferedScale: 'vs',\n },\n bottom: {\n label: 'Bottom',\n description: 'Offset from the bottom edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 23,\n preferedScale: 'vs',\n },\n left: {\n label: 'Left',\n description: 'Offset from the left edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 24,\n preferedScale: 's',\n },\n right: {\n label: 'Right',\n description: 'Offset from the right edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 25,\n preferedScale: 's',\n },\n zIndex: {\n label: 'Z-Index',\n description: 'Controls stacking order.',\n category: 'container',\n specialCategory: null,\n sort: 26,\n },\n },\n specialCategories: {\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n sort: 1,\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n sort: 2,\n },\n size: {\n label: 'Size',\n description: 'Fixed dimensions.',\n category: 'container',\n sort: 3,\n },\n offset: {\n label: 'Offset',\n description: 'Absolute positioning offsets.',\n category: 'container',\n sort: 4,\n },\n },\n },\n defaults: {\n flexDirection: 'column',\n position: 'relative',\n zIndex: 1,\n fontSize: '24@fs',\n fontWeight: '700',\n textAlign: 'center',\n },\n types: {},\n },\n {\n schemaVersion: 1,\n allowUnknownAttributes: true,\n pattern: {\n type: 'PaywallBackground',\n children: 'never',\n attributes: {\n scrollable: 'boolean',\n flexDirection: ['row', 'column'],\n alignItems: ['flex-start', 'center', 'flex-end', 'stretch', 'baseline'],\n justifyContent: [\n 'flex-start',\n 'center',\n 'flex-end',\n 'space-between',\n 'space-around',\n 'space-evenly',\n ],\n gap: 'size',\n padding: 'size',\n paddingHorizontal: 'size',\n paddingVertical: 'size',\n paddingTop: 'size',\n paddingBottom: 'size',\n paddingLeft: 'size',\n paddingRight: 'size',\n margin: 'size',\n marginVertical: 'size',\n marginTop: 'size',\n marginBottom: 'size',\n marginLeft: 'size',\n marginRight: 'size',\n backgroundColor: 'color',\n borderRadius: 'size',\n width: 'size',\n minWidth: 'size',\n maxWidth: 'size',\n height: 'size',\n minHeight: 'size',\n maxHeight: 'size',\n flex: 'number',\n position: ['relative', 'absolute'],\n top: 'size',\n bottom: 'size',\n left: 'size',\n right: 'size',\n zIndex: 'number',\n },\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n meta: {\n desiredParent: ['>PaywallProvider'],\n label: 'Paywall Background',\n description: 'Paywall Background component.',\n specialCategories: {\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n sort: 1,\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n sort: 2,\n },\n size: {\n label: 'Size',\n description: 'Fixed dimensions.',\n category: 'container',\n sort: 3,\n },\n offset: {\n label: 'Offset',\n description: 'Absolute positioning offsets.',\n category: 'container',\n sort: 4,\n },\n },\n attributes: {\n scrollable: {\n label: 'Scrollable',\n description: 'Turns scroll interaction on.',\n category: 'container',\n specialCategory: null,\n sort: -1,\n },\n flexDirection: {\n label: 'Flex Direction',\n description: 'Sets row or column layout.',\n category: 'container',\n specialCategory: null,\n sort: 4,\n },\n alignItems: {\n label: 'Align Items',\n description: 'Controls cross-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n justifyContent: {\n label: 'Justify Content',\n description: 'Controls main-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 5,\n },\n gap: {\n label: 'Gap',\n description: 'Space between children.',\n category: 'container',\n specialCategory: null,\n sort: 10,\n preferedScale: 's',\n },\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n specialCategory: 'padding',\n sort: 6,\n preferedScale: 's',\n },\n paddingHorizontal: {\n label: 'Padding Horizontal',\n description: 'Left and right padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 7,\n preferedScale: 's',\n },\n paddingVertical: {\n label: 'Padding Vertical',\n description: 'Top and bottom padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 8,\n preferedScale: 'vs',\n },\n paddingTop: {\n label: 'Padding Top',\n description: 'Top padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 9,\n preferedScale: 'vs',\n },\n paddingBottom: {\n label: 'Padding Bottom',\n description: 'Bottom padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 10,\n preferedScale: 'vs',\n },\n paddingLeft: {\n label: 'Padding Left',\n description: 'Left padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 11,\n preferedScale: 's',\n },\n paddingRight: {\n label: 'Padding Right',\n description: 'Right padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 12,\n preferedScale: 's',\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n specialCategory: 'margin',\n sort: 13,\n preferedScale: 's',\n },\n marginHorizontal: {\n label: 'Margin Horizontal',\n description: 'Left and right margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 14,\n preferedScale: 's',\n },\n marginVertical: {\n label: 'Margin Vertical',\n description: 'Top and bottom margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 15,\n preferedScale: 'vs',\n },\n marginTop: {\n label: 'Margin Top',\n description: 'Top margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 16,\n preferedScale: 'vs',\n },\n marginBottom: {\n label: 'Margin Bottom',\n description: 'Bottom margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 17,\n preferedScale: 'vs',\n },\n marginLeft: {\n label: 'Margin Left',\n description: 'Left margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 18,\n preferedScale: 's',\n },\n marginRight: {\n label: 'Margin Right',\n description: 'Right margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 19,\n preferedScale: 's',\n },\n backgroundColor: {\n label: 'Background Color',\n description: 'Background fill color.',\n category: 'style',\n specialCategory: null,\n sort: 20,\n },\n borderRadius: {\n label: 'Border Radius',\n description: 'Corner rounding amount.',\n category: 'style',\n specialCategory: null,\n sort: 21,\n preferedScale: 's',\n },\n width: {\n label: 'Width',\n description: 'Fixed width value.',\n category: 'container',\n specialCategory: 'size',\n sort: 0,\n preferedScale: 's',\n },\n minWidth: {\n label: 'Min Width',\n description: 'Minimum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 1,\n preferedScale: 's',\n },\n maxWidth: {\n label: 'Max Width',\n description: 'Maximum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 2,\n preferedScale: 's',\n },\n height: {\n label: 'Height',\n description: 'Fixed height value.',\n category: 'container',\n specialCategory: 'size',\n sort: 3,\n preferedScale: 'vs',\n },\n minHeight: {\n label: 'Min Height',\n description: 'Minimum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 4,\n preferedScale: 'vs',\n },\n maxHeight: {\n label: 'Max Height',\n description: 'Maximum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 5,\n preferedScale: 'vs',\n },\n flex: {\n label: 'Flex',\n description: 'Flex grow factor (e.g. 1 fills available space).',\n category: 'container',\n specialCategory: 'size',\n sort: 6,\n },\n position: {\n label: 'Position',\n description: 'Sets layout positioning mode.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n top: {\n label: 'Top',\n description: 'Offset from the top edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 22,\n preferedScale: 'vs',\n },\n bottom: {\n label: 'Bottom',\n description: 'Offset from the bottom edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 23,\n preferedScale: 'vs',\n },\n left: {\n label: 'Left',\n description: 'Offset from the left edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 24,\n preferedScale: 's',\n },\n right: {\n label: 'Right',\n description: 'Offset from the right edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 25,\n preferedScale: 's',\n },\n zIndex: {\n label: 'Z-Index',\n description: 'Controls stacking order.',\n category: 'container',\n specialCategory: null,\n sort: 26,\n },\n },\n },\n types: {},\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n {\n schemaVersion: 1,\n allowUnknownAttributes: true,\n pattern: {\n type: 'PaywallCloseButton',\n children: 'never',\n attributes: {\n iconType: 'iconType',\n size: 'number',\n strokeWidth: 'number',\n color: 'color',\n fontSize: 'size',\n fontWeight: [\n 'normal',\n 'bold',\n '100',\n '200',\n '300',\n '400',\n '500',\n '600',\n '700',\n '800',\n '900',\n ],\n textAlign: ['left', 'center', 'right', 'justify'],\n scrollable: 'boolean',\n flexDirection: ['row', 'column'],\n alignItems: ['flex-start', 'center', 'flex-end', 'stretch', 'baseline'],\n justifyContent: [\n 'flex-start',\n 'center',\n 'flex-end',\n 'space-between',\n 'space-around',\n 'space-evenly',\n ],\n gap: 'size',\n padding: 'size',\n paddingHorizontal: 'size',\n paddingVertical: 'size',\n paddingTop: 'size',\n paddingBottom: 'size',\n paddingLeft: 'size',\n paddingRight: 'size',\n margin: 'size',\n marginVertical: 'size',\n marginTop: 'size',\n marginBottom: 'size',\n marginLeft: 'size',\n marginRight: 'size',\n backgroundColor: 'color',\n borderRadius: 'size',\n width: 'size',\n minWidth: 'size',\n maxWidth: 'size',\n height: 'size',\n minHeight: 'size',\n maxHeight: 'size',\n flex: 'number',\n position: ['relative', 'absolute'],\n top: 'size',\n bottom: 'size',\n left: 'size',\n right: 'size',\n zIndex: 'number',\n },\n defaults: {\n iconType: 'close',\n size: 24,\n flexDirection: 'row',\n justifyContent: 'center',\n alignItems: 'center',\n },\n },\n meta: {\n desiredParent: ['>PaywallProvider'],\n label: 'Paywall Close Button',\n description: 'Paywall Close Button component.',\n attributes: {\n iconType: {\n label: 'Icon',\n description: 'Which icon to render.',\n category: 'other',\n specialCategory: null,\n sort: 1,\n },\n size: {\n label: 'Size',\n description: 'Icon size (px).',\n category: 'style',\n specialCategory: null,\n sort: 2,\n },\n strokeWidth: {\n label: 'Stroke Width',\n description: 'SVG stroke width override (applied to the icon paths).',\n category: 'style',\n specialCategory: null,\n sort: 3,\n },\n color: {\n label: 'Color',\n description: 'Text color.',\n category: 'style',\n specialCategory: null,\n sort: 1,\n },\n fontSize: {\n label: 'Font Size',\n description: 'Text size.',\n category: 'style',\n specialCategory: null,\n sort: 2,\n preferedScale: 's',\n },\n fontWeight: {\n label: 'Font Weight',\n description: 'Text weight.',\n category: 'style',\n specialCategory: null,\n sort: 3,\n },\n textAlign: {\n label: 'Text Align',\n description: 'Text alignment.',\n category: 'style',\n specialCategory: null,\n sort: 4,\n },\n scrollable: {\n label: 'Scrollable',\n description: 'Turns scroll interaction on.',\n category: 'container',\n specialCategory: null,\n sort: -1,\n },\n flexDirection: {\n label: 'Flex Direction',\n description: 'Sets row or column layout.',\n category: 'container',\n specialCategory: null,\n sort: 4,\n },\n alignItems: {\n label: 'Align Items',\n description: 'Controls cross-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n justifyContent: {\n label: 'Justify Content',\n description: 'Controls main-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 5,\n },\n gap: {\n label: 'Gap',\n description: 'Space between children.',\n category: 'container',\n specialCategory: null,\n sort: 10,\n preferedScale: 's',\n },\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n specialCategory: 'padding',\n sort: 6,\n preferedScale: 's',\n },\n paddingHorizontal: {\n label: 'Padding Horizontal',\n description: 'Left and right padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 7,\n preferedScale: 's',\n },\n paddingVertical: {\n label: 'Padding Vertical',\n description: 'Top and bottom padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 8,\n preferedScale: 'vs',\n },\n paddingTop: {\n label: 'Padding Top',\n description: 'Top padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 9,\n preferedScale: 'vs',\n },\n paddingBottom: {\n label: 'Padding Bottom',\n description: 'Bottom padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 10,\n preferedScale: 'vs',\n },\n paddingLeft: {\n label: 'Padding Left',\n description: 'Left padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 11,\n preferedScale: 's',\n },\n paddingRight: {\n label: 'Padding Right',\n description: 'Right padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 12,\n preferedScale: 's',\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n specialCategory: 'margin',\n sort: 13,\n preferedScale: 's',\n },\n marginHorizontal: {\n label: 'Margin Horizontal',\n description: 'Left and right margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 14,\n preferedScale: 's',\n },\n marginVertical: {\n label: 'Margin Vertical',\n description: 'Top and bottom margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 15,\n preferedScale: 'vs',\n },\n marginTop: {\n label: 'Margin Top',\n description: 'Top margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 16,\n preferedScale: 'vs',\n },\n marginBottom: {\n label: 'Margin Bottom',\n description: 'Bottom margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 17,\n preferedScale: 'vs',\n },\n marginLeft: {\n label: 'Margin Left',\n description: 'Left margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 18,\n preferedScale: 's',\n },\n marginRight: {\n label: 'Margin Right',\n description: 'Right margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 19,\n preferedScale: 's',\n },\n backgroundColor: {\n label: 'Background Color',\n description: 'Background fill color.',\n category: 'style',\n specialCategory: null,\n sort: 20,\n },\n borderRadius: {\n label: 'Border Radius',\n description: 'Corner rounding amount.',\n category: 'style',\n specialCategory: null,\n sort: 21,\n preferedScale: 's',\n },\n width: {\n label: 'Width',\n description: 'Fixed width value.',\n category: 'container',\n specialCategory: 'size',\n sort: 0,\n preferedScale: 's',\n },\n minWidth: {\n label: 'Min Width',\n description: 'Minimum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 1,\n preferedScale: 's',\n },\n maxWidth: {\n label: 'Max Width',\n description: 'Maximum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 2,\n preferedScale: 's',\n },\n height: {\n label: 'Height',\n description: 'Fixed height value.',\n category: 'container',\n specialCategory: 'size',\n sort: 3,\n preferedScale: 'vs',\n },\n minHeight: {\n label: 'Min Height',\n description: 'Minimum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 4,\n preferedScale: 'vs',\n },\n maxHeight: {\n label: 'Max Height',\n description: 'Maximum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 5,\n preferedScale: 'vs',\n },\n flex: {\n label: 'Flex',\n description: 'Flex grow factor (e.g. 1 fills available space).',\n category: 'container',\n specialCategory: 'size',\n sort: 6,\n },\n position: {\n label: 'Position',\n description: 'Sets layout positioning mode.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n top: {\n label: 'Top',\n description: 'Offset from the top edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 22,\n preferedScale: 'vs',\n },\n bottom: {\n label: 'Bottom',\n description: 'Offset from the bottom edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 23,\n preferedScale: 'vs',\n },\n left: {\n label: 'Left',\n description: 'Offset from the left edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 24,\n preferedScale: 's',\n },\n right: {\n label: 'Right',\n description: 'Offset from the right edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 25,\n preferedScale: 's',\n },\n zIndex: {\n label: 'Z-Index',\n description: 'Controls stacking order.',\n category: 'container',\n specialCategory: null,\n sort: 26,\n },\n },\n specialCategories: {\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n sort: 1,\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n sort: 2,\n },\n size: {\n label: 'Size',\n description: 'Fixed dimensions.',\n category: 'container',\n sort: 3,\n },\n offset: {\n label: 'Offset',\n description: 'Absolute positioning offsets.',\n category: 'container',\n sort: 4,\n },\n },\n },\n types: {},\n defaults: {\n iconType: 'close',\n size: 24,\n flexDirection: 'row',\n justifyContent: 'center',\n alignItems: 'center',\n fontSize: '16',\n strokeWidth: 1.5,\n position: 'relative',\n zIndex: 1,\n },\n },\n {\n schemaVersion: 1,\n allowUnknownAttributes: true,\n pattern: {\n type: 'PaywallOptions',\n children: ['node', 'array'],\n attributes: {\n scrollable: 'boolean',\n flexDirection: ['row', 'column'],\n alignItems: ['flex-start', 'center', 'flex-end', 'stretch', 'baseline'],\n justifyContent: [\n 'flex-start',\n 'center',\n 'flex-end',\n 'space-between',\n 'space-around',\n 'space-evenly',\n ],\n gap: 'size',\n padding: 'size',\n paddingHorizontal: 'size',\n paddingVertical: 'size',\n paddingTop: 'size',\n paddingBottom: 'size',\n paddingLeft: 'size',\n paddingRight: 'size',\n margin: 'size',\n marginVertical: 'size',\n marginTop: 'size',\n marginBottom: 'size',\n marginLeft: 'size',\n marginRight: 'size',\n backgroundColor: 'color',\n borderRadius: 'size',\n width: 'size',\n minWidth: 'size',\n maxWidth: 'size',\n height: 'size',\n minHeight: 'size',\n maxHeight: 'size',\n flex: 'number',\n position: ['relative', 'absolute'],\n top: 'size',\n bottom: 'size',\n left: 'size',\n right: 'size',\n zIndex: 'number',\n },\n defaults: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'center',\n minHeight: '60px',\n },\n },\n meta: {\n desiredParent: ['>PaywallProvider'],\n label: 'Paywall Options',\n description: 'Paywall options selector component.',\n specialCategories: {\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n sort: 1,\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n sort: 2,\n },\n size: {\n label: 'Size',\n description: 'Fixed dimensions.',\n category: 'container',\n sort: 3,\n },\n offset: {\n label: 'Offset',\n description: 'Absolute positioning offsets.',\n category: 'container',\n sort: 4,\n },\n },\n attributes: {\n scrollable: {\n label: 'Scrollable',\n description: 'Turns scroll interaction on.',\n category: 'container',\n specialCategory: null,\n sort: -1,\n },\n flexDirection: {\n label: 'Flex Direction',\n description: 'Sets row or column layout.',\n category: 'container',\n specialCategory: null,\n sort: 4,\n },\n alignItems: {\n label: 'Align Items',\n description: 'Controls cross-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n justifyContent: {\n label: 'Justify Content',\n description: 'Controls main-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 5,\n },\n gap: {\n label: 'Gap',\n description: 'Space between children.',\n category: 'container',\n specialCategory: null,\n sort: 10,\n preferedScale: 's',\n },\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n specialCategory: 'padding',\n sort: 6,\n preferedScale: 's',\n },\n paddingHorizontal: {\n label: 'Padding Horizontal',\n description: 'Left and right padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 7,\n preferedScale: 's',\n },\n paddingVertical: {\n label: 'Padding Vertical',\n description: 'Top and bottom padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 8,\n preferedScale: 'vs',\n },\n paddingTop: {\n label: 'Padding Top',\n description: 'Top padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 9,\n preferedScale: 'vs',\n },\n paddingBottom: {\n label: 'Padding Bottom',\n description: 'Bottom padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 10,\n preferedScale: 'vs',\n },\n paddingLeft: {\n label: 'Padding Left',\n description: 'Left padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 11,\n preferedScale: 's',\n },\n paddingRight: {\n label: 'Padding Right',\n description: 'Right padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 12,\n preferedScale: 's',\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n specialCategory: 'margin',\n sort: 13,\n preferedScale: 's',\n },\n marginHorizontal: {\n label: 'Margin Horizontal',\n description: 'Left and right margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 14,\n preferedScale: 's',\n },\n marginVertical: {\n label: 'Margin Vertical',\n description: 'Top and bottom margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 15,\n preferedScale: 'vs',\n },\n marginTop: {\n label: 'Margin Top',\n description: 'Top margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 16,\n preferedScale: 'vs',\n },\n marginBottom: {\n label: 'Margin Bottom',\n description: 'Bottom margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 17,\n preferedScale: 'vs',\n },\n marginLeft: {\n label: 'Margin Left',\n description: 'Left margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 18,\n preferedScale: 's',\n },\n marginRight: {\n label: 'Margin Right',\n description: 'Right margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 19,\n preferedScale: 's',\n },\n backgroundColor: {\n label: 'Background Color',\n description: 'Background fill color.',\n category: 'style',\n specialCategory: null,\n sort: 20,\n },\n borderRadius: {\n label: 'Border Radius',\n description: 'Corner rounding amount.',\n category: 'style',\n specialCategory: null,\n sort: 21,\n preferedScale: 's',\n },\n width: {\n label: 'Width',\n description: 'Fixed width value.',\n category: 'container',\n specialCategory: 'size',\n sort: 0,\n preferedScale: 's',\n },\n minWidth: {\n label: 'Min Width',\n description: 'Minimum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 1,\n preferedScale: 's',\n },\n maxWidth: {\n label: 'Max Width',\n description: 'Maximum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 2,\n preferedScale: 's',\n },\n height: {\n label: 'Height',\n description: 'Fixed height value.',\n category: 'container',\n specialCategory: 'size',\n sort: 3,\n preferedScale: 'vs',\n },\n minHeight: {\n label: 'Min Height',\n description: 'Minimum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 4,\n preferedScale: 'vs',\n },\n maxHeight: {\n label: 'Max Height',\n description: 'Maximum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 5,\n preferedScale: 'vs',\n },\n flex: {\n label: 'Flex',\n description: 'Flex grow factor (e.g. 1 fills available space).',\n category: 'container',\n specialCategory: 'size',\n sort: 6,\n },\n position: {\n label: 'Position',\n description: 'Sets layout positioning mode.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n top: {\n label: 'Top',\n description: 'Offset from the top edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 22,\n preferedScale: 'vs',\n },\n bottom: {\n label: 'Bottom',\n description: 'Offset from the bottom edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 23,\n preferedScale: 'vs',\n },\n left: {\n label: 'Left',\n description: 'Offset from the left edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 24,\n preferedScale: 's',\n },\n right: {\n label: 'Right',\n description: 'Offset from the right edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 25,\n preferedScale: 's',\n },\n zIndex: {\n label: 'Z-Index',\n description: 'Controls stacking order.',\n category: 'container',\n specialCategory: null,\n sort: 26,\n },\n },\n },\n types: {},\n defaults: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'center',\n minHeight: '60px',\n position: 'relative',\n zIndex: 1,\n },\n },\n {\n schemaVersion: 1,\n allowUnknownAttributes: true,\n pattern: {\n type: 'PaywallProvider',\n children: ['node', 'array'],\n attributes: {\n scrollable: 'boolean',\n flexDirection: ['row', 'column'],\n alignItems: ['flex-start', 'center', 'flex-end', 'stretch', 'baseline'],\n justifyContent: [\n 'flex-start',\n 'center',\n 'flex-end',\n 'space-between',\n 'space-around',\n 'space-evenly',\n ],\n gap: 'size',\n padding: 'size',\n paddingHorizontal: 'size',\n paddingVertical: 'size',\n paddingTop: 'size',\n paddingBottom: 'size',\n paddingLeft: 'size',\n paddingRight: 'size',\n margin: 'size',\n marginVertical: 'size',\n marginTop: 'size',\n marginBottom: 'size',\n marginLeft: 'size',\n marginRight: 'size',\n backgroundColor: 'color',\n borderRadius: 'size',\n width: 'size',\n minWidth: 'size',\n maxWidth: 'size',\n height: 'size',\n minHeight: 'size',\n maxHeight: 'size',\n flex: 'number',\n position: ['relative', 'absolute'],\n top: 'size',\n bottom: 'size',\n left: 'size',\n right: 'size',\n zIndex: 'number',\n },\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n meta: {\n desiredParent: ['all'],\n label: 'Paywall Provider',\n description: 'Provider/wrapper for paywall screen components.',\n specialCategories: {\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n sort: 1,\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n sort: 2,\n },\n size: {\n label: 'Size',\n description: 'Fixed dimensions.',\n category: 'container',\n sort: 3,\n },\n offset: {\n label: 'Offset',\n description: 'Absolute positioning offsets.',\n category: 'container',\n sort: 4,\n },\n },\n attributes: {\n scrollable: {\n label: 'Scrollable',\n description: 'Turns scroll interaction on.',\n category: 'container',\n specialCategory: null,\n sort: -1,\n },\n flexDirection: {\n label: 'Flex Direction',\n description: 'Sets row or column layout.',\n category: 'container',\n specialCategory: null,\n sort: 4,\n },\n alignItems: {\n label: 'Align Items',\n description: 'Controls cross-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n justifyContent: {\n label: 'Justify Content',\n description: 'Controls main-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 5,\n },\n gap: {\n label: 'Gap',\n description: 'Space between children.',\n category: 'container',\n specialCategory: null,\n sort: 10,\n preferedScale: 's',\n },\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n specialCategory: 'padding',\n sort: 6,\n preferedScale: 's',\n },\n paddingHorizontal: {\n label: 'Padding Horizontal',\n description: 'Left and right padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 7,\n preferedScale: 's',\n },\n paddingVertical: {\n label: 'Padding Vertical',\n description: 'Top and bottom padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 8,\n preferedScale: 'vs',\n },\n paddingTop: {\n label: 'Padding Top',\n description: 'Top padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 9,\n preferedScale: 'vs',\n },\n paddingBottom: {\n label: 'Padding Bottom',\n description: 'Bottom padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 10,\n preferedScale: 'vs',\n },\n paddingLeft: {\n label: 'Padding Left',\n description: 'Left padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 11,\n preferedScale: 's',\n },\n paddingRight: {\n label: 'Padding Right',\n description: 'Right padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 12,\n preferedScale: 's',\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n specialCategory: 'margin',\n sort: 13,\n preferedScale: 's',\n },\n marginHorizontal: {\n label: 'Margin Horizontal',\n description: 'Left and right margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 14,\n preferedScale: 's',\n },\n marginVertical: {\n label: 'Margin Vertical',\n description: 'Top and bottom margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 15,\n preferedScale: 'vs',\n },\n marginTop: {\n label: 'Margin Top',\n description: 'Top margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 16,\n preferedScale: 'vs',\n },\n marginBottom: {\n label: 'Margin Bottom',\n description: 'Bottom margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 17,\n preferedScale: 'vs',\n },\n marginLeft: {\n label: 'Margin Left',\n description: 'Left margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 18,\n preferedScale: 's',\n },\n marginRight: {\n label: 'Margin Right',\n description: 'Right margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 19,\n preferedScale: 's',\n },\n backgroundColor: {\n label: 'Background Color',\n description: 'Background fill color.',\n category: 'style',\n specialCategory: null,\n sort: 20,\n },\n borderRadius: {\n label: 'Border Radius',\n description: 'Corner rounding amount.',\n category: 'style',\n specialCategory: null,\n sort: 21,\n preferedScale: 's',\n },\n width: {\n label: 'Width',\n description: 'Fixed width value.',\n category: 'container',\n specialCategory: 'size',\n sort: 0,\n preferedScale: 's',\n },\n minWidth: {\n label: 'Min Width',\n description: 'Minimum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 1,\n preferedScale: 's',\n },\n maxWidth: {\n label: 'Max Width',\n description: 'Maximum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 2,\n preferedScale: 's',\n },\n height: {\n label: 'Height',\n description: 'Fixed height value.',\n category: 'container',\n specialCategory: 'size',\n sort: 3,\n preferedScale: 'vs',\n },\n minHeight: {\n label: 'Min Height',\n description: 'Minimum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 4,\n preferedScale: 'vs',\n },\n maxHeight: {\n label: 'Max Height',\n description: 'Maximum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 5,\n preferedScale: 'vs',\n },\n flex: {\n label: 'Flex',\n description: 'Flex grow factor (e.g. 1 fills available space).',\n category: 'container',\n specialCategory: 'size',\n sort: 6,\n },\n position: {\n label: 'Position',\n description: 'Sets layout positioning mode.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n top: {\n label: 'Top',\n description: 'Offset from the top edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 22,\n preferedScale: 'vs',\n },\n bottom: {\n label: 'Bottom',\n description: 'Offset from the bottom edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 23,\n preferedScale: 'vs',\n },\n left: {\n label: 'Left',\n description: 'Offset from the left edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 24,\n preferedScale: 's',\n },\n right: {\n label: 'Right',\n description: 'Offset from the right edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 25,\n preferedScale: 's',\n },\n zIndex: {\n label: 'Z-Index',\n description: 'Controls stacking order.',\n category: 'container',\n specialCategory: null,\n sort: 26,\n },\n },\n mockableFeatures: { products: true, benefits: true },\n },\n defaults: {\n flexDirection: 'column',\n position: 'relative',\n zIndex: 1,\n width: '100%',\n height: '100%',\n },\n types: {},\n },\n {\n schemaVersion: 1,\n allowUnknownAttributes: false,\n pattern: {\n type: 'PaywallSubscribeButton',\n children: 'string',\n attributes: {\n color: 'color',\n fontSize: 'size',\n fontWeight: [\n 'normal',\n 'bold',\n '100',\n '200',\n '300',\n '400',\n '500',\n '600',\n '700',\n '800',\n '900',\n ],\n scrollable: 'boolean',\n flexDirection: ['row', 'column'],\n alignItems: ['flex-start', 'center', 'flex-end', 'stretch', 'baseline'],\n justifyContent: [\n 'flex-start',\n 'center',\n 'flex-end',\n 'space-between',\n 'space-around',\n 'space-evenly',\n ],\n gap: 'size',\n padding: 'size',\n paddingHorizontal: 'size',\n paddingVertical: 'size',\n paddingTop: 'size',\n paddingBottom: 'size',\n paddingLeft: 'size',\n paddingRight: 'size',\n margin: 'size',\n marginVertical: 'size',\n marginTop: 'size',\n marginBottom: 'size',\n marginLeft: 'size',\n marginRight: 'size',\n backgroundColor: 'color',\n borderRadius: 'size',\n width: 'size',\n minWidth: 'size',\n maxWidth: 'size',\n height: 'size',\n minHeight: 'size',\n maxHeight: 'size',\n flex: 'number',\n position: ['relative', 'absolute'],\n top: 'size',\n bottom: 'size',\n left: 'size',\n right: 'size',\n zIndex: 'number',\n },\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n meta: {\n desiredParent: ['>PaywallProvider'],\n label: 'Paywall Subscribe Button',\n description: 'Paywall subscribe call-to-action button. Extends Button.',\n attributes: {\n color: {\n label: 'Color',\n description: 'Text color of the button.',\n category: 'style',\n specialCategory: null,\n sort: 1,\n },\n fontSize: {\n label: 'Font Size',\n description: 'Text size of the button.',\n category: 'style',\n specialCategory: null,\n sort: 2,\n },\n fontWeight: {\n label: 'Font Weight',\n description: 'Text weight of the button.',\n category: 'style',\n specialCategory: null,\n sort: 3,\n },\n scrollable: {\n label: 'Scrollable',\n description: 'Turns scroll interaction on.',\n category: 'container',\n specialCategory: null,\n sort: -1,\n },\n flexDirection: {\n label: 'Flex Direction',\n description: 'Sets row or column layout.',\n category: 'container',\n specialCategory: null,\n sort: 4,\n },\n alignItems: {\n label: 'Align Items',\n description: 'Controls cross-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n justifyContent: {\n label: 'Justify Content',\n description: 'Controls main-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 5,\n },\n gap: {\n label: 'Gap',\n description: 'Space between children.',\n category: 'container',\n specialCategory: null,\n sort: 10,\n preferedScale: 's',\n },\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n specialCategory: 'padding',\n sort: 6,\n preferedScale: 's',\n },\n paddingHorizontal: {\n label: 'Padding Horizontal',\n description: 'Left and right padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 7,\n preferedScale: 's',\n },\n paddingVertical: {\n label: 'Padding Vertical',\n description: 'Top and bottom padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 8,\n preferedScale: 'vs',\n },\n paddingTop: {\n label: 'Padding Top',\n description: 'Top padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 9,\n preferedScale: 'vs',\n },\n paddingBottom: {\n label: 'Padding Bottom',\n description: 'Bottom padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 10,\n preferedScale: 'vs',\n },\n paddingLeft: {\n label: 'Padding Left',\n description: 'Left padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 11,\n preferedScale: 's',\n },\n paddingRight: {\n label: 'Padding Right',\n description: 'Right padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 12,\n preferedScale: 's',\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n specialCategory: 'margin',\n sort: 13,\n preferedScale: 's',\n },\n marginHorizontal: {\n label: 'Margin Horizontal',\n description: 'Left and right margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 14,\n preferedScale: 's',\n },\n marginVertical: {\n label: 'Margin Vertical',\n description: 'Top and bottom margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 15,\n preferedScale: 'vs',\n },\n marginTop: {\n label: 'Margin Top',\n description: 'Top margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 16,\n preferedScale: 'vs',\n },\n marginBottom: {\n label: 'Margin Bottom',\n description: 'Bottom margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 17,\n preferedScale: 'vs',\n },\n marginLeft: {\n label: 'Margin Left',\n description: 'Left margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 18,\n preferedScale: 's',\n },\n marginRight: {\n label: 'Margin Right',\n description: 'Right margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 19,\n preferedScale: 's',\n },\n backgroundColor: {\n label: 'Background Color',\n description: 'Background fill color.',\n category: 'style',\n specialCategory: null,\n sort: 20,\n },\n borderRadius: {\n label: 'Border Radius',\n description: 'Corner rounding amount.',\n category: 'style',\n specialCategory: null,\n sort: 21,\n preferedScale: 's',\n },\n width: {\n label: 'Width',\n description: 'Fixed width value.',\n category: 'container',\n specialCategory: 'size',\n sort: 0,\n preferedScale: 's',\n },\n minWidth: {\n label: 'Min Width',\n description: 'Minimum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 1,\n preferedScale: 's',\n },\n maxWidth: {\n label: 'Max Width',\n description: 'Maximum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 2,\n preferedScale: 's',\n },\n height: {\n label: 'Height',\n description: 'Fixed height value.',\n category: 'container',\n specialCategory: 'size',\n sort: 3,\n preferedScale: 'vs',\n },\n minHeight: {\n label: 'Min Height',\n description: 'Minimum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 4,\n preferedScale: 'vs',\n },\n maxHeight: {\n label: 'Max Height',\n description: 'Maximum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 5,\n preferedScale: 'vs',\n },\n flex: {\n label: 'Flex',\n description: 'Flex grow factor (e.g. 1 fills available space).',\n category: 'container',\n specialCategory: 'size',\n sort: 6,\n },\n position: {\n label: 'Position',\n description: 'Sets layout positioning mode.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n top: {\n label: 'Top',\n description: 'Offset from the top edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 22,\n preferedScale: 'vs',\n },\n bottom: {\n label: 'Bottom',\n description: 'Offset from the bottom edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 23,\n preferedScale: 'vs',\n },\n left: {\n label: 'Left',\n description: 'Offset from the left edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 24,\n preferedScale: 's',\n },\n right: {\n label: 'Right',\n description: 'Offset from the right edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 25,\n preferedScale: 's',\n },\n zIndex: {\n label: 'Z-Index',\n description: 'Controls stacking order.',\n category: 'container',\n specialCategory: null,\n sort: 26,\n },\n },\n specialCategories: {\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n sort: 1,\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n sort: 2,\n },\n size: {\n label: 'Size',\n description: 'Fixed dimensions.',\n category: 'container',\n sort: 3,\n },\n offset: {\n label: 'Offset',\n description: 'Absolute positioning offsets.',\n category: 'container',\n sort: 4,\n },\n },\n },\n defaults: {\n flexDirection: 'column',\n position: 'relative',\n zIndex: 1,\n backgroundColor: '#6495ED',\n paddingHorizontal: '20@s',\n paddingVertical: '12@vs',\n borderRadius: '12@s',\n color: '#FFFFFF',\n fontSize: '16@fs',\n fontWeight: '700',\n justifyContent: 'center',\n alignItems: 'center',\n },\n types: {},\n },\n {\n schemaVersion: 1,\n allowUnknownAttributes: true,\n pattern: {\n type: 'RadioButton',\n children: 'never',\n attributes: {\n scrollable: 'boolean',\n flexDirection: ['row', 'column'],\n alignItems: ['flex-start', 'center', 'flex-end', 'stretch', 'baseline'],\n justifyContent: [\n 'flex-start',\n 'center',\n 'flex-end',\n 'space-between',\n 'space-around',\n 'space-evenly',\n ],\n gap: 'size',\n padding: 'size',\n paddingHorizontal: 'size',\n paddingVertical: 'size',\n paddingTop: 'size',\n paddingBottom: 'size',\n paddingLeft: 'size',\n paddingRight: 'size',\n margin: 'size',\n marginVertical: 'size',\n marginTop: 'size',\n marginBottom: 'size',\n marginLeft: 'size',\n marginRight: 'size',\n backgroundColor: 'color',\n borderRadius: 'size',\n width: 'size',\n minWidth: 'size',\n maxWidth: 'size',\n height: 'size',\n minHeight: 'size',\n maxHeight: 'size',\n flex: 'number',\n position: ['relative', 'absolute'],\n top: 'size',\n bottom: 'size',\n left: 'size',\n right: 'size',\n zIndex: 'number',\n selected: 'boolean',\n color: 'color',\n size: 'number',\n },\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n meta: {\n desiredParent: ['all'],\n label: 'Radio Button',\n description: 'Generic radio button icon.',\n specialCategories: {\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n sort: 1,\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n sort: 2,\n },\n size: {\n label: 'Size',\n description: 'Fixed dimensions.',\n category: 'container',\n sort: 3,\n },\n offset: {\n label: 'Offset',\n description: 'Absolute positioning offsets.',\n category: 'container',\n sort: 4,\n },\n },\n attributes: {\n scrollable: {\n label: 'Scrollable',\n description: 'Turns scroll interaction on.',\n category: 'container',\n specialCategory: null,\n sort: -1,\n },\n flexDirection: {\n label: 'Flex Direction',\n description: 'Sets row or column layout.',\n category: 'container',\n specialCategory: null,\n sort: 4,\n },\n alignItems: {\n label: 'Align Items',\n description: 'Controls cross-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n justifyContent: {\n label: 'Justify Content',\n description: 'Controls main-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 5,\n },\n gap: {\n label: 'Gap',\n description: 'Space between children.',\n category: 'container',\n specialCategory: null,\n sort: 10,\n preferedScale: 's',\n },\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n specialCategory: 'padding',\n sort: 6,\n preferedScale: 's',\n },\n paddingHorizontal: {\n label: 'Padding Horizontal',\n description: 'Left and right padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 7,\n preferedScale: 's',\n },\n paddingVertical: {\n label: 'Padding Vertical',\n description: 'Top and bottom padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 8,\n preferedScale: 'vs',\n },\n paddingTop: {\n label: 'Padding Top',\n description: 'Top padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 9,\n preferedScale: 'vs',\n },\n paddingBottom: {\n label: 'Padding Bottom',\n description: 'Bottom padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 10,\n preferedScale: 'vs',\n },\n paddingLeft: {\n label: 'Padding Left',\n description: 'Left padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 11,\n preferedScale: 's',\n },\n paddingRight: {\n label: 'Padding Right',\n description: 'Right padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 12,\n preferedScale: 's',\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n specialCategory: 'margin',\n sort: 13,\n preferedScale: 's',\n },\n marginHorizontal: {\n label: 'Margin Horizontal',\n description: 'Left and right margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 14,\n preferedScale: 's',\n },\n marginVertical: {\n label: 'Margin Vertical',\n description: 'Top and bottom margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 15,\n preferedScale: 'vs',\n },\n marginTop: {\n label: 'Margin Top',\n description: 'Top margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 16,\n preferedScale: 'vs',\n },\n marginBottom: {\n label: 'Margin Bottom',\n description: 'Bottom margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 17,\n preferedScale: 'vs',\n },\n marginLeft: {\n label: 'Margin Left',\n description: 'Left margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 18,\n preferedScale: 's',\n },\n marginRight: {\n label: 'Margin Right',\n description: 'Right margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 19,\n preferedScale: 's',\n },\n backgroundColor: {\n label: 'Background Color',\n description: 'Background fill color.',\n category: 'style',\n specialCategory: null,\n sort: 20,\n },\n borderRadius: {\n label: 'Border Radius',\n description: 'Corner rounding amount.',\n category: 'style',\n specialCategory: null,\n sort: 21,\n preferedScale: 's',\n },\n width: {\n label: 'Width',\n description: 'Fixed width value.',\n category: 'container',\n specialCategory: 'size',\n sort: 0,\n preferedScale: 's',\n },\n minWidth: {\n label: 'Min Width',\n description: 'Minimum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 1,\n preferedScale: 's',\n },\n maxWidth: {\n label: 'Max Width',\n description: 'Maximum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 2,\n preferedScale: 's',\n },\n height: {\n label: 'Height',\n description: 'Fixed height value.',\n category: 'container',\n specialCategory: 'size',\n sort: 3,\n preferedScale: 'vs',\n },\n minHeight: {\n label: 'Min Height',\n description: 'Minimum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 4,\n preferedScale: 'vs',\n },\n maxHeight: {\n label: 'Max Height',\n description: 'Maximum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 5,\n preferedScale: 'vs',\n },\n flex: {\n label: 'Flex',\n description: 'Flex grow factor (e.g. 1 fills available space).',\n category: 'container',\n specialCategory: 'size',\n sort: 6,\n },\n position: {\n label: 'Position',\n description: 'Sets layout positioning mode.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n top: {\n label: 'Top',\n description: 'Offset from the top edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 22,\n preferedScale: 'vs',\n },\n bottom: {\n label: 'Bottom',\n description: 'Offset from the bottom edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 23,\n preferedScale: 'vs',\n },\n left: {\n label: 'Left',\n description: 'Offset from the left edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 24,\n preferedScale: 's',\n },\n right: {\n label: 'Right',\n description: 'Offset from the right edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 25,\n preferedScale: 's',\n },\n zIndex: {\n label: 'Z-Index',\n description: 'Controls stacking order.',\n category: 'container',\n specialCategory: null,\n sort: 26,\n },\n selected: {\n label: 'Selected',\n description: 'Whether the radio is selected.',\n category: 'other',\n specialCategory: null,\n sort: 0,\n },\n color: {\n label: 'Color',\n description: 'Radio color.',\n category: 'style',\n specialCategory: null,\n sort: 1,\n },\n size: {\n label: 'Size',\n description: 'Radio size in px.',\n category: 'style',\n specialCategory: null,\n sort: 2,\n },\n },\n },\n types: {},\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n {\n schemaVersion: 1,\n allowUnknownAttributes: false,\n pattern: {\n type: 'Text',\n children: 'string',\n attributes: {\n scrollable: 'boolean',\n flexDirection: ['row', 'column'],\n alignItems: ['flex-start', 'center', 'flex-end', 'stretch', 'baseline'],\n justifyContent: [\n 'flex-start',\n 'center',\n 'flex-end',\n 'space-between',\n 'space-around',\n 'space-evenly',\n ],\n gap: 'size',\n padding: 'size',\n paddingHorizontal: 'size',\n paddingVertical: 'size',\n paddingTop: 'size',\n paddingBottom: 'size',\n paddingLeft: 'size',\n paddingRight: 'size',\n margin: 'size',\n marginVertical: 'size',\n marginTop: 'size',\n marginBottom: 'size',\n marginLeft: 'size',\n marginRight: 'size',\n backgroundColor: 'color',\n borderRadius: 'size',\n width: 'size',\n minWidth: 'size',\n maxWidth: 'size',\n height: 'size',\n minHeight: 'size',\n maxHeight: 'size',\n flex: 'number',\n position: ['relative', 'absolute'],\n top: 'size',\n bottom: 'size',\n left: 'size',\n right: 'size',\n zIndex: 'number',\n color: 'color',\n fontSize: 'size',\n fontWeight: [\n 'normal',\n 'bold',\n '100',\n '200',\n '300',\n '400',\n '500',\n '600',\n '700',\n '800',\n '900',\n ],\n textAlign: ['left', 'center', 'right', 'justify'],\n },\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n meta: {\n desiredParent: ['all'],\n label: 'Text',\n description: 'Displays simple text.',\n specialCategories: {\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n sort: 1,\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n sort: 2,\n },\n size: {\n label: 'Size',\n description: 'Fixed dimensions.',\n category: 'container',\n sort: 3,\n },\n offset: {\n label: 'Offset',\n description: 'Absolute positioning offsets.',\n category: 'container',\n sort: 4,\n },\n },\n attributes: {\n scrollable: {\n label: 'Scrollable',\n description: 'Turns scroll interaction on.',\n category: 'container',\n specialCategory: null,\n sort: -1,\n },\n flexDirection: {\n label: 'Flex Direction',\n description: 'Sets row or column layout.',\n category: 'container',\n specialCategory: null,\n sort: 4,\n },\n alignItems: {\n label: 'Align Items',\n description: 'Controls cross-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n justifyContent: {\n label: 'Justify Content',\n description: 'Controls main-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 5,\n },\n gap: {\n label: 'Gap',\n description: 'Space between children.',\n category: 'container',\n specialCategory: null,\n sort: 10,\n preferedScale: 's',\n },\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n specialCategory: 'padding',\n sort: 6,\n preferedScale: 's',\n },\n paddingHorizontal: {\n label: 'Padding Horizontal',\n description: 'Left and right padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 7,\n preferedScale: 's',\n },\n paddingVertical: {\n label: 'Padding Vertical',\n description: 'Top and bottom padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 8,\n preferedScale: 'vs',\n },\n paddingTop: {\n label: 'Padding Top',\n description: 'Top padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 9,\n preferedScale: 'vs',\n },\n paddingBottom: {\n label: 'Padding Bottom',\n description: 'Bottom padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 10,\n preferedScale: 'vs',\n },\n paddingLeft: {\n label: 'Padding Left',\n description: 'Left padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 11,\n preferedScale: 's',\n },\n paddingRight: {\n label: 'Padding Right',\n description: 'Right padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 12,\n preferedScale: 's',\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n specialCategory: 'margin',\n sort: 13,\n preferedScale: 's',\n },\n marginHorizontal: {\n label: 'Margin Horizontal',\n description: 'Left and right margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 14,\n preferedScale: 's',\n },\n marginVertical: {\n label: 'Margin Vertical',\n description: 'Top and bottom margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 15,\n preferedScale: 'vs',\n },\n marginTop: {\n label: 'Margin Top',\n description: 'Top margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 16,\n preferedScale: 'vs',\n },\n marginBottom: {\n label: 'Margin Bottom',\n description: 'Bottom margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 17,\n preferedScale: 'vs',\n },\n marginLeft: {\n label: 'Margin Left',\n description: 'Left margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 18,\n preferedScale: 's',\n },\n marginRight: {\n label: 'Margin Right',\n description: 'Right margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 19,\n preferedScale: 's',\n },\n backgroundColor: {\n label: 'Background Color',\n description: 'Background fill color.',\n category: 'style',\n specialCategory: null,\n sort: 20,\n },\n borderRadius: {\n label: 'Border Radius',\n description: 'Corner rounding amount.',\n category: 'style',\n specialCategory: null,\n sort: 21,\n preferedScale: 's',\n },\n width: {\n label: 'Width',\n description: 'Fixed width value.',\n category: 'container',\n specialCategory: 'size',\n sort: 0,\n preferedScale: 's',\n },\n minWidth: {\n label: 'Min Width',\n description: 'Minimum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 1,\n preferedScale: 's',\n },\n maxWidth: {\n label: 'Max Width',\n description: 'Maximum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 2,\n preferedScale: 's',\n },\n height: {\n label: 'Height',\n description: 'Fixed height value.',\n category: 'container',\n specialCategory: 'size',\n sort: 3,\n preferedScale: 'vs',\n },\n minHeight: {\n label: 'Min Height',\n description: 'Minimum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 4,\n preferedScale: 'vs',\n },\n maxHeight: {\n label: 'Max Height',\n description: 'Maximum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 5,\n preferedScale: 'vs',\n },\n flex: {\n label: 'Flex',\n description: 'Flex grow factor (e.g. 1 fills available space).',\n category: 'container',\n specialCategory: 'size',\n sort: 6,\n },\n position: {\n label: 'Position',\n description: 'Sets layout positioning mode.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n top: {\n label: 'Top',\n description: 'Offset from the top edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 22,\n preferedScale: 'vs',\n },\n bottom: {\n label: 'Bottom',\n description: 'Offset from the bottom edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 23,\n preferedScale: 'vs',\n },\n left: {\n label: 'Left',\n description: 'Offset from the left edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 24,\n preferedScale: 's',\n },\n right: {\n label: 'Right',\n description: 'Offset from the right edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 25,\n preferedScale: 's',\n },\n zIndex: {\n label: 'Z-Index',\n description: 'Controls stacking order.',\n category: 'container',\n specialCategory: null,\n sort: 26,\n },\n color: {\n label: 'Color',\n description: 'Text color.',\n category: 'style',\n specialCategory: null,\n sort: 1,\n },\n fontSize: {\n label: 'Font Size',\n description: 'Text size.',\n category: 'style',\n specialCategory: null,\n sort: 2,\n preferedScale: 's',\n },\n fontWeight: {\n label: 'Font Weight',\n description: 'Text weight.',\n category: 'style',\n specialCategory: null,\n sort: 3,\n },\n textAlign: {\n label: 'Text Align',\n description: 'Text alignment.',\n category: 'style',\n specialCategory: null,\n sort: 4,\n },\n },\n },\n types: {},\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n {\n schemaVersion: 1,\n allowUnknownAttributes: false,\n pattern: {\n type: 'View',\n children: ['node', 'array'],\n attributes: {\n scrollable: 'boolean',\n flexDirection: ['row', 'column'],\n alignItems: ['flex-start', 'center', 'flex-end', 'stretch', 'baseline'],\n justifyContent: [\n 'flex-start',\n 'center',\n 'flex-end',\n 'space-between',\n 'space-around',\n 'space-evenly',\n ],\n gap: 'size',\n padding: 'size',\n paddingHorizontal: 'size',\n paddingVertical: 'size',\n paddingTop: 'size',\n paddingBottom: 'size',\n paddingLeft: 'size',\n paddingRight: 'size',\n margin: 'size',\n marginVertical: 'size',\n marginTop: 'size',\n marginBottom: 'size',\n marginLeft: 'size',\n marginRight: 'size',\n backgroundColor: 'color',\n borderRadius: 'size',\n width: 'size',\n minWidth: 'size',\n maxWidth: 'size',\n height: 'size',\n minHeight: 'size',\n maxHeight: 'size',\n flex: 'number',\n position: ['relative', 'absolute'],\n top: 'size',\n bottom: 'size',\n left: 'size',\n right: 'size',\n zIndex: 'number',\n },\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n meta: {\n desiredParent: ['all'],\n label: 'View',\n description: 'Base layout container.',\n specialCategories: {\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n sort: 1,\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n sort: 2,\n },\n size: {\n label: 'Size',\n description: 'Fixed dimensions.',\n category: 'container',\n sort: 3,\n },\n offset: {\n label: 'Offset',\n description: 'Absolute positioning offsets.',\n category: 'container',\n sort: 4,\n },\n },\n attributes: {\n scrollable: {\n label: 'Scrollable',\n description: 'Turns scroll interaction on.',\n category: 'container',\n specialCategory: null,\n sort: -1,\n },\n flexDirection: {\n label: 'Flex Direction',\n description: 'Sets row or column layout.',\n category: 'container',\n specialCategory: null,\n sort: 4,\n },\n alignItems: {\n label: 'Align Items',\n description: 'Controls cross-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n justifyContent: {\n label: 'Justify Content',\n description: 'Controls main-axis alignment.',\n category: 'container',\n specialCategory: null,\n sort: 5,\n },\n gap: {\n label: 'Gap',\n description: 'Space between children.',\n category: 'container',\n specialCategory: null,\n sort: 10,\n preferedScale: 's',\n },\n padding: {\n label: 'Padding',\n description: 'Uniform padding on all sides.',\n category: 'container',\n specialCategory: 'padding',\n sort: 6,\n preferedScale: 's',\n },\n paddingHorizontal: {\n label: 'Padding Horizontal',\n description: 'Left and right padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 7,\n preferedScale: 's',\n },\n paddingVertical: {\n label: 'Padding Vertical',\n description: 'Top and bottom padding.',\n category: 'container',\n specialCategory: 'padding',\n sort: 8,\n preferedScale: 'vs',\n },\n paddingTop: {\n label: 'Padding Top',\n description: 'Top padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 9,\n preferedScale: 'vs',\n },\n paddingBottom: {\n label: 'Padding Bottom',\n description: 'Bottom padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 10,\n preferedScale: 'vs',\n },\n paddingLeft: {\n label: 'Padding Left',\n description: 'Left padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 11,\n preferedScale: 's',\n },\n paddingRight: {\n label: 'Padding Right',\n description: 'Right padding only.',\n category: 'container',\n specialCategory: 'padding',\n sort: 12,\n preferedScale: 's',\n },\n margin: {\n label: 'Margin',\n description: 'Uniform margin on all sides.',\n category: 'container',\n specialCategory: 'margin',\n sort: 13,\n preferedScale: 's',\n },\n marginHorizontal: {\n label: 'Margin Horizontal',\n description: 'Left and right margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 14,\n preferedScale: 's',\n },\n marginVertical: {\n label: 'Margin Vertical',\n description: 'Top and bottom margin.',\n category: 'container',\n specialCategory: 'margin',\n sort: 15,\n preferedScale: 'vs',\n },\n marginTop: {\n label: 'Margin Top',\n description: 'Top margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 16,\n preferedScale: 'vs',\n },\n marginBottom: {\n label: 'Margin Bottom',\n description: 'Bottom margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 17,\n preferedScale: 'vs',\n },\n marginLeft: {\n label: 'Margin Left',\n description: 'Left margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 18,\n preferedScale: 's',\n },\n marginRight: {\n label: 'Margin Right',\n description: 'Right margin only.',\n category: 'container',\n specialCategory: 'margin',\n sort: 19,\n preferedScale: 's',\n },\n backgroundColor: {\n label: 'Background Color',\n description: 'Background fill color.',\n category: 'style',\n specialCategory: null,\n sort: 20,\n },\n borderRadius: {\n label: 'Border Radius',\n description: 'Corner rounding amount.',\n category: 'style',\n specialCategory: null,\n sort: 21,\n preferedScale: 's',\n },\n width: {\n label: 'Width',\n description: 'Fixed width value.',\n category: 'container',\n specialCategory: 'size',\n sort: 0,\n preferedScale: 's',\n },\n minWidth: {\n label: 'Min Width',\n description: 'Minimum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 1,\n preferedScale: 's',\n },\n maxWidth: {\n label: 'Max Width',\n description: 'Maximum width constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 2,\n preferedScale: 's',\n },\n height: {\n label: 'Height',\n description: 'Fixed height value.',\n category: 'container',\n specialCategory: 'size',\n sort: 3,\n preferedScale: 'vs',\n },\n minHeight: {\n label: 'Min Height',\n description: 'Minimum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 4,\n preferedScale: 'vs',\n },\n maxHeight: {\n label: 'Max Height',\n description: 'Maximum height constraint.',\n category: 'container',\n specialCategory: 'size',\n sort: 5,\n preferedScale: 'vs',\n },\n flex: {\n label: 'Flex',\n description: 'Flex grow factor (e.g. 1 fills available space).',\n category: 'container',\n specialCategory: 'size',\n sort: 6,\n },\n position: {\n label: 'Position',\n description: 'Sets layout positioning mode.',\n category: 'container',\n specialCategory: null,\n sort: 3,\n },\n top: {\n label: 'Top',\n description: 'Offset from the top edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 22,\n preferedScale: 'vs',\n },\n bottom: {\n label: 'Bottom',\n description: 'Offset from the bottom edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 23,\n preferedScale: 'vs',\n },\n left: {\n label: 'Left',\n description: 'Offset from the left edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 24,\n preferedScale: 's',\n },\n right: {\n label: 'Right',\n description: 'Offset from the right edge.',\n category: 'container',\n specialCategory: 'offset',\n sort: 25,\n preferedScale: 's',\n },\n zIndex: {\n label: 'Z-Index',\n description: 'Controls stacking order.',\n category: 'container',\n specialCategory: null,\n sort: 26,\n },\n },\n },\n defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },\n },\n] as const;\n","import { patterns as generatedPatterns } from '../build-components/patterns.generated';\nimport type { NodeDefaultAttribute } from '../types/Node';\n\nexport type AttributeMeta = {\n label?: string;\n description?: string;\n category?: 'style' | 'container' | 'other' | string;\n specialCategory?: 'padding' | 'margin' | 'offset' | null | string;\n sort?: number;\n preferedScale?: 's' | 'vs' | 'f' | '%' | '' | string;\n /**\n * When true, this attribute should remain visible even if the component\n * metadata requests hiding all attributes (e.g. `meta.hideAllAttributes`).\n */\n forceVisible?: boolean;\n /**\n * Alias for `forceVisible` used by some patterns.\n */\n override?: boolean;\n};\n\nexport type SpecialCategoryMeta = {\n label?: string;\n description?: string;\n category?: 'style' | 'container' | 'other' | string;\n sort?: number;\n};\n\ntype PatternMeta = {\n label?: string;\n description?: string;\n attributes?: Record<string, AttributeMeta>;\n specialCategories?: Record<string, SpecialCategoryMeta>;\n desiredParent?: string[];\n desiredChildren?: string[];\n mockableFeatures?: Record<string, boolean>;\n /** If true, hide all attributes in the editor except ones with `forceVisible/override`. */\n hideAllAttributes?: boolean;\n};\n\ntype Pattern = {\n schemaVersion: number;\n allowUnknownAttributes: boolean;\n extends: string;\n pattern: {\n type: string;\n children: unknown;\n attributes?: Record<string, string | string[]>;\n };\n defaults?: NodeDefaultAttribute;\n\n // Optional custom complex types referenced by attributes like \"X[]\" or \"X\"\n // Each entry maps a type name (e.g., \"EventObject\") to its field schema\n // where the inner record maps fieldName -> primitive type or enum options\n types?: Record<string, Record<string, string | string[]>>;\n // Optional defaults to be applied to node.attributes if not provided\n meta?: PatternMeta;\n};\n\nconst patterns: Pattern[] = generatedPatterns as unknown as Pattern[];\n\n// Build a fast lookup map without normalization for direct access\nconst patternIndex: Map<string, Pattern> = new Map(\n patterns.map((p) => [p.pattern.type, p]),\n);\n\nfunction pascalToCamelCase(s: string): string {\n if (!s) return s;\n return s[0].toLowerCase() + s.slice(1);\n}\n\nfunction pascalToKebabCase(s: string): string {\n if (!s) return s;\n // BackgroundImage -> background-image, IAPBackground -> iap-background\n return s\n .replace(/([a-z0-9])([A-Z])/g, '$1-$2')\n .replace(/([A-Z]+)([A-Z][a-z0-9]+)/g, '$1-$2')\n .toLowerCase();\n}\n\nconst typeAliases: Map<string, string> = new Map();\nfor (const p of patterns) {\n const canonical = p?.pattern?.type;\n if (typeof canonical !== 'string' || !canonical) continue;\n const aliases = [\n canonical,\n canonical.toLowerCase(),\n pascalToCamelCase(canonical),\n pascalToKebabCase(canonical),\n ];\n for (const a of aliases) {\n if (!a) continue;\n if (!typeAliases.has(a)) {\n typeAliases.set(a, canonical);\n }\n }\n}\n\n/** Normalize legacy/variant component type strings to the canonical pattern.type (PascalCase). */\nexport function normalizeComponentType(\n type?: string | null,\n): string | undefined {\n if (typeof type !== 'string' || !type) return undefined;\n if (patternIndex.has(type)) return type;\n return typeAliases.get(type) ?? typeAliases.get(type.toLowerCase());\n}\n\nexport function getPatternByType(type?: string | null): Pattern | undefined {\n if (typeof type !== 'string') return undefined;\n const normalized = normalizeComponentType(type) ?? type;\n return patternIndex.get(normalized);\n}\n\nexport function getAttributeSchema(\n type?: string | null,\n): Record<string, string | string[]> | undefined {\n const p = getPatternByType(type);\n return p?.pattern.attributes;\n}\n\nexport function getAttributeMeta(\n type?: string | null,\n): Record<string, AttributeMeta> | undefined {\n const p = getPatternByType(type);\n return p?.meta?.attributes;\n}\n\n/** Returns defaults block (if any) for a given component type */\nexport function getDefaultsForType(\n type?: string | null,\n): NodeDefaultAttribute | undefined {\n const p = getPatternByType(type);\n return p?.defaults as NodeDefaultAttribute | undefined;\n}\n\n/**\n * Returns the schema of a custom complex type declared under a component pattern's `types` block.\n * For example, OnboardButton.pattern.types.EventObject\n */\nexport function getTypeSchema(\n componentType?: string | null,\n typeName?: string | null,\n): Record<string, string | string[]> | undefined {\n if (!componentType || !typeName) return undefined;\n const p = getPatternByType(componentType);\n // Some JSON imports may not type-check \"types\" so we fallback to any access\n const types: Record<string, Record<string, string | string[]>> | undefined = (\n p as unknown as {\n types?: Record<string, Record<string, string | string[]>>;\n }\n )?.types;\n return types?.[typeName];\n}\n\n/** Utility: returns true if the type name refers to a primitive scalar */\nexport function isPrimitiveType(typeName: string): boolean {\n return (\n typeName === 'string' ||\n typeName === 'number' ||\n typeName === 'boolean' ||\n typeName === 'color' ||\n typeName === 'size' ||\n typeName === 'iconType'\n );\n}\n\n/** Utility: parse `X[]` forms and return the item type if present */\nexport function getArrayItemType(typeName: string): string | null {\n if (typeof typeName !== 'string') return null;\n return typeName.endsWith('[]') ? typeName.slice(0, -2) : null;\n}\n","import type { Node, NodeDefaultAttribute } from '../types/Node';\n\nexport function isNodeNullOrUndefined<T = NodeDefaultAttribute>(\n node: Node<T>,\n): boolean {\n return node === null || node === undefined;\n}\n\nexport function isNodeString<T = NodeDefaultAttribute>(node: Node<T>): boolean {\n return typeof node === 'string';\n}\n\nexport function isNodeArray<T = NodeDefaultAttribute>(node: Node<T>): boolean {\n return node instanceof Array;\n}\n\nexport function isEmptyObject<T = NodeDefaultAttribute>(\n node: Node<T>,\n): boolean {\n return (\n typeof node === 'object' &&\n node !== null &&\n !Array.isArray(node) &&\n Object.keys(node as object).length === 0\n );\n}\n","import type { Node, NodeData, NodeDefaultAttribute } from '../types/Node';\nimport {\n getArrayItemType,\n getAttributeSchema,\n getPatternByType,\n getTypeSchema,\n isPrimitiveType,\n normalizeComponentType,\n} from './patterns';\nimport {\n isEmptyObject,\n isNodeArray,\n isNodeNullOrUndefined,\n isNodeString,\n} from './nodeGuards';\n\nexport type AnalyseResultWithPath = {\n valid: boolean;\n message?: string;\n path?: string;\n};\n\ntype AttributeTypeSpec = string | string[];\ntype AttributeSchema = Record<string, AttributeTypeSpec>;\n\ntype PatternLike = {\n allowUnknownAttributes: boolean;\n pattern: {\n type: string;\n children: unknown;\n attributes?: AttributeSchema;\n };\n};\n\nfunction ok(): AnalyseResultWithPath {\n return { valid: true };\n}\n\nfunction fail(message: string, path?: string): AnalyseResultWithPath {\n return { valid: false, message, path };\n}\n\nfunction joinPath(base: string, next: string): string {\n if (!base) return next;\n if (!next) return base;\n // next may already include brackets (e.g. [0])\n return next.startsWith('[') ? `${base}${next}` : `${base}.${next}`;\n}\n\nfunction isPlainObject(value: unknown): value is Record<string, unknown> {\n return typeof value === 'object' && value !== null && !Array.isArray(value);\n}\n\nfunction isNodeDataLike(\n value: unknown,\n): value is NodeData<NodeDefaultAttribute> {\n if (!isPlainObject(value)) return false;\n const maybeType = (value as Record<string, unknown>).type;\n return typeof maybeType === 'string' && 'children' in value;\n}\n\nfunction normalizeTypeOrFallback(type: string): string {\n return normalizeComponentType(type) ?? type;\n}\n\nfunction getChildrenSpecTokens(pattern: PatternLike): string[] {\n const raw = pattern?.pattern?.children;\n if (typeof raw === 'string') return [raw];\n if (Array.isArray(raw)) return raw.filter((x) => typeof x === 'string');\n return [];\n}\n\nfunction splitChildrenSpec(tokens: string[]): {\n baseKinds: Set<'never' | 'string' | 'node' | 'array'>;\n allowedComponentTypes: Set<string>;\n} {\n const baseKinds = new Set<'never' | 'string' | 'node' | 'array'>();\n const allowedComponentTypes = new Set<string>();\n for (const t of tokens) {\n if (t === 'never' || t === 'string' || t === 'node' || t === 'array') {\n baseKinds.add(t);\n } else if (typeof t === 'string' && t) {\n allowedComponentTypes.add(normalizeTypeOrFallback(t));\n }\n }\n return { baseKinds, allowedComponentTypes };\n}\n\nfunction validateChildrenNeverRule(\n children: Node<NodeDefaultAttribute>,\n baseKinds: Set<'never' | 'string' | 'node' | 'array'>,\n path: string,\n): AnalyseResultWithPath {\n if (!baseKinds.has('never')) return ok();\n if (isNodeNullOrUndefined(children) || isEmptyObject(children)) return ok();\n return fail(`Children not allowed (pattern.children = \"never\")`, path);\n}\n\nfunction validateChildrenKindRule(\n children: Node<NodeDefaultAttribute>,\n baseKinds: Set<'never' | 'string' | 'node' | 'array'>,\n allowedComponentTypes: Set<string>,\n path: string,\n): AnalyseResultWithPath {\n if (isNodeNullOrUndefined(children) || isEmptyObject(children)) return ok();\n\n // Component-type specs allow either a single node or an array of nodes.\n if (allowedComponentTypes.size > 0) {\n if (isNodeArray(children)) return ok();\n if (isNodeDataLike(children)) return ok();\n return fail(\n `Children must be a node or array of nodes (allowed: ${Array.from(\n allowedComponentTypes,\n ).join(', ')})`,\n path,\n );\n }\n\n if (isNodeString(children)) {\n return baseKinds.has('string')\n ? ok()\n : fail(`Children must not be a string`, path);\n }\n if (isNodeArray(children)) {\n return baseKinds.has('array')\n ? ok()\n : fail(`Children must not be an array`, path);\n }\n if (isNodeDataLike(children)) {\n return baseKinds.has('node')\n ? ok()\n : fail(`Children must not be a node`, path);\n }\n\n // Unknown object shape\n return fail(`Children has invalid shape`, path);\n}\n\nfunction validateChildrenAllowedComponentTypesRule(\n children: Node<NodeDefaultAttribute>,\n allowedComponentTypes: Set<string>,\n path: string,\n): AnalyseResultWithPath {\n if (allowedComponentTypes.size === 0) return ok();\n if (isNodeNullOrUndefined(children) || isEmptyObject(children)) return ok();\n\n const allowed = Array.from(allowedComponentTypes);\n\n const validateChildType = (child: unknown, childPath: string) => {\n if (!isNodeDataLike(child)) {\n return fail(`Child must be an object node`, childPath);\n }\n const actual = normalizeTypeOrFallback(child.type);\n if (!allowedComponentTypes.has(actual)) {\n return fail(\n `Child type \"${child.type}\" is not allowed here (allowed: ${allowed.join(\n ', ',\n )})`,\n joinPath(childPath, 'type'),\n );\n }\n return ok();\n };\n\n if (isNodeArray(children)) {\n const arr = children as unknown[];\n for (let i = 0; i < arr.length; i++) {\n const res = validateChildType(arr[i], `${path}[${i}]`);\n if (!res.valid) return res;\n }\n return ok();\n }\n\n return validateChildType(children, path);\n}\n\nfunction validateChildrenByPattern(\n nodeData: NodeData<NodeDefaultAttribute>,\n pattern: PatternLike,\n path: string,\n): AnalyseResultWithPath {\n const tokens = getChildrenSpecTokens(pattern);\n const { baseKinds, allowedComponentTypes } = splitChildrenSpec(tokens);\n\n const neverRes = validateChildrenNeverRule(\n nodeData.children,\n baseKinds,\n path,\n );\n if (!neverRes.valid) return neverRes;\n\n const kindRes = validateChildrenKindRule(\n nodeData.children,\n baseKinds,\n allowedComponentTypes,\n path,\n );\n if (!kindRes.valid) return kindRes;\n\n return validateChildrenAllowedComponentTypesRule(\n nodeData.children,\n allowedComponentTypes,\n path,\n );\n}\n\nfunction validatePrimitiveValue(\n value: unknown,\n primitiveType: string,\n path: string,\n): AnalyseResultWithPath {\n switch (primitiveType) {\n case 'string':\n return typeof value === 'string' ? ok() : fail(`Expected string`, path);\n case 'number':\n return typeof value === 'number' ? ok() : fail(`Expected number`, path);\n case 'boolean':\n return typeof value === 'boolean' ? ok() : fail(`Expected boolean`, path);\n case 'color':\n return typeof value === 'string'\n ? ok()\n : fail(`Expected color (string)`, path);\n case 'size':\n // Sizes can be numbers or strings like \"16@fs\" / \"100%\" / \"20px\"\n return typeof value === 'number' || typeof value === 'string'\n ? ok()\n : fail(`Expected size (string or number)`, path);\n case 'iconType':\n return typeof value === 'string'\n ? ok()\n : fail(`Expected iconType (string)`, path);\n default:\n return fail(`Unknown primitive type \"${primitiveType}\"`, path);\n }\n}\n\nfunction validateEnumValue(\n value: unknown,\n options: string[],\n path: string,\n): AnalyseResultWithPath {\n if (typeof value === 'string') {\n return options.includes(value)\n ? ok()\n : fail(`Expected one of: ${options.join(', ')}`, path);\n }\n if (Array.isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n const v = value[i];\n if (typeof v !== 'string' || !options.includes(v)) {\n return fail(\n `Expected an array of: ${options.join(', ')}`,\n `${path}[${i}]`,\n );\n }\n }\n return ok();\n }\n return fail(`Expected a string or string[] enum value`, path);\n}\n\nfunction validateCustomObjectValue(\n componentType: string,\n value: unknown,\n typeName: string,\n path: string,\n): AnalyseResultWithPath {\n const schema = getTypeSchema(componentType, typeName);\n if (!schema) {\n return fail(`Unknown custom type \"${typeName}\"`, path);\n }\n if (!isPlainObject(value)) {\n return fail(`Expected object for type \"${typeName}\"`, path);\n }\n\n for (const [fieldName, fieldSpec] of Object.entries(schema)) {\n if (!(fieldName in value)) continue;\n const fieldValue = (value as Record<string, unknown>)[fieldName];\n const fieldPath = joinPath(path, fieldName);\n const res = validateAttributeValue(\n componentType,\n fieldValue,\n fieldSpec,\n fieldPath,\n );\n if (!res.valid) return res;\n }\n\n return ok();\n}\n\nfunction validateAttributeValue(\n componentType: string,\n value: unknown,\n spec: AttributeTypeSpec,\n path: string,\n): AnalyseResultWithPath {\n if (Array.isArray(spec)) {\n return validateEnumValue(value, spec, path);\n }\n\n const arrayItemType = getArrayItemType(spec);\n if (arrayItemType) {\n if (!Array.isArray(value)) {\n return fail(`Expected array for type \"${spec}\"`, path);\n }\n for (let i = 0; i < value.length; i++) {\n const item = value[i];\n const itemPath = `${path}[${i}]`;\n const res = validateAttributeValue(\n componentType,\n item,\n arrayItemType,\n itemPath,\n );\n if (!res.valid) return res;\n }\n return ok();\n }\n\n if (isPrimitiveType(spec)) {\n return validatePrimitiveValue(value, spec, path);\n }\n\n return validateCustomObjectValue(componentType, value, spec, path);\n}\n\nfunction validateAttributesByPattern(\n nodeData: NodeData<NodeDefaultAttribute>,\n pattern: PatternLike,\n path: string,\n): AnalyseResultWithPath {\n const attrs = nodeData.attributes;\n if (attrs == null) return ok();\n if (!isPlainObject(attrs)) return fail(`attributes must be an object`, path);\n\n const schema: AttributeSchema = (getAttributeSchema(pattern.pattern.type) ??\n pattern.pattern.attributes ??\n {}) as AttributeSchema;\n\n for (const [attrName, attrValue] of Object.entries(attrs)) {\n const attrSpec = schema?.[attrName];\n if (!attrSpec) {\n if (pattern.allowUnknownAttributes) continue;\n return fail(`Unknown attribute \"${attrName}\"`, joinPath(path, attrName));\n }\n const res = validateAttributeValue(\n pattern.pattern.type,\n attrValue,\n attrSpec,\n joinPath(path, attrName),\n );\n if (!res.valid) return res;\n }\n\n return ok();\n}\n\nfunction validateNodeDataByPatterns(\n nodeData: NodeData<NodeDefaultAttribute>,\n path: string,\n): AnalyseResultWithPath {\n const normalizedType = normalizeTypeOrFallback(nodeData.type);\n const pattern = getPatternByType(normalizedType) as unknown as\n | PatternLike\n | undefined;\n if (!pattern) {\n return fail(\n `Unknown component type \"${nodeData.type}\"`,\n joinPath(path, 'type'),\n );\n }\n\n const attrRes = validateAttributesByPattern(\n { ...nodeData, type: normalizedType },\n pattern,\n joinPath(path, 'attributes'),\n );\n if (!attrRes.valid) return attrRes;\n\n const childrenRes = validateChildrenByPattern(\n { ...nodeData, type: normalizedType },\n pattern,\n joinPath(path, 'children'),\n );\n if (!childrenRes.valid) return childrenRes;\n\n return ok();\n}\n\nfunction validateAnyNodeByPatterns(\n node: Node<NodeDefaultAttribute>,\n path: string,\n): AnalyseResultWithPath {\n if (\n isNodeNullOrUndefined(node) ||\n isNodeString(node) ||\n isEmptyObject(node)\n ) {\n return ok();\n }\n\n if (isNodeArray(node)) {\n const arr = node as unknown as Node<NodeDefaultAttribute>[];\n for (let i = 0; i < arr.length; i++) {\n const res = validateAnyNodeByPatterns(arr[i], `${path}[${i}]`);\n if (!res.valid) return res;\n }\n return ok();\n }\n\n if (!isNodeDataLike(node)) {\n return fail(`Invalid node shape`, path);\n }\n\n const selfRes = validateNodeDataByPatterns(node, path);\n if (!selfRes.valid) return selfRes;\n\n return validateAnyNodeByPatterns(\n node.children as Node<NodeDefaultAttribute>,\n joinPath(path, 'children'),\n );\n}\n\n/**\n * Validates a Node tree against the generated component patterns:\n * - Enforces `pattern.children` including \"never\"\n * - Validates `attributes` against `pattern.attributes` (+ custom `types`)\n *\n * Notes:\n * - Null/undefined children are considered \"no children\" and are allowed even\n * when patterns expect some kind of children.\n */\nexport function analyseNodeByPatterns(\n node: Node<NodeDefaultAttribute>,\n): AnalyseResultWithPath {\n return validateAnyNodeByPatterns(node, 'root');\n}\n","import type { Node, NodeData, NodeDefaultAttribute } from '../types/Node';\nimport {\n isEmptyObject,\n isNodeArray,\n isNodeNullOrUndefined,\n isNodeString,\n} from './nodeGuards';\n\nexport type AnalyseResult = {\n valid: boolean;\n message?: string;\n};\n\n/**\n * Structural validation only:\n * - Ensures the input is a valid Node union recursively (null/string/array/object)\n * - Does NOT validate against component patterns.\n */\nexport function analyseNodeStructural(\n node: Node<NodeDefaultAttribute>,\n): AnalyseResult {\n if (isNodeNullOrUndefined(node)) {\n return { valid: true, message: 'null or undefined is valid' };\n }\n\n if (isNodeString(node)) {\n return { valid: true, message: 'string is valid' };\n }\n\n if (isNodeArray(node)) {\n const nodeArray = node as unknown as Node[];\n for (const value of nodeArray) {\n const res = analyseNodeStructural(value as Node<NodeDefaultAttribute>);\n if (!res.valid) return res;\n }\n return { valid: true, message: 'Array is valid' };\n }\n\n const recordData = node as NodeData;\n if (isEmptyObject(recordData)) {\n return { valid: true, message: 'empty object is valid' };\n }\n\n if (recordData.children) {\n const res = analyseNodeStructural(\n recordData.children as Node<NodeDefaultAttribute>,\n );\n if (!res.valid) return res;\n }\n\n return { valid: true, message: 'everything is structurally valid' };\n}\n","import { Node, NodeData, NodeDefaultAttribute } from '../types/Node';\nimport { generateRandomKeyForNode } from './generateRandomKeyForNode';\nimport { analyseNodeByPatterns } from './analyseNodeByPatterns';\nimport { analyseNodeStructural } from './analyseNodeStructural';\nimport { isNodeArray, isNodeNullOrUndefined, isNodeString } from './nodeGuards';\n\nexport {\n isEmptyObject,\n isNodeArray,\n isNodeNullOrUndefined,\n isNodeString,\n} from './nodeGuards';\n\nfunction assignMissingKeys(\n node: Node<NodeDefaultAttribute>,\n usedKeys: Set<string>,\n): Node<NodeDefaultAttribute> {\n if (isNodeNullOrUndefined(node) || isNodeString(node)) {\n return node;\n }\n\n if (isNodeArray(node)) {\n const nodeArray = node as unknown as Node<NodeDefaultAttribute>[];\n return nodeArray.map((child) =>\n assignMissingKeys(child, usedKeys),\n ) as unknown as Node<NodeDefaultAttribute>;\n }\n\n const recordData = node as NodeData<NodeDefaultAttribute>;\n\n let key = recordData.key;\n if (key && usedKeys.has(key)) {\n // Repair duplicate keys by generating a new unique key.\n key = undefined;\n }\n\n if (!key) {\n do {\n key = generateRandomKeyForNode(recordData.type);\n } while (usedKeys.has(key));\n }\n usedKeys.add(key);\n\n const children = recordData.children\n ? (assignMissingKeys(\n recordData.children as Node<NodeDefaultAttribute>,\n usedKeys,\n ) as Node<NodeDefaultAttribute>)\n : recordData.children;\n\n return {\n ...recordData,\n key,\n children,\n };\n}\n\nexport function analyseNode(node: Node<NodeDefaultAttribute>): {\n valid: boolean;\n message?: string;\n} {\n const structural = analyseNodeStructural(node);\n if (!structural.valid) return structural;\n\n const patternRes = analyseNodeByPatterns(node);\n if (!patternRes.valid) {\n const prefix = patternRes.path ? `${patternRes.path}: ` : '';\n return { valid: false, message: `${prefix}${patternRes.message ?? ''}` };\n }\n\n return { valid: true, message: 'Node is valid (structure + patterns)' };\n}\n\nexport function analyseAndProccess(\n node: Node<NodeDefaultAttribute>,\n): Node<NodeDefaultAttribute> | null {\n if (isNodeNullOrUndefined(node)) {\n return null;\n }\n\n const { valid, message } = analyseNode(node);\n if (!valid) {\n throw new Error(message ?? 'Node is not valid');\n }\n\n const usedKeys = new Set<string>();\n return assignMissingKeys(node, usedKeys);\n}\n","import { Node, NodeData } from '../types/Node';\nimport { Project, ProjectBase } from '../types/Project';\n//TODO: deprecated olmasına rağmen snapshot testi ekle\n/**\n * @deprecated Legacy converter for old \"nova\" onboard JSON formats.\n * The built-in samples are now shipped in the new `Project<Node>` format,\n * so this should no longer be needed in normal usage.\n */\nexport function novaToJson(nova: ProjectBase<unknown>): Node {\n const layout = (nova.data as any).data?.layout;\n if (layout === 'onboard-layout') {\n return onboardNovaToJson(nova);\n }\n return null;\n}\n//@eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction onboardNovaToJson(nova: ProjectBase<unknown>): Node {\n const attributes =\n (nova?.data as any)?.data?.attributes ||\n (nova?.data as any)?.attributes ||\n {};\n //@eslint-disable-next-line @typescript-eslint/no-explicit-any\n const generalComponents = (attributes?.general_components || []) as any[];\n //@eslint-disable-next-line @typescript-eslint/no-explicit-any\n const pages = (attributes?.data || []) as any[];\n\n const dotsNode = mapDotsFromGeneralComponents(generalComponents);\n const footerNode = mapFooterFromGeneralComponents(generalComponents);\n const { carouselNode, providerLevelButtons } = buildCarouselFromPages(pages);\n\n const providerNode: NodeData = {\n type: 'OnboardProvider',\n key: (nova?.data as any)?.data?.key,\n children: [\n carouselNode,\n // Place dots above buttons in visual order\n ...(dotsNode ? [dotsNode] : []),\n ...(providerLevelButtons.length ? providerLevelButtons : []),\n ...(footerNode ? [footerNode] : []),\n ],\n attributes: {\n theme: (nova?.data as any)?.theme,\n },\n };\n\n const mainNode: NodeData = {\n type: 'Main',\n isMain: true,\n key: (nova?.data as any)?.data?.key,\n children: [providerNode],\n attributes: {\n // default safe area view on; can be overridden in the editor\n useSafeAreaView: true,\n },\n };\n\n // Provider should have its own key if needed; avoid duplicating root key on child.\n delete (providerNode as any).key;\n\n return mainNode;\n}\n//@eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction buildCarouselFromPages(pages: any[]): {\n carouselNode: NodeData;\n providerLevelButtons: Node[];\n} {\n const simplePages = pages.filter(\n (p) => p?.layout === 'simple-onboard-layout',\n );\n const pageKeyToIndex = new Map<string, number>();\n //@eslint-disable-next-line @typescript-eslint/no-explicit-any\n simplePages.forEach((p: any, idx: number) => {\n const key = p?.attributes?.key;\n if (typeof key === 'string') pageKeyToIndex.set(key, idx);\n });\n\n const providerLevelButtons: Node[] = [];\n const items: Node[] = simplePages.map((page) =>\n buildCarouselItem(page, pageKeyToIndex, providerLevelButtons),\n );\n\n const carouselNode: NodeData = {\n type: 'Onboard',\n children: items as unknown as Node,\n };\n\n return { carouselNode, providerLevelButtons };\n}\n\nfunction buildCarouselItem(\n page: any,\n pageKeyToIndex: Map<string, number>,\n providerLevelButtons: Node[],\n): NodeData {\n //@eslint-disable-next-line @typescript-eslint/no-explicit-any\n const components = (page?.attributes?.components || []) as any[];\n const children: Node[] = [];\n\n // Resolve page index for condition mapping\n const currentKey = page?.attributes?.key as string | undefined;\n const pageIndex =\n typeof currentKey === 'string' && pageKeyToIndex.has(currentKey)\n ? pageKeyToIndex.get(currentKey)!\n : undefined;\n\n for (const comp of components) {\n if (comp?.layout === 'title-layout') {\n const title = comp?.attributes?.title_localization_key || '';\n const color = comp?.attributes?.title_color || undefined;\n const {\n fontSize: titleFontSize,\n textAlign: titleTextAlign,\n marginTop: titleMarginTop,\n fontWeight: titleFontWeight,\n } = extractTextStyleAttributesFromComponent(comp);\n children.push({\n type: 'OnboardTitle',\n attributes:\n color ||\n titleFontSize ||\n titleTextAlign ||\n titleMarginTop ||\n titleFontWeight\n ? {\n ...(color ? { color } : {}),\n ...(typeof titleFontSize === 'number'\n ? { fontSize: titleFontSize }\n : {}),\n ...(titleTextAlign ? { textAlign: titleTextAlign } : {}),\n ...(typeof titleMarginTop === 'number'\n ? { marginTop: titleMarginTop }\n : {}),\n ...(titleFontWeight ? { fontWeight: titleFontWeight } : {}),\n }\n : undefined,\n children: title,\n });\n } else if (comp?.layout === 'subtitle-layout') {\n const subtitle = comp?.attributes?.subtitle_localization_key || '';\n const color = comp?.attributes?.subtitle_color || undefined;\n const {\n fontSize: subtitleFontSize,\n textAlign: subtitleTextAlign,\n marginTop: subtitleMarginTop,\n fontWeight: subtitleFontWeight,\n } = extractTextStyleAttributesFromComponent(comp);\n children.push({\n type: 'OnboardSubtitle',\n attributes:\n color ||\n subtitleFontSize ||\n subtitleTextAlign ||\n subtitleMarginTop ||\n subtitleFontWeight\n ? {\n ...(color ? { color } : {}),\n ...(typeof subtitleFontSize === 'number'\n ? { fontSize: subtitleFontSize }\n : {}),\n ...(subtitleTextAlign ? { textAlign: subtitleTextAlign } : {}),\n ...(typeof subtitleMarginTop === 'number'\n ? { marginTop: subtitleMarginTop }\n : {}),\n ...(subtitleFontWeight\n ? { fontWeight: subtitleFontWeight }\n : {}),\n }\n : undefined,\n children: subtitle,\n });\n } else if (comp?.layout === 'image-layout') {\n const src = comp?.attributes?.image || comp?.attributes?.src || '';\n const rawHeight =\n comp?.attributes?.height ??\n comp?.attributes?.ios_height ??\n comp?.attributes?.android_height;\n const height =\n typeof rawHeight === 'string'\n ? Number.parseInt(rawHeight, 10)\n : typeof rawHeight === 'number'\n ? rawHeight\n : undefined;\n\n // derive resizeMode from is_bg_image and try to extract borderRadius from styles\n const isBgImage = Boolean(comp?.attributes?.is_bg_image);\n const imageStyle = extractViewStyleAttributesFromComponent(comp);\n // optional rich media\n const lottie = comp?.attributes?.lottie as string | undefined;\n const videoUrl = comp?.attributes?.video_url as string | undefined;\n\n if (src) {\n children.push({\n type: 'OnboardImage',\n attributes: {\n src,\n ...(height ? { height } : {}),\n resizeMode: isBgImage ? 'cover' : 'contain',\n ...(typeof imageStyle.borderRadius === 'number'\n ? { borderRadius: imageStyle.borderRadius }\n : {}),\n ...(typeof lottie === 'string' ? { lottie } : {}),\n ...(typeof videoUrl === 'string' ? { video_url: videoUrl } : {}),\n },\n children: undefined as unknown as Node,\n } as unknown as NodeData);\n }\n } else if (comp?.layout === 'Buttons') {\n const direction = comp?.attributes?.buttons_direction;\n //@eslint-disable-next-line @typescript-eslint/no-explicit-any\n const buttons = (comp?.attributes?.buttons || []) as any[];\n //@eslint-disable-next-line @typescript-eslint/no-explicit-any\n const buttonNodes: Node[] = [];\n for (const btn of buttons) {\n const attrs = btn?.attributes || {};\n const labelKey = attrs?.button_text_localization_key || '';\n const buttonTextColor = attrs?.button_text_color;\n const buttonBackgroundColor = attrs?.button_background_color;\n const animation = attrs?.animation as\n | 'simple-animation'\n | 'line-animation'\n | 'blur'\n | 'blur-animation'\n | 'blur-line-animation'\n | undefined;\n const animationColor = attrs?.animation_color as string | undefined;\n const flex = attrs?.flex ? Number(attrs.flex) : undefined;\n\n // Normalize events and compute Navigate target indices when resolvable\n let targetIndex: number | undefined = undefined;\n //@eslint-disable-next-line @typescript-eslint/no-explicit-any\n const actions = (attrs?.actions || []) as any[];\n const normalizedEvents: {\n type: 'Permission' | 'Navigate';\n permission?: string;\n navigate_to?: string | null;\n targetIndex?: number;\n }[] = [];\n for (const action of actions) {\n //@eslint-disable-next-line @typescript-eslint/no-explicit-any\n const events = (action?.attributes?.events || []) as any[];\n for (const e of events) {\n if (e?.layout === 'Permission') {\n const permission = e?.attributes?.permission as\n | string\n | undefined;\n normalizedEvents.push({ type: 'Permission', permission });\n } else if (e?.layout === 'Navigate') {\n const nextKey = e?.attributes?.next_page_key as\n | string\n | undefined;\n // If key exists among simple-onboard-layout pages, prefer index navigation\n const hasTarget =\n typeof nextKey === 'string' && pageKeyToIndex.has(nextKey);\n const navigate_to = hasTarget\n ? null\n : typeof nextKey === 'string'\n ? nextKey\n : null;\n normalizedEvents.push({\n type: 'Navigate',\n navigate_to,\n ...(hasTarget\n ? { targetIndex: pageKeyToIndex.get(nextKey!)! }\n : {}),\n });\n if (hasTarget) {\n targetIndex = pageKeyToIndex.get(nextKey!)!;\n }\n }\n }\n }\n\n buttonNodes.push({\n type: 'OnboardButton',\n attributes: {\n labelKey,\n ...(typeof buttonTextColor === 'string'\n ? { button_text_color: buttonTextColor }\n : {}),\n ...(typeof animation === 'string' ? { animation } : {}),\n ...(typeof animationColor === 'string'\n ? { animation_color: animationColor }\n : {}),\n ...(typeof buttonBackgroundColor === 'string'\n ? { button_background_color: buttonBackgroundColor }\n : {}),\n ...(typeof flex === 'number' ? { flex } : {}),\n ...(normalizedEvents.length ? { events: normalizedEvents } : {}),\n },\n children: undefined as unknown as Node,\n } as unknown as NodeData);\n }\n\n if (buttonNodes.length > 0) {\n // Place buttons at provider level with visibility conditioned by page index\n providerLevelButtons.push({\n type: 'OnboardButtons',\n attributes: {\n ...(direction ? { buttons_direction: direction } : {}),\n ...(typeof pageIndex === 'number'\n ? { condition: 'carousel-index', conditionVariable: pageIndex }\n : {}),\n },\n children: buttonNodes as unknown as Node,\n } as unknown as NodeData);\n }\n }\n }\n\n const pageKeyAttr = page?.attributes?.key;\n const resolvedKey =\n (typeof pageKeyAttr === 'string' && pageKeyAttr) ||\n (typeof page?.key === 'string' ? page.key : undefined);\n\n return {\n type: 'OnboardItem',\n ...(resolvedKey ? { key: resolvedKey } : {}),\n children,\n };\n}\n\n//@eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction extractTextStyleAttributesFromComponent(comp: any): {\n fontSize?: number;\n textAlign?: 'left' | 'center' | 'right' | 'justify';\n marginTop?: number;\n fontWeight?:\n | 'normal'\n | 'bold'\n | '100'\n | '200'\n | '300'\n | '400'\n | '500'\n | '600'\n | '700'\n | '800'\n | '900';\n} {\n const result: {\n fontSize?: number;\n textAlign?: 'left' | 'center' | 'right' | 'justify';\n marginTop?: number;\n fontWeight?:\n | 'normal'\n | 'bold'\n | '100'\n | '200'\n | '300'\n | '400'\n | '500'\n | '600'\n | '700'\n | '800'\n | '900';\n } = {};\n\n //@eslint-disable-next-line @typescript-eslint/no-explicit-any\n const stylesRoot = (comp?.attributes?.styles || []) as any[];\n if (!Array.isArray(stylesRoot) || stylesRoot.length === 0) return result;\n\n const allowedAligns = new Set(['left', 'center', 'right', 'justify']);\n const allowedWeights = new Set([\n 'normal',\n 'bold',\n '100',\n '200',\n '300',\n '400',\n '500',\n '600',\n '700',\n '800',\n '900',\n ]);\n\n for (const s of stylesRoot) {\n if (s?.layout !== 'style-layout') continue;\n //@eslint-disable-next-line @typescript-eslint/no-explicit-any\n const nested = (s?.attributes?.styles || []) as any[];\n if (!Array.isArray(nested)) continue;\n for (const st of nested) {\n if (st?.layout !== 'Styles') continue;\n const type = st?.attributes?.type;\n if (type !== 'textStyle') continue;\n const style = st?.attributes?.style || {};\n\n const rawFontSize = style?.fontSize;\n if (typeof rawFontSize === 'number' && Number.isFinite(rawFontSize)) {\n result.fontSize = rawFontSize;\n } else if (typeof rawFontSize === 'string') {\n const n = Number.parseInt(rawFontSize, 10);\n if (Number.isFinite(n)) result.fontSize = n;\n }\n\n const align = style?.textAlign;\n if (typeof align === 'string' && allowedAligns.has(align)) {\n result.textAlign = align as typeof result.textAlign;\n }\n\n const rawMarginTop = style?.marginTop;\n if (typeof rawMarginTop === 'number' && Number.isFinite(rawMarginTop)) {\n result.marginTop = rawMarginTop;\n } else if (typeof rawMarginTop === 'string') {\n const n = Number.parseInt(rawMarginTop, 10);\n if (Number.isFinite(n)) result.marginTop = n;\n }\n\n const rawWeight = style?.fontWeight;\n let normalizedWeight: string | undefined;\n if (typeof rawWeight === 'number' && Number.isFinite(rawWeight)) {\n normalizedWeight = String(rawWeight);\n } else if (typeof rawWeight === 'string') {\n normalizedWeight = rawWeight;\n }\n if (normalizedWeight && allowedWeights.has(normalizedWeight)) {\n result.fontWeight = normalizedWeight as typeof result.fontWeight;\n }\n }\n }\n\n return result;\n}\n\n//@eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction extractViewStyleAttributesFromComponent(comp: any): {\n borderRadius?: number;\n} {\n const result: { borderRadius?: number } = {};\n //@eslint-disable-next-line @typescript-eslint/no-explicit-any\n const stylesRoot = (comp?.attributes?.styles || []) as any[];\n if (!Array.isArray(stylesRoot) || stylesRoot.length === 0) return result;\n for (const s of stylesRoot) {\n if (s?.layout !== 'style-layout') continue;\n //@eslint-disable-next-line @typescript-eslint/no-explicit-any\n const nested = (s?.attributes?.styles || []) as any[];\n if (!Array.isArray(nested)) continue;\n for (const st of nested) {\n if (st?.layout !== 'Styles') continue;\n const style = st?.attributes?.style || {};\n const rawBr = style?.borderRadius;\n if (typeof rawBr === 'number' && Number.isFinite(rawBr)) {\n result.borderRadius = rawBr;\n } else if (typeof rawBr === 'string') {\n const n = Number.parseInt(rawBr, 10);\n if (Number.isFinite(n)) result.borderRadius = n;\n }\n }\n }\n return result;\n}\n\nfunction mapDotsFromGeneralComponents(generalComponents: any[]): Node | null {\n const dots = generalComponents.find((gc) => gc?.layout === 'dots-layout');\n if (!dots) return null;\n const dotArray = dots?.attributes?.dot || [];\n const firstDot = dotArray?.[0];\n const dotType = firstDot?.layout as\n | 'expanding_dot'\n | 'normal_dot'\n | 'scaling_dot'\n | 'sliding_border'\n | 'sliding_dot'\n | 'liquid_like';\n const dotAttrs = (firstDot?.attributes || {}) as Record<string, unknown>;\n\n const parseNumber = (value: unknown): number | undefined => {\n if (typeof value === 'number') return value;\n if (typeof value === 'string' && value.trim().length > 0) {\n const n = Number(value);\n return Number.isFinite(n) ? n : undefined;\n }\n return undefined;\n };\n\n const inactiveDotOpacity = parseNumber(dotAttrs?.inactive_dot_opacity);\n const expandingDotWidth = parseNumber(dotAttrs?.expanding_dot_width);\n const dot_style =\n typeof dotAttrs?.dot_style === 'string'\n ? (dotAttrs.dot_style as string)\n : undefined;\n const container_style =\n typeof dotAttrs?.container_style === 'string'\n ? (dotAttrs.container_style as string)\n : undefined;\n const active_dot_color =\n typeof dotAttrs?.active_dot_color === 'string'\n ? (dotAttrs.active_dot_color as string)\n : undefined;\n\n const attributes: Record<string, unknown> = {};\n if (dotType) attributes.dotType = dotType;\n if (inactiveDotOpacity !== undefined)\n attributes.inactive_dot_opacity = inactiveDotOpacity;\n if (expandingDotWidth !== undefined)\n attributes.expanding_dot_width = expandingDotWidth;\n if (dot_style) attributes.dot_style = dot_style;\n if (container_style) attributes.container_style = container_style;\n if (active_dot_color) attributes.active_dot_color = active_dot_color;\n return {\n type: 'OnboardDot',\n attributes: Object.keys(attributes).length ? attributes : undefined,\n children: undefined as unknown as Node,\n } as unknown as NodeData;\n}\n\nfunction mapFooterFromGeneralComponents(generalComponents: any[]): Node | null {\n const footer = generalComponents.find((gc) => gc?.layout === 'footer-layout');\n if (!footer) return null;\n const texts = (footer?.attributes?.texts || []) as any[];\n const linkedWords: { text_key?: string; color?: string; page?: string }[] =\n [];\n let baseTextKey: string | undefined;\n let baseTextColor: string | undefined;\n\n for (const t of texts) {\n if (t?.layout === 'Text') {\n const textKey = t?.attributes?.text_localization_key || '';\n const color = t?.attributes?.text_color || undefined;\n if (!baseTextKey) baseTextKey = textKey;\n if (!baseTextColor && typeof color === 'string') baseTextColor = color;\n\n // Extract linked words if present\n const lws = (t?.attributes?.linkedwords || []) as any[];\n for (const w of lws) {\n if (w?.layout === 'LinkedWords') {\n const text_key = w?.attributes?.linked_word_localization_key as\n | string\n | undefined;\n const lwColor = w?.attributes?.linked_word_color as\n | string\n | undefined;\n const page = w?.attributes?.page as string | undefined;\n linkedWords.push({ text_key, color: lwColor, page });\n }\n }\n }\n }\n\n const attributes: Record<string, unknown> = { gap: 8 };\n if (baseTextKey) attributes.textLocalizationKey = baseTextKey;\n if (baseTextColor) attributes.textColor = baseTextColor;\n const first = linkedWords[0];\n const second = linkedWords[1];\n if (first) {\n if (first.text_key)\n attributes.linkedWordFirstLocalizationKey = first.text_key;\n if (first.color) attributes.linkedWordFirstColor = first.color;\n if (first.page) attributes.linkedWordFirstPage = first.page;\n }\n if (second) {\n if (second.text_key)\n attributes.linkedWordSecondLocalizationKey = second.text_key;\n if (second.color) attributes.linkedWordSecondColor = second.color;\n if (second.page) attributes.linkedWordSecondPage = second.page;\n }\n\n return {\n type: 'OnboardFooter',\n attributes,\n children: undefined as unknown as Node,\n } as NodeData;\n}\n","import { Project } from '../../types/Project';\nimport simple1 from './simple-1.json';\nimport simple2 from './simple-2.json';\nimport carouselSample from './carousel-sample.json';\nimport paywall1 from './paywall-1.json';\nimport vpnOnboard1 from './vpn-onboard-1.json';\nimport vpnOnboard2 from './vpn-onboard-2.json';\nimport vpnOnboard3 from './vpn-onboard-3.json';\nimport vpnOnboard4 from './vpn-onboard-4.json';\nimport vpnOnboard5 from './vpn-onboard-5.json';\nimport vpnOnboard6 from './vpn-onboard-6.json';\nimport { defaultAppConfig } from '../../types/PreviewConfig';\n\nfunction normalizeSample(sample: any): Project {\n return {\n ...sample,\n appConfig: { ...defaultAppConfig, ...(sample as any).appConfig },\n } as Project;\n}\n\nexport function getSamples(): Project[] {\n const onboardSamples = [\n vpnOnboard1,\n vpnOnboard2,\n vpnOnboard3,\n vpnOnboard4,\n vpnOnboard5,\n vpnOnboard6,\n ].map(normalizeSample);\n\n return [\n normalizeSample(simple1),\n normalizeSample(simple2),\n normalizeSample(carouselSample),\n normalizeSample(paywall1),\n ...onboardSamples,\n ];\n}\n\nexport function getBasicSamples(): Project[] {\n return [\n normalizeSample(simple1),\n normalizeSample(simple2),\n normalizeSample(carouselSample),\n ];\n}\n\nexport function getOnboardSamples(): Project[] {\n return [\n vpnOnboard1,\n vpnOnboard2,\n vpnOnboard3,\n vpnOnboard4,\n vpnOnboard5,\n vpnOnboard6,\n ].map(normalizeSample);\n}\n\nexport function getPaywallSamples(): Project[] {\n return [normalizeSample(paywall1)];\n}\n","import React from 'react';\nimport { ParamsProvider, type LocalizationParams } from './ParamsProvider';\n\n/**\n * Backward-compatible wrapper.\n * Prefer `ParamsProvider` instead.\n */\nexport type LocalizationParamsProviderProps = {\n params: LocalizationParams;\n children: React.ReactNode;\n};\n\nexport function LocalizationParamsProvider({\n params,\n children,\n}: LocalizationParamsProviderProps) {\n return (\n <ParamsProvider localizationParams={params} otherParams={{}}>\n {children}\n </ParamsProvider>\n );\n}\n","import { Node, NodeData } from '../types/Node';\n\nfunction isNodeData(value: Node): value is NodeData<Record<string, unknown>> {\n if (value === null || value === undefined) return false;\n if (Array.isArray(value)) return false;\n if (typeof value === 'string') return false;\n if (typeof value !== 'object') return false;\n return (\n 'type' in (value as Record<string, unknown>) &&\n 'children' in (value as Record<string, unknown>)\n );\n}\n\nexport function querySelector(node: Node, selector: string): NodeData[] {\n if (node === null || node === undefined) return [];\n if (!selector) return [];\n\n const isKeySearch = selector.startsWith('#');\n const keyToMatch = isKeySearch ? selector.slice(1) : undefined;\n\n const matches = (n: NodeData): boolean => {\n if (isKeySearch) return n.key === keyToMatch;\n return n.type === selector;\n };\n\n const result: NodeData[] = [];\n\n const visit = (current: Node) => {\n if (current === null || current === undefined) return;\n if (Array.isArray(current)) {\n for (const child of current) visit(child);\n return;\n }\n if (typeof current === 'string') return;\n if (isNodeData(current)) {\n if (matches(current)) result.push(current);\n visit(current.children);\n }\n };\n\n visit(node);\n return result;\n}\n","/**\n * Placeholder hook — will be implemented later.\n */\nexport function useCalculateLocalizedPrice(): string {\n return '';\n}\n","/**\n * Placeholder hook — will be implemented later.\n *\n * NOTE: name kept as `Seperator` to match existing external API usage.\n */\nexport function useCarouselOptionsSeperator(): string {\n return '';\n}\n","/**\n * Placeholder hook — will be implemented later.\n */\nexport function useCloseStatusPaywall(): boolean {\n return false;\n}\n","/**\n * Placeholder hook — will be implemented later.\n */\nexport function useDiscountRate(): number {\n return 0;\n}\n","import { useCallback } from 'react';\nimport { useRenderStore } from '../store';\nimport { useLocalizationParams } from './useLocalizationParams';\nimport { replaceLocalizationParams } from '../utils/replaceLocalizationParams';\n\nexport type LocalizeFn = (keyOrText: string) => string;\n\nexport function useLocalize(): LocalizeFn {\n const { defaultLanguage, localication } = useRenderStore((s) => ({\n defaultLanguage: s.appConfig?.defaultLanguage,\n localication: s.appConfig?.localication,\n }));\n const params = useLocalizationParams();\n\n return useCallback(\n (keyOrText: string) => {\n const raw =\n localication?.[defaultLanguage ?? 'en']?.[keyOrText] ?? keyOrText;\n return replaceLocalizationParams(raw, params);\n },\n [defaultLanguage, localication, params],\n );\n}\n","export function replaceLocalizationParams(\n text: string,\n params?: Record<string, string> | null,\n): string {\n if (!text) return text;\n if (!params) return text;\n\n return (\n Object.entries(params).reduce((acc, [key, val]) => {\n const needle = `@${key}`;\n // Replace all occurrences without regex escaping pitfalls.\n return acc.split(needle).join(String(val));\n }, text) || text\n );\n}\n","/**\n * Placeholder hook — will be implemented later.\n */\nexport function usePaywallCounter(): number {\n return 0;\n}\n"],"names":["defaultAppConfig","theme","isRtl","screenStyle","light","backgroundColor","color","dark","localication","baseSize","width","height","BuilderContext","createContext","undefined","ParamsContext","localizationParams","otherParams","ParamsProvider","children","value","useMemo","_jsx","Provider","useParams","useContext","useLocalizationParams","process","env","NODE_ENV","shimModule","exports","React","require$$0","objectIs","Object","is","x","y","useState","useEffect","useLayoutEffect","useDebugValue","checkIfSnapshotChanged","inst","latestGetSnapshot","getSnapshot","nextValue","error","shim","window","document","createElement","subscribe","_useState","forceUpdate","useSyncExternalStoreShim_production","useSyncExternalStore","__REACT_DEVTOOLS_GLOBAL_HOOK__","registerInternalModuleStart","Error","didWarnOld18Alpha","didWarnUncachedGetSnapshot","startTransition","console","cachedValue","useSyncExternalStoreShim_development","registerInternalModuleStop","withSelectorModule","require$$1","useRef","withSelector_production","useSyncExternalStoreWithSelector","getServerSnapshot","selector","isEqual","instRef","current","hasValue","memoizedSelector","nextSnapshot","hasMemo","memoizedSnapshot","currentSelection","memoizedSelection","nextSelection","maybeGetServerSnapshot","withSelector_development","createStoreImpl","createState","state","listeners","Set","setState","partial","replace","nextState","previousState","assign","forEach","listener","getState","api","getInitialState","initialState","add","delete","useSyncExternalStoreExports","identity","arg","isIterable","obj","Symbol","iterator","hasIterableEntries","compareEntries","valueA","valueB","mapA","Map","entries","mapB","size","key","has","get","getDevices","deviceList","devices","slice","sort","a","b","importance","getDefaultDevice","createJSONStorage","getStorage","options","storage","e","persistStorage","getItem","name","_a","parse","str2","JSON","str","Promise","then","setItem","newValue","stringify","removeItem","toThenable","fn","input","result","onFulfilled","_onRejected","this","_onFulfilled","catch","onRejected","useRenderStore","defaultEqualityFn","createStore","useBoundStoreWithEqualityFn","equalityFn","useStoreWithEqualityFn","createWithEqualityFn","config","baseOptions","set","localStorage","partialize","version","merge","persistedState","currentState","hasHydrated","hydrationListeners","finishHydrationListeners","args","warn","savedSetState","configResult","stateFromStorage","hydrate","_b","cb","_a2","postRehydrationCallback","onRehydrateStorage","call","bind","deserializedStorageValue","migrate","migration","migrationResult","migrated","migratedState","persist","setOptions","newOptions","clearStorage","getOptions","rehydrate","onHydrate","onFinishHydration","skipHydration","projectName","setProjectName","copiedNode","setCopiedNode","node","setCurrent","forceRender","incForceRender","device","setDevice","appConfig","setAppConfig","projectColors","setProjectColors","previewMode","setPreviewMode","products","addProduct","Array","isArray","productId","title","description","localizedPrice","price","currency","removeProduct","index","filter","_","idx","updateProduct","patch","prev","length","map","p","setProducts","clearProducts","benefits","setBenefits","clearBenefits","upsertBenefit","normalizedKey","trim","next","removeBenefit","renameBenefit","fromKey","toKey","from","to","logs","logLevel","setLogLevel","level","addLog","entry","now","Date","newEntry","id","Math","random","toString","timestamp","source","message","payload","clearLogs","getPrototypeOf","iteratorA","iteratorB","nextA","nextB","done","compareIterables","generateRandomKeyForNode","type","substring","patterns","schemaVersion","allowUnknownAttributes","pattern","attributes","fontSize","fontWeight","textAlign","scrollable","flexDirection","alignItems","justifyContent","gap","padding","paddingHorizontal","paddingVertical","paddingTop","paddingBottom","paddingLeft","paddingRight","margin","marginVertical","marginTop","marginBottom","marginLeft","marginRight","borderRadius","minWidth","maxWidth","minHeight","maxHeight","flex","position","top","bottom","left","right","zIndex","iconType","strokeWidth","defaults","meta","desiredParent","label","category","specialCategory","preferedScale","marginHorizontal","specialCategories","offset","types","src","resizeMode","buttonType","skipNumber","dotType","useSafeAreaView","forceVisible","hideAllAttributes","desiredChildren","labelKey","button_text_color","animation","animation_color","button_background_color","events","EventObject","permission","navigate_to","targetIndex","buttons_direction","forIndex","seperatorColor","condition","conditionVariable","inactive_dot_opacity","expanding_dot_width","active_dot_color","textLocalizationKey","linkedWordFirstLocalizationKey","linkedWordFirstColor","linkedWordFirstPage","linkedWordSecondLocalizationKey","linkedWordSecondColor","linkedWordSecondPage","video_url","lottie","display","mockableFeatures","selected","patternIndex","pascalToCamelCase","s","toLowerCase","pascalToKebabCase","typeAliases","canonical","aliases","normalizeComponentType","getPatternByType","normalized","getAttributeSchema","getTypeSchema","componentType","typeName","isPrimitiveType","getArrayItemType","endsWith","isNodeNullOrUndefined","isNodeString","isNodeArray","isEmptyObject","keys","fail","path","valid","joinPath","base","startsWith","isPlainObject","isNodeDataLike","normalizeTypeOrFallback","validateChildrenByPattern","nodeData","tokens","raw","getChildrenSpecTokens","baseKinds","allowedComponentTypes","t","splitChildrenSpec","neverRes","validateChildrenNeverRule","kindRes","join","validateChildrenKindRule","allowed","validateChildType","child","childPath","actual","arr","i","res","validateChildrenAllowedComponentTypesRule","validateAttributeValue","spec","includes","v","validateEnumValue","arrayItemType","primitiveType","validatePrimitiveValue","schema","fieldName","fieldSpec","validateCustomObjectValue","validateNodeDataByPatterns","attrRes","attrs","attrName","attrValue","attrSpec","validateAttributesByPattern","childrenRes","validateAnyNodeByPatterns","selfRes","analyseNodeByPatterns","analyseNodeStructural","nodeArray","recordData","assignMissingKeys","usedKeys","analyseNode","structural","patternRes","extractTextStyleAttributesFromComponent","comp","stylesRoot","styles","allowedAligns","allowedWeights","layout","nested","st","style","rawFontSize","Number","isFinite","n","parseInt","align","rawMarginTop","rawWeight","normalizedWeight","String","extractViewStyleAttributesFromComponent","rawBr","normalizeSample","sample","params","simple1","simple2","carouselSample","vpnOnboard1","vpnOnboard2","vpnOnboard3","vpnOnboard4","vpnOnboard5","vpnOnboard6","onboardSamples","paywall1","nova","data","generalComponents","general_components","pages","dotsNode","dots","find","gc","dotArray","dot","firstDot","dotAttrs","parseNumber","inactiveDotOpacity","expandingDotWidth","dot_style","container_style","mapDotsFromGeneralComponents","footerNode","footer","texts","linkedWords","baseTextKey","baseTextColor","textKey","text_localization_key","text_color","lws","linkedwords","w","text_key","linked_word_localization_key","lwColor","linked_word_color","page","push","textColor","first","second","mapFooterFromGeneralComponents","carouselNode","providerLevelButtons","simplePages","pageKeyToIndex","items","components","currentKey","pageIndex","title_localization_key","title_color","titleFontSize","titleTextAlign","titleMarginTop","titleFontWeight","subtitle","subtitle_localization_key","subtitle_color","subtitleFontSize","subtitleTextAlign","subtitleMarginTop","subtitleFontWeight","image","rawHeight","ios_height","android_height","isBgImage","Boolean","is_bg_image","imageStyle","videoUrl","direction","buttons","buttonNodes","btn","button_text_localization_key","buttonTextColor","buttonBackgroundColor","animationColor","actions","normalizedEvents","action","nextKey","next_page_key","hasTarget","pageKeyAttr","resolvedKey","buildCarouselItem","buildCarouselFromPages","providerNode","mainNode","isMain","onboardNovaToJson","isKeySearch","keyToMatch","visit","defaultLanguage","useCallback","keyOrText","text","reduce","acc","val","needle","split","replaceLocalizationParams"],"mappings":"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","x_google_ignoreList":[5,6,7,8,9,10,11,12,13,15]}