@number10/jsx-konva 5.0.0
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.
- package/LICENSE +667 -0
- package/README.md +48 -0
- package/dist/appliers/konva-background.d.ts +14 -0
- package/dist/appliers/konva-background.d.ts.map +1 -0
- package/dist/appliers/konva-base.d.ts +10 -0
- package/dist/appliers/konva-base.d.ts.map +1 -0
- package/dist/appliers/konva-border-draw-context.d.ts +40 -0
- package/dist/appliers/konva-border-draw-context.d.ts.map +1 -0
- package/dist/appliers/konva-gesture.d.ts +21 -0
- package/dist/appliers/konva-gesture.d.ts.map +1 -0
- package/dist/appliers/konva-nineslice.d.ts +36 -0
- package/dist/appliers/konva-nineslice.d.ts.map +1 -0
- package/dist/appliers/konva-node.d.ts +66 -0
- package/dist/appliers/konva-node.d.ts.map +1 -0
- package/dist/appliers/konva-tooltip.d.ts +6 -0
- package/dist/appliers/konva-tooltip.d.ts.map +1 -0
- package/dist/appliers/konva-vector-draw.d.ts +11 -0
- package/dist/appliers/konva-vector-draw.d.ts.map +1 -0
- package/dist/index.cjs +8851 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +8752 -0
- package/dist/index.js.map +1 -0
- package/dist/jsx-dev-runtime.cjs +9 -0
- package/dist/jsx-dev-runtime.d.ts +7 -0
- package/dist/jsx-dev-runtime.d.ts.map +1 -0
- package/dist/jsx-dev-runtime.js +2 -0
- package/dist/jsx-runtime.cjs +21 -0
- package/dist/jsx-runtime.d.ts +7 -0
- package/dist/jsx-runtime.d.ts.map +1 -0
- package/dist/jsx-runtime.js +2 -0
- package/dist/jsx-types.d.ts +12 -0
- package/dist/jsx-types.d.ts.map +1 -0
- package/dist/konva-debug-snapshot.d.ts +22 -0
- package/dist/konva-debug-snapshot.d.ts.map +1 -0
- package/dist/konva-effects-bridge.d.ts +2 -0
- package/dist/konva-effects-bridge.d.ts.map +1 -0
- package/dist/konva-gesture-manager.d.ts +65 -0
- package/dist/konva-gesture-manager.d.ts.map +1 -0
- package/dist/konva-host-adapter.d.ts +52 -0
- package/dist/konva-host-adapter.d.ts.map +1 -0
- package/dist/konva-layout-bridge.d.ts +8 -0
- package/dist/konva-layout-bridge.d.ts.map +1 -0
- package/dist/konva-scene-backgrounds.d.ts +57 -0
- package/dist/konva-scene-backgrounds.d.ts.map +1 -0
- package/dist/konva-scheduler.d.ts +18 -0
- package/dist/konva-scheduler.d.ts.map +1 -0
- package/dist/konva-surface-adapter.d.ts +29 -0
- package/dist/konva-surface-adapter.d.ts.map +1 -0
- package/dist/konva-vdom-runtime.d.ts +2 -0
- package/dist/konva-vdom-runtime.d.ts.map +1 -0
- package/dist/mount-konva.d.ts +21 -0
- package/dist/mount-konva.d.ts.map +1 -0
- package/dist/utils/konva-colors.d.ts +27 -0
- package/dist/utils/konva-colors.d.ts.map +1 -0
- package/dist/vector/KonvaVectorDrawContext.d.ts +51 -0
- package/dist/vector/KonvaVectorDrawContext.d.ts.map +1 -0
- package/dist/vector/index.d.ts +2 -0
- package/dist/vector/index.d.ts.map +1 -0
- package/package.json +97 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","n","t","l","i","u","e","o","s","d","r","f","p","n","t","e","n","t","e","n","t","e","n","t","e","n","t","e","f","a","i","n","d","l","u","s","o","t","e","m","o","n","c","h","g","_","f","s","l","a","r","d","u","e","t","r","n","i","e","t","r","n","t","e","o","a","g","_","v","y","o","b","p","s","i","r","m","f","d","c","n","u","l","a","t","e","o","u","d","y","b","x","S","C","w","T","m","c","l","s","a","f","p","r","h","d","i","o","u","g","t","n","e","f","p","m","h","g","ee","_","l","i","a","r","n","c","s","o","t","e","p","m","n","t","h","g","u","a","o","i","r","l","c","s","e","s","c","l","u","d","r","n","t","e","p","m","d","f","p","r","t","e","c","i","a","n","s","l","o","i","a","r","n","e","t","l","s","i","a","r","n","o","e","t","e","f","i","p","l","a","n","o","s","c","r","t","e","o","i","a","n","e","r","t","e","i","r","a","n","t","f","v","O","l","o","s","a","i","c","n","r","t","e","f","r","p","a","m","h","o","n","g","e","_","l","s","v","y","c","t","b","l","x","o","s","i","e","t","y","b","x","S","C","v","d","o","s","a","i","u","l","c","r","n","e","f","h","g","s","c","_","v","y","b","i","x","S","f","o","l","a","r","d","n","t","e","l","d","f","o","i","a","r","n","e","t","f","_","v","l","s","c","o","a","t","e","r","i","n","f","c","i","a","r","n","s","t","e","f","p","m","h","g","_","v","y","c","i","a","r","n","s","t","l","e","h","_","v","b","x","C","d","s","c","o","a","u","r","f","e","t","i","n","m","s","c","h","re","o","te","a","i","d","u","ne","l","ee","r","n","t","e","n","e","n"],"sources":["../../components/dist/theme-defaults.js","../../components/dist/primitives/Sprite.js","../../components/dist/primitives/Text.js","../../components/dist/primitives/VectorDrawContent.js","../../components/dist/primitives/View.js","../../components/dist/primitives/Image.js","../../components/dist/Accordion.js","../../components/dist/Button.js","../../components/dist/Portal.js","../../components/dist/useOverlayPresence.js","../../components/dist/Modal.js","../../components/dist/Dialog.js","../../components/dist/WrapText.js","../../components/dist/AlertDialog.js","../../components/dist/DebugPanel.js","../../components/dist/Popover.js","../../components/dist/TextInput.js","../../components/dist/ActivityIndicator.js","../../components/dist/Badge.js","../../components/dist/Checkbox.js","../../components/dist/RadioButton.js","../../components/dist/RadioGroup.js","../../components/dist/Divider.js","../../components/dist/ScrollSlider.js","../../components/dist/Image.js","../../components/dist/Joystick.js","../../components/dist/MenuButton.js","../../components/dist/NineSlice.js","../../components/dist/NineSliceButton.js","../../components/dist/NumberInput.js","../../components/dist/PalettePicker.js","../../components/dist/ProgressBar.js","../../components/dist/ProgressView.js","../../components/dist/RatingBar.js","../../components/dist/SegmentedControl.js","../../components/dist/Toolbar.js","../../components/dist/Toggle.js","../../components/dist/TransformOriginView.js","../../components/dist/index.js","../src/konva-layout-bridge.ts","../src/appliers/konva-node.ts","../src/konva-effects-bridge.ts","../src/utils/konva-colors.ts","../src/appliers/konva-border-draw-context.ts","../src/appliers/konva-background.ts","../src/konva-gesture-manager.ts","../src/appliers/konva-gesture.ts","../src/appliers/konva-tooltip.ts","../src/appliers/konva-base.ts","../src/appliers/konva-nineslice.ts","../src/vector/KonvaVectorDrawContext.ts","../src/appliers/konva-vector-draw.ts","../src/konva-scheduler.ts","../src/konva-host-adapter.ts","../src/konva-surface-adapter.ts","../src/konva-vdom-runtime.ts","../src/konva-debug-snapshot.ts","../src/konva-scene-backgrounds.ts","../src/mount-konva.ts"],"sourcesContent":["import { createTextStyleTokens as e, ensureContrast as t, getContrastRatio as n, getPresetWithMode as r, numberToHex as i, registerComponentThemeDefaults as a, resolveContrastTextColor as o, resolveContrastTintColor as s } from \"@number10/jsx-core\";\n//#region src/theme-defaults.ts\nfunction c(e, r, i = 4.5) {\n\tfor (let t of r) if (n(t, e) >= i) return t;\n\treturn [\n\t\t...r.map((n) => t(n, e, i)),\n\t\tt(0, e, i),\n\t\tt(16777215, e, i)\n\t].reduce((t, r) => n(r, e) > n(t, e) ? r : t);\n}\nfunction l(e, t, n = 4.5) {\n\treturn i(c(e, t, n));\n}\nfunction u(t) {\n\tlet n = t, r = e(n.text.DEFAULT.toString()), i = [\n\t\tn.text.lightest.toNumber(),\n\t\t16777215,\n\t\tn.text.light.toNumber(),\n\t\tn.text.dark.toNumber(),\n\t\tn.text.darkest.toNumber(),\n\t\t0\n\t], a = [\n\t\tn.text.dark.toNumber(),\n\t\tn.text.darkest.toNumber(),\n\t\t0,\n\t\tn.text.DEFAULT.toNumber(),\n\t\tn.text.light.toNumber(),\n\t\t16777215\n\t], u = {\n\t\talpha: 1,\n\t\tvisible: !0\n\t}, d = {\n\t\ttext: \"\",\n\t\talpha: 1,\n\t\tvisible: !0,\n\t\tstyle: r.DEFAULT\n\t}, f = {\n\t\tsize: 24,\n\t\ttint: n.border.dark.toNumber()\n\t}, p = {\n\t\talpha: 1,\n\t\tvisible: !0\n\t}, m = {\n\t\talpha: 1,\n\t\tvisible: !0\n\t}, h = {\n\t\tvariant: \"spinner\",\n\t\tsize: \"medium\",\n\t\tcolor: n.primary.DEFAULT.toNumber(),\n\t\ttrackColor: n.primary.DEFAULT.toNumber(),\n\t\tanimationSpeed: 2.4,\n\t\tgap: 8,\n\t\tdotCount: 3,\n\t\tdotSize: 7,\n\t\tpulseScale: 1,\n\t\tlabelStyle: {\n\t\t\t...r.small,\n\t\t\tcolor: n.text.light.toString()\n\t\t},\n\t\tlabels: { loading: \"\" }\n\t}, g = {\n\t\tbackgroundColor: n.surface.dark.toNumber(),\n\t\tborderColor: n.border.medium.toNumber(),\n\t\tborderWidth: 1,\n\t\tcornerRadius: 8,\n\t\tpadding: 14,\n\t\tgap: 18,\n\t\tpreviewSize: 116,\n\t\tpreviewGap: 10,\n\t\tpreviewBorderWidth: 2,\n\t\tpreviewCornerRadius: 8,\n\t\ttrackLength: 280,\n\t\ttrackHeight: 14,\n\t\tgradientSteps: 32,\n\t\tcontrolGap: 12,\n\t\tcontrolBackgroundColor: n.surface.medium.toNumber(),\n\t\tcontrolBackgroundAlpha: .65,\n\t\tcloseButtonSize: 24,\n\t\tcloseButtonCornerRadius: 5,\n\t\tthumbSize: 18,\n\t\tthumbBorderColor: 16777215,\n\t\tswatchSize: 18,\n\t\tswatchGap: 6,\n\t\tswatchCornerRadius: 4,\n\t\tlabelStyle: {\n\t\t\tcolor: n.text.DEFAULT.toString(),\n\t\t\tfontSize: \"12px\"\n\t\t},\n\t\tvalueStyle: {\n\t\t\tcolor: n.text.DEFAULT.toString(),\n\t\t\tfontSize: \"12px\"\n\t\t},\n\t\ttitleStyle: {\n\t\t\tcolor: n.text.DEFAULT.toString(),\n\t\t\tfontSize: \"16px\",\n\t\t\tfontStyle: \"bold\"\n\t\t},\n\t\thexStyle: {\n\t\t\tcolor: n.text.DEFAULT.toString(),\n\t\t\tfontStyle: \"bold\"\n\t\t},\n\t\tlabels: {\n\t\t\ttitle: \"Color Picker\",\n\t\t\ttone: \"Tone\",\n\t\t\tvivid: \"Vivid\",\n\t\t\tmuted: \"Muted\",\n\t\t\thue: \"Hue\",\n\t\t\tsaturation: \"Saturation\",\n\t\t\tlightness: \"Lightness\",\n\t\t\tclose: \"X\"\n\t\t}\n\t}, _ = {\n\t\tcheckedColor: n.primary.DEFAULT.toNumber(),\n\t\tindeterminateColor: n.primary.medium.toNumber(),\n\t\tcolor: n.border.medium.toNumber(),\n\t\tgap: 10,\n\t\tsize: 20,\n\t\tdisabledAlpha: .5,\n\t\tlabelPosition: \"right\",\n\t\tlabelStyle: {\n\t\t\tcolor: n.text.DEFAULT.toString(),\n\t\t\tfontSize: \"14px\"\n\t\t}\n\t}, v = {\n\t\tanimated: !1,\n\t\tmaxHeight: 200,\n\t\tanimationConfig: \"gentle\",\n\t\tdirection: \"column\",\n\t\teffect: \"none\",\n\t\teffectConfig: {\n\t\t\tmagnitude: .02,\n\t\t\ttime: 150\n\t\t},\n\t\theaderStyle: {\n\t\t\tbackgroundColor: n.surface.dark.toNumber(),\n\t\t\tpadding: 10,\n\t\t\tgap: 10,\n\t\t\tcornerRadius: 5,\n\t\t\twidth: \"fill\"\n\t\t},\n\t\tcontentStyle: {\n\t\t\tbackgroundColor: n.surface.light.toNumber(),\n\t\t\tpadding: 10,\n\t\t\tcornerRadius: 5,\n\t\t\twidth: \"fill\"\n\t\t},\n\t\tIcon: { size: 24 },\n\t\ttextStyle: {\n\t\t\tcolor: n.text.DEFAULT.toString(),\n\t\t\tfontSize: \"18px\"\n\t\t}\n\t}, y = {\n\t\ttone: \"neutral\",\n\t\tvariant: \"solid\",\n\t\tsize: \"medium\",\n\t\tmaxCount: 99,\n\t\tdisabledAlpha: .5,\n\t\ttextStyle: { fontFamily: \"Arial\" }\n\t}, b = {\n\t\ttone: \"neutral\",\n\t\tvariant: \"soft\",\n\t\tsize: \"medium\",\n\t\tdisabledAlpha: .5,\n\t\ttextStyle: { fontFamily: \"Arial\" },\n\t\tcloseSize: 16\n\t}, x = n.primary.dark.toNumber(), S = o(n, \"text/on-brand\", x), C = s(n, \"icon/on-brand\", x, 3), w = n.surface.lightest.toNumber(), T = l(w, a), E = c(w, a, 3), D = n.error.dark.toNumber(), O = o(n, \"text/on-danger\", D), k = s(n, \"icon/on-danger\", D, 3), A = {\n\t\tvariant: \"primary\",\n\t\tsize: \"medium\",\n\t\tbackgroundColor: x,\n\t\tbackgroundAlpha: 1,\n\t\tborderColor: n.primary.darkest.toNumber(),\n\t\tborderWidth: 1,\n\t\tcornerRadius: 8,\n\t\tgap: 8,\n\t\tpadding: {\n\t\t\ttop: 8,\n\t\t\tbottom: 8,\n\t\t\tleft: 16,\n\t\t\tright: 16\n\t\t},\n\t\tjustifyContent: \"center\",\n\t\talignItems: \"center\",\n\t\teffect: \"press\",\n\t\teffectConfig: {\n\t\t\tintensity: .94,\n\t\t\ttime: 140\n\t\t},\n\t\ticonSize: 18,\n\t\theight: 40,\n\t\tdisabledColor: n.surface.medium.toNumber(),\n\t\tdisabledTextColor: n.text.light.toString(),\n\t\tdisabledIconTint: n.text.light.toNumber(),\n\t\tdisabledAlpha: .48,\n\t\ttextStyle: {\n\t\t\tcolor: S,\n\t\t\tfontFamily: \"Arial\",\n\t\t\tfontSize: \"16px\",\n\t\t\tfontStyle: \"bold\"\n\t\t},\n\t\tText: { style: {\n\t\t\tcolor: S,\n\t\t\tfontFamily: \"Arial\",\n\t\t\tfontSize: \"16px\",\n\t\t\tfontStyle: \"bold\"\n\t\t} },\n\t\tIcon: {\n\t\t\tsize: 18,\n\t\t\ttint: C\n\t\t},\n\t\tprimary: {\n\t\t\tbackgroundColor: x,\n\t\t\tborderColor: n.primary.darkest.toNumber(),\n\t\t\ttextStyle: {\n\t\t\t\tcolor: S,\n\t\t\t\tfontStyle: \"bold\"\n\t\t\t},\n\t\t\tIcon: { tint: C }\n\t\t},\n\t\tsecondary: {\n\t\t\tbackgroundColor: w,\n\t\t\tbackgroundAlpha: .92,\n\t\t\tborderColor: n.border.light.toNumber(),\n\t\t\tborderWidth: 1,\n\t\t\ttextStyle: {\n\t\t\t\tcolor: T,\n\t\t\t\tfontStyle: \"bold\"\n\t\t\t},\n\t\t\tIcon: { tint: E }\n\t\t},\n\t\toutline: {\n\t\t\tbackgroundColor: n.primary.dark.toNumber(),\n\t\t\tbackgroundAlpha: .08,\n\t\t\tborderColor: n.primary.light.toNumber(),\n\t\t\tborderWidth: 2,\n\t\t\ttextStyle: {\n\t\t\t\tcolor: n.primary.light.toString(),\n\t\t\t\tfontStyle: \"bold\"\n\t\t\t},\n\t\t\tIcon: { tint: n.primary.light.toNumber() }\n\t\t},\n\t\tghost: {\n\t\t\tbackgroundColor: n.surface.light.toNumber(),\n\t\t\tbackgroundAlpha: .18,\n\t\t\tborderColor: n.border.medium.toNumber(),\n\t\t\tborderAlpha: .35,\n\t\t\tborderWidth: 1,\n\t\t\ttextStyle: {\n\t\t\t\tcolor: n.text.light.toString(),\n\t\t\t\tfontStyle: \"bold\"\n\t\t\t},\n\t\t\tIcon: { tint: n.text.light.toNumber() }\n\t\t},\n\t\tdanger: {\n\t\t\tbackgroundColor: D,\n\t\t\tborderColor: n.error.darkest.toNumber(),\n\t\t\ttextStyle: {\n\t\t\t\tcolor: O,\n\t\t\t\tfontStyle: \"bold\"\n\t\t\t},\n\t\t\tIcon: { tint: k }\n\t\t},\n\t\tsmall: {\n\t\t\theight: 32,\n\t\t\tpadding: {\n\t\t\t\ttop: 6,\n\t\t\t\tbottom: 6,\n\t\t\t\tleft: 12,\n\t\t\t\tright: 12\n\t\t\t},\n\t\t\tcornerRadius: 6,\n\t\t\tgap: 6,\n\t\t\ticonSize: 15,\n\t\t\ttextStyle: { fontSize: \"12px\" },\n\t\t\tIcon: { size: 15 }\n\t\t},\n\t\tmedium: {\n\t\t\theight: 40,\n\t\t\tpadding: {\n\t\t\t\ttop: 8,\n\t\t\t\tbottom: 8,\n\t\t\t\tleft: 16,\n\t\t\t\tright: 16\n\t\t\t},\n\t\t\tcornerRadius: 8,\n\t\t\tgap: 8,\n\t\t\ticonSize: 18,\n\t\t\tIcon: { size: 18 }\n\t\t},\n\t\tlarge: {\n\t\t\theight: 48,\n\t\t\tpadding: {\n\t\t\t\ttop: 10,\n\t\t\t\tbottom: 10,\n\t\t\t\tleft: 20,\n\t\t\t\tright: 20\n\t\t\t},\n\t\t\tcornerRadius: 10,\n\t\t\tgap: 10,\n\t\t\ticonSize: 22,\n\t\t\ttextStyle: { fontSize: \"18px\" },\n\t\t\tIcon: { size: 22 }\n\t\t}\n\t}, j = {\n\t\tbackgroundColor: n.surface.dark.toNumber(),\n\t\tbackgroundAlpha: .95,\n\t\tborderColor: n.border.medium.toNumber(),\n\t\tborderWidth: 1,\n\t\tcornerRadius: 8,\n\t\tpadding: 2,\n\t\titemHeight: 36,\n\t\titemGap: 1,\n\t\titemPadding: {\n\t\t\tleft: 12,\n\t\t\tright: 12,\n\t\t\ttop: 6,\n\t\t\tbottom: 6\n\t\t},\n\t\titemCornerRadius: 5,\n\t\titemStyle: {\n\t\t\tbackgroundColor: n.surface.dark.toNumber(),\n\t\t\tbackgroundAlpha: 0,\n\t\t\tborderWidth: 0\n\t\t},\n\t\titemHoverStyle: {\n\t\t\tbackgroundColor: n.surface.medium.toNumber(),\n\t\t\tbackgroundAlpha: .55\n\t\t},\n\t\titemSelectedStyle: {\n\t\t\tbackgroundColor: n.primary.dark.toNumber(),\n\t\t\tbackgroundAlpha: 1,\n\t\t\tborderColor: n.primary.dark.toNumber(),\n\t\t\tborderWidth: 1\n\t\t},\n\t\titemDisabledStyle: { alpha: .45 },\n\t\tdisabledAlpha: .5,\n\t\ttextStyle: {\n\t\t\t...r.small,\n\t\t\tcolor: l(n.surface.dark.toNumber(), a)\n\t\t},\n\t\tselectedTextStyle: {\n\t\t\tcolor: l(n.primary.dark.toNumber(), i),\n\t\t\tfontStyle: \"bold\"\n\t\t},\n\t\tdisabledTextStyle: { color: n.text.light.toString() },\n\t\temptyStyle: {\n\t\t\tcolor: l(n.surface.dark.toNumber(), a),\n\t\t\tfontSize: \"14px\"\n\t\t},\n\t\tlabels: { empty: \"No items\" }\n\t}, M = {\n\t\tbuttonVariant: \"secondary\",\n\t\tbuttonSize: \"medium\",\n\t\tplacement: \"bottom-start\",\n\t\twidth: 220,\n\t\tgap: 6,\n\t\ticonGap: 8\n\t}, N = {\n\t\tbackdropColor: 0,\n\t\tbackdropOpacity: .5,\n\t\topenDuration: 320,\n\t\tcloseDuration: 260\n\t}, P = {\n\t\tgap: 10,\n\t\tpadding: 0,\n\t\tvalueWidth: 78,\n\t\tcontrolHeight: 34,\n\t\tcontrolGap: 0,\n\t\tbuttonControlSize: 34,\n\t\tbuttonGap: 0,\n\t\tbuttonPlacement: \"split\",\n\t\tbuttonDirection: \"row\",\n\t\tbuttonVariant: \"secondary\",\n\t\tbuttonSize: \"small\",\n\t\tbuttonTextStyle: {\n\t\t\t...r.DEFAULT,\n\t\t\tfontStyle: \"bold\"\n\t\t},\n\t\tbuttonIndicatorColor: n.text.DEFAULT.toNumber(),\n\t\tbuttonIndicatorActiveColor: n.surface.DEFAULT.toNumber(),\n\t\tlabelPosition: \"left\",\n\t\tvalueBackgroundColor: n.surface.light.toNumber(),\n\t\tvalueBackgroundAlpha: 1,\n\t\tvalueBorderColor: n.border.medium.toNumber(),\n\t\tvalueBorderWidth: 1,\n\t\tvalueCornerRadius: 0,\n\t\tvaluePadding: {\n\t\t\tleft: 6,\n\t\t\tright: 6,\n\t\t\ttop: 4,\n\t\t\tbottom: 4\n\t\t},\n\t\tdisabledAlpha: .5,\n\t\trepeatOnHold: !0,\n\t\tholdDelay: 350,\n\t\trepeatInterval: 90,\n\t\tlabelStyle: {\n\t\t\t...r.medium,\n\t\t\tcolor: n.text.DEFAULT.toString()\n\t\t},\n\t\tvalueStyle: {\n\t\t\t...r.medium,\n\t\t\tcolor: n.text.DEFAULT.toString(),\n\t\t\tfontStyle: \"bold\"\n\t\t},\n\t\tlabels: {\n\t\t\tdecrement: \"-\",\n\t\t\tincrement: \"+\",\n\t\t\tvalue: \"Value\"\n\t\t},\n\t\tButton: {\n\t\t\tminWidth: 34,\n\t\t\twidth: 34,\n\t\t\theight: 34,\n\t\t\tpadding: 0,\n\t\t\tcornerRadius: 0,\n\t\t\tbackgroundColor: n.primary.dark.toNumber(),\n\t\t\tborderColor: n.primary.dark.toNumber(),\n\t\t\tborderWidth: 1,\n\t\t\ttextStyle: {\n\t\t\t\t...r.DEFAULT,\n\t\t\t\tfontStyle: \"bold\",\n\t\t\t\tcolor: o(n, \"text/on-brand\", n.primary.dark.toNumber())\n\t\t\t}\n\t\t}\n\t}, F = {\n\t\tcolumns: 6,\n\t\tswatchSize: 28,\n\t\tswatchGap: 8,\n\t\trowGap: 8,\n\t\titemWidth: 28,\n\t\tswatchCornerRadius: 5,\n\t\tswatchBorderColor: n.border.medium.toNumber(),\n\t\tswatchBorderWidth: 1,\n\t\tswatchSelectedBorderColor: n.surface.lightest.toNumber(),\n\t\tswatchSelectedBorderWidth: 3,\n\t\tswatchDisabledAlpha: .45,\n\t\tselectedCheckColor: n.surface.lightest.toNumber(),\n\t\tdisabledAlpha: .5,\n\t\tshowTitle: !0,\n\t\tshowHex: !1,\n\t\tpadding: 0,\n\t\tgap: 10,\n\t\ttitleStyle: {\n\t\t\t...r.medium,\n\t\t\tcolor: n.text.DEFAULT.toString(),\n\t\t\tfontStyle: \"bold\"\n\t\t},\n\t\temptyStyle: {\n\t\t\t...r.small,\n\t\t\tcolor: n.text.light.toString()\n\t\t},\n\t\thexStyle: {\n\t\t\t...r.small,\n\t\t\tcolor: n.text.light.toString()\n\t\t},\n\t\tlabels: {\n\t\t\ttitle: \"Palette\",\n\t\t\tempty: \"No colors\"\n\t\t}\n\t}, I = {\n\t\twidth: 240,\n\t\theight: 22,\n\t\torientation: \"horizontal\",\n\t\tlabelPosition: \"right\",\n\t\ttrackColor: n.surface.dark.toNumber(),\n\t\tfillColor: n.success.DEFAULT.toNumber(),\n\t\tborderColor: n.border.medium.toNumber(),\n\t\tborderWidth: 1,\n\t\tcornerRadius: 11,\n\t\tgap: 8,\n\t\tdisabledAlpha: .5,\n\t\tlabelStyle: {\n\t\t\tcolor: n.text.DEFAULT.toString(),\n\t\t\tfontSize: \"13px\"\n\t\t}\n\t}, L = {\n\t\twidth: \"fill\",\n\t\tbarHeight: 24,\n\t\tgap: 8,\n\t\tlabelStyle: {\n\t\t\tcolor: \"#e0e7ff\",\n\t\t\tfontSize: \"14px\"\n\t\t},\n\t\tpercentageStyle: {\n\t\t\tcolor: \"#9fb3c8\",\n\t\t\tfontSize: \"13px\"\n\t\t},\n\t\tcancelButtonSize: \"small\",\n\t\tlabels: {\n\t\t\tcancel: \"Cancel\",\n\t\t\tloading: \"Loading...\"\n\t\t}\n\t}, R = {\n\t\ttrackColor: n.surface.dark.toNumber(),\n\t\ttrackFilledColor: n.primary.dark.toNumber(),\n\t\ttrackHeight: 6,\n\t\ttrackBorderRadius: 3,\n\t\ttrackLength: 200,\n\t\ttrackHoverColor: n.surface.dark.toNumber(),\n\t\tthumbColor: n.primary.light.toNumber(),\n\t\tthumbSize: 20,\n\t\tthumbBorderColor: n.border.light.toNumber(),\n\t\tthumbBorderWidth: 2,\n\t\tthumbHoverColor: n.primary.light.toNumber(),\n\t\tthumbActiveColor: n.primary.dark.toNumber(),\n\t\tthumbDragScale: 1.1,\n\t\tmarkColor: n.border.medium.toNumber(),\n\t\tmarkHeight: 8,\n\t\tmarkWidth: 2,\n\t\tlabelStyle: r.small,\n\t\tlabelOffset: 10,\n\t\tvalueLabel: {\n\t\t\tbackgroundColor: n.background.dark.toNumber(),\n\t\t\ttextStyle: {\n\t\t\t\t...r.small,\n\t\t\t\tcolor: n.text.light.toString()\n\t\t\t},\n\t\t\tpadding: {\n\t\t\t\tleft: 6,\n\t\t\t\tright: 6,\n\t\t\t\ttop: 4,\n\t\t\t\tbottom: 4\n\t\t\t},\n\t\t\tcornerRadius: 4,\n\t\t\toffset: 8\n\t\t},\n\t\tminDistance: 0,\n\t\tdisabledAlpha: .4\n\t}, z = {\n\t\tselectedColor: n.primary.DEFAULT.toNumber(),\n\t\tcolor: n.border.dark.toNumber(),\n\t\tborderWidth: 2,\n\t\tgap: 8,\n\t\tsize: 18,\n\t\tinnerSize: 8,\n\t\tdisabledAlpha: .5,\n\t\tlabelPosition: \"right\",\n\t\tlabelStyle: {\n\t\t\tcolor: n.text.DEFAULT.toString(),\n\t\t\tfontSize: \"14px\"\n\t\t}\n\t}, ee = {\n\t\tdirection: \"column\",\n\t\tgap: 8\n\t}, B = {\n\t\tsize: \"medium\",\n\t\tgap: 4,\n\t\ticonSize: 24,\n\t\tfilledColor: \"#fbbf24\",\n\t\temptyColor: \"#475569\",\n\t\tdisabledAlpha: .5,\n\t\tlabelStyle: {\n\t\t\tcolor: n.text.DEFAULT.toString(),\n\t\t\tfontSize: \"13px\"\n\t\t},\n\t\tlabels: { rating: \"\" }\n\t}, V = {\n\t\tvariant: \"solid\",\n\t\tsize: \"md\",\n\t\tbackgroundColor: n.surface.light.toNumber(),\n\t\tbackgroundAlpha: 1,\n\t\tpadding: 16,\n\t\tgap: 8,\n\t\tdividerColor: n.border.light.toNumber(),\n\t\titemGap: 8,\n\t\tsectionGap: 10,\n\t\theaderStyle: {\n\t\t\tgap: 10,\n\t\t\tpadding: {\n\t\t\t\ttop: 0,\n\t\t\t\tright: 0,\n\t\t\t\tbottom: 6,\n\t\t\t\tleft: 0\n\t\t\t},\n\t\t\twidth: \"fill\"\n\t\t},\n\t\tfooterStyle: {\n\t\t\tgap: 8,\n\t\t\tpadding: {\n\t\t\t\ttop: 6,\n\t\t\t\tright: 0,\n\t\t\t\tbottom: 0,\n\t\t\t\tleft: 0\n\t\t\t},\n\t\t\twidth: \"fill\"\n\t\t},\n\t\tsectionStyle: {\n\t\t\tgap: 8,\n\t\t\tpadding: {\n\t\t\t\ttop: 4,\n\t\t\t\tright: 0,\n\t\t\t\tbottom: 8,\n\t\t\t\tleft: 0\n\t\t\t},\n\t\t\twidth: \"fill\",\n\t\t\ttitleStyle: {\n\t\t\t\t...r.medium,\n\t\t\t\tcolor: n.text.dark.toString(),\n\t\t\t\tfontStyle: \"bold\"\n\t\t\t}\n\t\t},\n\t\titemStyle: {\n\t\t\tgap: 8,\n\t\t\tpadding: {\n\t\t\t\ttop: 8,\n\t\t\t\tbottom: 8,\n\t\t\t\tleft: 10,\n\t\t\t\tright: 10\n\t\t\t},\n\t\t\twidth: \"fill\",\n\t\t\tcornerRadius: 8,\n\t\t\tbackgroundColor: n.surface.lightest.toNumber(),\n\t\t\ttextStyle: {\n\t\t\t\t...r.medium,\n\t\t\t\tcolor: n.text.dark.toString()\n\t\t\t},\n\t\t\tactive: {\n\t\t\t\tbackgroundColor: n.primary.lightest.toNumber(),\n\t\t\t\tborderColor: n.primary.light.toNumber(),\n\t\t\t\tborderWidth: 1,\n\t\t\t\tbackgroundAlpha: .9\n\t\t\t},\n\t\t\tdisabledAlpha: .5\n\t\t},\n\t\tbadgeStyle: {\n\t\t\tbackgroundColor: n.primary.light.toNumber(),\n\t\t\tbackgroundAlpha: .15,\n\t\t\tcornerRadius: 6,\n\t\t\tpadding: {\n\t\t\t\ttop: 4,\n\t\t\t\tbottom: 4,\n\t\t\t\tleft: 8,\n\t\t\t\tright: 8\n\t\t\t},\n\t\t\ttextStyle: {\n\t\t\t\t...r.small,\n\t\t\t\tcolor: o(n, \"text/strong\", n.primary.light.toNumber()),\n\t\t\t\tfontStyle: \"bold\"\n\t\t\t}\n\t\t},\n\t\tvariants: {\n\t\t\tsolid: {\n\t\t\t\tbackgroundColor: n.surface.light.toNumber(),\n\t\t\t\tborderColor: n.border.light.toNumber(),\n\t\t\t\tborderWidth: 1\n\t\t\t},\n\t\t\tmuted: {\n\t\t\t\tbackgroundColor: n.surface.medium.toNumber(),\n\t\t\t\tbackgroundAlpha: .85,\n\t\t\t\tborderColor: n.border.light.toNumber(),\n\t\t\t\tborderWidth: 1\n\t\t\t},\n\t\t\tghost: {\n\t\t\t\tbackgroundColor: n.background.lightest.toNumber(),\n\t\t\t\tbackgroundAlpha: .6,\n\t\t\t\tborderWidth: 0\n\t\t\t},\n\t\t\tinset: {\n\t\t\t\tbackgroundColor: n.surface.dark.toNumber(),\n\t\t\t\tbackgroundAlpha: 1,\n\t\t\t\tborderColor: n.border.medium.toNumber(),\n\t\t\t\tborderWidth: 1\n\t\t\t}\n\t\t},\n\t\tsizes: {\n\t\t\tsm: {\n\t\t\t\tpadding: 10,\n\t\t\t\tgap: 6\n\t\t\t},\n\t\t\tmd: {\n\t\t\t\tpadding: 16,\n\t\t\t\tgap: 8\n\t\t\t},\n\t\t\tlg: {\n\t\t\t\tpadding: {\n\t\t\t\t\ttop: 20,\n\t\t\t\t\tbottom: 20,\n\t\t\t\t\tleft: 16,\n\t\t\t\t\tright: 16\n\t\t\t\t},\n\t\t\t\tgap: 12\n\t\t\t}\n\t\t}\n\t}, H = {\n\t\ttabListStyle: {\n\t\t\tbackgroundColor: n.surface.dark.toNumber(),\n\t\t\tpadding: {\n\t\t\t\tleft: 8,\n\t\t\t\tright: 8,\n\t\t\t\ttop: 8,\n\t\t\t\tbottom: 0\n\t\t\t},\n\t\t\tcornerRadius: {\n\t\t\t\ttl: 6,\n\t\t\t\ttr: 6,\n\t\t\t\tbl: 0,\n\t\t\t\tbr: 0\n\t\t\t},\n\t\t\twidth: \"fill\",\n\t\t\tgap: 10,\n\t\t\talignItems: \"end\",\n\t\t\tjustifyContent: \"start\"\n\t\t},\n\t\ttabStyle: {\n\t\t\tbackgroundColor: n.surface.medium.toNumber(),\n\t\t\tborderColor: n.border.medium.toNumber(),\n\t\t\tborderWidth: 1,\n\t\t\tpadding: {\n\t\t\t\tleft: 8,\n\t\t\t\tright: 8,\n\t\t\t\ttop: 8,\n\t\t\t\tbottom: 3\n\t\t\t},\n\t\t\tcornerRadius: {\n\t\t\t\ttl: 6,\n\t\t\t\ttr: 6,\n\t\t\t\tbl: 0,\n\t\t\t\tbr: 0\n\t\t\t}\n\t\t},\n\t\ttabActiveStyle: {\n\t\t\tpadding: {\n\t\t\t\tleft: 8,\n\t\t\t\tright: 8,\n\t\t\t\ttop: 8,\n\t\t\t\tbottom: 8\n\t\t\t},\n\t\t\tbackgroundColor: n.primary.DEFAULT.toNumber(),\n\t\t\tborderColor: n.primary.dark.toNumber(),\n\t\t\tborderWidth: 2\n\t\t},\n\t\ttabDisabledStyle: { alpha: .4 },\n\t\tpanelStyle: {\n\t\t\tbackgroundColor: n.surface.light.toNumber(),\n\t\t\tborderColor: n.border.medium.toNumber(),\n\t\t\tborderWidth: 1,\n\t\t\tpadding: 10,\n\t\t\tcornerRadius: {\n\t\t\t\ttl: 0,\n\t\t\t\ttr: 0,\n\t\t\t\tbl: 6,\n\t\t\t\tbr: 6\n\t\t\t},\n\t\t\twidth: \"fill\"\n\t\t}\n\t}, U = {\n\t\tvariant: \"info\",\n\t\twidth: 320,\n\t\tminHeight: 58,\n\t\tgap: 10,\n\t\tcontentGap: 2,\n\t\taccentWidth: 4,\n\t\tprefixWidth: 24,\n\t\tpadding: {\n\t\t\tleft: 10,\n\t\t\tright: 10,\n\t\t\ttop: 9,\n\t\t\tbottom: 9\n\t\t},\n\t\tbackgroundColor: n.surface.dark.toNumber(),\n\t\tbackgroundAlpha: .98,\n\t\tborderColor: n.border.dark.toNumber(),\n\t\tborderWidth: 1,\n\t\tcornerRadius: 8,\n\t\tcloseButtonSize: 24,\n\t\ttitleStyle: {\n\t\t\t...r.small,\n\t\t\tcolor: o(n, \"text/strong\", n.surface.dark.toNumber()),\n\t\t\tfontStyle: \"bold\"\n\t\t},\n\t\tmessageStyle: {\n\t\t\t...r.small,\n\t\t\tcolor: o(n, \"text/muted\", n.surface.dark.toNumber())\n\t\t},\n\t\tcloseTextStyle: {\n\t\t\t...r.small,\n\t\t\tcolor: o(n, \"text/muted\", n.surface.dark.toNumber()),\n\t\t\tfontStyle: \"normal\"\n\t\t},\n\t\tlabels: { close: \"x\" },\n\t\tvariants: {\n\t\t\tinfo: {\n\t\t\t\taccentColor: n.info.DEFAULT.toNumber(),\n\t\t\t\tborderColor: n.info.dark.toNumber()\n\t\t\t},\n\t\t\tsuccess: {\n\t\t\t\taccentColor: n.success.DEFAULT.toNumber(),\n\t\t\t\tborderColor: n.success.dark.toNumber()\n\t\t\t},\n\t\t\twarning: {\n\t\t\t\taccentColor: n.warning.DEFAULT.toNumber(),\n\t\t\t\tborderColor: n.warning.dark.toNumber()\n\t\t\t},\n\t\t\terror: {\n\t\t\t\taccentColor: n.error.DEFAULT.toNumber(),\n\t\t\t\tborderColor: n.error.dark.toNumber()\n\t\t\t}\n\t\t},\n\t\tButton: { ghost: {\n\t\t\tpadding: 0,\n\t\t\tbackgroundAlpha: 0,\n\t\t\ttextStyle: {\n\t\t\t\tcolor: n.text.light.toString(),\n\t\t\t\tfontStyle: \"bold\"\n\t\t\t}\n\t\t} }\n\t}, W = {\n\t\tposition: \"top-right\",\n\t\twidth: 320,\n\t\tgap: 8,\n\t\toffset: 16,\n\t\tduration: 4e3,\n\t\tdepth: 1200\n\t}, G = {\n\t\twrap: !0,\n\t\tpaddingOffset: 0,\n\t\ttextStyle: r.DEFAULT\n\t}, K = {\n\t\tborderColor: n.border.medium.toNumber(),\n\t\ttrackColor: n.surface.dark.toNumber(),\n\t\ttrackCornerRadius: 0,\n\t\tthumbColor: n.primary.DEFAULT.toNumber(),\n\t\tthumbActiveColor: n.primary.dark.toNumber(),\n\t\tthumbBorderColor: n.primary.light.toNumber(),\n\t\tthumbBorderWidth: 1,\n\t\tthumbCornerRadius: 0,\n\t\tborderWidth: 1,\n\t\tcornerRadius: 0,\n\t\tminThumbSize: 30,\n\t\tsize: 24\n\t}, q = {\n\t\tshowVerticalSlider: \"auto\",\n\t\tshowHorizontalSlider: \"auto\"\n\t}, J = {\n\t\trowTextStyle: r.small,\n\t\tvalueTextStyle: r.small,\n\t\trowGap: 4,\n\t\tcolumnGap: 8\n\t}, Y = {\n\t\tbackgroundColor: n.surface.DEFAULT.toNumber(),\n\t\tcornerRadius: 8,\n\t\tmaxWidth: 600,\n\t\tshowClose: !0,\n\t\tHeader: {\n\t\t\tpadding: {\n\t\t\t\tleft: 24,\n\t\t\t\tright: 24,\n\t\t\t\ttop: 20,\n\t\t\t\tbottom: 16\n\t\t\t},\n\t\t\tgap: 12,\n\t\t\tborderColor: n.border.light.toNumber(),\n\t\t\tcloseButton: {\n\t\t\t\tsize: 32,\n\t\t\t\tcornerRadius: 4,\n\t\t\t\tbackgroundColor: n.surface.dark.toNumber(),\n\t\t\t\tborderColor: n.border.light.toNumber(),\n\t\t\t\tborderWidth: 1\n\t\t\t},\n\t\t\ttextStyle: r.heading\n\t\t},\n\t\tContent: {\n\t\t\tpadding: {\n\t\t\t\tleft: 24,\n\t\t\t\tright: 24,\n\t\t\t\ttop: 16,\n\t\t\t\tbottom: 16\n\t\t\t},\n\t\t\tgap: 12\n\t\t},\n\t\tActions: {\n\t\t\tpadding: {\n\t\t\t\tleft: 24,\n\t\t\t\tright: 24,\n\t\t\t\ttop: 16,\n\t\t\t\tbottom: 20\n\t\t\t},\n\t\t\tgap: 12,\n\t\t\tjustifyContent: \"end\",\n\t\t\tborderColor: n.border.light.toNumber()\n\t\t}\n\t}, X = {\n\t\tmaxWidth: 500,\n\t\tvariants: {\n\t\t\tinfo: {},\n\t\t\twarning: {},\n\t\t\tdestructive: {},\n\t\t\tsuccess: {}\n\t\t}\n\t}, Z = {\n\t\tbackdropAlpha: .5,\n\t\tbackdropColor: 0,\n\t\tbackgroundColor: n.surface.dark.toNumber(),\n\t\tbackgroundAlpha: 1,\n\t\tborderColor: n.border.medium.toNumber(),\n\t\tborderWidth: 1,\n\t\tpanelCornerRadius: 16,\n\t\thandleWidth: 36,\n\t\thandleHeight: 5,\n\t\thandleColor: n.border.dark.toNumber()\n\t}, Q = {\n\t\tplacement: \"bottom\",\n\t\toffset: 8,\n\t\tdepth: 1100,\n\t\tcloseOnOutside: !0,\n\t\tcloseOnEscape: !0,\n\t\tviewportPadding: 8,\n\t\topenDuration: 120,\n\t\tcloseDuration: 100,\n\t\tbackgroundColor: n.surface.dark.toNumber(),\n\t\tborderColor: n.border.medium.toNumber(),\n\t\tborderWidth: 1,\n\t\tcornerRadius: 8,\n\t\tpadding: 10,\n\t\tgap: 8\n\t}, $ = {\n\t\twidth: 220,\n\t\titemHeight: 34,\n\t\titemGap: 8,\n\t\titemPadding: {\n\t\t\tleft: 10,\n\t\t\tright: 10,\n\t\t\ttop: 6,\n\t\t\tbottom: 6\n\t\t},\n\t\titemCornerRadius: 5,\n\t\tbackgroundColor: n.surface.dark.toNumber(),\n\t\tborderColor: n.border.medium.toNumber(),\n\t\tborderWidth: 1,\n\t\tcornerRadius: 8,\n\t\tpadding: 6,\n\t\tgap: 2,\n\t\ttextStyle: {\n\t\t\t...r.small,\n\t\t\tcolor: n.text.medium.toString()\n\t\t},\n\t\tdisabledTextColor: n.text.lightest.toString(),\n\t\tdangerTextColor: n.error.darkest.toString(),\n\t\tdangerBackgroundColor: n.error.dark.toNumber()\n\t}, te = {\n\t\torientation: \"horizontal\",\n\t\tthickness: 1,\n\t\tcolor: n.border.medium.toNumber()\n\t}, ne = {\n\t\ttrigger: {\n\t\t\tbackgroundColor: n.surface.light.toNumber(),\n\t\t\tborderColor: n.border.medium.toNumber(),\n\t\t\tborderWidth: 1,\n\t\t\tcornerRadius: 7,\n\t\t\tpadding: {\n\t\t\t\tleft: 12,\n\t\t\t\tright: 10,\n\t\t\t\ttop: 9,\n\t\t\t\tbottom: 9\n\t\t\t},\n\t\t\twidth: \"fill\",\n\t\t\tgap: 8\n\t\t},\n\t\ttriggerHover: { borderColor: n.primary.DEFAULT.toNumber() },\n\t\ttriggerOpen: {\n\t\t\tborderColor: n.primary.DEFAULT.toNumber(),\n\t\t\tborderWidth: 2,\n\t\t\tbackgroundColor: n.surface.lightest.toNumber()\n\t\t},\n\t\ttriggerDisabled: {\n\t\t\tbackgroundColor: n.surface.light.toNumber(),\n\t\t\talpha: .5\n\t\t},\n\t\tarrow: {\n\t\t\tcolor: n.text.dark.toString(),\n\t\t\tsize: 12\n\t\t},\n\t\tselectionIndicator: {\n\t\t\tcolor: n.primary.dark.toString(),\n\t\t\tsize: 16\n\t\t},\n\t\toverlay: {\n\t\t\tbackgroundColor: n.surface.lightest.toNumber(),\n\t\t\tborderColor: n.border.medium.toNumber(),\n\t\t\tborderWidth: 1,\n\t\t\tcornerRadius: 7,\n\t\t\tmaxHeight: 300,\n\t\t\tpadding: 6\n\t\t},\n\t\toption: {\n\t\t\tpadding: {\n\t\t\t\tleft: 10,\n\t\t\t\tright: 10,\n\t\t\t\ttop: 8,\n\t\t\t\tbottom: 8\n\t\t\t},\n\t\t\tcornerRadius: 5,\n\t\t\tgap: 8\n\t\t},\n\t\toptionSelected: {\n\t\t\tbackgroundColor: n.primary.lightest.toNumber(),\n\t\t\tborderColor: n.primary.light.toNumber(),\n\t\t\tborderWidth: 1,\n\t\t\tbackgroundAlpha: .9\n\t\t},\n\t\toptionDisabled: { alpha: .3 },\n\t\toptionGap: 2,\n\t\tfilterInput: {\n\t\t\tbackgroundColor: n.surface.lightest.toNumber(),\n\t\t\tborderColor: n.border.medium.toNumber(),\n\t\t\tborderWidth: 1,\n\t\t\tcornerRadius: 6,\n\t\t\tpadding: {\n\t\t\t\tleft: 10,\n\t\t\t\tright: 10,\n\t\t\t\ttop: 6,\n\t\t\t\tbottom: 6\n\t\t\t},\n\t\t\twidth: \"calc(100% - 20px)\"\n\t\t},\n\t\ttextStyle: {\n\t\t\t...r.DEFAULT,\n\t\t\tcolor: n.text.DEFAULT.toString()\n\t\t},\n\t\tplaceholderStyle: {\n\t\t\t...r.DEFAULT,\n\t\t\tcolor: n.text.light.toString()\n\t\t},\n\t\tanimationConfig: \"stiff\"\n\t}, re = {\n\t\tcharSpacing: 2,\n\t\tcursorColor: n.secondary.DEFAULT.toNumber(),\n\t\tcursorWidth: 3,\n\t\tcursorBlinkSpeed: 530,\n\t\tselectionColor: n.accent.DEFAULT.toNumber(),\n\t\tselectionAlpha: .75,\n\t\tlineHeight: 1.2,\n\t\twordWrap: !1,\n\t\tdisabledBackgroundColor: n.surface.medium.toNumber(),\n\t\tdisabledBorderColor: n.border.light.toNumber(),\n\t\tdisabledAlpha: .6,\n\t\tfocusedBorderColor: n.primary.DEFAULT.toNumber(),\n\t\tbackgroundColor: n.surface.lightest.toNumber(),\n\t\tborderColor: n.border.medium.toNumber(),\n\t\tborderWidth: 1,\n\t\tcornerRadius: 7,\n\t\tpadding: 10,\n\t\ttextStyle: {\n\t\t\t...r.DEFAULT,\n\t\t\tcolor: n.text.dark.toString()\n\t\t},\n\t\tplaceholderStyle: {\n\t\t\t...r.DEFAULT,\n\t\t\tcolor: n.text.light.toString()\n\t\t}\n\t}, ie = {\n\t\tposition: \"top\",\n\t\tshowDelay: 1e3,\n\t\thideDelay: 500,\n\t\toffset: 8,\n\t\ttextStyle: {\n\t\t\tfontSize: \"12px\",\n\t\t\tfontFamily: \"Arial\",\n\t\t\tcolor: n.text.dark.toString(),\n\t\t\tbackgroundColor: n.warning.medium.toString(),\n\t\t\tpadding: {\n\t\t\t\tx: 2,\n\t\t\t\ty: 2\n\t\t\t}\n\t\t},\n\t\tcornerRadius: 8,\n\t\tanimation: {\n\t\t\tfadeIn: 200,\n\t\t\tfadeOut: 200,\n\t\t\tmove: {\n\t\t\t\tdx: 0,\n\t\t\t\tdy: -20\n\t\t\t},\n\t\t\tpulse: !1,\n\t\t\tpulseScale: [.75, 1.25]\n\t\t}\n\t}, ae = {\n\t\tsize: \"medium\",\n\t\ttextColor: n.text.light.toString(),\n\t\toverlayAlpha: .85,\n\t\tbackgroundColor: n.surface.darkest.toNumber(),\n\t\tbackgroundAlpha: .95,\n\t\tborderColor: n.border.medium.toNumber(),\n\t\tborderWidth: 1,\n\t\tcornerRadius: 8,\n\t\titemHeight: 40,\n\t\tvisibleItems: 5,\n\t\titemPadding: {\n\t\t\tleft: 12,\n\t\t\tright: 12\n\t\t},\n\t\tdisabledAlpha: .5,\n\t\ttextStyle: {\n\t\t\t...r.medium,\n\t\t\tcolor: l(n.surface.darkest.toNumber(), a)\n\t\t},\n\t\tselectedTextStyle: {\n\t\t\t...r.medium,\n\t\t\tcolor: l(n.surface.darkest.toNumber(), a),\n\t\t\tfontStyle: \"bold\"\n\t\t},\n\t\tdisabledTextStyle: { color: n.text.lightest.toString() },\n\t\tlabels: { empty: \"No items\" }\n\t};\n\treturn {\n\t\tView: u,\n\t\tText: d,\n\t\tIcon: f,\n\t\tImage: p,\n\t\tSprite: m,\n\t\tActivityIndicator: h,\n\t\tAccordion: v,\n\t\tAlertDialog: X,\n\t\tBadge: y,\n\t\tTag: b,\n\t\tBottomSheet: Z,\n\t\tButton: A,\n\t\tCheckbox: _,\n\t\tColorPicker: g,\n\t\tContextMenu: $,\n\t\tDebugPanel: J,\n\t\tDialog: Y,\n\t\tDivider: te,\n\t\tDropdown: ne,\n\t\tListBox: j,\n\t\tMenuButton: M,\n\t\tModal: N,\n\t\tNumberInput: P,\n\t\tPalettePicker: F,\n\t\tPopover: Q,\n\t\tProgressBar: I,\n\t\tProgressView: L,\n\t\tRadioButton: z,\n\t\tRadioGroup: ee,\n\t\tRatingBar: B,\n\t\tSidebar: V,\n\t\tNotificationStack: W,\n\t\tTabs: H,\n\t\tTextInput: re,\n\t\tToast: U,\n\t\tToolbar: {\n\t\t\torientation: \"horizontal\",\n\t\t\tdensity: \"normal\",\n\t\t\titemWidth: 42,\n\t\t\titemHeight: 36,\n\t\t\tcompactItemWidth: 38,\n\t\t\tcompactItemHeight: 38,\n\t\t\titemGap: 6,\n\t\t\ticonSize: 18,\n\t\t\tcompactIconSize: 16,\n\t\t\tbuttonSize: \"small\",\n\t\t\tcompactButtonSize: \"small\",\n\t\t\tbackgroundColor: n.surface.dark.toNumber(),\n\t\t\tbackgroundAlpha: .92,\n\t\t\tborderColor: n.border.medium.toNumber(),\n\t\t\tborderWidth: 1,\n\t\t\tcornerRadius: 8,\n\t\t\tpadding: 4,\n\t\t\tgap: 6,\n\t\t\tseparatorColor: n.border.medium.toNumber(),\n\t\t\tseparatorThickness: 1,\n\t\t\tseparatorLength: 26,\n\t\t\tdisabledAlpha: .55,\n\t\t\ttextStyle: {\n\t\t\t\t...r.small,\n\t\t\t\tcolor: n.text.DEFAULT.toString(),\n\t\t\t\tfontStyle: \"bold\"\n\t\t\t},\n\t\t\tactiveTextStyle: {\n\t\t\t\tcolor: n.text.DEFAULT.toString(),\n\t\t\t\tfontStyle: \"bold\"\n\t\t\t},\n\t\t\tdisabledTextStyle: { color: n.text.lightest.toString() },\n\t\t\tmenuIndicatorStyle: {\n\t\t\t\t...r.small,\n\t\t\t\tcolor: n.text.light.toString()\n\t\t\t},\n\t\t\tlabels: {\n\t\t\t\toverflow: \"More\",\n\t\t\t\tmenuIndicator: \"v\"\n\t\t\t},\n\t\t\tIcon: { tint: n.text.DEFAULT.toNumber() },\n\t\t\tButton: {\n\t\t\t\tminWidth: 0,\n\t\t\t\tpadding: {\n\t\t\t\t\tleft: 8,\n\t\t\t\t\tright: 8,\n\t\t\t\t\ttop: 4,\n\t\t\t\t\tbottom: 4\n\t\t\t\t},\n\t\t\t\tcornerRadius: 5,\n\t\t\t\tgap: 6\n\t\t\t}\n\t\t},\n\t\tWrapText: G,\n\t\tWheelPicker: ae,\n\t\tScrollSlider: K,\n\t\tScrollView: q,\n\t\tSegmentedControl: {\n\t\t\torientation: \"horizontal\",\n\t\t\tsize: \"medium\",\n\t\t\tvariant: \"solid\",\n\t\t\tbackgroundColor: n.surface.dark.toNumber(),\n\t\t\tbackgroundAlpha: .95,\n\t\t\tborderColor: n.border.medium.toNumber(),\n\t\t\tborderWidth: 1,\n\t\t\tcornerRadius: 8,\n\t\t\tpadding: 3,\n\t\t\tgap: 8,\n\t\t\tsegmentGap: 0,\n\t\t\tsegmentWidth: 92,\n\t\t\tsegmentHeight: 34,\n\t\t\tsegmentPadding: {\n\t\t\t\tleft: 10,\n\t\t\t\tright: 10,\n\t\t\t\ttop: 6,\n\t\t\t\tbottom: 6\n\t\t\t},\n\t\t\tsegmentCornerRadius: 6,\n\t\t\tsegmentStyle: {\n\t\t\t\tbackgroundColor: n.surface.dark.toNumber(),\n\t\t\t\tbackgroundAlpha: 0,\n\t\t\t\tborderWidth: 0\n\t\t\t},\n\t\t\tsegmentHoverStyle: {\n\t\t\t\tbackgroundColor: n.surface.medium.toNumber(),\n\t\t\t\tbackgroundAlpha: .55\n\t\t\t},\n\t\t\tsegmentSelectedStyle: {\n\t\t\t\tbackgroundColor: n.primary.dark.toNumber(),\n\t\t\t\tbackgroundAlpha: 1,\n\t\t\t\tborderColor: n.primary.dark.toNumber(),\n\t\t\t\tborderWidth: 1\n\t\t\t},\n\t\t\tsegmentDisabledStyle: { alpha: .45 },\n\t\t\ticonGap: 6,\n\t\t\ticonSize: 16,\n\t\t\tdisabledAlpha: .5,\n\t\t\tlabelPosition: \"none\",\n\t\t\tlabelStyle: {\n\t\t\t\t...r.medium,\n\t\t\t\tcolor: n.text.DEFAULT.toString()\n\t\t\t},\n\t\t\ttextStyle: {\n\t\t\t\t...r.small,\n\t\t\t\tcolor: o(n, \"text/default\", n.surface.dark.toNumber()),\n\t\t\t\tfontStyle: \"bold\"\n\t\t\t},\n\t\t\tselectedTextStyle: {\n\t\t\t\tcolor: o(n, \"text/on-brand\", n.primary.dark.toNumber()),\n\t\t\t\tfontStyle: \"bold\"\n\t\t\t},\n\t\t\tdisabledTextStyle: { color: n.text.lightest.toString() },\n\t\t\tlabels: { group: \"Options\" }\n\t\t},\n\t\tSlider: R,\n\t\tTooltip: ie,\n\t\tToggle: {\n\t\t\twidth: 50,\n\t\t\theight: 28,\n\t\t\tthumbSize: 24,\n\t\t\ttrackColorOff: n.surface.dark.toNumber(),\n\t\t\ttrackColorOn: n.primary.DEFAULT.toNumber(),\n\t\t\ttrackBorderColorOff: n.border.medium.toNumber(),\n\t\t\ttrackBorderColorOn: n.primary.dark.toNumber(),\n\t\t\ttrackBorderWidth: 1,\n\t\t\tthumbColor: n.surface.lightest.toNumber(),\n\t\t\tthumbBorderColor: n.border.light.toNumber(),\n\t\t\tthumbBorderWidth: 1,\n\t\t\tdisabledColor: n.border.medium.toNumber(),\n\t\t\tdisabledAlpha: .5,\n\t\t\tpadding: 2,\n\t\t\tduration: 200,\n\t\t\tgap: 8,\n\t\t\tlabelStyle: r.DEFAULT,\n\t\t\tlabelPosition: \"right\"\n\t\t}\n\t};\n}\nfunction d(e = \"oceanBlue\", t = \"light\") {\n\treturn u(r(e, t).colors);\n}\nvar f = d();\nfunction p() {\n\tfor (let e of Object.keys(f)) a(e, (t) => u(t)[e]);\n}\n//#endregion\nexport { u as buildPortableThemeDefaults, d as createPortableThemeDefaults, p as registerPortableDefaults };\n","import { PRIMITIVE_NODES as e, jsx as t } from \"@number10/jsx-core\";\n//#region src/primitives/Sprite.ts\nfunction n(n) {\n\treturn t(e.Sprite, n);\n}\n//#endregion\nexport { n as Sprite };\n","import { PRIMITIVE_NODES as e, jsx as t, normalizeTextColor as n } from \"@number10/jsx-core\";\n//#region src/primitives/Text.ts\nfunction r(r) {\n\tlet i = { ...r.style ?? {} };\n\tif (i.color !== void 0) {\n\t\tlet e = n(i.color);\n\t\te !== void 0 && (i.color = e);\n\t}\n\treturn t(e.Text, {\n\t\t...r,\n\t\tstyle: i\n\t});\n}\n//#endregion\nexport { r as Text };\n","import { PRIMITIVE_NODES as e, jsx as t } from \"@number10/jsx-core\";\n//#region src/primitives/VectorDrawContent.ts\nfunction n(n) {\n\treturn t(e.VectorDrawContent, n);\n}\n//#endregion\nexport { n as VectorDrawContent };\n","import { PRIMITIVE_NODES as e, jsx as t } from \"@number10/jsx-core\";\n//#region src/primitives/View.ts\nfunction n(n) {\n\treturn t(e.View, n);\n}\n//#endregion\nexport { n as View };\n","import { PRIMITIVE_NODES as e, jsx as t } from \"@number10/jsx-core\";\n//#region src/primitives/Image.ts\nfunction n(n) {\n\treturn t(e.Image, n);\n}\n//#endregion\nexport { n as Image };\n","import { Text as e } from \"./primitives/Text.js\";\nimport { View as t } from \"./primitives/View.js\";\nimport \"./primitives.js\";\nimport { KNOWN_COMPONENTS as n, applyEffect as r, getGlobalThemeDefaults as i, resolveComponentTheme as a, resolveEffect as o, useForceRedraw as s, useLayoutEffect as c, useRef as l, useSpring as u, useState as d, useTheme as f } from \"@number10/jsx-core\";\nimport { jsx as p, jsxs as m } from \"@number10/jsx-core/jsx-runtime\";\n//#region src/Accordion.tsx\nfunction h(h) {\n\tlet g = f(), { props: _, nestedTheme: v } = a({\n\t\tcomponentName: \"Accordion\",\n\t\tglobalTheme: i(),\n\t\tlocalTheme: g,\n\t\tknownComponents: n\n\t}), [y, b] = d(h.defaultOpen ?? !1), x = h.isOpen === void 0 ? y : h.isOpen, S = l(null), C = l(null), w = h.animated ?? _.animated ?? !1, T = h.autoHeight ?? _.autoHeight ?? w, E = h.maxHeight ?? _.maxHeight ?? 200, D = h.animationConfig ?? _.animationConfig ?? \"gentle\", [O, k] = d(E);\n\tc(() => {\n\t\tif (T && x && C.current) {\n\t\t\tlet e = C.current.height ?? E;\n\t\t\tk(e), j(e);\n\t\t}\n\t}, [x, T]);\n\tlet [A, j] = u(x ? T ? O : E : 0, D, h.onAnimationEnd);\n\tw && s(20, A);\n\tlet M = Math.max(0, A.value), N = w ? M : x ? void 0 : 0, P = w ? M > .5 : x, F = () => {\n\t\tlet e = !x;\n\t\tb(e), w && j(e ? T ? O : E : 0), h.onToggle?.(e);\n\t\tlet t = o(h, _);\n\t\tr(S.current, t.effect, t.effectConfig);\n\t}, I = _.headerStyle ?? {}, L = _.contentStyle ?? {}, R = _.textStyle;\n\treturn /* @__PURE__ */ m(t, {\n\t\twidth: h.width,\n\t\theight: h.height,\n\t\tdirection: \"column\",\n\t\t..._,\n\t\ttheme: v,\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ p(t, {\n\t\t\t\tref: S,\n\t\t\t\tdirection: \"row\",\n\t\t\t\talignItems: \"center\",\n\t\t\t\tenableGestures: !0,\n\t\t\t\tonTouch: F,\n\t\t\t\t...I,\n\t\t\t\tchildren: typeof h.title == \"string\" ? /* @__PURE__ */ p(e, {\n\t\t\t\t\ttext: h.title,\n\t\t\t\t\t...R && { style: R }\n\t\t\t\t}) : h.title\n\t\t\t}),\n\t\t\tT && /* @__PURE__ */ p(t, {\n\t\t\t\tvisible: !1,\n\t\t\t\tdirection: \"stack\",\n\t\t\t\theadless: !0,\n\t\t\t\twidth: 0,\n\t\t\t\theight: 0,\n\t\t\t\tchildren: /* @__PURE__ */ p(t, {\n\t\t\t\t\tref: C,\n\t\t\t\t\t...L,\n\t\t\t\t\tchildren: h.children\n\t\t\t\t})\n\t\t\t}),\n\t\t\t/* @__PURE__ */ p(t, {\n\t\t\t\tdirection: \"column\",\n\t\t\t\theight: N,\n\t\t\t\toverflow: \"hidden\",\n\t\t\t\tvisible: P,\n\t\t\t\t...L,\n\t\t\t\tchildren: h.children\n\t\t\t})\n\t\t]\n\t}, h.key);\n}\n//#endregion\nexport { h as Accordion };\n","import { Text as e } from \"./primitives/Text.js\";\nimport { View as t } from \"./primitives/View.js\";\nimport \"./primitives.js\";\nimport { HexColor as n, KNOWN_COMPONENTS as r, applyEffect as i, getGlobalThemeDefaults as a, getPresetWithMode as o, mergeThemes as s, registerComponentDefaultsIfMissing as c, resolveComponentTheme as l, resolveEffect as u, useRef as d, useTheme as f } from \"@number10/jsx-core\";\nimport { jsx as p } from \"@number10/jsx-core/jsx-runtime\";\n//#region src/Button.tsx\nfunction m() {\n\tlet e = o(\"oceanBlue\", \"light\").colors, t = e.primary.dark.toNumber(), r = e.text.lightest.toNumber(), i = e.surface.lightest.toNumber(), a = e.text.dark.toNumber(), s = e.surface.medium.toNumber(), c = e.text.light.toNumber(), l = e.primary.light.toNumber(), u = e.text.light.toNumber(), d = e.error.dark.toNumber(), f = e.text.lightest.toNumber(), p = { medium: {\n\t\tfontSize: \"16px\",\n\t\tfontFamily: \"Arial\",\n\t\tfontStyle: \"bold\"\n\t} };\n\treturn {\n\t\tvariant: \"primary\",\n\t\tsize: \"medium\",\n\t\tdisabledColor: s,\n\t\tdisabledTextColor: \"#\" + new n(c.toString(16).padStart(6, \"0\")).toString(),\n\t\tdisabledIconTint: c,\n\t\tdisabledAlpha: .48,\n\t\theight: 40,\n\t\tbackgroundColor: t,\n\t\tbackgroundAlpha: 1,\n\t\tborderColor: e.primary.darkest.toNumber(),\n\t\tborderWidth: 1,\n\t\tcornerRadius: 8,\n\t\tgap: 8,\n\t\tpadding: {\n\t\t\ttop: 8,\n\t\t\tbottom: 8,\n\t\t\tleft: 16,\n\t\t\tright: 16\n\t\t},\n\t\tjustifyContent: \"center\",\n\t\talignItems: \"center\",\n\t\teffect: \"press\",\n\t\teffectConfig: {\n\t\t\tintensity: .94,\n\t\t\ttime: 140\n\t\t},\n\t\ticonSize: 18,\n\t\ttextStyle: {\n\t\t\t...p.medium,\n\t\t\tcolor: `#${r.toString(16).padStart(6, \"0\")}`\n\t\t},\n\t\tText: { style: {\n\t\t\t...p.medium,\n\t\t\tcolor: `#${r.toString(16).padStart(6, \"0\")}`\n\t\t} },\n\t\tIcon: {\n\t\t\tsize: 18,\n\t\t\ttint: r\n\t\t},\n\t\tprimary: {\n\t\t\tbackgroundColor: t,\n\t\t\tborderColor: e.primary.darkest.toNumber(),\n\t\t\ttextStyle: {\n\t\t\t\tcolor: `#${r.toString(16).padStart(6, \"0\")}`,\n\t\t\t\tfontStyle: \"bold\"\n\t\t\t},\n\t\t\tIcon: { tint: r }\n\t\t},\n\t\tsecondary: {\n\t\t\tbackgroundColor: i,\n\t\t\tbackgroundAlpha: .92,\n\t\t\tborderColor: e.border.light.toNumber(),\n\t\t\tborderWidth: 1,\n\t\t\ttextStyle: {\n\t\t\t\tcolor: `#${a.toString(16).padStart(6, \"0\")}`,\n\t\t\t\tfontStyle: \"bold\"\n\t\t\t},\n\t\t\tIcon: { tint: a }\n\t\t},\n\t\toutline: {\n\t\t\tbackgroundColor: e.primary.dark.toNumber(),\n\t\t\tbackgroundAlpha: .08,\n\t\t\tborderColor: l,\n\t\t\tborderWidth: 2,\n\t\t\ttextStyle: {\n\t\t\t\tcolor: `#${l.toString(16).padStart(6, \"0\")}`,\n\t\t\t\tfontStyle: \"bold\"\n\t\t\t},\n\t\t\tIcon: { tint: l }\n\t\t},\n\t\tghost: {\n\t\t\tbackgroundColor: e.surface.light.toNumber(),\n\t\t\tbackgroundAlpha: .18,\n\t\t\tborderColor: e.border.medium.toNumber(),\n\t\t\tborderAlpha: .35,\n\t\t\tborderWidth: 1,\n\t\t\ttextStyle: {\n\t\t\t\tcolor: `#${u.toString(16).padStart(6, \"0\")}`,\n\t\t\t\tfontStyle: \"bold\"\n\t\t\t},\n\t\t\tIcon: { tint: u }\n\t\t},\n\t\tdanger: {\n\t\t\tbackgroundColor: d,\n\t\t\tborderColor: e.error.darkest.toNumber(),\n\t\t\ttextStyle: {\n\t\t\t\tcolor: `#${f.toString(16).padStart(6, \"0\")}`,\n\t\t\t\tfontStyle: \"bold\"\n\t\t\t},\n\t\t\tIcon: { tint: f }\n\t\t},\n\t\tsmall: {\n\t\t\theight: 32,\n\t\t\tpadding: {\n\t\t\t\ttop: 6,\n\t\t\t\tbottom: 6,\n\t\t\t\tleft: 12,\n\t\t\t\tright: 12\n\t\t\t},\n\t\t\tcornerRadius: 6,\n\t\t\tgap: 6,\n\t\t\ticonSize: 15,\n\t\t\ttextStyle: { fontSize: \"12px\" },\n\t\t\tIcon: { size: 15 }\n\t\t},\n\t\tmedium: {\n\t\t\theight: 40,\n\t\t\tpadding: {\n\t\t\t\ttop: 8,\n\t\t\t\tbottom: 8,\n\t\t\t\tleft: 16,\n\t\t\t\tright: 16\n\t\t\t},\n\t\t\tcornerRadius: 8,\n\t\t\tgap: 8,\n\t\t\ticonSize: 18,\n\t\t\tIcon: { size: 18 }\n\t\t},\n\t\tlarge: {\n\t\t\theight: 48,\n\t\t\tpadding: {\n\t\t\t\ttop: 10,\n\t\t\t\tbottom: 10,\n\t\t\t\tleft: 20,\n\t\t\t\tright: 20\n\t\t\t},\n\t\t\tcornerRadius: 10,\n\t\t\tgap: 10,\n\t\t\ticonSize: 22,\n\t\t\ttextStyle: { fontSize: \"18px\" },\n\t\t\tIcon: { size: 22 }\n\t\t}\n\t};\n}\nc(\"Button\", m());\nfunction h(e, t) {\n\treturn t ? {\n\t\t...e,\n\t\t...t,\n\t\ttextStyle: e.textStyle || t.textStyle ? {\n\t\t\t...e.textStyle ?? {},\n\t\t\t...t.textStyle ?? {}\n\t\t} : void 0,\n\t\tText: e.Text || t.Text ? {\n\t\t\t...e.Text ?? {},\n\t\t\t...t.Text ?? {},\n\t\t\tstyle: e.Text?.style || t.Text?.style ? {\n\t\t\t\t...e.Text?.style ?? {},\n\t\t\t\t...t.Text?.style ?? {}\n\t\t\t} : void 0\n\t\t} : void 0,\n\t\tIcon: e.Icon || t.Icon ? {\n\t\t\t...e.Icon ?? {},\n\t\t\t...t.Icon ?? {}\n\t\t} : void 0\n\t} : e;\n}\nfunction g(e, t, n) {\n\tif (!n) return;\n\tlet r = e[t], i = e[n];\n\treturn {\n\t\t...r?.[n] ?? {},\n\t\t...i ?? {}\n\t};\n}\nfunction _(e) {\n\tlet t = e.Text ?? {}, n = e.Icon ?? {}, r = e.textStyle || t.style ? {\n\t\t...t.style ?? {},\n\t\t...e.textStyle ?? {}\n\t} : void 0;\n\treturn {\n\t\tText: r ? {\n\t\t\t...t,\n\t\t\tstyle: r\n\t\t} : t,\n\t\tIcon: {\n\t\t\t...n,\n\t\t\t...e.iconSize === void 0 ? {} : { size: e.iconSize }\n\t\t}\n\t};\n}\nfunction v(n) {\n\tlet { children: o, label: c, text: m, onClick: v, disabled: y = !1, variant: b, size: x, width: S, height: C, textStyle: w, iconSize: T, disabledAlpha: E, alpha: D, theme: O, onTouch: k, effect: A, effectConfig: j, ...M } = n, N = f(), P = O ? s(N ?? {}, O) : N, { props: F, nestedTheme: I } = l({\n\t\tcomponentName: \"Button\",\n\t\tglobalTheme: a(),\n\t\tlocalTheme: P,\n\t\texplicitProps: M,\n\t\tknownComponents: r\n\t}), L = d(null), R = b ?? F.variant ?? \"primary\", z = x ?? F.size ?? \"medium\", B = h(h({ ...F }, g(F, \"variants\", R)), g(F, \"sizes\", z)), V = B.textStyle || w ? {\n\t\t...B.textStyle ?? {},\n\t\t...w ?? {}\n\t} : void 0, H = T ?? B.iconSize, U = E ?? B.disabledAlpha ?? .5, W = B.disabledTextColor ?? F.disabledTextColor ?? V?.color, G = B.disabledIconTint ?? F.disabledIconTint ?? B.iconTint, K = y && W ? {\n\t\t...V ?? {},\n\t\tcolor: W\n\t} : V, q = {\n\t\t...K ? { textStyle: K } : {},\n\t\t...H === void 0 ? {} : { iconSize: H },\n\t\t...y && G !== void 0 ? { Icon: {\n\t\t\t...B.Icon ?? {},\n\t\t\ttint: G\n\t\t} } : {}\n\t}, J = y ? {\n\t\t...B,\n\t\tbackgroundColor: B.disabledColor ?? F.disabledColor ?? B.backgroundColor,\n\t\tbackgroundAlpha: U,\n\t\t...D === void 0 ? {} : { alpha: D },\n\t\t...q\n\t} : {\n\t\t...B,\n\t\t...D === void 0 ? {} : { alpha: D },\n\t\t...q\n\t}, Y = y ? void 0 : (e) => {\n\t\tlet t = u({\n\t\t\teffect: A,\n\t\t\teffectConfig: j\n\t\t}, J);\n\t\ti(L.current, t.effect, t.effectConfig), k?.(e), v?.();\n\t}, X = c ?? m, Z = o ?? (X === void 0 ? null : /* @__PURE__ */ p(e, {\n\t\ttext: `${X}`,\n\t\t...K ? { style: K } : {}\n\t})), Q = s(I, _(J)), { disabledColor: ee, disabledTextColor: te, disabledIconTint: ne, disabledAlpha: re, effect: ie, effectConfig: ae, textStyle: oe, iconSize: se, variant: ce, size: le, variants: ue, sizes: de, Text: fe, Icon: pe, primary: me, secondary: he, outline: ge, ghost: _e, danger: ve, small: ye, medium: be, large: xe, iconTint: Se, ...$ } = J;\n\treturn /* @__PURE__ */ p(t, {\n\t\tref: L,\n\t\tdirection: \"row\",\n\t\talignItems: \"center\",\n\t\tjustifyContent: \"center\",\n\t\tenableGestures: !0,\n\t\t...Y ? { onTouch: Y } : {},\n\t\ttheme: Q,\n\t\t...$,\n\t\twidth: S,\n\t\theight: C,\n\t\t...M,\n\t\tchildren: Z\n\t});\n}\n//#endregion\nexport { v as Button };\n","import { DeferredLayoutQueue as e, useEffect as t, useMemo as n, usePortalSurface as r, useRef as i } from \"@number10/jsx-core\";\n//#region src/Portal.tsx\nfunction a(a) {\n\tlet o = a.depth ?? 1e3, s = a.blockEvents ?? !0, { surface: c, error: l, update: u, vdom: d } = r({\n\t\tdepth: o,\n\t\tid: n(() => a.id ?? `portal-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`, [a.id]),\n\t\tblockEvents: s\n\t}), f = i([]), p = i([]), m = i(!1), h = (e) => {\n\t\tc && c.context.adapter?.syncPortalEventBlocking?.(c, e);\n\t}, g = (t) => {\n\t\tc && e.defer(() => {\n\t\t\th(t);\n\t\t});\n\t}, _ = (e) => e ? (Array.isArray(e) ? e.flat(Infinity) : [e]).filter((e) => !!e && typeof e == \"object\" && \"type\" in e) : [];\n\treturn t(() => {\n\t\tif (!c || !d) return;\n\t\tlet { mount: e } = d, t = c.root, n = _(a.children), r = [];\n\t\tfor (let i of n) if (i) {\n\t\t\tlet n = e(t, i);\n\t\t\tn && r.push(n);\n\t\t}\n\t\tf.current = r, p.current = n, m.current = !0, g(s);\n\t}, [\n\t\tc,\n\t\td,\n\t\ts\n\t]), t(() => {\n\t\tif (!c || !d) return;\n\t\tlet e = _(a.children), t = p.current;\n\t\tif (m.current) {\n\t\t\tm.current = !1;\n\t\t\treturn;\n\t\t}\n\t\tlet { patchVNode: n, mount: r, unmount: i } = d, l = c.root, h = Math.max(t.length, e.length);\n\t\tfor (let a = 0; a < h; a++) {\n\t\t\tlet o = t[a], s = e[a];\n\t\t\tif (o && s) n(l, o, s);\n\t\t\telse if (!o && s) {\n\t\t\t\tlet e = r(l, s);\n\t\t\t\te && f.current.push(e);\n\t\t\t} else o && !s && i(o);\n\t\t}\n\t\tp.current = e, o !== c.zIndex && u({ depth: o }), g(s);\n\t}, [\n\t\ta.children,\n\t\to,\n\t\tc,\n\t\td,\n\t\tu,\n\t\ts\n\t]), t(() => {\n\t\tif (c) {\n\t\t\tif (!s) {\n\t\t\t\th(!1);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\treturn g(!0), () => {\n\t\t\t\th(!1);\n\t\t\t};\n\t\t}\n\t}, [c, s]), l && console.error(`[Portal] ${l}`), null;\n}\n//#endregion\nexport { a as Portal };\n","import { useCallback as e, useEffect as t, useRef as n, useState as r } from \"@number10/jsx-core\";\n//#region src/useOverlayPresence.ts\nfunction i(i) {\n\tlet [a, o] = r(i), [s, c] = r(i ? \"entering\" : \"exited\"), l = n(i), u = i || a;\n\treturn t(() => {\n\t\ti ? (o(!0), l.current || c(\"entering\")) : l.current && c(\"exiting\"), l.current = i;\n\t}, [i]), {\n\t\tisPresent: u,\n\t\tphase: s,\n\t\tfinishEnter: e(() => {\n\t\t\tc((e) => e === \"entering\" ? \"entered\" : e);\n\t\t}, []),\n\t\tfinishExit: e(() => {\n\t\t\to(!1), c(\"exited\");\n\t\t}, [])\n\t};\n}\n//#endregion\nexport { i as useOverlayPresence };\n","import { View as e } from \"./primitives/View.js\";\nimport \"./primitives.js\";\nimport { Portal as t } from \"./Portal.js\";\nimport { useOverlayPresence as n } from \"./useOverlayPresence.js\";\nimport { KNOWN_COMPONENTS as r, applyEffect as i, getGlobalThemeDefaults as a, registerComponentDefaultsIfMissing as o, resolveComponentTheme as s, stopAnimationEffect as c, useCallback as l, useEffect as u, useRef as d, useTheme as f, useViewportSize as p } from \"@number10/jsx-core\";\nimport { Fragment as m, jsx as h, jsxs as g } from \"@number10/jsx-core/jsx-runtime\";\n//#region src/Modal.tsx\nfunction _(e, t) {\n\tif (!e || typeof e != \"object\") return;\n\tlet n = e;\n\tif (typeof n.setVisible == \"function\") {\n\t\tn.setVisible(t);\n\t\treturn;\n\t}\n\t\"visible\" in n && (n.visible = t);\n}\no(\"Modal\", {\n\tbackdropColor: 0,\n\tbackdropOpacity: .5,\n\topenDuration: 320,\n\tcloseDuration: 260\n});\nfunction v(t) {\n\tlet n = p(), r = d(null), a = d(null), o = d(!1), s = d(!1), f = d(0), v = d(null), y = d(null), b = d(t.onOpen), x = d(t.onClosed), S = d(t.onRequestClose), C = l((e) => {\n\t\tr.current = e;\n\t}, []), w = l((e) => {\n\t\ta.current = e;\n\t}, []), T = l(() => {\n\t\tv.current !== null && (window.clearTimeout(v.current), v.current = null);\n\t}, []), E = l(() => {\n\t\ty.current !== null && (window.clearTimeout(y.current), y.current = null);\n\t}, []), D = l((e) => {\n\t\te && typeof e == \"object\" && c(e);\n\t}, []);\n\treturn u(() => {\n\t\tb.current = t.onOpen, x.current = t.onClosed, S.current = t.onRequestClose;\n\t}, [\n\t\tt.onClosed,\n\t\tt.onOpen,\n\t\tt.onRequestClose\n\t]), u(() => {\n\t\tt.show || (o.current = !1, s.current = !1);\n\t}, [t.show]), u(() => {\n\t\tlet e = r.current, n = a.current;\n\t\tif (!e || !n) return;\n\t\tT(), E(), D(n), D(e);\n\t\tlet c = () => {\n\t\t\tlet r = ++f.current;\n\t\t\to.current = !0, s.current = !1, t.closeRequestedRef.current = !1, _(e, !0), _(n, !0), b.current?.();\n\t\t\tlet a = () => {\n\t\t\t\tr === f.current && (T(), t.finishEnter());\n\t\t\t};\n\t\t\treturn v.current = window.setTimeout(() => {\n\t\t\t\ta();\n\t\t\t}, t.openDurationMs), i(n, t.viewOpenEffect, {\n\t\t\t\ttime: t.openDurationMs,\n\t\t\t\tonComplete: a\n\t\t\t}), i(e, \"fadeIn\", { time: t.openDurationMs }), () => {\n\t\t\t\tr === f.current && T();\n\t\t\t};\n\t\t};\n\t\tif (t.show && t.phase === \"entering\" && !o.current) return c();\n\t\tif (t.show && t.phase === \"entered\" && !o.current) return console.warn(\"[Modal] starting enter animation on entered phase (likely async portal timing)\"), c();\n\t\tif (!t.show && t.phase === \"exiting\" && !s.current) {\n\t\t\tlet r = ++f.current;\n\t\t\ts.current = !0, _(e, !0), _(n, !0);\n\t\t\tlet a = () => {\n\t\t\t\tr === f.current && (E(), _(e, !1), _(n, !1), t.finishExit(), (S.current !== void 0 || !t.closeRequestedRef.current) && x.current?.(), t.closeRequestedRef.current = !1);\n\t\t\t};\n\t\t\treturn y.current = window.setTimeout(() => {\n\t\t\t\ta();\n\t\t\t}, t.closeDurationMs), i(n, t.viewCloseEffect, {\n\t\t\t\ttime: t.closeDurationMs,\n\t\t\t\tonComplete: a\n\t\t\t}), i(e, \"fadeOut\", { time: t.closeDurationMs }), () => {\n\t\t\t\tr === f.current && E();\n\t\t\t};\n\t\t}\n\t}, [\n\t\tE,\n\t\tT,\n\t\tt.closeDurationMs,\n\t\tt.closeRequestedRef,\n\t\tt.finishEnter,\n\t\tt.finishExit,\n\t\tt.openDurationMs,\n\t\tt.phase,\n\t\tt.show,\n\t\tt.viewCloseEffect,\n\t\tt.viewOpenEffect,\n\t\tD\n\t]), u(() => () => {\n\t\tT(), E(), D(a.current), D(r.current);\n\t}, [\n\t\tE,\n\t\tT,\n\t\tD\n\t]), /* @__PURE__ */ g(m, { children: [/* @__PURE__ */ h(e, {\n\t\tref: C,\n\t\twidth: n.width,\n\t\theight: n.height,\n\t\tbackgroundColor: t.themedModal.backdropColor ?? 0,\n\t\talpha: t.themedModal.backdropOpacity ?? .5,\n\t\tonTouch: (e) => {\n\t\t\te.stopPropagation(), t.closeOnBackdrop && t.requestClose();\n\t\t},\n\t\tonTouchMove: (e) => {\n\t\t\te.stopPropagation();\n\t\t}\n\t}), /* @__PURE__ */ h(e, {\n\t\twidth: n.width,\n\t\theight: n.height,\n\t\tdirection: \"row\",\n\t\tjustifyContent: \"center\",\n\t\talignItems: \"center\",\n\t\tchildren: /* @__PURE__ */ h(e, {\n\t\t\tref: w,\n\t\t\tonTouch: (e) => e.stopPropagation(),\n\t\t\tonTouchMove: (e) => e.stopPropagation(),\n\t\t\ttheme: t.nestedTheme,\n\t\t\tchildren: t.children\n\t\t})\n\t})] });\n}\nfunction y(e) {\n\tlet i = f(), { props: o, nestedTheme: c } = s({\n\t\tcomponentName: \"Modal\",\n\t\tglobalTheme: a(),\n\t\tlocalTheme: i,\n\t\tknownComponents: r\n\t}), p = o, m = e.closeOnBackdrop ?? !0, g = e.closeOnEscape ?? !0, _ = p.openDuration ?? 320, y = p.closeDuration ?? 260, b = n(e.show), x = d(!1), S = e.viewOpenEffect ?? \"fadeIn\", C = e.viewCloseEffect ?? \"fadeOut\", w = l(() => {\n\t\tif (x.current = !0, e.onRequestClose) {\n\t\t\te.onRequestClose();\n\t\t\treturn;\n\t\t}\n\t\te.onClosed?.();\n\t}, [e.onClosed, e.onRequestClose]);\n\treturn u(() => {\n\t\tif (!g || !e.show) return;\n\t\tlet t = (e) => {\n\t\t\te.key === \"Escape\" && w();\n\t\t};\n\t\treturn window.addEventListener(\"keydown\", t), () => window.removeEventListener(\"keydown\", t);\n\t}, [\n\t\tg,\n\t\te.show,\n\t\tw\n\t]), b.isPresent ? /* @__PURE__ */ h(t, {\n\t\t...e.key && { key: e.key },\n\t\tdepth: e.depth ?? 1e3,\n\t\tblockEvents: !1,\n\t\tchildren: /* @__PURE__ */ h(v, {\n\t\t\tshow: e.show,\n\t\t\tphase: b.phase,\n\t\t\tfinishEnter: b.finishEnter,\n\t\t\tfinishExit: b.finishExit,\n\t\t\tcloseOnBackdrop: m,\n\t\t\tthemedModal: p,\n\t\t\tnestedTheme: c,\n\t\t\topenDurationMs: _,\n\t\t\tcloseDurationMs: y,\n\t\t\tviewOpenEffect: S,\n\t\t\tviewCloseEffect: C,\n\t\t\tonOpen: e.onOpen,\n\t\t\tonClosed: e.onClosed,\n\t\t\tonRequestClose: e.onRequestClose,\n\t\t\trequestClose: w,\n\t\t\tcloseRequestedRef: x,\n\t\t\tchildren: e.children\n\t\t})\n\t}) : null;\n}\n//#endregion\nexport { y as Modal };\n","import { Text as e } from \"./primitives/Text.js\";\nimport { View as t } from \"./primitives/View.js\";\nimport \"./primitives.js\";\nimport { Modal as n } from \"./Modal.js\";\nimport { KNOWN_COMPONENTS as r, getGlobalThemeDefaults as i, registerComponentDefaultsIfMissing as a, resolveComponentTheme as o, useRef as s, useTheme as c } from \"@number10/jsx-core\";\nimport { jsx as l, jsxs as u } from \"@number10/jsx-core/jsx-runtime\";\n//#region src/Dialog.tsx\na(\"Dialog\", {\n\tbackgroundColor: 16777215,\n\tcornerRadius: 8,\n\tmaxWidth: 600,\n\tshowClose: !0,\n\tHeader: {\n\t\tpadding: {\n\t\t\tleft: 24,\n\t\t\tright: 24,\n\t\t\ttop: 20,\n\t\t\tbottom: 16\n\t\t},\n\t\tgap: 12,\n\t\tborderColor: 14737632,\n\t\tcloseButton: {\n\t\t\tsize: 32,\n\t\t\tcornerRadius: 4\n\t\t}\n\t},\n\tContent: {\n\t\tpadding: {\n\t\t\tleft: 24,\n\t\t\tright: 24,\n\t\t\ttop: 16,\n\t\t\tbottom: 16\n\t\t},\n\t\tgap: 12\n\t},\n\tActions: {\n\t\tpadding: {\n\t\t\tleft: 24,\n\t\t\tright: 24,\n\t\t\ttop: 16,\n\t\t\tbottom: 20\n\t\t},\n\t\tgap: 12,\n\t\tjustifyContent: \"end\",\n\t\tborderColor: 14737632\n\t}\n});\nfunction d(a) {\n\tlet d = c(), { props: f, nestedTheme: p } = o({\n\t\tcomponentName: \"Dialog\",\n\t\tglobalTheme: i(),\n\t\tlocalTheme: d,\n\t\tknownComponents: r\n\t}), m = s(null), h = a.showClose ?? f.showClose ?? !0, g = a.maxWidth ?? f.maxWidth ?? 600, _ = a.prefix ?? f.prefix, v = f.backgroundColor ?? 16777215, y = f.cornerRadius ?? 8, b = f.Header, x = b?.gap ?? 12, S = b?.padding ?? 16, C = b?.borderColor ?? 14737632, w = b?.textStyle, T = b?.closeButton, E = T?.size ?? 32, D = T?.cornerRadius ?? 4, O = T?.backgroundColor, k = T?.borderColor, A = T?.borderWidth, j = f.closeIcon, M = f.Content, N = M?.padding ?? 16, P = M?.gap ?? 12, F = f.Actions, I = F?.borderColor ?? 14737632, L = F?.justifyContent ?? \"end\", R = F?.gap ?? 8, z = F?.padding ?? 16, B = (e) => {\n\t\tm.current = e, a.forwardRef?.(e);\n\t};\n\treturn /* @__PURE__ */ l(n, {\n\t\t...a.key && { key: a.key },\n\t\tshow: a.isOpen,\n\t\tonClosed: a.onClose,\n\t\tcloseOnBackdrop: a.closeOnBackdrop,\n\t\tcloseOnEscape: a.closeOnEscape,\n\t\tdepth: a.depth,\n\t\tchildren: /* @__PURE__ */ u(t, {\n\t\t\tref: B,\n\t\t\twidth: g,\n\t\t\tmaxWidth: g,\n\t\t\tbackgroundColor: v,\n\t\t\tcornerRadius: y,\n\t\t\tpadding: 0,\n\t\t\tdirection: \"column\",\n\t\t\ttheme: p,\n\t\t\tchildren: [\n\t\t\t\t/* @__PURE__ */ u(t, {\n\t\t\t\t\tdirection: \"column\",\n\t\t\t\t\tgap: 0,\n\t\t\t\t\twidth: \"fill\",\n\t\t\t\t\tchildren: [/* @__PURE__ */ u(t, {\n\t\t\t\t\t\tdirection: \"row\",\n\t\t\t\t\t\twidth: \"fill\",\n\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t\tgap: x,\n\t\t\t\t\t\tpadding: S,\n\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t_ && _,\n\t\t\t\t\t\t\t/* @__PURE__ */ l(t, {\n\t\t\t\t\t\t\t\tflex: 1,\n\t\t\t\t\t\t\t\tchildren: /* @__PURE__ */ l(e, {\n\t\t\t\t\t\t\t\t\ttext: a.title,\n\t\t\t\t\t\t\t\t\tstyle: w\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\th && a.onClose && /* @__PURE__ */ l(t, {\n\t\t\t\t\t\t\t\twidth: E,\n\t\t\t\t\t\t\t\theight: E,\n\t\t\t\t\t\t\t\tjustifyContent: \"center\",\n\t\t\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t\t\t\tcornerRadius: D,\n\t\t\t\t\t\t\t\tbackgroundColor: O,\n\t\t\t\t\t\t\t\tborderColor: k,\n\t\t\t\t\t\t\t\tborderWidth: A,\n\t\t\t\t\t\t\t\tonTouch: (e) => {\n\t\t\t\t\t\t\t\t\te.stopPropagation(), a.onClose?.();\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tchildren: j ?? /* @__PURE__ */ l(e, { text: \"X\" })\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t]\n\t\t\t\t\t}), /* @__PURE__ */ l(t, {\n\t\t\t\t\t\theight: 1,\n\t\t\t\t\t\twidth: \"fill\",\n\t\t\t\t\t\tbackgroundColor: C\n\t\t\t\t\t})]\n\t\t\t\t}),\n\t\t\t\t/* @__PURE__ */ l(t, {\n\t\t\t\t\twidth: \"fill\",\n\t\t\t\t\tpadding: N,\n\t\t\t\t\tdirection: \"column\",\n\t\t\t\t\tgap: P,\n\t\t\t\t\tchildren: a.children\n\t\t\t\t}),\n\t\t\t\ta.actions && /* @__PURE__ */ u(t, {\n\t\t\t\t\tdirection: \"column\",\n\t\t\t\t\tgap: 0,\n\t\t\t\t\twidth: \"fill\",\n\t\t\t\t\tchildren: [/* @__PURE__ */ l(t, {\n\t\t\t\t\t\theight: 1,\n\t\t\t\t\t\twidth: \"fill\",\n\t\t\t\t\t\tbackgroundColor: I\n\t\t\t\t\t}), /* @__PURE__ */ l(t, {\n\t\t\t\t\t\tdirection: \"row\",\n\t\t\t\t\t\tjustifyContent: L,\n\t\t\t\t\t\tgap: R,\n\t\t\t\t\t\tpadding: z,\n\t\t\t\t\t\tchildren: a.actions\n\t\t\t\t\t})]\n\t\t\t\t})\n\t\t\t]\n\t\t})\n\t});\n}\n//#endregion\nexport { d as Dialog };\n","import { Text as e } from \"./primitives/Text.js\";\nimport { View as t } from \"./primitives/View.js\";\nimport \"./primitives.js\";\nimport { DeferredLayoutQueue as n, KNOWN_COMPONENTS as r, getGlobalThemeDefaults as i, normalizeEdgeInsets as a, normalizePadding as o, resolveComponentTheme as s, useCallback as c, useEffect as l, useLayoutEffect as u, useRef as d, useState as f, useTheme as p, useViewportSize as m } from \"@number10/jsx-core\";\nimport { jsx as h } from \"@number10/jsx-core/jsx-runtime\";\n//#region src/WrapText.tsx\nvar g = /* @__PURE__ */ new Map();\nfunction _(e) {\n\tif (e.__layoutParent && typeof e.__layoutParent == \"object\") return e.__layoutParent;\n\tif (e.parent) return e.parent;\n\tlet t = e.parentContainer;\n\treturn t && typeof t == \"object\" ? t : null;\n}\nfunction v(e) {\n\treturn e ? (e.__getLayoutSize?.() ?? e.__cachedLayoutSize)?.width ?? 0 : 0;\n}\nfunction y(e) {\n\tlet t = v(e), n = _(e);\n\tfor (; n;) {\n\t\tlet e = v(n);\n\t\tif (t <= 0 && e > 0 && (t = e), n.__layoutProps?.width !== void 0 && e > 0) {\n\t\t\tlet t = o(n.__layoutProps.padding);\n\t\t\treturn Math.max(0, e - t.left - t.right);\n\t\t}\n\t\tn = _(n);\n\t}\n\treturn t;\n}\nfunction b(o) {\n\tlet _ = p(), { props: v, nestedTheme: b } = s({\n\t\tcomponentName: \"WrapText\",\n\t\tglobalTheme: i(),\n\t\tlocalTheme: _,\n\t\tknownComponents: r\n\t}), x = m(), S = o.wrap ?? v.wrap ?? !0, C = v.paddingOffset ?? 0, w = typeof o.text == \"string\" ? o.text : null, T = null;\n\ttypeof o.cacheKey == \"string\" ? T = o.cacheKey : typeof o.key == \"string\" ? T = w ? `${o.key}::${w}` : o.key : w && (T = w);\n\tlet E = T ? g.get(T) ?? 0 : 0, [D, O] = f(E), k = d(E), A = d(null), j = d(null), M = c((e) => {\n\t\tif (!S) return;\n\t\tlet t = () => {\n\t\t\tlet t = y(e);\n\t\t\tt > 0 && t !== k.current && t !== D && (k.current = t, T && g.set(T, t), O(t));\n\t\t};\n\t\tj.current === null && (j.current = 1, n.defer(() => {\n\t\t\tj.current = null, t();\n\t\t}));\n\t}, [\n\t\tT,\n\t\tD,\n\t\tS\n\t]), N = c((e) => {\n\t\tlet t = e;\n\t\tA.current !== t && (A.current = t, !(!t || !S || D > 0) && M(t));\n\t}, [\n\t\tD,\n\t\tM,\n\t\tS\n\t]);\n\tl(() => {\n\t\tif (!S || D > 0) return;\n\t\tlet e = A.current;\n\t\te && M(e);\n\t}, [\n\t\tD,\n\t\tM,\n\t\tS\n\t]), u(() => {\n\t\tS && A.current && (k.current = 0, O(0), n.defer(() => {\n\t\t\tA.current && M(A.current);\n\t\t}));\n\t}, [x.width, x.height]), l(() => () => {\n\t\tj.current = null;\n\t}, []);\n\tlet P = D > 0 ? D : k.current, F = a(o.padding), I = (F.left ?? 0) + (F.right ?? 0), L = Math.max(0, (P > C ? P - C : 0) - I), R = {\n\t\t...v.textStyle ?? {},\n\t\t...o.style ?? {}\n\t}, z = S && L > 0, B = {};\n\treturn o.backgroundColor !== void 0 && (B.backgroundColor = o.backgroundColor), o.cornerRadius !== void 0 && (B.cornerRadius = o.cornerRadius), o.borderWidth !== void 0 && (B.borderWidth = o.borderWidth), o.borderColor !== void 0 && (B.borderColor = o.borderColor), o.borderAlpha !== void 0 && (B.borderAlpha = o.borderAlpha), o.enableGestures !== void 0 && (B.enableGestures = o.enableGestures), o.onTouch !== void 0 && (B.onTouch = o.onTouch), o.onTouchOutside !== void 0 && (B.onTouchOutside = o.onTouchOutside), o.onTouchMove !== void 0 && (B.onTouchMove = o.onTouchMove), o.onDoubleTap !== void 0 && (B.onDoubleTap = o.onDoubleTap), o.onLongPress !== void 0 && (B.onLongPress = o.onLongPress), o.onWheel !== void 0 && (B.onWheel = o.onWheel), o.longPressDuration !== void 0 && (B.longPressDuration = o.longPressDuration), o.doubleTapDelay !== void 0 && (B.doubleTapDelay = o.doubleTapDelay), o.maxTouchDuration !== void 0 && (B.maxTouchDuration = o.maxTouchDuration), o.margin !== void 0 && (B.margin = o.margin), o.padding !== void 0 && (B.padding = o.padding), o.visible !== void 0 && (B.visible = o.visible), /* @__PURE__ */ h(t, {\n\t\tref: N,\n\t\twidth: \"fill\",\n\t\ttheme: b,\n\t\t...B,\n\t\tchildren: /* @__PURE__ */ h(e, {\n\t\t\ttext: o.text,\n\t\t\tstyle: R,\n\t\t\t...z && { maxWidth: L },\n\t\t\t...o.alpha !== void 0 && { alpha: o.alpha },\n\t\t\t...o.x !== void 0 && { x: o.x },\n\t\t\t...o.y !== void 0 && { y: o.y }\n\t\t})\n\t});\n}\n//#endregion\nexport { b as WrapText };\n","import { Text as e } from \"./primitives/Text.js\";\nimport \"./primitives.js\";\nimport { Button as t } from \"./Button.js\";\nimport { Dialog as n } from \"./Dialog.js\";\nimport { WrapText as r } from \"./WrapText.js\";\nimport { KNOWN_COMPONENTS as i, getGlobalThemeDefaults as a, registerComponentDefaultsIfMissing as o, resolveComponentTheme as s, useCallback as c, useEffect as l, useMemo as u, useState as d, useTheme as f } from \"@number10/jsx-core\";\nimport { Fragment as p, jsx as m, jsxs as h } from \"@number10/jsx-core/jsx-runtime\";\n//#region src/AlertDialog.tsx\no(\"AlertDialog\", {\n\tmaxWidth: 500,\n\tvariants: {\n\t\tinfo: {},\n\t\twarning: {},\n\t\tdestructive: {},\n\t\tsuccess: {}\n\t}\n});\nfunction g(o) {\n\tlet g = f(), { props: _ } = s({\n\t\tcomponentName: \"AlertDialog\",\n\t\tglobalTheme: a(),\n\t\tlocalTheme: g,\n\t\tknownComponents: i\n\t}), [v, y] = d(!1), b = o.showCancel ?? !0, x = o.closeOnConfirm ?? !0, S = o.loading ?? v, C = _.maxWidth ?? 400, w = _.variants, T = o.variant ? w?.[o.variant] : void 0, E = o.prefix ?? T?.prefix, D = T?.buttonVariant, O = c(async () => {\n\t\tif (o.onConfirm) try {\n\t\t\ty(!0);\n\t\t\tlet e = o.onConfirm();\n\t\t\te instanceof Promise && await e, x && o.onClose?.();\n\t\t} catch (e) {\n\t\t\tconsole.error(\"AlertDialog confirm error:\", e);\n\t\t} finally {\n\t\t\ty(!1);\n\t\t}\n\t}, [\n\t\to.onConfirm,\n\t\tx,\n\t\to.onClose\n\t]);\n\tl(() => {\n\t\to.isOpen || y(!1);\n\t}, [o.isOpen]);\n\tlet k = u(() => /* @__PURE__ */ h(p, { children: [b && /* @__PURE__ */ m(t, {\n\t\tonClick: () => setTimeout(() => o.onClose?.(), 200),\n\t\tdisabled: S,\n\t\tchildren: /* @__PURE__ */ m(e, { text: o.cancelText ?? \"Cancel\" })\n\t}), o.onConfirm && /* @__PURE__ */ m(t, {\n\t\tvariant: D,\n\t\tonClick: () => setTimeout(() => O(), 200),\n\t\tdisabled: S,\n\t\tchildren: /* @__PURE__ */ m(e, { text: o.confirmText ?? \"OK\" })\n\t})] }), [\n\t\tb,\n\t\to.onClose,\n\t\to.cancelText,\n\t\tS,\n\t\to.onConfirm,\n\t\tD,\n\t\tO,\n\t\to.confirmText\n\t]), A = u(() => o.description ? /* @__PURE__ */ m(r, { text: o.description }) : null, [o.description]);\n\treturn /* @__PURE__ */ m(n, {\n\t\t...o.key && { key: o.key },\n\t\tisOpen: o.isOpen,\n\t\tonClose: o.onClose,\n\t\ttitle: o.title,\n\t\tprefix: E,\n\t\tmaxWidth: C,\n\t\tshowClose: !0,\n\t\tactions: k,\n\t\tcloseOnBackdrop: !1,\n\t\tcloseOnEscape: !1,\n\t\tchildren: A\n\t});\n}\n//#endregion\nexport { g as AlertDialog };\n","import { Text as e } from \"./primitives/Text.js\";\nimport { View as t } from \"./primitives/View.js\";\nimport \"./primitives.js\";\nimport { KNOWN_COMPONENTS as n, resolveComponentTheme as r, useTheme as i, useThemeTokens as a } from \"@number10/jsx-core\";\nimport { jsx as o, jsxs as s } from \"@number10/jsx-core/jsx-runtime\";\n//#region src/DebugPanel.tsx\nvar c = {\n\tfps: [\"fps\", \"frameMs\"],\n\tperf: [\n\t\t\"fps\",\n\t\t\"frameMs\",\n\t\t\"renderer\",\n\t\t\"viewport\"\n\t],\n\tvdom: [\n\t\t\"mountsTotal\",\n\t\t\"mountsByType\",\n\t\t\"mountsByParent\",\n\t\t\"mountsByKey\"\n\t],\n\ttextures: [\"textureCount\"],\n\tfull: [\n\t\t\"fps\",\n\t\t\"frameMs\",\n\t\t\"phaserVersion\",\n\t\t\"renderer\",\n\t\t\"viewport\",\n\t\t\"textureCount\",\n\t\t\"mountsTotal\",\n\t\t\"mountsByType\",\n\t\t\"mountsByParent\",\n\t\t\"mountsByKey\",\n\t\t\"debugFlags\"\n\t]\n}, l = {\n\tfps: \"FPS\",\n\tframeMs: \"Frame ms\",\n\tphaserVersion: \"Phaser\",\n\trenderer: \"Renderer\",\n\tviewport: \"Viewport\",\n\ttextureCount: \"Textures\",\n\tmountsTotal: \"Mounts\",\n\tmountsByType: \"Mounts/type\",\n\tmountsByParent: \"Mounts/parent\",\n\tmountsByKey: \"Mounts/key\",\n\tdebugFlags: \"Debug flags\"\n};\nfunction u(e) {\n\tif (typeof e == \"string\") return e;\n\tif (typeof e == \"number\" || typeof e == \"boolean\") return String(e);\n\tif (e === null) return \"null\";\n\tif (e === void 0) return \"undefined\";\n\tif (typeof e == \"object\") {\n\t\tlet t = e;\n\t\tif (typeof t.name == \"string\" && t.name.length > 0) return t.name;\n\t\tif (typeof t.type == \"string\") return t.type;\n\t\tif (typeof t.label == \"string\") return t.label;\n\t\tlet n = t.constructor;\n\t\tif (n?.name && n.name !== \"Object\") return n.name;\n\t}\n\treturn String(e);\n}\nfunction d(e, t = 3) {\n\treturn Array.from(e.entries()).sort((e, t) => t[1] - e[1]).slice(0, t).map(([e, t]) => `${u(e)}:${t}`).join(\" | \") || \"-\";\n}\nfunction f(e) {\n\treturn typeof e == \"number\" ? String(e) : e;\n}\nfunction p(u) {\n\tlet d = i(), { props: p } = r({\n\t\tcomponentName: \"DebugPanel\",\n\t\tlocalTheme: u.theme ?? d,\n\t\tknownComponents: n\n\t}), m = a(), { snapshot: h, preset: g = \"fps\", metrics: _, compact: v = !1, maxRows: y, labels: b, formatters: x, innerProps: S, theme: C, ...w } = u, T = (() => {\n\t\tlet e = _ && _.length > 0 ? _ : c[g];\n\t\treturn Array.from(new Set(e));\n\t})(), E = p.rowTextStyle ?? m?.textStyles.small, D = p.valueTextStyle ?? m?.textStyles.small, O = T.map((e) => {\n\t\tlet t = h[e], n = b?.[e] ?? l[e], r = x?.[e];\n\t\treturn {\n\t\t\tmetric: e,\n\t\t\tlabel: n,\n\t\t\tvalue: r ? r(t) : f(t)\n\t\t};\n\t}), k = typeof y == \"number\" ? O.slice(0, Math.max(1, y)) : O;\n\tif (v) {\n\t\tlet n = k.map((e) => `${e.label} ${e.value}`).join(\" | \");\n\t\treturn /* @__PURE__ */ o(t, {\n\t\t\t...w,\n\t\t\t...p,\n\t\t\tchildren: /* @__PURE__ */ o(e, {\n\t\t\t\ttext: n,\n\t\t\t\tstyle: D\n\t\t\t})\n\t\t});\n\t}\n\treturn /* @__PURE__ */ o(t, {\n\t\tdirection: \"column\",\n\t\tgap: p.rowGap ?? 4,\n\t\t...w,\n\t\t...p,\n\t\tchildren: k.map((n) => /* @__PURE__ */ s(t, {\n\t\t\tdirection: \"row\",\n\t\t\tgap: 8,\n\t\t\t...S,\n\t\t\tchildren: [/* @__PURE__ */ o(e, {\n\t\t\t\ttext: `${n.label}:`,\n\t\t\t\tstyle: E\n\t\t\t}), /* @__PURE__ */ o(e, {\n\t\t\t\ttext: n.value,\n\t\t\t\tstyle: D\n\t\t\t})]\n\t\t}, `debug-${n.metric}`))\n\t});\n}\n//#endregion\nexport { l as DEFAULT_LABELS, p as DebugPanel, c as PRESET_METRICS, f as formatDefault, d as summarizeMap };\n","import { Text as e } from \"./primitives/Text.js\";\nimport { View as t } from \"./primitives/View.js\";\nimport \"./primitives.js\";\nimport { Portal as n } from \"./Portal.js\";\nimport { useOverlayPresence as r } from \"./useOverlayPresence.js\";\nimport { DeferredLayoutQueue as i, KNOWN_COMPONENTS as a, applyEffect as o, getGlobalThemeDefaults as s, mergeThemes as c, resolveComponentTheme as l, stopEffect as u, useEffect as d, useRef as f, useState as p, useTheme as m, useViewportSize as h } from \"@number10/jsx-core\";\nimport { Fragment as g, jsx as _, jsxs as v } from \"@number10/jsx-core/jsx-runtime\";\n//#region src/Popover.tsx\nfunction y(e) {\n\treturn e.split(\"-\")[0];\n}\nfunction b(e) {\n\treturn e.split(\"-\")[1] ?? \"center\";\n}\nfunction x(e) {\n\tlet { anchor: t, content: n, placement: r, offset: i } = e, a = y(r), o = b(r), s, c;\n\ta === \"top\" || a === \"bottom\" ? (c = a === \"top\" ? t.y - n.height - i : t.y + t.height + i, s = o === \"start\" ? t.x : o === \"end\" ? t.x + t.width - n.width : t.x + (t.width - n.width) / 2) : (s = a === \"left\" ? t.x - n.width - i : t.x + t.width + i, c = o === \"start\" ? t.y : o === \"end\" ? t.y + t.height - n.height : t.y + (t.height - n.height) / 2);\n\tlet l = e.viewport;\n\tif (l) {\n\t\tlet t = e.viewportPadding ?? 8;\n\t\ts = Math.min(Math.max(t, s), Math.max(t, l.width - n.width - t)), c = Math.min(Math.max(t, c), Math.max(t, l.height - n.height - t));\n\t}\n\treturn {\n\t\tx: s,\n\t\ty: c,\n\t\tplacement: r\n\t};\n}\nfunction S(e) {\n\treturn e?.__getLayoutSize?.() ?? e?.__cachedLayoutSize ?? {\n\t\twidth: 0,\n\t\theight: 0\n\t};\n}\nfunction C(e) {\n\tlet t = e;\n\tif (typeof t.getAbsolutePosition == \"function\") {\n\t\tlet e = t.getAbsolutePosition();\n\t\treturn {\n\t\t\tx: e.x,\n\t\t\ty: e.y\n\t\t};\n\t}\n\tlet n = e;\n\tif (typeof n.getGlobalPosition == \"function\") {\n\t\tlet e = n.getGlobalPosition();\n\t\treturn {\n\t\t\tx: e.x,\n\t\t\ty: e.y\n\t\t};\n\t}\n\tlet r = e.x ?? 0, i = e.y ?? 0, a = e.parent;\n\tfor (; a;) r += a.x ?? 0, i += a.y ?? 0, a = a.parent;\n\treturn {\n\t\tx: r,\n\t\ty: i\n\t};\n}\nfunction w(e) {\n\tif (!e) return {\n\t\tx: 0,\n\t\ty: 0,\n\t\twidth: 0,\n\t\theight: 0\n\t};\n\tlet t = S(e), n = C(e);\n\treturn {\n\t\tx: n.x,\n\t\ty: n.y,\n\t\twidth: t.width,\n\t\theight: t.height\n\t};\n}\nvar T = {\n\twidth: 220,\n\theight: 120\n};\nfunction E(e, t) {\n\tif (e) {\n\t\tif (typeof e == \"function\") {\n\t\t\te(t);\n\t\t\treturn;\n\t\t}\n\t\te.current = t;\n\t}\n}\nfunction D(e) {\n\tlet y = m(), b = e.theme ? c(y ?? {}, e.theme) : y, { props: C, nestedTheme: D } = l({\n\t\tcomponentName: \"Popover\",\n\t\tglobalTheme: s(),\n\t\tlocalTheme: b,\n\t\tknownComponents: a\n\t}), O = f(null), k = f(null), [A, j] = p(null), [ee, te] = p(e.defaultOpen ?? !1), M = e.isOpen !== void 0, N = M ? e.isOpen === !0 : ee, P = r(N), ne = e.placement ?? C.placement ?? \"bottom\", re = e.offset ?? C.offset ?? 8, ie = e.depth ?? C.depth ?? 1100, ae = e.closeOnOutside ?? C.closeOnOutside ?? !0, F = e.closeOnEscape ?? C.closeOnEscape ?? !0, I = e.viewportPadding ?? C.viewportPadding ?? 8, oe = e.openEffect ?? C.openEffect ?? \"fadeIn\", se = e.closeEffect ?? C.closeEffect ?? \"fadeOut\", L = e.openDuration ?? C.openDuration ?? 120, R = e.closeDuration ?? C.closeDuration ?? 100, z = e.contentWidth ?? C.contentWidth, B = e.contentHeight ?? C.contentHeight, V = h(), [H, U] = p(w(O.current)), W = A?.width ?? T.width, G = A?.height ?? T.height, K = z === void 0 || B === void 0, q = !K || A !== null, J = e.matchTriggerWidth ? Math.max(H.width, z ?? W) : z ?? W, Y = x({\n\t\tanchor: H,\n\t\tcontent: {\n\t\t\twidth: J,\n\t\t\theight: B ?? G\n\t\t},\n\t\tplacement: ne,\n\t\toffset: re,\n\t\tviewport: V,\n\t\tviewportPadding: I\n\t}), X = (t) => {\n\t\te.disabled && t || (M || te(t), e.onOpenChange?.(t));\n\t}, ce = (e) => {\n\t\te.stopPropagation(), X(!N);\n\t}, le = (e) => {\n\t\te?.stopPropagation(), X(!1);\n\t}, Z = e.contentProps ?? {}, ue = Z.ref, Q = Z.alpha, de = (e) => {\n\t\tlet t = e;\n\t\tk.current = t, E(ue, t);\n\t}, $ = P.phase === \"entered\" || P.phase === \"exiting\" ? Q : 0;\n\treturn d(() => {\n\t\tif (!F || !N) return;\n\t\tlet e = (e) => {\n\t\t\te.key === \"Escape\" && X(!1);\n\t\t};\n\t\treturn window.addEventListener(\"keydown\", e), () => window.removeEventListener(\"keydown\", e);\n\t}, [F, N]), d(() => {\n\t\tif (!P.isPresent) return;\n\t\tlet e = !1, t = () => {\n\t\t\tif (e) return;\n\t\t\tlet n = w(O.current);\n\t\t\tU((e) => Math.abs(e.x - n.x) < .5 && Math.abs(e.y - n.y) < .5 && Math.abs(e.width - n.width) < .5 && Math.abs(e.height - n.height) < .5 ? e : n), i.defer(t);\n\t\t};\n\t\treturn i.defer(t), () => {\n\t\t\te = !0;\n\t\t};\n\t}, [P.isPresent]), d(() => {\n\t\tif (!P.isPresent || !K) return;\n\t\tlet e = !1, t = () => {\n\t\t\tif (e) return;\n\t\t\tlet n = S(k.current);\n\t\t\tn.width > 0 && n.height > 0 && j((e) => e && Math.abs(e.width - n.width) < .5 && Math.abs(e.height - n.height) < .5 ? e : {\n\t\t\t\twidth: n.width,\n\t\t\t\theight: n.height\n\t\t\t}), i.defer(t);\n\t\t};\n\t\treturn i.defer(t), () => {\n\t\t\te = !0;\n\t\t};\n\t}, [\n\t\tP.isPresent,\n\t\tK,\n\t\te.children,\n\t\tz,\n\t\tB\n\t]), d(() => {\n\t\tlet e = k.current;\n\t\tif (!(!e || !P.isPresent)) if (P.phase === \"entering\") {\n\t\t\tif (!q) return;\n\t\t\tu(e), e.setVisible?.(!0), o(e, oe, {\n\t\t\t\ttime: L,\n\t\t\t\tonComplete: P.finishEnter\n\t\t\t});\n\t\t} else P.phase === \"exiting\" && (u(e), o(e, se, {\n\t\t\ttime: R,\n\t\t\tonComplete: () => {\n\t\t\t\tk.current?.setVisible?.(!1), j(null), P.finishExit();\n\t\t\t}\n\t\t}));\n\t}, [\n\t\tP.phase,\n\t\tP.isPresent,\n\t\tq,\n\t\tL,\n\t\tR\n\t]), /* @__PURE__ */ v(g, { children: [/* @__PURE__ */ _(t, {\n\t\t...e.triggerProps ?? {},\n\t\tref: O,\n\t\tenableGestures: !e.disabled,\n\t\tonTouch: ce,\n\t\tchildren: e.trigger\n\t}), P.isPresent && /* @__PURE__ */ v(n, {\n\t\tdepth: ie,\n\t\tblockEvents: !1,\n\t\tchildren: [ae && /* @__PURE__ */ _(t, {\n\t\t\twidth: V.width,\n\t\t\theight: V.height,\n\t\t\tbackgroundColor: 0,\n\t\t\tbackgroundAlpha: 0,\n\t\t\tonTouch: le,\n\t\t\tonTouchMove: (e) => e.stopPropagation()\n\t\t}), /* @__PURE__ */ _(t, {\n\t\t\tdirection: \"column\",\n\t\t\tbackgroundColor: C.backgroundColor ?? 1120295,\n\t\t\tborderColor: C.borderColor ?? 3359061,\n\t\t\tborderWidth: C.borderWidth ?? 1,\n\t\t\tcornerRadius: C.cornerRadius ?? 8,\n\t\t\tpadding: C.padding ?? 10,\n\t\t\tgap: C.gap ?? 8,\n\t\t\t...Z,\n\t\t\tref: de,\n\t\t\tx: Y.x,\n\t\t\ty: Y.y,\n\t\t\t...e.matchTriggerWidth || z !== void 0 ? { width: J } : {},\n\t\t\t...$ === void 0 ? {} : { alpha: $ },\n\t\t\tonTouch: (e) => e.stopPropagation(),\n\t\t\ttheme: D,\n\t\t\tchildren: e.children\n\t\t})]\n\t})] });\n}\nfunction O(n) {\n\tlet { items: r, width: i, onSelect: o, isOpen: u, defaultOpen: d, onOpenChange: f, ...h } = n, g = m(), y = n.theme ? c(g ?? {}, n.theme) : g, { props: b, nestedTheme: x } = l({\n\t\tcomponentName: \"ContextMenu\",\n\t\tglobalTheme: s(),\n\t\tlocalTheme: y,\n\t\tknownComponents: a\n\t}), [S, C] = p(d ?? !1), w = u !== void 0, T = w ? u === !0 : S, E = i ?? b.width ?? 220, O = b.itemHeight ?? 34, k = (e) => {\n\t\tw || C(e), f?.(e);\n\t}, A = (e) => {\n\t\te.disabled || (e.onSelect?.(), o?.(e), k(!1));\n\t};\n\treturn /* @__PURE__ */ _(D, {\n\t\t...h,\n\t\tisOpen: T,\n\t\tonOpenChange: k,\n\t\tcontentWidth: E,\n\t\tcontentHeight: Math.max(1, r.length) * O + 20,\n\t\tcontentProps: {\n\t\t\tpadding: b.padding ?? 6,\n\t\t\tgap: b.gap ?? 2,\n\t\t\tbackgroundColor: b.backgroundColor,\n\t\t\tborderColor: b.borderColor,\n\t\t\tborderWidth: b.borderWidth,\n\t\t\tcornerRadius: b.cornerRadius,\n\t\t\ttheme: x\n\t\t},\n\t\tchildren: r.map((n) => {\n\t\t\tlet r = b.textStyle, i = n.disabled ? b.disabledTextColor ?? \"#64748b\" : n.danger ? b.dangerTextColor ?? \"#fecaca\" : r?.color ?? \"#f8fafc\";\n\t\t\treturn /* @__PURE__ */ v(t, {\n\t\t\t\twidth: \"fill\",\n\t\t\t\theight: O,\n\t\t\t\tdirection: \"row\",\n\t\t\t\talignItems: \"center\",\n\t\t\t\tjustifyContent: \"space-between\",\n\t\t\t\tbackgroundColor: n.disabled ? void 0 : b.itemBackgroundColor,\n\t\t\t\tborderColor: n.disabled ? void 0 : b.itemBorderColor,\n\t\t\t\tcornerRadius: b.itemCornerRadius ?? 4,\n\t\t\t\tpadding: b.itemPadding ?? {\n\t\t\t\t\tleft: 10,\n\t\t\t\t\tright: 10\n\t\t\t\t},\n\t\t\t\tenableGestures: !n.disabled,\n\t\t\t\tonTouch: (e) => {\n\t\t\t\t\te.stopPropagation(), A(n);\n\t\t\t\t},\n\t\t\t\ttheme: x,\n\t\t\t\tchildren: [/* @__PURE__ */ v(t, {\n\t\t\t\t\tdirection: \"row\",\n\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\tgap: b.itemGap ?? 8,\n\t\t\t\t\tchildren: [n.prefix, /* @__PURE__ */ _(e, {\n\t\t\t\t\t\ttext: n.label,\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\tcolor: i,\n\t\t\t\t\t\t\tfontSize: \"14px\"\n\t\t\t\t\t\t}\n\t\t\t\t\t})]\n\t\t\t\t}), n.suffix]\n\t\t\t}, n.id);\n\t\t})\n\t});\n}\n//#endregion\nexport { O as ContextMenu, D as Popover, x as calculateOverlayPosition };\n","import { Text as e } from \"./primitives/Text.js\";\nimport { View as t } from \"./primitives/View.js\";\nimport \"./primitives.js\";\nimport { KNOWN_COMPONENTS as n, getGlobalThemeDefaults as r, mergeThemes as i, resolveComponentTheme as a, useEffect as o, useRef as s, useState as c, useTheme as l } from \"@number10/jsx-core\";\nimport { jsx as u, jsxs as d } from \"@number10/jsx-core/jsx-runtime\";\n//#region src/TextInput.tsx\nvar f = null;\nfunction p() {\n\tif (f ||= document.createElement(\"canvas\").getContext(\"2d\") ?? null, !f) throw Error(\"Canvas 2D context unavailable\");\n\treturn f;\n}\nfunction m(e, t) {\n\tlet n = t?.fontFamily ?? \"Arial, sans-serif\", r = t?.fontSize ?? \"16px\";\n\te.font = [\n\t\tt?.fontStyle ?? \"\",\n\t\tt?.fontWeight ?? \"\",\n\t\tr,\n\t\tn\n\t].filter(Boolean).join(\" \");\n}\nfunction h(e, t) {\n\tlet n = p();\n\tm(n, t);\n\tlet r = [];\n\tfor (let t = 0; t < e.length; t++) {\n\t\tlet i = e.charAt(t);\n\t\ti === \"\\n\" ? r.push({\n\t\t\tchar: i,\n\t\t\twidth: 0\n\t\t}) : r.push({\n\t\t\tchar: i,\n\t\t\twidth: n.measureText(i).width\n\t\t});\n\t}\n\treturn r;\n}\nfunction g(e, t = 1.2) {\n\tlet n = e?.fontSize ?? \"16px\", r = typeof n == \"number\" ? `${n}px` : n;\n\treturn Math.round((parseFloat(r) || 16) * t);\n}\nfunction ee(e, t, n, r, i, a, o) {\n\tlet s = h(e, n), c = g(n, o), l = [], u = 0, d = 0, f = 0, p = [], m = () => {\n\t\tfor (let e of p) {\n\t\t\tlet t = l[e.layoutIdx];\n\t\t\tt && (t.y = d);\n\t\t}\n\t\tp = [], u = 0, d += c, f++;\n\t};\n\tfor (let e = 0; e < s.length; e++) {\n\t\tlet n = s[e];\n\t\tif (!n) continue;\n\t\tif (n.char === \"\\n\") {\n\t\t\tl.push({\n\t\t\t\tchar: n.char,\n\t\t\t\tx: u,\n\t\t\t\ty: d,\n\t\t\t\twidth: 0,\n\t\t\t\theight: c,\n\t\t\t\tlineIndex: f\n\t\t\t}), m();\n\t\t\tcontinue;\n\t\t}\n\t\tif (i && p.length > 0 && u + n.width > t) if (a) {\n\t\t\tlet e = -1;\n\t\t\tfor (let t = p.length - 1; t >= 0; t--) if (p[t]?.m.char === \" \") {\n\t\t\t\te = t;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (e >= 0) {\n\t\t\t\tlet t = p.slice(0, e + 1), n = p.slice(e + 1);\n\t\t\t\tp = t, m(), u = 0;\n\t\t\t\tfor (let e of n) {\n\t\t\t\t\tlet t = l[e.layoutIdx];\n\t\t\t\t\tt && (t.x = u, t.lineIndex = f), u += e.m.width + r, p.push(e);\n\t\t\t\t}\n\t\t\t} else m();\n\t\t} else m();\n\t\tlet o = l.length;\n\t\tl.push({\n\t\t\tchar: n.char,\n\t\t\tx: u,\n\t\t\ty: d,\n\t\t\twidth: n.width,\n\t\t\theight: c,\n\t\t\tlineIndex: f\n\t\t}), p.push({\n\t\t\tm: n,\n\t\t\tlayoutIdx: o\n\t\t}), u += n.width + r;\n\t}\n\tfor (let e of p) {\n\t\tlet t = l[e.layoutIdx];\n\t\tt && (t.y = d);\n\t}\n\treturn l;\n}\nfunction te() {\n\tlet e = document.createElement(\"input\");\n\treturn e.type = \"text\", e.setAttribute(\"autocomplete\", \"off\"), e.setAttribute(\"autocorrect\", \"off\"), e.setAttribute(\"autocapitalize\", \"off\"), e.setAttribute(\"spellcheck\", \"false\"), Object.assign(e.style, {\n\t\tposition: \"fixed\",\n\t\ttop: \"-9999px\",\n\t\tleft: \"-9999px\",\n\t\twidth: \"1px\",\n\t\theight: \"1px\",\n\t\topacity: \"0\",\n\t\tpointerEvents: \"none\"\n\t}), document.body.appendChild(e), e;\n}\nfunction _(f) {\n\tlet p = l(), m = f.theme ? i(p ?? {}, f.theme) : p, { props: h, nestedTheme: _ } = a({\n\t\tcomponentName: \"TextInput\",\n\t\tglobalTheme: r(),\n\t\tlocalTheme: m,\n\t\tknownComponents: n\n\t}), v = f.placeholder ?? h.placeholder, y = f.disabled ?? !1, b = f.maxLength ?? h.maxLength, x = f.multiline ?? h.multiline ?? !1, S = f.textStyle ?? h.textStyle ?? {\n\t\tfontFamily: \"Arial, sans-serif\",\n\t\tfontSize: \"16px\",\n\t\tcolor: \"#ffffff\"\n\t}, ne = f.placeholderStyle ?? h.placeholderStyle ?? {\n\t\t...S,\n\t\tcolor: \"#666666\"\n\t}, C = f.charSpacing ?? h.charSpacing ?? 0, w = f.lineHeight ?? h.lineHeight ?? 1.2, T = f.maxLines ?? h.maxLines, re = f.textOverflow ?? h.textOverflow ?? \"clip\", ie = f.wordWrap ?? h.wordWrap ?? !0, ae = f.cursorColor ?? h.cursorColor ?? 16777215, oe = f.cursorWidth ?? h.cursorWidth ?? 2, se = f.cursorBlinkSpeed ?? h.cursorBlinkSpeed ?? 530, ce = f.selectionColor ?? h.selectionColor ?? 4886754, le = f.selectionAlpha ?? h.selectionAlpha ?? .3, ue = f.focusedBorderColor ?? h.focusedBorderColor, de = f.disabledBackgroundColor ?? h.disabledBackgroundColor, fe = f.disabledBorderColor ?? h.disabledBorderColor, pe = f.disabledAlpha ?? h.disabledAlpha ?? .6, me = f.password ?? !1, he = f.passwordChar ?? \"•\", E = f.value !== void 0, [ge, _e] = c(f.value ?? \"\"), D = E ? f.value ?? \"\" : ge, [O, k] = c(D.length), [A, j] = c(-1), [M, N] = c(!1), [ve, P] = c(!0), F = s(D), I = s(O), L = s(A), ye = s(M);\n\tF.current = D, I.current = O, L.current = A, ye.current = M;\n\tlet R = s(null), be = s(null);\n\to(() => {\n\t\tif (!M) {\n\t\t\tP(!1);\n\t\t\treturn;\n\t\t}\n\t\tP(!0);\n\t\tlet e = setInterval(() => {\n\t\t\tP((e) => !e);\n\t\t}, se);\n\t\treturn () => clearInterval(e);\n\t}, [M, se]), o(() => {\n\t\tlet e = te();\n\t\treturn R.current = e, () => {\n\t\t\te.remove(), R.current = null;\n\t\t};\n\t}, []), o(() => {\n\t\tlet e = R.current;\n\t\tif (!e) return;\n\t\tlet t = (e) => {\n\t\t\tif (e.key === \"Enter\") {\n\t\t\t\tif (e.preventDefault(), !x || e.ctrlKey || e.metaKey) {\n\t\t\t\t\tf.onSubmit?.(F.current);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (x) {\n\t\t\t\t\tV(\"\\n\");\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (e.key === \"Backspace\") {\n\t\t\t\te.preventDefault(), xe();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (e.key === \"Delete\") {\n\t\t\t\te.preventDefault(), Se();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ((e.ctrlKey || e.metaKey) && e.key === \"c\") {\n\t\t\t\te.preventDefault(), Te();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ((e.ctrlKey || e.metaKey) && e.key === \"x\") {\n\t\t\t\te.preventDefault(), Ee();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ((e.ctrlKey || e.metaKey) && e.key === \"v\") {\n\t\t\t\te.preventDefault(), De();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (e.key === \"ArrowLeft\") {\n\t\t\t\te.preventDefault(), H(-1, e.shiftKey);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (e.key === \"ArrowRight\") {\n\t\t\t\te.preventDefault(), H(1, e.shiftKey);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (e.key === \"ArrowUp\") {\n\t\t\t\te.preventDefault(), Ce(-1, e.shiftKey);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (e.key === \"ArrowDown\") {\n\t\t\t\te.preventDefault(), Ce(1, e.shiftKey);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (e.key === \"Home\") {\n\t\t\t\te.preventDefault(), P(!0), I.current = 0, k(0), e.shiftKey || (L.current = -1, j(-1));\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (e.key === \"End\") {\n\t\t\t\te.preventDefault(), P(!0);\n\t\t\t\tlet t = F.current.length;\n\t\t\t\tI.current = t, k(t), e.shiftKey || (L.current = -1, j(-1));\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (e.key === \"a\" && (e.ctrlKey || e.metaKey)) {\n\t\t\t\te.preventDefault(), P(!0), L.current = 0, j(0);\n\t\t\t\tlet t = F.current.length;\n\t\t\t\tI.current = t, k(t);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\te.key.length === 1 && !e.ctrlKey && !e.metaKey && !e.altKey && (e.preventDefault(), V(e.key));\n\t\t}, n = () => {\n\t\t\tN(!0), f.onFocus?.();\n\t\t}, r = () => {\n\t\t\tN(!1), j(-1), f.onBlur?.();\n\t\t};\n\t\treturn e.addEventListener(\"keydown\", t), e.addEventListener(\"focus\", n), e.addEventListener(\"blur\", r), () => {\n\t\t\te.removeEventListener(\"keydown\", t), e.removeEventListener(\"focus\", n), e.removeEventListener(\"blur\", r);\n\t\t};\n\t}, [x]);\n\tlet z = (e) => {\n\t\tE || _e(e), f.onChange?.(e);\n\t}, B = (e, t, n = -1) => {\n\t\tI.current = t, L.current = n, k(t), j(n), z(e);\n\t}, V = (e) => {\n\t\tlet t = F.current, n = I.current, r = L.current;\n\t\tif (P(!0), r >= 0) {\n\t\t\tlet i = Math.min(r, n), a = Math.max(r, n), o = t.slice(0, i) + e + t.slice(a);\n\t\t\tif (b !== void 0 && o.length > b || e === \"\\n\" && T !== void 0 && o.split(\"\\n\").length > T) return;\n\t\t\tB(o, i + 1);\n\t\t} else {\n\t\t\tlet r = t.slice(0, n) + e + t.slice(n);\n\t\t\tif (b !== void 0 && r.length > b || e === \"\\n\" && T !== void 0 && r.split(\"\\n\").length > T) return;\n\t\t\tB(r, n + 1);\n\t\t}\n\t}, xe = () => {\n\t\tlet e = F.current, t = I.current, n = L.current;\n\t\tif (n >= 0) {\n\t\t\tlet r = Math.min(n, t), i = Math.max(n, t);\n\t\t\tB(e.slice(0, r) + e.slice(i), r);\n\t\t} else t > 0 && B(e.slice(0, t - 1) + e.slice(t), t - 1);\n\t}, Se = () => {\n\t\tlet e = F.current, t = I.current, n = L.current;\n\t\tif (n >= 0) {\n\t\t\tlet r = Math.min(n, t), i = Math.max(n, t);\n\t\t\tB(e.slice(0, r) + e.slice(i), r);\n\t\t} else t < e.length && z(e.slice(0, t) + e.slice(t + 1));\n\t}, H = (e, t) => {\n\t\tlet n = I.current, r = L.current, i = F.current.length;\n\t\tif (P(!0), t) {\n\t\t\tr < 0 && (j(n), L.current = n);\n\t\t\tlet t = Math.max(0, Math.min(i, n + e));\n\t\t\tI.current = t, k(t);\n\t\t} else {\n\t\t\tL.current = -1, j(-1);\n\t\t\tlet t = Math.max(0, Math.min(i, n + e));\n\t\t\tI.current = t, k(t);\n\t\t}\n\t}, Ce = (e, t) => {\n\t\tlet n = I.current, r = L.current, i = F.current.length, { visibleChars: a, charLayout: o, totalLines: s, charSpacing: c } = Fe.current, l = n <= 0 ? 0 : n >= a.length ? s - 1 : a[n]?.lineIndex ?? 0, u = Math.max(0, Math.min(s - 1, l + e));\n\t\tif (u === l) return;\n\t\tP(!0);\n\t\tlet d = n > 0 && n <= a.length ? a[n - 1] : void 0, f = d && d.char !== \"\\n\" ? d.x + d.width + c : 0, p = a.filter((e) => e.char !== \"\\n\" && e.lineIndex === u), m;\n\t\tif (p.length === 0) {\n\t\t\tm = 0;\n\t\t\tfor (let e = 0; e < a.length; e++) {\n\t\t\t\tlet t = a[e];\n\t\t\t\tif (t && t.lineIndex >= u) {\n\t\t\t\t\tm = e;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tm = e + 1;\n\t\t\t}\n\t\t} else {\n\t\t\tlet e = 0, t = Infinity;\n\t\t\tfor (let n = 0; n <= p.length; n++) {\n\t\t\t\tlet r = n < p.length ? p[n] : void 0, i = p[p.length - 1], a = r ? r.x + r.width / 2 : i ? i.x + i.width + c : 0, o = Math.abs(f - a);\n\t\t\t\to < t && (t = o, e = n);\n\t\t\t}\n\t\t\tlet n = e < p.length ? p[e] : void 0, r = p[p.length - 1], a = n ? o.indexOf(n) : r ? o.indexOf(r) + 1 : 0;\n\t\t\tm = Math.min(a, i);\n\t\t}\n\t\tt ? r < 0 && (j(n), L.current = n) : (L.current = -1, j(-1)), I.current = m, k(m);\n\t}, we = () => {\n\t\tlet e = L.current, t = I.current;\n\t\tif (e < 0) return \"\";\n\t\tlet n = Math.min(e, t), r = Math.max(e, t);\n\t\treturn F.current.slice(n, r);\n\t}, Te = () => {\n\t\tlet e = we();\n\t\te && navigator.clipboard.writeText(e).catch(() => {});\n\t}, Ee = () => {\n\t\tlet e = we();\n\t\tif (e) {\n\t\t\tnavigator.clipboard.writeText(e).catch(() => {});\n\t\t\tlet t = L.current, n = I.current, r = Math.min(t, n), i = Math.max(t, n), a = F.current;\n\t\t\tB(a.slice(0, r) + a.slice(i), r);\n\t\t}\n\t}, De = () => {\n\t\tnavigator.clipboard.readText().then((e) => {\n\t\t\tif (!e) return;\n\t\t\tlet t = x ? e.replace(/\\r\\n/g, \"\\n\").replace(/\\r/g, \"\\n\") : e.replace(/[\\r\\n]/g, \" \"), n = F.current, r = I.current, i = L.current, a, o;\n\t\t\tif (i >= 0) {\n\t\t\t\tlet e = Math.min(i, r), t = Math.max(i, r);\n\t\t\t\ta = e, o = n.slice(0, e) + n.slice(t);\n\t\t\t} else a = r, o = n;\n\t\t\tlet s = t;\n\t\t\tif (b !== void 0) {\n\t\t\t\tlet e = b - o.length;\n\t\t\t\tif (e <= 0) return;\n\t\t\t\ts = s.slice(0, e);\n\t\t\t}\n\t\t\tB(o.slice(0, a) + s + o.slice(a), a + s.length);\n\t\t}).catch(() => {});\n\t}, Oe = h.paddingLeft ?? h.padding ?? 12, ke = f.width ?? h.width ?? 300, U = D.length === 0 && !!v && !M, W = U ? v ?? \"\" : D, Ae = me && !U ? he.repeat(W.length) : W, G = U ? ne : S, je = h.paddingRight ?? h.padding ?? 12, Me = Math.max(1, typeof ke == \"number\" ? ke - Oe - je : 280), K = ee(Ae, Math.max(1, Me), G, C, x, ie, w), q = K;\n\tif (T !== void 0 && !U && ((K.length > 0 ? K[K.length - 1] : void 0)?.lineIndex ?? 0) >= T && (q = K.filter((e) => e.lineIndex < T), re === \"ellipsis\" && q.length > 0 && W.length > q.length)) {\n\t\tlet e = Math.max(0, q.length - 3);\n\t\tq = [\n\t\t\t...q.slice(0, e),\n\t\t\t{\n\t\t\t\tchar: \".\",\n\t\t\t\tx: 0,\n\t\t\t\ty: 0,\n\t\t\t\twidth: 0,\n\t\t\t\theight: 0,\n\t\t\t\tlineIndex: T - 1\n\t\t\t},\n\t\t\t{\n\t\t\t\tchar: \".\",\n\t\t\t\tx: 0,\n\t\t\t\ty: 0,\n\t\t\t\twidth: 0,\n\t\t\t\theight: 0,\n\t\t\t\tlineIndex: T - 1\n\t\t\t},\n\t\t\t{\n\t\t\t\tchar: \".\",\n\t\t\t\tx: 0,\n\t\t\t\ty: 0,\n\t\t\t\twidth: 0,\n\t\t\t\theight: 0,\n\t\t\t\tlineIndex: T - 1\n\t\t\t}\n\t\t];\n\t}\n\tlet J = g(G, w), Y = q.length > 0 ? q[q.length - 1] : void 0, Ne = Y?.char === \"\\n\", X = Y ? Y.lineIndex + 1 + +!!Ne : 1, Pe = X * J, Fe = s({\n\t\tvisibleChars: q,\n\t\tcharLayout: K,\n\t\ttotalLines: X,\n\t\tcharSpacing: C,\n\t\tlineH: J\n\t});\n\tFe.current = {\n\t\tvisibleChars: q,\n\t\tcharLayout: K,\n\t\ttotalLines: X,\n\t\tcharSpacing: C,\n\t\tlineH: J\n\t};\n\tlet Ie = (O < q.length ? q[O] : void 0)?.lineIndex ?? X - 1, Z = O > 0 && O <= q.length ? q[O - 1] : void 0, Le = Z?.char === \"\\n\" ? 0 : Z ? Z.x + Z.width + C : 0, Q = A >= 0 ? Math.min(A, O) : -1, $ = A >= 0 ? Math.max(A, O) : -1, Re = () => {\n\t\ty || (P(!0), R.current?.focus());\n\t};\n\treturn /* @__PURE__ */ u(t, {\n\t\tref: be,\n\t\tdirection: \"row\",\n\t\talignItems: \"start\",\n\t\twidth: f.width ?? h.width ?? 300,\n\t\theight: f.height ?? h.height,\n\t\tbackgroundColor: f.backgroundColor ?? (y ? de ?? h.backgroundColor : h.backgroundColor),\n\t\tborderColor: f.borderColor ?? (M ? ue ?? h.focusedBorderColor ?? h.borderColor : y ? fe ?? h.borderColor : h.borderColor),\n\t\tborderWidth: f.borderWidth ?? (M ? Math.max(2, h.borderWidth ?? 1) : h.borderWidth),\n\t\tcornerRadius: f.cornerRadius ?? h.cornerRadius ?? 4,\n\t\tpadding: f.padding ?? h.padding ?? 8,\n\t\talpha: f.alpha ?? (y ? pe : 1),\n\t\tenableGestures: !y,\n\t\tonTouch: (e) => {\n\t\t\tif (y) return;\n\t\t\tif (Re(), P(!0), U) {\n\t\t\t\tI.current = 0, L.current = -1, k(0), j(-1);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tlet t = e.localX - Oe, n = e.localY - (h.padding ?? 8), r = Math.max(0, Math.min(X - 1, Math.floor(n / J))), i = q.filter((e) => e.char !== \"\\n\" && e.lineIndex === r);\n\t\t\tif (i.length === 0) {\n\t\t\t\tlet e = 0;\n\t\t\t\tfor (let t = 0; t < q.length; t++) {\n\t\t\t\t\tlet n = q[t];\n\t\t\t\t\tif (n && n.lineIndex >= r) {\n\t\t\t\t\t\te = t;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\te = t + 1;\n\t\t\t\t}\n\t\t\t\tI.current = e, L.current = -1, k(e), j(-1);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tlet a = 0, o = Infinity;\n\t\t\tfor (let e = 0; e <= i.length; e++) {\n\t\t\t\tlet n = e < i.length ? i[e] : void 0, r = i[i.length - 1], s = n ? n.x + n.width / 2 : r ? r.x + r.width + C : 0, c = Math.abs(t - s);\n\t\t\t\tc < o && (o = c, a = e);\n\t\t\t}\n\t\t\tlet s = a < i.length ? i[a] : void 0, c = i[i.length - 1], l = s ? K.indexOf(s) : c ? K.indexOf(c) + 1 : 0, u = Math.min(l, D.length);\n\t\t\tI.current = u, L.current = -1, k(u), j(-1);\n\t\t},\n\t\toverflow: \"hidden\",\n\t\ttheme: _,\n\t\tchildren: /* @__PURE__ */ d(t, {\n\t\t\twidth: Me,\n\t\t\theight: Pe,\n\t\t\toverflow: \"hidden\",\n\t\t\tdirection: \"stack\",\n\t\t\tchildren: [\n\t\t\t\tq.filter((e) => e.char !== \"\\n\").map((t, n) => /* @__PURE__ */ u(e, {\n\t\t\t\t\tx: t.x,\n\t\t\t\t\ty: t.y,\n\t\t\t\t\ttext: t.char,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: G.color ?? \"#ffffff\",\n\t\t\t\t\t\t...G.fontSize === void 0 ? {} : { fontSize: G.fontSize },\n\t\t\t\t\t\t...G.fontFamily === void 0 ? {} : { fontFamily: G.fontFamily },\n\t\t\t\t\t\t...G.fontStyle === void 0 ? {} : { fontStyle: G.fontStyle }\n\t\t\t\t\t}\n\t\t\t\t}, `c-${n}`)),\n\t\t\t\tQ >= 0 && $ > Q && q.filter((e) => e.char !== \"\\n\").map((e, n) => {\n\t\t\t\t\tlet r = K.indexOf(e);\n\t\t\t\t\treturn r < Q || r >= $ ? null : /* @__PURE__ */ u(t, {\n\t\t\t\t\t\tx: e.x,\n\t\t\t\t\t\ty: e.y,\n\t\t\t\t\t\twidth: e.width + 2,\n\t\t\t\t\t\theight: J,\n\t\t\t\t\t\tbackgroundColor: ce,\n\t\t\t\t\t\tbackgroundAlpha: le\n\t\t\t\t\t}, `sel-${n}`);\n\t\t\t\t}),\n\t\t\t\tM && ve && /* @__PURE__ */ u(t, {\n\t\t\t\t\tx: Le,\n\t\t\t\t\ty: Ie * J,\n\t\t\t\t\twidth: oe,\n\t\t\t\t\theight: J,\n\t\t\t\t\tbackgroundColor: ae\n\t\t\t\t})\n\t\t\t]\n\t\t})\n\t});\n}\n//#endregion\nexport { _ as TextInput };\n","import { Text as e } from \"./primitives/Text.js\";\nimport { VectorDrawContent as t } from \"./primitives/VectorDrawContent.js\";\nimport { View as n } from \"./primitives/View.js\";\nimport \"./primitives.js\";\nimport { KNOWN_COMPONENTS as r, getGlobalThemeDefaults as i, mergeThemes as a, resolveComponentTheme as o, useEffect as s, useState as c, useSurface as l, useTheme as u } from \"@number10/jsx-core\";\nimport { jsx as d, jsxs as f } from \"@number10/jsx-core/jsx-runtime\";\n//#region src/ActivityIndicator.tsx\nfunction p(e) {\n\tswitch (e) {\n\t\tcase \"small\": return {\n\t\t\tcontainerSize: 20,\n\t\t\tlineWidth: 2,\n\t\t\tdotSize: 4,\n\t\t\tdotCount: 3\n\t\t};\n\t\tcase \"large\": return {\n\t\t\tcontainerSize: 48,\n\t\t\tlineWidth: 4,\n\t\t\tdotSize: 8,\n\t\t\tdotCount: 3\n\t\t};\n\t\tdefault: return {\n\t\t\tcontainerSize: 32,\n\t\t\tlineWidth: 3,\n\t\t\tdotSize: 6,\n\t\t\tdotCount: 3\n\t\t};\n\t}\n}\nfunction m(e) {\n\tlet r = e.size / 2, i = e.size / 2, a = (e.size - e.lineWidth) / 2, o = e.tick * e.speed * .025, s = Math.PI * .75;\n\treturn /* @__PURE__ */ d(n, {\n\t\twidth: e.size,\n\t\theight: e.size,\n\t\tchildren: /* @__PURE__ */ d(t, {\n\t\t\tonDraw: (t) => {\n\t\t\t\tt.lineStyle(e.lineWidth, e.trackColor, .25), t.beginPath(), t.arc(r, i, a, 0, Math.PI * 2), t.strokePath(), t.lineStyle(e.lineWidth, e.color, 1), t.beginPath(), t.arc(r, i, a, o, o + s), t.strokePath();\n\t\t\t},\n\t\t\tdependencies: [\n\t\t\t\te.tick,\n\t\t\t\te.color,\n\t\t\t\te.trackColor\n\t\t\t]\n\t\t})\n\t});\n}\nfunction h(e) {\n\tlet r = e.dotSize / 2, i = e.dotSize * 2.2, a = e.dotCount * i, o = Math.floor(e.tick * e.speed / 10 % e.dotCount);\n\treturn /* @__PURE__ */ d(n, {\n\t\twidth: a,\n\t\theight: e.dotSize,\n\t\tchildren: /* @__PURE__ */ d(t, {\n\t\t\tonDraw: (t) => {\n\t\t\t\tfor (let n = 0; n < e.dotCount; n++) {\n\t\t\t\t\tlet a = n === o ? 1 : .3;\n\t\t\t\t\tt.fillStyle(e.color, a), t.fillCircle(n * i + e.dotSize / 2, r, e.dotSize / 2);\n\t\t\t\t}\n\t\t\t},\n\t\t\tdependencies: [e.tick, e.color]\n\t\t})\n\t});\n}\nfunction g(e) {\n\tlet r = e.size / 2, i = e.size / 2, a = e.size / 2, o = e.tick * e.speed * .01 % 1;\n\treturn /* @__PURE__ */ d(n, {\n\t\twidth: e.size,\n\t\theight: e.size,\n\t\tchildren: /* @__PURE__ */ d(t, {\n\t\t\tonDraw: (t) => {\n\t\t\t\tt.lineStyle(2, e.color, .2), t.beginPath(), t.arc(r, i, a - 1, 0, Math.PI * 2), t.strokePath();\n\t\t\t\tlet n = a * .5 * (.5 + .5 * Math.sin(o * Math.PI * 2)), s = .3 + .7 * Math.abs(Math.cos(o * Math.PI));\n\t\t\t\tt.fillStyle(e.color, s), t.fillCircle(r, i, n);\n\t\t\t},\n\t\t\tdependencies: [e.tick, e.color]\n\t\t})\n\t});\n}\nfunction _(t) {\n\tlet { variant: _, size: v, color: y, trackColor: b, label: x, labels: S, theme: C } = t, w = u(), T = C ? a(w ?? {}, C) : w, { props: E } = o({\n\t\tcomponentName: \"ActivityIndicator\",\n\t\tglobalTheme: i(),\n\t\tlocalTheme: T,\n\t\tknownComponents: r\n\t}), D = l()?.scheduler, [O, k] = c(0), A = _ ?? E.variant ?? \"spinner\", { containerSize: j, lineWidth: M, dotSize: N, dotCount: P } = p(v ?? E.size ?? \"medium\"), F = y ?? E.color ?? 6333946, I = b ?? E.trackColor ?? F, L = (E.animationSpeed ?? 2.4) * (A === \"dots\" ? .25 : 1), R = {\n\t\t...E.labels ?? {},\n\t\t...S ?? {}\n\t}, z = x ?? R.loading, B = E.labelStyle ?? {\n\t\tcolor: \"#9fb3c8\",\n\t\tfontSize: \"13px\"\n\t};\n\treturn s(() => {\n\t\tif (!D) return;\n\t\tlet e = D.setInterval(() => k((e) => e + 1), 1e3 / 60);\n\t\treturn () => e.cancel();\n\t}, [D]), /* @__PURE__ */ f(n, {\n\t\tdirection: \"column\",\n\t\talignItems: \"center\",\n\t\tjustifyContent: \"center\",\n\t\tgap: E.gap ?? 8,\n\t\twidth: t.width ?? E.width,\n\t\theight: t.height ?? E.height,\n\t\tchildren: [(() => {\n\t\t\tswitch (A) {\n\t\t\t\tcase \"dots\": return /* @__PURE__ */ d(h, {\n\t\t\t\t\tdotSize: N,\n\t\t\t\t\tdotCount: P,\n\t\t\t\t\tcolor: F,\n\t\t\t\t\ttick: O,\n\t\t\t\t\tspeed: L\n\t\t\t\t});\n\t\t\t\tcase \"pulse\": return /* @__PURE__ */ d(g, {\n\t\t\t\t\tsize: j,\n\t\t\t\t\tcolor: F,\n\t\t\t\t\ttick: O,\n\t\t\t\t\tspeed: L\n\t\t\t\t});\n\t\t\t\tdefault: return /* @__PURE__ */ d(m, {\n\t\t\t\t\tsize: j,\n\t\t\t\t\tlineWidth: M,\n\t\t\t\t\tcolor: F,\n\t\t\t\t\ttrackColor: I,\n\t\t\t\t\ttick: O,\n\t\t\t\t\tspeed: L\n\t\t\t\t});\n\t\t\t}\n\t\t})(), z ? /* @__PURE__ */ d(e, {\n\t\t\ttext: z,\n\t\t\tstyle: B\n\t\t}) : null]\n\t});\n}\n//#endregion\nexport { _ as ActivityIndicator };\n","import { Text as e } from \"./primitives/Text.js\";\nimport { View as t } from \"./primitives/View.js\";\nimport \"./primitives.js\";\nimport { resolveComponentTheme as n, useTheme as r } from \"@number10/jsx-core\";\nimport { jsx as i, jsxs as a } from \"@number10/jsx-core/jsx-runtime\";\n//#region src/Badge.tsx\nvar o = {\n\tneutral: {\n\t\tbackgroundColor: 4674921,\n\t\tsoftBackgroundColor: 1976635,\n\t\tborderColor: 6583435,\n\t\ttextColor: \"#ffffff\",\n\t\toutlineTextColor: \"#cbd5e1\"\n\t},\n\tprimary: {\n\t\tbackgroundColor: 2450411,\n\t\tsoftBackgroundColor: 1981066,\n\t\tborderColor: 6333946,\n\t\ttextColor: \"#ffffff\",\n\t\toutlineTextColor: \"#93c5fd\"\n\t},\n\tsuccess: {\n\t\tbackgroundColor: 1483594,\n\t\tsoftBackgroundColor: 1332013,\n\t\tborderColor: 4906624,\n\t\ttextColor: \"#ffffff\",\n\t\toutlineTextColor: \"#86efac\"\n\t},\n\twarning: {\n\t\tbackgroundColor: 16096779,\n\t\tsoftBackgroundColor: 7877903,\n\t\tborderColor: 16498468,\n\t\ttextColor: \"#111827\",\n\t\toutlineTextColor: \"#fde68a\"\n\t},\n\tdanger: {\n\t\tbackgroundColor: 14427686,\n\t\tsoftBackgroundColor: 8330525,\n\t\tborderColor: 16281969,\n\t\ttextColor: \"#ffffff\",\n\t\toutlineTextColor: \"#fecaca\"\n\t},\n\tinfo: {\n\t\tbackgroundColor: 561586,\n\t\tsoftBackgroundColor: 1461859,\n\t\tborderColor: 2282478,\n\t\ttextColor: \"#ffffff\",\n\t\toutlineTextColor: \"#a5f3fc\"\n\t}\n}, s = {\n\tsmall: {\n\t\theight: 22,\n\t\tpadding: {\n\t\t\tleft: 8,\n\t\t\tright: 8,\n\t\t\ttop: 3,\n\t\t\tbottom: 3\n\t\t},\n\t\tfontSize: 12,\n\t\tcornerRadius: 11,\n\t\tgap: 5,\n\t\tdotSize: 8\n\t},\n\tmedium: {\n\t\theight: 26,\n\t\tpadding: {\n\t\t\tleft: 10,\n\t\t\tright: 10,\n\t\t\ttop: 4,\n\t\t\tbottom: 4\n\t\t},\n\t\tfontSize: 14,\n\t\tcornerRadius: 13,\n\t\tgap: 6,\n\t\tdotSize: 10\n\t},\n\tlarge: {\n\t\theight: 32,\n\t\tpadding: {\n\t\t\tleft: 13,\n\t\t\tright: 13,\n\t\t\ttop: 5,\n\t\t\tbottom: 5\n\t\t},\n\t\tfontSize: 18,\n\t\tcornerRadius: 16,\n\t\tgap: 8,\n\t\tdotSize: 12\n\t}\n}, c = new Set([\n\t\"View\",\n\t\"Text\",\n\t\"Image\",\n\t\"Sprite\",\n\t\"Badge\",\n\t\"Tag\",\n\t\"Icon\"\n]);\nfunction l({ count: e, maxCount: t = 99 }) {\n\tif (!Number.isFinite(e)) return \"0\";\n\tlet n = Math.max(0, Math.floor(e ?? 0)), r = Math.max(0, Math.floor(t));\n\treturn n > r ? `${r}+` : `${n}`;\n}\nfunction u(e, t) {\n\tlet n = o[e];\n\treturn t === \"outline\" ? {\n\t\tbg: 0,\n\t\tbgAlpha: 0,\n\t\tborder: n.borderColor,\n\t\tborderW: 1,\n\t\ttextColor: n.outlineTextColor\n\t} : t === \"soft\" ? {\n\t\tbg: n.softBackgroundColor,\n\t\tbgAlpha: 1,\n\t\tborder: n.borderColor,\n\t\tborderW: 1,\n\t\ttextColor: n.outlineTextColor\n\t} : {\n\t\tbg: n.backgroundColor,\n\t\tbgAlpha: 1,\n\t\tborder: n.borderColor,\n\t\tborderW: 0,\n\t\ttextColor: n.textColor\n\t};\n}\nfunction d(e) {\n\treturn s[e];\n}\nfunction f(a) {\n\tlet { children: o, label: s, count: f, maxCount: p, dot: m = !1, tone: h, variant: g, size: _, style: v, disabled: y = !1, disabledAlpha: b, theme: x, width: S, height: C, ...w } = a, T = r(), { props: E } = n({\n\t\tcomponentName: \"Badge\",\n\t\tlocalTheme: x ?? T,\n\t\texplicitProps: {\n\t\t\ttone: h,\n\t\t\tvariant: g,\n\t\t\tsize: _\n\t\t},\n\t\tknownComponents: c\n\t}), D = h ?? E.tone ?? \"neutral\", O = g ?? E.variant ?? \"solid\", k = d(_ ?? E.size ?? \"medium\"), A = u(D, O), j = b ?? E.disabledAlpha ?? .5, M = p ?? E.maxCount ?? 99, N = f === void 0 ? s === void 0 ? \"\" : `${s}` : l({\n\t\tcount: f,\n\t\tmaxCount: M\n\t}), P = {\n\t\tcolor: A.textColor,\n\t\tfontSize: k.fontSize\n\t};\n\tif (m) {\n\t\tlet e = k.dotSize;\n\t\treturn /* @__PURE__ */ i(t, {\n\t\t\twidth: S ?? e,\n\t\t\theight: C ?? e,\n\t\t\tbackgroundColor: A.bg,\n\t\t\tbackgroundAlpha: A.bgAlpha,\n\t\t\tborderColor: A.border,\n\t\t\tborderWidth: A.borderW,\n\t\t\tcornerRadius: e / 2,\n\t\t\t...y ? { alpha: j } : {},\n\t\t\t...w\n\t\t});\n\t}\n\treturn /* @__PURE__ */ i(t, {\n\t\twidth: S ?? \"auto\",\n\t\theight: C ?? k.height,\n\t\tdirection: \"row\",\n\t\talignItems: \"center\",\n\t\tjustifyContent: \"center\",\n\t\tgap: k.gap,\n\t\tpadding: k.padding,\n\t\tbackgroundColor: A.bg,\n\t\tbackgroundAlpha: A.bgAlpha,\n\t\tborderColor: A.border,\n\t\tborderWidth: A.borderW,\n\t\tcornerRadius: k.cornerRadius,\n\t\t...y ? { alpha: j } : {},\n\t\t...w,\n\t\tchildren: o ?? (N ? /* @__PURE__ */ i(e, {\n\t\t\ttext: N,\n\t\t\tstyle: {\n\t\t\t\t...P,\n\t\t\t\t...v\n\t\t\t}\n\t\t}) : null)\n\t});\n}\nfunction p(e) {\n\treturn e.count === void 0 ? e.label === void 0 ? \"\" : `${e.label}` : l(e);\n}\nfunction m(o) {\n\tlet { selected: s = !1, onRemove: l, closeLabel: f = \"×\", tone: p, variant: m, size: h, style: g, theme: _, children: v, label: y, disabled: b = !1, disabledAlpha: x, ...S } = o, C = r(), { props: w } = n({\n\t\tcomponentName: \"Tag\",\n\t\tlocalTheme: _ ?? C,\n\t\tknownComponents: c\n\t}), T = p ?? w.tone ?? (s ? \"primary\" : \"neutral\"), E = m ?? w.variant ?? (s ? \"solid\" : \"soft\"), D = d(h ?? w.size ?? \"medium\"), O = u(T, E), k = x ?? w.disabledAlpha ?? .5, A = y === void 0 ? \"\" : `${y}`, j = {\n\t\tcolor: O.textColor,\n\t\tfontSize: D.fontSize,\n\t\t...g\n\t};\n\treturn /* @__PURE__ */ a(t, {\n\t\twidth: \"auto\",\n\t\theight: D.height,\n\t\tdirection: \"row\",\n\t\talignItems: \"center\",\n\t\tjustifyContent: \"center\",\n\t\tgap: D.gap,\n\t\tpadding: D.padding,\n\t\tbackgroundColor: O.bg,\n\t\tbackgroundAlpha: O.bgAlpha,\n\t\tborderColor: O.border,\n\t\tborderWidth: O.borderW,\n\t\tcornerRadius: D.cornerRadius,\n\t\t...b ? { alpha: k } : {},\n\t\t...S,\n\t\tchildren: [\n\t\t\ty ? /* @__PURE__ */ i(e, {\n\t\t\t\ttext: A,\n\t\t\t\tstyle: j\n\t\t\t}) : null,\n\t\t\tv,\n\t\t\tl ? /* @__PURE__ */ i(t, {\n\t\t\t\twidth: 16,\n\t\t\t\theight: 16,\n\t\t\t\tjustifyContent: \"center\",\n\t\t\t\talignItems: \"center\",\n\t\t\t\tcornerRadius: 16 / 2,\n\t\t\t\tenableGestures: !0,\n\t\t\t\tonTouch: () => l(),\n\t\t\t\tchildren: /* @__PURE__ */ i(e, {\n\t\t\t\t\ttext: f,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\t...j,\n\t\t\t\t\t\tfontSize: 16 * .7\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}) : null\n\t\t]\n\t});\n}\n//#endregion\nexport { f as Badge, m as Tag, l as formatBadgeCount, p as getBadgeText };\n","import { Text as e } from \"./primitives/Text.js\";\nimport { View as t } from \"./primitives/View.js\";\nimport \"./primitives.js\";\nimport { KNOWN_COMPONENTS as n, getGlobalThemeDefaults as r, mergeThemes as i, resolveComponentTheme as a, useEffect as o, useState as s, useTheme as c } from \"@number10/jsx-core\";\nimport { jsx as l, jsxs as u } from \"@number10/jsx-core/jsx-runtime\";\n//#region src/Checkbox.tsx\nfunction d(e, t) {\n\treturn t ? e === !1 ? !0 : e === !0 ? \"indeterminate\" : !1 : e !== !0;\n}\nfunction f(e, t) {\n\treturn e === \"indeterminate\" && !t ? !1 : e;\n}\nfunction p(n) {\n\tlet { checked: r, disabled: i, size: a, color: o, checkedColor: s, indeterminateColor: c } = n, u = Math.max(2, Math.round(a * .1)), d = Math.max(4, Math.round(a * .22)), f = Math.max(2, Math.round(a * .15)), p = i ? .45 : 1;\n\treturn /* @__PURE__ */ l(t, {\n\t\twidth: a,\n\t\theight: a,\n\t\tborderColor: r === !1 ? o : r === !0 ? s : c,\n\t\tborderWidth: u,\n\t\tbackgroundAlpha: 0,\n\t\tcornerRadius: f,\n\t\talpha: p,\n\t\tjustifyContent: \"center\",\n\t\talignItems: \"center\",\n\t\tchildren: r === !0 ? /* @__PURE__ */ l(e, {\n\t\t\ttext: \"✓\",\n\t\t\tstyle: {\n\t\t\t\tcolor: `#${s.toString(16).padStart(6, \"0\")}`,\n\t\t\t\tfontSize: `${Math.round(a * .7)}px`,\n\t\t\t\tfontStyle: \"bold\"\n\t\t\t},\n\t\t\talpha: p\n\t\t}) : r === \"indeterminate\" ? /* @__PURE__ */ l(t, {\n\t\t\twidth: a - d * 2,\n\t\t\theight: u + 1,\n\t\t\tbackgroundColor: c,\n\t\t\tbackgroundAlpha: p,\n\t\t\tcornerRadius: 1\n\t\t}) : null\n\t});\n}\nfunction m(m) {\n\tlet h = c(), g = m.theme ? i(h ?? {}, m.theme) : h, { props: _, nestedTheme: v } = a({\n\t\tcomponentName: \"Checkbox\",\n\t\tglobalTheme: r(),\n\t\tlocalTheme: g,\n\t\tknownComponents: n\n\t}), y = _.size ?? 20, b = _.gap ?? 8, x = m.labelPosition ?? _.labelPosition ?? \"right\", S = m.disabled ?? !1, C = _.disabledAlpha ?? .5, w = m.tristate ?? !1, [T, E] = s(f(m.checked ?? m.defaultChecked ?? !1, w));\n\to(() => {\n\t\tm.checked !== void 0 && E(f(m.checked, w));\n\t}, [m.checked, w]);\n\tlet D = {\n\t\tchecked: T,\n\t\tdisabled: S,\n\t\tsize: y,\n\t\tcolor: _.color ?? 7829367,\n\t\tcheckedColor: _.checkedColor ?? 5025616,\n\t\tindeterminateColor: _.indeterminateColor ?? _.checkedColor ?? 5025616\n\t}, O = () => {\n\t\tif (S) return;\n\t\tlet e = d(T, w);\n\t\tm.checked === void 0 && E(e), m.onChange?.(e);\n\t}, k = m.indicator ?? m.renderIndicator?.(D) ?? /* @__PURE__ */ l(p, { ...D }), A = m.label && x !== \"none\" ? /* @__PURE__ */ l(e, {\n\t\ttext: m.label,\n\t\tstyle: _.labelStyle,\n\t\talpha: S ? C : 1\n\t}) : null;\n\treturn /* @__PURE__ */ u(t, {\n\t\tdirection: \"row\",\n\t\talignItems: \"center\",\n\t\tenableGestures: !S,\n\t\tonTouch: O,\n\t\ttheme: v,\n\t\tgap: b,\n\t\talpha: S ? C : 1,\n\t\tchildren: [\n\t\t\tx === \"left\" && A,\n\t\t\tk,\n\t\t\tx !== \"left\" && A\n\t\t]\n\t}, m.key);\n}\n//#endregion\nexport { m as Checkbox, d as getNextCheckedState, f as normalizeCheckedState };\n","import { Text as e } from \"./primitives/Text.js\";\nimport { View as t } from \"./primitives/View.js\";\nimport \"./primitives.js\";\nimport { KNOWN_COMPONENTS as n, getGlobalThemeDefaults as r, mergeThemes as i, resolveComponentTheme as a, useTheme as o } from \"@number10/jsx-core\";\nimport { jsx as s, jsxs as c } from \"@number10/jsx-core/jsx-runtime\";\n//#region src/RadioButton.tsx\nfunction l(l) {\n\tlet u = o(), d = l.theme ? i(u ?? {}, l.theme) : u, { props: f, nestedTheme: p } = a({\n\t\tcomponentName: \"RadioButton\",\n\t\tglobalTheme: r(),\n\t\tlocalTheme: d,\n\t\tknownComponents: n\n\t}), m = f.size ?? 18, h = f.innerSize ?? Math.max(6, Math.round(m * .45)), g = h * .5, _ = f.borderWidth ?? Math.max(2, Math.round(m * .11)), v = l.selected ?? !1, y = l.disabled ?? !1, b = f.disabledAlpha ?? .5, x = l.labelPosition ?? f.labelPosition ?? \"right\", S = f.selectedColor ?? 2201331, C = f.color ?? 7697781, w = v ? S : C, T = f.backgroundColor, E = f.gap ?? 8, D = x === \"none\" ? null : /* @__PURE__ */ s(e, {\n\t\ttext: l.label,\n\t\tstyle: f.labelStyle,\n\t\talpha: y ? b : 1\n\t});\n\treturn /* @__PURE__ */ c(t, {\n\t\tdirection: \"row\",\n\t\talignItems: \"center\",\n\t\tenableGestures: !y,\n\t\tonTouch: () => {\n\t\t\ty || l.onClick?.();\n\t\t},\n\t\ttheme: p,\n\t\tgap: E,\n\t\talpha: y ? b : 1,\n\t\tchildren: [\n\t\t\tx === \"left\" && D,\n\t\t\t/* @__PURE__ */ s(t, {\n\t\t\t\twidth: m,\n\t\t\t\theight: m,\n\t\t\t\t...T === void 0 ? {} : { backgroundColor: T },\n\t\t\t\tborderColor: w,\n\t\t\t\tborderWidth: _,\n\t\t\t\talignItems: \"center\",\n\t\t\t\tjustifyContent: \"center\",\n\t\t\t\tpadding: 0,\n\t\t\t\tcornerRadius: m * .5,\n\t\t\t\tchildren: /* @__PURE__ */ s(t, {\n\t\t\t\t\twidth: h,\n\t\t\t\t\theight: h,\n\t\t\t\t\tbackgroundColor: S,\n\t\t\t\t\tvisible: v,\n\t\t\t\t\tcornerRadius: g\n\t\t\t\t})\n\t\t\t}),\n\t\t\tx === \"right\" ? D : null\n\t\t]\n\t}, l.key);\n}\n//#endregion\nexport { l as RadioButton };\n","import { View as e } from \"./primitives/View.js\";\nimport \"./primitives.js\";\nimport { RadioButton as t } from \"./RadioButton.js\";\nimport { KNOWN_COMPONENTS as n, getGlobalThemeDefaults as r, mergeThemes as i, resolveComponentTheme as a, useState as o, useTheme as s } from \"@number10/jsx-core\";\nimport { jsx as c } from \"@number10/jsx-core/jsx-runtime\";\n//#region src/RadioGroup.tsx\nfunction l(l) {\n\tlet u = s(), d = l.theme ? i(u ?? {}, l.theme) : u, { props: f, nestedTheme: p } = a({\n\t\tcomponentName: \"RadioGroup\",\n\t\tglobalTheme: r(),\n\t\tlocalTheme: d,\n\t\tknownComponents: n\n\t}), [m, h] = o(l.value ?? l.defaultValue ?? \"\"), g = l.value ?? m, _ = (e) => {\n\t\tl.disabled || (l.value === void 0 && h(e), l.onChange?.(e));\n\t};\n\treturn /* @__PURE__ */ c(e, {\n\t\tdirection: l.direction ?? f.direction ?? \"column\",\n\t\ttheme: p,\n\t\tgap: f.gap ?? 8,\n\t\tchildren: l.options.map((e) => {\n\t\t\tlet n = g === e.value;\n\t\t\treturn /* @__PURE__ */ c(t, {\n\t\t\t\tlabel: e.label,\n\t\t\t\tselected: n,\n\t\t\t\tdisabled: l.disabled ?? !1,\n\t\t\t\tonClick: () => _(e.value)\n\t\t\t}, e.value);\n\t\t})\n\t});\n}\n//#endregion\nexport { l as RadioGroup };\n","import { View as e } from \"./primitives/View.js\";\nimport \"./primitives.js\";\nimport \"@number10/jsx-core\";\nimport { jsx as t } from \"@number10/jsx-core/jsx-runtime\";\n//#region src/Divider.tsx\nfunction n(n) {\n\tlet { orientation: r = \"horizontal\", thickness: i = 1, color: a = 13421772, length: o } = n, s = r === \"horizontal\";\n\treturn /* @__PURE__ */ t(e, {\n\t\twidth: s ? o ?? \"100%\" : i,\n\t\theight: s ? i : o ?? \"100%\",\n\t\tbackgroundColor: a\n\t});\n}\n//#endregion\nexport { n as Divider };\n","import { View as e } from \"./primitives/View.js\";\nimport \"./primitives.js\";\nimport { Easing as t, KNOWN_COMPONENTS as n, createTween as r, getGlobalThemeDefaults as i, resolveComponentTheme as a, useRef as o, useState as s, useSurface as c, useTheme as l } from \"@number10/jsx-core\";\nimport { jsx as u, jsxs as d } from \"@number10/jsx-core/jsx-runtime\";\n//#region src/ScrollSlider.tsx\nfunction f(e, t) {\n\tlet n = t ?? i().ScrollSlider ?? {}, r = e === \"large\" ? 1.25 : e === \"small\" ? .75 : e === \"tiny\" ? .5 : e === \"micro\" ? .25 : e === \"nano\" ? .125 : 1, a = (n.borderWidth ?? 1) * r, o = (n.size ?? 24) * r;\n\treturn {\n\t\tborder: a,\n\t\touter: o,\n\t\tdimension: o - a * 2\n\t};\n}\nfunction p(p) {\n\tlet { direction: m, scrollPosition: h, viewportSize: g, contentSize: _, onScroll: v, momentum: y = !0, onMomentumEnd: b } = p, x = l(), { props: S } = a({\n\t\tcomponentName: \"ScrollSlider\",\n\t\tglobalTheme: i(),\n\t\tlocalTheme: x,\n\t\tknownComponents: n\n\t}), C = o(null), w = o(!1), [T, E] = s(!1), D = o(null), O = o(0), k = o(0), A = o(null), j = c()?.scheduler ?? null, M = o(j);\n\tj && M.current !== j && (M.current = j);\n\tlet N = m === \"vertical\", { border: P, outer: F, dimension: I } = f(p.size, S), L = F / (S.size ?? 24), R = Math.min((S.thumbBorderWidth ?? 1) * L, Math.max(0, I / 3)), z = S.cornerRadius ?? F / 2, B = S.trackCornerRadius ?? I / 2, V = S.thumbCornerRadius ?? I / 2, H = D.current?.__getLayoutSize?.(), U = (H && (N ? H.height > 0 : H.width > 0) ? N ? H.height : H.width : Math.max(0, g)) - P * 2, W = S.minThumbSize ?? 20, G = Math.max(0, _ - g), K = _ > 0 ? g / _ : 1, q = Math.max(W, U * K), J = U - q, Y = G > 0 ? h / G * J : 0, X = (e) => {\n\t\tif (e.stopPropagation(), e.state === \"start\") {\n\t\t\tw.current = !0, E(!0), O.current = 0, k.current = Date.now(), A.current &&= (A.current.stop(), null);\n\t\t\treturn;\n\t\t}\n\t\tif (e.state === \"end\") {\n\t\t\tw.current = !1, E(!1), y && Math.abs(O.current) > .1 ? Z(h) : b && b();\n\t\t\treturn;\n\t\t}\n\t\tif (!w.current) return;\n\t\tlet t = N ? e.dy ?? 0 : e.dx ?? 0, n = Date.now(), r = n - k.current;\n\t\tr > 0 && (O.current = t / r * 1e3, k.current = n);\n\t\tlet i = Math.max(0, Math.min(J, Y + t));\n\t\tv(J > 0 ? i / J * G : 0);\n\t}, Z = (e) => {\n\t\tif (!M.current) return;\n\t\tlet n = Math.min(1e3, Math.max(200, Math.abs(O.current))), i = Math.max(0, Math.min(G, e + O.current * (n / 1e3)));\n\t\tA.current = r({ pos: e }, {\n\t\t\tto: { pos: i },\n\t\t\tduration: n,\n\t\t\tease: t.quadOut,\n\t\t\tonUpdate: (e) => v(e.pos),\n\t\t\tonComplete: () => {\n\t\t\t\tA.current = null, b && b();\n\t\t\t}\n\t\t}, M.current);\n\t};\n\treturn /* @__PURE__ */ u(e, {\n\t\tref: D,\n\t\twidth: N ? F : \"100%\",\n\t\theight: N ? \"100%\" : F,\n\t\tbackgroundColor: S.borderColor ?? 0,\n\t\tcornerRadius: z,\n\t\tpadding: P,\n\t\tchildren: /* @__PURE__ */ d(e, {\n\t\t\tref: C,\n\t\t\twidth: N ? I : \"100%\",\n\t\t\theight: N ? \"100%\" : I,\n\t\t\tbackgroundColor: S.trackColor ?? 14540253,\n\t\t\tcornerRadius: B,\n\t\t\tdirection: \"stack\",\n\t\t\tpadding: 0,\n\t\t\tchildren: [/* @__PURE__ */ u(e, {\n\t\t\t\twidth: N ? I : \"100%\",\n\t\t\t\theight: N ? \"100%\" : I,\n\t\t\t\tx: 0,\n\t\t\t\ty: 0,\n\t\t\t\tbackgroundColor: S.trackColor ?? 11184810,\n\t\t\t\tcornerRadius: B,\n\t\t\t\tenableGestures: !0,\n\t\t\t\tonTouch: (e) => {\n\t\t\t\t\te.stopPropagation();\n\t\t\t\t\tlet t = N ? e.localY ?? 0 : e.localX ?? 0, n = Math.max(q / 2, Math.min(U - q / 2, t)) - q / 2, r = J > 0 ? n / J * G : 0;\n\t\t\t\t\tv(Math.max(0, Math.min(G, r)));\n\t\t\t\t}\n\t\t\t}), /* @__PURE__ */ u(e, {\n\t\t\t\twidth: N ? I : q,\n\t\t\t\theight: N ? q : I,\n\t\t\t\tx: N ? 0 : Y,\n\t\t\t\ty: N ? Y : 0,\n\t\t\t\tbackgroundColor: T ? S.thumbActiveColor ?? S.thumbColor ?? 15658683 : S.thumbColor ?? 15658683,\n\t\t\t\tborderColor: S.thumbBorderColor,\n\t\t\t\tborderWidth: R,\n\t\t\t\tcornerRadius: V,\n\t\t\t\tenableGestures: !0,\n\t\t\t\tonTouchMove: X\n\t\t\t})]\n\t\t})\n\t});\n}\n//#endregion\nexport { p as ScrollSlider, f as calculateSliderSize };\n","import { KNOWN_COMPONENTS as e, PRIMITIVE_NODES as t, getGlobalThemeDefaults as n, jsx as r, mergeThemes as i, resolveComponentTheme as a, useTheme as o } from \"@number10/jsx-core\";\n//#region src/Image.tsx\nfunction s(s) {\n\tlet { theme: c, key: l, ...u } = s, d = o(), f = c ? i(d ?? {}, c) : d, { props: p, nestedTheme: m } = a({\n\t\tcomponentName: \"Image\",\n\t\tglobalTheme: n(),\n\t\tlocalTheme: f,\n\t\tknownComponents: e\n\t}), h = {\n\t\tkey: l,\n\t\ttheme: m\n\t};\n\th.texture = u.texture;\n\tfor (let [e, t] of Object.entries(u)) t !== void 0 && (h[e] = t);\n\treturn h.displayWidth === void 0 && typeof h.width == \"number\" && (h.displayWidth = h.width), h.displayHeight === void 0 && typeof h.height == \"number\" && (h.displayHeight = h.height), h.alpha === void 0 && p.alpha !== void 0 && (h.alpha = p.alpha), r(t.Image, h);\n}\n//#endregion\nexport { s as Image };\n","import { VectorDrawContent as e } from \"./primitives/VectorDrawContent.js\";\nimport { View as t } from \"./primitives/View.js\";\nimport \"./primitives.js\";\nimport { createTween as n, useRef as r, useState as i, useSurface as a } from \"@number10/jsx-core\";\nimport { jsx as o, jsxs as s } from \"@number10/jsx-core/jsx-runtime\";\n//#region src/Joystick.tsx\nfunction c(t, n) {\n\tfunction r(t, n = 65280) {\n\t\treturn /* @__PURE__ */ o(e, { onDraw: (e) => {\n\t\t\te.fillStyle(n, .1).fillCircle(0, 0, t + 10), e.fillStyle(0, .4).fillCircle(0, 0, t), e.lineStyle(3, n, 1).strokeCircle(0, 0, t), e.lineStyle(1, n, .5).strokeCircle(0, 0, t - 5);\n\t\t\tfor (let r = 0; r < 4; r++) {\n\t\t\t\tlet i = r * 90 * Math.PI / 180;\n\t\t\t\te.lineStyle(2, n, .7).lineBetween(Math.cos(i) * (t - 15), Math.sin(i) * (t - 15), Math.cos(i) * (t - 5), Math.sin(i) * (t - 5));\n\t\t\t}\n\t\t} });\n\t}\n\tfunction i(t, n = 65280) {\n\t\tlet r = t * .4;\n\t\treturn /* @__PURE__ */ o(e, { onDraw: (e) => {\n\t\t\te.fillStyle(n, .2).fillCircle(0, 0, r + 5), e.fillStyle(n, .8).fillCircle(0, 0, r), e.lineStyle(2, n, 1).strokeCircle(0, 0, r), e.lineStyle(2, 0, .8), e.moveTo(0, -r * .6).lineTo(0, r * .6), e.moveTo(-r * .6, 0).lineTo(r * .6, 0), e.strokePath();\n\t\t} });\n\t}\n\tfunction a(t, n = 16711680) {\n\t\treturn /* @__PURE__ */ o(e, { onDraw: (e) => {\n\t\t\te.fillStyle(0, .3).fillCircle(0, 0, t);\n\t\t\tfor (let r = 0; r < 3; r++) e.lineStyle(2, n, .6 - r * .15).strokeCircle(0, 0, t - r * 20);\n\t\t\te.lineStyle(1, n, .5), e.moveTo(-t, 0).lineTo(t, 0), e.moveTo(0, -t).lineTo(0, t), e.strokePath(), e.fillStyle(n, .8).fillCircle(0, 0, 5);\n\t\t} });\n\t}\n\tfunction s(t, n = 16711680) {\n\t\tlet r = t * .35;\n\t\treturn /* @__PURE__ */ o(e, { onDraw: (e) => {\n\t\t\te.fillStyle(n, .7).fillCircle(0, 0, r), e.fillStyle(16777215, .9).fillCircle(0, 0, r * .5), e.fillStyle(n, 1).fillCircle(0, 0, r * .2), e.lineStyle(3, n, 1), e.beginPath(), e.moveTo(0, -r).lineTo(r * .3, -r * .6).lineTo(-r * .3, -r * .6), e.closePath().fillPath();\n\t\t} });\n\t}\n\tfunction c(t, n = 16777215) {\n\t\treturn /* @__PURE__ */ o(e, { onDraw: (e) => {\n\t\t\te.fillStyle(n, .15).fillCircle(0, 0, t), e.fillStyle(n, .3).fillCircle(-t * .3, -t * .3, t * .4), e.lineStyle(2, n, .5).strokeCircle(0, 0, t), e.lineStyle(1, n, .3).strokeCircle(0, 0, t - 3);\n\t\t} });\n\t}\n\tfunction l(t, n = 16777215) {\n\t\tlet r = t * .4;\n\t\treturn /* @__PURE__ */ o(e, { onDraw: (e) => {\n\t\t\te.fillStyle(0, .2).fillCircle(r * .1, r * .1, r), e.fillStyle(n, .4).fillCircle(0, 0, r), e.fillStyle(n, .6).fillCircle(-r * .3, -r * .3, r * .4), e.lineStyle(2, n, .7).strokeCircle(0, 0, r);\n\t\t} });\n\t}\n\tfunction u(t, n = 65280) {\n\t\treturn /* @__PURE__ */ o(e, { onDraw: (e) => {\n\t\t\te.fillStyle(1710618, .8).fillCircle(0, 0, t), e.lineStyle(1, n, .3);\n\t\t\tfor (let n = -t; n <= t; n += 20) e.moveTo(-t, n).lineTo(t, n), e.moveTo(n, -t).lineTo(n, t);\n\t\t\te.strokePath(), e.lineStyle(2, n, .6), e.strokeCircle(0, 0, t), e.strokeCircle(0, 0, t * .66), e.strokeCircle(0, 0, t * .33);\n\t\t\tlet r = [-t * .7, t * .7];\n\t\t\te.lineStyle(3, n, .8), r.forEach((t) => r.forEach((n) => {\n\t\t\t\te.moveTo(t - 10, n).lineTo(t + 10, n), e.moveTo(t, n - 10).lineTo(t, n + 10);\n\t\t\t})), e.strokePath();\n\t\t} });\n\t}\n\tfunction d(t, n = 65280) {\n\t\tlet r = t * .3;\n\t\treturn /* @__PURE__ */ o(e, { onDraw: (e) => {\n\t\t\te.fillStyle(n, .9).fillCircle(0, 0, r), e.fillStyle(0, 1), e.beginPath(), e.moveTo(0, -r).lineTo(r * .5, r * .3).lineTo(-r * .5, r * .3), e.closePath().fillPath(), e.lineStyle(2, 0, .8).strokeCircle(0, 0, r);\n\t\t} });\n\t}\n\tfunction f(t, n = 65280) {\n\t\treturn /* @__PURE__ */ o(e, { onDraw: (e) => {\n\t\t\te.fillStyle(0, .25).lineStyle(1, n), e.fillCircle(0, 0, t).strokeCircle(0, 0, t);\n\t\t} });\n\t}\n\tfunction p(t, n = 65280) {\n\t\tlet r = t * .2;\n\t\treturn /* @__PURE__ */ o(e, { onDraw: (e) => {\n\t\t\te.lineStyle(2, 0, 1), e.moveTo(0, -r).lineTo(0, r), e.moveTo(-r, 0).lineTo(r, 0), e.strokePath(), e.lineStyle(2, n, .75).strokeCircle(0, 0, r * 1.1);\n\t\t} });\n\t}\n\tlet m = t == null ? \"default\" : t.theme, h = (t == null ? 65280 : t.tint) ?? 65280;\n\tswitch (m) {\n\t\tcase \"neon\": return {\n\t\t\tbase: r(n, h),\n\t\t\tthumb: i(n, h),\n\t\t\trotateThumb: !1\n\t\t};\n\t\tcase \"target\": return {\n\t\t\tbase: a(n, h),\n\t\t\tthumb: s(n, h),\n\t\t\trotateThumb: !0\n\t\t};\n\t\tcase \"glass\": return {\n\t\t\tbase: c(n, h),\n\t\t\tthumb: l(n, h),\n\t\t\trotateThumb: !1\n\t\t};\n\t\tcase \"military\": return {\n\t\t\tbase: u(n, h),\n\t\t\tthumb: d(n, h),\n\t\t\trotateThumb: !0\n\t\t};\n\t\tdefault: return {\n\t\t\tbase: f(n, h),\n\t\t\tthumb: p(n, h),\n\t\t\trotateThumb: !1\n\t\t};\n\t}\n}\nfunction l(e) {\n\tlet [l, u] = i({\n\t\tx: 0,\n\t\ty: 0\n\t}), [d, f] = i(0), [p, m] = i({\n\t\twidth: 0,\n\t\theight: 0\n\t}), h = r(!1), g = r(null), _ = r(!1), v = r(null), y = a()?.scheduler, b = typeof e.width == \"number\" ? e.width : 200, x = typeof e.height == \"number\" ? e.height : 200, S = {\n\t\tx: b / 2,\n\t\ty: x / 2\n\t}, C = Math.min(b, x) / 2;\n\tp.width === 0 && Promise.resolve().then(() => {\n\t\tm({\n\t\t\twidth: b,\n\t\t\theight: x\n\t\t}), u(S);\n\t});\n\tlet w = e.base != null && e.thumb ? {\n\t\tbase: e.base,\n\t\tthumb: e.thumb,\n\t\trotateThumb: e.rotateThumb ?? !1\n\t} : c(e.joystickTheme, C), T = (e) => {\n\t\tlet t = e;\n\t\treturn t ? t.pointerId ?? t.id ?? null : null;\n\t}, E = (t) => {\n\t\tt.stopPropagation();\n\t\tlet r = T(t.pointer);\n\t\tif (_.current && r !== v.current) return;\n\t\tif (t.state === \"start\" && (h.current = !1, _.current = !0, v.current = r), t.state === \"end\") {\n\t\t\t_.current = !1, v.current = null, g.current &&= (g.current.stop(), null), y ? g.current = n({\n\t\t\t\tx: l.x,\n\t\t\t\ty: l.y,\n\t\t\t\tangle: d\n\t\t\t}, {\n\t\t\t\tto: {\n\t\t\t\t\tx: S.x,\n\t\t\t\t\ty: S.y,\n\t\t\t\t\tangle: 0\n\t\t\t\t},\n\t\t\t\tduration: 150,\n\t\t\t\tonUpdate: (e) => {\n\t\t\t\t\tu({\n\t\t\t\t\t\tx: e.x,\n\t\t\t\t\t\ty: e.y\n\t\t\t\t\t}), f(e.angle ?? 0);\n\t\t\t\t},\n\t\t\t\tonComplete: () => {\n\t\t\t\t\tg.current = null, e.onMove?.(!1, 0, 0);\n\t\t\t\t}\n\t\t\t}, y) : (u(S), f(0), e.onMove?.(!1, 0, 0));\n\t\t\treturn;\n\t\t}\n\t\tif (!_.current) return;\n\t\tlet i = t.localX - S.x, a = t.localY - S.y, o = Math.sqrt(i * i + a * a), s = C * .6, c = Math.min(o, s), p = Math.atan2(a, i), m = (p * 180 / Math.PI + 360) % 360, b = o > 0 ? Math.min(o / s, 1) : 0;\n\t\tu({\n\t\t\tx: S.x + (o > 0 ? c / o * i : 0),\n\t\t\ty: S.y + (o > 0 ? c / o * a : 0)\n\t\t}), (e.rotateThumb ?? w.rotateThumb) && f(p);\n\t\tlet x = e.minForce ?? .1;\n\t\tb > x && (h.current = !0), e.onMove?.(b > x || h.current, m, b);\n\t};\n\treturn /* @__PURE__ */ s(t, {\n\t\twidth: e.width,\n\t\theight: e.height,\n\t\tdirection: \"stack\",\n\t\tenableGestures: !0,\n\t\tonTouchMove: E,\n\t\tonTouchOutside: E,\n\t\tchildren: [/* @__PURE__ */ o(t, {\n\t\t\tx: S.x,\n\t\t\ty: S.y,\n\t\t\tchildren: w.base\n\t\t}), /* @__PURE__ */ o(t, {\n\t\t\tx: l.x,\n\t\t\ty: l.y,\n\t\t\t...w.rotateThumb ? { rotation: d } : {},\n\t\t\tchildren: w.thumb\n\t\t})]\n\t});\n}\n//#endregion\nexport { l as Joystick };\n","import { Text as e } from \"./primitives/Text.js\";\nimport { View as t } from \"./primitives/View.js\";\nimport \"./primitives.js\";\nimport { Button as n } from \"./Button.js\";\nimport { ContextMenu as r } from \"./Popover.js\";\nimport { KNOWN_COMPONENTS as i, getGlobalThemeDefaults as a, mergeThemes as o, resolveComponentTheme as s, useState as c, useTheme as l } from \"@number10/jsx-core\";\nimport { jsx as u, jsxs as d } from \"@number10/jsx-core/jsx-runtime\";\n//#region src/MenuButton.tsx\nfunction f(f) {\n\tlet { items: p, onSelect: m, children: h, label: g, icon: _, trigger: v, open: y, defaultOpen: b, onOpenChange: x, placement: S, width: C, buttonVariant: w, buttonSize: T, buttonProps: E, disabled: D = !1, theme: O, ...k } = f, A = l(), j = O ? o(A ?? {}, O) : A, { props: M, nestedTheme: N } = s({\n\t\tcomponentName: \"MenuButton\",\n\t\tglobalTheme: a(),\n\t\tlocalTheme: j,\n\t\tknownComponents: i\n\t}), [P, F] = c(b ?? !1), I = y !== void 0, L = I ? y : P, R = (e) => {\n\t\tI || F(e), x?.(e);\n\t}, z = (e) => {\n\t\tm?.(e);\n\t}, B = () => {\n\t\tif (v) return v({\n\t\t\tisOpen: L,\n\t\t\tdisabled: D\n\t\t});\n\t\tif (h !== void 0) return /* @__PURE__ */ u(n, {\n\t\t\t...E,\n\t\t\tvariant: w ?? M.buttonVariant ?? \"secondary\",\n\t\t\tsize: T ?? M.buttonSize ?? \"medium\",\n\t\t\tdisabled: D,\n\t\t\ttheme: N,\n\t\t\tchildren: h\n\t\t});\n\t\tlet r = _ !== void 0, i = g !== void 0;\n\t\treturn /* @__PURE__ */ u(n, {\n\t\t\t...E,\n\t\t\tvariant: w ?? M.buttonVariant ?? \"secondary\",\n\t\t\tsize: T ?? M.buttonSize ?? \"medium\",\n\t\t\tdisabled: D,\n\t\t\tlabel: r ? void 0 : g,\n\t\t\ttheme: N,\n\t\t\tchildren: r && /* @__PURE__ */ d(t, {\n\t\t\t\tdirection: \"row\",\n\t\t\t\talignItems: \"center\",\n\t\t\t\tjustifyContent: \"center\",\n\t\t\t\tgap: M.iconGap ?? 8,\n\t\t\t\tchildren: [_, i && /* @__PURE__ */ u(e, { text: String(g) })]\n\t\t\t})\n\t\t});\n\t}, V = C ?? M.width;\n\treturn /* @__PURE__ */ u(r, {\n\t\t...k,\n\t\titems: p,\n\t\tonSelect: z,\n\t\tisOpen: L,\n\t\tonOpenChange: R,\n\t\tplacement: S ?? M.placement ?? \"bottom-start\",\n\t\t...V === void 0 ? {} : { width: V },\n\t\tdisabled: D,\n\t\ttheme: N,\n\t\ttrigger: B()\n\t});\n}\n//#endregion\nexport { f as MenuButton };\n","import { Image as e } from \"./primitives/Image.js\";\nimport { View as t } from \"./primitives/View.js\";\nimport \"./primitives.js\";\nimport { PRIMITIVE_NODES as n, computeSourceSlices as r, createElement as i, getCurrentOrThrow as a, jsx as o, useEffect as s, useMemo as c, useState as l } from \"@number10/jsx-core\";\nimport { jsx as u, jsxs as d } from \"@number10/jsx-core/jsx-runtime\";\n//#region src/NineSlice.tsx\nfunction f(e, t, n, i, a, o) {\n\treturn r(e, t, n, i, a, o).map((e) => ({ ...e }));\n}\nfunction p() {\n\treturn a().surface?.capabilities?.has(\"nineslice\") === !0;\n}\nfunction m(e, t = !0) {\n\treturn !(e === \"fallback\" || !p() || !t);\n}\nfunction h(e, t, r) {\n\tlet i = {\n\t\t...e,\n\t\t...t === void 0 ? {} : { key: t },\n\t\t...r === void 0 ? {} : { theme: r }\n\t};\n\treturn o(n.NineSlice, i);\n}\nfunction g(t, n, r, i, a, o, s, c, l, d, f) {\n\tif (m(i)) return h({\n\t\ttexture: t,\n\t\tframe: n,\n\t\ttint: r,\n\t\twidth: o,\n\t\theight: s,\n\t\tleftWidth: c,\n\t\trightWidth: l,\n\t\ttopHeight: d,\n\t\tbottomHeight: f,\n\t\tdepth: 0\n\t});\n\tlet p = Math.max(0, o - c - l), g = Math.max(0, s - d - f), _ = d === 0 && f === 0, v = (i, a, o, s, c, l) => /* @__PURE__ */ u(e, {\n\t\theadless: !0,\n\t\tdepth: 0,\n\t\tx: o,\n\t\ty: s,\n\t\toriginX: 0,\n\t\toriginY: 0,\n\t\ttexture: t,\n\t\tframe: n,\n\t\ttint: r,\n\t\tsourceRect: a,\n\t\twidth: c,\n\t\theight: l,\n\t\tdisplayWidth: c,\n\t\tdisplayHeight: l\n\t}, i);\n\tif (_) {\n\t\tlet e = a[3], t = a[4], n = a[5];\n\t\treturn [\n\t\t\tv(\"l\", e, 0, 0, c, s),\n\t\t\tv(\"c\", t, c, 0, p, s),\n\t\t\tv(\"r\", n, o - l, 0, l, s)\n\t\t];\n\t}\n\tlet y = a[0], b = a[1], x = a[2], S = a[3], C = a[4], w = a[5], T = a[6], E = a[7], D = a[8];\n\treturn [\n\t\tv(\"tl\", y, 0, 0, c, d),\n\t\tv(\"t\", b, c, 0, p, d),\n\t\tv(\"tr\", x, o - l, 0, l, d),\n\t\tv(\"l\", S, 0, d, c, g),\n\t\tv(\"c\", C, c, d, p, g),\n\t\tv(\"r\", w, o - l, d, l, g),\n\t\tv(\"bl\", T, 0, s - f, c, f),\n\t\tv(\"b\", E, c, s - f, p, f),\n\t\tv(\"br\", D, o - l, s - f, l, f)\n\t];\n}\nfunction _(e, t) {\n\tlet n = a().surface?.textureLoader, [r, i] = l(null);\n\treturn s(() => {\n\t\tif (!n) return;\n\t\tlet r;\n\t\tif (t) {\n\t\t\tlet i = n.getFrameRect(e, t);\n\t\t\ti && (r = {\n\t\t\t\tw: i.width,\n\t\t\t\th: i.height\n\t\t\t});\n\t\t}\n\t\tif (!r) {\n\t\t\tlet t = n.getTextureSize(e);\n\t\t\tt && (r = {\n\t\t\t\tw: t.width,\n\t\t\t\th: t.height\n\t\t\t});\n\t\t}\n\t\ti(r ?? null);\n\t}, [\n\t\te,\n\t\tt,\n\t\tn\n\t]), r;\n}\nfunction v(e) {\n\tlet { texture: t, frame: n, leftWidth: r, rightWidth: i, topHeight: a, bottomHeight: o, width: s, height: c, tint: l, theme: u, key: d } = e;\n\treturn h({\n\t\ttexture: t,\n\t\tframe: n,\n\t\ttint: l,\n\t\tleftWidth: r,\n\t\trightWidth: i,\n\t\ttopHeight: a,\n\t\tbottomHeight: o,\n\t\twidth: s,\n\t\theight: c\n\t}, d, u);\n}\nfunction y(n) {\n\tif (m(n.renderMode, n.width !== void 0 && n.height !== void 0)) return /* @__PURE__ */ u(v, { ...n });\n\tlet { texture: r, frame: a, leftWidth: o, rightWidth: s, topHeight: l, bottomHeight: p, width: h, height: g, tint: y, theme: b, key: x } = n, S = l === 0 && p === 0, C = _(r, a), w = c(() => C ? f(C.w, C.h, o, s, l, p) : null, [\n\t\tC,\n\t\to,\n\t\ts,\n\t\tl,\n\t\tp\n\t]);\n\tif (!w) return /* @__PURE__ */ u(t, {\n\t\twidth: h,\n\t\theight: g,\n\t\ttheme: b\n\t}, x);\n\tlet T = typeof h == \"number\" ? h : void 0, E = typeof g == \"number\" ? g : void 0, D = T == null ? void 0 : T - o - s, O = E == null ? void 0 : E - l - p, k = (e, t, n) => ({\n\t\ttexture: r,\n\t\tframe: a,\n\t\ttint: y,\n\t\tsourceRect: e,\n\t\t...t == null ? {} : { displayWidth: t },\n\t\t...n == null ? {} : { displayHeight: n }\n\t});\n\tif (S) {\n\t\tlet n = w[3], r = w[4], a = w[5];\n\t\treturn /* @__PURE__ */ d(t, {\n\t\t\tdirection: \"row\",\n\t\t\twidth: h,\n\t\t\theight: g,\n\t\t\ttheme: b,\n\t\t\tchildren: [\n\t\t\t\t/* @__PURE__ */ i(e, {\n\t\t\t\t\t...k(n, o, E),\n\t\t\t\t\twidth: o,\n\t\t\t\t\theight: \"100%\",\n\t\t\t\t\tkey: \"l\"\n\t\t\t\t}),\n\t\t\t\t/* @__PURE__ */ i(e, {\n\t\t\t\t\t...k(r, D, E),\n\t\t\t\t\tflex: 1,\n\t\t\t\t\theight: \"100%\",\n\t\t\t\t\tkey: \"c\"\n\t\t\t\t}),\n\t\t\t\t/* @__PURE__ */ i(e, {\n\t\t\t\t\t...k(a, s, E),\n\t\t\t\t\twidth: s,\n\t\t\t\t\theight: \"100%\",\n\t\t\t\t\tkey: \"r\"\n\t\t\t\t})\n\t\t\t]\n\t\t}, x);\n\t}\n\tlet A = w[0], j = w[1], M = w[2], N = w[3], P = w[4], F = w[5], I = w[6], L = w[7], R = w[8];\n\treturn /* @__PURE__ */ d(t, {\n\t\tdirection: \"column\",\n\t\twidth: h,\n\t\theight: g,\n\t\ttheme: b,\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ d(t, {\n\t\t\t\tdirection: \"row\",\n\t\t\t\twidth: \"fill\",\n\t\t\t\theight: l,\n\t\t\t\tchildren: [\n\t\t\t\t\t/* @__PURE__ */ i(e, {\n\t\t\t\t\t\t...k(A, o, l),\n\t\t\t\t\t\twidth: o,\n\t\t\t\t\t\theight: l,\n\t\t\t\t\t\tkey: \"tl\"\n\t\t\t\t\t}),\n\t\t\t\t\t/* @__PURE__ */ i(e, {\n\t\t\t\t\t\t...k(j, D, l),\n\t\t\t\t\t\tflex: 1,\n\t\t\t\t\t\theight: l,\n\t\t\t\t\t\tkey: \"t\"\n\t\t\t\t\t}),\n\t\t\t\t\t/* @__PURE__ */ i(e, {\n\t\t\t\t\t\t...k(M, s, l),\n\t\t\t\t\t\twidth: s,\n\t\t\t\t\t\theight: l,\n\t\t\t\t\t\tkey: \"tr\"\n\t\t\t\t\t})\n\t\t\t\t]\n\t\t\t}, \"row-t\"),\n\t\t\t/* @__PURE__ */ d(t, {\n\t\t\t\tdirection: \"row\",\n\t\t\t\twidth: \"fill\",\n\t\t\t\tflex: 1,\n\t\t\t\tchildren: [\n\t\t\t\t\t/* @__PURE__ */ i(e, {\n\t\t\t\t\t\t...k(N, o, O),\n\t\t\t\t\t\twidth: o,\n\t\t\t\t\t\theight: \"100%\",\n\t\t\t\t\t\tkey: \"l\"\n\t\t\t\t\t}),\n\t\t\t\t\t/* @__PURE__ */ i(e, {\n\t\t\t\t\t\t...k(P, D, O),\n\t\t\t\t\t\tflex: 1,\n\t\t\t\t\t\theight: \"100%\",\n\t\t\t\t\t\tkey: \"c\"\n\t\t\t\t\t}),\n\t\t\t\t\t/* @__PURE__ */ i(e, {\n\t\t\t\t\t\t...k(F, s, O),\n\t\t\t\t\t\twidth: s,\n\t\t\t\t\t\theight: \"100%\",\n\t\t\t\t\t\tkey: \"r\"\n\t\t\t\t\t})\n\t\t\t\t]\n\t\t\t}, \"row-m\"),\n\t\t\t/* @__PURE__ */ d(t, {\n\t\t\t\tdirection: \"row\",\n\t\t\t\twidth: \"fill\",\n\t\t\t\theight: p,\n\t\t\t\tchildren: [\n\t\t\t\t\t/* @__PURE__ */ i(e, {\n\t\t\t\t\t\t...k(I, o, p),\n\t\t\t\t\t\twidth: o,\n\t\t\t\t\t\theight: p,\n\t\t\t\t\t\tkey: \"bl\"\n\t\t\t\t\t}),\n\t\t\t\t\t/* @__PURE__ */ i(e, {\n\t\t\t\t\t\t...k(L, D, p),\n\t\t\t\t\t\tflex: 1,\n\t\t\t\t\t\theight: p,\n\t\t\t\t\t\tkey: \"b\"\n\t\t\t\t\t}),\n\t\t\t\t\t/* @__PURE__ */ i(e, {\n\t\t\t\t\t\t...k(R, s, p),\n\t\t\t\t\t\twidth: s,\n\t\t\t\t\t\theight: p,\n\t\t\t\t\t\tkey: \"br\"\n\t\t\t\t\t})\n\t\t\t\t]\n\t\t\t}, \"row-b\")\n\t\t]\n\t}, x);\n}\nfunction b(e) {\n\tlet { texture: n, frame: r, leftWidth: i, rightWidth: a, topHeight: o, bottomHeight: s, width: l, height: p, tint: m, children: h, renderMode: v, alignItems: y = \"start\", justifyContent: b = \"start\", gap: x, padding: S, theme: C, key: w } = e, T = _(n, r), E = c(() => T ? f(T.w, T.h, i, a, o, s) : null, [\n\t\tT,\n\t\ti,\n\t\ta,\n\t\to,\n\t\ts\n\t]), D = {\n\t\tleft: i + (S?.left ?? 0),\n\t\tright: a + (S?.right ?? 0),\n\t\ttop: o + (S?.top ?? 0),\n\t\tbottom: s + (S?.bottom ?? 0)\n\t};\n\treturn /* @__PURE__ */ d(t, {\n\t\tdirection: \"stack\",\n\t\twidth: l,\n\t\theight: p,\n\t\ttheme: C,\n\t\tchildren: [E ? g(n, r, m, v, E, l, p, i, a, o, s) : null, /* @__PURE__ */ u(t, {\n\t\t\tdirection: \"column\",\n\t\t\tdepth: 1,\n\t\t\twidth: \"100%\",\n\t\t\theight: \"100%\",\n\t\t\talignItems: y,\n\t\t\tjustifyContent: b,\n\t\t\tgap: x,\n\t\t\tpadding: D,\n\t\t\tchildren: h\n\t\t})]\n\t}, w);\n}\nfunction x(e) {\n\treturn e.children === void 0 ? /* @__PURE__ */ u(y, {\n\t\ttexture: e.texture,\n\t\tframe: e.frame,\n\t\tleftWidth: e.leftWidth,\n\t\trightWidth: e.rightWidth,\n\t\ttopHeight: e.topHeight ?? 0,\n\t\tbottomHeight: e.bottomHeight ?? 0,\n\t\twidth: e.width,\n\t\theight: e.height,\n\t\ttint: e.tint,\n\t\trenderMode: e.renderMode,\n\t\ttheme: e.theme\n\t}, e.key) : /* @__PURE__ */ u(b, {\n\t\ttexture: e.texture,\n\t\tframe: e.frame,\n\t\tleftWidth: e.leftWidth,\n\t\trightWidth: e.rightWidth,\n\t\ttopHeight: e.topHeight ?? 0,\n\t\tbottomHeight: e.bottomHeight ?? 0,\n\t\twidth: e.width,\n\t\theight: e.height,\n\t\ttint: e.tint,\n\t\trenderMode: e.renderMode,\n\t\tchildren: e.children,\n\t\talignItems: e.alignItems,\n\t\tjustifyContent: e.justifyContent,\n\t\tgap: e.gap,\n\t\tpadding: e.padding,\n\t\ttheme: e.theme\n\t}, e.key);\n}\n//#endregion\nexport { x as NineSlice };\n","import { View as e } from \"./primitives/View.js\";\nimport \"./primitives.js\";\nimport { NineSlice as t } from \"./NineSlice.js\";\nimport { applyEffect as n, createElement as r, resolveEffect as i, useEffect as a, useRef as o, useState as s } from \"@number10/jsx-core\";\nimport { jsx as c } from \"@number10/jsx-core/jsx-runtime\";\n//#region src/NineSliceButton.tsx\nfunction l(l) {\n\tlet { texture: u, frame: d, leftWidth: f, rightWidth: p, topHeight: m = 0, bottomHeight: h = 0, width: g, height: _, tint: v, onClick: y, disabled: b, children: x, alignItems: S = \"center\", justifyContent: C = \"center\", gap: w, padding: T, renderMode: E, theme: D, key: O, effect: k, effectConfig: A } = l, j = o(null), [M, N] = s(!1);\n\ta(() => {\n\t\tN(!0);\n\t}, []);\n\tlet P = b ? void 0 : (e) => {\n\t\tlet t = i({\n\t\t\teffect: k,\n\t\t\teffectConfig: A\n\t\t}, {});\n\t\tn(j.current, t.effect, t.effectConfig), y?.();\n\t}, F = P ? { onTouch: P } : {}, I = x != null && x !== !1;\n\treturn /* @__PURE__ */ r(e, {\n\t\tref: j,\n\t\tdirection: \"stack\",\n\t\twidth: g,\n\t\theight: _,\n\t\tvisible: M,\n\t\tenableGestures: !b,\n\t\t...F,\n\t\tkey: O,\n\t\ttheme: D\n\t}, I ? /* @__PURE__ */ c(t, {\n\t\ttexture: u,\n\t\tframe: d,\n\t\tleftWidth: f,\n\t\trightWidth: p,\n\t\ttopHeight: m,\n\t\tbottomHeight: h,\n\t\twidth: g,\n\t\theight: _,\n\t\ttint: v,\n\t\trenderMode: E,\n\t\talignItems: S,\n\t\tjustifyContent: C,\n\t\tgap: w,\n\t\tpadding: T,\n\t\ttheme: D,\n\t\tchildren: x\n\t}) : /* @__PURE__ */ c(t, {\n\t\ttexture: u,\n\t\tframe: d,\n\t\tleftWidth: f,\n\t\trightWidth: p,\n\t\ttopHeight: m,\n\t\tbottomHeight: h,\n\t\twidth: g,\n\t\theight: _,\n\t\ttint: v,\n\t\trenderMode: E,\n\t\ttheme: D\n\t}));\n}\n//#endregion\nexport { l as NineSliceButton };\n","import { Text as e } from \"./primitives/Text.js\";\nimport { VectorDrawContent as t } from \"./primitives/VectorDrawContent.js\";\nimport { View as n } from \"./primitives/View.js\";\nimport \"./primitives.js\";\nimport { Button as r } from \"./Button.js\";\nimport { KNOWN_COMPONENTS as i, getGlobalThemeDefaults as a, mergeThemes as o, resolveComponentTheme as s, useEffect as c, useRef as l, useState as u, useTheme as d } from \"@number10/jsx-core\";\nimport { Fragment as f, jsx as p, jsxs as m } from \"@number10/jsx-core/jsx-runtime\";\n//#region src/NumberInput.tsx\nvar ee = {\n\tdecrement: \"-\",\n\tincrement: \"+\",\n\tvalue: \"Value\"\n};\nfunction h(e) {\n\treturn e === \"decrement\" ? \"left\" : \"right\";\n}\nfunction g(e, t, n) {\n\tlet r = n / 2, i = n * .32, a = n * .68, o = n * .3, s = n * .7;\n\te.beginPath(), t === \"left\" ? e.moveTo(a, o).lineTo(i, r).lineTo(a, s) : t === \"right\" ? e.moveTo(i, o).lineTo(a, r).lineTo(i, s) : t === \"up\" ? e.moveTo(i, s).lineTo(r, o).lineTo(a, s) : e.moveTo(i, o).lineTo(r, s).lineTo(a, o), e.strokePath();\n}\nfunction _(e, t, n) {\n\tlet r = n / 2, i = n * .3, a = n * .7;\n\te.beginPath().moveTo(i, r).lineTo(a, r).strokePath(), t === \"increment\" && e.beginPath().moveTo(r, i).lineTo(r, a).strokePath();\n}\nfunction v(e) {\n\tlet { variant: n = \"sign\", action: r = \"increment\", direction: i, size: a = 24, color: o = 16777215, activeColor: s = o, disabled: c = !1, framed: l = !1, backgroundAlpha: u = .12, borderAlpha: d = 1, ...f } = e, m = i ?? h(r);\n\treturn /* @__PURE__ */ p(t, {\n\t\t...f,\n\t\twidth: a,\n\t\theight: a,\n\t\tdependencies: [\n\t\t\tn,\n\t\t\tr,\n\t\t\tm,\n\t\t\ta,\n\t\t\to,\n\t\t\ts,\n\t\t\tc,\n\t\t\tl,\n\t\t\tu,\n\t\t\td\n\t\t],\n\t\tonDraw: (e) => {\n\t\t\tlet t = c ? .45 : 1, i = Math.max(3, Math.round(a * .16)), f = Math.max(2, Math.round(a * .12)), p = c ? o : s;\n\t\t\te.clear(), l && e.fillStyle(p, u * t).lineStyle(2, p, d * t).fillRoundedRect(i, i, a - i * 2, a - i * 2, a * .18).strokeRoundedRect(i, i, a - i * 2, a - i * 2, a * .18), e.lineStyle(f, p, t), n === \"chevron\" ? g(e, m, a) : _(e, r, a);\n\t\t}\n\t});\n}\nfunction y(e) {\n\treturn typeof e == \"number\" && Number.isFinite(e);\n}\nfunction b(e, t) {\n\tlet n = y(e) ? e : -Infinity, r = y(t) ? t : Infinity;\n\treturn {\n\t\tmin: Math.min(n, r),\n\t\tmax: Math.max(n, r)\n\t};\n}\nfunction x(e) {\n\tif (!Number.isFinite(e) || Number.isInteger(e)) return 0;\n\tlet [, t = \"\"] = e.toString().split(\".\");\n\treturn t.length;\n}\nfunction S(e = 1, t) {\n\treturn y(t) && t >= 0 ? Math.floor(t) : x(Math.abs(e));\n}\nfunction C(e, t = {}) {\n\tlet { min: n, max: r } = b(t.min, t.max), i = Number.isFinite(n) ? n : Number.isFinite(r) ? r : 0, a = y(e) ? e : i, o = Math.max(n, Math.min(r, a)), s = 10 ** S(t.step, t.precision);\n\treturn Math.round(o * s) / s;\n}\nfunction w(e, t, n = {}) {\n\treturn C(e + (y(n.step) && n.step > 0 ? n.step : 1) * t, n);\n}\nfunction T(t) {\n\tlet { value: h, defaultValue: g, onChange: _, min: v, max: y, step: b = 1, precision: x, label: S, labelPosition: T, formatValue: te, renderValue: ne, labels: re, decrementContent: ie, incrementContent: ae, renderButtonContent: oe, disabled: E = !1, buttonPlacement: se, buttonDirection: ce, buttonVariant: le, buttonSize: ue, buttonTextStyle: de, buttonIndicatorColor: fe, buttonIndicatorActiveColor: pe, repeatOnHold: me, holdDelay: he, repeatInterval: ge, valueWidth: _e, controlHeight: ve, theme: D, ...O } = t, k = d(), ye = D ? o(k ?? {}, D) : k, { props: A, nestedTheme: j } = s({\n\t\tcomponentName: \"NumberInput\",\n\t\tglobalTheme: a(),\n\t\tlocalTheme: ye,\n\t\tknownComponents: i\n\t}), M = {\n\t\t...v === void 0 ? {} : { min: v },\n\t\t...y === void 0 ? {} : { max: y },\n\t\tstep: b,\n\t\t...x === void 0 ? {} : { precision: x }\n\t}, N = C(g ?? h ?? v ?? 0, M), [P, F] = u(N), I = l(N), L = l(null), R = h !== void 0, z = C(R ? h : P, M);\n\tI.current = z;\n\tlet B = () => {\n\t\tL.current &&= (clearInterval(L.current), null);\n\t};\n\tc(() => {\n\t\t!R && P !== z && F(z);\n\t}, [\n\t\tR,\n\t\tP,\n\t\tz\n\t]), c(() => () => B(), []);\n\tlet V = {\n\t\t...ee,\n\t\t...A.labels ?? {},\n\t\t...re ?? {}\n\t}, H = T ?? A.labelPosition ?? \"left\", U = se ?? A.buttonPlacement ?? \"split\", be = ce ?? A.buttonDirection ?? \"row\", xe = le ?? A.buttonVariant ?? \"secondary\", Se = ue ?? A.buttonSize ?? \"small\", Ce = de ?? A.buttonTextStyle ?? {\n\t\tcolor: \"#111827\",\n\t\tfontSize: \"16px\"\n\t}, W = fe ?? A.buttonIndicatorColor ?? 16777215, we = pe ?? A.buttonIndicatorActiveColor ?? W, Te = me ?? A.repeatOnHold ?? !0, Ee = he ?? A.holdDelay ?? 350, De = ge ?? A.repeatInterval ?? 90, G = _e ?? A.valueWidth ?? 78, K = ve ?? A.controlHeight ?? 34, Oe = A.labelStyle ?? {\n\t\tcolor: \"#ffffff\",\n\t\tfontSize: \"14px\"\n\t}, ke = A.valueStyle ?? {\n\t\tcolor: \"#ffffff\",\n\t\tfontSize: \"14px\"\n\t}, q = A.buttonControlSize ?? K, J = te?.(z) ?? `${z}`, Ae = S ?? V.value, je = H !== \"none\" && Ae.length > 0, Me = w(z, -1, M), Ne = w(z, 1, M), Pe = Me !== z, Y = Ne !== z, Fe = ne?.({\n\t\tvalue: z,\n\t\tdisplayText: J,\n\t\t...v === void 0 ? {} : { min: v },\n\t\t...y === void 0 ? {} : { max: y },\n\t\tstep: b,\n\t\tdisabled: E,\n\t\tcanDecrement: Pe,\n\t\tcanIncrement: Y,\n\t\tvalueWidth: G,\n\t\tcontrolHeight: K\n\t}), Ie = (e) => {\n\t\tlet t = C(e, M);\n\t\tt !== I.current && (I.current = t, R || F(t), _?.(t));\n\t}, X = (e) => {\n\t\tIe(w(I.current, e, M));\n\t}, Le = (e) => {\n\t\t!Te || E || (B(), X(e), L.current = setInterval(() => {\n\t\t\tX(e);\n\t\t}, De));\n\t}, Re = (e) => {\n\t\te.state === \"end\" && B();\n\t}, Z = (e) => {\n\t\tlet t = e === -1, n = t ? \"decrement\" : \"increment\", i = t ? Pe : Y, a = t ? ie : ae, o = t ? V.decrement : V.increment, s = t ? Me : Ne, c = E || !i, l = a ?? oe?.({\n\t\t\taction: n,\n\t\t\tdisabled: c,\n\t\t\tvalue: z,\n\t\t\tnextValue: s,\n\t\t\tsize: q,\n\t\t\tcolor: W,\n\t\t\tactiveColor: we\n\t\t});\n\t\treturn /* @__PURE__ */ p(r, {\n\t\t\tlabel: l ? void 0 : o,\n\t\t\twidth: q,\n\t\t\theight: q,\n\t\t\tpadding: 0,\n\t\t\tvariant: xe,\n\t\t\tsize: Se,\n\t\t\ttextStyle: Ce,\n\t\t\tdisabled: c,\n\t\t\tonClick: () => X(e),\n\t\t\tonLongPress: () => Le(e),\n\t\t\tonTouchMove: Re,\n\t\t\tlongPressDuration: Ee,\n\t\t\tchildren: l\n\t\t}, t ? \"decrement\" : \"increment\");\n\t}, ze = /* @__PURE__ */ m(n, {\n\t\tdirection: be,\n\t\talignItems: \"center\",\n\t\tgap: A.buttonGap ?? A.controlGap ?? 0,\n\t\ttheme: j,\n\t\tchildren: [Z(-1), Z(1)]\n\t}), Q = /* @__PURE__ */ p(n, {\n\t\twidth: G,\n\t\theight: K,\n\t\talignItems: \"center\",\n\t\tjustifyContent: \"center\",\n\t\tbackgroundColor: A.valueBackgroundColor ?? 0,\n\t\tbackgroundAlpha: A.valueBackgroundAlpha ?? .12,\n\t\tborderColor: A.valueBorderColor ?? A.borderColor,\n\t\tborderWidth: A.valueBorderWidth ?? 1,\n\t\tcornerRadius: A.valueCornerRadius ?? A.cornerRadius ?? 6,\n\t\tpadding: A.valuePadding ?? {\n\t\t\tleft: 8,\n\t\t\tright: 8,\n\t\t\ttop: 4,\n\t\t\tbottom: 4\n\t\t},\n\t\ttheme: j,\n\t\tchildren: Fe ?? /* @__PURE__ */ p(e, {\n\t\t\ttext: J,\n\t\t\tstyle: ke\n\t\t})\n\t}), Be = U === \"left\" ? /* @__PURE__ */ m(n, {\n\t\tdirection: \"row\",\n\t\talignItems: \"center\",\n\t\tgap: A.controlGap ?? 0,\n\t\ttheme: j,\n\t\tchildren: [ze, Q]\n\t}) : U === \"right\" ? /* @__PURE__ */ m(n, {\n\t\tdirection: \"row\",\n\t\talignItems: \"center\",\n\t\tgap: A.controlGap ?? 0,\n\t\ttheme: j,\n\t\tchildren: [Q, ze]\n\t}) : /* @__PURE__ */ m(n, {\n\t\tdirection: \"row\",\n\t\talignItems: \"center\",\n\t\tgap: A.controlGap ?? 0,\n\t\ttheme: j,\n\t\tchildren: [\n\t\t\tZ(-1),\n\t\t\tQ,\n\t\t\tZ(1)\n\t\t]\n\t}), Ve = je ? /* @__PURE__ */ p(e, {\n\t\ttext: Ae,\n\t\tstyle: Oe\n\t}) : null, He = H === \"top\" || H === \"bottom\", $ = E ? A.disabledAlpha ?? .5 : O.alpha, Ue = H === \"right\" || H === \"bottom\" ? /* @__PURE__ */ m(f, { children: [Be, Ve] }) : /* @__PURE__ */ m(f, { children: [Ve, Be] });\n\treturn /* @__PURE__ */ p(n, {\n\t\t...O,\n\t\tdirection: He ? \"column\" : \"row\",\n\t\talignItems: \"center\",\n\t\tgap: A.gap ?? 10,\n\t\tpadding: A.padding ?? 0,\n\t\t...$ === void 0 ? {} : { alpha: $ },\n\t\ttheme: j,\n\t\tchildren: Ue\n\t});\n}\n//#endregion\nexport { T as NumberInput, v as NumberInputIndicator, w as getNextNumberInputValue, S as getNumberInputPrecision, C as normalizeNumberInputValue };\n","import { Text as e } from \"./primitives/Text.js\";\nimport { VectorDrawContent as t } from \"./primitives/VectorDrawContent.js\";\nimport { View as n } from \"./primitives/View.js\";\nimport \"./primitives.js\";\nimport { KNOWN_COMPONENTS as r, ensureContrast as i, getGlobalThemeDefaults as a, mergeThemes as o, normalizeColorNumber as s, numberToHex as c, resolveComponentTheme as l, useEffect as u, useState as d, useTheme as f } from \"@number10/jsx-core\";\nimport { jsx as p, jsxs as m } from \"@number10/jsx-core/jsx-runtime\";\n//#region src/PalettePicker.tsx\nvar h = {\n\ttitle: \"Palette\",\n\tempty: \"No colors\"\n};\nfunction g(e) {\n\tlet t = typeof e == \"number\" ? { value: e } : e, n = s(t.value);\n\treturn {\n\t\t...t,\n\t\tvalue: n,\n\t\thex: c(n).toUpperCase()\n\t};\n}\nfunction _(e) {\n\treturn e.map(g);\n}\nfunction v(e, t, n) {\n\tif (t !== void 0) {\n\t\tlet n = s(t);\n\t\treturn e.some((e) => e.value === n) ? n : void 0;\n\t}\n\tif (n !== void 0) {\n\t\tlet t = s(n), r = e.find((e) => e.value === t);\n\t\tif (r) return r.value;\n\t}\n\treturn e.find((e) => !e.disabled)?.value ?? e[0]?.value;\n}\nfunction y(e, t) {\n\tlet n = Math.max(1, Math.floor(t)), r = [];\n\tfor (let t = 0; t < e.length; t += n) r.push(e.slice(t, t + n));\n\treturn r;\n}\nfunction b(e, t = 16777215) {\n\treturn i(t, e, 4.5);\n}\nfunction x(e, t) {\n\treturn !t && !e.disabled;\n}\nfunction S(e, t, n) {\n\te.clear().lineStyle(Math.max(2, Math.round(t * .09)), n, 1).beginPath().moveTo(t * .25, t * .52).lineTo(t * .43, t * .7).lineTo(t * .77, t * .3).strokePath();\n}\nfunction C(s) {\n\tlet { colors: c, value: g, defaultValue: C, onChange: w, columns: T, swatchSize: ee, showTitle: E, showHex: D, labels: O, disabled: k = !1, renderSwatch: A, theme: j, alpha: M, ...N } = s, P = f(), F = j ? o(P ?? {}, j) : P, { props: I, nestedTheme: L } = l({\n\t\tcomponentName: \"PalettePicker\",\n\t\tglobalTheme: a(),\n\t\tlocalTheme: F,\n\t\tknownComponents: r\n\t}), R = _(c), z = g !== void 0, [B, V] = d(v(R, g, C)), H = z ? v(R, g) : v(R, B);\n\tu(() => {\n\t\t!z && B !== H && V(H);\n\t}, [\n\t\tz,\n\t\tB,\n\t\tH\n\t]);\n\tlet U = {\n\t\t...h,\n\t\t...I.labels ?? {},\n\t\t...O ?? {}\n\t}, W = Math.max(1, Math.floor(T ?? I.columns ?? 6)), G = ee ?? I.swatchSize ?? 28, K = E ?? I.showTitle ?? !0, q = D ?? I.showHex ?? !1, J = I.swatchGap ?? 8, Y = I.rowGap ?? J, X = I.itemWidth ?? (q ? Math.max(56, G) : G), Z = I.titleStyle ?? {\n\t\tcolor: \"#ffffff\",\n\t\tfontSize: \"14px\",\n\t\tfontStyle: \"bold\"\n\t}, Q = I.emptyStyle ?? {\n\t\tcolor: \"#9fb3c8\",\n\t\tfontSize: \"13px\"\n\t}, te = I.hexStyle ?? {\n\t\tcolor: \"#9fb3c8\",\n\t\tfontSize: \"11px\"\n\t}, $ = k ? I.disabledAlpha ?? .5 : M, ne = y(R, W), re = (e) => {\n\t\tx(e, k) && (z || V(e.value), w?.(e.value, e));\n\t}, ie = (e) => /* @__PURE__ */ p(n, {\n\t\twidth: e.size,\n\t\theight: e.size,\n\t\tbackgroundColor: e.color,\n\t\tborderColor: e.selected ? e.selectedBorderColor : I.swatchBorderColor,\n\t\tborderWidth: e.selected ? I.swatchSelectedBorderWidth ?? 3 : I.swatchBorderWidth ?? 1,\n\t\tcornerRadius: I.swatchCornerRadius ?? 5,\n\t\talignItems: \"center\",\n\t\tjustifyContent: \"center\",\n\t\talpha: e.disabled ? I.swatchDisabledAlpha ?? .45 : 1,\n\t\ttheme: L,\n\t\tchildren: e.selected ? /* @__PURE__ */ p(t, {\n\t\t\twidth: e.size,\n\t\t\theight: e.size,\n\t\t\tdependencies: [e.size, e.checkColor],\n\t\t\tonDraw: (t) => S(t, e.size, e.checkColor)\n\t\t}) : null\n\t}), ae = (t, r) => {\n\t\tlet a = H === t.value, o = k || !!t.disabled, s = x(t, k), c = i(I.swatchSelectedBorderColor ?? 16777215, t.value, 3), l = b(t.value, I.selectedCheckColor ?? 16777215), u = {\n\t\t\toption: t,\n\t\t\tcolor: t.value,\n\t\t\thex: t.hex,\n\t\t\tselected: a,\n\t\t\tdisabled: o,\n\t\t\tindex: r,\n\t\t\tsize: G,\n\t\t\tselectedBorderColor: c,\n\t\t\tcheckColor: l\n\t\t}, d = A?.(u) ?? ie(u), f = U.formatHex?.(t.value) ?? t.hex;\n\t\treturn /* @__PURE__ */ m(n, {\n\t\t\twidth: X,\n\t\t\talignItems: \"center\",\n\t\t\tgap: 4,\n\t\t\tenableGestures: s,\n\t\t\t...s ? { onTouch: () => re(t) } : {},\n\t\t\ttheme: L,\n\t\t\tchildren: [d, q ? /* @__PURE__ */ p(e, {\n\t\t\t\ttext: f,\n\t\t\t\tstyle: te\n\t\t\t}) : null]\n\t\t}, `${t.value}-${r}`);\n\t};\n\treturn /* @__PURE__ */ m(n, {\n\t\t...N,\n\t\tdirection: \"column\",\n\t\tgap: I.gap ?? 10,\n\t\tpadding: I.padding ?? 0,\n\t\t...I.backgroundColor === void 0 ? {} : { backgroundColor: I.backgroundColor },\n\t\t...I.backgroundAlpha === void 0 ? {} : { backgroundAlpha: I.backgroundAlpha },\n\t\t...I.borderColor === void 0 ? {} : { borderColor: I.borderColor },\n\t\t...I.borderWidth === void 0 ? {} : { borderWidth: I.borderWidth },\n\t\t...I.cornerRadius === void 0 ? {} : { cornerRadius: I.cornerRadius },\n\t\t...$ === void 0 ? {} : { alpha: $ },\n\t\ttheme: L,\n\t\tchildren: [K ? /* @__PURE__ */ p(e, {\n\t\t\ttext: U.title,\n\t\t\tstyle: Z\n\t\t}) : null, R.length === 0 ? /* @__PURE__ */ p(e, {\n\t\t\ttext: U.empty,\n\t\t\tstyle: Q\n\t\t}) : /* @__PURE__ */ p(n, {\n\t\t\tdirection: \"column\",\n\t\t\tgap: Y,\n\t\t\ttheme: L,\n\t\t\tchildren: ne.map((e, t) => /* @__PURE__ */ p(n, {\n\t\t\t\tdirection: \"row\",\n\t\t\t\tgap: J,\n\t\t\t\ttheme: L,\n\t\t\t\tchildren: e.map((e, n) => ae(e, t * W + n))\n\t\t\t}, `row-${t}`))\n\t\t})]\n\t});\n}\n//#endregion\nexport { C as PalettePicker, y as chunkPalettePickerColors, b as getPalettePickerContrastColor, g as normalizePalettePickerColor, _ as normalizePalettePickerColors, v as resolvePalettePickerValue };\n","import { Text as e } from \"./primitives/Text.js\";\nimport { View as t } from \"./primitives/View.js\";\nimport \"./primitives.js\";\nimport { KNOWN_COMPONENTS as n, getGlobalThemeDefaults as r, mergeThemes as i, resolveComponentTheme as a, useTheme as o } from \"@number10/jsx-core\";\nimport { jsx as s, jsxs as c } from \"@number10/jsx-core/jsx-runtime\";\n//#region src/ProgressBar.tsx\nfunction l(e, t, n) {\n\treturn Number.isFinite(e) ? Math.min(Math.max(e, t), n) : t;\n}\nfunction u(e, t, n) {\n\tif (!Number.isFinite(t) || !Number.isFinite(n) || t === n) return 0;\n\tlet r = Math.min(t, n), i = Math.max(t, n);\n\treturn (l(e, r, i) - r) / (i - r);\n}\nfunction d(e) {\n\treturn `${Math.round(e.percent)}%`;\n}\nfunction f(l) {\n\tlet { value: f, min: p = 0, max: m = 100, orientation: h, label: g, showValue: _, labelPosition: v, formatValue: y, trackColor: b, fillColor: x, borderColor: S, borderWidth: C, cornerRadius: w, labelStyle: T, disabled: E = !1, disabledAlpha: ee, theme: D, width: O, height: k, alpha: A, ...j } = l, M = o(), N = D ? i(M ?? {}, D) : M, { props: P, nestedTheme: F } = a({\n\t\tcomponentName: \"ProgressBar\",\n\t\tglobalTheme: r(),\n\t\tlocalTheme: N,\n\t\tknownComponents: n\n\t}), I = h ?? P.orientation ?? \"horizontal\", L = u(f, p, m), R = L * 100, z = v ?? P.labelPosition ?? (_ || g ? \"right\" : \"none\"), B = z !== \"none\" && !!(_ || g), V = B ? [g, _ ? (y ?? d)({\n\t\tvalue: f,\n\t\tmin: p,\n\t\tmax: m,\n\t\tratio: L,\n\t\tpercent: R\n\t}) : void 0].filter(Boolean).join(\" \") : \"\", H = O ?? P.width ?? (I === \"horizontal\" ? 240 : 24), U = k ?? P.height ?? (I === \"horizontal\" ? 22 : 160), W = b ?? P.trackColor ?? 2042167, G = x ?? P.fillColor ?? 2278750, K = S ?? P.borderColor ?? 3359061, q = C ?? P.borderWidth ?? 1, J = w ?? P.cornerRadius ?? (I === \"horizontal\" ? 11 : 8), Y = T ?? P.labelStyle ?? {\n\t\tcolor: \"#ffffff\",\n\t\tfontSize: \"12px\"\n\t}, X = ee ?? P.disabledAlpha ?? .5, Z = E ? X : A, Q = z === \"left\" || z === \"right\" ? \"row\" : \"column\", $ = B ? /* @__PURE__ */ s(e, {\n\t\ttext: V,\n\t\tstyle: Y\n\t}) : null, te = I === \"horizontal\" ? {\n\t\twidth: `${R}%`,\n\t\theight: \"fill\"\n\t} : {\n\t\twidth: \"fill\",\n\t\theight: `${R}%`\n\t}, ne = /* @__PURE__ */ c(t, {\n\t\twidth: H,\n\t\theight: U,\n\t\tdirection: I === \"horizontal\" ? \"stack\" : \"column\",\n\t\tjustifyContent: I === \"vertical\" ? \"end\" : \"start\",\n\t\tbackgroundColor: W,\n\t\tborderColor: K,\n\t\tborderWidth: q,\n\t\tcornerRadius: J,\n\t\toverflow: \"hidden\",\n\t\ttheme: F,\n\t\tchildren: [/* @__PURE__ */ s(t, {\n\t\t\t...te,\n\t\t\tbackgroundColor: G,\n\t\t\tcornerRadius: J\n\t\t}), z === \"inside\" && B && /* @__PURE__ */ s(t, {\n\t\t\twidth: \"fill\",\n\t\t\theight: \"fill\",\n\t\t\tjustifyContent: \"center\",\n\t\t\talignItems: \"center\",\n\t\t\tchildren: $\n\t\t})]\n\t});\n\treturn /* @__PURE__ */ c(t, {\n\t\t...j,\n\t\tdirection: Q,\n\t\talignItems: \"center\",\n\t\tgap: P.gap ?? 8,\n\t\t...Z === void 0 ? {} : { alpha: Z },\n\t\ttheme: F,\n\t\tchildren: [\n\t\t\tz === \"top\" || z === \"left\" ? $ : null,\n\t\t\tne,\n\t\t\tz !== \"inside\" && (z === \"bottom\" || z === \"right\") ? $ : null\n\t\t]\n\t});\n}\n//#endregion\nexport { f as ProgressBar, l as clampProgressValue, u as getProgressRatio };\n","import { Text as e } from \"./primitives/Text.js\";\nimport { View as t } from \"./primitives/View.js\";\nimport \"./primitives.js\";\nimport { Button as n } from \"./Button.js\";\nimport { ActivityIndicator as r } from \"./ActivityIndicator.js\";\nimport { ProgressBar as i } from \"./ProgressBar.js\";\nimport { KNOWN_COMPONENTS as a, getGlobalThemeDefaults as o, mergeThemes as s, resolveComponentTheme as c, useTheme as l } from \"@number10/jsx-core\";\nimport { jsx as u, jsxs as d } from \"@number10/jsx-core/jsx-runtime\";\n//#region src/ProgressView.tsx\nfunction f(f) {\n\tlet { value: p, min: m = 0, max: h = 100, indeterminate: g = !1, label: _, showPercentage: v = !1, showCancel: y = !1, onCancel: b, labels: x, progressBarProps: S, theme: C, ...w } = f, T = l(), E = C ? s(T ?? {}, C) : T, { props: D, nestedTheme: O } = c({\n\t\tcomponentName: \"ProgressView\",\n\t\tglobalTheme: o(),\n\t\tlocalTheme: E,\n\t\tknownComponents: a\n\t}), k = {\n\t\t...D.labels ?? {},\n\t\t...x ?? {}\n\t}, A = D.gap ?? 8, j = D.barHeight ?? 24, M = D.labelStyle ?? {\n\t\tcolor: \"#e0e7ff\",\n\t\tfontSize: \"14px\"\n\t}, N = D.percentageStyle ?? {\n\t\tcolor: \"#9fb3c8\",\n\t\tfontSize: \"13px\"\n\t}, P = p === void 0 ? void 0 : Math.round((p - m) / (h - m) * 100);\n\treturn /* @__PURE__ */ d(t, {\n\t\tdirection: \"column\",\n\t\tgap: A,\n\t\twidth: D.width ?? \"fill\",\n\t\t...w,\n\t\ttheme: O,\n\t\tchildren: [\n\t\t\t(_ || v) && !g ? /* @__PURE__ */ d(t, {\n\t\t\t\tdirection: \"row\",\n\t\t\t\tjustifyContent: \"space-between\",\n\t\t\t\twidth: \"fill\",\n\t\t\t\tchildren: [_ ? /* @__PURE__ */ u(e, {\n\t\t\t\t\ttext: _,\n\t\t\t\t\tstyle: M\n\t\t\t\t}) : /* @__PURE__ */ u(t, {}), v && P !== void 0 ? /* @__PURE__ */ u(e, {\n\t\t\t\t\ttext: `${P}%`,\n\t\t\t\t\tstyle: N\n\t\t\t\t}) : null]\n\t\t\t}) : null,\n\t\t\tg ? /* @__PURE__ */ u(r, {\n\t\t\t\t..._ || k.loading ? { label: _ ?? k.loading } : {},\n\t\t\t\ttheme: O\n\t\t\t}) : /* @__PURE__ */ u(i, {\n\t\t\t\tvalue: p ?? 0,\n\t\t\t\tmin: m,\n\t\t\t\tmax: h,\n\t\t\t\theight: j,\n\t\t\t\twidth: \"fill\",\n\t\t\t\t...S,\n\t\t\t\ttheme: O\n\t\t\t}),\n\t\t\ty && b ? /* @__PURE__ */ u(t, {\n\t\t\t\talignItems: \"center\",\n\t\t\t\twidth: \"fill\",\n\t\t\t\tchildren: /* @__PURE__ */ u(n, {\n\t\t\t\t\tvariant: \"ghost\",\n\t\t\t\t\tsize: D.cancelButtonSize ?? \"small\",\n\t\t\t\t\tonClick: b,\n\t\t\t\t\tchildren: /* @__PURE__ */ u(e, { text: k.cancel ?? \"Cancel\" })\n\t\t\t\t})\n\t\t\t}) : null\n\t\t]\n\t});\n}\n//#endregion\nexport { f as ProgressView };\n","import { Text as e } from \"./primitives/Text.js\";\nimport { View as t } from \"./primitives/View.js\";\nimport \"./primitives.js\";\nimport { KNOWN_COMPONENTS as n, getGlobalThemeDefaults as r, mergeThemes as i, resolveComponentTheme as a, useEffect as o, useState as s, useTheme as c } from \"@number10/jsx-core\";\nimport { jsx as l, jsxs as u } from \"@number10/jsx-core/jsx-runtime\";\n//#region src/RatingBar.tsx\nfunction d(e) {\n\tswitch (e) {\n\t\tcase \"small\": return {\n\t\t\ticonSize: 16,\n\t\t\tfontSize: \"16px\"\n\t\t};\n\t\tcase \"large\": return {\n\t\t\ticonSize: 32,\n\t\t\tfontSize: \"32px\"\n\t\t};\n\t\tdefault: return {\n\t\t\ticonSize: 24,\n\t\t\tfontSize: \"24px\"\n\t\t};\n\t}\n}\nfunction f(e, t) {\n\treturn Math.max(0, Math.min(t, Math.round(e)));\n}\nfunction p(p) {\n\tlet { value: m, defaultValue: h = 0, max: g = 5, onChange: _, size: v, renderIcon: y, labels: b, disabled: x = !1, theme: S, alpha: C, ...w } = p, T = c(), E = S ? i(T ?? {}, S) : T, { props: D, nestedTheme: O } = a({\n\t\tcomponentName: \"RatingBar\",\n\t\tglobalTheme: r(),\n\t\tlocalTheme: E,\n\t\tknownComponents: n\n\t}), k = v ?? D.size ?? \"medium\", A = d(k), j = D.iconSize ?? A.iconSize, M = D.gap ?? 4, N = m !== void 0, [P, F] = s(f(m ?? h, g)), I = N ? f(m ?? 0, g) : P;\n\to(() => {\n\t\tN && F(f(m ?? 0, g));\n\t}, [\n\t\tN,\n\t\tm,\n\t\tg\n\t]);\n\tlet L = {\n\t\t...D.labels ?? {},\n\t\t...b ?? {}\n\t}, R = D.filledColor ?? \"#fbbf24\", z = D.emptyColor ?? \"#475569\", B = x ? D.disabledAlpha ?? .5 : C, V = (e) => {\n\t\tif (x) return;\n\t\tlet t = f(e, g);\n\t\tN || F(t), _?.(t);\n\t}, H = Array.from({ length: g }, (e, t) => t);\n\treturn /* @__PURE__ */ u(t, {\n\t\tdirection: \"row\",\n\t\talignItems: \"center\",\n\t\tgap: M,\n\t\t...w,\n\t\t...B === void 0 ? {} : { alpha: B },\n\t\ttheme: O,\n\t\tchildren: [H.map((n) => {\n\t\t\tlet r = n < I, i = y?.({\n\t\t\t\tfilled: r,\n\t\t\t\tindex: n,\n\t\t\t\tsize: k\n\t\t\t});\n\t\t\treturn /* @__PURE__ */ l(t, {\n\t\t\t\twidth: j,\n\t\t\t\theight: j,\n\t\t\t\talignItems: \"center\",\n\t\t\t\tjustifyContent: \"center\",\n\t\t\t\tenableGestures: !x,\n\t\t\t\tonTouch: () => V(n + 1),\n\t\t\t\ttheme: O,\n\t\t\t\tchildren: i ?? /* @__PURE__ */ l(e, {\n\t\t\t\t\ttext: r ? \"★\" : \"☆\",\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: r ? R : z,\n\t\t\t\t\t\tfontSize: A.fontSize\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}, n);\n\t\t}), L.rating ? /* @__PURE__ */ l(e, {\n\t\t\ttext: L.rating,\n\t\t\tstyle: D.labelStyle\n\t\t}) : null]\n\t});\n}\n//#endregion\nexport { p as RatingBar };\n","import { Text as e } from \"./primitives/Text.js\";\nimport { View as t } from \"./primitives/View.js\";\nimport \"./primitives.js\";\nimport { KNOWN_COMPONENTS as n, getGlobalThemeDefaults as r, mergeThemes as i, resolveComponentTheme as a, useEffect as o, useState as s, useTheme as c } from \"@number10/jsx-core\";\nimport { Fragment as l, jsx as u, jsxs as d } from \"@number10/jsx-core/jsx-runtime\";\n//#region src/SegmentedControl.tsx\nfunction f(e, t) {\n\tif (t !== void 0) return e.find((e) => e.value === t);\n}\nfunction p(e, t, n) {\n\tif (t !== void 0) return f(e, t)?.value ?? \"\";\n\tlet r = f(e, n);\n\treturn r ? r.value : e.find((e) => !e.disabled)?.value ?? e[0]?.value ?? \"\";\n}\nfunction m(e, t, n = !1) {\n\treturn !n && !e.disabled && e.value !== t;\n}\nfunction h(...e) {\n\treturn Object.assign({}, ...e.filter(Boolean));\n}\nfunction g(...e) {\n\tlet t = Object.assign({}, ...e.filter(Boolean));\n\treturn Object.keys(t).length > 0 ? t : void 0;\n}\nfunction _(e) {\n\tlet { orientation: t, size: n, variant: r, segmentWidth: i, segmentHeight: a, segmentGap: o, segmentPadding: s, segmentCornerRadius: c, segmentStyle: l, segmentHoverStyle: u, segmentSelectedStyle: d, segmentDisabledStyle: f, textStyle: p, selectedTextStyle: m, disabledTextStyle: h, labelStyle: g, iconGap: _, iconSize: v, disabledAlpha: y, labelPosition: b, labels: x, ...S } = e;\n\treturn S;\n}\nfunction v(e) {\n\tswitch (e) {\n\t\tcase \"small\": return {\n\t\t\tsegmentWidth: 72,\n\t\t\tsegmentHeight: 28,\n\t\t\tsegmentPadding: {\n\t\t\t\tleft: 8,\n\t\t\t\tright: 8,\n\t\t\t\ttop: 4,\n\t\t\t\tbottom: 4\n\t\t\t},\n\t\t\ticonSize: 14,\n\t\t\ttextStyle: { fontSize: \"12px\" }\n\t\t};\n\t\tcase \"large\": return {\n\t\t\tsegmentWidth: 108,\n\t\t\tsegmentHeight: 40,\n\t\t\tsegmentPadding: {\n\t\t\t\tleft: 14,\n\t\t\t\tright: 14,\n\t\t\t\ttop: 8,\n\t\t\t\tbottom: 8\n\t\t\t},\n\t\t\ticonSize: 20,\n\t\t\ttextStyle: { fontSize: \"16px\" }\n\t\t};\n\t\tdefault: return {};\n\t}\n}\nfunction y(e) {\n\tswitch (e) {\n\t\tcase \"soft\": return {\n\t\t\tbackgroundColor: 988970,\n\t\t\tbackgroundAlpha: .78,\n\t\t\tborderColor: 3359061,\n\t\t\tsegmentStyle: {\n\t\t\t\tbackgroundColor: 1976635,\n\t\t\t\tbackgroundAlpha: 0,\n\t\t\t\tborderWidth: 0\n\t\t\t},\n\t\t\tsegmentHoverStyle: {\n\t\t\t\tbackgroundColor: 3359061,\n\t\t\t\tbackgroundAlpha: .7\n\t\t\t},\n\t\t\tsegmentSelectedStyle: {\n\t\t\t\tbackgroundColor: 3359061,\n\t\t\t\tbackgroundAlpha: 1,\n\t\t\t\tborderColor: 6583435,\n\t\t\t\tborderWidth: 1\n\t\t\t},\n\t\t\ttextStyle: { color: \"#cbd5e1\" },\n\t\t\tselectedTextStyle: {\n\t\t\t\tcolor: \"#ffffff\",\n\t\t\t\tfontStyle: \"bold\"\n\t\t\t}\n\t\t};\n\t\tcase \"outline\": return {\n\t\t\tbackgroundColor: 0,\n\t\t\tbackgroundAlpha: 0,\n\t\t\tborderColor: 6333946,\n\t\t\tborderWidth: 1,\n\t\t\tsegmentStyle: {\n\t\t\t\tbackgroundColor: 0,\n\t\t\t\tbackgroundAlpha: 0,\n\t\t\t\tborderColor: 6333946,\n\t\t\t\tborderWidth: 0\n\t\t\t},\n\t\t\tsegmentHoverStyle: {\n\t\t\t\tbackgroundColor: 1920728,\n\t\t\t\tbackgroundAlpha: .12\n\t\t\t},\n\t\t\tsegmentSelectedStyle: {\n\t\t\t\tbackgroundColor: 1920728,\n\t\t\t\tbackgroundAlpha: .2,\n\t\t\t\tborderColor: 9684477,\n\t\t\t\tborderWidth: 1\n\t\t\t},\n\t\t\ttextStyle: { color: \"#bfdbfe\" },\n\t\t\tselectedTextStyle: {\n\t\t\t\tcolor: \"#ffffff\",\n\t\t\t\tfontStyle: \"bold\"\n\t\t\t}\n\t\t};\n\t\tdefault: return {};\n\t}\n}\nfunction b(b) {\n\tlet { options: x, value: S, defaultValue: C, onChange: ee, orientation: te, size: ne, variant: w, label: T, labelPosition: E, labels: D, disabled: O = !1, segmentWidth: k, segmentHeight: A, renderOption: j, theme: M, alpha: N, ...re } = b, P = c(), ie = M ? i(P ?? {}, M) : P, { props: F, nestedTheme: I } = a({\n\t\tcomponentName: \"SegmentedControl\",\n\t\tglobalTheme: r(),\n\t\tlocalTheme: ie,\n\t\tknownComponents: n\n\t}), L = S !== void 0, [R, z] = s(p(x, S, C)), [B, V] = s(void 0), H = L ? p(x, S) : p(x, R);\n\to(() => {\n\t\t!L && R !== H && z(H);\n\t}, [\n\t\tL,\n\t\tR,\n\t\tH\n\t]);\n\tlet U = {\n\t\t...F.labels ?? {},\n\t\t...D ?? {}\n\t}, W = te ?? F.orientation ?? \"horizontal\", G = ne ?? F.size ?? \"medium\", K = w ?? F.variant ?? \"solid\", q = v(G), J = y(K), Y = E ?? F.labelPosition ?? \"none\", ae = k ?? q.segmentWidth ?? F.segmentWidth, oe = A ?? q.segmentHeight ?? F.segmentHeight, X = T ?? U.group, se = Y !== \"none\" && X !== void 0, ce = h(_(F), _(J)), Z = Y === \"left\" ? \"row\" : \"column\", le = W === \"horizontal\" ? \"row\" : \"column\", ue = F.segmentGap ?? 0, Q = g({\n\t\tcolor: \"#dbeafe\",\n\t\tfontSize: \"13px\"\n\t}, F.textStyle, J.textStyle, q.textStyle), de = g(Q, F.selectedTextStyle, J.selectedTextStyle), fe = g(Q, F.disabledTextStyle), pe = F.labelStyle ?? {\n\t\tcolor: \"#9fb3c8\",\n\t\tfontSize: \"13px\"\n\t}, $ = O ? F.disabledAlpha ?? .5 : N, me = (e) => {\n\t\tlet t = f(x, e);\n\t\t!t || !m(t, H, O) || (L || z(e), ee?.(e));\n\t}, he = (n, r) => {\n\t\tlet a = n.value === H, o = O || !!n.disabled, s = B === n.value, c = m(n, H, O), f = n.label ?? (n.icon ? void 0 : n.value), p = h({\n\t\t\theight: oe,\n\t\t\twidth: ae,\n\t\t\tpadding: q.segmentPadding ?? F.segmentPadding,\n\t\t\tcornerRadius: F.segmentCornerRadius\n\t\t}, F.segmentStyle, J.segmentStyle, s && !a && !o ? F.segmentHoverStyle : void 0, s && !a && !o ? J.segmentHoverStyle : void 0, a ? F.segmentSelectedStyle : void 0, a ? J.segmentSelectedStyle : void 0, o ? F.segmentDisabledStyle : void 0), g = o ? fe : a ? de : Q, _ = q.iconSize ?? F.iconSize, v = i(I, {\n\t\t\tText: g ? { style: g } : {},\n\t\t\tIcon: { ..._ === void 0 ? {} : { size: _ } }\n\t\t}), y = j?.({\n\t\t\toption: n,\n\t\t\tselected: a,\n\t\t\tdisabled: o,\n\t\t\thovered: s,\n\t\t\tindex: r,\n\t\t\tsize: G,\n\t\t\tvariant: K,\n\t\t\torientation: W,\n\t\t\t...g ? { textStyle: g } : {},\n\t\t\t..._ === void 0 ? {} : { iconSize: _ }\n\t\t}) ?? n.children, b = c && (F.segmentHoverStyle || J.segmentHoverStyle) ? {\n\t\t\tonHoverStart: () => V(n.value),\n\t\t\tonHoverEnd: () => V((e) => e === n.value ? void 0 : e)\n\t\t} : {};\n\t\treturn /* @__PURE__ */ u(t, {\n\t\t\tdirection: \"row\",\n\t\t\talignItems: \"center\",\n\t\t\tjustifyContent: \"center\",\n\t\t\tgap: F.iconGap ?? 6,\n\t\t\t...p,\n\t\t\tenableGestures: c,\n\t\t\tonTouch: () => me(n.value),\n\t\t\t...b,\n\t\t\ttheme: v,\n\t\t\tchildren: y ?? /* @__PURE__ */ d(l, { children: [n.icon, f === void 0 ? null : /* @__PURE__ */ u(e, {\n\t\t\t\ttext: f,\n\t\t\t\t...g ? { style: g } : {}\n\t\t\t})] })\n\t\t}, n.value);\n\t}, ge = /* @__PURE__ */ u(t, {\n\t\t...ce,\n\t\tdirection: le,\n\t\tgap: ue,\n\t\t...$ === void 0 ? {} : { alpha: $ },\n\t\ttheme: I,\n\t\tchildren: x.map(he)\n\t});\n\treturn /* @__PURE__ */ d(t, {\n\t\t...re,\n\t\tdirection: Z,\n\t\talignItems: \"center\",\n\t\tgap: F.gap ?? 8,\n\t\ttheme: I,\n\t\tchildren: [se ? /* @__PURE__ */ u(e, {\n\t\t\ttext: X,\n\t\t\tstyle: pe\n\t\t}) : null, ge]\n\t});\n}\n//#endregion\nexport { b as SegmentedControl, f as findSegmentedControlOption, m as isSegmentedControlOptionSelectable, p as resolveSegmentedControlValue };\n","import { Text as e } from \"./primitives/Text.js\";\nimport { View as t } from \"./primitives/View.js\";\nimport \"./primitives.js\";\nimport { Button as n } from \"./Button.js\";\nimport { Divider as r } from \"./Divider.js\";\nimport { MenuButton as i } from \"./MenuButton.js\";\nimport { KNOWN_COMPONENTS as a, getGlobalThemeDefaults as o, mergeThemes as s, resolveComponentTheme as c, useEffect as l, useState as u, useTheme as d } from \"@number10/jsx-core\";\nimport { Fragment as f, jsx as p, jsxs as m } from \"@number10/jsx-core/jsx-runtime\";\n//#region src/Toolbar.tsx\nfunction h(e) {\n\treturn e.type === \"separator\";\n}\nfunction g(e) {\n\treturn e.type === \"toggle\";\n}\nfunction _(e) {\n\treturn e.type === \"menu\";\n}\nfunction v(e, t) {\n\treturn h(e) ? e.id ?? `separator-${t}` : e.id;\n}\nfunction y(e, t) {\n\tif (t) return e.some((e) => !h(e) && e.id === t) ? t : void 0;\n}\nfunction b(e) {\n\treturn e.find((e) => g(e) && !!e.defaultPressed)?.id;\n}\nfunction x(...e) {\n\tlet t = Object.assign({}, ...e.filter(Boolean));\n\treturn Object.keys(t).length > 0 ? t : void 0;\n}\nfunction S(e) {\n\tif (Array.isArray(e)) return e.map((e) => S(e));\n\tif (!e || typeof e != \"object\" || !(\"type\" in e)) return e;\n\tlet t = e, n = { type: t.type };\n\treturn t.props !== void 0 && (n.props = { ...t.props }), t.children !== void 0 && (n.children = t.children.map((e) => S(e))), t.__key !== void 0 && (n.__key = t.__key), t.__addConfig !== void 0 && (n.__addConfig = { ...t.__addConfig }), t.__memo !== void 0 && (n.__memo = t.__memo), t.__theme !== void 0 && (n.__theme = t.__theme), t.__staticChildren !== void 0 && (n.__staticChildren = t.__staticChildren), n;\n}\nfunction C(C) {\n\tlet { items: w, activeId: T, defaultActiveId: E, onSelect: D, onToggle: ee, orientation: te, density: ne, showLabels: re, disabled: O = !1, labels: ie, theme: k, alpha: ae } = C, A = d(), j = k ? s(A ?? {}, k) : A, { props: M, nestedTheme: N } = c({\n\t\tcomponentName: \"Toolbar\",\n\t\tglobalTheme: o(),\n\t\tlocalTheme: j,\n\t\tknownComponents: a\n\t}), P = T !== void 0, [F, I] = u(y(w, T ?? E) ?? b(w)), L = P ? y(w, T) : y(w, F);\n\tl(() => {\n\t\t!P && F !== L && I(L);\n\t}, [\n\t\tP,\n\t\tF,\n\t\tL\n\t]);\n\tlet R = {\n\t\t...M.labels ?? {},\n\t\t...ie ?? {}\n\t}, z = te ?? M.orientation ?? \"horizontal\", B = ne ?? M.density ?? \"normal\", V = M[B === \"compact\" ? \"compactItemWidth\" : \"itemWidth\"] ?? M.itemWidth ?? 42, H = M[B === \"compact\" ? \"compactItemHeight\" : \"itemHeight\"] ?? M.itemHeight ?? 36, U = (B === \"compact\" ? M.compactButtonSize : void 0) ?? M.buttonSize ?? \"small\", W = (B === \"compact\" ? M.compactIconSize : void 0) ?? M.iconSize ?? 18, G = re ?? B !== \"compact\", K = G ? void 0 : V, q = O ? M.disabledAlpha ?? .55 : ae, J = M.textStyle ?? {\n\t\tcolor: \"#e2e8f0\",\n\t\tfontSize: \"13px\"\n\t}, Y = x(J, M.activeTextStyle), X = x(J, M.disabledTextStyle), Z = M.menuIndicatorStyle ?? {\n\t\tcolor: \"#94a3b8\",\n\t\tfontSize: \"10px\"\n\t}, oe = z === \"horizontal\" ? \"row\" : \"column\", Q = z === \"horizontal\" ? \"vertical\" : \"horizontal\", se = M.separatorLength ?? (z === \"horizontal\" ? H : V), ce = (e) => {\n\t\tif (!(O || e.disabled)) {\n\t\t\tif (g(e)) {\n\t\t\t\tlet t = !((e.pressed ?? L === e.id) && e.allowDeselect);\n\t\t\t\t!P && e.pressed === void 0 && I(t ? e.id : void 0), e.onToggle?.(t, e.id), ee?.(e.id, t, e);\n\t\t\t}\n\t\t\te.onSelect?.(e.id), D?.(e.id, e);\n\t\t}\n\t}, $ = (t, n, r) => {\n\t\tif (t.children) return S(t.children);\n\t\tlet i = t.showLabel ?? G, a = r ? X : n ? Y : J;\n\t\treturn /* @__PURE__ */ m(f, { children: [\n\t\t\tt.icon ? S(t.icon) : null,\n\t\t\ti && t.label ? /* @__PURE__ */ p(e, {\n\t\t\t\ttext: t.label,\n\t\t\t\t...a ? { style: a } : {}\n\t\t\t}) : null,\n\t\t\t_(t) ? /* @__PURE__ */ p(e, {\n\t\t\t\ttext: R.menuIndicator ?? \"v\",\n\t\t\t\t...Z ? { style: Z } : {}\n\t\t\t}) : null\n\t\t] });\n\t}, le = (e, a) => {\n\t\tlet o = v(e, a);\n\t\tif (h(e)) return /* @__PURE__ */ p(t, {\n\t\t\talignItems: \"center\",\n\t\t\tjustifyContent: \"center\",\n\t\t\ttheme: N,\n\t\t\tchildren: /* @__PURE__ */ p(r, {\n\t\t\t\torientation: Q,\n\t\t\t\tlength: e.length ?? se,\n\t\t\t\tthickness: e.thickness ?? M.separatorThickness ?? 1,\n\t\t\t\tcolor: M.separatorColor ?? 4674921\n\t\t\t})\n\t\t}, o);\n\t\tlet c = O || !!e.disabled, l = g(e) ? e.pressed ?? L === e.id : L === e.id, u = e.buttonVariant ?? (l ? M.activeButtonVariant ?? \"primary\" : _(e) ? M.menuButtonVariant ?? M.buttonVariant ?? \"secondary\" : M.buttonVariant ?? \"secondary\"), d = c ? X : l ? Y : J, f = s(N, { Button: {\n\t\t\t...d ? { textStyle: d } : {},\n\t\t\t...W === void 0 ? {} : { iconSize: W }\n\t\t} });\n\t\treturn _(e) ? /* @__PURE__ */ p(i, {\n\t\t\titems: e.items ?? [],\n\t\t\tonSelect: () => {\n\t\t\t\te.onSelect?.(e.id), D?.(e.id, e);\n\t\t\t},\n\t\t\tplacement: z === \"horizontal\" ? \"bottom-start\" : \"right-start\",\n\t\t\tdisabled: c,\n\t\t\ttheme: f,\n\t\t\ttrigger: ({ isOpen: r }) => /* @__PURE__ */ p(n, {\n\t\t\t\tvariant: u,\n\t\t\t\tsize: e.buttonSize ?? U,\n\t\t\t\tdisabled: c,\n\t\t\t\twidth: K,\n\t\t\t\theight: H,\n\t\t\t\ttheme: f,\n\t\t\t\tchildren: /* @__PURE__ */ p(t, {\n\t\t\t\t\tdirection: \"row\",\n\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\tjustifyContent: \"center\",\n\t\t\t\t\tgap: M.gap ?? 6,\n\t\t\t\t\tchildren: $(e, r, c)\n\t\t\t\t})\n\t\t\t})\n\t\t}, o) : /* @__PURE__ */ p(n, {\n\t\t\twidth: K,\n\t\t\theight: H,\n\t\t\tvariant: u,\n\t\t\tsize: e.buttonSize ?? U,\n\t\t\tdisabled: c,\n\t\t\tonClick: () => ce(e),\n\t\t\ttheme: f,\n\t\t\tchildren: /* @__PURE__ */ p(t, {\n\t\t\t\tdirection: \"row\",\n\t\t\t\talignItems: \"center\",\n\t\t\t\tjustifyContent: \"center\",\n\t\t\t\tgap: M.gap ?? 6,\n\t\t\t\tchildren: $(e, l, c)\n\t\t\t})\n\t\t}, o);\n\t};\n\treturn /* @__PURE__ */ p(t, {\n\t\tdirection: oe,\n\t\talignItems: \"center\",\n\t\tgap: M.itemGap ?? 6,\n\t\tpadding: M.padding ?? 4,\n\t\tbackgroundColor: M.backgroundColor,\n\t\tbackgroundAlpha: M.backgroundAlpha,\n\t\tborderColor: M.borderColor,\n\t\tborderWidth: M.borderWidth,\n\t\tcornerRadius: M.cornerRadius,\n\t\t...q === void 0 ? {} : { alpha: q },\n\t\ttheme: N,\n\t\tchildren: w.map(le)\n\t});\n}\nfunction w(e) {\n\treturn /* @__PURE__ */ p(C, { ...e });\n}\n//#endregion\nexport { w as ToolButtonGroup, C as Toolbar, v as getToolbarItemId, _ as isToolbarMenuItem, h as isToolbarSeparatorItem, g as isToolbarToggleItem, y as resolveToolbarActiveId };\n","import { Text as e } from \"./primitives/Text.js\";\nimport { VectorDrawContent as t } from \"./primitives/VectorDrawContent.js\";\nimport { View as n } from \"./primitives/View.js\";\nimport \"./primitives.js\";\nimport { Easing as r, KNOWN_COMPONENTS as i, createTween as ee, getGlobalThemeDefaults as a, mergeThemes as o, numberToRgb as s, resolveComponentTheme as te, rgbToNumber as c, useEffect as l, useRef as u, useState as d, useSurface as ne, useTheme as re } from \"@number10/jsx-core\";\nimport { jsx as f, jsxs as p } from \"@number10/jsx-core/jsx-runtime\";\n//#region src/Toggle.tsx\nfunction m(e, t, n) {\n\tlet r = s(e), i = s(t);\n\treturn c(Math.round(r.r + (i.r - r.r) * n), Math.round(r.g + (i.g - r.g) * n), Math.round(r.b + (i.b - r.b) * n));\n}\nfunction h(s) {\n\tlet c = re(), h = s.theme ? o(c ?? {}, s.theme) : c, { props: g, nestedTheme: _ } = te({\n\t\tcomponentName: \"Toggle\",\n\t\tglobalTheme: a(),\n\t\tlocalTheme: h,\n\t\tknownComponents: i\n\t}), v = g.width ?? 50, y = g.height ?? 28, b = g.thumbSize ?? 24, ie = g.trackColorOff ?? 10066329, x = g.trackColorOn ?? 5025616, ae = g.trackBorderColorOff ?? 7829367, oe = g.trackBorderColorOn ?? x, S = g.trackBorderWidth ?? 1, C = g.thumbColor ?? 16777215, w = g.thumbBorderColor ?? 13751771, T = g.thumbBorderWidth ?? 1, se = g.disabledColor ?? 6710886, E = g.disabledAlpha ?? .5, D = g.padding ?? 2, O = g.duration ?? 200, k = g.gap ?? 8, A = s.labelPosition ?? g.labelPosition ?? \"right\", j = b / 2, M = y / 2, N = D + j, P = v - D - j, F = s.checked ?? !1, [I, ce] = d(F), L = u(F), [R, z] = d(!1), [B, V] = d(F ? P : N), H = u(F ? P : N), [U, W] = d(+!!F), G = u(+!!F), K = u(null), q = ne()?.scheduler ?? null, J = u(q);\n\tq && J.current !== q && (J.current = q), l(() => {\n\t\tL.current = I;\n\t}, [I]), l(() => {\n\t\tH.current = B;\n\t}, [B]), l(() => {\n\t\tG.current = U;\n\t}, [U]), l(() => {\n\t\ts.checked !== void 0 && s.checked !== L.current && Y(s.checked);\n\t}, [\n\t\ts.checked,\n\t\tN,\n\t\tP,\n\t\tO\n\t]), l(() => {\n\t\tR || (V(I ? P : N), W(+!!I));\n\t}, [\n\t\tI,\n\t\tN,\n\t\tP,\n\t\tR\n\t]), l(() => () => {\n\t\tK.current?.stop(), K.current = null;\n\t}, []);\n\tlet Y = (e) => {\n\t\tlet t = J.current, n = G.current, i = H.current, a = +!!e, o = e ? P : N;\n\t\tif (K.current?.stop(), K.current = null, z(!0), ce(e), !t) {\n\t\t\tW(a), V(o), z(!1);\n\t\t\treturn;\n\t\t}\n\t\tK.current = ee({\n\t\t\tprogress: n,\n\t\t\tx: i\n\t\t}, {\n\t\t\tto: {\n\t\t\t\tprogress: a,\n\t\t\t\tx: o\n\t\t\t},\n\t\t\tduration: O,\n\t\t\tease: r.cubicOut,\n\t\t\tonUpdate: (e) => {\n\t\t\t\tW(e.progress), V(e.x);\n\t\t\t},\n\t\t\tonComplete: () => {\n\t\t\t\tW(a), V(o), z(!1), K.current = null;\n\t\t\t}\n\t\t}, t);\n\t}, le = () => {\n\t\tif (s.disabled || R) return;\n\t\tlet e = !L.current;\n\t\tY(e), s.onChange?.(e);\n\t}, X = s.disabled ? m(se, x, U) : m(ie, x, U), Z = m(ae, oe, U), Q = /* @__PURE__ */ p(n, {\n\t\tdirection: \"stack\",\n\t\twidth: v,\n\t\theight: y,\n\t\tenableGestures: !s.disabled,\n\t\tonTouch: le,\n\t\talpha: s.disabled ? E : 1,\n\t\tchildren: [/* @__PURE__ */ f(t, {\n\t\t\twidth: v,\n\t\t\theight: y,\n\t\t\tdependencies: [\n\t\t\t\tv,\n\t\t\t\ty,\n\t\t\t\tX,\n\t\t\t\tZ,\n\t\t\t\tS\n\t\t\t],\n\t\t\tonDraw: (e) => {\n\t\t\t\tlet t = S / 2;\n\t\t\t\te.clear(), e.fillStyle(X, 1).fillRoundedRect(0, 0, v, y, M), S > 0 && e.lineStyle(S, Z, 1).strokeRoundedRect(t, t, v - S, y - S, Math.max(0, M - t));\n\t\t\t}\n\t\t}), /* @__PURE__ */ f(t, {\n\t\t\twidth: b,\n\t\t\theight: b,\n\t\t\tx: B,\n\t\t\ty: y / 2,\n\t\t\tdependencies: [\n\t\t\t\tb,\n\t\t\t\tC,\n\t\t\t\tw,\n\t\t\t\tT\n\t\t\t],\n\t\t\tonDraw: (e) => {\n\t\t\t\te.clear().fillStyle(C, 1).fillCircle(0, 0, j), T > 0 && e.lineStyle(T, w, 1).strokeCircle(0, 0, Math.max(0, j - T / 2));\n\t\t\t}\n\t\t})]\n\t}), $ = s.label && A !== \"none\" ? /* @__PURE__ */ f(e, {\n\t\ttext: s.label,\n\t\tstyle: g.labelStyle,\n\t\talpha: s.disabled ? E : 1\n\t}) : null;\n\treturn !s.label || A === \"none\" ? /* @__PURE__ */ p(n, {\n\t\tdirection: \"row\",\n\t\talignItems: \"center\",\n\t\tgap: k,\n\t\ttheme: _,\n\t\tchildren: [\n\t\t\ts.prefix,\n\t\t\tQ,\n\t\t\ts.suffix\n\t\t]\n\t}) : /* @__PURE__ */ p(n, {\n\t\tdirection: \"row\",\n\t\talignItems: \"center\",\n\t\tgap: k,\n\t\ttheme: _,\n\t\tchildren: [\n\t\t\tA === \"left\" && $,\n\t\t\ts.prefix,\n\t\t\tQ,\n\t\t\ts.suffix,\n\t\t\tA === \"right\" && $\n\t\t]\n\t});\n}\n//#endregion\nexport { h as Toggle };\n","import { View as e } from \"./primitives/View.js\";\nimport \"./primitives.js\";\nimport { jsx as t } from \"@number10/jsx-core/jsx-runtime\";\n//#region src/TransformOriginView.tsx\nfunction n({ originX: n = .5, originY: r = .5, width: i, height: a, x: o = 0, y: s = 0, children: c, rotation: l, scale: u, scaleX: d, scaleY: f, backgroundColor: p, backgroundAlpha: m, cornerRadius: h, borderWidth: g, borderColor: _, borderAlpha: v, ...y }) {\n\tif (typeof i != \"number\" || typeof a != \"number\") throw Error(\"TransformOriginView requires numeric width and height\");\n\tlet b = i * n, x = a * r, S = {};\n\treturn l !== void 0 && (S.rotation = l), u !== void 0 && (S.scale = u), d !== void 0 && (S.scaleX = d), f !== void 0 && (S.scaleY = f), p !== void 0 && (S.backgroundColor = p), m !== void 0 && (S.backgroundAlpha = m), h !== void 0 && (S.cornerRadius = h), g !== void 0 && (S.borderWidth = g), _ !== void 0 && (S.borderColor = _), v !== void 0 && (S.borderAlpha = v), /* @__PURE__ */ t(e, {\n\t\tx: o,\n\t\ty: s,\n\t\twidth: i,\n\t\theight: a,\n\t\tpadding: 0,\n\t\tdirection: \"stack\",\n\t\t...y,\n\t\tchildren: /* @__PURE__ */ t(e, {\n\t\t\tx: b,\n\t\t\ty: x,\n\t\t\twidth: i,\n\t\t\theight: a,\n\t\t\tpadding: 0,\n\t\t\tdirection: \"stack\",\n\t\t\t...S,\n\t\t\tchildren: /* @__PURE__ */ t(e, {\n\t\t\t\tx: -b,\n\t\t\t\ty: -x,\n\t\t\t\twidth: i,\n\t\t\t\theight: a,\n\t\t\t\tpadding: 0,\n\t\t\t\tdirection: \"stack\",\n\t\t\t\tbackgroundAlpha: 0,\n\t\t\t\tchildren: c\n\t\t\t})\n\t\t})\n\t});\n}\n//#endregion\nexport { n as TransformOriginView };\n","import { buildPortableThemeDefaults as e, createPortableThemeDefaults as t, registerPortableDefaults as n } from \"./theme-defaults.js\";\nimport { Sprite as r } from \"./primitives/Sprite.js\";\nimport { Text as i } from \"./primitives/Text.js\";\nimport { VectorDrawContent as a } from \"./primitives/VectorDrawContent.js\";\nimport { View as o } from \"./primitives/View.js\";\nimport \"./primitives.js\";\nimport { Accordion as s } from \"./Accordion.js\";\nimport { Button as c } from \"./Button.js\";\nimport { Portal as l } from \"./Portal.js\";\nimport { useOverlayPresence as u } from \"./useOverlayPresence.js\";\nimport { Modal as d } from \"./Modal.js\";\nimport { Dialog as f } from \"./Dialog.js\";\nimport { WrapText as p } from \"./WrapText.js\";\nimport { AlertDialog as m } from \"./AlertDialog.js\";\nimport { DEFAULT_LABELS as h, DebugPanel as g, PRESET_METRICS as _, formatDefault as v, summarizeMap as y } from \"./DebugPanel.js\";\nimport { ContextMenu as b, Popover as x, calculateOverlayPosition as S } from \"./Popover.js\";\nimport { TextInput as C } from \"./TextInput.js\";\nimport { ActivityIndicator as w } from \"./ActivityIndicator.js\";\nimport { Badge as T, Tag as E, formatBadgeCount as D, getBadgeText as O } from \"./Badge.js\";\nimport { BottomSheet as k, BottomSheetDepth as A, BottomSheetHandle as j } from \"./BottomSheet.js\";\nimport { Checkbox as M, getNextCheckedState as N, normalizeCheckedState as P } from \"./Checkbox.js\";\nimport { RadioButton as F } from \"./RadioButton.js\";\nimport { RadioGroup as I } from \"./RadioGroup.js\";\nimport { RangeSlider as L, Slider as R } from \"./Slider.js\";\nimport { ColorPicker as z } from \"./ColorPicker.js\";\nimport { Divider as B } from \"./Divider.js\";\nimport { Dropdown as V } from \"./Dropdown.js\";\nimport { Image as H } from \"./Image.js\";\nimport { Icon as U, createIconComponent as W, useIconPreload as G } from \"./Icon.js\";\nimport { Joystick as K } from \"./Joystick.js\";\nimport { ScrollSlider as q, calculateSliderSize as J } from \"./ScrollSlider.js\";\nimport { ScrollView as Y, resolveScrollViewLayout as X } from \"./ScrollView.js\";\nimport { ListBox as Z, findListBoxItem as Q, resolveListBoxValue as $ } from \"./ListBox.js\";\nimport { MenuButton as ee } from \"./MenuButton.js\";\nimport { NineSlice as te } from \"./NineSlice.js\";\nimport { NineSliceButton as ne } from \"./NineSliceButton.js\";\nimport { NumberInput as re, NumberInputIndicator as ie, getNextNumberInputValue as ae, getNumberInputPrecision as oe, normalizeNumberInputValue as se } from \"./NumberInput.js\";\nimport { PalettePicker as ce, chunkPalettePickerColors as le, getPalettePickerContrastColor as ue, normalizePalettePickerColor as de, normalizePalettePickerColors as fe, resolvePalettePickerValue as pe } from \"./PalettePicker.js\";\nimport { ProgressBar as me, clampProgressValue as he, getProgressRatio as ge } from \"./ProgressBar.js\";\nimport { ProgressView as _e } from \"./ProgressView.js\";\nimport { RatingBar as ve } from \"./RatingBar.js\";\nimport { SegmentedControl as ye, findSegmentedControlOption as be, isSegmentedControlOptionSelectable as xe, resolveSegmentedControlValue as Se } from \"./SegmentedControl.js\";\nimport { Sidebar as Ce } from \"./Sidebar.js\";\nimport { Tab as we, TabPanel as Te, Tabs as Ee } from \"./Tabs.js\";\nimport { NotificationStack as De, Toast as Oe, getToastAutoDismissDuration as ke, getToastContentWidth as Ae, resolveNotificationStackAlignment as je } from \"./Toast.js\";\nimport { WheelPicker as Me } from \"./WheelPicker.js\";\nimport { ToolButtonGroup as Ne, Toolbar as Pe, getToolbarItemId as Fe, isToolbarMenuItem as Ie, isToolbarSeparatorItem as Le, isToolbarToggleItem as Re, resolveToolbarActiveId as ze } from \"./Toolbar.js\";\nimport { Toggle as Be } from \"./Toggle.js\";\nimport { TransformOriginView as Ve } from \"./TransformOriginView.js\";\nimport { useAtlas as He, useState as Ue, useTexture as We, useThemeTokens as Ge } from \"@number10/jsx-core\";\n//#region src/index.ts\nn();\n//#endregion\nexport { s as Accordion, w as ActivityIndicator, m as AlertDialog, T as Badge, k as BottomSheet, A as BottomSheetDepth, j as BottomSheetHandle, c as Button, M as Checkbox, z as ColorPicker, b as ContextMenu, h as DEFAULT_LABELS, g as DebugPanel, f as Dialog, B as Divider, V as Dropdown, U as Icon, H as Image, K as Joystick, Z as ListBox, ee as MenuButton, d as Modal, te as NineSlice, ne as NineSliceButton, De as NotificationStack, re as NumberInput, ie as NumberInputIndicator, _ as PRESET_METRICS, ce as PalettePicker, x as Popover, l as Portal, me as ProgressBar, _e as ProgressView, F as RadioButton, I as RadioGroup, L as RangeSlider, ve as RatingBar, q as ScrollSlider, Y as ScrollView, ye as SegmentedControl, Ce as Sidebar, R as Slider, r as Sprite, we as Tab, Te as TabPanel, Ee as Tabs, E as Tag, i as Text, C as TextInput, Oe as Toast, Be as Toggle, Ne as ToolButtonGroup, Pe as Toolbar, Ve as TransformOriginView, a as VectorDrawContent, o as View, Me as WheelPicker, p as WrapText, e as buildPortableThemeDefaults, S as calculateOverlayPosition, J as calculateSliderSize, le as chunkPalettePickerColors, he as clampProgressValue, W as createIconComponent, t as createPortableThemeDefaults, Q as findListBoxItem, be as findSegmentedControlOption, D as formatBadgeCount, v as formatDefault, O as getBadgeText, N as getNextCheckedState, ae as getNextNumberInputValue, oe as getNumberInputPrecision, ue as getPalettePickerContrastColor, ge as getProgressRatio, ke as getToastAutoDismissDuration, Ae as getToastContentWidth, Fe as getToolbarItemId, xe as isSegmentedControlOptionSelectable, Ie as isToolbarMenuItem, Le as isToolbarSeparatorItem, Re as isToolbarToggleItem, P as normalizeCheckedState, se as normalizeNumberInputValue, de as normalizePalettePickerColor, fe as normalizePalettePickerColors, n as registerPortableDefaults, $ as resolveListBoxValue, je as resolveNotificationStackAlignment, pe as resolvePalettePickerValue, X as resolveScrollViewLayout, Se as resolveSegmentedControlValue, ze as resolveToolbarActiveId, y as summarizeMap, He as useAtlas, G as useIconPreload, u as useOverlayPresence, Ue as useState, We as useTexture, Ge as useThemeTokens };\n","/**\n * Konva layout bridge — wires renderer-specific callbacks into the core layout engine.\n *\n * Must be imported before any layout operations (usually in the package index).\n * Mirrors @number10/jsx-pixi's pixi-layout-bridge.ts.\n */\n\nimport type { ApplyOverflowClip, LayoutContainer, LayoutProps } from '@number10/jsx-core'\nimport { DebugLogger, registerApplyOverflowClip } from '@number10/jsx-core'\nimport Konva from 'konva'\n\n// ---------------------------------------------------------------------------\n// Overflow clipping via Konva.Group clip properties\n// ---------------------------------------------------------------------------\n\ntype KonvaClipGroup = Konva.Group & {\n __overflowClip?: { clipX: number; clipY: number; clipWidth: number; clipHeight: number }\n}\n\n/**\n * Normalize cornerRadius to a single number (max of all corners).\n */\nfunction normalizeCornerRadius(\n cr: number | { tl?: number; tr?: number; bl?: number; br?: number } | undefined\n): number {\n if (cr === undefined) return 0\n if (typeof cr === 'number') return cr\n return Math.max(cr.tl ?? 0, cr.tr ?? 0, cr.bl ?? 0, cr.br ?? 0)\n}\n\nconst konvaClip: ApplyOverflowClip = (\n container: LayoutContainer,\n containerProps: LayoutProps & {\n cornerRadius?: number | { tl?: number; tr?: number; bl?: number; br?: number }\n },\n width: number,\n height: number\n): void => {\n // Skip non-Konva groups in multi-renderer setups\n if (!(container instanceof Konva.Group)) return\n\n const konvaGroup = container as KonvaClipGroup\n\n if (containerProps.overflow === 'hidden' && width > 0 && height > 0) {\n const radius = normalizeCornerRadius(containerProps.cornerRadius)\n\n if (radius > 0) {\n // Rounded clip via clipFunc\n // Set rectangular clip bounds first, then clipFunc handles the path\n konvaGroup.clipX(0)\n konvaGroup.clipY(0)\n konvaGroup.clipWidth(width)\n konvaGroup.clipHeight(height)\n\n konvaGroup.clipFunc((ctx: CanvasRenderingContext2D) => {\n ctx.beginPath()\n ctx.moveTo(radius, 0)\n ctx.lineTo(width - radius, 0)\n ctx.quadraticCurveTo(width, 0, width, radius)\n ctx.lineTo(width, height - radius)\n ctx.quadraticCurveTo(width, height, width - radius, height)\n ctx.lineTo(radius, height)\n ctx.quadraticCurveTo(0, height, 0, height - radius)\n ctx.lineTo(0, radius)\n ctx.quadraticCurveTo(0, 0, radius, 0)\n ctx.closePath()\n })\n\n konvaGroup.__overflowClip = { clipX: 0, clipY: 0, clipWidth: width, clipHeight: height }\n DebugLogger.log('overflowMask', 'Created Konva rounded clip')\n } else {\n // Rectangular clip — simpler, no clipFunc needed\n konvaGroup.clipX(0)\n konvaGroup.clipY(0)\n konvaGroup.clipWidth(width)\n konvaGroup.clipHeight(height)\n // Clear any previous clipFunc\n konvaGroup.clipFunc(undefined)\n\n konvaGroup.__overflowClip = { clipX: 0, clipY: 0, clipWidth: width, clipHeight: height }\n DebugLogger.log('overflowMask', 'Created Konva rect clip')\n }\n } else if (konvaGroup.__overflowClip) {\n // Remove clipping\n konvaGroup.clipX(undefined)\n konvaGroup.clipY(undefined)\n konvaGroup.clipWidth(undefined)\n konvaGroup.clipHeight(undefined)\n konvaGroup.clipFunc(undefined)\n delete konvaGroup.__overflowClip\n DebugLogger.log('overflowMask', 'Removed Konva clip')\n }\n}\n\nregisterApplyOverflowClip(konvaClip)\n","/**\n * Konva node types and layout helpers.\n *\n * Shared types (KonvaNode, KonvaTextNode) and utilities used by the host adapter\n * and its appliers.\n */\nimport type {\n BackgroundProps,\n EffectTransformOrigin,\n HostNode,\n HostParent,\n LayoutProps,\n SurfaceContext,\n TransformProps,\n} from '@number10/jsx-core'\nimport Konva from 'konva'\n\n// ---------------------------------------------------------------------------\n// Node types\n// ---------------------------------------------------------------------------\n\nexport type KonvaNode = Konva.Group & {\n __konvaHostNode?: true\n __konvaNode?: { destroyed: boolean }\n __effectContainer?: Konva.Group\n __effectOrigin?: EffectTransformOrigin\n __layoutBox?: { width: number; height: number }\n __cachedLayoutSize?: { width: number; height: number }\n __getLayoutSize?: () => { width: number; height: number }\n __layoutProps?: Partial<LayoutProps & BackgroundProps & TransformProps>\n __layoutParent?: unknown\n __backgroundRect?: Konva.Rect | undefined\n __surfaceContext?: SurfaceContext\n __layoutAccessorsInstalled?: true\n __signalEffects?: Map<string, () => void>\n __lastPropValues?: Record<string, unknown>\n __sprite?: Konva.Image | undefined\n list?: unknown[]\n setPosition?: (x: number, y: number) => KonvaNode\n setSize?: (width: number, height: number) => KonvaNode\n}\n\nexport type KonvaTextNode = KonvaNode & {\n __textBackgroundRect?: Konva.Rect | undefined\n __textDisplay: Konva.Text\n __textStyleSource?: Record<string, unknown>\n}\n\n// ---------------------------------------------------------------------------\n// Type guards\n// ---------------------------------------------------------------------------\n\n/** Cast a HostNode to Konva.Group. */\nexport function asContainer(node: HostNode): Konva.Group {\n return node as Konva.Group\n}\n\n/** Check whether a node has been destroyed. */\nexport function isDestroyed(node: HostNode | HostParent): boolean {\n const c = node as KonvaNode\n return c.__konvaNode?.destroyed === true\n}\n\nexport function markDestroyed(node: KonvaNode): void {\n node.__konvaNode = { destroyed: true }\n if (node.__effectContainer) {\n ;(node.__effectContainer as KonvaNode).__konvaNode = { destroyed: true }\n }\n}\n\n/** Check whether a KonvaNode is a text node (has __textDisplay). */\nexport function isTextNode(node: KonvaNode): node is KonvaTextNode {\n return '__textDisplay' in node\n}\n\n/** Check whether a display object is a host node wrapper. */\nexport function isHostNodeContainer(value: unknown): value is KonvaNode {\n return value instanceof Konva.Group && (value as KonvaNode).__konvaHostNode === true\n}\n\n/** Get the animatable/content container for a host node. */\nexport function getContentContainer(node: HostNode | HostParent | KonvaNode): Konva.Group {\n const container = node as KonvaNode\n return container.__effectContainer ?? (node as Konva.Group)\n}\n\n// ---------------------------------------------------------------------------\n// Layout API\n// ---------------------------------------------------------------------------\n\n/** Set the layout box dimensions. Only stores numeric pixel values. */\nexport function setLayoutSize(node: KonvaNode, width: number, height: number): void {\n const w =\n typeof width === 'number' && Number.isFinite(width) ? width : (node.__layoutBox?.width ?? 0)\n const h =\n typeof height === 'number' && Number.isFinite(height) ? height : (node.__layoutBox?.height ?? 0)\n node.__layoutBox = { width: w, height: h }\n syncEffectContainerOrigin(node, node.__effectOrigin ?? 'top-left')\n}\n\n/** Get measured size — prefers text local bounds, falls back to __layoutBox. */\nexport function getMeasuredSize(node: KonvaNode): { width: number; height: number } {\n if (isTextNode(node)) {\n // Konva.Text has width()/height() getters based on its text content\n const textWidth = node.__textDisplay.width()\n const textHeight = node.__textDisplay.height()\n if (textWidth > 0 || textHeight > 0) {\n return { width: textWidth, height: textHeight }\n }\n return sanitizeLayoutBox(node.__layoutBox)\n }\n if (node.__layoutBox) {\n return sanitizeLayoutBox(node.__layoutBox)\n }\n // Fallback: use Konva clientRect\n try {\n const rect = node.getClientRect()\n return { width: rect.width, height: rect.height }\n } catch {\n return { width: 0, height: 0 }\n }\n}\n\nfunction sanitizeLayoutBox(box: { width: number; height: number } | undefined): {\n width: number\n height: number\n} {\n if (!box) return { width: 0, height: 0 }\n return {\n width: Number.isFinite(box.width) ? box.width : 0,\n height: Number.isFinite(box.height) ? box.height : 0,\n }\n}\n\n/**\n * Install layout-aware width/height accessors on a Konva Group, mirroring\n * Pixi's installLayoutSizeAccessors. The layout engine reads/writes node.width\n * and node.height as plain properties — without these accessors, Konva's native\n * width()/height() (which are functions) would be used, causing NaN comparisons.\n */\nexport function installLayoutSizeAccessors(node: KonvaNode): void {\n if (node.__layoutAccessorsInstalled) return\n node.__layoutAccessorsInstalled = true\n node.__konvaNode = node.__konvaNode ?? { destroyed: false }\n if (node.__effectContainer) {\n ;(node.__effectContainer as KonvaNode).__konvaNode = (node.__effectContainer as KonvaNode)\n .__konvaNode ?? { destroyed: false }\n }\n\n Object.defineProperty(node, 'width', {\n configurable: true,\n enumerable: true,\n get() {\n const cached = node.__cachedLayoutSize?.width\n if (cached !== undefined && Number.isFinite(cached)) return cached\n const layoutValue = node.__layoutBox?.width\n if (layoutValue !== undefined && Number.isFinite(layoutValue)) return layoutValue\n return 0\n },\n set(value: number) {\n const next = Number.isFinite(value) ? value : 0\n const current = node.__layoutBox ?? { width: 0, height: 0 }\n node.__layoutBox = { width: next, height: current.height }\n },\n })\n\n Object.defineProperty(node, 'height', {\n configurable: true,\n enumerable: true,\n get() {\n const cached = node.__cachedLayoutSize?.height\n if (cached !== undefined && Number.isFinite(cached)) return cached\n const layoutValue = node.__layoutBox?.height\n if (layoutValue !== undefined && Number.isFinite(layoutValue)) return layoutValue\n return 0\n },\n set(value: number) {\n const next = Number.isFinite(value) ? value : 0\n const current = node.__layoutBox ?? { width: 0, height: 0 }\n node.__layoutBox = { width: current.width, height: next }\n },\n })\n}\n\n/** Set the active transform origin for the effect container. */\nexport function setEffectTransformOrigin(node: KonvaNode, origin: EffectTransformOrigin): void {\n node.__effectOrigin = origin\n syncEffectContainerOrigin(node, origin)\n}\n\n/**\n * Adjust the effect container's offset (transform origin) and position\n * so transforms happen around the requested point while content stays\n * visually at the same place — same approach as Pixi's pivot+position.\n *\n * offsetX/Y (≈ Pixi's pivot) changes where scale/rotation originates.\n * x/y compensates so the content doesn't visibly shift.\n */\nfunction syncEffectContainerOrigin(node: KonvaNode, origin: EffectTransformOrigin): void {\n const effectContainer = node.__effectContainer\n const layoutBox = node.__layoutBox\n if (!effectContainer || !layoutBox || isDestroyed(effectContainer as unknown as HostNode)) return\n\n switch (origin) {\n case 'center': {\n const cx = layoutBox.width / 2\n const cy = layoutBox.height / 2\n effectContainer.offsetX(cx)\n effectContainer.offsetY(cy)\n effectContainer.x(cx)\n effectContainer.y(cy)\n break\n }\n case 'top-center': {\n const cx = layoutBox.width / 2\n effectContainer.offsetX(cx)\n effectContainer.offsetY(0)\n effectContainer.x(cx)\n effectContainer.y(0)\n break\n }\n case 'top-left':\n default:\n effectContainer.offsetX(0)\n effectContainer.offsetY(0)\n effectContainer.x(0)\n effectContainer.y(0)\n break\n }\n}\n","/**\n * Konva effects bridge — connects Core effect engine to Konva nodes.\n *\n * Layout, hit areas, and host tree stay on the outer host node. Temporary effect\n * transforms run on the inner `__effectContainer` so layout updates do not fight\n * with animation. The Core engine handles all effect definitions, step sequencing,\n * easing, and loop management. Konva only applies values to native nodes.\n */\nimport {\n EFFECT_DEFINITIONS,\n registerEffectRunner,\n registerEffectStopRunner,\n resolveEffectTransformOrigin,\n runEffect,\n stopAnimationEffect as stopEngineEffect,\n type EffectConfig,\n type EffectName,\n type EffectTarget,\n type HostScheduler,\n} from '@number10/jsx-core'\nimport Konva from 'konva'\nimport { isDestroyed, setEffectTransformOrigin, type KonvaNode } from './appliers/konva-node'\n\n// ---------------------------------------------------------------------------\n// createKonvaTarget — wraps a Konva node as an EffectTarget\n// ---------------------------------------------------------------------------\n\nfunction createKonvaTarget(node: Konva.Group): EffectTarget {\n // Effect runs on the inner __effectContainer if it exists, else on the node itself\n const target =\n ((node as unknown as Record<string, unknown>).__effectContainer as Konva.Group | undefined) ??\n node\n\n const flush = () => {\n // Konva doesn't auto-redraw on property changes — must call batchDraw()\n const layer = target.getLayer()\n if (layer) layer.batchDraw()\n }\n\n return {\n onUpdate(values) {\n if (isDestroyed(target as unknown as KonvaNode)) return\n if (values.x !== undefined) target.x(values.x)\n if (values.y !== undefined) target.y(values.y)\n if (values.scaleX !== undefined || values.scaleY !== undefined) {\n const currentScale = target.scale()\n target.scale({\n x: values.scaleX ?? currentScale.x,\n y: values.scaleY ?? currentScale.y,\n })\n }\n // Konva uses degrees, core engine uses radians\n if (values.rotation !== undefined) target.rotation(values.rotation * (180 / Math.PI))\n if (values.alpha !== undefined) target.opacity(values.alpha)\n flush()\n },\n\n getSnapshot() {\n const s = target.scale()\n return {\n x: target.x(),\n y: target.y(),\n scaleX: s.x,\n scaleY: s.y,\n // Convert back to radians for the core engine\n rotation: target.rotation() * (Math.PI / 180),\n alpha: target.opacity(),\n }\n },\n\n getScheduler() {\n let current: Konva.Group | null = target\n while (current) {\n const ctx = (current as unknown as Record<string, unknown>).__surfaceContext as\n | { scheduler?: HostScheduler }\n | undefined\n if (ctx?.scheduler) return ctx.scheduler\n current = current.getParent() as Konva.Group | null\n }\n throw new Error('No HostScheduler found in Konva node tree')\n },\n }\n}\n\n// ---------------------------------------------------------------------------\n// Transitional runner — registered with Core, delegates to central engine\n// ---------------------------------------------------------------------------\n\nconst konvaEffectRunner = (node: unknown, effect: EffectName, config?: EffectConfig): void => {\n if (!(node instanceof Konva.Group)) return\n\n const hostNode = node as KonvaNode\n setEffectTransformOrigin(hostNode, resolveEffectTransformOrigin(effect))\n\n const def = EFFECT_DEFINITIONS[effect]\n if (!def) return\n\n const target = createKonvaTarget(node)\n const resetConfig: EffectConfig = {\n ...config,\n onComplete: () => {\n // Reset offset back to top-left after the effect completes\n setEffectTransformOrigin(hostNode, 'top-left')\n // Ensure visual matches actual state after reset\n const layer = hostNode.getLayer()\n if (layer) layer.batchDraw()\n config?.onComplete?.()\n },\n }\n\n runEffect(node, target, def, resetConfig)\n}\n\nconst konvaEffectStopRunner = (node: unknown): void => {\n if (!(node instanceof Konva.Group)) return\n stopEngineEffect(node)\n}\n\nregisterEffectRunner(konvaEffectRunner)\nregisterEffectStopRunner(konvaEffectStopRunner)\n","/**\n * Color utilities for Konva — converts between color formats.\n * Konva expects hex strings (e.g. \"#1a1a1a\") while the PhaserJSX theme\n * system uses numbers (e.g. 0x1a1a1a).\n */\n\n/**\n * Convert a color value to a Konva-compatible string.\n * Accepts numbers (0x1a1a1a), hex strings (\"#1a1a1a\"), or rgba strings.\n * Returns undefined for invalid/unrecognised values.\n */\nexport function toKonvaColor(color: unknown): string | undefined {\n if (typeof color === 'string') {\n // Already a string — pass through if it looks like a color\n if (color.startsWith('#') || color.startsWith('rgba') || color.startsWith('rgb')) {\n return color\n }\n // Named colors or other strings — pass through for Konva to resolve\n return color\n }\n\n if (typeof color === 'number') {\n // Convert number (0xRRGGBB) to hex string (#RRGGBB)\n const hex = color.toString(16).padStart(6, '0')\n return `#${hex}`\n }\n\n return undefined\n}\n\n/**\n * Convert a color value with optional alpha to a Konva-compatible string.\n * Encodes alpha directly into the color (rgba) instead of relying on\n * the node's opacity property. This allows fill and border to have\n * independent alpha values.\n *\n * @param color - Color value (number 0xRRGGBB or string)\n * @param alpha - Alpha value (0-1, defaults to 1)\n */\nexport function toKonvaColorWithAlpha(color: unknown, alpha?: number): string | undefined {\n if (color === undefined) return undefined\n\n const a = alpha ?? 1\n\n if (typeof color === 'number') {\n const r = (color >> 16) & 0xff\n const g = (color >> 8) & 0xff\n const b = color & 0xff\n if (a >= 1) {\n return `#${color.toString(16).padStart(6, '0')}`\n }\n return `rgba(${r},${g},${b},${a})`\n }\n\n if (typeof color === 'string') {\n // If it's already a hex and we have alpha < 1, parse and convert to rgba\n if (color.startsWith('#') && a < 1) {\n const hex = color.replace('#', '')\n const r = Number.parseInt(hex.substring(0, 2), 16)\n const g = Number.parseInt(hex.substring(2, 4), 16)\n const b = Number.parseInt(hex.substring(4, 6), 16)\n return `rgba(${r},${g},${b},${a})`\n }\n return color\n }\n\n return undefined\n}\n\n/**\n * Parse a font-size value to a number.\n * Accepts numbers (16) and strings with units (\"16px\").\n */\nexport function parseFontSize(value: unknown): number | undefined {\n if (typeof value === 'number') {\n return Number.isFinite(value) ? value : undefined\n }\n if (typeof value === 'string') {\n const parsed = parseFloat(value)\n return Number.isFinite(parsed) ? parsed : undefined\n }\n return undefined\n}\n","/**\n * Konva-specific VectorDrawContext for border geometry fallback.\n *\n * Translates renderer-neutral VectorDrawContext calls to Konva shape\n * creation (Rect, Circle, Line, Arc). Used by the core border geometry\n * algorithm when routing through {@link drawBorderGeometry}.\n */\nimport type { VectorDrawContext } from '@number10/jsx-core'\nimport Konva from 'konva'\nimport { toKonvaColorWithAlpha } from '../utils/konva-colors'\n\ntype PathOp =\n | { op: 'moveTo'; x: number; y: number }\n | { op: 'lineTo'; x: number; y: number }\n | {\n op: 'arc'\n x: number\n y: number\n radius: number\n startAngle: number\n endAngle: number\n acw: boolean\n }\n | { op: 'closePath' }\n\nexport class KonvaBorderDrawContext implements VectorDrawContext {\n private shapes: Konva.Shape[] = []\n private pathOps: PathOp[] = []\n private fillColor = ''\n private fillAlpha = 1\n private strokeColor = ''\n private strokeWidth = 1\n\n constructor(\n private container: Konva.Container,\n private boxW: number,\n private boxH: number\n ) {}\n\n /** Resolve a color to a Konva-compatible string, with fallback. */\n private resolveColor(color: number, alpha: number): string {\n return toKonvaColorWithAlpha(color, alpha) ?? `rgba(255,255,255,${alpha})`\n }\n\n /** Return all created shapes for lifecycle management. */\n getShapes(): Konva.Shape[] {\n return this.shapes\n }\n\n /** Destroy all created shapes and reset state. */\n clear(): this {\n for (const shape of this.shapes) {\n shape.destroy()\n }\n this.shapes = []\n this.pathOps = []\n return this\n }\n\n // -- stateful path (used by drawSolidBorder for corner fill) --\n\n fillStyle(_color: number, alpha = 1): this {\n this.fillAlpha = alpha\n this.fillColor = this.resolveColor(_color, alpha)\n return this\n }\n\n lineStyle(width: number, color: number, alpha = 1): this {\n this.strokeWidth = width\n this.strokeColor = this.resolveColor(color, alpha)\n return this\n }\n\n beginPath(): this {\n this.pathOps = []\n return this\n }\n\n moveTo(x: number, y: number): this {\n this.pathOps.push({ op: 'moveTo', x, y })\n return this\n }\n\n lineTo(x: number, y: number): this {\n this.pathOps.push({ op: 'lineTo', x, y })\n return this\n }\n\n arc(\n x: number,\n y: number,\n radius: number,\n startAngle: number,\n endAngle: number,\n anticlockwise?: boolean\n ): this {\n this.pathOps.push({ op: 'arc', x, y, radius, startAngle, endAngle, acw: !!anticlockwise })\n return this\n }\n\n closePath(): this {\n this.pathOps.push({ op: 'closePath' })\n return this\n }\n\n fillPath(): this {\n if (this.pathOps.length === 0) return this\n const ops = [...this.pathOps]\n const fill = this.fillColor\n this.pathOps = []\n\n const shape = new Konva.Shape({\n width: this.boxW,\n height: this.boxH,\n listening: false,\n fill,\n sceneFunc(context, self) {\n context.beginPath()\n for (const op of ops) {\n switch (op.op) {\n case 'moveTo':\n context.moveTo(op.x, op.y)\n break\n case 'lineTo':\n context.lineTo(op.x, op.y)\n break\n case 'arc':\n context.arc(op.x, op.y, op.radius, op.startAngle, op.endAngle, op.acw)\n break\n case 'closePath':\n context.closePath()\n break\n }\n }\n context.fillStrokeShape(self)\n },\n })\n this.shapes.push(shape)\n this.container.add(shape)\n return this\n }\n\n strokePath(): this {\n if (this.pathOps.length === 0 || this.strokeWidth <= 0) return this\n const ops = [...this.pathOps]\n const stroke = this.strokeColor\n const strokeWidth = this.strokeWidth\n this.pathOps = []\n\n const shape = new Konva.Shape({\n width: this.boxW,\n height: this.boxH,\n listening: false,\n stroke,\n strokeWidth,\n strokeScaleEnabled: false,\n lineJoin: 'round',\n sceneFunc(context, self) {\n context.beginPath()\n for (const op of ops) {\n switch (op.op) {\n case 'moveTo':\n context.moveTo(op.x, op.y)\n break\n case 'lineTo':\n context.lineTo(op.x, op.y)\n break\n case 'arc':\n context.arc(op.x, op.y, op.radius, op.startAngle, op.endAngle, op.acw)\n break\n case 'closePath':\n context.closePath()\n break\n }\n }\n context.strokeShape(self)\n },\n })\n this.shapes.push(shape)\n this.container.add(shape)\n return this\n }\n\n // -- legacy stateful draws (kept for compat, prefer styled variants) --\n\n fillCircle(_cx: number, _cy: number, _radius: number): this {\n return this\n }\n\n strokeCircle(): this {\n return this\n }\n\n fillRect(x: number, y: number, width: number, height: number): this {\n if (width <= 0 || height <= 0) return this\n const rect = new Konva.Rect({ x, y, width, height, fill: this.fillColor, listening: false })\n this.shapes.push(rect)\n this.container.add(rect)\n return this\n }\n\n strokeRect(): this {\n return this\n }\n fillRoundedRect(): this {\n return this.fillRect(0, 0, 0, 0)\n }\n strokeRoundedRect(): this {\n return this\n }\n\n lineBetween(): this {\n return this\n }\n\n // -- styled (self-contained) — preferred for all new code --\n\n fillCircleStyled(x: number, y: number, radius: number, color: number, alpha: number): this {\n const circle = new Konva.Circle({\n x,\n y,\n radius,\n fill: this.resolveColor(color, alpha),\n listening: false,\n })\n this.shapes.push(circle)\n this.container.add(circle)\n return this\n }\n\n strokeLine(\n x1: number,\n y1: number,\n x2: number,\n y2: number,\n width: number,\n color: number,\n alpha: number\n ): this {\n const line = new Konva.Line({\n points: [x1, y1, x2, y2],\n stroke: this.resolveColor(color, alpha),\n strokeWidth: width,\n listening: false,\n strokeScaleEnabled: false,\n })\n this.shapes.push(line)\n this.container.add(line)\n return this\n }\n\n fillArc(\n cx: number,\n cy: number,\n r: number,\n startAngle: number,\n endAngle: number,\n color: number,\n alpha: number\n ): this {\n if (r <= 0) return this\n const angleDeg = ((endAngle - startAngle) * 180) / Math.PI\n const rotationDeg = (startAngle * 180) / Math.PI\n const arc = new Konva.Arc({\n x: cx,\n y: cy,\n innerRadius: 0,\n outerRadius: r,\n angle: Math.abs(angleDeg),\n rotation: rotationDeg,\n fill: this.resolveColor(color, alpha),\n listening: false,\n })\n this.shapes.push(arc)\n this.container.add(arc)\n return this\n }\n}\n","/**\n * View background applier — draws background color, border & corner radius.\n */\nimport {\n drawBorderGeometry,\n isAnimatedSignal,\n isUniformBorder,\n resolveBorderSides,\n resolveCornerRadii,\n shouldUseCoreBorderGeometry,\n type BorderPropsV2,\n} from '@number10/jsx-core'\nimport { effect } from '@preact/signals-core'\nimport Konva from 'konva'\nimport { toKonvaColorWithAlpha } from '../utils/konva-colors'\nimport { KonvaBorderDrawContext } from './konva-border-draw-context'\nimport { getContentContainer, type KonvaNode } from './konva-node'\n\ntype CornerRadii = { tl: number; tr: number; bl: number; br: number }\n\nfunction offsetCornerRadii(corners: CornerRadii, offset: number): [number, number, number, number] {\n return [\n Math.max(0, corners.tl - offset),\n Math.max(0, corners.tr - offset),\n Math.max(0, corners.br - offset),\n Math.max(0, corners.bl - offset),\n ]\n}\n\n/**\n * Check whether the props contain a BorderPropsV2 that should take effect.\n */\nfunction hasAdvancedBorder(props: Record<string, unknown>): boolean {\n const border = props.border as BorderPropsV2 | undefined\n if (!border) return false\n const w = resolveBorderSides(border.width)\n return w.top > 0 || w.right > 0 || w.bottom > 0 || w.left > 0\n}\n\n/**\n * Clean up per-side border line objects attached to the node.\n */\nfunction destroyBorderLines(node: KonvaNode): void {\n const lines = (node as unknown as { __borderLines?: Konva.Line[] | undefined }).__borderLines\n if (lines) {\n lines.forEach((l) => l.destroy())\n ;(node as unknown as { __borderLines?: Konva.Line[] | undefined }).__borderLines = undefined\n }\n}\n\n/**\n * Build Konva stroke config from BorderPropsV2 for use with Konva.Rect.\n * Supports uniform width + cornerRadius + dash natively (Phase 2: all three).\n * align: emulated via rectConfig offset.\n */\nfunction buildAdvancedStrokeConfig(\n border: BorderPropsV2,\n color: string,\n _alpha: number\n): Partial<Konva.RectConfig> {\n const lw = typeof border.width === 'number' ? border.width : 1\n const cfg: Partial<Konva.RectConfig> = {\n stroke: color,\n strokeWidth: lw,\n strokeEnabled: true,\n strokeScaleEnabled: false,\n }\n\n // Dash support (Konva native — follows curved paths including rounded corners)\n const dArr = border.dash\n if (border.style === 'dashed' || border.style === 'dotted') {\n if (dArr) {\n cfg.dash = dArr\n } else if (border.style === 'dotted') {\n cfg.dash = [lw, lw]\n } else {\n cfg.dash = [lw * 3, lw * 2]\n }\n cfg.dashEnabled = true\n }\n if (border.dashOffset !== undefined) cfg.dashOffset = border.dashOffset\n\n // Cap / join (Konva native)\n if (border.cap === 'round' || border.cap === 'square') cfg.lineCap = border.cap\n if (border.join === 'round' || border.join === 'bevel') cfg.lineJoin = border.join\n\n return cfg\n}\n\n/**\n * Konva corner arcs store for cleanup.\n */\ntype KonvaBorderArcs = Konva.Arc[]\n\nfunction destroyBorderArcs(node: KonvaNode): void {\n const arcs = (node as unknown as { __borderArcs?: KonvaBorderArcs | undefined }).__borderArcs\n if (arcs) {\n arcs.forEach((a) => a.destroy())\n ;(node as unknown as { __borderArcs?: KonvaBorderArcs | undefined }).__borderArcs = undefined\n }\n}\n\n/**\n * Clean up core fallback border shapes attached to the node.\n */\nfunction destroyCoreBorderShapes(node: KonvaNode): void {\n const ctx = (node as unknown as { __coreBorderCtx?: KonvaBorderDrawContext | undefined })\n .__coreBorderCtx\n if (ctx) {\n ctx.clear()\n ;(node as unknown as { __coreBorderCtx?: KonvaBorderDrawContext | undefined }).__coreBorderCtx =\n undefined\n }\n}\n\n/**\n * Draw border using the core geometry fallback.\n *\n * Creates a {@link KonvaBorderDrawContext}, calls the central\n * {@link drawBorderGeometry} algorithm, and attaches the resulting\n * Konva shapes to the node's content container.\n */\nfunction drawCoreBorderFallback(\n node: KonvaNode,\n w: number,\n h: number,\n sides: { top: number; right: number; bottom: number; left: number },\n corners: { tl: number; tr: number; bl: number; br: number },\n border: BorderPropsV2\n): void {\n destroyBorderLines(node)\n destroyBorderArcs(node)\n destroyCoreBorderShapes(node)\n\n const content = getContentContainer(node)\n const ctx = new KonvaBorderDrawContext(content, w, h)\n drawBorderGeometry(ctx, { box: { x: 0, y: 0, w, h }, sides, corners }, border)\n ;(node as unknown as { __coreBorderCtx?: KonvaBorderDrawContext | undefined }).__coreBorderCtx =\n ctx\n}\n\n/**\n * Apply background color, border, and corner radius to a view node.\n * Creates the rect once, then updates via setAttrs to avoid\n * destroy+recreate cycles that trigger parent layout invalidation.\n *\n * When `props.border` (BorderPropsV2) is set, it takes precedence over\n * the legacy `borderWidth`/`borderColor`/`borderAlpha` props.\n *\n * @param node - Target Konva view node\n * @param props - Props object (backgroundColor, borderColor, cornerRadius, etc.)\n */\nexport function applyViewBackground(node: KonvaNode, props: Record<string, unknown>): void {\n const w = node.__layoutBox?.width ?? 0\n const h = node.__layoutBox?.height ?? 0\n const rawBgAlpha = props.backgroundAlpha\n const bgAlpha =\n ((rawBgAlpha !== undefined && isAnimatedSignal(rawBgAlpha)\n ? rawBgAlpha.value\n : rawBgAlpha) as number) ?? 1\n const bgColor = toKonvaColorWithAlpha(props.backgroundColor, bgAlpha)\n const advancedBorder = hasAdvancedBorder(props)\n const rawBorderAlpha = advancedBorder ? (props.border as BorderPropsV2).alpha : props.borderAlpha\n const borderAlpha =\n ((rawBorderAlpha !== undefined && isAnimatedSignal(rawBorderAlpha)\n ? rawBorderAlpha.value\n : rawBorderAlpha) as number) ?? 1\n const borderColor = advancedBorder\n ? toKonvaColorWithAlpha((props.border as BorderPropsV2).color ?? 0xffffff, borderAlpha)\n : toKonvaColorWithAlpha(props.borderColor, borderAlpha)\n const borderWidth = advancedBorder\n ? resolveBorderSides((props.border as BorderPropsV2).width).top\n : ((props.borderWidth as number) ?? (props.borderColor !== undefined ? 1 : 0))\n const corners = resolveCornerRadii(\n props.cornerRadius as\n | number\n | { tl?: number; tr?: number; bl?: number; br?: number }\n | undefined\n )\n\n const hasAnyBorder = advancedBorder || (props.borderColor !== undefined && borderWidth > 0)\n\n // No background or border to draw\n if ((bgColor === undefined && !hasAnyBorder) || w <= 0 || h <= 0) {\n if (node.__backgroundRect) {\n node.__backgroundRect.destroy()\n node.__backgroundRect = undefined\n }\n destroyBorderLines(node)\n destroyBorderArcs(node)\n destroyCoreBorderShapes(node)\n return\n }\n\n // Build config for the background rect\n const rectConfig: Konva.RectConfig = {\n x: 0,\n y: 0,\n width: w,\n height: h,\n fillEnabled: false,\n strokeEnabled: false,\n opacity: 1,\n strokeScaleEnabled: false,\n listening: false,\n }\n\n if (bgColor !== undefined) {\n rectConfig.fill = bgColor\n rectConfig.fillEnabled = true\n }\n\n // Resolve border alignment for uniform stroke path.\n // Konva strokes are centered on the path, so we move the path itself.\n const align = (props.border as BorderPropsV2 | undefined)?.align\n const alignOffset = (lw: number): number => {\n if (align === 'inside') return lw / 2\n if (align === 'outside') return -lw / 2\n return 0\n }\n\n // Determine whether to use native Konva.Rect stroke or core fallback.\n // - Asymmetric borders MUST use core geometry.\n // - Dotted borders use core for consistent real round dots.\n // - Dashed borders use Konva native dash (follows curves natively)\n // UNLESS align is outside/inside — then Core fallback handles it correctly.\n // - Solid symmetric borders use Konva native stroke.\n const sides = advancedBorder ? resolveBorderSides((props.border as BorderPropsV2).width) : null\n const border = advancedBorder ? (props.border as BorderPropsV2) : null\n const dashWithNonCenterAlign =\n border?.style === 'dashed' && border?.align !== undefined && border.align !== 'center'\n const useCore =\n advancedBorder &&\n border &&\n (shouldUseCoreBorderGeometry(border) || border.style === 'dotted' || dashWithNonCenterAlign)\n\n const useUniformStroke = advancedBorder && sides ? isUniformBorder(sides) : true\n\n const hasRounded = corners.tl > 0 || corners.tr > 0 || corners.bl > 0 || corners.br > 0\n const usesNativeAdvancedStroke = !!(advancedBorder && useUniformStroke && !useCore)\n\n if (advancedBorder && useCore) {\n // Core geometry fallback (asymmetric or dotted)\n destroyBorderLines(node)\n destroyBorderArcs(node)\n rectConfig.strokeEnabled = false\n if (sides) {\n drawCoreBorderFallback(node, w, h, sides, corners, border)\n }\n } else if (advancedBorder && useUniformStroke) {\n // Uniform — Konva.Rect handles dash + cornerRadius natively\n destroyBorderLines(node)\n destroyBorderArcs(node)\n destroyCoreBorderShapes(node)\n const color = borderColor\n if (color && borderWidth > 0 && border) {\n const cfg = buildAdvancedStrokeConfig(border, color, borderAlpha)\n const offset = alignOffset(borderWidth)\n if (offset !== 0) {\n rectConfig.x = offset\n rectConfig.y = offset\n rectConfig.width = Math.max(0, w - offset * 2)\n rectConfig.height = Math.max(0, h - offset * 2)\n }\n Object.assign(rectConfig, cfg)\n if (hasRounded) {\n rectConfig.cornerRadius = offsetCornerRadii(corners, offset)\n }\n }\n } else if (borderColor !== undefined && borderWidth > 0) {\n rectConfig.stroke = borderColor\n rectConfig.strokeWidth = borderWidth\n rectConfig.strokeEnabled = true\n destroyBorderLines(node)\n destroyBorderArcs(node)\n destroyCoreBorderShapes(node)\n } else {\n destroyBorderLines(node)\n destroyBorderArcs(node)\n destroyCoreBorderShapes(node)\n }\n\n // Konva cornerRadius convention: [topLeft, topRight, bottomRight, bottomLeft]\n if (corners.tl > 0 || corners.tr > 0 || corners.bl > 0 || corners.br > 0) {\n if (!usesNativeAdvancedStroke) {\n rectConfig.cornerRadius = [corners.tl, corners.tr, corners.br, corners.bl]\n }\n }\n\n // Reuse existing rect if possible — avoid destroy+recreate cycle\n if (node.__backgroundRect) {\n node.__backgroundRect.setAttrs(rectConfig)\n } else {\n const rect = new Konva.Rect(rectConfig)\n node.__backgroundRect = rect\n getContentContainer(node).add(rect)\n }\n\n // Subscribe to animated backgroundAlpha / borderAlpha signals so the rect\n // updates live without VDOM re-renders (same pattern as applySignalValue).\n const signalEffects =\n (node as unknown as { __signalEffects?: Map<string, () => void> }).__signalEffects ?? new Map()\n ;(node as unknown as { __signalEffects?: Map<string, () => void> }).__signalEffects =\n signalEffects\n\n const bgSignal = props.backgroundAlpha\n const prevBgCleanup = signalEffects.get('__bgAlpha')\n if (prevBgCleanup) {\n prevBgCleanup()\n signalEffects.delete('__bgAlpha')\n }\n if (bgSignal !== undefined && isAnimatedSignal(bgSignal)) {\n const cleanup = effect(() => {\n if (!node.__backgroundRect) return\n const v = bgSignal.value as number\n const fill = toKonvaColorWithAlpha(props.backgroundColor, v)\n if (fill !== undefined) {\n node.__backgroundRect.fill(fill)\n node.__backgroundRect.fillEnabled(true)\n } else {\n node.__backgroundRect.fillEnabled(false)\n }\n })\n signalEffects.set('__bgAlpha', cleanup)\n }\n\n const borderSignal = advancedBorder ? (props.border as BorderPropsV2).alpha : props.borderAlpha\n const prevBorderCleanup = signalEffects.get('__borderAlpha')\n if (prevBorderCleanup) {\n prevBorderCleanup()\n signalEffects.delete('__borderAlpha')\n }\n if (borderSignal !== undefined && isAnimatedSignal(borderSignal)) {\n const cleanup = effect(() => {\n const rect = node.__backgroundRect\n const lines = (node as unknown as { __borderLines?: Konva.Line[] | undefined }).__borderLines\n const arcs = (node as unknown as { __borderArcs?: Konva.Arc[] | undefined }).__borderArcs\n if (!rect && !lines && !arcs) return\n const v = borderSignal.value as number\n if (advancedBorder) {\n const border = props.border as BorderPropsV2\n const stroke = toKonvaColorWithAlpha(border.color ?? 0xffffff, v)\n if (useUniformStroke && rect) {\n if (stroke !== undefined) {\n rect.stroke(stroke)\n rect.strokeEnabled(true)\n } else {\n rect.strokeEnabled(false)\n }\n }\n const liveColor = toKonvaColorWithAlpha(border.color ?? 0xffffff, 1)\n if (lines)\n lines.forEach((l) => {\n l.opacity(v)\n if (liveColor) l.stroke(liveColor)\n })\n if (arcs)\n arcs.forEach((a) => {\n a.opacity(v)\n if (stroke) a.fill(stroke)\n })\n } else {\n const stroke = toKonvaColorWithAlpha(props.borderColor, v)\n if (stroke !== undefined && (props.borderWidth as number) > 0) {\n rect?.stroke(stroke)\n rect?.strokeEnabled(true)\n } else {\n rect?.strokeEnabled(false)\n }\n }\n })\n signalEffects.set('__borderAlpha', cleanup)\n }\n\n // Always keep background at the bottom (skip if not yet mounted)\n if (node.__backgroundRect.getParent()) {\n node.__backgroundRect.moveToBottom()\n }\n}\n","/**\n * KonvaGestureManager — gesture system for Konva-based renderers.\n *\n * Mirrors @number10/jsx-pixi's PixiGestureManager but uses Konva's event system\n * instead of PIXI's FederatedEvent system.\n */\nimport type {\n GestureEventData,\n GestureProps,\n TouchMoveState,\n WheelEventData,\n} from '@number10/jsx-core'\nimport Konva from 'konva'\n\n// ---------------------------------------------------------------------------\n// Types\n// ---------------------------------------------------------------------------\n\ninterface GestureCallbacks {\n onTouch?: ((data: GestureEventData<Konva.KonvaEventObject<PointerEvent>>) => void) | undefined\n onTouchOutside?:\n | ((data: GestureEventData<Konva.KonvaEventObject<PointerEvent>>) => void)\n | undefined\n onTouchMove?: ((data: GestureEventData<Konva.KonvaEventObject<PointerEvent>>) => void) | undefined\n onDoubleTap?: ((data: GestureEventData<Konva.KonvaEventObject<PointerEvent>>) => void) | undefined\n onLongPress?: ((data: GestureEventData<Konva.KonvaEventObject<PointerEvent>>) => void) | undefined\n onWheel?:\n | ((data: WheelEventData<Konva.KonvaEventObject<PointerEvent>, WheelEvent>) => void)\n | undefined\n}\n\ninterface GestureConfig {\n longPressDuration: number\n doubleTapDelay: number\n maxTouchDuration: number\n}\n\ninterface GestureEntry {\n group: Konva.Group\n callbacks: GestureCallbacks\n config: GestureConfig\n hitArea: { x: number; y: number; width: number; height: number }\n lastTapTime: number\n longPressTimer?: ReturnType<typeof setTimeout> | undefined\n longPressTriggered?: boolean | undefined\n pointerDownTime?: number | undefined\n}\n\n// ---------------------------------------------------------------------------\n// KonvaGestureManager\n// ---------------------------------------------------------------------------\n\nexport class KonvaGestureManager {\n private entries: GestureEntry[] = []\n private stage: Konva.Stage\n private isListening = false\n private lastMoveX = 0\n private lastMoveY = 0\n private activeMoveEntry: GestureEntry | null = null\n private readonly onWheelDomEvent: (event: WheelEvent) => void\n\n constructor(stage: Konva.Stage) {\n this.stage = stage\n this.onWheelDomEvent = (event: WheelEvent) => this.onWheel(event)\n }\n\n private getLayoutBox(group: Konva.Group): { width: number; height: number } | null {\n const layoutBox = group as Konva.Group & {\n __layoutBox?: { width: number; height: number }\n }\n\n const width = layoutBox.__layoutBox?.width ?? 0\n const height = layoutBox.__layoutBox?.height ?? 0\n\n if (width <= 0 || height <= 0) {\n return null\n }\n\n return { width, height }\n }\n\n private isPointInRect(\n x: number,\n y: number,\n rect: { x: number; y: number; width: number; height: number }\n ): boolean {\n return x >= rect.x && x <= rect.x + rect.width && y >= rect.y && y <= rect.y + rect.height\n }\n\n private resolveContainerWorldRect(group: Konva.Group): {\n x: number\n y: number\n width: number\n height: number\n } {\n const layoutBox = this.getLayoutBox(group)\n if (layoutBox) {\n return this.resolveLayoutWorldRect(group, layoutBox.width, layoutBox.height)\n }\n\n const rect = group.getClientRect({ skipTransform: false })\n return { x: rect.x, y: rect.y, width: rect.width, height: rect.height }\n }\n\n private resolveLayoutWorldRect(\n group: Konva.Group,\n width: number,\n height: number\n ): { x: number; y: number; width: number; height: number } {\n const transform = group.getAbsoluteTransform().copy()\n const corners = [\n transform.point({ x: 0, y: 0 }),\n transform.point({ x: width, y: 0 }),\n transform.point({ x: 0, y: height }),\n transform.point({ x: width, y: height }),\n ]\n const xs = corners.map((point) => point.x)\n const ys = corners.map((point) => point.y)\n const minX = Math.min(...xs)\n const maxX = Math.max(...xs)\n const minY = Math.min(...ys)\n const maxY = Math.max(...ys)\n\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY,\n }\n }\n\n private resolveClipRect(group: Konva.Group): {\n x: number\n y: number\n width: number\n height: number\n } | null {\n const layoutGroup = group as Konva.Group & {\n __layoutProps?: { overflow?: string }\n __layoutBox?: { width: number; height: number }\n __getLayoutSize?: () => { width: number; height: number }\n }\n\n if (layoutGroup.__layoutProps?.overflow === 'hidden') {\n const layoutSize = layoutGroup.__getLayoutSize?.() ?? layoutGroup.__layoutBox\n const width = Math.max(0, layoutSize?.width ?? 0)\n const height = Math.max(0, layoutSize?.height ?? 0)\n if (width > 0 && height > 0) {\n return this.resolveLayoutWorldRect(group, width, height)\n }\n }\n\n return null\n }\n\n private intersectRects(\n a: { x: number; y: number; width: number; height: number },\n b: { x: number; y: number; width: number; height: number }\n ): { x: number; y: number; width: number; height: number } | null {\n const left = Math.max(a.x, b.x)\n const top = Math.max(a.y, b.y)\n const right = Math.min(a.x + a.width, b.x + b.width)\n const bottom = Math.min(a.y + a.height, b.y + b.height)\n\n if (right <= left || bottom <= top) {\n return null\n }\n\n return {\n x: left,\n y: top,\n width: right - left,\n height: bottom - top,\n }\n }\n\n private resolveWorldHitArea(group: Konva.Group): {\n x: number\n y: number\n width: number\n height: number\n } {\n let hitArea = this.resolveContainerWorldRect(group)\n let current = group.getParent() as Konva.Group | Konva.Stage | null\n\n while (current && current instanceof Konva.Group) {\n const clipRect = this.resolveClipRect(current)\n if (clipRect) {\n const clipped = this.intersectRects(hitArea, clipRect)\n if (!clipped) {\n return { x: 0, y: 0, width: 0, height: 0 }\n }\n hitArea = clipped\n }\n current = current.getParent() as Konva.Group | Konva.Stage | null\n }\n\n return hitArea\n }\n\n private getPointerPos(): { x: number; y: number } | null {\n const pointer = this.stage.getPointerPosition()\n if (!pointer) return null\n return { x: pointer.x, y: pointer.y }\n }\n\n private resolveLocalPoint(\n group: Konva.Group,\n globalX: number,\n globalY: number\n ): { x: number; y: number } {\n // Convert stage coordinates to local group coordinates\n const transform = group.getAbsoluteTransform().copy()\n transform.invert()\n const local = transform.point({ x: globalX, y: globalY })\n return { x: local.x, y: local.y }\n }\n\n private resolveEntryMetrics(\n entry: GestureEntry,\n globalX: number,\n globalY: number\n ): { localX: number; localY: number; width: number; height: number } {\n const layoutBox = this.getLayoutBox(entry.group)\n if (layoutBox) {\n const local = this.resolveLocalPoint(entry.group, globalX, globalY)\n return {\n localX: local.x,\n localY: local.y,\n width: layoutBox.width,\n height: layoutBox.height,\n }\n }\n\n const hitArea = entry.hitArea\n return {\n localX: globalX - hitArea.x,\n localY: globalY - hitArea.y,\n width: hitArea.width,\n height: hitArea.height,\n }\n }\n\n private containsPoint(entry: GestureEntry, globalX: number, globalY: number): boolean {\n entry.hitArea = this.resolveWorldHitArea(entry.group)\n if (!this.isPointInRect(globalX, globalY, entry.hitArea)) {\n return false\n }\n\n const layoutBox = this.getLayoutBox(entry.group)\n if (!layoutBox) {\n return entry.hitArea.width > 0 && entry.hitArea.height > 0\n }\n\n const local = this.resolveLocalPoint(entry.group, globalX, globalY)\n return local.x >= 0 && local.x <= layoutBox.width && local.y >= 0 && local.y <= layoutBox.height\n }\n\n // -----------------------------------------------------------------------\n // Registration\n // -----------------------------------------------------------------------\n\n registerContainer(\n group: Konva.Group,\n props: GestureProps<Konva.KonvaEventObject<PointerEvent>>\n ): void {\n this.unregisterContainer(group)\n\n const callbacks: GestureCallbacks = {\n onTouch: props.onTouch,\n onTouchOutside: props.onTouchOutside,\n onTouchMove: props.onTouchMove,\n onDoubleTap: props.onDoubleTap,\n onLongPress: props.onLongPress,\n onWheel: props.onWheel,\n }\n\n const config: GestureConfig = {\n longPressDuration: props.longPressDuration ?? 500,\n doubleTapDelay: props.doubleTapDelay ?? 300,\n maxTouchDuration: props.maxTouchDuration ?? 500,\n }\n\n const hitArea = this.resolveWorldHitArea(group)\n\n this.entries.push({\n group,\n callbacks,\n config,\n hitArea,\n lastTapTime: 0,\n longPressTriggered: false,\n })\n this.ensureListening()\n }\n\n hasContainer(group: Konva.Group): boolean {\n return this.entries.some((entry) => entry.group === group)\n }\n\n unregisterContainer(group: Konva.Group): void {\n const idx = this.entries.findIndex((e) => e.group === group)\n if (idx >= 0) {\n const entry = this.entries[idx]\n if (entry?.longPressTimer) {\n clearTimeout(entry.longPressTimer)\n }\n this.entries.splice(idx, 1)\n }\n\n if (this.entries.length === 0) {\n this.stopListening()\n }\n }\n\n /**\n * Unregister all gesture entries for groups that are descendants of a\n * given container. Used when destroying a surface/layer to prevent stale\n * entries from intercepting events after the nodes are gone.\n * @param container - Parent Konva node whose descendants should be cleaned up\n */\n unregisterDescendantsOf(container: Konva.Group | Konva.Layer): void {\n const remaining: GestureEntry[] = []\n for (const entry of this.entries) {\n if (entry.group === container || this.isDescendantOf(entry.group, container)) {\n if (entry.longPressTimer) {\n clearTimeout(entry.longPressTimer)\n }\n // Skip — this entry is a descendant of the destroyed container\n } else {\n remaining.push(entry)\n }\n }\n this.entries = remaining\n if (this.entries.length === 0) {\n this.stopListening()\n }\n }\n\n /**\n * Check if a node is a descendant of a given container.\n */\n private isDescendantOf(node: Konva.Group, container: Konva.Group | Konva.Layer): boolean {\n let current: Konva.Group | null = node.getParent() as Konva.Group | null\n while (current) {\n if (current === container) return true\n current = current.getParent() as Konva.Group | null\n }\n return false\n }\n\n updateContainer(\n group: Konva.Group,\n props: GestureProps<Konva.KonvaEventObject<PointerEvent>>\n ): void {\n const entry = this.entries.find((e) => e.group === group)\n if (!entry) return\n\n entry.callbacks = {\n onTouch: props.onTouch,\n onTouchOutside: props.onTouchOutside,\n onTouchMove: props.onTouchMove,\n onDoubleTap: props.onDoubleTap,\n onLongPress: props.onLongPress,\n onWheel: props.onWheel,\n }\n entry.config = {\n longPressDuration: props.longPressDuration ?? 500,\n doubleTapDelay: props.doubleTapDelay ?? 300,\n maxTouchDuration: props.maxTouchDuration ?? 500,\n }\n\n entry.hitArea = this.resolveWorldHitArea(group)\n }\n\n updateHitArea(group: Konva.Group): void {\n const entry = this.entries.find((e) => e.group === group)\n if (!entry) return\n entry.hitArea = this.resolveWorldHitArea(group)\n }\n\n // -----------------------------------------------------------------------\n // Event handling\n // -----------------------------------------------------------------------\n\n private ensureListening(): void {\n if (this.isListening || this.entries.length === 0) return\n this.isListening = true\n\n this.stage.on('pointerdown', this.onPointerDown)\n this.stage.on('pointermove', this.onPointerMove)\n this.stage.on('pointerup', this.onPointerUp)\n\n // Wheel is handled via DOM event on the stage container\n const container = this.stage.container()\n if (container) {\n container.addEventListener('wheel', this.onWheelDomEvent, { passive: false })\n }\n\n // Listen for pointerup outside the stage for onTouchOutside detection\n document.addEventListener('pointerup', this.onDocumentPointerUp)\n }\n\n private stopListening(): void {\n if (!this.isListening) return\n this.isListening = false\n\n this.stage.off('pointerdown', this.onPointerDown)\n this.stage.off('pointermove', this.onPointerMove)\n this.stage.off('pointerup', this.onPointerUp)\n\n const container = this.stage.container()\n if (container) {\n container.removeEventListener('wheel', this.onWheelDomEvent)\n }\n\n document.removeEventListener('pointerup', this.onDocumentPointerUp)\n }\n\n private onPointerDown = (): void => {\n const pointerPos = this.getPointerPos()\n if (!pointerPos) return\n\n const hitEntries = this.hitTest(pointerPos.x, pointerPos.y)\n if (hitEntries.length === 0) return\n\n this.lastMoveX = pointerPos.x\n this.lastMoveY = pointerPos.y\n\n const topEntry = hitEntries.find((entry) => entry.callbacks.onTouchMove) ?? hitEntries[0]\n if (!topEntry) return\n\n this.activeMoveEntry = topEntry\n const now = Date.now()\n\n for (const entry of hitEntries) {\n entry.pointerDownTime = now\n entry.longPressTriggered = false\n }\n\n if (this.activeMoveEntry) {\n for (const entry of hitEntries) {\n if (entry.callbacks.onTouchMove) {\n const data = this.createEventData(entry, pointerPos.x, pointerPos.y, 0, 0, 'start', true)\n entry.callbacks.onTouchMove(data)\n if (data.isPropagationStopped()) break\n }\n }\n }\n\n // Start long press timer for topmost container with onLongPress\n for (const entry of hitEntries) {\n if (entry.callbacks.onLongPress) {\n const pressX = pointerPos.x\n const pressY = pointerPos.y\n const targetEntry = entry\n entry.longPressTimer = setTimeout(() => {\n targetEntry.longPressTimer = undefined as unknown as ReturnType<typeof setTimeout>\n targetEntry.longPressTriggered = true\n if (targetEntry.callbacks.onLongPress) {\n const data = this.createEventData(targetEntry, pressX, pressY, 0, 0, undefined, true)\n targetEntry.callbacks.onLongPress(data)\n }\n }, entry.config.longPressDuration)\n break\n }\n }\n }\n\n private onPointerMove = (): void => {\n const pointerPos = this.getPointerPos()\n if (!pointerPos) return\n\n const dx = pointerPos.x - this.lastMoveX\n const dy = pointerPos.y - this.lastMoveY\n this.lastMoveX = pointerPos.x\n this.lastMoveY = pointerPos.y\n\n if (!this.activeMoveEntry) return\n\n const hitEntries = this.hitTest(pointerPos.x, pointerPos.y)\n const isInside = hitEntries.some((entry) => entry.group === this.activeMoveEntry?.group)\n\n if (this.activeMoveEntry.callbacks.onTouchMove) {\n const data = this.createEventData(\n this.activeMoveEntry,\n pointerPos.x,\n pointerPos.y,\n dx,\n dy,\n 'move',\n isInside\n )\n this.activeMoveEntry.callbacks.onTouchMove(data)\n }\n }\n\n private onPointerUp = (): void => {\n const pointerPos = this.getPointerPos()\n if (!pointerPos) return\n this.handlePointerUp(pointerPos.x, pointerPos.y)\n this.activeMoveEntry = null\n }\n\n /**\n * Document-level pointerup — fires for releases outside the stage.\n * Only calls handlePointerUp when there was an active pointer down\n * (but the stage's own pointerup didn't fire because the release\n * happened outside the stage). The handlePointerUp method already\n * correctly handles onTouchOutside for entries not in the hit list.\n */\n private onDocumentPointerUp = (): void => {\n // Only handle if there's an active gesture in progress\n // and the stage's own pointerup didn't catch it\n if (!this.activeMoveEntry) return\n\n const pos = this.stage.getPointerPosition()\n if (!pos) return\n\n this.handlePointerUp(pos.x, pos.y)\n }\n\n private onWheel = (event: WheelEvent): void => {\n const rect = this.stage.container()?.getBoundingClientRect()\n if (!rect || rect.width <= 0 || rect.height <= 0) return\n\n const scaleX = this.stage.width() / rect.width\n const scaleY = this.stage.height() / rect.height\n const x = (event.clientX - rect.left) * scaleX\n const y = (event.clientY - rect.top) * scaleY\n\n const hitEntries = this.hitTest(x, y)\n let shouldPreventDefault = false\n\n for (const entry of hitEntries) {\n if (!entry.callbacks.onWheel) continue\n\n const data = this.createWheelEventData(entry, x, y, event)\n entry.callbacks.onWheel(data)\n\n if ((data as { __defaultPrevented?: boolean }).__defaultPrevented) {\n shouldPreventDefault = true\n }\n if (data.isPropagationStopped()) break\n }\n\n if (shouldPreventDefault) {\n event.preventDefault()\n }\n }\n\n private handlePointerUp(x: number, y: number): void {\n const hitEntries = this.hitTest(x, y)\n const now = Date.now()\n const activeEntry = this.activeMoveEntry\n\n // Clear ALL long press timers\n for (const entry of this.entries) {\n if (entry.longPressTimer) {\n clearTimeout(entry.longPressTimer)\n entry.longPressTimer = undefined as unknown as ReturnType<typeof setTimeout>\n }\n }\n\n if (activeEntry) {\n if (activeEntry.callbacks.onTouchMove) {\n const data = this.createEventData(\n activeEntry,\n x,\n y,\n 0,\n 0,\n 'end',\n hitEntries.some((entry) => entry.group === activeEntry.group)\n )\n activeEntry.callbacks.onTouchMove(data)\n }\n }\n\n if (hitEntries.length > 0) {\n for (const entry of hitEntries) {\n const touchDuration = entry.pointerDownTime ? now - entry.pointerDownTime : 0\n const shouldFireTouch =\n !entry.longPressTriggered && touchDuration <= entry.config.maxTouchDuration\n\n if (!entry.callbacks.onTouch || !shouldFireTouch) continue\n\n const data = this.createEventData(entry, x, y, 0, 0, undefined, true)\n entry.callbacks.onTouch(data)\n if (data.isPropagationStopped()) break\n }\n\n for (const entry of hitEntries) {\n const touchDuration = entry.pointerDownTime ? now - entry.pointerDownTime : 0\n const shouldFireTouch =\n !entry.longPressTriggered && touchDuration <= entry.config.maxTouchDuration\n\n if (!entry.callbacks.onDoubleTap || !shouldFireTouch) continue\n\n if (now - entry.lastTapTime <= entry.config.doubleTapDelay) {\n const data = this.createEventData(entry, x, y, 0, 0, undefined, true)\n entry.callbacks.onDoubleTap(data)\n entry.lastTapTime = 0\n if (data.isPropagationStopped()) break\n } else {\n entry.lastTapTime = now\n }\n }\n }\n\n // Fire onTouchOutside for entries that didn't get hit\n for (const entry of this.entries) {\n if (!hitEntries.includes(entry) && entry.callbacks.onTouchOutside) {\n const data = this.createEventData(entry, x, y, 0, 0, undefined, false)\n entry.callbacks.onTouchOutside(data)\n }\n }\n\n if (activeEntry) {\n activeEntry.pointerDownTime = undefined\n activeEntry.longPressTriggered = false\n this.activeMoveEntry = null\n }\n }\n\n // -----------------------------------------------------------------------\n // Hit testing (z-order aware)\n // -----------------------------------------------------------------------\n\n private hitTest(x: number, y: number): GestureEntry[] {\n const hits: { entry: GestureEntry; surfaceZIndex: number }[] = []\n for (const entry of this.entries) {\n if (!entry.group.visible()) continue\n if (!this.isGroupVisible(entry.group)) continue\n if (!this.containsPoint(entry, x, y)) continue\n const surfaceZIndex = this.getSurfaceZIndex(entry.group)\n hits.push({ entry, surfaceZIndex })\n }\n\n hits.sort((a, b) => {\n if (a.surfaceZIndex !== b.surfaceZIndex) {\n return b.surfaceZIndex - a.surfaceZIndex\n }\n return this.compareDisplayOrder(a.entry.group, b.entry.group)\n })\n\n return hits.map((h) => h.entry)\n }\n\n private getSurfaceZIndex(group: Konva.Group): number {\n let current: Konva.Group | null = group\n let zIndex = 0\n\n while (current) {\n const surfaceZIndex = (current as Konva.Group & { __surfaceZIndex?: number }).__surfaceZIndex\n if (surfaceZIndex !== undefined) {\n zIndex = surfaceZIndex\n }\n current = current.getParent() as Konva.Group | null\n }\n\n return zIndex\n }\n\n private compareDisplayOrder(a: Konva.Group, b: Konva.Group): number {\n if (a === b) return 0\n\n const aPath: Konva.Group[] = []\n const bPath: Konva.Group[] = []\n\n let currentA: Konva.Group | null = a\n while (currentA) {\n aPath.push(currentA)\n currentA = currentA.getParent() as Konva.Group | null\n }\n\n let currentB: Konva.Group | null = b\n while (currentB) {\n bPath.push(currentB)\n currentB = currentB.getParent() as Konva.Group | null\n }\n\n aPath.reverse()\n bPath.reverse()\n\n const sharedLength = Math.min(aPath.length, bPath.length)\n for (let i = 0; i < sharedLength; i++) {\n const aNode = aPath[i]\n const bNode = bPath[i]\n if (!aNode || !bNode) return 0\n if (aNode === bNode) continue\n\n const parent = aPath[i - 1]\n if (!parent) return 0\n\n const parentContainer = parent as unknown as { children?: Konva.Group[] }\n const children = parentContainer.children ?? []\n const aIdx = children.indexOf(aNode)\n const bIdx = children.indexOf(bNode)\n return bIdx - aIdx\n }\n\n return bPath.length - aPath.length\n }\n\n private isGroupVisible(group: Konva.Group): boolean {\n let current: Konva.Group | null = group\n while (current) {\n if (!current.visible() || current.opacity() <= 0) return false\n current = current.getParent() as Konva.Group | null\n }\n return true\n }\n\n // -----------------------------------------------------------------------\n // Event data factory\n // -----------------------------------------------------------------------\n\n private createEventData(\n entry: GestureEntry,\n globalX: number,\n globalY: number,\n dx: number,\n dy: number,\n state: TouchMoveState | undefined,\n isInside: boolean\n ): GestureEventData<Konva.KonvaEventObject<PointerEvent>> {\n const metrics = this.resolveEntryMetrics(entry, globalX, globalY)\n\n let stopped = false\n\n return {\n pointer: {} as Konva.KonvaEventObject<PointerEvent>,\n localX: metrics.localX,\n localY: metrics.localY,\n dx,\n dy,\n width: metrics.width,\n height: metrics.height,\n isInside,\n state: state as TouchMoveState,\n stopPropagation() {\n stopped = true\n },\n isPropagationStopped() {\n return stopped\n },\n }\n }\n\n private createWheelEventData(\n entry: GestureEntry,\n globalX: number,\n globalY: number,\n event: WheelEvent\n ): WheelEventData<Konva.KonvaEventObject<PointerEvent>, WheelEvent> & {\n __defaultPrevented: boolean\n } {\n const metrics = this.resolveEntryMetrics(entry, globalX, globalY)\n\n let stopped = false\n let defaultPrevented = false\n\n return {\n pointer: {} as Konva.KonvaEventObject<PointerEvent>,\n localX: metrics.localX,\n localY: metrics.localY,\n deltaX: event.deltaX,\n deltaY: event.deltaY,\n deltaZ: event.deltaZ,\n deltaMode: event.deltaMode,\n width: metrics.width,\n height: metrics.height,\n originalEvent: event,\n stopPropagation() {\n stopped = true\n },\n isPropagationStopped() {\n return stopped\n },\n preventDefault() {\n defaultPrevented = true\n },\n get __defaultPrevented() {\n return defaultPrevented\n },\n }\n }\n}\n\n// ---------------------------------------------------------------------------\n// Singleton factory — one gesture manager per Konva.Stage\n// ---------------------------------------------------------------------------\n\nconst gestureManagerMap = new WeakMap<Konva.Stage, KonvaGestureManager>()\n\n/**\n * Get or create the KonvaGestureManager singleton for a given stage.\n */\nexport function getKonvaGestureManager(stage: Konva.Stage): KonvaGestureManager {\n let manager = gestureManagerMap.get(stage)\n if (!manager) {\n manager = new KonvaGestureManager(stage)\n gestureManagerMap.set(stage, manager)\n }\n return manager\n}\n","/**\n * Gesture applier — registers/unregisters Konva groups with the gesture manager.\n *\n * Called during patch() when gesture props change.\n */\nimport type { GestureProps } from '@number10/jsx-core'\nimport Konva from 'konva'\nimport { getKonvaGestureManager } from '../konva-gesture-manager'\n\n/**\n * Resolve the local hit area for a Konva group based on its layout box.\n * Returns null if the group has no valid dimensions.\n */\n/**\n * Apply gesture props to a Konva group.\n * Registers, updates, or unregisters the group with the KonvaGestureManager.\n * @param group - Target Konva group\n * @param stage - Konva Stage (needed to get the gesture manager singleton)\n * @param props - Gesture props from the component\n */\nexport function applyGestureProps(\n group: Konva.Group,\n stage: Konva.Stage,\n props: Partial<GestureProps<Konva.KonvaEventObject<PointerEvent>>>\n): void {\n const manager = getKonvaGestureManager(stage)\n const hasGestures = !!(\n props.onTouch ||\n props.onTouchMove ||\n props.onDoubleTap ||\n props.onLongPress ||\n props.onTouchOutside ||\n props.onWheel\n )\n const enabled = props.enableGestures !== false\n\n if (hasGestures && enabled) {\n if (manager.hasContainer(group)) {\n manager.updateContainer(group, props as GestureProps<Konva.KonvaEventObject<PointerEvent>>)\n } else {\n manager.registerContainer(group, props as GestureProps<Konva.KonvaEventObject<PointerEvent>>)\n }\n } else {\n manager.unregisterContainer(group)\n }\n}\n\n/**\n * Update gesture hit area after layout recalculation.\n * @param group - Target Konva group\n * @param stage - Konva Stage\n */\nexport function updateGestureHitArea(group: Konva.Group, stage: Konva.Stage): void {\n const manager = getKonvaGestureManager(stage)\n manager.updateHitArea(group)\n}\n","/**\n * Tooltip applier for Konva groups.\n * Keeps the tooltip API portable while rendering natively in Konva.\n */\nimport type { TooltipTheme } from '@number10/jsx-components'\nimport type { TooltipCallback, TooltipConfig } from '@number10/jsx-core'\nimport { themeRegistry } from '@number10/jsx-core'\nimport Konva from 'konva'\nimport { toKonvaColor, toKonvaColorWithAlpha } from '../utils/konva-colors'\n\n// ---------------------------------------------------------------------------\n// Types\n// ---------------------------------------------------------------------------\n\ntype TooltipState = {\n tooltip: Konva.Group | null\n currentConfig: TooltipConfig | null\n callback: TooltipCallback | undefined\n showTimer: ReturnType<typeof setTimeout> | null\n hideTimer: ReturnType<typeof setTimeout> | null\n autoDismissTimer: ReturnType<typeof setTimeout> | null\n cancelAnimation: (() => void) | null\n cancelPulse: (() => void) | null\n onStagePointerMove:\n | ((this: Konva.Stage, evt: Konva.KonvaEventObject<PointerEvent>) => void)\n | null\n}\n\nconst tooltipStates = new Map<Konva.Group, TooltipState>()\n\n// ---------------------------------------------------------------------------\n// Helpers\n// ---------------------------------------------------------------------------\n\nfunction getTooltipTheme(): TooltipTheme {\n return (themeRegistry.getComponentTheme('Tooltip') as TooltipTheme | undefined) ?? {}\n}\n\nfunction getState(group: Konva.Group): TooltipState {\n let state = tooltipStates.get(group)\n if (!state) {\n state = {\n tooltip: null,\n currentConfig: null,\n callback: undefined,\n showTimer: null,\n hideTimer: null,\n autoDismissTimer: null,\n cancelAnimation: null,\n cancelPulse: null,\n onStagePointerMove: null,\n }\n tooltipStates.set(group, state)\n }\n return state\n}\n\nfunction clearTimers(state: TooltipState): void {\n if (state.showTimer) clearTimeout(state.showTimer)\n if (state.hideTimer) clearTimeout(state.hideTimer)\n if (state.autoDismissTimer) clearTimeout(state.autoDismissTimer)\n state.showTimer = null\n state.hideTimer = null\n state.autoDismissTimer = null\n}\n\nfunction stopAnimation(state: TooltipState): void {\n state.cancelAnimation?.()\n state.cancelAnimation = null\n state.cancelPulse?.()\n state.cancelPulse = null\n}\n\nfunction destroyTooltip(state: TooltipState): void {\n stopAnimation(state)\n state.tooltip?.destroy()\n state.tooltip = null\n}\n\nfunction getLayoutBox(group: Konva.Group): { width: number; height: number } | null {\n const layoutBox = group as Konva.Group & { __layoutBox?: { width: number; height: number } }\n const width = layoutBox.__layoutBox?.width ?? 0\n const height = layoutBox.__layoutBox?.height ?? 0\n if (width <= 0 || height <= 0) return null\n return { width, height }\n}\n\nfunction getStage(group: Konva.Group): Konva.Stage | null {\n let current: Konva.Group | Konva.Stage | null = group\n while (current) {\n if (current instanceof Konva.Stage) return current\n current = (current as Konva.Group).getParent() as Konva.Group | Konva.Stage | null\n }\n return null\n}\n\nfunction isPointerInsideGroup(group: Konva.Group, stage: Konva.Stage): boolean {\n const layoutBox = getLayoutBox(group)\n if (!layoutBox) return false\n\n const pos = stage.getPointerPosition()\n if (!pos) return false\n\n // Transform stage coords to local group space\n const transform = group.getAbsoluteTransform().copy()\n transform.invert()\n const local = transform.point(pos)\n\n return local.x >= 0 && local.x <= layoutBox.width && local.y >= 0 && local.y <= layoutBox.height\n}\n\n// ---------------------------------------------------------------------------\n// Color / style helpers\n// ---------------------------------------------------------------------------\n\nfunction parseColor(value: string | number | undefined, fallback: string): string {\n if (value === undefined) return fallback\n return toKonvaColor(value) ?? fallback\n}\n\nfunction getPadding(value: number | { x?: number; y?: number } | undefined): {\n x: number\n y: number\n} {\n if (typeof value === 'number') return { x: value, y: value }\n return { x: value?.x ?? 8, y: value?.y ?? 4 }\n}\n\n// ---------------------------------------------------------------------------\n// Position calculation\n// ---------------------------------------------------------------------------\n\nfunction calculateTooltipPosition(\n group: Konva.Group,\n config: TooltipConfig,\n tooltipWidth: number,\n tooltipHeight: number,\n stage: Konva.Stage\n): { x: number; y: number } {\n const theme = getTooltipTheme()\n const position = config.position ?? theme.position ?? 'top'\n const offset = config.offset ?? theme.offset ?? 8\n const viewportWidth = stage.width()\n const viewportHeight = stage.height()\n\n const absPos = group.getAbsolutePosition()\n const layoutBox = getLayoutBox(group)\n const targetW = layoutBox?.width ?? 0\n const targetH = layoutBox?.height ?? 0\n\n let x = 0\n let y = 0\n\n switch (position) {\n case 'top':\n x = absPos.x + targetW / 2 - tooltipWidth / 2\n y = absPos.y - tooltipHeight - offset\n break\n case 'bottom':\n x = absPos.x + targetW / 2 - tooltipWidth / 2\n y = absPos.y + targetH + offset\n break\n case 'left':\n x = absPos.x - tooltipWidth - offset\n y = absPos.y + targetH / 2 - tooltipHeight / 2\n break\n case 'right':\n x = absPos.x + targetW + offset\n y = absPos.y + targetH / 2 - tooltipHeight / 2\n break\n }\n\n return {\n x: Math.max(8, Math.min(x, viewportWidth - tooltipWidth - 8)),\n y: Math.max(8, Math.min(y, viewportHeight - tooltipHeight - 8)),\n }\n}\n\n// ---------------------------------------------------------------------------\n// Animation\n// ---------------------------------------------------------------------------\n\nfunction animateTooltip(\n state: TooltipState,\n tooltip: Konva.Group,\n from: { opacity: number; x: number; y: number },\n to: { opacity: number; x: number; y: number },\n duration: number,\n onComplete?: () => void\n): void {\n stopAnimation(state)\n\n if (duration <= 0) {\n tooltip.opacity(to.opacity)\n tooltip.x(to.x)\n tooltip.y(to.y)\n onComplete?.()\n return\n }\n\n tooltip.opacity(from.opacity)\n tooltip.x(from.x)\n tooltip.y(from.y)\n\n let cancelled = false\n const start = performance.now()\n\n const tick = (now: number) => {\n if (cancelled) return\n const t = Math.min(1, (now - start) / duration)\n const eased = 1 - Math.pow(1 - t, 3)\n\n tooltip.opacity(from.opacity + (to.opacity - from.opacity) * eased)\n tooltip.x(from.x + (to.x - from.x) * eased)\n tooltip.y(from.y + (to.y - from.y) * eased)\n\n if (t < 1) {\n requestAnimationFrame(tick)\n return\n }\n state.cancelAnimation = null\n onComplete?.()\n }\n\n state.cancelAnimation = () => {\n cancelled = true\n }\n\n requestAnimationFrame(tick)\n}\n\nfunction startPulseAnimation(\n state: TooltipState,\n tooltip: Konva.Group,\n pulseScale: [number, number]\n): void {\n const [from, to] = pulseScale\n let start = performance.now()\n let cancelled = false\n\n const tick = (now: number) => {\n if (cancelled) return\n const elapsed = now - start\n const phase = (Math.sin((elapsed / 600) * Math.PI * 2) + 1) / 2\n const scale = from + (to - from) * phase\n tooltip.scale({ x: scale, y: scale })\n requestAnimationFrame(tick)\n }\n\n state.cancelPulse = () => {\n cancelled = true\n tooltip.scale({ x: 1, y: 1 })\n }\n\n requestAnimationFrame(tick)\n}\n\n// ---------------------------------------------------------------------------\n// Tooltip container builder\n// ---------------------------------------------------------------------------\n\nfunction buildTooltipContainer(config: TooltipConfig): {\n group: Konva.Group\n width: number\n height: number\n} {\n const theme = getTooltipTheme()\n const style = theme.textStyle ?? {}\n const padding = getPadding(style.padding)\n const fillColor = parseColor(style.color, '#ffffff')\n const fontSize =\n typeof style.fontSize === 'number'\n ? style.fontSize\n : parseFloat(`${style.fontSize ?? 14}`) || 14\n const fontFamily = style.fontFamily ?? 'Arial'\n const bgColor = toKonvaColorWithAlpha(style.backgroundColor ?? '#000000', 0.85) ?? '#000000'\n\n // Measure text dimensions via a temporary Konva.Text\n const measureText = new Konva.Text({\n text: config.content,\n fontSize,\n fontFamily,\n fill: fillColor,\n listening: false,\n })\n const textWidth = Math.ceil(measureText.width())\n const textHeight = Math.ceil(measureText.height())\n measureText.destroy()\n\n const tw = textWidth + padding.x * 2\n const th = textHeight + padding.y * 2\n const cornerRadius = theme.cornerRadius ?? 4\n\n const group = new Konva.Group({ listening: false })\n\n // Background\n const bg = new Konva.Rect({\n x: 0,\n y: 0,\n width: tw,\n height: th,\n fill: bgColor,\n cornerRadius,\n listening: false,\n })\n group.add(bg)\n\n // Text\n const text = new Konva.Text({\n x: padding.x,\n y: padding.y,\n text: config.content,\n fontSize,\n fontFamily,\n fill: fillColor,\n listening: false,\n })\n group.add(text)\n\n return { group, width: tw, height: th }\n}\n\n// ---------------------------------------------------------------------------\n// Main applier functions\n// ---------------------------------------------------------------------------\n\nexport function applyTooltipProps(\n group: Konva.Group,\n stage: Konva.Stage,\n callback: TooltipCallback | undefined\n): void {\n const state = getState(group)\n\n // If no callback, clean up\n if (!callback) {\n cleanupTooltipProps(group)\n return\n }\n\n state.callback = callback\n\n // Resolve config from callback — returns TooltipConfig | string | null | undefined\n const configResult = callback()\n if (!configResult) {\n cleanupTooltipProps(group)\n return\n }\n\n // Normalise string result to a TooltipConfig with content\n state.currentConfig =\n typeof configResult === 'string' ? { content: configResult } : (configResult as TooltipConfig)\n\n if (!state.currentConfig?.content) {\n cleanupTooltipProps(group)\n return\n }\n\n // If we already have event listeners, just update config\n if (state.onStagePointerMove) {\n return\n }\n\n // Register pointer enter/leave via stage pointermove + hit testing\n const onStagePointerMove = (_evt: Konva.KonvaEventObject<PointerEvent>): void => {\n const inside = isPointerInsideGroup(group, stage)\n const prevHovered = state.tooltip !== null\n\n if (inside && !prevHovered) {\n // Pointer entered\n clearTimers(state)\n\n const showDelay = state.currentConfig?.showDelay ?? 300\n if (showDelay > 0) {\n state.showTimer = setTimeout(() => showTooltip(group, state, stage), showDelay)\n } else {\n showTooltip(group, state, stage)\n }\n } else if (!inside && prevHovered) {\n // Pointer left\n clearTimers(state)\n\n const hideDelay = state.currentConfig?.hideDelay ?? 100\n if (hideDelay > 0) {\n state.hideTimer = setTimeout(() => hideTooltip(state), hideDelay)\n } else {\n hideTooltip(state)\n }\n }\n }\n\n state.onStagePointerMove = onStagePointerMove\n stage.on('pointermove', onStagePointerMove)\n}\n\nfunction showTooltip(group: Konva.Group, state: TooltipState, stage: Konva.Stage): void {\n if (state.tooltip) return\n if (!state.currentConfig) return\n\n const { group: tooltipGroup, width: tw, height: th } = buildTooltipContainer(state.currentConfig)\n const pos = calculateTooltipPosition(group, state.currentConfig, tw, th, stage)\n\n tooltipGroup.x(pos.x)\n tooltipGroup.y(pos.y)\n tooltipGroup.opacity(0)\n\n // Find the appropriate layer to add the tooltip\n const layer = group.getLayer()\n if (!layer) return\n\n layer.add(tooltipGroup)\n state.tooltip = tooltipGroup\n\n // Animate in\n const anim = state.currentConfig?.animation\n const animDuration = anim?.fadeIn ?? 150\n animateTooltip(\n state,\n tooltipGroup,\n { opacity: 0, x: pos.x, y: pos.y },\n { opacity: 1, x: pos.x, y: pos.y },\n animDuration,\n () => {\n // Start pulse if configured\n if (anim?.pulse && anim.pulseScale) {\n startPulseAnimation(state, tooltipGroup, anim.pulseScale)\n }\n }\n )\n\n // Auto-dismiss\n const autoDismiss = state.currentConfig?.autoDismiss ?? 0\n if (autoDismiss > 0) {\n state.autoDismissTimer = setTimeout(() => {\n hideTooltip(state)\n }, autoDismiss)\n }\n\n layer.batchDraw()\n}\n\nfunction hideTooltip(state: TooltipState): void {\n if (!state.tooltip) return\n destroyTooltip(state)\n}\n\nexport function cleanupTooltipProps(group: Konva.Group): void {\n const state = tooltipStates.get(group)\n if (!state) return\n\n if (state.onStagePointerMove) {\n const stage = getStage(group)\n if (stage) {\n stage.off('pointermove', state.onStagePointerMove)\n }\n state.onStagePointerMove = null\n }\n\n clearTimers(state)\n destroyTooltip(state)\n tooltipStates.delete(group)\n}\n\nexport function updateTooltipHitArea(_group: Konva.Group): void {\n // Konva doesn't need explicit hit area updates for tooltip\n // since we use stage pointermove + hit testing\n}\n","/**\n * Base property applier — transforms common props to Konva node properties.\n *\n * Supports AnimatedSignal values — subscribes to signal changes and updates\n * native node properties directly, bypassing VDOM re-renders.\n */\nimport { isAnimatedSignal } from '@number10/jsx-core'\nimport { effect } from '@preact/signals-core'\nimport type { KonvaNode } from './konva-node'\n\ninterface SignalEffectNode {\n __signalEffects?: Map<string, () => void>\n __lastPropValues?: Record<string, unknown>\n}\n\nfunction applySignalValue(\n node: SignalEffectNode,\n key: string,\n value: unknown,\n apply: (value: number) => void\n): void {\n // Clean up previous signal effect for this key\n node.__signalEffects?.get(key)?.()\n\n if (value === undefined) return\n\n if (isAnimatedSignal(value)) {\n apply(value.value)\n const cleanup = effect(() => {\n apply(value.value)\n })\n if (!node.__signalEffects) {\n node.__signalEffects = new Map()\n }\n node.__signalEffects.set(key, cleanup)\n } else {\n // Skip re-application if value hasn't changed — prevents overriding\n // positions set by the parent's layout engine (e.g. row/column layouts).\n const last = node.__lastPropValues?.[key]\n if (last === value) return\n if (!node.__lastPropValues) {\n node.__lastPropValues = {}\n }\n node.__lastPropValues[key] = value\n apply(value as number)\n }\n}\n\n/**\n * Apply base transform/visibility props to a Konva node.\n * Layout stays on the outer node. The inner effect container receives\n * transform props so temporary effect animation can run independently.\n * @param node - Target outer Konva node\n * @param props - Props object (x, y, alpha, visible, angle, scale)\n */\nexport function applyBaseProps(node: KonvaNode, props: Record<string, unknown>): void {\n const effectTarget = node.__effectContainer ?? node\n const toDegrees = (value: number) => value * (180 / Math.PI)\n\n applySignalValue(node, 'x', props.x, (v) => {\n if (Number.isFinite(v)) node.x(v)\n })\n applySignalValue(node, 'y', props.y, (v) => {\n if (Number.isFinite(v)) node.y(v)\n })\n applySignalValue(node, 'alpha', props.alpha, (v) => {\n if (Number.isFinite(v)) effectTarget.opacity(v)\n })\n\n if (props.visible !== undefined) {\n const visible = props.visible\n node.visible(visible !== false && visible !== 'none')\n }\n\n if (props.rotation !== undefined) {\n applySignalValue(node, 'rotation', props.rotation, (v) => {\n effectTarget.rotation(toDegrees(v))\n })\n } else if (props.angle !== undefined) {\n applySignalValue(node, 'angle', props.angle, (v) => {\n effectTarget.rotation(v)\n })\n }\n\n if (props.scale !== undefined) {\n applySignalValue(node, 'scale', props.scale, (v) => {\n effectTarget.scale({ x: v, y: v })\n })\n } else {\n const scaleX = props.scaleX\n const scaleY = props.scaleY\n if (scaleX !== undefined || scaleY !== undefined) {\n const sx = isAnimatedSignal(scaleX) ? scaleX.value : (scaleX as number | undefined)\n const sy = isAnimatedSignal(scaleY) ? scaleY.value : (scaleY as number | undefined)\n const currentScale = effectTarget.scale()\n effectTarget.scale({\n x: (sx as number | undefined) ?? currentScale.x,\n y: (sy as number | undefined) ?? currentScale.y,\n })\n }\n }\n}\n","/**\n * Konva NineSlice applier — single-node 9-slice rendering via Konva.Shape.\n *\n * Renders all 9 segments in one `sceneFunc`, avoiding sub-pixel seams\n * between adjacent segments. Pixel snapping is applied to shared edges\n * (xs, ys) once per axis, then all target rects are derived from the\n * snapped edges — guaranteeing no overlap and no gaps.\n */\nimport type { FrameRect } from '@number10/jsx-core'\nimport Konva from 'konva'\nimport { konvaTextureCache, resolveKonvaRegion } from '../konva-host-adapter'\nimport { getContentContainer, type KonvaNode } from './konva-node'\n\n// ---------------------------------------------------------------------------\n// Constants\n// ---------------------------------------------------------------------------\n\n/**\n * Edge-index pairs for each of the 9 segments.\n * Each entry: [xsLeft, xsRight, ysTop, ysBottom]\n */\nconst SEGMENT_MAP: readonly [number, number, number, number][] = [\n [0, 1, 0, 1], // TL\n [1, 2, 0, 1], // Top\n [2, 3, 0, 1], // TR\n [0, 1, 1, 2], // Left\n [1, 2, 1, 2], // Center\n [2, 3, 1, 2], // Right\n [0, 1, 2, 3], // BL\n [1, 2, 2, 3], // Bottom\n [2, 3, 2, 3], // BR\n] as const\n\n// ---------------------------------------------------------------------------\n// Extended node type\n// ---------------------------------------------------------------------------\n\nexport interface KonvaNineSliceNode extends KonvaNode {\n /** Reference to the Konva.Shape used for drawing */\n __nineSliceShape?: Konva.Shape\n /** Cached props for sceneFunc access */\n __nsProps?: NineSliceStoredProps\n /** Cached composed bitmap to avoid per-slice seams under transforms */\n __nineSliceCanvas?: HTMLCanvasElement | null\n /** Effective render scale used for the cached bitmap */\n __nineSliceCanvasScale?: { x: number; y: number }\n /** Whether the cached bitmap must be rebuilt before the next draw */\n __nineSliceCanvasDirty?: boolean\n}\n\ntype KonvaNineSliceShape = Konva.Shape & {\n getSelfRect?: () => { x: number; y: number; width: number; height: number }\n}\n\ninterface NineSliceStoredProps {\n textureKey: string\n frame: string | undefined\n tint: number | undefined\n leftWidth: number\n rightWidth: number\n topHeight: number\n bottomHeight: number\n width: number\n height: number\n imageSmoothingEnabled: boolean\n}\n\n// ---------------------------------------------------------------------------\n// Pixel snapping\n// ---------------------------------------------------------------------------\n\n/**\n * Snap a value to the nearest physical pixel.\n *\n * Uses the effective device-pixel ratio from the Konva stage (if available).\n * When the stage transform is involved (rotation/skew), pixel snapping may\n * not be reliable; in that case we fall back to Math.round() on the local\n * value, which is conservative — it prevents visible seams for axis-aligned\n * rendering while not guaranteeing perfect alignment under complex transforms.\n *\n * @param value - The coordinate to snap\n * @param scale - Effective scale factor (devicePixelRatio × stage scale)\n * @returns Value snapped to the nearest pixel boundary\n */\nfunction snapToPixel(value: number, scale: number): number {\n return Math.round(value * scale) / scale\n}\n\n/**\n * Snap all 4 edges of an edge array to the pixel grid.\n * Returns new array with snapped values.\n */\nfunction snapEdges(\n edges: readonly [number, number, number, number],\n scale: number\n): [number, number, number, number] {\n return [\n snapToPixel(edges[0], scale),\n snapToPixel(edges[1], scale),\n snapToPixel(edges[2], scale),\n snapToPixel(edges[3], scale),\n ]\n}\n\nfunction buildNineSliceCanvas(\n props: NineSliceStoredProps,\n renderScaleX: number,\n renderScaleY: number\n): HTMLCanvasElement | null {\n if (\n !Number.isFinite(props.width) ||\n !Number.isFinite(props.height) ||\n props.width <= 0 ||\n props.height <= 0\n ) {\n return null\n }\n\n const texture = konvaTextureCache.get(props.textureKey)\n if (!texture) return null\n\n const img = texture.source\n const frameRegion: FrameRect | undefined = props.frame\n ? resolveKonvaRegion(props.textureKey, props.frame)\n : undefined\n const frameW = frameRegion?.width ?? texture.width\n const frameH = frameRegion?.height ?? texture.height\n const frameOx = frameRegion?.x ?? 0\n const frameOy = frameRegion?.y ?? 0\n\n const cw = Math.max(0, frameW - props.leftWidth - props.rightWidth)\n const ch = Math.max(0, frameH - props.topHeight - props.bottomHeight)\n const sourceSlices = [\n { x: frameOx, y: frameOy, w: props.leftWidth, h: props.topHeight },\n { x: frameOx + props.leftWidth, y: frameOy, w: cw, h: props.topHeight },\n { x: frameOx + frameW - props.rightWidth, y: frameOy, w: props.rightWidth, h: props.topHeight },\n { x: frameOx, y: frameOy + props.topHeight, w: props.leftWidth, h: ch },\n { x: frameOx + props.leftWidth, y: frameOy + props.topHeight, w: cw, h: ch },\n {\n x: frameOx + frameW - props.rightWidth,\n y: frameOy + props.topHeight,\n w: props.rightWidth,\n h: ch,\n },\n {\n x: frameOx,\n y: frameOy + frameH - props.bottomHeight,\n w: props.leftWidth,\n h: props.bottomHeight,\n },\n {\n x: frameOx + props.leftWidth,\n y: frameOy + frameH - props.bottomHeight,\n w: cw,\n h: props.bottomHeight,\n },\n {\n x: frameOx + frameW - props.rightWidth,\n y: frameOy + frameH - props.bottomHeight,\n w: props.rightWidth,\n h: props.bottomHeight,\n },\n ]\n\n const canvas = document.createElement('canvas')\n canvas.width = Math.max(1, Math.round(props.width * renderScaleX))\n canvas.height = Math.max(1, Math.round(props.height * renderScaleY))\n const ctx = canvas.getContext('2d')\n if (!ctx) return null\n\n ctx.imageSmoothingEnabled = props.imageSmoothingEnabled\n\n const rawXs = [\n 0,\n props.leftWidth * renderScaleX,\n (props.width - props.rightWidth) * renderScaleX,\n props.width * renderScaleX,\n ] as const\n const rawYs = [\n 0,\n props.topHeight * renderScaleY,\n (props.height - props.bottomHeight) * renderScaleY,\n props.height * renderScaleY,\n ] as const\n\n const xs = snapEdges(rawXs as [number, number, number, number], 1)\n const ys = snapEdges(rawYs as [number, number, number, number], 1)\n\n const isFiniteRect = (x: number, y: number, width: number, height: number) =>\n Number.isFinite(x) &&\n Number.isFinite(y) &&\n Number.isFinite(width) &&\n Number.isFinite(height) &&\n width > 0 &&\n height > 0\n\n for (let i = 0; i < 9; i++) {\n const src = sourceSlices[i] ?? { x: 0, y: 0, w: 0, h: 0 }\n const [sxL, sxR, syT, syB] = SEGMENT_MAP[i] ?? [0, 0, 0, 0]\n const dx = xs[sxL] ?? 0\n const dy = ys[syT] ?? 0\n const dw = (xs[sxR] ?? 0) - (xs[sxL] ?? 0)\n const dh = (ys[syB] ?? 0) - (ys[syT] ?? 0)\n\n if (isFiniteRect(src.x, src.y, src.w, src.h) && isFiniteRect(dx, dy, dw, dh)) {\n ctx.drawImage(img, src.x, src.y, src.w, src.h, dx, dy, dw, dh)\n }\n }\n\n if (props.tint !== undefined) {\n ctx.globalCompositeOperation = 'source-in'\n ctx.fillStyle = `#${props.tint.toString(16).padStart(6, '0')}`\n ctx.fillRect(0, 0, canvas.width, canvas.height)\n ctx.globalCompositeOperation = 'source-over'\n }\n\n return canvas\n}\n\n// ---------------------------------------------------------------------------\n// Scene function — draws all 9 segments in one canvas pass\n// ---------------------------------------------------------------------------\n\nfunction nineSliceSceneFunc(this: Konva.Shape, context: Konva.Context, _shape: Konva.Shape): void {\n // Walk up ancestor chain — the shape lives inside __effectContainer\n let nsNode: KonvaNineSliceNode | null = null\n let current: Konva.Node | null = this.getParent()\n while (current) {\n if ((current as KonvaNineSliceNode).__nsProps) {\n nsNode = current as KonvaNineSliceNode\n break\n }\n current = current.getParent()\n }\n if (!nsNode) return\n const props = nsNode?.__nsProps\n if (!props) return\n const ctx = (context as unknown as { _context?: CanvasRenderingContext2D })._context\n if (!ctx) return\n\n if (\n !Number.isFinite(props.width) ||\n !Number.isFinite(props.height) ||\n props.width <= 0 ||\n props.height <= 0\n ) {\n return\n }\n\n // Determine effective pixel scale.\n // Konva.Stage does not expose getPixelRatio directly in all type defs;\n // we read the pixel ratio from the layer's canvas or default to 1.\n const absoluteScale = this.getAbsoluteScale()\n const layer = this.getLayer()\n const dpr =\n (layer?.getCanvas() as { getPixelRatio?: () => number } | undefined)?.getPixelRatio?.() ?? 1\n const scaleX = Math.max(Math.abs(absoluteScale.x), 1e-6)\n const scaleY = Math.max(Math.abs(absoluteScale.y), 1e-6)\n const renderScaleX = dpr * scaleX\n const renderScaleY = dpr * scaleY\n\n if (\n nsNode.__nineSliceCanvasDirty !== false ||\n !nsNode.__nineSliceCanvas ||\n !nsNode.__nineSliceCanvasScale ||\n Math.abs(nsNode.__nineSliceCanvasScale.x - renderScaleX) >= 0.001 ||\n Math.abs(nsNode.__nineSliceCanvasScale.y - renderScaleY) >= 0.001\n ) {\n nsNode.__nineSliceCanvas = buildNineSliceCanvas(props, renderScaleX, renderScaleY) ?? null\n nsNode.__nineSliceCanvasScale = { x: renderScaleX, y: renderScaleY }\n nsNode.__nineSliceCanvasDirty = false\n }\n\n const bitmap = nsNode.__nineSliceCanvas\n if (!bitmap) return\n\n ctx.save()\n try {\n // Keep native 9-slice strictly inside its own local bounds so it cannot\n // affect subsequent Konva draws even if a segment resolves unexpectedly.\n ctx.beginPath()\n ctx.rect(0, 0, props.width, props.height)\n ctx.clip()\n ctx.imageSmoothingEnabled = props.imageSmoothingEnabled\n ctx.drawImage(bitmap, 0, 0, bitmap.width, bitmap.height, 0, 0, props.width, props.height)\n } catch {\n // Swallow native draw failures so one malformed segment cannot abort\n // the rest of the Konva layer render pass.\n } finally {\n ctx.restore()\n }\n}\n\n// ---------------------------------------------------------------------------\n// Apply NineSlice props to a Konva node\n// ---------------------------------------------------------------------------\n\n/**\n * Create or update a KonvaNineSliceNode's internal Konva.Shape.\n * Called by the host adapter on create/patch.\n */\nexport function applyKonvaNineSliceProps(\n node: KonvaNineSliceNode,\n props: Record<string, unknown>\n): void {\n const textureKey = (props.texture as string) ?? ''\n const frame = props.frame as string | undefined\n const tint = props.tint as number | undefined\n const leftWidth = (props.leftWidth as number) ?? 0\n const rightWidth = (props.rightWidth as number) ?? 0\n const topHeight = (props.topHeight as number) ?? 0\n const bottomHeight = (props.bottomHeight as number) ?? 0\n const width = (props.width as number) ?? 0\n const height = (props.height as number) ?? 0\n const imageSmoothingEnabled = (props.imageSmoothingEnabled as boolean) ?? false\n\n // Store props for sceneFunc access\n node.__nsProps = {\n textureKey,\n frame,\n tint,\n leftWidth,\n rightWidth,\n topHeight,\n bottomHeight,\n width,\n height,\n imageSmoothingEnabled,\n }\n node.__nineSliceCanvasDirty = true\n\n // Override __getLayoutSize so headless NineSlice reports minimal size,\n // matching the headless Image contract (0.01 — rendered but no layout impact).\n // Non-headless NineSlice reports the actual layout-box size set by the engine.\n const isHeadless = (props.headless as boolean) ?? false\n node.__getLayoutSize = () => {\n if (isHeadless) {\n return { width: 0.01, height: 0.01 }\n }\n return {\n width: node.__layoutBox?.width ?? 0,\n height: node.__layoutBox?.height ?? 0,\n }\n }\n\n const applyShapeBounds = (shape: KonvaNineSliceShape) => {\n shape.width(width)\n shape.height(height)\n shape.getSelfRect = () => ({\n x: 0,\n y: 0,\n width,\n height,\n })\n }\n\n // Create the Konva.Shape on first call\n if (!node.__nineSliceShape) {\n const shape = new Konva.Shape({\n sceneFunc: nineSliceSceneFunc,\n listening: false,\n }) as KonvaNineSliceShape\n applyShapeBounds(shape)\n node.__nineSliceShape = shape\n const content = getContentContainer(node)\n content.add(shape)\n return\n }\n\n applyShapeBounds(node.__nineSliceShape as KonvaNineSliceShape)\n\n // Trigger redraw on subsequent calls\n node.__nineSliceShape.getLayer()?.batchDraw()\n}\n","/**\n * Konva vector draw context — implements VectorDrawContext using an offscreen\n * Canvas 2D API. The rendered bitmap is displayed via Konva.Image.\n */\nimport type { VectorDrawContext } from '@number10/jsx-core'\nimport Konva from 'konva'\n\ntype FillStyle = { color: string; alpha: number }\ntype StrokeStyle = { width: number; color: string; alpha: number }\n\nexport class KonvaVectorDrawContext implements VectorDrawContext {\n private static readonly AUTO_BOUNDS_CANVAS_SIZE = 1024\n private fill: FillStyle = { color: '#ffffff', alpha: 1 }\n private stroke: StrokeStyle = { width: 1, color: '#ffffff', alpha: 1 }\n private canvas: HTMLCanvasElement\n private ctx: CanvasRenderingContext2D\n private deferFlush = false\n private autoBoundsOrigin = { x: 0, y: 0 }\n\n constructor(\n readonly konvaImage: Konva.Image,\n width: number,\n height: number\n ) {\n this.canvas = document.createElement('canvas')\n this.ctx = this.canvas.getContext('2d', {\n willReadFrequently: true,\n }) as CanvasRenderingContext2D\n this.resize(width, height)\n konvaImage.image(this.canvas)\n }\n\n resize(width: number, height: number): void {\n const nextWidth = Math.max(1, Math.round(width))\n const nextHeight = Math.max(1, Math.round(height))\n if (this.canvas.width !== nextWidth) {\n this.canvas.width = nextWidth\n }\n if (this.canvas.height !== nextHeight) {\n this.canvas.height = nextHeight\n }\n this.konvaImage.image(this.canvas)\n this.konvaImage.width(nextWidth)\n this.konvaImage.height(nextHeight)\n this.konvaImage.offsetX(0)\n this.konvaImage.offsetY(0)\n }\n\n prepareDraw(options?: { width?: number; height?: number; autoBounds?: boolean }): void {\n const autoBounds = options?.autoBounds === true\n this.deferFlush = autoBounds\n\n if (autoBounds) {\n const explicitWidth =\n typeof options?.width === 'number' && Number.isFinite(options.width) && options.width > 0\n ? Math.round(options.width)\n : 0\n const explicitHeight =\n typeof options?.height === 'number' && Number.isFinite(options.height) && options.height > 0\n ? Math.round(options.height)\n : 0\n const width =\n explicitWidth > 0\n ? Math.max(64, explicitWidth * 4)\n : KonvaVectorDrawContext.AUTO_BOUNDS_CANVAS_SIZE\n const height =\n explicitHeight > 0\n ? Math.max(64, explicitHeight * 4)\n : KonvaVectorDrawContext.AUTO_BOUNDS_CANVAS_SIZE\n this.resize(width, height)\n this.autoBoundsOrigin = { x: width / 2, y: height / 2 }\n this.ctx.setTransform(1, 0, 0, 1, 0, 0)\n this.ctx.clearRect(0, 0, width, height)\n this.ctx.translate(this.autoBoundsOrigin.x, this.autoBoundsOrigin.y)\n return\n }\n\n this.autoBoundsOrigin = { x: 0, y: 0 }\n this.resize(options?.width ?? this.canvas.width, options?.height ?? this.canvas.height)\n this.ctx.setTransform(1, 0, 0, 1, 0, 0)\n }\n\n finishDraw(options?: { autoBounds?: boolean }): void {\n if (options?.autoBounds === true) {\n this.finishAutoBoundsDraw()\n } else {\n this.konvaImage.image(this.canvas)\n this.konvaImage.width(this.canvas.width)\n this.konvaImage.height(this.canvas.height)\n this.konvaImage.offsetX(0)\n this.konvaImage.offsetY(0)\n this.konvaImage.getLayer()?.batchDraw()\n }\n this.deferFlush = false\n }\n\n /** Convert a number color (0xRRGGBB) to a CSS string. */\n private toColor(color: number, alpha: number): string {\n const r = (color >> 16) & 0xff\n const g = (color >> 8) & 0xff\n const b = color & 0xff\n return `rgba(${r},${g},${b},${alpha})`\n }\n\n /** Ensure the canvas bitmap is pushed to Konva's texture cache. */\n private flush(): void {\n if (this.deferFlush) {\n return\n }\n // Konva caches Image textures internally; calling image() with the\n // same canvas reference picks up changes automatically.\n this.konvaImage.getLayer()?.batchDraw()\n }\n\n private finishAutoBoundsDraw(): void {\n const width = this.canvas.width\n const height = this.canvas.height\n const imageData = this.ctx.getImageData(0, 0, width, height).data\n\n let minX = width\n let minY = height\n let maxX = -1\n let maxY = -1\n\n for (let y = 0; y < height; y++) {\n for (let x = 0; x < width; x++) {\n const alpha = imageData[(y * width + x) * 4 + 3]\n if (alpha === 0) continue\n if (x < minX) minX = x\n if (y < minY) minY = y\n if (x > maxX) maxX = x\n if (y > maxY) maxY = y\n }\n }\n\n if (maxX < minX || maxY < minY) {\n this.konvaImage.image(this.canvas)\n this.konvaImage.width(1)\n this.konvaImage.height(1)\n this.konvaImage.offsetX(0)\n this.konvaImage.offsetY(0)\n this.konvaImage.getLayer()?.batchDraw()\n return\n }\n\n const croppedWidth = maxX - minX + 1\n const croppedHeight = maxY - minY + 1\n const croppedCanvas = document.createElement('canvas')\n croppedCanvas.width = croppedWidth\n croppedCanvas.height = croppedHeight\n const croppedCtx = croppedCanvas.getContext('2d')\n if (!croppedCtx) return\n\n croppedCtx.drawImage(\n this.canvas,\n minX,\n minY,\n croppedWidth,\n croppedHeight,\n 0,\n 0,\n croppedWidth,\n croppedHeight\n )\n\n this.konvaImage.image(croppedCanvas)\n this.konvaImage.width(croppedWidth)\n this.konvaImage.height(croppedHeight)\n this.konvaImage.offsetX(this.autoBoundsOrigin.x - minX)\n this.konvaImage.offsetY(this.autoBoundsOrigin.y - minY)\n this.konvaImage.getLayer()?.batchDraw()\n }\n\n clear(): this {\n const w = this.canvas.width\n const h = this.canvas.height\n this.ctx.save()\n this.ctx.setTransform(1, 0, 0, 1, 0, 0)\n this.ctx.clearRect(0, 0, w, h)\n this.ctx.restore()\n return this\n }\n\n fillStyle(color: number, alpha = 1): this {\n this.fill = { color: this.toColor(color, alpha), alpha }\n this.ctx.fillStyle = this.toColor(color, alpha)\n return this\n }\n\n lineStyle(width: number, color: number, alpha = 1): this {\n this.stroke = { width, color: this.toColor(color, alpha), alpha }\n this.ctx.strokeStyle = this.toColor(color, alpha)\n this.ctx.lineWidth = width\n return this\n }\n\n arc(\n x: number,\n y: number,\n radius: number,\n startAngle: number,\n endAngle: number,\n anticlockwise?: boolean\n ): this {\n this.ctx.arc(x, y, radius, startAngle, endAngle, anticlockwise)\n return this\n }\n\n fillCircle(x: number, y: number, radius: number): this {\n this.ctx.beginPath()\n this.ctx.arc(x, y, radius, 0, Math.PI * 2)\n this.ctx.fill()\n this.flush()\n return this\n }\n\n strokeCircle(x: number, y: number, radius: number): this {\n this.ctx.beginPath()\n this.ctx.arc(x, y, radius, 0, Math.PI * 2)\n this.ctx.stroke()\n this.flush()\n return this\n }\n\n fillRect(x: number, y: number, width: number, height: number): this {\n this.ctx.fillRect(x, y, width, height)\n this.flush()\n return this\n }\n\n strokeRect(x: number, y: number, width: number, height: number): this {\n this.ctx.strokeRect(x, y, width, height)\n this.flush()\n return this\n }\n\n fillRoundedRect(x: number, y: number, width: number, height: number, radius: number): this {\n this.ctx.beginPath()\n this.roundRect(x, y, width, height, radius)\n this.ctx.fill()\n this.flush()\n return this\n }\n\n strokeRoundedRect(x: number, y: number, width: number, height: number, radius: number): this {\n this.ctx.beginPath()\n this.roundRect(x, y, width, height, radius)\n this.ctx.stroke()\n this.flush()\n return this\n }\n\n private roundRect(x: number, y: number, w: number, h: number, r: number): void {\n r = Math.min(r, w / 2, h / 2)\n this.ctx.moveTo(x + r, y)\n this.ctx.lineTo(x + w - r, y)\n this.ctx.quadraticCurveTo(x + w, y, x + w, y + r)\n this.ctx.lineTo(x + w, y + h - r)\n this.ctx.quadraticCurveTo(x + w, y + h, x + w - r, y + h)\n this.ctx.lineTo(x + r, y + h)\n this.ctx.quadraticCurveTo(x, y + h, x, y + h - r)\n this.ctx.lineTo(x, y + r)\n this.ctx.quadraticCurveTo(x, y, x + r, y)\n this.ctx.closePath()\n }\n\n beginPath(): this {\n this.ctx.beginPath()\n return this\n }\n\n moveTo(x: number, y: number): this {\n this.ctx.moveTo(x, y)\n return this\n }\n\n lineTo(x: number, y: number): this {\n this.ctx.lineTo(x, y)\n return this\n }\n\n closePath(): this {\n this.ctx.closePath()\n return this\n }\n\n fillPath(): this {\n this.ctx.fill()\n this.flush()\n return this\n }\n\n strokePath(): this {\n this.ctx.stroke()\n this.flush()\n return this\n }\n\n lineBetween(x1: number, y1: number, x2: number, y2: number): this {\n this.ctx.beginPath()\n this.ctx.moveTo(x1, y1)\n this.ctx.lineTo(x2, y2)\n this.ctx.stroke()\n this.flush()\n return this\n }\n\n setShadow(color: number, blur: number, offsetX: number, offsetY: number): this {\n this.ctx.shadowColor = this.toColor(color, 1)\n this.ctx.shadowBlur = blur\n this.ctx.shadowOffsetX = offsetX\n this.ctx.shadowOffsetY = offsetY\n return this\n }\n\n resetShadow(): this {\n this.ctx.shadowColor = 'transparent'\n this.ctx.shadowBlur = 0\n this.ctx.shadowOffsetX = 0\n this.ctx.shadowOffsetY = 0\n return this\n }\n\n fillCircleStyled(x: number, y: number, radius: number, color: number, alpha: number): this {\n this.ctx.fillStyle = this.toColor(color, alpha)\n this.ctx.beginPath()\n this.ctx.arc(x, y, radius, 0, Math.PI * 2)\n this.ctx.fill()\n this.flush()\n return this\n }\n\n strokeLine(\n x1: number,\n y1: number,\n x2: number,\n y2: number,\n width: number,\n color: number,\n alpha: number\n ): this {\n this.ctx.strokeStyle = this.toColor(color, alpha)\n this.ctx.lineWidth = width\n this.ctx.beginPath()\n this.ctx.moveTo(x1, y1)\n this.ctx.lineTo(x2, y2)\n this.ctx.stroke()\n this.flush()\n return this\n }\n\n fillArc(\n cx: number,\n cy: number,\n r: number,\n startAngle: number,\n endAngle: number,\n color: number,\n alpha: number\n ): this {\n this.ctx.fillStyle = this.toColor(color, alpha)\n this.ctx.beginPath()\n this.ctx.moveTo(cx, cy)\n this.ctx.arc(cx, cy, r, startAngle, endAngle)\n this.ctx.closePath()\n this.ctx.fill()\n this.flush()\n return this\n }\n}\n","/**\n * Vector draw host node applier — connects VectorDrawContent to Konva.Image.\n */\nimport type { VectorDrawContentPrimitiveProps } from '@number10/jsx-core'\nimport Konva from 'konva'\nimport { KonvaVectorDrawContext } from '../vector'\nimport { getContentContainer, setLayoutSize, type KonvaNode } from './konva-node'\n\nexport type KonvaVectorDrawNode = KonvaNode & {\n __vectorImage?: Konva.Image | undefined\n __vectorDrawContext?: KonvaVectorDrawContext | undefined\n __drawDependencies?: unknown[] | undefined\n __hasDrawnVectorContent?: boolean | undefined\n}\n\nfunction shallowEqual(a?: unknown[], b?: unknown[]): boolean {\n if (!a || !b) return a === b\n if (a.length !== b.length) return false\n return a.every((val, i) => val === b[i])\n}\n\nfunction validateVectorDrawLayout(props: Partial<VectorDrawContentPrimitiveProps>): void {\n if (\n props.headless === false &&\n (typeof props.width !== 'number' || typeof props.height !== 'number')\n ) {\n throw new Error(\n 'VectorDrawContent requires explicit width and height props when headless=false'\n )\n }\n}\n\nfunction getVectorImage(node: KonvaVectorDrawNode): Konva.Image {\n if (!node.__vectorImage) {\n const img = new Konva.Image({ image: document.createElement('img'), listening: false })\n getContentContainer(node).add(img)\n node.__vectorImage = img\n }\n return node.__vectorImage\n}\n\nfunction getVectorDrawContext(node: KonvaVectorDrawNode): KonvaVectorDrawContext {\n if (!node.__vectorDrawContext) {\n const width = node.__layoutBox?.width ?? 0\n const height = node.__layoutBox?.height ?? 0\n node.__vectorDrawContext = new KonvaVectorDrawContext(\n getVectorImage(node),\n Math.max(1, width),\n Math.max(1, height)\n )\n }\n return node.__vectorDrawContext\n}\n\nfunction getExplicitDrawSize(\n props: Partial<VectorDrawContentPrimitiveProps>\n): { width: number; height: number } | null {\n const width = typeof props.width === 'number' ? props.width : 0\n const height = typeof props.height === 'number' ? props.height : 0\n if (width <= 0 || height <= 0) {\n return null\n }\n return { width, height }\n}\n\nfunction updateVectorDrawLayout(\n node: KonvaVectorDrawNode,\n props: Partial<VectorDrawContentPrimitiveProps>\n): void {\n const explicitDrawSize = getExplicitDrawSize(props)\n\n if (props.headless ?? true) {\n setLayoutSize(node, 0.01, 0.01)\n if (node.__vectorDrawContext && explicitDrawSize) {\n node.__vectorDrawContext.resize(explicitDrawSize.width, explicitDrawSize.height)\n node.__hasDrawnVectorContent = false\n }\n return\n }\n\n const w = typeof props.width === 'number' ? props.width : 0\n const h = typeof props.height === 'number' ? props.height : 0\n setLayoutSize(node, w, h)\n\n // Update canvas size if dimensions changed\n if (node.__vectorDrawContext && w > 0 && h > 0) {\n node.__vectorDrawContext.resize(w, h)\n // Re-trigger draw with new dimensions\n node.__hasDrawnVectorContent = false\n }\n}\n\nfunction drawVectorContent(\n node: KonvaVectorDrawNode,\n props: Partial<VectorDrawContentPrimitiveProps>\n): void {\n if (!props.onDraw) return\n\n const ctx = getVectorDrawContext(node)\n const explicitDrawSize = getExplicitDrawSize(props)\n const autoBounds = props.headless ?? true\n ctx.prepareDraw({\n ...(explicitDrawSize ? explicitDrawSize : {}),\n autoBounds,\n })\n\n if (props.autoClear !== false) {\n ctx.clear()\n }\n\n props.onDraw(ctx, props as VectorDrawContentPrimitiveProps)\n ctx.finishDraw({ autoBounds })\n node.__drawDependencies = props.dependencies\n node.__hasDrawnVectorContent = true\n}\n\nexport function applyVectorDrawProps(\n node: KonvaVectorDrawNode,\n prev: Record<string, unknown>,\n next: Record<string, unknown>\n): void {\n const props = next as Partial<VectorDrawContentPrimitiveProps>\n\n validateVectorDrawLayout(props)\n updateVectorDrawLayout(node, props)\n\n const depsChanged = !shallowEqual(\n (prev as Partial<VectorDrawContentPrimitiveProps>).dependencies,\n props.dependencies\n )\n\n if (\n !node.__hasDrawnVectorContent ||\n depsChanged ||\n (props as Record<string, unknown>).forceRedraw\n ) {\n drawVectorContent(node, props)\n }\n}\n","/**\n * Konva scheduler — provides frame/timer callbacks for the VDOM runtime.\n */\nexport function createKonvaScheduler() {\n /** Compute delta time in ms since the last call. First call returns 16. */\n const delta = (lastTime: number | undefined, time: number): number => {\n if (lastTime === undefined) {\n return 16 // assume 60 fps for the first frame\n }\n const dt = time - lastTime\n // Cap delta to prevent spring-physics overshoot (e.g. after tab switch)\n return Math.min(dt, 100)\n }\n\n return {\n requestAnimationFrame(callback: (dt: number) => void) {\n let lastTime: number | undefined\n const id = window.requestAnimationFrame((time) => {\n callback(delta(lastTime, time))\n lastTime = time\n })\n return { cancel: () => window.cancelAnimationFrame(id) }\n },\n onFrame(callback: (dt: number) => void) {\n let running = true\n let frameId = 0\n let lastTime: number | undefined\n const tick = (time: number) => {\n if (!running) return\n callback(delta(lastTime, time))\n lastTime = time\n frameId = window.requestAnimationFrame(tick)\n }\n frameId = window.requestAnimationFrame(tick)\n return {\n cancel: () => {\n running = false\n window.cancelAnimationFrame(frameId)\n },\n }\n },\n setTimeout(callback: () => void, delay: number) {\n const id = window.setTimeout(callback, delay)\n return { cancel: () => window.clearTimeout(id) }\n },\n setInterval(callback: () => void, interval: number) {\n const id = window.setInterval(callback, interval)\n return { cancel: () => window.clearInterval(id) }\n },\n }\n}\n","/**\n * Konva HostAdapter — renderer adapter for @number10/jsx-core.\n *\n * Implements the HostAdapter contract using Konva APIs.\n * Rendering logic is delegated to focused applier modules in ./appliers/.\n */\nimport type {\n AtlasFrameInfo,\n FrameRect,\n GestureProps,\n HostAdapter,\n HostContext,\n HostNode,\n HostParent,\n NodeType,\n Props,\n Size,\n SizeValue,\n SurfaceContext,\n TextureResolver,\n TooltipCallback,\n} from '@number10/jsx-core'\nimport { parseSize, resolveSize } from '@number10/jsx-core'\nimport Konva from 'konva'\nimport { applyViewBackground } from './appliers/konva-background'\nimport { applyBaseProps } from './appliers/konva-base'\nimport { applyGestureProps } from './appliers/konva-gesture'\nimport { applyKonvaNineSliceProps, type KonvaNineSliceNode } from './appliers/konva-nineslice'\nimport {\n asContainer,\n getContentContainer,\n getMeasuredSize,\n installLayoutSizeAccessors,\n isDestroyed,\n isHostNodeContainer,\n isTextNode,\n markDestroyed,\n setLayoutSize,\n type KonvaNode,\n type KonvaTextNode,\n} from './appliers/konva-node'\nimport { applyTooltipProps, cleanupTooltipProps } from './appliers/konva-tooltip'\nimport { applyVectorDrawProps, type KonvaVectorDrawNode } from './appliers/konva-vector-draw'\nimport { createKonvaScheduler } from './konva-scheduler'\nimport { parseFontSize, toKonvaColor, toKonvaColorWithAlpha } from './utils/konva-colors'\n\n// ---------------------------------------------------------------------------\n// KonvaHostAdapter\n// ---------------------------------------------------------------------------\n\nexport class KonvaHostAdapter implements HostAdapter {\n create(type: NodeType, props: Props, ctx: HostContext): HostNode {\n // Text nodes\n if (type === 'text' || type === 'Text') {\n const group = new Konva.Group() as KonvaTextNode\n group.__konvaHostNode = true\n group.__effectContainer = new Konva.Group()\n group.__textDisplay = new Konva.Text({ listening: false })\n group.__surfaceContext = ctx as SurfaceContext\n ;(group.__effectContainer as KonvaNode).__surfaceContext = ctx as SurfaceContext\n installLayoutNodeApi(group, { exposeChildrenList: false })\n group.add(group.__effectContainer)\n getContentContainer(group).add(group.__textDisplay)\n this.patch(type, group as HostNode, {}, props, ctx)\n return group as HostNode\n }\n\n // Image / Sprite nodes\n if (type === 'image' || type === 'Image' || type === 'sprite' || type === 'Sprite') {\n const group = new Konva.Group() as KonvaNode\n group.__konvaHostNode = true\n group.__effectContainer = new Konva.Group()\n group.__surfaceContext = ctx as SurfaceContext\n ;(group.__effectContainer as KonvaNode).__surfaceContext = ctx as SurfaceContext\n group.add(group.__effectContainer)\n installLayoutNodeApi(group, { exposeChildrenList: false })\n this.patch(type, group as HostNode, {}, props, ctx)\n return group as HostNode\n }\n\n // Vector draw nodes\n if (type === 'vectorDraw') {\n const group = new Konva.Group() as KonvaVectorDrawNode\n group.__konvaHostNode = true\n group.__effectContainer = new Konva.Group()\n group.__effectContainer.listening(false)\n group.__surfaceContext = ctx as SurfaceContext\n ;(group.__effectContainer as KonvaNode).__surfaceContext = ctx as SurfaceContext\n group.add(group.__effectContainer)\n installLayoutNodeApi(group, { exposeChildrenList: false })\n this.patch(type, group as HostNode, {}, props, ctx)\n return group as HostNode\n }\n\n // NineSlice native node — single Konva.Shape with sceneFunc\n if (type === 'nineslice') {\n const group = new Konva.Group() as KonvaNineSliceNode\n group.__konvaHostNode = true\n group.__effectContainer = new Konva.Group()\n group.__surfaceContext = ctx as SurfaceContext\n ;(group.__effectContainer as KonvaNode).__surfaceContext = ctx as SurfaceContext\n group.add(group.__effectContainer)\n installLayoutNodeApi(group)\n this.patch(type, group as HostNode, {}, props, ctx)\n return group as HostNode\n }\n\n // Default: generic View container\n const group = new Konva.Group() as KonvaNode\n group.__konvaHostNode = true\n group.__effectContainer = new Konva.Group()\n group.__surfaceContext = ctx as SurfaceContext\n ;(group.__effectContainer as KonvaNode).__surfaceContext = ctx as SurfaceContext\n group.add(group.__effectContainer)\n installLayoutNodeApi(group)\n this.patch(type, group as HostNode, {}, props, ctx)\n return group as HostNode\n }\n\n patch(type: NodeType, node: HostNode, prev: Props, next: Props, ctx: HostContext): void {\n const konvaNode = asContainer(node) as KonvaNode\n konvaNode.__surfaceContext = ctx as SurfaceContext\n if (konvaNode.__effectContainer) {\n ;(konvaNode.__effectContainer as KonvaNode).__surfaceContext = ctx as SurfaceContext\n }\n const p = next as Record<string, unknown>\n const prevProps = prev as Record<string, unknown>\n\n konvaNode.__layoutProps = next as Partial<Record<string, unknown>>\n\n applyBaseProps(konvaNode, p)\n\n // Gesture handling — check prev/next for gesture props\n const hasGesture = hasGestureProps(prevProps) || hasGestureProps(p)\n if (hasGesture) {\n const stage = this.getKonvaStage(node, ctx)\n if (stage) {\n applyGestureProps(\n asContainer(node) as Konva.Group,\n stage,\n p as unknown as GestureProps<Konva.KonvaEventObject<PointerEvent>>\n )\n }\n }\n\n // Tooltip handling\n const hasTooltip = hasTooltipProps(prevProps) || hasTooltipProps(p)\n if (hasTooltip) {\n const stage = this.getKonvaStage(node, ctx)\n if (stage) {\n applyTooltipProps(\n asContainer(node) as Konva.Group,\n stage,\n p.onTooltip as TooltipCallback | undefined\n )\n }\n }\n\n if (type === 'text' || type === 'Text') {\n applyTextProps(konvaNode as KonvaTextNode, p)\n applyDepth(konvaNode, prevProps, p)\n return\n }\n\n // Image / Sprite nodes\n if (type === 'image' || type === 'Image' || type === 'sprite' || type === 'Sprite') {\n applyKonvaImageProps(konvaNode, p)\n applyViewBackground(konvaNode, p)\n return\n }\n\n // Vector draw nodes\n if (type === 'vectorDraw') {\n applyVectorDrawProps(konvaNode as KonvaVectorDrawNode, prevProps, p)\n return\n }\n\n // NineSlice native node\n if (type === 'nineslice') {\n applyKonvaNineSliceProps(konvaNode as KonvaNineSliceNode, p)\n const explicitWidth = typeof p.width === 'number' ? p.width : undefined\n const explicitHeight = typeof p.height === 'number' ? p.height : undefined\n setLayoutSize(\n konvaNode,\n explicitWidth ?? konvaNode.__layoutBox?.width ?? 0,\n explicitHeight ?? konvaNode.__layoutBox?.height ?? 0\n )\n return\n }\n\n // Default View\n const explicitWidth = typeof p.width === 'number' ? p.width : undefined\n const explicitHeight = typeof p.height === 'number' ? p.height : undefined\n setLayoutSize(\n konvaNode,\n explicitWidth ?? konvaNode.__layoutBox?.width ?? 0,\n explicitHeight ?? konvaNode.__layoutBox?.height ?? 0\n )\n applyViewBackground(konvaNode, p)\n\n // Depth / z-ordering (skip if not yet mounted)\n const newDepth = p.depth as number | undefined\n const prevDepth = prevProps.depth as number | undefined\n if (typeof newDepth === 'number' && newDepth !== prevDepth && konvaNode.getParent()) {\n reorderByDepth(konvaNode)\n }\n }\n\n append(parent: HostParent, child: HostNode, _ctx: HostContext): void {\n const childNode = asContainer(child) as KonvaNode\n childNode.__layoutParent = asContainer(parent) as KonvaNode\n getContentContainer(parent).add(childNode)\n // Ensure initial depth ordering takes effect after mount\n if (typeof (childNode as KonvaNode).__layoutProps?.depth === 'number') {\n reorderByDepth(childNode as KonvaNode)\n }\n childNode.getLayer()?.batchDraw()\n }\n\n insertBefore(\n parent: HostParent,\n child: HostNode,\n before: HostNode | null,\n _ctx: HostContext\n ): void {\n const p = getContentContainer(parent)\n const childNode = asContainer(child) as KonvaNode\n childNode.__layoutParent = asContainer(parent) as KonvaNode\n if (before) {\n const beforeNode = asContainer(before) as unknown as Konva.Group\n if (beforeNode === childNode) {\n return\n }\n const children = p.children ?? []\n const beforeIndex = children.indexOf(beforeNode)\n if (beforeIndex >= 0) {\n const currentParent = childNode.getParent()\n const currentIndex = currentParent === p ? children.indexOf(childNode) : -1\n p.add(childNode)\n const targetIndex =\n currentParent === p && currentIndex >= 0 && currentIndex < beforeIndex\n ? beforeIndex - 1\n : beforeIndex\n childNode.zIndex(Math.max(0, targetIndex))\n // Ensure depth ordering takes effect after repositioning\n if (typeof (childNode as KonvaNode).__layoutProps?.depth === 'number') {\n reorderByDepth(childNode as KonvaNode)\n }\n childNode.getLayer()?.batchDraw()\n return\n }\n }\n p.add(childNode)\n // Ensure depth ordering takes effect after mount\n if (typeof (childNode as KonvaNode).__layoutProps?.depth === 'number') {\n reorderByDepth(childNode as KonvaNode)\n }\n childNode.getLayer()?.batchDraw()\n }\n\n remove(_parent: HostParent, child: HostNode, _ctx: HostContext): void {\n const c = asContainer(child) as KonvaNode\n cleanupTooltipProps(c)\n c.__layoutParent = undefined\n markDestroyed(c)\n c.destroy()\n }\n\n getChildren(parent: HostParent): readonly HostNode[] {\n const children = getContentContainer(parent).children ?? []\n return children.filter(isHostNodeContainer) as readonly HostNode[]\n }\n\n isAlive(target: HostNode | HostParent): boolean {\n return !isDestroyed(target)\n }\n\n // -----------------------------------------------------------------------\n // Layout operations\n // -----------------------------------------------------------------------\n\n setPosition(node: HostNode, x: number, y: number): void {\n const c = asContainer(node) as KonvaNode\n if (Number.isFinite(x)) c.x(x)\n if (Number.isFinite(y)) c.y(y)\n }\n\n setSize(node: HostNode, width: number, height: number): void {\n const konvaNode = asContainer(node) as KonvaNode\n const w = Number.isFinite(width) ? Math.max(0, width) : (konvaNode.__layoutBox?.width ?? 0)\n const h = Number.isFinite(height) ? Math.max(0, height) : (konvaNode.__layoutBox?.height ?? 0)\n setLayoutSize(konvaNode, w, h)\n // Update nineslice stored dimensions and trigger redraw\n const nsNode = konvaNode as KonvaNineSliceNode\n if (nsNode.__nsProps) {\n nsNode.__nsProps.width = w\n nsNode.__nsProps.height = h\n nsNode.__nineSliceShape?.getLayer()?.batchDraw()\n } else if (!isTextNode(konvaNode)) {\n applyViewBackground(konvaNode, konvaNode.__layoutProps ?? {})\n }\n }\n\n setDepth(node: HostNode, depth: number): void {\n const c = asContainer(node) as KonvaNode\n if (Number.isFinite(depth)) c.zIndex(depth)\n }\n\n setVisible(node: HostNode, visible: boolean): void {\n asContainer(node).visible(visible === true)\n }\n\n setAlpha(node: HostNode, alpha: number): void {\n if (Number.isFinite(alpha)) {\n asContainer(node).opacity(alpha)\n }\n }\n\n getSurfaceContext(target: HostNode | HostParent): SurfaceContext {\n let current: Konva.Group | null = asContainer(target as HostNode)\n while (current) {\n const ctx = (current as { __surfaceContext?: SurfaceContext }).__surfaceContext\n if (ctx) return ctx\n current = current.getParent() as Konva.Group | null\n }\n return {\n viewport: { width: 800, height: 600 },\n scheduler: createKonvaScheduler(),\n capabilities: new Set(['view']),\n textureLoader: konvaTextureResolver,\n }\n }\n\n /**\n * Get the Konva Stage from a node's surface context.\n */\n private getKonvaStage(node: HostNode, ctx?: HostContext): Konva.Stage | undefined {\n const raw = ctx?.raw\n if (raw instanceof Konva.Stage) {\n return raw\n }\n\n const surfaceContext = this.getSurfaceContext(node)\n return surfaceContext.raw as Konva.Stage | undefined\n }\n}\n\n// ---------------------------------------------------------------------------\n// Text applier — inline because it's small for the skeleton\n// ---------------------------------------------------------------------------\n\nfunction applyTextProps(textNode: KonvaTextNode, props: Record<string, unknown>): void {\n const text = (props.text as string | undefined) ?? ''\n const style = ((props.style as Record<string, unknown> | undefined) ?? {}) as Record<\n string,\n unknown\n >\n const display = textNode.__textDisplay\n textNode.__textStyleSource = style\n\n display.text(text)\n\n const fill = toKonvaColor((style.fill as string | number | undefined) ?? style.color)\n const fontSize = parseFontSize(style.fontSize)\n const fontFamily = style.fontFamily as string | undefined\n const align = (style.textAlign as string) ?? (style.align as string | undefined)\n const lineHeight = typeof style.lineHeight === 'number' ? style.lineHeight : undefined\n const wordWrapWidth = resolveTextWrapWidth(textNode, props)\n\n const attrs: Record<string, unknown> = {\n fontSize: fontSize ?? 16,\n fontFamily: fontFamily ?? 'Arial, sans-serif',\n align: align ?? 'left',\n wrap: wordWrapWidth > 0 ? 'word' : 'none',\n width: wordWrapWidth > 0 ? wordWrapWidth : 'auto',\n }\n\n if (fill !== undefined) {\n attrs.fill = fill\n }\n if (lineHeight !== undefined) {\n attrs.lineHeight = lineHeight\n }\n\n // Shadow\n const shadow =\n style.shadow && typeof style.shadow === 'object'\n ? (style.shadow as Record<string, unknown>)\n : undefined\n if (shadow) {\n const shadowColor = toKonvaColorWithAlpha(\n (shadow.color as string | number | undefined) ?? '#000000',\n (shadow.alpha as number | undefined) ?? 1\n )\n if (shadowColor !== undefined) {\n attrs.shadowColor = shadowColor\n }\n if (typeof shadow.blur === 'number') {\n attrs.shadowBlur = shadow.blur\n }\n if (typeof shadow.offsetX === 'number') {\n attrs.shadowOffsetX = shadow.offsetX\n }\n if (typeof shadow.offsetY === 'number') {\n attrs.shadowOffsetY = shadow.offsetY\n }\n attrs.shadowEnabled = true\n } else {\n // Disable shadow when not specified (e.g. style changed)\n attrs.shadowEnabled = false\n }\n\n display.setAttrs(attrs)\n\n // Update text node dimensions\n const bounds = display.getClientRect({ skipTransform: true })\n const textWidth = Math.ceil(bounds.width)\n const textHeight = Math.ceil(bounds.height)\n if (textWidth > 0 && textHeight > 0) {\n setLayoutSize(textNode, textWidth, textHeight)\n }\n\n // Background color behind text\n applyTextBackground(textNode, style.backgroundColor as string | number | undefined)\n}\n\n/**\n * Draw a background rectangle behind the text display.\n * Creates or updates a Konva.Rect sized to the text bounds.\n * @param textNode - Text node to apply background to\n * @param backgroundColor - CSS color or number for the background\n */\nfunction applyTextBackground(\n textNode: KonvaTextNode,\n backgroundColor: string | number | undefined\n): void {\n const display = textNode.__textDisplay\n const content = getContentContainer(textNode)\n\n if (backgroundColor === undefined) {\n // Remove existing background rect\n if (textNode.__textBackgroundRect) {\n textNode.__textBackgroundRect.destroy()\n textNode.__textBackgroundRect = undefined\n }\n return\n }\n\n const bgColor = toKonvaColor(backgroundColor)\n if (bgColor === undefined) return\n\n const bounds = display.getClientRect({ skipTransform: true })\n if (bounds.width <= 0 || bounds.height <= 0) return\n\n // Reuse or create background rect\n if (textNode.__textBackgroundRect) {\n textNode.__textBackgroundRect.setAttrs({\n x: bounds.x,\n y: bounds.y,\n width: bounds.width,\n height: bounds.height,\n fill: bgColor,\n fillEnabled: true,\n listening: false,\n })\n } else {\n const rect = new Konva.Rect({\n x: bounds.x,\n y: bounds.y,\n width: bounds.width,\n height: bounds.height,\n fill: bgColor,\n fillEnabled: true,\n listening: false,\n })\n textNode.__textBackgroundRect = rect\n content.add(rect)\n // Move behind text display (text was added first, rect is appended after)\n rect.moveToBottom()\n }\n}\n\nfunction resolveTextWrapWidth(textNode: KonvaTextNode, props: Record<string, unknown>): number {\n const explicitWidth = props.width\n if (typeof explicitWidth === 'number' && explicitWidth > 0) {\n return explicitWidth\n }\n\n const maxWidth = props.maxWidth as SizeValue | undefined\n if (maxWidth === undefined) {\n return 0\n }\n\n if (typeof maxWidth === 'number') {\n return maxWidth > 0 ? maxWidth : 0\n }\n\n const viewport = textNode.__surfaceContext?.viewport\n return resolveSize(parseSize(maxWidth), viewport?.width, undefined, undefined, viewport)\n}\n\n// ---------------------------------------------------------------------------\n// Image/Sprite helper — creates or updates a Konva.Image inside a KonvaNode\n// ---------------------------------------------------------------------------\n\nfunction applyKonvaImageProps(konvaNode: KonvaNode, props: Record<string, unknown>): void {\n const textureKey = (props.texture as string) ?? ''\n const frame = props.frame !== undefined ? String(props.frame) : undefined\n const sourceRect = props.sourceRect as { x: number; y: number; w: number; h: number } | undefined\n const tint = props.tint as number | undefined\n const fit = (props.fit as string | undefined) ?? 'fill'\n const content = getContentContainer(konvaNode)\n\n // Create or reuse Konva.Image\n let image = konvaNode.__sprite\n if (!image) {\n image = new Konva.Image({ image: EMPTY_TEXTURE.source, listening: false })\n content.add(image)\n konvaNode.__sprite = image\n }\n\n const nativeCropRegion =\n textureKey && sourceRect !== undefined\n ? resolveKonvaRegion(textureKey, frame, sourceRect)\n : undefined\n const nativeCropBase =\n textureKey && sourceRect !== undefined && tint === undefined\n ? konvaTextureCache.get(textureKey)\n : undefined\n const useNativeCrop = nativeCropBase !== undefined && nativeCropRegion !== undefined\n const resolvedTexture = textureKey\n ? useNativeCrop\n ? nativeCropBase\n : resolveKonvaImage(textureKey, frame, sourceRect, tint)\n : undefined\n const displayWidth = props.displayWidth as number | undefined\n const displayHeight = props.displayHeight as number | undefined\n const layoutWidth = props.width as number | undefined\n const layoutHeight = props.height as number | undefined\n const isHeadless = props.headless === true\n\n const sourceWidth = useNativeCrop ? (nativeCropRegion?.width ?? 0) : (resolvedTexture?.width ?? 0)\n const sourceHeight = useNativeCrop\n ? (nativeCropRegion?.height ?? 0)\n : (resolvedTexture?.height ?? 0)\n let finalWidth = displayWidth ?? sourceWidth\n let finalHeight = displayHeight ?? sourceHeight\n\n if (\n sourceWidth > 0 &&\n sourceHeight > 0 &&\n typeof displayWidth === 'number' &&\n typeof displayHeight === 'number'\n ) {\n if (fit === 'contain') {\n const scale = Math.min(displayWidth / sourceWidth, displayHeight / sourceHeight)\n finalWidth = sourceWidth * scale\n finalHeight = sourceHeight * scale\n } else if (fit === 'cover') {\n const scale = Math.max(displayWidth / sourceWidth, displayHeight / sourceHeight)\n finalWidth = sourceWidth * scale\n finalHeight = sourceHeight * scale\n }\n }\n\n image.image(resolvedTexture?.source ?? EMPTY_TEXTURE.source)\n if (useNativeCrop && nativeCropRegion) {\n image.cropX(nativeCropRegion.x)\n image.cropY(nativeCropRegion.y)\n image.cropWidth(nativeCropRegion.width)\n image.cropHeight(nativeCropRegion.height)\n } else {\n image.cropX(0)\n image.cropY(0)\n image.cropWidth(0)\n image.cropHeight(0)\n }\n image.setAttr('imageSmoothingEnabled', sourceRect === undefined ? true : false)\n image.perfectDrawEnabled(sourceRect === undefined)\n image.width(Math.max(0, finalWidth))\n image.height(Math.max(0, finalHeight))\n\n const originX = (props.originX as number | undefined) ?? (isHeadless ? 0.5 : 0)\n const originY = (props.originY as number | undefined) ?? (isHeadless ? 0.5 : 0)\n image.offsetX(Math.max(0, finalWidth) * originX)\n image.offsetY(Math.max(0, finalHeight) * originY)\n\n setLayoutSize(\n konvaNode,\n layoutWidth ?? displayWidth ?? sourceWidth,\n layoutHeight ?? displayHeight ?? sourceHeight\n )\n}\n\n// ---------------------------------------------------------------------------\n// Texture resolver\n// ---------------------------------------------------------------------------\n\ntype KonvaTextureSource = HTMLCanvasElement | HTMLImageElement\n\ninterface KonvaTextureEntry {\n source: KonvaTextureSource\n width: number\n height: number\n}\n\ninterface AtlasFrameLike {\n filename?: unknown\n frame?: { x?: unknown; y?: unknown; w?: unknown; h?: unknown } | undefined\n rotated?: unknown\n trimmed?: unknown\n sourceSize?: { w?: unknown; h?: unknown } | undefined\n spriteSourceSize?: { x?: unknown; y?: unknown; w?: unknown; h?: unknown } | undefined\n}\n\ninterface AtlasObjectLike {\n textures?: Array<{ frames?: unknown }> | undefined\n frames?: unknown\n}\n\ninterface KonvaAtlasFrameData {\n rect: FrameRect\n rotated: boolean\n trimmed: boolean\n sourceSize?: Size | undefined\n spriteSourceRect?: { x: number; y: number; w: number; h: number } | undefined\n}\n\nexport const konvaTextureCache = new Map<string, KonvaTextureEntry>()\nconst konvaAtlasFrameCache = new Map<string, Map<string, KonvaAtlasFrameData>>()\nconst konvaDerivedTextureCache = new Map<string, KonvaTextureEntry>()\n\nconst EMPTY_TEXTURE: KonvaTextureEntry = {\n source: document.createElement('canvas'),\n width: 0,\n height: 0,\n}\nEMPTY_TEXTURE.source.width = 1\nEMPTY_TEXTURE.source.height = 1\n\nfunction preprocessSvgForTinting(svg: string): string {\n return svg\n .replace(/fill=\"currentColor\"/gi, 'fill=\"#FFFFFF\"')\n .replace(/fill='currentColor'/gi, \"fill='#FFFFFF'\")\n .replace(/fill:\\s*currentColor/gi, 'fill: #FFFFFF')\n .replace(/stroke=\"currentColor\"/gi, 'stroke=\"#FFFFFF\"')\n .replace(/stroke='currentColor'/gi, \"stroke='#FFFFFF'\")\n .replace(/stroke:\\s*currentColor/gi, 'stroke: #FFFFFF')\n .replace(/fill=\"#000000\"/gi, 'fill=\"#FFFFFF\"')\n .replace(/fill=\"#000\"/gi, 'fill=\"#FFFFFF\"')\n .replace(/fill='#000000'/gi, \"fill='#FFFFFF'\")\n .replace(/fill='#000'/gi, \"fill='#FFFFFF'\")\n .replace(/stroke=\"#000000\"/gi, 'stroke=\"#FFFFFF\"')\n .replace(/stroke=\"#000\"/gi, 'stroke=\"#FFFFFF\"')\n .replace(/stroke='#000000'/gi, \"stroke='#FFFFFF'\")\n .replace(/stroke='#000'/gi, \"stroke='#FFFFFF'\")\n}\n\nfunction toFiniteNumber(value: unknown): number | undefined {\n return typeof value === 'number' && Number.isFinite(value) ? value : undefined\n}\n\nfunction parseAtlasFrameLike(\n candidate: AtlasFrameLike\n): { name: string; frame: KonvaAtlasFrameData } | undefined {\n const name = typeof candidate.filename === 'string' ? candidate.filename : undefined\n const x = toFiniteNumber(candidate.frame?.x)\n const y = toFiniteNumber(candidate.frame?.y)\n const width = toFiniteNumber(candidate.frame?.w)\n const height = toFiniteNumber(candidate.frame?.h)\n const sourceWidth = toFiniteNumber(candidate.sourceSize?.w)\n const sourceHeight = toFiniteNumber(candidate.sourceSize?.h)\n const spriteX = toFiniteNumber(candidate.spriteSourceSize?.x)\n const spriteY = toFiniteNumber(candidate.spriteSourceSize?.y)\n const spriteW = toFiniteNumber(candidate.spriteSourceSize?.w)\n const spriteH = toFiniteNumber(candidate.spriteSourceSize?.h)\n\n if (!name || x === undefined || y === undefined || width === undefined || height === undefined) {\n return undefined\n }\n\n return {\n name,\n frame: {\n rect: { x, y, width, height },\n rotated: candidate.rotated === true,\n trimmed: candidate.trimmed === true,\n sourceSize:\n sourceWidth !== undefined && sourceHeight !== undefined\n ? { width: sourceWidth, height: sourceHeight }\n : undefined,\n spriteSourceRect:\n spriteX !== undefined &&\n spriteY !== undefined &&\n spriteW !== undefined &&\n spriteH !== undefined\n ? { x: spriteX, y: spriteY, w: spriteW, h: spriteH }\n : undefined,\n },\n }\n}\n\nfunction parseKonvaAtlasFrames(data: unknown): Map<string, KonvaAtlasFrameData> {\n const frames = new Map<string, KonvaAtlasFrameData>()\n const atlas = data as AtlasObjectLike\n\n const parseFrameArray = (entries: unknown) => {\n if (!Array.isArray(entries)) return\n for (const entry of entries) {\n const parsed = parseAtlasFrameLike(entry as AtlasFrameLike)\n if (parsed) {\n frames.set(parsed.name, parsed.frame)\n }\n }\n }\n\n const parseFrameObject = (entries: unknown) => {\n if (!entries || typeof entries !== 'object' || Array.isArray(entries)) return\n for (const [name, value] of Object.entries(entries)) {\n const parsed = parseAtlasFrameLike({ ...(value as AtlasFrameLike), filename: name })\n if (parsed) {\n frames.set(parsed.name, parsed.frame)\n }\n }\n }\n\n parseFrameObject(atlas.frames)\n if (Array.isArray(atlas.textures)) {\n for (const textureEntry of atlas.textures) {\n parseFrameArray(textureEntry?.frames)\n parseFrameObject(textureEntry?.frames)\n }\n }\n\n return frames\n}\n\nfunction createCanvas(width: number, height: number): HTMLCanvasElement {\n const canvas = document.createElement('canvas')\n canvas.width = Math.max(1, Math.round(width))\n canvas.height = Math.max(1, Math.round(height))\n return canvas\n}\n\nfunction tintToCss(tint: number): string {\n return `#${tint.toString(16).padStart(6, '0')}`\n}\n\nfunction drawTextureRegion(\n base: KonvaTextureEntry,\n region: FrameRect,\n tint?: number | undefined,\n sourceSize?: Size | undefined,\n trimRect?: { x: number; y: number; w: number; h: number } | undefined\n): KonvaTextureEntry {\n const canvas = createCanvas(\n sourceSize?.width ?? region.width,\n sourceSize?.height ?? region.height\n )\n const ctx = canvas.getContext('2d')\n if (!ctx) {\n throw new Error('Failed to get 2d context for Konva texture region')\n }\n\n ctx.drawImage(\n base.source,\n region.x,\n region.y,\n region.width,\n region.height,\n trimRect?.x ?? 0,\n trimRect?.y ?? 0,\n trimRect?.w ?? region.width,\n trimRect?.h ?? region.height\n )\n\n if (tint !== undefined) {\n ctx.globalCompositeOperation = 'source-in'\n ctx.fillStyle = tintToCss(tint)\n ctx.fillRect(0, 0, region.width, region.height)\n ctx.globalCompositeOperation = 'source-over'\n }\n\n return {\n source: canvas,\n width: canvas.width,\n height: canvas.height,\n }\n}\n\nfunction resolveSourceRegion(\n baseRect: FrameRect,\n sourceRect: { x: number; y: number; w: number; h: number }\n): FrameRect {\n const offsetX = Math.max(0, sourceRect.x)\n const offsetY = Math.max(0, sourceRect.y)\n\n return {\n x: baseRect.x + offsetX,\n y: baseRect.y + offsetY,\n width: Math.max(0, Math.min(sourceRect.w, baseRect.width - offsetX)),\n height: Math.max(0, Math.min(sourceRect.h, baseRect.height - offsetY)),\n }\n}\n\nexport function resolveKonvaRegion(\n key: string,\n frame?: string,\n sourceRect?: { x: number; y: number; w: number; h: number }\n): FrameRect | undefined {\n const base = konvaTextureCache.get(key)\n if (!base) return undefined\n\n const atlasFrame = frame ? konvaAtlasFrameCache.get(key)?.get(frame) : undefined\n const baseRect = atlasFrame?.rect ?? { x: 0, y: 0, width: base.width, height: base.height }\n\n if (!sourceRect) {\n return baseRect\n }\n return resolveSourceRegion(baseRect, sourceRect)\n}\n\nexport function resolveKonvaImage(\n key: string,\n frame?: string,\n sourceRect?: { x: number; y: number; w: number; h: number },\n tint?: number\n): KonvaTextureEntry | undefined {\n const base = konvaTextureCache.get(key)\n if (!base) return undefined\n const atlasFrame = frame ? konvaAtlasFrameCache.get(key)?.get(frame) : undefined\n if (frame !== undefined && !atlasFrame) {\n return undefined\n }\n if (atlasFrame?.rotated) {\n return undefined\n }\n\n const region = resolveKonvaRegion(key, frame, sourceRect)\n if (!region) {\n return base\n }\n\n if (frame === undefined && sourceRect === undefined && tint === undefined) {\n return base\n }\n\n const cacheKey = `${key}::frame:${frame ?? ''}::crop:${region.x},${region.y},${region.width},${region.height}::tint:${tint ?? ''}`\n const cached = konvaDerivedTextureCache.get(cacheKey)\n if (cached) return cached\n\n const derived = drawTextureRegion(\n base,\n region,\n tint,\n sourceRect ? undefined : atlasFrame?.sourceSize,\n sourceRect ? undefined : atlasFrame?.trimmed ? atlasFrame.spriteSourceRect : undefined\n )\n konvaDerivedTextureCache.set(cacheKey, derived)\n return derived\n}\n\nasync function loadImageSource(url: string): Promise<KonvaTextureEntry> {\n const img = new Image()\n img.crossOrigin = 'anonymous'\n await new Promise<void>((resolve, reject) => {\n img.onload = () => resolve()\n img.onerror = () => reject(new Error(`Failed to load image '${url}'`))\n img.src = url\n })\n\n return {\n source: img,\n width: img.naturalWidth,\n height: img.naturalHeight,\n }\n}\n\nclass KonvaTextureResolver implements TextureResolver {\n async load(key: string, url: string): Promise<void> {\n if (konvaTextureCache.has(key)) return\n konvaTextureCache.set(key, await loadImageSource(url))\n }\n\n async loadAtlas(key: string, imageUrl: string, dataUrl: string): Promise<void> {\n const needsTexture = !konvaTextureCache.has(key)\n const needsFrames = !konvaAtlasFrameCache.has(key)\n if (!needsTexture && !needsFrames) return\n\n const [texture, atlasData] = await Promise.all([\n needsTexture\n ? loadImageSource(imageUrl)\n : Promise.resolve(konvaTextureCache.get(key) as KonvaTextureEntry),\n needsFrames\n ? fetch(dataUrl).then(async (response) => {\n if (!response.ok) {\n throw new Error(`Failed to load atlas data '${dataUrl}': ${response.status}`)\n }\n return response.json()\n })\n : Promise.resolve(undefined),\n ])\n\n if (needsTexture) {\n konvaTextureCache.set(key, texture)\n }\n if (needsFrames && atlasData !== undefined) {\n konvaAtlasFrameCache.set(key, parseKonvaAtlasFrames(atlasData))\n }\n }\n\n async loadSVG(key: string, svg: string, width: number, height: number): Promise<void> {\n if (konvaTextureCache.has(key)) return\n\n const preprocessed = preprocessSvgForTinting(svg)\n const canvas = createCanvas(width, height)\n const ctx = canvas.getContext('2d')\n if (!ctx) throw new Error('Failed to get 2d context for Konva SVG texture')\n\n const img = new Image()\n const blob = new Blob([preprocessed], { type: 'image/svg+xml' })\n const url = URL.createObjectURL(blob)\n\n await new Promise<void>((resolve, reject) => {\n img.onload = () => {\n ctx.drawImage(img, 0, 0, width, height)\n URL.revokeObjectURL(url)\n resolve()\n }\n img.onerror = () => {\n URL.revokeObjectURL(url)\n reject(new Error(`Failed to load SVG for key '${key}'`))\n }\n img.src = url\n })\n\n konvaTextureCache.set(key, {\n source: canvas,\n width,\n height,\n })\n }\n\n isLoaded(key: string): boolean {\n return konvaTextureCache.has(key)\n }\n\n getFrameNames(key: string): string[] {\n return Array.from(konvaAtlasFrameCache.get(key)?.keys() ?? [])\n }\n\n getFrameRect(key: string, frame: string): FrameRect | undefined {\n return konvaAtlasFrameCache.get(key)?.get(frame)?.rect\n }\n\n getFrameInfo(key: string, frame: string): AtlasFrameInfo | undefined {\n const frameInfo = konvaAtlasFrameCache.get(key)?.get(frame)\n if (!frameInfo) return undefined\n\n return {\n name: frame,\n rect: frameInfo.rect,\n rotated: frameInfo.rotated,\n trimmed: frameInfo.trimmed,\n sourceSize: frameInfo.sourceSize,\n spriteSourceRect: frameInfo.spriteSourceRect,\n }\n }\n\n getTextureSize(key: string): Size | undefined {\n const texture = konvaTextureCache.get(key)\n if (!texture) return undefined\n return { width: texture.width, height: texture.height }\n }\n}\n\nconst konvaTextureResolver = new KonvaTextureResolver()\nexport { konvaTextureResolver }\n\n// ---------------------------------------------------------------------------\n// Helpers\n// ---------------------------------------------------------------------------\n\n/**\n * Check if a props object contains any gesture-related properties.\n */\nfunction hasGestureProps(props: Record<string, unknown>): boolean {\n return !!(\n props.enableGestures !== undefined ||\n props.onTouch !== undefined ||\n props.onTouchOutside !== undefined ||\n props.onTouchMove !== undefined ||\n props.onDoubleTap !== undefined ||\n props.onLongPress !== undefined ||\n props.onWheel !== undefined\n )\n}\n\n/**\n * Check if a props object contains tooltip-related properties.\n */\nfunction hasTooltipProps(props: Record<string, unknown>): boolean {\n return props.onTooltip !== undefined\n}\n\n/**\n * Reorder siblings by their `depth` priority value.\n *\n * `depth` in phaserjsx is a CSS-z-index-like priority (higher = on top),\n * NOT a Konva children-array index. This function sorts all siblings of\n * `node` by their stored depth and assigns valid zIndex positions\n * (0, 1, 2, …) based on that sorted order, so e.g. depths 14, 11, 2\n * correctly stack: 2→bottom, 11→middle, 14→top.\n * @param node - Node whose depth changed\n */\nfunction reorderByDepth(node: KonvaNode): void {\n const parent = node.getParent()\n if (!parent) return\n\n // Collect siblings with their depth priority\n const siblings = parent.getChildren() as KonvaNode[]\n const withDepth = siblings.map((sibling) => ({\n node: sibling,\n depth: (sibling.__layoutProps?.depth as number) ?? 0,\n }))\n\n // Sort by depth (ascending: lower depth = bottom, higher = top)\n withDepth.sort((a, b) => a.depth - b.depth)\n\n // Assign zIndex based on sorted position (valid indices 0..n-1)\n withDepth.forEach((item, index) => {\n if (item.node.getZIndex() !== index) {\n item.node.zIndex(index)\n }\n })\n}\n\nfunction applyDepth(\n konvaNode: KonvaNode,\n prevProps: Record<string, unknown>,\n nextProps: Record<string, unknown>\n): void {\n const newDepth = nextProps.depth as number | undefined\n const prevDepth = prevProps.depth as number | undefined\n if (typeof newDepth === 'number' && newDepth !== prevDepth && konvaNode.getParent()) {\n reorderByDepth(konvaNode)\n }\n}\n\n// ---------------------------------------------------------------------------\n// Layout API installer\n// ---------------------------------------------------------------------------\n\nfunction installLayoutNodeApi<T extends KonvaNode>(\n node: T,\n options: { exposeChildrenList?: boolean } = {}\n): T {\n node.__layoutBox = node.__layoutBox ?? { width: 0, height: 0 }\n node.__getLayoutSize = () => getMeasuredSize(node)\n installLayoutSizeAccessors(node)\n\n if (options.exposeChildrenList !== false && !isTextNode(node) && !('list' in node)) {\n Object.defineProperty(node, 'list', {\n configurable: true,\n enumerable: false,\n get() {\n const children = getContentContainer(node).children ?? []\n return children.filter(isHostNodeContainer)\n },\n })\n }\n\n // Use Object.defineProperty to avoid conflicting with Konva's built-in\n // Node.setPosition(pos: Vector2d) signature.\n Object.defineProperty(node, 'setPosition', {\n configurable: true,\n enumerable: false,\n value: (x: number, y: number) => {\n if (Number.isFinite(x)) node.x(x)\n if (Number.isFinite(y)) node.y(y)\n return node\n },\n })\n\n Object.defineProperty(node, 'setSize', {\n configurable: true,\n enumerable: false,\n value: (width: number, height: number) => {\n setLayoutSize(node, width, height)\n if (isTextNode(node)) {\n applyTextProps(node, {\n ...(node.__layoutProps ?? {}),\n text: node.__textDisplay.text(),\n style: node.__textStyleSource ?? {},\n width,\n height,\n })\n } else {\n applyViewBackground(node, node.__layoutProps ?? {})\n }\n return node\n },\n })\n\n // Also define setSize on the effect container so layout updates\n // propagate correctly through nested structures\n const effectContainer = node.__effectContainer\n if (effectContainer && !effectContainer.setSize) {\n Object.defineProperty(effectContainer, 'setSize', {\n configurable: true,\n enumerable: false,\n value: (width: number, height: number) => {\n setLayoutSize(node, width, height)\n if (isTextNode(node)) {\n applyTextProps(node, {\n ...(node.__layoutProps ?? {}),\n text: node.__textDisplay.text(),\n style: node.__textStyleSource ?? {},\n width,\n height,\n })\n } else {\n applyViewBackground(node, node.__layoutProps ?? {})\n }\n return node\n },\n })\n }\n\n return node\n}\n","/**\n * Konva SurfaceAdapter — minimal root/portal lifecycle.\n *\n * Implements the SurfaceAdapter contract using Konva Stage/Layer.\n * Each root surface wraps a Konva.Layer as the mount target.\n */\nimport type {\n CreateRootSurfaceOptions,\n DesignTokens,\n HostContext,\n RootSurface,\n SurfaceAdapter,\n SurfaceContext,\n SurfaceTarget,\n UpdateRootSurfaceOptions,\n VDOMOperations,\n} from '@number10/jsx-core'\nimport { createDesignTokens, getPresetWithMode } from '@number10/jsx-core'\nimport Konva from 'konva'\nimport { collectKonvaSnapshot } from './konva-debug-snapshot'\nimport { getKonvaGestureManager } from './konva-gesture-manager'\nimport { konvaTextureResolver } from './konva-host-adapter'\nimport { createKonvaScheduler } from './konva-scheduler'\n\n// ---------------------------------------------------------------------------\n// Internal root surface implementation\n// ---------------------------------------------------------------------------\n\ninterface KonvaRootSurface extends RootSurface {\n __konvaLayer: Konva.Layer\n __destroyed?: boolean\n __portalBlocker?: Konva.Group | undefined\n}\n\nlet nextId = 1\n\n// ---------------------------------------------------------------------------\n// KonvaSurfaceAdapter\n// ---------------------------------------------------------------------------\n\nexport class KonvaSurfaceAdapter implements SurfaceAdapter {\n /** Map of surface id → root surface for lookup */\n private roots = new Map<string, KonvaRootSurface>()\n\n /** Renderer-bound VDOM operations — set by the runtime after construction */\n private vdom: VDOMOperations | undefined\n\n /**\n * Set the renderer's VDOM operations.\n * Called by the Konva VDOM runtime after construction to avoid circular imports.\n */\n setVDOM(ops: VDOMOperations): void {\n this.vdom = ops\n }\n\n /**\n * Position a layer within its stage sorted by __surfaceZIndex.\n * Konva's zIndex() is the index in the parent's children array and rejects\n * values >= children.length. This method finds the correct sorted position\n * among all sibling layers so higher zIndex → rendered on top, without\n * exceeding valid array bounds.\n * @param layer - Layer to reposition\n * @param stage - Stage containing the layer\n */\n private positionLayerByZIndex(layer: Konva.Layer, stage: Konva.Stage): void {\n const children = stage.getChildren()\n const targetZIndex = (layer as unknown as { __surfaceZIndex?: number }).__surfaceZIndex ?? 0\n\n // Find insertion point: before the first sibling with a higher zIndex\n let insertAt = children.length - 1\n for (let i = 0; i < children.length; i++) {\n const child = children[i]\n if (child === layer) continue\n const childZIndex = (child as unknown as { __surfaceZIndex?: number }).__surfaceZIndex ?? 0\n if (childZIndex > targetZIndex) {\n insertAt = i\n break\n }\n }\n\n const currentIndex = layer.getZIndex()\n if (currentIndex !== insertAt) {\n layer.setZIndex(insertAt)\n }\n }\n\n createRoot(options: CreateRootSurfaceOptions): RootSurface {\n const id = options.id ?? `konva-root-${nextId++}`\n const kind = options.kind ?? 'root'\n const zIndex = options.zIndex ?? (kind === 'root' ? 0 : 100)\n\n if (kind === 'portal' && !options.parent) {\n throw new Error('Portal root surfaces require a parent RootSurface')\n }\n\n // Resolve target stage\n let stage: Konva.Stage | undefined\n if (kind === 'portal' && options.parent) {\n const parentStage = options.parent.context.raw as Konva.Stage | undefined\n stage = options.target ? (options.target as Konva.Stage) : parentStage\n } else {\n stage = options.target as Konva.Stage | undefined\n }\n\n const layer = new Konva.Layer()\n\n // Attach to stage\n if (stage) {\n stage.add(layer)\n // Store desired zIndex on layer for sorted positioning\n ;(layer as unknown as { __surfaceZIndex?: number }).__surfaceZIndex = zIndex\n // Only reposition when zIndex is explicitly non-zero (e.g. portals).\n // A zIndex of 0 means \"leave at natural position from stage.add()\"\n // so the layer renders on top of previously added layers (like backgrounds).\n if (zIndex > 0) {\n this.positionLayerByZIndex(layer, stage)\n }\n } else {\n ;(layer as unknown as { __surfaceZIndex?: number }).__surfaceZIndex = zIndex\n }\n\n const viewport = {\n width: options.width,\n height: options.height,\n }\n\n const context: SurfaceContext = {\n viewport,\n scheduler: createKonvaScheduler(),\n capabilities: new Set(['view', 'nineslice']),\n themeTokens: getDefaultTokens() as unknown as Record<string, unknown>,\n raw: stage,\n adapter: this,\n textureLoader: konvaTextureResolver,\n debugSnapshotCollector: () => collectKonvaSnapshot(stage) as Record<string, string | number>,\n ...(this.vdom ? { vdom: this.vdom } : {}),\n }\n\n // Store context on layer for getSurfaceContext() lookup\n ;(layer as unknown as { __surfaceContext?: SurfaceContext }).__surfaceContext = context\n\n const surface: KonvaRootSurface = {\n id,\n kind,\n zIndex,\n context,\n root: layer as unknown as HostContext as never,\n __konvaLayer: layer,\n __destroyed: false,\n ...(options.parent ? { parent: options.parent } : {}),\n }\n\n const surfaceContext = { ...context, rootSurface: surface }\n ;(surface as { context: SurfaceContext }).context = surfaceContext\n ;(layer as unknown as { __surfaceContext?: SurfaceContext }).__surfaceContext = surfaceContext\n\n this.roots.set(id, surface)\n return surface\n }\n\n updateRoot(surface: RootSurface, options: UpdateRootSurfaceOptions): void {\n if (options.width !== undefined || options.height !== undefined) {\n const vp = surface.context.viewport as { width: number; height: number }\n if (options.width !== undefined) vp.width = options.width\n if (options.height !== undefined) vp.height = options.height\n }\n if (options.zIndex !== undefined) {\n const s = surface as { zIndex: number }\n s.zIndex = options.zIndex\n const layer = (surface as KonvaRootSurface).__konvaLayer\n ;(layer as unknown as { __surfaceZIndex?: number }).__surfaceZIndex = options.zIndex\n const stage = surface.context.raw as Konva.Stage | undefined\n if (stage && layer.getParent()) {\n this.positionLayerByZIndex(layer, stage)\n }\n }\n }\n\n destroyRoot(surface: RootSurface): void {\n const konvaSurface = surface as KonvaRootSurface\n const layer = konvaSurface.__konvaLayer\n if (surface.kind === 'portal') {\n this.syncPortalEventBlocking(surface, false)\n }\n konvaSurface.__destroyed = true\n // Remove stale gesture entries before destroying the layer —\n // otherwise destroyed nodes' entries remain in the gesture manager\n // and intercept pointer events, making the page unresponsive.\n const stage = surface.context.raw as Konva.Stage | undefined\n if (stage && layer) {\n getKonvaGestureManager(stage).unregisterDescendantsOf(layer)\n }\n layer.destroy()\n this.roots.delete(surface.id)\n }\n\n isAlive(surface: RootSurface): boolean {\n const konvaSurface = surface as KonvaRootSurface\n return konvaSurface.__destroyed !== true\n }\n\n getRootByTarget(target: SurfaceTarget): RootSurface | undefined {\n const stage = target as Konva.Stage\n for (const surface of this.roots.values()) {\n if (surface.context.raw === stage && surface.kind === 'root') {\n return surface\n }\n }\n return undefined\n }\n\n syncPortalEventBlocking(surface: RootSurface, blockEvents: boolean): void {\n if (surface.kind !== 'portal') return\n\n const konvaSurface = surface as KonvaRootSurface\n const stage = surface.context.raw as Konva.Stage | undefined\n const layer = konvaSurface.__konvaLayer\n if (!stage || konvaSurface.__destroyed) return\n\n const gestureManager = getKonvaGestureManager(stage)\n const blocker = konvaSurface.__portalBlocker\n\n if (!blockEvents) {\n if (blocker) {\n gestureManager.unregisterContainer(blocker)\n blocker.destroy()\n konvaSurface.__portalBlocker = undefined\n layer.batchDraw()\n }\n return\n }\n\n const bounds = getPortalContentBounds(layer, blocker)\n if (!bounds || bounds.width <= 0 || bounds.height <= 0) {\n if (blocker) {\n gestureManager.unregisterContainer(blocker)\n blocker.destroy()\n konvaSurface.__portalBlocker = undefined\n layer.batchDraw()\n }\n return\n }\n\n const portalBlocker = blocker ?? createPortalBlocker()\n if (!blocker) {\n konvaSurface.__portalBlocker = portalBlocker\n layer.add(portalBlocker)\n portalBlocker.moveToBottom()\n }\n\n portalBlocker.position({ x: bounds.x, y: bounds.y })\n ;(\n portalBlocker as Konva.Group & { __layoutBox?: { width: number; height: number } }\n ).__layoutBox = {\n width: bounds.width,\n height: bounds.height,\n }\n ;(portalBlocker as unknown as { __surfaceZIndex?: number }).__surfaceZIndex = surface.zIndex\n\n const callbacks = {\n enableGestures: true,\n onTouch: (event: { stopPropagation(): void }) => {\n event.stopPropagation()\n },\n onTouchMove: (event: { stopPropagation(): void }) => {\n event.stopPropagation()\n },\n onWheel: (event: { stopPropagation(): void; preventDefault(): void }) => {\n event.stopPropagation()\n event.preventDefault()\n },\n }\n\n if (gestureManager.hasContainer(portalBlocker)) {\n gestureManager.updateContainer(portalBlocker, callbacks as never)\n } else {\n gestureManager.registerContainer(portalBlocker, callbacks as never)\n }\n\n gestureManager.updateHitArea(portalBlocker)\n layer.batchDraw()\n }\n}\n\nfunction createPortalBlocker(): Konva.Group {\n const blocker = new Konva.Group({ listening: false })\n ;(blocker as unknown as { __layoutBox?: { width: number; height: number } }).__layoutBox = {\n width: 0,\n height: 0,\n }\n return blocker\n}\n\nfunction getPortalContentBounds(\n layer: Konva.Layer,\n blocker?: Konva.Group\n): { x: number; y: number; width: number; height: number } | null {\n const children = (layer.children ?? []).filter((child) => child !== blocker && child.visible())\n if (children.length === 0) return null\n\n let left = Number.POSITIVE_INFINITY\n let top = Number.POSITIVE_INFINITY\n let right = Number.NEGATIVE_INFINITY\n let bottom = Number.NEGATIVE_INFINITY\n\n for (const child of children) {\n const rect = child.getClientRect()\n if (rect.width <= 0 || rect.height <= 0) continue\n left = Math.min(left, rect.x)\n top = Math.min(top, rect.y)\n right = Math.max(right, rect.x + rect.width)\n bottom = Math.max(bottom, rect.y + rect.height)\n }\n\n if (!Number.isFinite(left) || !Number.isFinite(top) || right <= left || bottom <= top) {\n return null\n }\n\n return {\n x: left,\n y: top,\n width: right - left,\n height: bottom - top,\n }\n}\n\n// ---------------------------------------------------------------------------\n// Default tokens for Konva surfaces\n// ---------------------------------------------------------------------------\n\nlet _defaultTokens: DesignTokens | undefined\n\nfunction getDefaultTokens(): DesignTokens {\n if (!_defaultTokens) {\n const preset = getPresetWithMode('oceanBlue', 'light')\n _defaultTokens = createDesignTokens(preset)\n }\n return _defaultTokens\n}\n","/**\n * Konva VDOM runtime — wires @number10/jsx-core VDOM with Konva adapters.\n */\nimport type { PortablePartialTheme } from '@number10/jsx-components'\nimport { registerPortableDefaults } from '@number10/jsx-components'\nimport type {\n GestureProps,\n HostContext,\n LayoutContainer,\n Props,\n SurfaceTarget,\n VDOMOperations,\n VNode,\n VNodeLike,\n} from '@number10/jsx-core'\nimport { getThemedProps } from '@number10/jsx-core'\nimport type { MountProps } from '@number10/jsx-core/vdom'\nimport { createVDOMRuntime } from '@number10/jsx-core/vdom'\nimport Konva from 'konva'\nimport { applyViewBackground } from './appliers/konva-background'\nimport { applyGestureProps, updateGestureHitArea } from './appliers/konva-gesture'\nimport type { KonvaNode } from './appliers/konva-node'\nimport { updateTooltipHitArea } from './appliers/konva-tooltip'\nimport { KonvaHostAdapter } from './konva-host-adapter'\nimport { KonvaSurfaceAdapter } from './konva-surface-adapter'\n\nregisterPortableDefaults()\n\ntype KonvaPartialTheme = PortablePartialTheme\n\nfunction createDummyNode(parent: unknown) {\n const node = new Konva.Group()\n const surfaceContext = (parent as { __surfaceContext?: unknown }).__surfaceContext\n if (surfaceContext) {\n ;(node as unknown as { __surfaceContext?: unknown }).__surfaceContext = surfaceContext\n }\n return node\n}\n\nfunction wrapRootVNode(\n type: string | ((props: unknown) => VNodeLike),\n props: MountProps & Record<string, unknown>\n): VNode {\n const { width, height, disableAutoSize = false, key: _key, ...componentProps } = props\n\n if (disableAutoSize) {\n return {\n type,\n props: { ...componentProps, width, height },\n children: [],\n }\n }\n\n const componentVNode: VNode = {\n type,\n props: { ...componentProps, width, height },\n children: [],\n }\n\n return {\n type: 'View',\n props: { width, height },\n children: [componentVNode],\n }\n}\n\nconst hostAdapter = new KonvaHostAdapter()\nconst konvaSurfaceAdapter = new KonvaSurfaceAdapter()\n\nexport const konvaVDOMRuntime = createVDOMRuntime(\n {\n hostAdapter,\n surfaceAdapter: konvaSurfaceAdapter,\n },\n {\n createDummyNode,\n getHostContext: (parent: unknown): HostContext => {\n const ctx = hostAdapter.getSurfaceContext(parent as never)\n if (!ctx) {\n throw new Error('Konva HostAdapter.getSurfaceContext() is required for core VDOM runtime')\n }\n return ctx\n },\n resolveProps: (type: string, theme: KonvaPartialTheme | undefined, props: Props) =>\n getThemedProps(type, theme, props as Record<string, unknown>) as {\n props: Props\n nestedTheme: KonvaPartialTheme\n },\n attachSurfaceContext: (node: unknown, context: HostContext) => {\n ;(node as unknown as { __surfaceContext?: unknown }).__surfaceContext = context\n },\n afterLayout: (container: LayoutContainer, parent: unknown) => {\n const ctx = hostAdapter.getSurfaceContext(container as never)\n const stage =\n ctx.raw instanceof Konva.Stage\n ? ctx.raw\n : hostAdapter.getSurfaceContext(parent as never).raw\n\n const konvaContainer = container as unknown as Konva.Group & {\n __layoutProps?: Record<string, unknown>\n }\n\n if (stage instanceof Konva.Stage) {\n // Re-apply background after layout to ensure correct dimensions\n if (konvaContainer.__layoutProps) {\n applyViewBackground(konvaContainer as unknown as KonvaNode, konvaContainer.__layoutProps)\n }\n\n const hasGesture = !!(\n konvaContainer.__layoutProps?.enableGestures !== undefined ||\n konvaContainer.__layoutProps?.onTouch !== undefined ||\n konvaContainer.__layoutProps?.onTouchOutside !== undefined ||\n konvaContainer.__layoutProps?.onTouchMove !== undefined ||\n konvaContainer.__layoutProps?.onDoubleTap !== undefined ||\n konvaContainer.__layoutProps?.onLongPress !== undefined ||\n konvaContainer.__layoutProps?.onWheel !== undefined\n )\n if (hasGesture) {\n applyGestureProps(\n konvaContainer,\n stage,\n konvaContainer.__layoutProps as GestureProps<Konva.KonvaEventObject<PointerEvent>>\n )\n }\n updateGestureHitArea(konvaContainer, stage)\n\n // Tooltip hit area — always needs update after layout\n if (konvaContainer.__layoutProps?.onTooltip !== undefined) {\n updateTooltipHitArea(konvaContainer)\n }\n }\n },\n getParentContentSize: (parent: unknown) => {\n const layoutParent = parent as {\n __getLayoutSize?: () => { width: number; height: number }\n }\n\n if (typeof layoutParent.__getLayoutSize === 'function') {\n return layoutParent.__getLayoutSize()\n }\n\n const ctx = hostAdapter.getSurfaceContext?.(parent as never)\n return ctx?.viewport\n },\n wrapRootVNode,\n extractSurfaceTarget: (parent: unknown) => parent as SurfaceTarget,\n isSurfaceTarget: (target: unknown) => target instanceof Konva.Stage,\n }\n)\n\n// Register Konva's VDOM operations on the adapter for portable components\nkonvaSurfaceAdapter.setVDOM({\n mount: konvaVDOMRuntime.mount as VDOMOperations['mount'],\n patchVNode: konvaVDOMRuntime.patchVNode as VDOMOperations['patchVNode'],\n unmount: konvaVDOMRuntime.unmount as VDOMOperations['unmount'],\n})\n","/**\n * Konva debug snapshot hook — collects renderer-specific metrics\n * for the portable {@link DebugPanel} from @number10/jsx-components.\n *\n * ## Usage\n *\n * ```tsx\n * import { DebugPanel } from '@number10/jsx-components'\n * import { useKonvaDebugSnapshot } from '@number10/jsx-konva'\n *\n * function MyApp() {\n * const snapshot = useKonvaDebugSnapshot(500)\n * return <DebugPanel snapshot={snapshot} metrics={['fps', 'frameMs']} />\n * }\n * ```\n */\nimport type { DebugSnapshot } from '@number10/jsx-components'\nimport { summarizeMap } from '@number10/jsx-components'\nimport { DevConfig, useEffect, useState } from '@number10/jsx-core'\nimport Konva from 'konva'\nimport { konvaVDOMRuntime } from './konva-vdom-runtime'\n\n// ---------------------------------------------------------------------------\n// Helpers\n// ---------------------------------------------------------------------------\n\nfunction resolveDebugFlags(): string {\n const debugConfig = DevConfig.debug\n if (!debugConfig.enabled) return 'off'\n\n const enabledFlags = Object.entries(debugConfig)\n .filter(([key, value]) => key !== 'enabled' && value)\n .map(([key]) => key)\n\n return enabledFlags.length ? enabledFlags.join(',') : 'enabled'\n}\n\n// ---------------------------------------------------------------------------\n// FPS estimation — Konva doesn't have a built-in ticker\n// ---------------------------------------------------------------------------\n\nlet _lastFpsTime = 0\nlet _frameCount = 0\nlet _estimatedFps = 0\n\nfunction estimateFps(): number {\n _frameCount++\n const now = performance.now()\n if (now - _lastFpsTime >= 1000) {\n _estimatedFps = Math.round((_frameCount * 1000) / (now - _lastFpsTime))\n _frameCount = 0\n _lastFpsTime = now\n }\n return _estimatedFps\n}\n\n// Start FPS estimation on first call\nif (_lastFpsTime === 0) {\n _lastFpsTime = performance.now()\n const tick = () => {\n estimateFps()\n requestAnimationFrame(tick)\n }\n requestAnimationFrame(tick)\n}\n\n// ---------------------------------------------------------------------------\n// collectKonvaSnapshot\n// ---------------------------------------------------------------------------\n\n/**\n * Collect a one-shot Konva debug snapshot.\n * Can be called directly (no hook needed).\n *\n * @param mountStats - Mount statistics from the VDOM runtime.\n * @param stage - Optional Konva Stage for viewport info.\n */\nexport function collectKonvaSnapshot(stage?: Konva.Stage): DebugSnapshot {\n const mountStats = konvaVDOMRuntime.getMountStats()\n const fps = estimateFps()\n\n const snapshot: DebugSnapshot = {\n fps,\n frameMs: fps > 0 ? Math.round(1000 / fps) : 0,\n phaserVersion: `Konva ${Konva.version ?? '?'}`,\n renderer: 'Canvas2D',\n mountsTotal: mountStats.totalMounts,\n mountsByType: summarizeMap(mountStats.byType),\n mountsByParent: summarizeMap(mountStats.byParent),\n mountsByKey: summarizeMap(mountStats.byKey),\n debugFlags: resolveDebugFlags(),\n }\n\n if (stage) {\n snapshot.viewport = `${stage.width()}x${stage.height()}`\n }\n\n return snapshot\n}\n\n// ---------------------------------------------------------------------------\n// useKonvaDebugSnapshot\n// ---------------------------------------------------------------------------\n\n/**\n * Hook that collects Konva debug metrics on an interval and returns\n * a {@link DebugSnapshot} suitable for the portable {@link DebugPanel}.\n *\n * Uses requestAnimationFrame for FPS estimation and the portable\n * {@link getMountStats} from the Konva VDOM runtime for mount statistics.\n *\n * @param intervalMs - Refresh interval in milliseconds (default: 250)\n * @returns Current debug snapshot, refreshed on the given interval\n */\nexport function useKonvaDebugSnapshot(intervalMs = 250): DebugSnapshot {\n const [snapshot, setSnapshot] = useState<DebugSnapshot>(collectKonvaSnapshot())\n\n useEffect(() => {\n const delay = Math.max(50, intervalMs)\n setSnapshot(collectKonvaSnapshot())\n\n const timer = window.setInterval(() => {\n setSnapshot(collectKonvaSnapshot())\n }, delay)\n\n return () => window.clearInterval(timer)\n }, [intervalMs])\n\n return snapshot\n}\n","/**\n * Konva scene backgrounds — decorative background layers for Konva Stage.\n *\n * Mirrors @number10/jsx-pixi's pixi-scene-backgrounds.ts but uses native Konva APIs\n * (Shape, Group, Rect, Circle, Animation) instead of PIXI display objects.\n *\n * Backgrounds are added to a dedicated layer behind the VDOM content layer.\n */\nimport Konva from 'konva'\n\n// ---------------------------------------------------------------------------\n// Types\n// ---------------------------------------------------------------------------\n\n/** Built-in decorative background variants. */\nexport type SceneBackgroundType = 'grid' | 'logo' | 'gradient' | 'particles' | 'none'\n\n/** Optional animation applied to a scene background after it is created. */\nexport type BackgroundAnimation = 'lemniscate' | 'wave' | 'pulse' | 'rotate' | 'static'\n\n/** Configuration for {@link addKonvaSceneBackground}. */\nexport interface BackgroundConfig {\n /** Background variant to create. Use `'none'` to disable background creation. */\n type: SceneBackgroundType\n\n /** Animation preset applied to the created background. */\n animation?: BackgroundAnimation\n\n /** Background opacity, usually between `0` and `1`. */\n opacity?: number\n\n /** Primary color as a numeric color, for example `0x4a9eff`. */\n color?: number\n\n /** Secondary color used by gradient backgrounds. */\n colorSecondary?: number\n\n /** zIndex for the background layer. Default -1 (behind VDOM). */\n zIndex?: number\n}\n\n/** Handle returned by {@link addKonvaSceneBackground}. */\nexport interface SceneBackgroundHandle {\n /** Root layer for the background. */\n layer: Konva.Layer\n\n /** Stops animations, destroys display objects, removes from stage. */\n destroy: () => void\n\n /** Manually resize the background to match a viewport size. */\n resize: (width: number, height: number) => void\n}\n\n// ---------------------------------------------------------------------------\n// Defaults\n// ---------------------------------------------------------------------------\n\n/** Default scene background used when no explicit config is provided. */\nexport const DEFAULT_BACKGROUND: BackgroundConfig = {\n type: 'grid',\n animation: 'lemniscate',\n opacity: 0.15,\n color: 0x4a9eff,\n}\n\n// ---------------------------------------------------------------------------\n// Helpers\n// ---------------------------------------------------------------------------\n\nfunction colorToCss(color: number): string {\n return `#${color.toString(16).padStart(6, '0')}`\n}\n\n/**\n * Build a Phaser-style logo \"P\" shape as a Konva.Group.\n */\nfunction createPhaserLogoShape(size: number, color: number, alpha: number): Konva.Group {\n const group = new Konva.Group({ opacity: alpha })\n const cssColor = colorToCss(color)\n const r = size / 2\n\n // Outer ring (270° arc, open at bottom-right)\n const outerArc = new Konva.Arc({\n x: 0,\n y: 0,\n innerRadius: r * 0.65,\n outerRadius: r,\n angle: 270,\n stroke: cssColor,\n strokeWidth: 5,\n rotation: -135, // open at bottom-right\n })\n group.add(outerArc)\n\n // Inner ring\n const innerArc = new Konva.Arc({\n x: 0,\n y: 0,\n innerRadius: r * 0.5,\n outerRadius: r * 0.65,\n angle: 270,\n stroke: cssColor,\n strokeWidth: 3,\n opacity: 0.6,\n rotation: -135,\n })\n group.add(innerArc)\n\n // Vertical bar (stem of the \"P\")\n const stem = new Konva.Rect({\n x: -r * 0.15,\n y: -r,\n width: r * 0.3,\n height: r * 2,\n fill: cssColor,\n cornerRadius: r * 0.05,\n })\n group.add(stem)\n\n return group\n}\n\n// ---------------------------------------------------------------------------\n// Grid background\n// ---------------------------------------------------------------------------\n\nfunction createGridBackground(\n layer: Konva.Layer,\n width: number,\n height: number,\n config: BackgroundConfig\n): { anim: Konva.Animation } {\n const gridSize = 40\n const color = config.color ?? 0x4a9eff\n const opacity = config.opacity ?? 0.15\n const cssColor = colorToCss(color)\n const alpha = Math.min(1, Math.max(0, opacity))\n\n const group = new Konva.Group()\n layer.add(group)\n\n // Draw horizontal and vertical lines across the full viewport\n const hLines: Konva.Line[] = []\n const vLines: Konva.Line[] = []\n\n for (let x = 0; x <= width; x += gridSize) {\n const line = new Konva.Line({\n points: [x, 0, x, height],\n stroke: cssColor,\n strokeWidth: 1,\n opacity: alpha,\n })\n group.add(line)\n vLines.push(line)\n }\n\n for (let y = 0; y <= height; y += gridSize) {\n const line = new Konva.Line({\n points: [0, y, width, y],\n stroke: cssColor,\n strokeWidth: 1,\n opacity: alpha,\n })\n group.add(line)\n hLines.push(line)\n }\n\n let offsetX = 0\n let offsetY = 0\n\n const anim = new Konva.Animation((frame) => {\n if (!frame) return\n const dt = frame.timeDiff ?? 16\n const speed = 0.02 * dt\n offsetX = (offsetX + speed) % gridSize\n offsetY = (offsetY + speed * 0.5) % gridSize\n\n // Shift all lines by the offset\n for (let i = 0; i < vLines.length; i++) {\n const vl = vLines[i]\n if (vl) vl.x(offsetX)\n }\n for (let i = 0; i < hLines.length; i++) {\n const hl = hLines[i]\n if (hl) hl.y(offsetY)\n }\n })\n\n return { anim }\n}\n\n// ---------------------------------------------------------------------------\n// Logo background\n// ---------------------------------------------------------------------------\n\nfunction createLogoBackground(\n layer: Konva.Layer,\n width: number,\n height: number,\n config: BackgroundConfig\n): void {\n const opacity = config.opacity ?? 0.1\n const color = config.color ?? 0x4a9eff\n\n const logo = createPhaserLogoShape(100, color, opacity)\n logo.x(width / 2)\n logo.y(height / 2)\n layer.add(logo)\n}\n\n// ---------------------------------------------------------------------------\n// Gradient background\n// ---------------------------------------------------------------------------\n\nfunction createGradientBackground(\n layer: Konva.Layer,\n width: number,\n height: number,\n config: BackgroundConfig\n): { resize: (w: number, h: number) => void } {\n const color1 = config.color ?? 0x4a9eff\n const color2 = config.colorSecondary ?? 0x6b4aff\n const opacity = config.opacity ?? 0.2\n\n const rect = new Konva.Rect({\n x: 0,\n y: 0,\n width,\n height,\n fillLinearGradientStartPoint: { x: 0, y: 0 },\n fillLinearGradientEndPoint: { x: 0, y: height },\n fillLinearGradientColorStops: [\n 0,\n `rgba(${(color1 >> 16) & 0xff}, ${(color1 >> 8) & 0xff}, ${color1 & 0xff}, ${opacity})`,\n 1,\n `rgba(${(color2 >> 16) & 0xff}, ${(color2 >> 8) & 0xff}, ${color2 & 0xff}, ${opacity})`,\n ],\n listening: false,\n })\n layer.add(rect)\n\n const resize = (w: number, h: number) => {\n rect.width(w)\n rect.height(h)\n rect.fillLinearGradientEndPoint({ x: 0, y: h })\n }\n\n return { resize }\n}\n\n// ---------------------------------------------------------------------------\n// Particles background\n// ---------------------------------------------------------------------------\n\nfunction createParticlesBackground(\n layer: Konva.Layer,\n width: number,\n height: number,\n config: BackgroundConfig\n): { anim: Konva.Animation } {\n const particleCount = 20\n const color = config.color ?? 0x4a9eff\n const opacity = config.opacity ?? 0.1\n const cssColor = colorToCss(color)\n\n const group = new Konva.Group()\n layer.add(group)\n\n const particles: {\n circle: Konva.Circle\n baseX: number\n baseY: number\n phase: number\n speed: number\n }[] = []\n\n for (let i = 0; i < particleCount; i += 1) {\n const radius = 2 + Math.random() * 4\n const circle = new Konva.Circle({\n x: Math.random() * width,\n y: Math.random() * height,\n radius,\n fill: cssColor,\n opacity,\n listening: false,\n })\n group.add(circle)\n\n particles.push({\n circle,\n baseX: circle.x(),\n baseY: circle.y(),\n phase: Math.random() * Math.PI * 2,\n speed: 0.3 + Math.random() * 0.7,\n })\n }\n\n const anim = new Konva.Animation((frame) => {\n if (!frame) return\n const dt = frame.timeDiff ?? 16\n for (const p of particles) {\n p.phase += p.speed * 0.003 * dt\n const offsetX = Math.sin(p.phase * 1.3) * 30\n const offsetY = Math.cos(p.phase * 0.7) * 30\n p.circle.x(p.baseX + offsetX)\n p.circle.y(p.baseY + offsetY)\n p.circle.opacity(opacity * (0.8 + 0.4 * Math.sin(p.phase * 2)))\n }\n })\n\n return { anim }\n}\n\n// ---------------------------------------------------------------------------\n// Animation helpers\n// ---------------------------------------------------------------------------\n\n// ---------------------------------------------------------------------------\n// Main API\n// ---------------------------------------------------------------------------\n\n/**\n * Adds a decorative background layer to a Konva Stage.\n *\n * The background is added to its own layer at a configurable zIndex.\n * All display objects and animations are owned by this helper and\n * cleaned up on `destroy()`.\n *\n * @param stage - Konva.Stage that receives the background.\n * @param config - Background type, colors, opacity, and animation.\n * @returns A handle for manual resize and cleanup, or `null` when `config.type` is `'none'`.\n *\n * @example\n * ```ts\n * const handle = addKonvaSceneBackground(stage, {\n * type: 'grid',\n * animation: 'wave',\n * color: 0x4a9eff,\n * opacity: 0.12,\n * })\n *\n * // Later, if the background should be removed:\n * handle?.destroy()\n * ```\n */\nexport function addKonvaSceneBackground(\n stage: Konva.Stage,\n config: BackgroundConfig = DEFAULT_BACKGROUND\n): SceneBackgroundHandle | null {\n if (config.type === 'none') return null\n\n const layer = new Konva.Layer()\n stage.add(layer)\n layer.moveToBottom()\n\n const width = stage.width()\n const height = stage.height()\n const animations: Konva.Animation[] = []\n let resizeFn: ((w: number, h: number) => void) | undefined\n let destroyed = false\n\n // Build background content\n switch (config.type) {\n case 'grid': {\n const result = createGridBackground(layer, width, height, config)\n animations.push(result.anim)\n resizeFn = (w, h) => {\n // Rebuild grid for new dimensions\n layer.destroyChildren()\n const rebuilt = createGridBackground(layer, w, h, config)\n animations.push(rebuilt.anim)\n rebuilt.anim.start()\n }\n break\n }\n case 'logo':\n createLogoBackground(layer, width, height, config)\n resizeFn = (w, h) => {\n const logo = layer.children?.[0] as Konva.Group | undefined\n if (logo) {\n logo.x(w / 2)\n logo.y(h / 2)\n }\n }\n break\n case 'gradient': {\n const result = createGradientBackground(layer, width, height, config)\n resizeFn = result.resize\n break\n }\n case 'particles': {\n const result = createParticlesBackground(layer, width, height, config)\n animations.push(result.anim)\n break\n }\n }\n\n // Apply animation\n if (config.animation && config.animation !== 'static') {\n const target = layer.children?.[0]\n if (target instanceof Konva.Group || target instanceof Konva.Shape) {\n switch (config.animation) {\n case 'lemniscate': {\n let t = 0\n const lemnAnim = new Konva.Animation((frame) => {\n if (!frame) return\n t += frame.timeDiff * 0.0008\n const offsetX = 30 * Math.cos(t)\n const offsetY = (30 * Math.sin(2 * t)) / 2\n target.x((target.x() || 0) + offsetX - 30 * Math.cos(t - frame.timeDiff * 0.0008))\n target.y(\n (target.y() || 0) + offsetY - (30 * Math.sin(2 * (t - frame.timeDiff * 0.0008))) / 2\n )\n })\n animations.push(lemnAnim)\n break\n }\n case 'wave': {\n let t = 0\n const waveAnim = new Konva.Animation((frame) => {\n if (!frame) return\n t += frame.timeDiff * 0.01\n const offset = Math.sin(t) * 40\n target.x((target.x() || 0) + offset - Math.sin(t - frame.timeDiff * 0.01) * 40)\n target.y(0)\n })\n animations.push(waveAnim)\n break\n }\n case 'pulse': {\n const baseScale = target.scaleX() || 1\n let t = 0\n const pulseAnim = new Konva.Animation((frame) => {\n if (!frame) return\n t += frame.timeDiff * 0.003\n const s = baseScale * (1 + 0.1 * Math.sin(t))\n target.scaleX(s)\n target.scaleY(s)\n })\n animations.push(pulseAnim)\n break\n }\n case 'rotate': {\n const rotateAnim = new Konva.Animation((frame) => {\n if (!frame) return\n target.rotation(target.rotation() + frame.timeDiff * 0.0003)\n })\n animations.push(rotateAnim)\n break\n }\n }\n }\n }\n\n // Start all animations\n for (const anim of animations) {\n anim.start()\n }\n\n const cleanup = () => {\n if (destroyed) return\n destroyed = true\n for (const anim of animations) {\n anim.stop()\n }\n layer.destroy()\n }\n\n return {\n layer,\n destroy: cleanup,\n resize: (w, h) => {\n if (!destroyed && resizeFn) resizeFn(w, h)\n },\n }\n}\n","/**\n * Konva mount helper backed by the shared @number10/jsx-core VDOM runtime.\n */\nimport type { VNodeLike } from '@number10/jsx-core'\nimport Konva from 'konva'\nimport { konvaVDOMRuntime } from './konva-vdom-runtime'\n\ntype InferComponentProps<C> = C extends (props: infer P) => VNodeLike ? P : never\n\ninterface MountKonvaJSXBaseOptions {\n target: HTMLElement\n width?: number\n height?: number\n}\n\nexport interface MountKonvaJSXOptions<P = Record<string, unknown>> {\n component: (props: P) => VNodeLike\n target: MountKonvaJSXBaseOptions['target']\n width?: MountKonvaJSXBaseOptions['width']\n height?: MountKonvaJSXBaseOptions['height']\n /** Custom props passed to the component (merged with viewport dimensions) */\n props?: P\n}\n\nexport function mountKonvaJSX<C extends (props: never) => VNodeLike>(\n options: MountKonvaJSXBaseOptions & {\n component: C\n props?: InferComponentProps<C>\n }\n): Promise<void>\n\nexport async function mountKonvaJSX<P = Record<string, unknown>>(\n options: MountKonvaJSXOptions<P>\n): Promise<void> {\n const target = options.target\n const viewW = options.width ?? target.clientWidth\n const viewH = options.height ?? target.clientHeight\n\n // Create Konva stage attached to the target element\n const stage = new Konva.Stage({\n container: target as HTMLDivElement,\n width: viewW,\n height: viewH,\n })\n\n konvaVDOMRuntime.mountJSX(stage, options.component as (props: unknown) => VNodeLike, {\n width: viewW,\n height: viewH,\n ...(options.props ?? {}),\n })\n}\n"],"mappings":"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"}
|