@formulaxjs/kity-runtime 0.4.0 → 0.5.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.
Files changed (42) hide show
  1. package/README.md +14 -11
  2. package/README.zh-CN.md +44 -0
  3. package/dist/base.css +47 -0
  4. package/dist/{chunk-LIDQRZXL.js → chunk-EQCAHDH7.js} +85 -34
  5. package/dist/chunk-EQCAHDH7.js.map +1 -0
  6. package/dist/images/scrollbar/custom/bar-bg.png +0 -0
  7. package/dist/images/scrollbar/custom/bar.png +0 -0
  8. package/dist/images/scrollbar/custom/bg.png +0 -0
  9. package/dist/images/scrollbar/custom/bottom.png +0 -0
  10. package/dist/images/scrollbar/custom/btn.png +0 -0
  11. package/dist/images/scrollbar/custom/down.png +0 -0
  12. package/dist/images/scrollbar/custom/top.png +0 -0
  13. package/dist/images/scrollbar/custom/up.png +0 -0
  14. package/dist/images/scrollbar/edit/bar-bg.png +0 -0
  15. package/dist/images/scrollbar/edit/bar-left.png +0 -0
  16. package/dist/images/scrollbar/edit/bar-right.png +0 -0
  17. package/dist/images/scrollbar/edit/thumb-bg.png +0 -0
  18. package/dist/images/scrollbar/edit/thumb-left.png +0 -0
  19. package/dist/images/scrollbar/edit/thumb-right.png +0 -0
  20. package/dist/images/toolbar/btn.png +0 -0
  21. package/dist/index.cjs +124 -148
  22. package/dist/index.cjs.map +1 -1
  23. package/dist/index.global.js +127 -147
  24. package/dist/index.global.js.map +1 -1
  25. package/dist/index.js +8 -3
  26. package/dist/index.js.map +1 -1
  27. package/dist/other.png +0 -0
  28. package/dist/scrollbar.css +78 -0
  29. package/dist/{start-H6H24L6P.js → start-N66J24A5.js} +11 -50
  30. package/dist/start-N66J24A5.js.map +1 -0
  31. package/dist/ui.css +625 -0
  32. package/package.json +7 -2
  33. package/dist/chunk-LIDQRZXL.js.map +0 -1
  34. package/dist/start-H6H24L6P.js.map +0 -1
  35. /package/dist/{KF_AMS_BB-5QF7FUSO.woff → KF_AMS_BB.woff} +0 -0
  36. /package/dist/{KF_AMS_CAL-NXRNLAZN.woff → KF_AMS_CAL.woff} +0 -0
  37. /package/dist/{KF_AMS_FRAK-CO33WWN4.woff → KF_AMS_FRAK.woff} +0 -0
  38. /package/dist/{KF_AMS_MAIN-25QJVAWY.woff → KF_AMS_MAIN.woff} +0 -0
  39. /package/dist/{KF_AMS_ROMAN-243BR7HH.woff → KF_AMS_ROMAN.woff} +0 -0
  40. /package/dist/{btn-5DANP6JY.png → btn.png} +0 -0
  41. /package/dist/{editor-JT5KLVXX.css → editor.css} +0 -0
  42. /package/dist/{other-OMWJFGL5.png → images/toolbar/other.png} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/asset-manifest.ts","../src/vendor/legacy-box-type.ts","../src/vendor/legacy-kfevent.ts","../src/vendor/legacy-event.ts","../src/vendor/legacy-utils.ts","../src/kity/utils.ts","../src/vendor/legacy-component.ts","../src/vendor/legacy-ele-type.ts","../src/vendor/legacy-group-type.ts","../src/vendor/legacy-input-filter.ts","../src/vendor/legacy-item-type.ts","../src/vendor/legacy-kf-ext-def.ts","../src/vendor/legacy-sysconf.ts","../src/vendor/legacy-ui-def.ts","../src/dom-utils.ts","../src/vendor/legacy-ui-utils.ts","../src/i18n.ts","../src/vendor/other-position.ts","../src/toolbar-assets.ts"],"sourcesContent":["import btnUrl from '../public/assets/images/toolbar/btn.png';\nimport otherUrl from '../public/assets/images/toolbar/other.png';\nimport editorCssUrl from '../public/assets/styles/editor.css?url';\nimport kfAmsBbUrl from '../public/resource/KF_AMS_BB.woff';\nimport kfAmsCalUrl from '../public/resource/KF_AMS_CAL.woff';\nimport kfAmsFrakUrl from '../public/resource/KF_AMS_FRAK.woff';\nimport kfAmsMainUrl from '../public/resource/KF_AMS_MAIN.woff';\nimport kfAmsRomanUrl from '../public/resource/KF_AMS_ROMAN.woff';\n\nexport type KityFontAssets = {\n KF_AMS_BB: string;\n KF_AMS_CAL: string;\n KF_AMS_FRAK: string;\n KF_AMS_MAIN: string;\n KF_AMS_ROMAN: string;\n};\n\nexport type KityToolbarAssets = {\n btn: string;\n other: string;\n};\n\nexport type KityStyleAssets = {\n editor: string;\n};\n\nexport type KityAssetManifest = {\n fonts: KityFontAssets;\n toolbar: KityToolbarAssets;\n styles: KityStyleAssets;\n};\n\nexport const kityFontAssets = {\n KF_AMS_BB: kfAmsBbUrl,\n KF_AMS_CAL: kfAmsCalUrl,\n KF_AMS_FRAK: kfAmsFrakUrl,\n KF_AMS_MAIN: kfAmsMainUrl,\n KF_AMS_ROMAN: kfAmsRomanUrl,\n} satisfies KityFontAssets;\n\nexport const kityToolbarAssets = {\n btn: btnUrl,\n other: otherUrl,\n} satisfies KityToolbarAssets;\n\nexport const kityStyleAssets = {\n editor: editorCssUrl,\n} satisfies KityStyleAssets;\n\nexport const kityAssetManifest = {\n fonts: kityFontAssets,\n toolbar: kityToolbarAssets,\n styles: kityStyleAssets,\n} satisfies KityAssetManifest;\n","export const legacyBoxType = {\n DETACHED: 1,\n OVERLAP: 2,\n} as const;\n","export const legacyKfEvent = {\n createEvent(type: string) {\n return new Event(type, {\n bubbles: true,\n cancelable: true,\n });\n },\n};\n","import { legacyKfEvent } from './legacy-kfevent';\n\ntype KfEventHandler<T extends Event = Event> = (event: T) => boolean | void;\nconst eventListenerStore: Record<number, Record<string, any[]>> = {};\nlet eventId = 0;\nlet beforeResult = true;\n\ntype LegacyEventTarget = EventTarget & {\n __kfeEventId?: number;\n __kfe_eid?: number;\n};\n\nfunction getLegacyEventId(target: LegacyEventTarget) {\n return target.__kfeEventId ?? target.__kfe_eid;\n}\n\nfunction setLegacyEventId(target: LegacyEventTarget, resolvedEventId: number) {\n target.__kfeEventId = resolvedEventId;\n\n if (Object.prototype.hasOwnProperty.call(target, '__kfe_eid')) {\n target.__kfe_eid = resolvedEventId;\n return;\n }\n\n Object.defineProperty(target, '__kfe_eid', {\n configurable: true,\n enumerable: true,\n get() {\n return target.__kfeEventId;\n },\n set(value: number) {\n target.__kfeEventId = value;\n },\n });\n}\n\nconst eventHandler = function eventHandler(this: LegacyEventTarget, event: Event) {\n const type = event.type;\n const target = event.target as EventTarget;\n const eid = getLegacyEventId(this) as number;\n const hasAutoTrigger = /^(?:before|after)/.test(type);\n const handlerList: KfEventHandler[] = eventListenerStore[eid]?.[type] ?? [];\n\n if (!hasAutoTrigger) {\n legacyEventListener.trigger(target, `before${type}`);\n\n if (beforeResult === false) {\n beforeResult = true;\n return false;\n }\n }\n\n for (const handler of handlerList) {\n if (handler.call(target, event) === false) {\n beforeResult = false;\n break;\n }\n }\n\n if (!hasAutoTrigger) {\n legacyEventListener.trigger(target, `after${type}`);\n }\n\n return true;\n};\n\nexport const legacyEventListener = {\n addEvent<T extends Event = Event>(target: LegacyEventTarget, type: string, handler: (event: T) => boolean | void) {\n let hasHandler = true;\n\n if (!getLegacyEventId(target)) {\n hasHandler = false;\n setLegacyEventId(target, ++eventId);\n eventListenerStore[getLegacyEventId(target) as number] = {};\n }\n\n const eventCache = eventListenerStore[getLegacyEventId(target) as number];\n\n if (!eventCache[type]) {\n hasHandler = false;\n eventCache[type] = [];\n }\n\n eventCache[type].push(handler);\n\n if (hasHandler) {\n return;\n }\n\n target.addEventListener(type, eventHandler as EventListener, false);\n },\n\n trigger(target: EventTarget, type: string, event?: Event) {\n const resolvedEvent = event || legacyKfEvent.createEvent(type);\n target.dispatchEvent(resolvedEvent);\n },\n};\n","import { bind, isArray, isString } from 'lodash-es';\nimport utils from '../kity/utils';\nimport { legacyEventListener } from './legacy-event';\n\nexport type LegacyBaseUtils = {\n addEvent: typeof legacyEventListener.addEvent;\n trigger: typeof legacyEventListener.trigger;\n each: typeof utils.each;\n extend: typeof utils.extend;\n clone: typeof utils.clone;\n copy: typeof utils.copy;\n isArray: typeof isArray;\n isString: typeof isString;\n proxy: typeof bind;\n contains(parent: Node, target: Node): boolean;\n getRect(node: Element): DOMRect;\n};\n\nconst legacyBaseUtils: LegacyBaseUtils = {\n addEvent: legacyEventListener.addEvent,\n trigger: legacyEventListener.trigger,\n each: utils.each,\n extend: utils.extend,\n clone: utils.clone,\n copy: utils.copy,\n isArray,\n isString,\n proxy: bind,\n contains(parent: Node, target: Node) {\n if (parent.contains) {\n return parent.contains(target);\n }\n if (parent.compareDocumentPosition) {\n return !!(parent.compareDocumentPosition(target) & 16);\n }\n return false;\n },\n getRect(node: Element) {\n return node.getBoundingClientRect();\n },\n};\n\nexport { legacyBaseUtils };\n","import {\n assign,\n cloneDeep,\n forEach,\n isArray,\n isBoolean,\n isFunction,\n isNumber,\n isObject,\n isRegExp,\n isString,\n flattenDeep,\n get,\n defaultTo,\n merge,\n} from 'lodash-es';\n\nexport type KityUtils = {\n each: typeof forEach;\n extend: typeof assign;\n deepExtend: typeof merge;\n clone: typeof cloneDeep;\n copy: typeof cloneDeep;\n queryPath: typeof get;\n getValue: typeof defaultTo;\n flatten: typeof flattenDeep;\n parallel: (v1: unknown, v2: unknown, op: (a: unknown, b: unknown) => unknown) => unknown;\n paralle: (v1: unknown, v2: unknown, op: (a: unknown, b: unknown) => unknown) => unknown;\n parallelize: (op: (a: unknown, b: unknown) => unknown) => (v1: unknown, v2: unknown) => unknown;\n isString: typeof isString;\n isFunction: typeof isFunction;\n isArray: typeof isArray;\n isNumber: typeof isNumber;\n isRegExp: typeof isRegExp;\n isObject: typeof isObject;\n isBoolean: typeof isBoolean;\n};\n\nconst utils: KityUtils = {\n each: forEach,\n extend: assign,\n deepExtend: merge,\n clone: cloneDeep,\n copy: cloneDeep,\n queryPath: get,\n getValue: defaultTo,\n flatten: flattenDeep,\n\n parallel: function parallel(v1: unknown, v2: unknown, op: (a: unknown, b: unknown) => unknown): unknown {\n if (isArray(v1) && isArray(v2)) {\n return (v1 as unknown[]).map((item, i) => parallel(item, (v2 as unknown[])[i], op));\n }\n\n if (isObject(v1) && isObject(v1) && isObject(v2)) {\n const Class = (v1 as { getClass?: () => { parse?: (val: unknown) => unknown } }).getClass?.();\n if (Class?.parse) {\n const v1Val = (v1 as { valueOf: () => unknown[] }).valueOf();\n const v2Val = (v2 as { valueOf: () => unknown[] }).valueOf();\n const result = parallel(v1Val, v2Val, op);\n return Class.parse(result);\n }\n const result: Record<string, unknown> = {};\n for (const name in v1 as object) {\n if (\n Object.prototype.hasOwnProperty.call(v1, name) &&\n Object.prototype.hasOwnProperty.call(v2, name)\n ) {\n result[name] = parallel(\n (v1 as Record<string, unknown>)[name],\n (v2 as Record<string, unknown>)[name],\n op,\n );\n }\n }\n return result;\n }\n\n if (!isNaN(Number(v1))) {\n return op(v1, v2);\n }\n\n return undefined;\n },\n\n paralle: null as unknown as KityUtils['paralle'],\n\n parallelize(op: (a: unknown, b: unknown) => unknown) {\n return (v1: unknown, v2: unknown) => utils.parallel(v1, v2, op);\n },\n\n isString,\n isFunction,\n isArray,\n isNumber,\n isRegExp,\n isObject,\n isBoolean,\n};\n\nutils.paralle = utils.parallel;\n\nexport default utils;\n","export function createLegacyBaseComponent(kity: { createClass: (name: string, definition: object) => unknown }) {\r\n return kity.createClass('Component', {\r\n constructor() {},\r\n });\r\n}\r\n","export const legacyEleType = {\n DRAPDOWN_BOX: 1,\n AREA: 2,\n DELIMITER: 3,\n} as const;\n","export const legacyGroupType = {\n GROUP: 'kf-editor-group',\n VIRTUAL: 'kf-editor-virtual-group',\n} as const;\n","const replacementMap: Record<string, string> = {\n '32': '\\\\,',\n 's+219': '\\\\{',\n 's+221': '\\\\}',\n '220': '\\\\backslash',\n 's+51': '\\\\#',\n 's+52': '\\\\$',\n 's+53': '\\\\%',\n 's+54': '\\\\^',\n 's+55': '\\\\&',\n 's+189': '\\\\_',\n 's+192': '\\\\~',\n};\n\nexport const legacyInputFilter = {\n getReplaceString(key: string | number) {\n return replacementMap[String(key)] || null;\n },\n};\n","export const legacyItemType = {\n BIG: 1,\n SMALL: 2,\n} as const;\n","export const legacyKfExtDef = {\n selectColor: 'rgba(42, 106, 189, 0.2)',\n allSelectColor: 'rgba(42, 106, 189, 0.6)',\n} as const;\n","export const legacySysconf = {\n cursorCharacter: '\\uF155',\n rootPlaceholder: {\n color: '#666',\n content: 'Type formula here',\n fontsize: 16,\n },\n scrollbar: {\n padding: 5,\n step: 150,\n },\n} as const;\n","export const legacyUiDef = {\n VIEW_STATE: {\n NO_OVERFLOW: 0,\n OVERFLOW: 1,\n },\n scrollbar: {\n step: 50,\n thumbMinSize: 50,\n },\n} as const;\n","export type TopicCallback = (...args: unknown[]) => void;\r\n\r\nexport type ElementOptions =\r\n | string\r\n | {\r\n className?: string;\r\n content?: string;\r\n };\r\n\r\nexport type NormalizedMouseEvent = MouseEvent & {\r\n originalEvent: MouseEvent | WheelEvent;\r\n wheelDelta: number;\r\n which: number;\r\n};\r\n\r\nconst topicPool = new Map<string, TopicCallback[]>();\r\n\r\nfunction getMouseButtonCode(event: MouseEvent | WheelEvent) {\r\n if (typeof event.which === 'number' && event.which > 0) {\r\n return event.which;\r\n }\r\n\r\n switch (event.button) {\r\n case 0:\r\n return 1;\r\n case 1:\r\n return 2;\r\n case 2:\r\n return 3;\r\n default:\r\n return 0;\r\n }\r\n}\r\n\r\nfunction getWheelDelta(event: MouseEvent | WheelEvent) {\r\n if ('wheelDelta' in event && typeof event.wheelDelta === 'number') {\r\n return event.wheelDelta;\r\n }\r\n\r\n if ('deltaY' in event && typeof event.deltaY === 'number') {\r\n return -event.deltaY * 40;\r\n }\r\n\r\n return 0;\r\n}\r\n\r\nexport function normalizeMouseEvent(event: MouseEvent | WheelEvent): NormalizedMouseEvent {\r\n const wrappedEvent = Object.create(event) as NormalizedMouseEvent;\r\n\r\n Object.defineProperties(wrappedEvent, {\r\n originalEvent: {\r\n value: event,\r\n enumerable: false,\r\n configurable: true,\r\n },\r\n wheelDelta: {\r\n value: getWheelDelta(event),\r\n enumerable: false,\r\n configurable: true,\r\n },\r\n which: {\r\n value: getMouseButtonCode(event),\r\n enumerable: false,\r\n configurable: true,\r\n },\r\n preventDefault: {\r\n value: event.preventDefault.bind(event),\r\n enumerable: false,\r\n configurable: true,\r\n },\r\n stopPropagation: {\r\n value: event.stopPropagation.bind(event),\r\n enumerable: false,\r\n configurable: true,\r\n },\r\n stopImmediatePropagation: {\r\n value: event.stopImmediatePropagation.bind(event),\r\n enumerable: false,\r\n configurable: true,\r\n },\r\n });\r\n\r\n return wrappedEvent;\r\n}\r\n\r\nexport function createElement(doc: Document, name: 'text', options: string): Text;\r\n// eslint-disable-next-line no-redeclare\r\nexport function createElement(doc: Document, name: string, options?: Exclude<ElementOptions, string>): HTMLElement;\r\n// eslint-disable-next-line no-redeclare\r\nexport function createElement(doc: Document, name: string, options?: ElementOptions) {\r\n if (name === 'text') {\r\n return doc.createTextNode(typeof options === 'string' ? options : '');\r\n }\r\n\r\n const node = doc.createElement(name);\r\n\r\n if (options && typeof options !== 'string') {\r\n if (options.className) {\r\n node.className = options.className;\r\n }\r\n\r\n if (options.content) {\r\n node.innerHTML = options.content;\r\n }\r\n }\r\n\r\n return node;\r\n}\r\n\r\nexport function addEvent(target: EventTarget | null, type: string, listener: (event: NormalizedMouseEvent) => void) {\r\n if (!target) {\r\n return;\r\n }\r\n\r\n target.addEventListener(type, (event) => {\r\n listener(normalizeMouseEvent(event as MouseEvent | WheelEvent));\r\n });\r\n}\r\n\r\nexport function delegateEvent(\r\n target: EventTarget | null,\r\n selector: string,\r\n type: string,\r\n listener: (this: Element, event: NormalizedMouseEvent) => void,\r\n) {\r\n if (!target) {\r\n return;\r\n }\r\n\r\n target.addEventListener(type, (event) => {\r\n const normalizedEvent = normalizeMouseEvent(event as MouseEvent | WheelEvent);\r\n let current = event.target instanceof Element ? event.target : null;\r\n\r\n while (current && current !== target) {\r\n if (current.matches(selector)) {\r\n listener.call(current, normalizedEvent);\r\n return;\r\n }\r\n current = current.parentElement;\r\n }\r\n });\r\n}\r\n\r\nexport function publish(topic: string, ...args: unknown[]) {\r\n const callbackList = topicPool.get(topic);\r\n\r\n if (!callbackList) {\r\n return;\r\n }\r\n\r\n callbackList.forEach((callback) => callback(...args));\r\n}\r\n\r\nexport function subscribe(topic: string, callback: TopicCallback) {\r\n const callbackList = topicPool.get(topic) ?? [];\r\n callbackList.push(callback);\r\n topicPool.set(topic, callbackList);\r\n}\r\n\r\nexport function getRectBox(node: Element) {\r\n return node.getBoundingClientRect();\r\n}\r\n\r\nexport function getClassList(node: Element) {\r\n return node.classList;\r\n}\r\n","import { addEvent, createElement, delegateEvent, getClassList, getRectBox, publish, subscribe } from '../dom-utils';\n\nexport const legacyUiUtils = {\n ele: createElement,\n getRectBox,\n on(target: EventTarget | null, type: string, fn: (event: Event) => void) {\n addEvent(target, type, fn);\n return this;\n },\n delegate(target: EventTarget | null, selector: string, type: string, fn: (event: Event) => void) {\n delegateEvent(target, selector, type, fn);\n return this;\n },\n publish(topic: string, ...args: unknown[]) {\n publish(topic, ...args);\n },\n subscribe,\n getClassList,\n};\n\nexport function createLegacyUiUtils() {\n return legacyUiUtils;\n}\n","export const FORMULAX_LOCALES = ['en_US', 'zh_CN'] as const;\n\nexport type FormulaXLocale = (typeof FORMULAX_LOCALES)[number];\n\nexport const DEFAULT_FORMULAX_LOCALE: FormulaXLocale = 'en_US';\n\nexport function normalizeFormulaXLocale(locale?: string): FormulaXLocale {\n if (locale === 'zh_CN') {\n return 'zh_CN';\n }\n\n return DEFAULT_FORMULAX_LOCALE;\n}\n","export const legacyOtherPosition = {\r\n \"x=\\\\frac {-b\\\\pm\\\\sqrt {b^2-4ac}}{2a}\": {\r\n \"pos\": {\r\n \"x\": 0,\r\n \"y\": 0\r\n },\r\n \"size\": {\r\n \"width\": 310,\r\n \"height\": 73\r\n }\r\n },\r\n \"{\\\\placeholder/\\\\placeholder}\": {\r\n \"pos\": {\r\n \"x\": 315,\r\n \"y\": 0\r\n },\r\n \"size\": {\r\n \"width\": 56,\r\n \"height\": 75\r\n }\r\n },\r\n \"\\\\frac \\\\placeholder\\\\placeholder\": {\r\n \"pos\": {\r\n \"x\": 376,\r\n \"y\": 0\r\n },\r\n \"size\": {\r\n \"width\": 56,\r\n \"height\": 75\r\n }\r\n },\r\n \"a^2+b^2=c^2\": {\r\n \"pos\": {\r\n \"x\": 437,\r\n \"y\": 0\r\n },\r\n \"size\": {\r\n \"width\": 310,\r\n \"height\": 73\r\n }\r\n },\r\n \"{\\\\left(x+a\\\\right)}^2=\\\\sum^n_{k=0}{\\\\left(^n_k\\\\right)x^ka^{n-k}}\": {\r\n \"pos\": {\r\n \"x\": 752,\r\n \"y\": 0\r\n },\r\n \"size\": {\r\n \"width\": 310,\r\n \"height\": 73\r\n }\r\n },\r\n \"\\\\frac {dy}{dx}\": {\r\n \"pos\": {\r\n \"x\": 1067,\r\n \"y\": 0\r\n },\r\n \"size\": {\r\n \"width\": 56,\r\n \"height\": 75\r\n }\r\n },\r\n \"\\\\frac {\\\\Delta y}{\\\\Delta x}\": {\r\n \"pos\": {\r\n \"x\": 1128,\r\n \"y\": 0\r\n },\r\n \"size\": {\r\n \"width\": 56,\r\n \"height\": 75\r\n }\r\n },\r\n \"\\\\frac {\\\\delta y}{\\\\delta x}\": {\r\n \"pos\": {\r\n \"x\": 1189,\r\n \"y\": 0\r\n },\r\n \"size\": {\r\n \"width\": 56,\r\n \"height\": 75\r\n }\r\n },\r\n \"\\\\frac \\\\pi 2\": {\r\n \"pos\": {\r\n \"x\": 1250,\r\n \"y\": 0\r\n },\r\n \"size\": {\r\n \"width\": 56,\r\n \"height\": 75\r\n }\r\n },\r\n \"\\\\placeholder^\\\\placeholder\": {\r\n \"pos\": {\r\n \"x\": 1311,\r\n \"y\": 0\r\n },\r\n \"size\": {\r\n \"width\": 56,\r\n \"height\": 75\r\n }\r\n },\r\n \"\\\\placeholder^\\\\placeholder_\\\\placeholder\": {\r\n \"pos\": {\r\n \"x\": 1372,\r\n \"y\": 0\r\n },\r\n \"size\": {\r\n \"width\": 56,\r\n \"height\": 75\r\n }\r\n },\r\n \"\\\\placeholder_\\\\placeholder\": {\r\n \"pos\": {\r\n \"x\": 1433,\r\n \"y\": 0\r\n },\r\n \"size\": {\r\n \"width\": 56,\r\n \"height\": 75\r\n }\r\n },\r\n \"{^\\\\placeholder_\\\\placeholder\\\\placeholder}\": {\r\n \"pos\": {\r\n \"x\": 1494,\r\n \"y\": 0\r\n },\r\n \"size\": {\r\n \"width\": 56,\r\n \"height\": 75\r\n }\r\n },\r\n \"e^{-i\\\\omega t}\": {\r\n \"pos\": {\r\n \"x\": 1555,\r\n \"y\": 0\r\n },\r\n \"size\": {\r\n \"width\": 56,\r\n \"height\": 75\r\n }\r\n },\r\n \"x^2\": {\r\n \"pos\": {\r\n \"x\": 1616,\r\n \"y\": 0\r\n },\r\n \"size\": {\r\n \"width\": 56,\r\n \"height\": 75\r\n }\r\n },\r\n \"{}^n_1Y\": {\r\n \"pos\": {\r\n \"x\": 1677,\r\n \"y\": 0\r\n },\r\n \"size\": {\r\n \"width\": 56,\r\n \"height\": 75\r\n }\r\n },\r\n \"\\\\sqrt \\\\placeholder\": {\r\n \"pos\": {\r\n \"x\": 1738,\r\n \"y\": 0\r\n },\r\n \"size\": {\r\n \"width\": 56,\r\n \"height\": 75\r\n }\r\n },\r\n \"\\\\sqrt [\\\\placeholder] \\\\placeholder\": {\r\n \"pos\": {\r\n \"x\": 1799,\r\n \"y\": 0\r\n },\r\n \"size\": {\r\n \"width\": 56,\r\n \"height\": 75\r\n }\r\n },\r\n \"\\\\sqrt [2] \\\\placeholder\": {\r\n \"pos\": {\r\n \"x\": 1860,\r\n \"y\": 0\r\n },\r\n \"size\": {\r\n \"width\": 56,\r\n \"height\": 75\r\n }\r\n },\r\n \"\\\\sqrt [3] \\\\placeholder\": {\r\n \"pos\": {\r\n \"x\": 1921,\r\n \"y\": 0\r\n },\r\n \"size\": {\r\n \"width\": 56,\r\n \"height\": 75\r\n }\r\n },\r\n \"\\\\frac {-b\\\\pm\\\\sqrt{b^2-4ac}}{2a}\": {\r\n \"pos\": {\r\n \"x\": 1982,\r\n \"y\": 0\r\n },\r\n \"size\": {\r\n \"width\": 137,\r\n \"height\": 75\r\n }\r\n },\r\n \"\\\\sqrt {a^2+b^2}\": {\r\n \"pos\": {\r\n \"x\": 2124,\r\n \"y\": 0\r\n },\r\n \"size\": {\r\n \"width\": 137,\r\n \"height\": 75\r\n }\r\n },\r\n \"\\\\int \\\\placeholder\": {\r\n \"pos\": {\r\n \"x\": 2266,\r\n \"y\": 0\r\n },\r\n \"size\": {\r\n \"width\": 56,\r\n \"height\": 75\r\n }\r\n },\r\n \"\\\\int^\\\\placeholder_\\\\placeholder\\\\placeholder\": {\r\n \"pos\": {\r\n \"x\": 2327,\r\n \"y\": 0\r\n },\r\n \"size\": {\r\n \"width\": 56,\r\n \"height\": 75\r\n }\r\n },\r\n \"\\\\iint\\\\placeholder\": {\r\n \"pos\": {\r\n \"x\": 2388,\r\n \"y\": 0\r\n },\r\n \"size\": {\r\n \"width\": 56,\r\n \"height\": 75\r\n }\r\n },\r\n \"\\\\iint^\\\\placeholder_\\\\placeholder\\\\placeholder\": {\r\n \"pos\": {\r\n \"x\": 2449,\r\n \"y\": 0\r\n },\r\n \"size\": {\r\n \"width\": 56,\r\n \"height\": 75\r\n }\r\n },\r\n \"\\\\iiint\\\\placeholder\": {\r\n \"pos\": {\r\n \"x\": 2510,\r\n \"y\": 0\r\n },\r\n \"size\": {\r\n \"width\": 56,\r\n \"height\": 75\r\n }\r\n },\r\n \"\\\\iiint^\\\\placeholder_\\\\placeholder\\\\placeholder\": {\r\n \"pos\": {\r\n \"x\": 2571,\r\n \"y\": 0\r\n },\r\n \"size\": {\r\n \"width\": 56,\r\n \"height\": 75\r\n }\r\n },\r\n \"\\\\sum\\\\placeholder\": {\r\n \"pos\": {\r\n \"x\": 2632,\r\n \"y\": 0\r\n },\r\n \"size\": {\r\n \"width\": 56,\r\n \"height\": 75\r\n }\r\n },\r\n \"\\\\sum^\\\\placeholder_\\\\placeholder\\\\placeholder\": {\r\n \"pos\": {\r\n \"x\": 2693,\r\n \"y\": 0\r\n },\r\n \"size\": {\r\n \"width\": 56,\r\n \"height\": 75\r\n }\r\n },\r\n \"\\\\sum_\\\\placeholder\\\\placeholder\": {\r\n \"pos\": {\r\n \"x\": 2754,\r\n \"y\": 0\r\n },\r\n \"size\": {\r\n \"width\": 56,\r\n \"height\": 75\r\n }\r\n },\r\n \"\\\\left(\\\\placeholder\\\\right)\": {\r\n \"pos\": {\r\n \"x\": 2815,\r\n \"y\": 0\r\n },\r\n \"size\": {\r\n \"width\": 56,\r\n \"height\": 75\r\n }\r\n },\r\n \"\\\\left[\\\\placeholder\\\\right]\": {\r\n \"pos\": {\r\n \"x\": 2876,\r\n \"y\": 0\r\n },\r\n \"size\": {\r\n \"width\": 56,\r\n \"height\": 75\r\n }\r\n },\r\n \"\\\\left\\\\{\\\\placeholder\\\\right\\\\}\": {\r\n \"pos\": {\r\n \"x\": 2937,\r\n \"y\": 0\r\n },\r\n \"size\": {\r\n \"width\": 56,\r\n \"height\": 75\r\n }\r\n },\r\n \"\\\\left|\\\\placeholder\\\\right|\": {\r\n \"pos\": {\r\n \"x\": 2998,\r\n \"y\": 0\r\n },\r\n \"size\": {\r\n \"width\": 56,\r\n \"height\": 75\r\n }\r\n },\r\n \"\\\\sin\\\\placeholder\": {\r\n \"pos\": {\r\n \"x\": 3059,\r\n \"y\": 0\r\n },\r\n \"size\": {\r\n \"width\": 56,\r\n \"height\": 75\r\n }\r\n },\r\n \"\\\\cos\\\\placeholder\": {\r\n \"pos\": {\r\n \"x\": 3120,\r\n \"y\": 0\r\n },\r\n \"size\": {\r\n \"width\": 56,\r\n \"height\": 75\r\n }\r\n },\r\n \"\\\\tan\\\\placeholder\": {\r\n \"pos\": {\r\n \"x\": 3181,\r\n \"y\": 0\r\n },\r\n \"size\": {\r\n \"width\": 56,\r\n \"height\": 75\r\n }\r\n },\r\n \"\\\\csc\\\\placeholder\": {\r\n \"pos\": {\r\n \"x\": 3242,\r\n \"y\": 0\r\n },\r\n \"size\": {\r\n \"width\": 56,\r\n \"height\": 75\r\n }\r\n },\r\n \"\\\\sec\\\\placeholder\": {\r\n \"pos\": {\r\n \"x\": 3303,\r\n \"y\": 0\r\n },\r\n \"size\": {\r\n \"width\": 56,\r\n \"height\": 75\r\n }\r\n },\r\n \"\\\\cot\\\\placeholder\": {\r\n \"pos\": {\r\n \"x\": 3364,\r\n \"y\": 0\r\n },\r\n \"size\": {\r\n \"width\": 56,\r\n \"height\": 75\r\n }\r\n },\r\n \"\\\\sin\\\\theta\": {\r\n \"pos\": {\r\n \"x\": 3425,\r\n \"y\": 0\r\n },\r\n \"size\": {\r\n \"width\": 56,\r\n \"height\": 75\r\n }\r\n },\r\n \"\\\\cos{2x}\": {\r\n \"pos\": {\r\n \"x\": 3486,\r\n \"y\": 0\r\n },\r\n \"size\": {\r\n \"width\": 56,\r\n \"height\": 75\r\n }\r\n },\r\n \"\\\\tan\\\\theta=\\\\frac {\\\\sin\\\\theta}{\\\\cos\\\\theta}\": {\r\n \"pos\": {\r\n \"x\": 3547,\r\n \"y\": 0\r\n },\r\n \"size\": {\r\n \"width\": 137,\r\n \"height\": 75\r\n }\r\n }\r\n } as const;\r\n","import { kityToolbarAssets } from './asset-manifest';\n\nlet toolbarAssetFileMap: Record<string, string> = {\n 'btn.png': kityToolbarAssets.btn,\n 'other.png': kityToolbarAssets.other,\n};\n\nexport function setToolbarAssetUrls(assets: { btn: string; other: string }): void {\n toolbarAssetFileMap = {\n 'btn.png': assets.btn,\n 'other.png': assets.other,\n };\n}\n\nexport function resolveToolbarAssetPath(fileName: string, preferSvg = false): string {\n const normalizedFileName =\n preferSvg && fileName.toLowerCase().endsWith('.png')\n ? `${fileName.slice(0, -4)}.svg`\n : fileName;\n\n const mapped = toolbarAssetFileMap[normalizedFileName];\n if (mapped) {\n return mapped;\n }\n\n throw new Error(`Missing Kity toolbar asset URL for \"${normalizedFileName}\".`);\n}\n"],"mappings":"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","names":["eventHandler","isArray","isString","result","isArray","isString"]}