@clusterenvision/ui-framework 1.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.
Files changed (193) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +295 -0
  3. package/dist/ai-assistant-Db002XYC.d.ts +92 -0
  4. package/dist/ai-assistant-EobSUV70.d.cts +92 -0
  5. package/dist/browser-DnHpnWwE.d.cts +354 -0
  6. package/dist/browser-Dx4oKf5e.d.ts +354 -0
  7. package/dist/browser-signals-07qodpYT.d.cts +66 -0
  8. package/dist/browser-signals-07qodpYT.d.ts +66 -0
  9. package/dist/browser-signals.cjs +32 -0
  10. package/dist/browser-signals.cjs.map +1 -0
  11. package/dist/browser-signals.d.cts +1 -0
  12. package/dist/browser-signals.d.ts +1 -0
  13. package/dist/browser-signals.js +3 -0
  14. package/dist/browser-signals.js.map +1 -0
  15. package/dist/browser.cjs +197 -0
  16. package/dist/browser.cjs.map +1 -0
  17. package/dist/browser.d.cts +13 -0
  18. package/dist/browser.d.ts +13 -0
  19. package/dist/browser.js +12 -0
  20. package/dist/browser.js.map +1 -0
  21. package/dist/chunk-22HQL2Y4.js +568 -0
  22. package/dist/chunk-22HQL2Y4.js.map +1 -0
  23. package/dist/chunk-3ZBRNFEE.js +1525 -0
  24. package/dist/chunk-3ZBRNFEE.js.map +1 -0
  25. package/dist/chunk-4HRORR2Q.js +1953 -0
  26. package/dist/chunk-4HRORR2Q.js.map +1 -0
  27. package/dist/chunk-4L3UXVL5.cjs +68 -0
  28. package/dist/chunk-4L3UXVL5.cjs.map +1 -0
  29. package/dist/chunk-6BYWFGQY.cjs +226 -0
  30. package/dist/chunk-6BYWFGQY.cjs.map +1 -0
  31. package/dist/chunk-7SCIB5HP.js +57 -0
  32. package/dist/chunk-7SCIB5HP.js.map +1 -0
  33. package/dist/chunk-BBAUALNU.js +888 -0
  34. package/dist/chunk-BBAUALNU.js.map +1 -0
  35. package/dist/chunk-CHLDE4JQ.js +715 -0
  36. package/dist/chunk-CHLDE4JQ.js.map +1 -0
  37. package/dist/chunk-CXTAUXLG.cjs +71 -0
  38. package/dist/chunk-CXTAUXLG.cjs.map +1 -0
  39. package/dist/chunk-D2USIT6V.js +121 -0
  40. package/dist/chunk-D2USIT6V.js.map +1 -0
  41. package/dist/chunk-D3H5CGVD.js +36 -0
  42. package/dist/chunk-D3H5CGVD.js.map +1 -0
  43. package/dist/chunk-DQBX75NJ.js +92 -0
  44. package/dist/chunk-DQBX75NJ.js.map +1 -0
  45. package/dist/chunk-DRPG2DFX.js +208 -0
  46. package/dist/chunk-DRPG2DFX.js.map +1 -0
  47. package/dist/chunk-EFOOXCY7.cjs +41 -0
  48. package/dist/chunk-EFOOXCY7.cjs.map +1 -0
  49. package/dist/chunk-FFCZSYC7.cjs +906 -0
  50. package/dist/chunk-FFCZSYC7.cjs.map +1 -0
  51. package/dist/chunk-FNXIYAET.cjs +1593 -0
  52. package/dist/chunk-FNXIYAET.cjs.map +1 -0
  53. package/dist/chunk-I6GNUM3P.cjs +63 -0
  54. package/dist/chunk-I6GNUM3P.cjs.map +1 -0
  55. package/dist/chunk-IHAMVLRY.js +129 -0
  56. package/dist/chunk-IHAMVLRY.js.map +1 -0
  57. package/dist/chunk-IRBUKIRF.cjs +133 -0
  58. package/dist/chunk-IRBUKIRF.cjs.map +1 -0
  59. package/dist/chunk-KPG5HAHK.cjs +97 -0
  60. package/dist/chunk-KPG5HAHK.cjs.map +1 -0
  61. package/dist/chunk-N7Q2ESLG.cjs +130 -0
  62. package/dist/chunk-N7Q2ESLG.cjs.map +1 -0
  63. package/dist/chunk-PFBEIFVS.js +180 -0
  64. package/dist/chunk-PFBEIFVS.js.map +1 -0
  65. package/dist/chunk-PVZVFICK.cjs +318 -0
  66. package/dist/chunk-PVZVFICK.cjs.map +1 -0
  67. package/dist/chunk-Q3KH6HMU.js +305 -0
  68. package/dist/chunk-Q3KH6HMU.js.map +1 -0
  69. package/dist/chunk-QPAAV32J.cjs +1985 -0
  70. package/dist/chunk-QPAAV32J.cjs.map +1 -0
  71. package/dist/chunk-R6XQUMWT.cjs +61 -0
  72. package/dist/chunk-R6XQUMWT.cjs.map +1 -0
  73. package/dist/chunk-SA5UD5B6.js +92 -0
  74. package/dist/chunk-SA5UD5B6.js.map +1 -0
  75. package/dist/chunk-SM35JOYD.cjs +211 -0
  76. package/dist/chunk-SM35JOYD.cjs.map +1 -0
  77. package/dist/chunk-SZQNIMYI.cjs +592 -0
  78. package/dist/chunk-SZQNIMYI.cjs.map +1 -0
  79. package/dist/chunk-T6T7QE4J.js +224 -0
  80. package/dist/chunk-T6T7QE4J.js.map +1 -0
  81. package/dist/chunk-TIF372DZ.js +65 -0
  82. package/dist/chunk-TIF372DZ.js.map +1 -0
  83. package/dist/chunk-V6JCOBGY.js +69 -0
  84. package/dist/chunk-V6JCOBGY.js.map +1 -0
  85. package/dist/chunk-VHUXNDW2.cjs +189 -0
  86. package/dist/chunk-VHUXNDW2.cjs.map +1 -0
  87. package/dist/chunk-W3LNNY3U.cjs +729 -0
  88. package/dist/chunk-W3LNNY3U.cjs.map +1 -0
  89. package/dist/chunk-ZUWSU4OA.js +61 -0
  90. package/dist/chunk-ZUWSU4OA.js.map +1 -0
  91. package/dist/chunk-ZWUA2LPB.cjs +103 -0
  92. package/dist/chunk-ZWUA2LPB.cjs.map +1 -0
  93. package/dist/cli/index.cjs +566 -0
  94. package/dist/cli/index.cjs.map +1 -0
  95. package/dist/cli/index.d.cts +1 -0
  96. package/dist/cli/index.d.ts +1 -0
  97. package/dist/cli/index.js +558 -0
  98. package/dist/cli/index.js.map +1 -0
  99. package/dist/compiler/index.cjs +80 -0
  100. package/dist/compiler/index.cjs.map +1 -0
  101. package/dist/compiler/index.d.cts +130 -0
  102. package/dist/compiler/index.d.ts +130 -0
  103. package/dist/compiler/index.js +3 -0
  104. package/dist/compiler/index.js.map +1 -0
  105. package/dist/component-BVzvepw9.d.cts +90 -0
  106. package/dist/component-wTxZ2BPD.d.ts +90 -0
  107. package/dist/index-CpxDa60m.d.cts +644 -0
  108. package/dist/index-CpxDa60m.d.ts +644 -0
  109. package/dist/index.cjs +1356 -0
  110. package/dist/index.cjs.map +1 -0
  111. package/dist/index.d.cts +165 -0
  112. package/dist/index.d.ts +165 -0
  113. package/dist/index.js +772 -0
  114. package/dist/index.js.map +1 -0
  115. package/dist/lib/dom.cjs +102 -0
  116. package/dist/lib/dom.cjs.map +1 -0
  117. package/dist/lib/dom.d.cts +373 -0
  118. package/dist/lib/dom.d.ts +373 -0
  119. package/dist/lib/dom.js +3 -0
  120. package/dist/lib/dom.js.map +1 -0
  121. package/dist/lib/icons.cjs +20 -0
  122. package/dist/lib/icons.cjs.map +1 -0
  123. package/dist/lib/icons.d.cts +64 -0
  124. package/dist/lib/icons.d.ts +64 -0
  125. package/dist/lib/icons.js +3 -0
  126. package/dist/lib/icons.js.map +1 -0
  127. package/dist/lib/index.cjs +247 -0
  128. package/dist/lib/index.cjs.map +1 -0
  129. package/dist/lib/index.d.cts +30 -0
  130. package/dist/lib/index.d.ts +30 -0
  131. package/dist/lib/index.js +92 -0
  132. package/dist/lib/index.js.map +1 -0
  133. package/dist/lib/theme.cjs +56 -0
  134. package/dist/lib/theme.cjs.map +1 -0
  135. package/dist/lib/theme.d.cts +27 -0
  136. package/dist/lib/theme.d.ts +27 -0
  137. package/dist/lib/theme.js +3 -0
  138. package/dist/lib/theme.js.map +1 -0
  139. package/dist/router-B9kms5XQ.d.ts +124 -0
  140. package/dist/router-YnpW_sIK.d.cts +124 -0
  141. package/dist/runtime/adapters/angular.cjs +48 -0
  142. package/dist/runtime/adapters/angular.cjs.map +1 -0
  143. package/dist/runtime/adapters/angular.d.cts +38 -0
  144. package/dist/runtime/adapters/angular.d.ts +38 -0
  145. package/dist/runtime/adapters/angular.js +46 -0
  146. package/dist/runtime/adapters/angular.js.map +1 -0
  147. package/dist/runtime/adapters/react.cjs +41 -0
  148. package/dist/runtime/adapters/react.cjs.map +1 -0
  149. package/dist/runtime/adapters/react.d.cts +26 -0
  150. package/dist/runtime/adapters/react.d.ts +26 -0
  151. package/dist/runtime/adapters/react.js +39 -0
  152. package/dist/runtime/adapters/react.js.map +1 -0
  153. package/dist/runtime/adapters/vue.cjs +44 -0
  154. package/dist/runtime/adapters/vue.cjs.map +1 -0
  155. package/dist/runtime/adapters/vue.d.cts +37 -0
  156. package/dist/runtime/adapters/vue.d.ts +37 -0
  157. package/dist/runtime/adapters/vue.js +42 -0
  158. package/dist/runtime/adapters/vue.js.map +1 -0
  159. package/dist/runtime/components/ai-assistant.cjs +18 -0
  160. package/dist/runtime/components/ai-assistant.cjs.map +1 -0
  161. package/dist/runtime/components/ai-assistant.d.cts +8 -0
  162. package/dist/runtime/components/ai-assistant.d.ts +8 -0
  163. package/dist/runtime/components/ai-assistant.js +9 -0
  164. package/dist/runtime/components/ai-assistant.js.map +1 -0
  165. package/dist/runtime/components/ai-summary-card.cjs +18 -0
  166. package/dist/runtime/components/ai-summary-card.cjs.map +1 -0
  167. package/dist/runtime/components/ai-summary-card.d.cts +19 -0
  168. package/dist/runtime/components/ai-summary-card.d.ts +19 -0
  169. package/dist/runtime/components/ai-summary-card.js +9 -0
  170. package/dist/runtime/components/ai-summary-card.js.map +1 -0
  171. package/dist/runtime/router.cjs +429 -0
  172. package/dist/runtime/router.cjs.map +1 -0
  173. package/dist/runtime/router.d.cts +2 -0
  174. package/dist/runtime/router.d.ts +2 -0
  175. package/dist/runtime/router.js +421 -0
  176. package/dist/runtime/router.js.map +1 -0
  177. package/dist/runtime/server.cjs +125 -0
  178. package/dist/runtime/server.cjs.map +1 -0
  179. package/dist/runtime/server.d.cts +27 -0
  180. package/dist/runtime/server.d.ts +27 -0
  181. package/dist/runtime/server.js +117 -0
  182. package/dist/runtime/server.js.map +1 -0
  183. package/dist/runtime/workflow/index.cjs +282 -0
  184. package/dist/runtime/workflow/index.cjs.map +1 -0
  185. package/dist/runtime/workflow/index.d.cts +1 -0
  186. package/dist/runtime/workflow/index.d.ts +1 -0
  187. package/dist/runtime/workflow/index.js +5 -0
  188. package/dist/runtime/workflow/index.js.map +1 -0
  189. package/dist/tracing-DGdvMCEl.d.cts +109 -0
  190. package/dist/tracing-DGdvMCEl.d.ts +109 -0
  191. package/dist/types-C4RXXKfk.d.cts +76 -0
  192. package/dist/types-C4RXXKfk.d.ts +76 -0
  193. package/package.json +166 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/runtime/router.js","../src/runtime/router-provider.js","../src/runtime/server.js","../src/runtime/ssr-app.js","../src/runtime/error-boundary-context.ts","../src/runtime/error-boundary.ts","../src/runtime/hydration-diagnostics.js"],"names":["options","match","URL","fs"],"mappings":"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","file":"index.js","sourcesContent":["import { captureRuntimeError, withRuntimeErrorBoundary } from './errors.js';\nimport { signal } from './signals.js';\nimport { cacheRouteDataResult, clearRouteDataResult } from './route-data-registry.js';\nimport { flattenRoutes, getRouteId, matchRoute, normalizePathname } from './router-utils.js';\nconst CONTINUE_NAVIGATION = { type: 'continue' };\nconst MAX_GUARD_REDIRECTS = 8;\nexport function allowNavigation() {\n return CONTINUE_NAVIGATION;\n}\nexport function redirectNavigation(to, options) {\n return { type: 'redirect', to, options };\n}\nexport function errorNavigation(error, info) {\n return { type: 'error', error, info: info ?? null };\n}\nexport function createRouter(input) {\n const options = normalizeRouterOptions(input);\n const flattened = flattenRoutes(options.routes);\n const notFoundRoute = normalizeFallbackRoute(options.notFoundRoute, 'not-found', '*');\n const errorRoute = normalizeFallbackRoute(options.errorRoute, 'error', '/__error');\n const initialPath = typeof window !== 'undefined' ? window.location.pathname : '/';\n const currentPath = signal(initialPath);\n const currentMatchSignal = signal(resolveMatch(initialPath));\n function resolveMatch(path) {\n for (const node of flattened) {\n const params = matchRoute(path, node.fullPath);\n if (params) {\n return instantiateMatch(node, params);\n }\n }\n if (notFoundRoute) {\n return createFallbackMatch(notFoundRoute, path, 'not-found');\n }\n return null;\n }\n function instantiateMatch(node, params) {\n const layouts = collectLayouts(node.branch, node.fullPath, params);\n const routeBoundary = createRouterBoundaryState('route', normalizeBoundaryConfig('route', node.route.boundary, {\n routeId: getRouteId(node.route),\n path: node.fullPath,\n params,\n }));\n return {\n route: node.route,\n params,\n fullPath: node.fullPath,\n layouts,\n boundary: routeBoundary,\n };\n }\n function collectLayouts(branch, fullPath, params) {\n const states = [];\n branch.forEach(route => {\n (route.layouts ?? []).forEach((layout, index) => {\n states.push(createRouterBoundaryState('layout', normalizeBoundaryConfig('layout', layout, {\n routeId: getRouteId(route),\n path: fullPath,\n layoutIndex: index,\n params,\n })));\n });\n });\n return states;\n }\n function createFallbackMatch(route, requestedPath, reason, error, errorMessage) {\n const normalizedPath = normalizePathname(requestedPath);\n const params = matchRoute(normalizedPath, route.path) ?? {};\n const statusCode = reason === 'not-found' ? 404 : 500;\n const boundaryConfig = {\n ...(route.boundary ?? {}),\n attributes: {\n ...(route.boundary?.attributes ?? {}),\n requestedPath: normalizedPath,\n statusCode,\n reason,\n errorMessage: errorMessage ?? error?.message,\n },\n };\n const layouts = collectLayouts([route], normalizedPath, params);\n const routeBoundary = createRouterBoundaryState('route', normalizeBoundaryConfig('route', boundaryConfig, {\n routeId: getRouteId(route),\n path: normalizedPath,\n params,\n }));\n return {\n route,\n params,\n fullPath: normalizedPath,\n layouts,\n boundary: routeBoundary,\n };\n }\n function match(path) {\n const resolved = resolveMatch(path ?? currentPath());\n if (path === undefined) {\n currentMatchSignal.set(resolved);\n }\n return resolved;\n }\n function navigate(path, options) {\n return runNavigation(path, options, 0);\n }\n function onPopState() {\n if (typeof window === 'undefined') {\n return;\n }\n const nextPath = window.location.pathname;\n runNavigation(nextPath, { replace: true }, 0);\n }\n const start = () => {\n if (typeof window === 'undefined') {\n return;\n }\n window.addEventListener('popstate', onPopState);\n };\n const dispose = () => {\n if (typeof window === 'undefined') {\n return;\n }\n window.removeEventListener('popstate', onPopState);\n };\n function runNavigation(path, options, depth) {\n const resolved = resolveMatch(path);\n if (!resolved) {\n applyHistory(path, options);\n currentPath.set(path);\n currentMatchSignal.set(null);\n return null;\n }\n const guardResult = runRouteGuards(resolved);\n if (guardResult.type === 'redirect') {\n if (depth >= MAX_GUARD_REDIRECTS) {\n throw new Error('Router redirect loop detected.');\n }\n const nextOptions = { ...options, ...guardResult.options, replace: true };\n return runNavigation(guardResult.to, nextOptions, depth + 1);\n }\n if (guardResult.type === 'error') {\n const info = guardResult.info ?? createGuardErrorInfo(resolved);\n const rawMessage = guardResult.error.message;\n if (errorRoute) {\n try {\n captureRuntimeError(guardResult.error, info);\n }\n catch {\n // Guard error is surfaced via fallback routes; avoid throwing.\n }\n const errorMatch = createFallbackMatch(errorRoute, path, 'error', guardResult.error, rawMessage);\n applyHistory(path, options);\n currentPath.set(path);\n currentMatchSignal.set(errorMatch);\n return errorMatch;\n }\n captureRuntimeError(guardResult.error, info);\n return currentMatchSignal();\n }\n applyHistory(path, options);\n currentPath.set(path);\n currentMatchSignal.set(resolved);\n return resolved;\n }\n function applyHistory(path, options) {\n if (typeof window === 'undefined') {\n return;\n }\n const historyState = (options?.state) ?? {};\n if (options?.replace) {\n window.history.replaceState(historyState, '', path);\n }\n else {\n window.history.pushState(historyState, '', path);\n }\n }\n function runRouteGuards(match) {\n const guards = match.route.guards ?? [];\n for (const guard of guards) {\n const result = guard({ match, params: match.params }) ?? CONTINUE_NAVIGATION;\n if (result.type !== 'continue') {\n return result;\n }\n }\n return CONTINUE_NAVIGATION;\n }\n function createGuardErrorInfo(match) {\n return {\n phase: 'navigation',\n componentName: match.boundary.definition.componentName,\n componentInstanceId: match.boundary.id,\n templateId: match.boundary.definition.templateId,\n attributes: {\n routeId: match.route.id ?? match.fullPath,\n fullPath: match.fullPath,\n },\n };\n }\n return {\n currentPath,\n currentMatch: currentMatchSignal,\n navigate,\n match,\n start,\n dispose,\n };\n}\nfunction normalizeRouterOptions(input) {\n if (Array.isArray(input)) {\n return { routes: input };\n }\n return input;\n}\nfunction normalizeFallbackRoute(route, fallbackId, fallbackPath) {\n if (!route) {\n return undefined;\n }\n return {\n ...route,\n id: route.id ?? fallbackId,\n path: route.path ?? fallbackPath,\n };\n}\nexport async function runRouteLoader(match, args) {\n const result = await executeRouteHandler('loader', match.route.loader, match, args);\n updateRouteDataCache(match, result);\n return result;\n}\nexport async function runRouteAction(match, args) {\n const result = await executeRouteHandler('action', match.route.action, match, args);\n updateRouteDataCache(match, result);\n return result;\n}\nexport async function prefetchRoute(match, options) {\n await Promise.resolve(match.route.component());\n if (options?.loadData) {\n await runRouteLoader(match, options.loaderArgs);\n }\n}\nfunction normalizeBoundaryConfig(kind, config, context) {\n const layoutSuffix = typeof context.layoutIndex === 'number' ? `:${String(context.layoutIndex)}` : '';\n const fallbackId = `${kind}:${context.routeId}${layoutSuffix}`;\n const componentName = config?.componentName ?? config?.name ?? context.routeId;\n const attributes = {\n ...(config?.attributes ?? {}),\n routeId: context.routeId,\n path: context.path,\n layoutIndex: context.layoutIndex,\n params: context.params ? { ...context.params } : undefined,\n };\n return {\n ...config,\n id: config?.id ?? fallbackId,\n name: config?.name ?? componentName,\n componentName,\n attributes,\n };\n}\nfunction createRouterBoundaryState(kind, definition) {\n const state = {\n id: definition.id,\n kind,\n definition,\n boundary: {\n id: definition.id,\n handle(error, info) {\n state.error = error;\n state.info = info;\n if (definition.onError) {\n try {\n const handled = definition.onError(error, info);\n if (handled === false) {\n return false;\n }\n }\n catch (hookError) {\n state.error = hookError instanceof Error ? hookError : new Error(String(hookError));\n state.info = info;\n }\n }\n return true;\n },\n },\n error: null,\n info: null,\n reset() {\n state.error = null;\n state.info = null;\n },\n };\n return state;\n}\nasync function executeRouteHandler(kind, handler, match, args) {\n const startedAt = Date.now();\n if (!handler) {\n return {\n handled: true,\n startedAt,\n endedAt: startedAt,\n durationMs: 0,\n };\n }\n const normalizedArgs = normalizeHandlerArgs(match, args);\n const boundaries = [...match.layouts, match.boundary];\n boundaries.forEach(boundary => {\n boundary.reset();\n });\n try {\n const data = await runWithBoundaries(boundaries, () => invokeRouteHandler(handler, kind, match, normalizedArgs));\n const boundaryError = firstErroredBoundary(boundaries);\n const endedAt = Date.now();\n if (boundaryError) {\n return {\n handled: true,\n error: boundaryError.error ?? undefined,\n info: boundaryError.info ?? null,\n startedAt,\n endedAt,\n durationMs: endedAt - startedAt,\n };\n }\n return {\n handled: true,\n data,\n info: null,\n startedAt,\n endedAt,\n durationMs: endedAt - startedAt,\n };\n }\n catch (error) {\n const normalized = error instanceof Error ? error : new Error(String(error));\n const endedAt = Date.now();\n return {\n handled: false,\n error: normalized,\n info: null,\n startedAt,\n endedAt,\n durationMs: endedAt - startedAt,\n };\n }\n}\nfunction normalizeHandlerArgs(match, args) {\n return {\n params: (args?.params) ?? match.params,\n request: args?.request,\n signal: args?.signal,\n context: args?.context,\n };\n}\nfunction runWithBoundaries(boundaries, run) {\n return boundaries.reduceRight((next, boundary) => {\n return () => withRuntimeErrorBoundary(boundary.boundary, next);\n }, run)();\n}\nfunction invokeRouteHandler(handler, kind, match, args) {\n const phase = kind === 'loader' ? 'loader' : 'action';\n const info = createHandlerErrorInfo(phase, match, args);\n try {\n const result = handler(args);\n if (isPromiseLike(result)) {\n return result.catch((error) => {\n const handled = captureRuntimeError(error, info);\n if (!handled) {\n throw error;\n }\n return undefined;\n });\n }\n return result;\n }\n catch (error) {\n const handled = captureRuntimeError(error, info);\n if (!handled) {\n throw error;\n }\n return undefined;\n }\n}\nfunction createHandlerErrorInfo(phase, match, args) {\n const attributes = {\n ...match.boundary.definition.attributes,\n params: args.params,\n requestMethod: args.request?.method,\n layoutStack: match.layouts.map(layout => layout.definition.id),\n };\n return {\n phase,\n componentName: match.boundary.definition.componentName,\n componentInstanceId: match.boundary.id,\n templateId: match.boundary.definition.templateId,\n attributes,\n };\n}\nfunction firstErroredBoundary(boundaries) {\n for (let i = boundaries.length - 1; i >= 0; i -= 1) {\n if (boundaries[i].error) {\n return boundaries[i];\n }\n }\n return undefined;\n}\nfunction isPromiseLike(value) {\n return Boolean(value) && typeof value === 'object' && 'then' in value;\n}\nfunction updateRouteDataCache(match, result) {\n if (result.handled) {\n cacheRouteDataResult(match, result);\n return;\n }\n clearRouteDataResult(match);\n}\n","import { renderComponent } from './component.js';\nexport function renderRouterApp(component, options) {\n return renderComponent(component, options);\n}\n","import http from 'node:http';\nimport { URL } from 'node:url';\nimport { promises as fs } from 'node:fs';\nexport function createHttpApp() {\n const middlewares = [];\n const runMiddlewares = async (ctx, index = 0) => {\n if (index >= middlewares.length) {\n return;\n }\n const next = () => {\n return runMiddlewares(ctx, index + 1);\n };\n await middlewares[index](ctx, next);\n };\n return {\n use(middleware) {\n middlewares.push(middleware);\n return this;\n },\n handle(req, res) {\n const host = req.headers.host ?? 'localhost';\n const url = new URL(req.url ?? '/', `http://${host}`);\n const ctx = { req, res, url, state: {} };\n runMiddlewares(ctx).catch((err) => {\n res.statusCode = 500;\n res.end(err instanceof Error ? err.message : 'Unknown error');\n });\n },\n listen(port) {\n const server = http.createServer((req, res) => this.handle(req, res));\n return new Promise(resolve => {\n server.listen(port, () => resolve(server));\n });\n },\n };\n}\nexport function json(handler) {\n return async (ctx, next) => {\n if (ctx.req.method === 'GET') {\n ctx.data = await handler(ctx);\n ctx.res.setHeader('Content-Type', 'application/json');\n ctx.res.end(JSON.stringify(ctx.data));\n return;\n }\n await next();\n };\n}\nexport function serveStatic(root) {\n return async (ctx, next) => {\n if (ctx.req.method !== 'GET') {\n await next();\n return;\n }\n const host = ctx.req.headers.host ?? 'localhost';\n const path = new URL(ctx.req.url ?? '/', `http://${host}`).pathname;\n const filePath = new URL(path === '/' ? '/index.html' : path, `file://${root}`);\n try {\n const data = await fs.readFile(filePath);\n ctx.res.end(data);\n }\n catch (error) {\n if (error.code === 'ENOENT') {\n await next();\n return;\n }\n throw error;\n }\n };\n}\n","const DEFAULT_TEMPLATE = '<!doctype html><html><head><!--ce-ui-head--><!--ce-ui-assets--></head><body><!--ce-ui-app--></body></html>';\nexport function renderAssetTags(manifest) {\n if (!manifest) {\n return '';\n }\n const styles = (manifest.styles ?? []).map(href => `<link rel=\"stylesheet\" href=\"${href}\">`).join('');\n const preloads = (manifest.preloads ?? [])\n .map(href => `<link rel=\"preload\" href=\"${href}\" as=\"script\">`)\n .join('');\n const scripts = (manifest.scripts ?? []).map(src => `<script type=\"module\" src=\"${src}\"></script>`).join('');\n const hydrate = (manifest.hydrate ?? [])\n .map(src => `<script type=\"module\" data-ce-hydrate src=\"${src}\"></script>`)\n .join('');\n return `${preloads}${styles}${scripts}${hydrate}`;\n}\nexport function renderHtmlDocument(options) {\n const template = options.template ?? DEFAULT_TEMPLATE;\n const head = options.head ?? '';\n const assets = renderAssetTags(options.manifest);\n const htmlAttrs = options.htmlAttributes ? ` ${options.htmlAttributes}` : '';\n const bodyAttrs = options.bodyAttributes ? ` ${options.bodyAttributes}` : '';\n return applyTemplate(template, {\n head,\n assets,\n body: options.body,\n htmlAttributes: htmlAttrs,\n bodyAttributes: bodyAttrs,\n });\n}\nfunction isAsyncIterable(value) {\n return Boolean(value) && typeof value === 'object' && Symbol.asyncIterator in value;\n}\nexport function createNodeSsrMiddleware(options) {\n return async (ctx, next) => {\n if (ctx.req.method !== 'GET') {\n await next();\n return;\n }\n const bodyResult = await options.render(ctx);\n ctx.res.statusCode = options.status ?? 200;\n ctx.res.setHeader('Content-Type', 'text/html; charset=utf-8');\n if (options.headers) {\n Object.entries(options.headers).forEach(([key, value]) => ctx.res.setHeader(key, value));\n }\n if (isAsyncIterable(bodyResult)) {\n const shell = renderHtmlShell({\n template: options.template,\n head: options.head,\n manifest: options.manifest,\n });\n ctx.res.write(shell.start);\n for await (const chunk of bodyResult) {\n ctx.res.write(chunk);\n }\n ctx.res.end(shell.end);\n return;\n }\n const html = renderHtmlDocument({\n template: options.template,\n head: options.head,\n body: bodyResult,\n manifest: options.manifest,\n });\n ctx.res.end(html);\n };\n}\nexport function createEdgeSsrHandler(options) {\n return async request => {\n const url = new URL(request.url);\n const bodyResult = await options.render({ request, url });\n const headers = new Headers(options.headers);\n if (!headers.has('Content-Type')) {\n headers.set('Content-Type', 'text/html; charset=utf-8');\n }\n if (isAsyncIterable(bodyResult)) {\n const shell = renderHtmlShell({\n template: options.template,\n head: options.head,\n manifest: options.manifest,\n });\n const encoder = new TextEncoder();\n const stream = new ReadableStream({\n async start(controller) {\n controller.enqueue(encoder.encode(shell.start));\n for await (const chunk of bodyResult) {\n controller.enqueue(encoder.encode(chunk));\n }\n controller.enqueue(encoder.encode(shell.end));\n controller.close();\n },\n });\n return new Response(stream, { status: options.status ?? 200, headers });\n }\n const html = renderHtmlDocument({\n template: options.template,\n head: options.head,\n body: bodyResult,\n manifest: options.manifest,\n });\n return new Response(html, { status: options.status ?? 200, headers });\n };\n}\nfunction renderHtmlShell(options) {\n const template = options.template ?? DEFAULT_TEMPLATE;\n const head = options.head ?? '';\n const assets = renderAssetTags(options.manifest);\n const resolved = applyTemplate(template, {\n head,\n assets,\n body: '<!--ce-ui-app-->',\n htmlAttributes: '',\n bodyAttributes: '',\n });\n const marker = '<!--ce-ui-app-->';\n const index = resolved.indexOf(marker);\n if (index === -1) {\n return { start: resolved, end: '' };\n }\n return {\n start: resolved.slice(0, index),\n end: resolved.slice(index + marker.length),\n };\n}\nfunction applyTemplate(template, payload) {\n if (template.includes('<html') || template.includes('<body')) {\n return template\n .replace('<html', `<html${payload.htmlAttributes}`)\n .replace('<body', `<body${payload.bodyAttributes}`)\n .replace('<!--ce-ui-head-->', payload.head)\n .replace('<!--ce-ui-assets-->', payload.assets)\n .replace('<!--ce-ui-app-->', payload.body);\n }\n return template\n .replace('<!--ce-ui-head-->', payload.head)\n .replace('<!--ce-ui-assets-->', payload.assets)\n .replace('<!--ce-ui-app-->', payload.body);\n}\n","import { signal, SignalAccessor } from './signals.js';\nimport { RuntimeErrorBoundary, RuntimeErrorInfo } from './errors.js';\n\nexport type ErrorBoundaryHandler = (error: Error, info: RuntimeErrorInfo) => boolean | undefined;\n\nexport interface ErrorBoundaryApi {\n readonly error: SignalAccessor<Error | null>;\n readonly info: SignalAccessor<RuntimeErrorInfo | null>;\n reset(): void;\n handleWith(handler: ErrorBoundaryHandler | null): void;\n}\n\nexport interface ComponentBoundaryController {\n boundary: RuntimeErrorBoundary;\n api: ErrorBoundaryApi;\n}\n\nlet currentBoundaryApi: ErrorBoundaryApi | null = null;\n\nexport function createComponentBoundaryController(options: {\n componentName?: string;\n componentInstanceId: string;\n}): ComponentBoundaryController {\n const errorSignal = signal<Error | null>(null);\n const infoSignal = signal<RuntimeErrorInfo | null>(null);\n let handler: ErrorBoundaryHandler | null = null;\n\n const api: ErrorBoundaryApi = {\n error: errorSignal,\n info: infoSignal,\n reset() {\n errorSignal.set(null);\n infoSignal.set(null);\n },\n handleWith(next) {\n handler = next ?? null;\n },\n };\n\n const boundary: RuntimeErrorBoundary = {\n id: options.componentInstanceId,\n handle(error, info) {\n errorSignal.set(error);\n infoSignal.set(info);\n if (!handler) {\n return false;\n }\n try {\n const handled = handler(error, info);\n if (handled !== false) {\n return true;\n }\n } catch (handlerError) {\n const normalized = handlerError instanceof Error ? handlerError : new Error(String(handlerError));\n errorSignal.set(normalized);\n infoSignal.set(info);\n }\n return false;\n },\n };\n\n return {\n boundary,\n api,\n } satisfies ComponentBoundaryController;\n}\n\nexport function withComponentBoundaryContext<T>(controller: ComponentBoundaryController, run: () => T): T {\n const previous = currentBoundaryApi;\n currentBoundaryApi = controller.api;\n try {\n return run();\n } finally {\n currentBoundaryApi = previous;\n }\n}\n\nexport function useErrorBoundary(handler?: ErrorBoundaryHandler): ErrorBoundaryApi {\n if (!currentBoundaryApi) {\n throw new Error('useErrorBoundary() can only be used while executing a component setup function.');\n }\n if (handler) {\n currentBoundaryApi.handleWith(handler);\n }\n return currentBoundaryApi;\n}\n","import { defineComponent } from './component.js';\nimport { RuntimeErrorInfo } from './errors.js';\nimport { useErrorBoundary } from './error-boundary-context.js';\n\nexport interface ErrorBoundaryProps extends Record<string, unknown> {\n onError?: (payload: { error: Error; info: RuntimeErrorInfo }) => void;\n}\n\nexport const ErrorBoundary = defineComponent<ErrorBoundaryProps>({\n name: 'ErrorBoundary',\n template: `\n <div ce:if=\"!hasError()\" class=\"ce-error-boundary__content\">\n <slot></slot>\n </div>\n <div ce:if=\"hasError()\" class=\"ce-error-boundary__fallback\">\n <slot name=\"fallback\">\n <section class=\"ce-error-boundary__panel\">\n <p class=\"ce-error-boundary__title\">Something went wrong.</p>\n <pre>{{ errorMessage() }}</pre>\n <button type=\"button\" on:click=\"reset\" class=\"ce-error-boundary__reset\">Try again</button>\n </section>\n </slot>\n </div>\n `,\n styles: [\n `.ce-error-boundary__fallback {\n display: block;\n }\n .ce-error-boundary__panel {\n border: 1px dashed var(--ce-border, #f87171);\n padding: 1rem;\n border-radius: 0.75rem;\n background: rgba(248, 113, 113, 0.08);\n color: inherit;\n }\n .ce-error-boundary__title {\n font-weight: 600;\n margin: 0 0 0.5rem;\n }\n .ce-error-boundary__panel pre {\n margin: 0 0 0.75rem;\n padding: 0.5rem;\n background: rgba(15, 23, 42, 0.65);\n border-radius: 0.5rem;\n font-size: 0.85rem;\n line-height: 1.4;\n white-space: pre-wrap;\n }\n .ce-error-boundary__reset {\n display: inline-flex;\n align-items: center;\n padding: 0.35rem 0.75rem;\n border-radius: 0.5rem;\n border: 0;\n cursor: pointer;\n background: var(--ce-primary, #2563eb);\n color: var(--ce-on-primary, #f8fafc);\n }`,\n ],\n setup({ props, emit }) {\n const boundary = useErrorBoundary((error, info) => {\n props.onError?.({ error, info });\n emit('error', { error, info });\n return true;\n });\n\n const hasError = () => Boolean(boundary.error());\n const errorMessage = () => boundary.error()?.message ?? 'Unknown error';\n const reset = () => {\n boundary.reset();\n };\n\n return {\n hasError,\n error: boundary.error,\n info: boundary.info,\n errorMessage,\n reset,\n };\n },\n});\n","import { emitRuntimeErrorReport } from './error-bus.js';\n\nconst inspectedTargets = new WeakSet();\n\nexport function ensureHydrationConsistency(target, context) {\n if (typeof document === 'undefined') {\n return;\n }\n if (inspectedTargets.has(target)) {\n return;\n }\n inspectedTargets.add(target);\n if (!hasServerDom(target)) {\n return;\n }\n const serverDom = snapshotDom(target);\n reportHydrationMismatch({\n templateId: context.templateId,\n componentName: context.componentName,\n componentInstanceId: context.componentInstanceId,\n reason: 'Detected existing server-rendered DOM before client render. Hydration support is not enabled yet.',\n receivedDom: serverDom,\n attributes: {\n serverDomLength: serverDom.length,\n },\n });\n clearNode(target);\n}\n\nexport function reportHydrationMismatch(details) {\n const error = new Error(`[hydration] ${details.reason}`);\n const info = {\n phase: 'hydration',\n componentName: details.componentName,\n componentInstanceId: details.componentInstanceId,\n templateId: details.templateId,\n attributes: {\n ...(details.attributes ?? {}),\n expectedDom: details.expectedDom,\n receivedDom: details.receivedDom,\n timestamp: Date.now(),\n },\n };\n emitRuntimeErrorReport({\n error,\n info,\n handled: true,\n });\n if (typeof console !== 'undefined') {\n console.warn('[ce-ui] hydration mismatch detected', {\n reason: details.reason,\n templateId: details.templateId,\n componentName: details.componentName,\n });\n }\n}\n\nexport function snapshotDom(node) {\n if (node instanceof Element) {\n return node.innerHTML;\n }\n if (node instanceof DocumentFragment) {\n const div = document.createElement('div');\n div.appendChild(node.cloneNode(true));\n return div.innerHTML;\n }\n return node.textContent ?? '';\n}\n\nfunction hasServerDom(target) {\n return 'childNodes' in target && target.childNodes.length > 0;\n}\n\nfunction clearNode(target) {\n while (target.firstChild) {\n target.removeChild(target.firstChild);\n }\n}\n"]}
@@ -0,0 +1,102 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var chunkSZQNIMYI_cjs = require('../chunk-SZQNIMYI.cjs');
6
+
7
+
8
+
9
+ Object.defineProperty(exports, "$", {
10
+ enumerable: true,
11
+ get: function () { return chunkSZQNIMYI_cjs.$; }
12
+ });
13
+ Object.defineProperty(exports, "$$", {
14
+ enumerable: true,
15
+ get: function () { return chunkSZQNIMYI_cjs.$$; }
16
+ });
17
+ Object.defineProperty(exports, "$id", {
18
+ enumerable: true,
19
+ get: function () { return chunkSZQNIMYI_cjs.$id; }
20
+ });
21
+ Object.defineProperty(exports, "animate", {
22
+ enumerable: true,
23
+ get: function () { return chunkSZQNIMYI_cjs.animate; }
24
+ });
25
+ Object.defineProperty(exports, "clone", {
26
+ enumerable: true,
27
+ get: function () { return chunkSZQNIMYI_cjs.clone; }
28
+ });
29
+ Object.defineProperty(exports, "create", {
30
+ enumerable: true,
31
+ get: function () { return chunkSZQNIMYI_cjs.create; }
32
+ });
33
+ Object.defineProperty(exports, "debounce", {
34
+ enumerable: true,
35
+ get: function () { return chunkSZQNIMYI_cjs.debounce; }
36
+ });
37
+ Object.defineProperty(exports, "default", {
38
+ enumerable: true,
39
+ get: function () { return chunkSZQNIMYI_cjs.dom_default; }
40
+ });
41
+ Object.defineProperty(exports, "delegate", {
42
+ enumerable: true,
43
+ get: function () { return chunkSZQNIMYI_cjs.delegate; }
44
+ });
45
+ Object.defineProperty(exports, "elementData", {
46
+ enumerable: true,
47
+ get: function () { return chunkSZQNIMYI_cjs.elementData; }
48
+ });
49
+ Object.defineProperty(exports, "fadeIn", {
50
+ enumerable: true,
51
+ get: function () { return chunkSZQNIMYI_cjs.fadeIn; }
52
+ });
53
+ Object.defineProperty(exports, "fadeOut", {
54
+ enumerable: true,
55
+ get: function () { return chunkSZQNIMYI_cjs.fadeOut; }
56
+ });
57
+ Object.defineProperty(exports, "fragment", {
58
+ enumerable: true,
59
+ get: function () { return chunkSZQNIMYI_cjs.fragment; }
60
+ });
61
+ Object.defineProperty(exports, "getFormValues", {
62
+ enumerable: true,
63
+ get: function () { return chunkSZQNIMYI_cjs.getFormValues; }
64
+ });
65
+ Object.defineProperty(exports, "matches", {
66
+ enumerable: true,
67
+ get: function () { return chunkSZQNIMYI_cjs.matches; }
68
+ });
69
+ Object.defineProperty(exports, "onVisible", {
70
+ enumerable: true,
71
+ get: function () { return chunkSZQNIMYI_cjs.onVisible; }
72
+ });
73
+ Object.defineProperty(exports, "ready", {
74
+ enumerable: true,
75
+ get: function () { return chunkSZQNIMYI_cjs.ready; }
76
+ });
77
+ Object.defineProperty(exports, "serializeForm", {
78
+ enumerable: true,
79
+ get: function () { return chunkSZQNIMYI_cjs.serializeForm; }
80
+ });
81
+ Object.defineProperty(exports, "setDebugMode", {
82
+ enumerable: true,
83
+ get: function () { return chunkSZQNIMYI_cjs.setDebugMode; }
84
+ });
85
+ Object.defineProperty(exports, "slideDown", {
86
+ enumerable: true,
87
+ get: function () { return chunkSZQNIMYI_cjs.slideDown; }
88
+ });
89
+ Object.defineProperty(exports, "slideUp", {
90
+ enumerable: true,
91
+ get: function () { return chunkSZQNIMYI_cjs.slideUp; }
92
+ });
93
+ Object.defineProperty(exports, "throttle", {
94
+ enumerable: true,
95
+ get: function () { return chunkSZQNIMYI_cjs.throttle; }
96
+ });
97
+ Object.defineProperty(exports, "waitForElement", {
98
+ enumerable: true,
99
+ get: function () { return chunkSZQNIMYI_cjs.waitForElement; }
100
+ });
101
+ //# sourceMappingURL=dom.cjs.map
102
+ //# sourceMappingURL=dom.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"dom.cjs"}
@@ -0,0 +1,373 @@
1
+ /**
2
+ * @fileoverview CE DOM Utilities
3
+ * @description Comprehensive DOM manipulation library for TypeScript projects
4
+ * @author ClusterEnvision
5
+ * @version 2.0.0
6
+ *
7
+ * Provides a jQuery-like chainable API with full type safety, optimized for
8
+ * modern browsers and production use. Includes performance optimizations,
9
+ * error handling, and extensive utility functions.
10
+ *
11
+ * @example
12
+ * ```typescript
13
+ * import { $, create, delegate } from '@app/lib/dom';
14
+ *
15
+ * // Select and manipulate
16
+ * $('.button').addClass('active').on('click', handler);
17
+ *
18
+ * // Create elements
19
+ * const btn = create('button', {
20
+ * text: 'Click me',
21
+ * className: 'btn primary',
22
+ * on: { click: () => console.log('clicked') }
23
+ * });
24
+ *
25
+ * // Event delegation
26
+ * delegate('click', '.dynamic-btn', (e, target) => {
27
+ * console.log('Delegated click', target);
28
+ * });
29
+ * ```
30
+ */
31
+ /** Enable/disable debug mode */
32
+ declare function setDebugMode(enabled: boolean): void;
33
+ type ElementInput = string | HTMLElement | null | undefined;
34
+ type ElementsInput = string | HTMLElement[] | NodeListOf<Element>;
35
+ type EventHandler<T extends Event = Event> = (event: T) => void;
36
+ type DelegateHandler = (event: Event, target: HTMLElement) => void;
37
+ /**
38
+ * Options for creating elements
39
+ * @template K - HTML element tag name type
40
+ */
41
+ interface CreateElementOptions {
42
+ /** CSS class name */
43
+ className?: string;
44
+ /** Array of CSS classes */
45
+ classes?: string[];
46
+ /** Element ID */
47
+ id?: string;
48
+ /** Text content */
49
+ text?: string;
50
+ /** HTML content */
51
+ html?: string;
52
+ /** HTML attributes */
53
+ attrs?: Record<string, string | number | boolean>;
54
+ /** Data attributes (without 'data-' prefix) */
55
+ data?: Record<string, string | number | boolean>;
56
+ /** Inline styles */
57
+ styles?: Record<string, string | number>;
58
+ /** Event listeners */
59
+ on?: Record<string, EventListener>;
60
+ /** Child elements or text nodes */
61
+ children?: (HTMLElement | string)[];
62
+ }
63
+ /**
64
+ * Chainable DOM element wrapper
65
+ * Provides jQuery-like API for DOM manipulation
66
+ */
67
+ interface DOMElement {
68
+ /** The underlying HTMLElement */
69
+ readonly el: HTMLElement | null;
70
+ addClass(...classes: string[]): DOMElement;
71
+ removeClass(...classes: string[]): DOMElement;
72
+ toggleClass(className: string, force?: boolean): DOMElement;
73
+ hasClass(className: string): boolean;
74
+ attr(name: string): string | null;
75
+ attr(name: string, value: string | number | boolean): DOMElement;
76
+ removeAttr(name: string): DOMElement;
77
+ data(key: string): string | null;
78
+ data(key: string, value: string | number | boolean): DOMElement;
79
+ html(): string;
80
+ html(content: string): DOMElement;
81
+ text(): string;
82
+ text(content: string): DOMElement;
83
+ val(): string;
84
+ val(value: string): DOMElement;
85
+ on(event: string, handler: EventListener, options?: AddEventListenerOptions): DOMElement;
86
+ off(event: string, handler: EventListener): DOMElement;
87
+ once(event: string, handler: EventListener): DOMElement;
88
+ trigger(event: string, detail?: unknown): DOMElement;
89
+ append(content: string | HTMLElement | HTMLElement[]): DOMElement;
90
+ prepend(content: string | HTMLElement | HTMLElement[]): DOMElement;
91
+ before(content: string | HTMLElement): DOMElement;
92
+ after(content: string | HTMLElement): DOMElement;
93
+ remove(): void;
94
+ empty(): DOMElement;
95
+ replace(newContent: string | HTMLElement): void;
96
+ parent(): DOMElement;
97
+ children(): HTMLElement[];
98
+ siblings(): HTMLElement[];
99
+ find(selector: string): DOMElement;
100
+ findAll(selector: string): HTMLElement[];
101
+ closest(selector: string): DOMElement;
102
+ next(): DOMElement;
103
+ prev(): DOMElement;
104
+ css(property: string): string;
105
+ css(property: string, value: string | number): DOMElement;
106
+ css(properties: Record<string, string | number>): DOMElement;
107
+ show(): DOMElement;
108
+ hide(): DOMElement;
109
+ toggle(force?: boolean): DOMElement;
110
+ width(): number;
111
+ height(): number;
112
+ offset(): {
113
+ top: number;
114
+ left: number;
115
+ };
116
+ scrollTop(): number;
117
+ scrollTop(value: number): DOMElement;
118
+ isVisible(): boolean;
119
+ isHidden(): boolean;
120
+ exists(): boolean;
121
+ focus(): DOMElement;
122
+ blur(): DOMElement;
123
+ }
124
+ /**
125
+ * Select a single element (jQuery-like $)
126
+ *
127
+ * @param selector - CSS selector string or HTMLElement
128
+ * @returns DOMElement wrapper for chainable operations
129
+ *
130
+ * @example
131
+ * ```typescript
132
+ * // Select by CSS selector
133
+ * $('button').addClass('active').on('click', handler);
134
+ *
135
+ * // Wrap existing element
136
+ * const el = document.getElementById('app');
137
+ * $(el).css('color', 'red');
138
+ *
139
+ * // Null-safe
140
+ * $('.non-existent').addClass('foo'); // No error
141
+ * ```
142
+ */
143
+ declare function $(selector: ElementInput): DOMElement;
144
+ /**
145
+ * Select multiple elements
146
+ *
147
+ * @param selector - CSS selector string
148
+ * @returns Array of HTMLElements (not wrapped)
149
+ *
150
+ * @example
151
+ * ```typescript
152
+ * // Get all matching elements
153
+ * $$('.items').forEach(el => $(el).addClass('processed'));
154
+ *
155
+ * // Map and filter
156
+ * const visible = $$('.item').filter(el => $(el).isVisible());
157
+ * ```
158
+ */
159
+ declare function $$(selector: string): HTMLElement[];
160
+ /**
161
+ * Select by ID (faster than querySelector)
162
+ *
163
+ * @param id - Element ID (without # prefix)
164
+ * @returns DOMElement wrapper
165
+ *
166
+ * @example
167
+ * ```typescript
168
+ * $id('app').html('<h1>Hello</h1>');
169
+ * $id('sidebar').addClass('collapsed');
170
+ * ```
171
+ */
172
+ declare function $id(id: string): DOMElement;
173
+ /**
174
+ * Create a new element with comprehensive options
175
+ *
176
+ * @template K - HTML element tag name type
177
+ * @param tag - HTML tag name (e.g., 'div', 'button', 'input')
178
+ * @param options - Configuration options for the element
179
+ * @returns Created HTMLElement of the specified type
180
+ *
181
+ * @example
182
+ * ```typescript
183
+ * // Simple button
184
+ * const btn = create('button', {
185
+ * className: 'btn btn-primary',
186
+ * text: 'Click me'
187
+ * });
188
+ *
189
+ * // Complex form input
190
+ * const input = create('input', {
191
+ * classes: ['form-control', 'input-lg'],
192
+ * attrs: { type: 'email', placeholder: 'Enter email', required: true },
193
+ * data: { validation: 'email', maxLength: '255' },
194
+ * on: {
195
+ * input: (e) => console.log('Input changed:', e.target.value),
196
+ * blur: validateEmail
197
+ * }
198
+ * });
199
+ *
200
+ * // Container with children
201
+ * const card = create('div', {
202
+ * className: 'card',
203
+ * children: [
204
+ * create('h3', { text: 'Card Title' }),
205
+ * create('p', { text: 'Card content goes here' }),
206
+ * create('button', { text: 'Action', className: 'btn' })
207
+ * ]
208
+ * });
209
+ * ```
210
+ */
211
+ declare function create<K extends keyof HTMLElementTagNameMap>(tag: K, options?: CreateElementOptions): HTMLElementTagNameMap[K];
212
+ /**
213
+ * Create a document fragment from HTML string
214
+ *
215
+ * @param html - HTML string to parse
216
+ * @returns DocumentFragment containing parsed elements
217
+ *
218
+ * @example
219
+ * ```typescript
220
+ * const frag = fragment(`
221
+ * <div class="card">
222
+ * <h3>Title</h3>
223
+ * <p>Content</p>
224
+ * </div>
225
+ * `);
226
+ * document.body.appendChild(frag);
227
+ * ```
228
+ */
229
+ declare function fragment(html: string): DocumentFragment;
230
+ /**
231
+ * Event delegation helper for dynamic elements
232
+ *
233
+ * Attaches a single event listener to a root element and handles events
234
+ * from matching child elements, even if they're added dynamically after
235
+ * the listener is attached.
236
+ *
237
+ * @param event - Event type (e.g., 'click', 'input', 'change')
238
+ * @param selector - CSS selector for target elements
239
+ * @param handler - Callback function receiving event and matched target
240
+ * @param root - Root element or document to attach listener to
241
+ * @returns Cleanup function to remove the delegated listener
242
+ *
243
+ * @example
244
+ * ```typescript
245
+ * // Handle clicks on dynamically added buttons
246
+ * const cleanup = delegate('click', '.btn-delete', (e, target) => {
247
+ * const id = target.dataset.id;
248
+ * deleteItem(id);
249
+ * });
250
+ *
251
+ * // With custom root
252
+ * delegate('click', '.item', handleClick, myContainer);
253
+ *
254
+ * // Clean up when done
255
+ * cleanup();
256
+ * ```
257
+ */
258
+ declare function delegate(event: string, selector: string, handler: DelegateHandler, root?: HTMLElement | Document): () => void;
259
+ /**
260
+ * Execute callback when DOM is ready
261
+ *
262
+ * Safely runs code when the DOM is fully loaded. If DOM is already ready,
263
+ * executes callback immediately.
264
+ *
265
+ * @param callback - Function to execute when DOM is ready
266
+ *
267
+ * @example
268
+ * ```typescript
269
+ * ready(() => {
270
+ * console.log('DOM is ready!');
271
+ * initApp();
272
+ * setupEventListeners();
273
+ * });
274
+ *
275
+ * // Or with arrow function
276
+ * ready(() => $('#app').html('<h1>Loaded</h1>'));
277
+ * ```
278
+ */
279
+ declare function ready(callback: () => void): void;
280
+ /**
281
+ * Clone an element deeply
282
+ */
283
+ declare function clone(element: HTMLElement, deep?: boolean): HTMLElement;
284
+ /**
285
+ * Check if element matches selector
286
+ */
287
+ declare function matches(element: HTMLElement, selector: string): boolean;
288
+ declare function elementData<T = unknown>(element: HTMLElement, key: string, value?: T): T | undefined;
289
+ /**
290
+ * Serialize form data to object
291
+ */
292
+ declare function serializeForm(form: HTMLFormElement): Record<string, string>;
293
+ /**
294
+ * Get all form values including nested objects
295
+ */
296
+ type FormValue = FormDataEntryValue | FormDataEntryValue[];
297
+ declare function getFormValues(form: HTMLFormElement): Record<string, FormValue>;
298
+ /**
299
+ * Debounce function for performance
300
+ */
301
+ declare function debounce<T extends (...args: unknown[]) => unknown>(func: T, wait: number): (...args: Parameters<T>) => void;
302
+ /**
303
+ * Throttle function for performance
304
+ */
305
+ declare function throttle<T extends (...args: unknown[]) => unknown>(func: T, limit: number): (...args: Parameters<T>) => void;
306
+ /**
307
+ * Wait for an element to appear in DOM
308
+ */
309
+ declare function waitForElement(selector: string, timeout?: number): Promise<HTMLElement>;
310
+ /**
311
+ * Execute callback when element becomes visible (intersection observer)
312
+ */
313
+ declare function onVisible(element: HTMLElement, callback: (entry: IntersectionObserverEntry) => void, options?: IntersectionObserverInit): () => void;
314
+ /**
315
+ * Animate element with CSS transitions
316
+ */
317
+ declare function animate(element: HTMLElement, properties: Record<string, string>, duration?: number, easing?: string): Promise<void>;
318
+ /**
319
+ * Fade in element
320
+ */
321
+ declare function fadeIn(element: HTMLElement, duration?: number): Promise<void>;
322
+ /**
323
+ * Fade out element
324
+ */
325
+ declare function fadeOut(element: HTMLElement, duration?: number): Promise<void>;
326
+ /**
327
+ * Slide down (show) element
328
+ */
329
+ declare function slideDown(element: HTMLElement, duration?: number): Promise<void>;
330
+ /**
331
+ * Slide up (hide) element
332
+ */
333
+ declare function slideUp(element: HTMLElement, duration?: number): Promise<void>;
334
+ /**
335
+ * Complete DOM utilities API
336
+ *
337
+ * @example
338
+ * ```typescript
339
+ * // Named imports (recommended)
340
+ * import { $, create, delegate } from '@app/lib/dom';
341
+ *
342
+ * // Default import
343
+ * import DOM from '@app/lib/dom';
344
+ * DOM.$('.button').addClass('active');
345
+ * ```
346
+ */
347
+ declare const DOMApi: {
348
+ version: string;
349
+ $: typeof $;
350
+ $$: typeof $$;
351
+ $id: typeof $id;
352
+ create: typeof create;
353
+ fragment: typeof fragment;
354
+ delegate: typeof delegate;
355
+ ready: typeof ready;
356
+ clone: typeof clone;
357
+ matches: typeof matches;
358
+ elementData: typeof elementData;
359
+ serializeForm: typeof serializeForm;
360
+ getFormValues: typeof getFormValues;
361
+ debounce: typeof debounce;
362
+ throttle: typeof throttle;
363
+ waitForElement: typeof waitForElement;
364
+ onVisible: typeof onVisible;
365
+ animate: typeof animate;
366
+ fadeIn: typeof fadeIn;
367
+ fadeOut: typeof fadeOut;
368
+ slideDown: typeof slideDown;
369
+ slideUp: typeof slideUp;
370
+ setDebugMode: typeof setDebugMode;
371
+ };
372
+
373
+ export { $, $$, $id, type CreateElementOptions, type DOMElement, type DelegateHandler, type ElementInput, type ElementsInput, type EventHandler, animate, clone, create, debounce, DOMApi as default, delegate, elementData, fadeIn, fadeOut, fragment, getFormValues, matches, onVisible, ready, serializeForm, setDebugMode, slideDown, slideUp, throttle, waitForElement };