@luna_ui/luna 0.3.4 → 0.4.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/dist/cli.mjs +1264 -27
- package/dist/css/index.d.ts +194 -0
- package/dist/css/index.js +721 -0
- package/dist/css/runtime.d.ts +92 -0
- package/dist/css/runtime.js +179 -0
- package/dist/{index-CyEkcO3_.d.ts → index-CDWzWF-h.d.ts} +2 -2
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/jsx-dev-runtime.js +1 -1
- package/dist/jsx-runtime.d.ts +1 -1
- package/dist/jsx-runtime.js +1 -1
- package/dist/src-DEjrAhrg.js +1 -0
- package/dist/vite-plugin.d.ts +122 -0
- package/dist/vite-plugin.js +1518 -0
- package/package.json +16 -2
- package/src/css/extract.ts +798 -0
- package/src/css/index.ts +10 -0
- package/src/css/inject.ts +205 -0
- package/src/css/inline.ts +182 -0
- package/src/css/minify.ts +70 -0
- package/src/css/optimizer.ts +6 -0
- package/src/css/runtime.ts +344 -0
- package/src/css-optimizer/README.md +353 -0
- package/src/css-optimizer/cooccurrence.ts +100 -0
- package/src/css-optimizer/core.ts +263 -0
- package/src/css-optimizer/extractors.ts +243 -0
- package/src/css-optimizer/hash.ts +54 -0
- package/src/css-optimizer/index.ts +129 -0
- package/src/css-optimizer/merge.ts +109 -0
- package/src/css-optimizer/moonbit-analyzer.ts +210 -0
- package/src/css-optimizer/parser.ts +120 -0
- package/src/css-optimizer/pattern.ts +171 -0
- package/src/css-optimizer/transformers.ts +301 -0
- package/src/css-optimizer/types.ts +128 -0
- package/src/event-utils.ts +227 -0
- package/src/hydration/createHydrator.ts +62 -0
- package/src/hydration/delegate.ts +62 -0
- package/src/hydration/drag.ts +214 -0
- package/src/hydration/index.ts +12 -0
- package/src/hydration/keyboard.ts +64 -0
- package/src/hydration/toggle.ts +101 -0
- package/src/index.ts +890 -0
- package/src/jsx-dev-runtime.ts +2 -0
- package/src/jsx-runtime.ts +398 -0
- package/src/vite-plugin.ts +718 -0
- package/tests/__screenshots__/context.test.ts/Context-API-context-with-reactive-effects-context-value-accessible-in-effect-1.png +0 -0
- package/tests/__screenshots__/dom.test.ts/DOM-API-For-component--SolidJS-style--For-updates-when-signal-changes-1.png +0 -0
- package/tests/__screenshots__/dom.test.ts/DOM-API-Show-component--SolidJS-style--Show-accepts-children-as-function-1.png +0 -0
- package/tests/__screenshots__/dom.test.ts/DOM-API-Show-component--SolidJS-style--Show-toggles-visibility-1.png +0 -0
- package/tests/__screenshots__/dom.test.ts/DOM-API-createElement-createElement-with-dynamic-attribute-1.png +0 -0
- package/tests/__screenshots__/dom.test.ts/DOM-API-createElement-createElement-with-dynamic-style-1.png +0 -0
- package/tests/__screenshots__/dom.test.ts/DOM-API-createElementNs--SVG-support--createElementNs-with-dynamic-attribute-1.png +0 -0
- package/tests/__screenshots__/dom.test.ts/DOM-API-effect-with-DOM-effect-tracks-signal-changes-1.png +0 -0
- package/tests/__screenshots__/dom.test.ts/DOM-API-forEach--list-rendering--forEach-handles-clear-to-empty-1.png +0 -0
- package/tests/__screenshots__/dom.test.ts/DOM-API-forEach--list-rendering--forEach-handles-empty-array-1.png +0 -0
- package/tests/__screenshots__/dom.test.ts/DOM-API-forEach--list-rendering--forEach-removes-items-1.png +0 -0
- package/tests/__screenshots__/dom.test.ts/DOM-API-forEach--list-rendering--forEach-renders-initial-list-1.png +0 -0
- package/tests/__screenshots__/dom.test.ts/DOM-API-forEach--list-rendering--forEach-updates-when-items-change-1.png +0 -0
- package/tests/__screenshots__/dom.test.ts/DOM-API-forEach-with-SVG-elements-forEach-handles-empty-to-non-empty-transition-in-SVG-1.png +0 -0
- package/tests/__screenshots__/dom.test.ts/DOM-API-forEach-with-SVG-elements-forEach-handles-reordering-in-SVG-1.png +0 -0
- package/tests/__screenshots__/dom.test.ts/DOM-API-forEach-with-SVG-elements-forEach-updates-SVG-elements-when-signal-changes-1.png +0 -0
- package/tests/__screenshots__/dom.test.ts/DOM-API-forEach-with-SVG-elements-forEach-with-nested-SVG-groups-1.png +0 -0
- package/tests/__screenshots__/dom.test.ts/DOM-API-ref-callback--JSX-style--ref-callback-with-nested-elements-1.png +0 -0
- package/tests/__screenshots__/dom.test.ts/DOM-API-show--conditional-rendering--show-creates-a-node-1.png +0 -0
- package/tests/__screenshots__/dom.test.ts/DOM-API-show--conditional-rendering--show-with-false-condition-creates-placeholder-1.png +0 -0
- package/tests/__screenshots__/dom.test.ts/DOM-API-text-nodes-textDyn-creates-reactive-text-node-1.png +0 -0
- package/tests/__screenshots__/integration.test.ts/Integration--Nested-Components-with-Context-Complex-nested-scenario-forEach-renders-correctly-without-show--initial-items--1.png +0 -0
- package/tests/__screenshots__/integration.test.ts/Integration--Nested-Components-with-Context-Complex-nested-scenario-forEach-with-context-renders-correctly-without-show-1.png +0 -0
- package/tests/__screenshots__/integration.test.ts/Integration--Nested-Components-with-Context-Complex-nested-scenario-nested-components-with-context--forEach--and-show-1.png +0 -0
- package/tests/__screenshots__/integration.test.ts/Integration--Nested-Components-with-Context-Complex-nested-scenario-show-and-forEach-inherit-context-from-Owner--fixed--1.png +0 -0
- package/tests/__screenshots__/integration.test.ts/Integration--Nested-Components-with-Context-Complex-nested-scenario-show-and-forEach-work-together--context-uses-default--1.png +0 -0
- package/tests/__screenshots__/integration.test.ts/Integration--Nested-Components-with-Context-Context---ForEach-integration-forEach-items-can-access-context-1.png +0 -0
- package/tests/__screenshots__/integration.test.ts/Integration--Nested-Components-with-Context-ForEach-with-reactive-updates-forEach-renders-initial-list-1.png +0 -0
- package/tests/__screenshots__/integration.test.ts/Integration--Nested-Components-with-Context-ForEach-with-reactive-updates-forEach-updates-when-signal-changes-1.png +0 -0
- package/tests/__screenshots__/integration.test.ts/Integration--Nested-Components-with-Context-ForEach-with-reactive-updates-forEach-with-object-items-1.png +0 -0
- package/tests/__screenshots__/integration.test.ts/Integration--Nested-Components-with-Context-Show--conditional-rendering--show-hides-when-condition-is-false-1.png +0 -0
- package/tests/__screenshots__/integration.test.ts/Integration--Nested-Components-with-Context-Show--conditional-rendering--show-renders-when-condition-is-true-1.png +0 -0
- package/tests/__screenshots__/integration.test.ts/Integration--Nested-Components-with-Context-Show--conditional-rendering--show-toggles-from-false-to-true-1.png +0 -0
- package/tests/__screenshots__/integration.test.ts/Integration--Nested-Components-with-Context-Show--conditional-rendering--show-toggles-reactively-1.png +0 -0
- package/tests/__screenshots__/lifecycle.test.ts/onCleanup-in-Component-Body--Solid-js-style--event-listener-pattern--Solid-js-docs-example--1.png +0 -0
- package/tests/__screenshots__/lifecycle.test.ts/onCleanup-in-Component-Body--Solid-js-style--multiple-cleanups-in-component-body--LIFO-order--1.png +0 -0
- package/tests/__screenshots__/lifecycle.test.ts/onCleanup-in-Component-Body--Solid-js-style--onCleanup-in-component-body-runs-on-unmount-1.png +0 -0
- package/tests/__screenshots__/lifecycle.test.ts/onCleanup-in-Component-Body--Solid-js-style--onCleanup-works-with-For-loop-items--component-body-style--1.png +0 -0
- package/tests/__screenshots__/lifecycle.test.ts/onCleanup-in-Component-Body--Solid-js-style--timer-cleanup-pattern--Solid-js-style--1.png +0 -0
- package/tests/__screenshots__/lifecycle.test.ts/onCleanup-in-Effects-effect-cleanup-runs-before-re-run-1.png +0 -0
- package/tests/__screenshots__/preact-signals-comparison.test.ts/Bulk-Updates-large-list-update-1.png +0 -0
- package/tests/__screenshots__/preact-signals-comparison.test.ts/Bulk-Updates-nested-batch-operations-1.png +0 -0
- package/tests/__screenshots__/preact-signals-comparison.test.ts/Bulk-Updates-rapid-sequential-updates-1.png +0 -0
- package/tests/__screenshots__/preact-signals-comparison.test.ts/DOM-Rendering-Comparison---Conditional-Show-component---visible-1.png +0 -0
- package/tests/__screenshots__/preact-signals-comparison.test.ts/DOM-Rendering-Comparison---Conditional-show-hide-element---visible-1.png +0 -0
- package/tests/__screenshots__/preact-signals-comparison.test.ts/DOM-Rendering-Comparison---Fragments-fragment-with-list-1.png +0 -0
- package/tests/__screenshots__/preact-signals-comparison.test.ts/DOM-Rendering-Comparison---Fragments-nested-fragments-1.png +0 -0
- package/tests/__screenshots__/preact-signals-comparison.test.ts/DOM-Rendering-Comparison---Fragments-simple-fragment-1.png +0 -0
- package/tests/__screenshots__/preact-signals-comparison.test.ts/DOM-Rendering-Comparison---Reactive-Updates-conditional-toggle-updates-1.png +0 -0
- package/tests/__screenshots__/preact-signals-comparison.test.ts/DOM-Rendering-Comparison---Reactive-Updates-list-addition-updates-match-1.png +0 -0
- package/tests/__screenshots__/preact-signals-comparison.test.ts/DOM-Rendering-Comparison---Reactive-Updates-list-removal-updates-match-1.png +0 -0
- package/tests/__screenshots__/preact-signals-comparison.test.ts/DOM-Rendering-Comparison---Reactive-Updates-text-updates-match-1.png +0 -0
- package/tests/__screenshots__/preact-signals-comparison.test.ts/Dynamic-Attributes-Comparison-dynamic-className-updates-1.png +0 -0
- package/tests/__screenshots__/preact-signals-comparison.test.ts/Dynamic-Attributes-Comparison-dynamic-style-updates-1.png +0 -0
- package/tests/__screenshots__/preact-signals-comparison.test.ts/Dynamic-Attributes-Comparison-multiple-dynamic-attributes-1.png +0 -0
- package/tests/__screenshots__/preact-signals-comparison.test.ts/Edge-Cases-deeply-nested-conditionals-1.png +0 -0
- package/tests/__screenshots__/preact-signals-comparison.test.ts/Edge-Cases-list-transitions-from-empty-to-populated-1.png +0 -0
- package/tests/__screenshots__/preact-signals-comparison.test.ts/Edge-Cases-list-transitions-from-populated-to-empty-1.png +0 -0
- package/tests/__screenshots__/preact-signals-comparison.test.ts/Effect-Cleanup-Comparison-nested-effects-cleanup-order-1.png +0 -0
- package/tests/__screenshots__/preact-signals-comparison.test.ts/Effect-Cleanup-Comparison-nested-effects-with-inner-signal-change-1.png +0 -0
- package/tests/__screenshots__/preact-signals-comparison.test.ts/Effect-Cleanup-Comparison-onCleanup-is-called-when-effect-re-runs-1.png +0 -0
- package/tests/__screenshots__/preact-signals-comparison.test.ts/Effect-Cleanup-Comparison-onCleanup-with-resource-simulation-1.png +0 -0
- package/tests/__screenshots__/preact-signals-comparison.test.ts/Fragment-Comparison-with-Preact-Fragment-with-multiple-children--no-wrapper--1.png +0 -0
- package/tests/__screenshots__/preact-signals-comparison.test.ts/Fragment-Comparison-with-Preact-Fragment-with-no-children-1.png +0 -0
- package/tests/__screenshots__/preact-signals-comparison.test.ts/Fragment-Comparison-with-Preact-fragment-with-list-1.png +0 -0
- package/tests/__screenshots__/preact-signals-comparison.test.ts/Fragment-Comparison-with-Preact-nested-Fragments-work-correctly-1.png +0 -0
- package/tests/__screenshots__/preact-signals-comparison.test.ts/List-Reordering-complex-reordering-with-additions-and-removals-1.png +0 -0
- package/tests/__screenshots__/preact-signals-comparison.test.ts/List-Reordering-insert-in-middle-1.png +0 -0
- package/tests/__screenshots__/preact-signals-comparison.test.ts/List-Reordering-remove-from-middle-1.png +0 -0
- package/tests/__screenshots__/preact-signals-comparison.test.ts/List-Reordering-reverse-list-order-1.png +0 -0
- package/tests/__screenshots__/preact-signals-comparison.test.ts/List-Reordering-shuffle-list-1.png +0 -0
- package/tests/__screenshots__/preact-signals-comparison.test.ts/Luna-Conditional-Rendering-Show-component-renders-when-condition-is-true-1.png +0 -0
- package/tests/__screenshots__/preact-signals-comparison.test.ts/Luna-Conditional-Rendering-show-renders-content-when-initially-true-1.png +0 -0
- package/tests/__screenshots__/preact-signals-comparison.test.ts/Luna-Conditional-Rendering-show-toggles-visibility-dynamically-1.png +0 -0
- package/tests/__screenshots__/preact-signals-comparison.test.ts/Memo-Dependency-Chain-conditional-memo-dependencies-1.png +0 -0
- package/tests/__screenshots__/preact-signals-comparison.test.ts/Signal-Behavior-Comparison-basic-signal-get-set-produces-same-values-1.png +0 -0
- package/tests/__screenshots__/preact-signals-comparison.test.ts/Signal-Behavior-Comparison-batch-updates-produce-same-final-values-1.png +0 -0
- package/tests/__screenshots__/preact-signals-comparison.test.ts/Untrack-and-Peek-Behavior-peek-reads-value-without-tracking-1.png +0 -0
- package/tests/__screenshots__/preact-signals-comparison.test.ts/Untrack-and-Peek-Behavior-selective-tracking-with-untrack-1.png +0 -0
- package/tests/__screenshots__/preact-signals-comparison.test.ts/Untrack-and-Peek-Behavior-untrack-prevents-dependency-tracking-1.png +0 -0
- package/tests/__screenshots__/resource.test.ts/Resource-API--SolidJS-style--reactivity-accessor-is-reactive-1.png +0 -0
- package/tests/__screenshots__/resource.test.ts/Resource-API-AsyncState-helpers-stateError-returns-empty-string-for-non-failure-1.png +0 -0
- package/tests/__screenshots__/resource.test.ts/Resource-API-AsyncState-helpers-stateError-returns-undefined-for-non-failure-1.png +0 -0
- package/tests/__screenshots__/resource.test.ts/Resource-API-AsyncState-helpers-stateIsFailure-and-stateError-1.png +0 -0
- package/tests/__screenshots__/resource.test.ts/Resource-API-AsyncState-helpers-stateIsPending-1.png +0 -0
- package/tests/__screenshots__/resource.test.ts/Resource-API-AsyncState-helpers-stateIsSuccess-and-stateValue-1.png +0 -0
- package/tests/__screenshots__/resource.test.ts/Resource-API-AsyncState-helpers-stateValue-returns-undefined-for-non-success-1.png +0 -0
- package/tests/__screenshots__/resource.test.ts/Resource-API-createDeferred-reject-transitions-to-failure-1.png +0 -0
- package/tests/__screenshots__/resource.test.ts/Resource-API-createDeferred-resolve-transitions-to-success-1.png +0 -0
- package/tests/__screenshots__/resource.test.ts/Resource-API-createDeferred-returns-resource--resolve--and-reject-functions-1.png +0 -0
- package/tests/__screenshots__/resource.test.ts/Resource-API-createDeferred-starts-in-pending-state-1.png +0 -0
- package/tests/__screenshots__/resource.test.ts/Resource-API-createResource-async-resolve-works-1.png +0 -0
- package/tests/__screenshots__/resource.test.ts/Resource-API-createResource-starts-in-pending-state-1.png +0 -0
- package/tests/__screenshots__/resource.test.ts/Resource-API-createResource-transitions-to-failure-on-reject-1.png +0 -0
- package/tests/__screenshots__/resource.test.ts/Resource-API-createResource-transitions-to-success-on-resolve-1.png +0 -0
- package/tests/__screenshots__/resource.test.ts/Resource-API-integration-with-Promise-can-wrap-fetch-like-async-operations-1.png +0 -0
- package/tests/__screenshots__/resource.test.ts/Resource-API-integration-with-Promise-works-with-setTimeout-simulation-1.png +0 -0
- package/tests/__screenshots__/resource.test.ts/Resource-API-resourceGet-vs-resourcePeek-resourceGet-tracks-dependencies-1.png +0 -0
- package/tests/__screenshots__/resource.test.ts/Resource-API-resourceGet-vs-resourcePeek-resourcePeek-does-not-track-dependencies-1.png +0 -0
- package/tests/__screenshots__/resource.test.ts/Resource-API-resourceRefetch-refetch-resets-to-pending-and-re-runs-fetcher-1.png +0 -0
- package/tests/__screenshots__/solidjs-api.test.ts/Portal-component-Portal-renders-children-to-body-by-default-1.png +0 -0
- package/tests/__screenshots__/solidjs-api.test.ts/Portal-component-Portal-renders-to-selector-mount-target-1.png +0 -0
- package/tests/__screenshots__/solidjs-api.test.ts/SolidJS-API-compatibility-createEffect-tracks-dependencies-automatically-1.png +0 -0
- package/tests/__screenshots__/solidjs-api.test.ts/Switch-Match-component-Switch-with-accessor-condition-in-Match-1.png +0 -0
- package/tests/__screenshots__/solidjs-api.test.ts/Switch-Match-component-Switch-with-multiple-Match-components-1.png +0 -0
- package/tests/__screenshots__/solidjs-api.test.ts/Switch-Match-component-Switch-with-single-Match-and-fallback-1.png +0 -0
- package/tests/__screenshots__/solidjs-api.test.ts/Switch-Match-components-Switch-updates-DOM-when-signal-changes-1.png +0 -0
- package/tests/__screenshots__/solidjs-api.test.ts/on---utility-on-tracks-multiple-dependencies-1.png +0 -0
- package/tests/__screenshots__/solidjs-api.test.ts/on---utility-on-tracks-single-dependency-1.png +0 -0
- package/tests/__screenshots__/solidjs-api.test.ts/on---utility-on-with-defer-option-skips-initial-run-1.png +0 -0
- package/tests/__screenshots__/store.test.ts/createStore-Arrays-array-updates-work-1.png +0 -0
- package/tests/__screenshots__/store.test.ts/createStore-Reactivity-only-triggers-when-accessed-property-changes-1.png +0 -0
- package/tests/__screenshots__/store.test.ts/createStore-Reactivity-parent-path-change-notifies-child-accessors-1.png +0 -0
- package/tests/__screenshots__/store.test.ts/createStore-Reactivity-tracks-nested-property-access-1.png +0 -0
- package/tests/__screenshots__/store.test.ts/createStore-Reactivity-tracks-property-access-in-effects-1.png +0 -0
- package/tests/context.test.ts +118 -0
- package/tests/css-optimizer-extractors.test.ts +264 -0
- package/tests/css-optimizer-integration.test.ts +566 -0
- package/tests/css-optimizer-transformers.test.ts +301 -0
- package/tests/css-optimizer.test.ts +646 -0
- package/tests/css-runtime.bench.ts +442 -0
- package/tests/css-runtime.test.ts +342 -0
- package/tests/dom.test.ts +872 -0
- package/tests/integration.test.ts +405 -0
- package/tests/issue-5-for-infinite-loop.test.ts +516 -0
- package/tests/jsx-runtime.test.tsx +393 -0
- package/tests/lifecycle.test.ts +833 -0
- package/tests/move-before.bench.ts +304 -0
- package/tests/preact-signals-comparison.test.ts +1608 -0
- package/tests/resource.test.ts +160 -0
- package/tests/router.test.ts +117 -0
- package/tests/show-initial-mount-leak.test.tsx +182 -0
- package/tests/solidjs-api.test.ts +659 -0
- package/tests/static-perf.bench.ts +64 -0
- package/tests/store.test.ts +263 -0
- package/tests/tsx-syntax.test.tsx +404 -0
- package/dist/src-BDdxGwvq.js +0 -1
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
//#region src/css/runtime.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Development Mode CSS Runtime
|
|
4
|
+
*
|
|
5
|
+
* Provides runtime CSS injection for development mode.
|
|
6
|
+
* In production, this module should NOT be included.
|
|
7
|
+
*
|
|
8
|
+
* Features:
|
|
9
|
+
* - Dynamic CSS injection when rules are missing
|
|
10
|
+
* - Warning mechanism for missing CSS rules
|
|
11
|
+
* - Can be used as a fallback for hot-reload scenarios
|
|
12
|
+
*/
|
|
13
|
+
interface CssRuntimeOptions {
|
|
14
|
+
/** Warn in console when generating CSS at runtime (default: true) */
|
|
15
|
+
warnOnGenerate?: boolean;
|
|
16
|
+
/** Style element ID (default: "luna-dev-css") */
|
|
17
|
+
styleId?: string;
|
|
18
|
+
/** Whether to log each rule generation (default: false) */
|
|
19
|
+
verbose?: boolean;
|
|
20
|
+
}
|
|
21
|
+
interface CssRuntimeState {
|
|
22
|
+
/** Generated CSS rules */
|
|
23
|
+
rules: Map<string, string>;
|
|
24
|
+
/** Style element for injection */
|
|
25
|
+
styleEl: HTMLStyleElement | null;
|
|
26
|
+
/** Whether initialized */
|
|
27
|
+
initialized: boolean;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Initialize the CSS runtime
|
|
31
|
+
*/
|
|
32
|
+
declare function initCssRuntime(opts?: CssRuntimeOptions): void;
|
|
33
|
+
/**
|
|
34
|
+
* Check if a CSS class exists in stylesheets
|
|
35
|
+
*/
|
|
36
|
+
declare function hasClass(className: string): boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Generate CSS for a property:value declaration
|
|
39
|
+
* Returns the class name
|
|
40
|
+
*/
|
|
41
|
+
declare function css(property: string, value: string): string;
|
|
42
|
+
/**
|
|
43
|
+
* Generate CSS for multiple property:value pairs
|
|
44
|
+
* Returns space-separated class names
|
|
45
|
+
*/
|
|
46
|
+
declare function styles(pairs: [string, string][]): string;
|
|
47
|
+
/**
|
|
48
|
+
* Generate CSS for pseudo-class
|
|
49
|
+
*/
|
|
50
|
+
declare function on(pseudo: string, property: string, value: string): string;
|
|
51
|
+
/**
|
|
52
|
+
* Hover shorthand
|
|
53
|
+
*/
|
|
54
|
+
declare function hover(property: string, value: string): string;
|
|
55
|
+
/**
|
|
56
|
+
* Focus shorthand
|
|
57
|
+
*/
|
|
58
|
+
declare function focus(property: string, value: string): string;
|
|
59
|
+
/**
|
|
60
|
+
* Active shorthand
|
|
61
|
+
*/
|
|
62
|
+
declare function active(property: string, value: string): string;
|
|
63
|
+
/**
|
|
64
|
+
* Media query CSS generation
|
|
65
|
+
*/
|
|
66
|
+
declare function media(condition: string, property: string, value: string): string;
|
|
67
|
+
/**
|
|
68
|
+
* Responsive breakpoint shortcuts
|
|
69
|
+
*/
|
|
70
|
+
declare const at_sm: (p: string, v: string) => string;
|
|
71
|
+
declare const at_md: (p: string, v: string) => string;
|
|
72
|
+
declare const at_lg: (p: string, v: string) => string;
|
|
73
|
+
declare const at_xl: (p: string, v: string) => string;
|
|
74
|
+
declare const dark: (p: string, v: string) => string;
|
|
75
|
+
/**
|
|
76
|
+
* Get all generated CSS as a string
|
|
77
|
+
*/
|
|
78
|
+
declare function getGeneratedCss(): string;
|
|
79
|
+
/**
|
|
80
|
+
* Get count of generated rules
|
|
81
|
+
*/
|
|
82
|
+
declare function getGeneratedCount(): number;
|
|
83
|
+
/**
|
|
84
|
+
* Reset the runtime state (for testing)
|
|
85
|
+
*/
|
|
86
|
+
declare function resetRuntime(): void;
|
|
87
|
+
/**
|
|
88
|
+
* Combine multiple class names
|
|
89
|
+
*/
|
|
90
|
+
declare function combine(classes: string[]): string;
|
|
91
|
+
//#endregion
|
|
92
|
+
export { CssRuntimeOptions, CssRuntimeState, active, at_lg, at_md, at_sm, at_xl, combine, css, dark, focus, getGeneratedCount, getGeneratedCss, hasClass, hover, initCssRuntime, media, on, resetRuntime, styles };
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
//#region src/css/runtime.ts
|
|
2
|
+
function djb2Hash(s) {
|
|
3
|
+
let hash = 5381;
|
|
4
|
+
for (let i = 0; i < s.length; i++) {
|
|
5
|
+
const c = s.charCodeAt(i);
|
|
6
|
+
hash = (hash << 5) + hash + c >>> 0;
|
|
7
|
+
}
|
|
8
|
+
return hash;
|
|
9
|
+
}
|
|
10
|
+
function toBase36(n) {
|
|
11
|
+
const chars = "0123456789abcdefghijklmnopqrstuvwxyz";
|
|
12
|
+
n = n & 16777215;
|
|
13
|
+
if (n === 0) return "0";
|
|
14
|
+
let result = "";
|
|
15
|
+
while (n > 0) {
|
|
16
|
+
result = chars[n % 36] + result;
|
|
17
|
+
n = Math.floor(n / 36);
|
|
18
|
+
}
|
|
19
|
+
return result;
|
|
20
|
+
}
|
|
21
|
+
function hashClassName(decl) {
|
|
22
|
+
return "_" + toBase36(djb2Hash(decl));
|
|
23
|
+
}
|
|
24
|
+
const state = {
|
|
25
|
+
rules: /* @__PURE__ */ new Map(),
|
|
26
|
+
styleEl: null,
|
|
27
|
+
initialized: false
|
|
28
|
+
};
|
|
29
|
+
let options = {
|
|
30
|
+
warnOnGenerate: true,
|
|
31
|
+
styleId: "luna-dev-css",
|
|
32
|
+
verbose: false
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Initialize the CSS runtime
|
|
36
|
+
*/
|
|
37
|
+
function initCssRuntime(opts = {}) {
|
|
38
|
+
options = {
|
|
39
|
+
...options,
|
|
40
|
+
...opts
|
|
41
|
+
};
|
|
42
|
+
if (typeof document === "undefined") return;
|
|
43
|
+
if (state.initialized) return;
|
|
44
|
+
state.styleEl = document.getElementById(options.styleId);
|
|
45
|
+
if (!state.styleEl) {
|
|
46
|
+
state.styleEl = document.createElement("style");
|
|
47
|
+
state.styleEl.id = options.styleId;
|
|
48
|
+
state.styleEl.setAttribute("data-luna-dev", "true");
|
|
49
|
+
document.head.appendChild(state.styleEl);
|
|
50
|
+
}
|
|
51
|
+
state.initialized = true;
|
|
52
|
+
if (options.verbose) console.log("[luna-css] Runtime initialized");
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Check if a CSS class exists in stylesheets
|
|
56
|
+
*/
|
|
57
|
+
function hasClass(className) {
|
|
58
|
+
if (typeof document === "undefined") return true;
|
|
59
|
+
if (state.rules.has(className)) return true;
|
|
60
|
+
for (const sheet of document.styleSheets) try {
|
|
61
|
+
const rules = sheet.cssRules;
|
|
62
|
+
for (const rule of rules) if (rule instanceof CSSStyleRule) {
|
|
63
|
+
if (rule.selectorText === `.${className}`) return true;
|
|
64
|
+
}
|
|
65
|
+
} catch {}
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Generate CSS for a property:value declaration
|
|
70
|
+
* Returns the class name
|
|
71
|
+
*/
|
|
72
|
+
function css(property, value) {
|
|
73
|
+
const decl = `${property}:${value}`;
|
|
74
|
+
const className = hashClassName(decl);
|
|
75
|
+
if (!hasClass(className)) injectRule(className, decl);
|
|
76
|
+
return className;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Generate CSS for multiple property:value pairs
|
|
80
|
+
* Returns space-separated class names
|
|
81
|
+
*/
|
|
82
|
+
function styles(pairs) {
|
|
83
|
+
return pairs.map(([p, v]) => css(p, v)).join(" ");
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Generate CSS for pseudo-class
|
|
87
|
+
*/
|
|
88
|
+
function on(pseudo, property, value) {
|
|
89
|
+
const className = hashClassName(`${pseudo}:${property}:${value}`);
|
|
90
|
+
if (!hasClass(className)) injectPseudoRule(className, pseudo, property, value);
|
|
91
|
+
return className;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Hover shorthand
|
|
95
|
+
*/
|
|
96
|
+
function hover(property, value) {
|
|
97
|
+
return on(":hover", property, value);
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Focus shorthand
|
|
101
|
+
*/
|
|
102
|
+
function focus(property, value) {
|
|
103
|
+
return on(":focus", property, value);
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Active shorthand
|
|
107
|
+
*/
|
|
108
|
+
function active(property, value) {
|
|
109
|
+
return on(":active", property, value);
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Media query CSS generation
|
|
113
|
+
*/
|
|
114
|
+
function media(condition, property, value) {
|
|
115
|
+
const className = hashClassName(`@media(${condition}):${property}:${value}`);
|
|
116
|
+
if (!hasClass(className)) injectMediaRule(className, condition, property, value);
|
|
117
|
+
return className;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Responsive breakpoint shortcuts
|
|
121
|
+
*/
|
|
122
|
+
const at_sm = (p, v) => media("min-width:640px", p, v);
|
|
123
|
+
const at_md = (p, v) => media("min-width:768px", p, v);
|
|
124
|
+
const at_lg = (p, v) => media("min-width:1024px", p, v);
|
|
125
|
+
const at_xl = (p, v) => media("min-width:1280px", p, v);
|
|
126
|
+
const dark = (p, v) => media("prefers-color-scheme:dark", p, v);
|
|
127
|
+
function injectRule(className, decl) {
|
|
128
|
+
if (!state.initialized) initCssRuntime();
|
|
129
|
+
const rule = `.${className}{${decl}}`;
|
|
130
|
+
state.rules.set(className, rule);
|
|
131
|
+
if (state.styleEl) state.styleEl.textContent += rule;
|
|
132
|
+
if (options.warnOnGenerate) console.warn(`[luna-css] Generated at runtime: .${className} { ${decl} }`, "\n → Consider running 'luna css extract' to pre-generate CSS");
|
|
133
|
+
else if (options.verbose) console.log(`[luna-css] ${rule}`);
|
|
134
|
+
}
|
|
135
|
+
function injectPseudoRule(className, pseudo, property, value) {
|
|
136
|
+
if (!state.initialized) initCssRuntime();
|
|
137
|
+
const rule = `.${className}${pseudo}{${property}:${value}}`;
|
|
138
|
+
state.rules.set(className, rule);
|
|
139
|
+
if (state.styleEl) state.styleEl.textContent += rule;
|
|
140
|
+
if (options.warnOnGenerate) console.warn(`[luna-css] Generated at runtime: .${className}${pseudo} { ${property}: ${value} }`, "\n → Consider running 'luna css extract' to pre-generate CSS");
|
|
141
|
+
else if (options.verbose) console.log(`[luna-css] ${rule}`);
|
|
142
|
+
}
|
|
143
|
+
function injectMediaRule(className, condition, property, value) {
|
|
144
|
+
if (!state.initialized) initCssRuntime();
|
|
145
|
+
const rule = `@media(${condition}){.${className}{${property}:${value}}}`;
|
|
146
|
+
state.rules.set(className, rule);
|
|
147
|
+
if (state.styleEl) state.styleEl.textContent += rule;
|
|
148
|
+
if (options.warnOnGenerate) console.warn(`[luna-css] Generated at runtime: @media(${condition}) { .${className} { ${property}: ${value} } }`, "\n → Consider running 'luna css extract' to pre-generate CSS");
|
|
149
|
+
else if (options.verbose) console.log(`[luna-css] ${rule}`);
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Get all generated CSS as a string
|
|
153
|
+
*/
|
|
154
|
+
function getGeneratedCss() {
|
|
155
|
+
return Array.from(state.rules.values()).join("");
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Get count of generated rules
|
|
159
|
+
*/
|
|
160
|
+
function getGeneratedCount() {
|
|
161
|
+
return state.rules.size;
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Reset the runtime state (for testing)
|
|
165
|
+
*/
|
|
166
|
+
function resetRuntime() {
|
|
167
|
+
state.rules.clear();
|
|
168
|
+
if (state.styleEl) state.styleEl.textContent = "";
|
|
169
|
+
state.initialized = false;
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Combine multiple class names
|
|
173
|
+
*/
|
|
174
|
+
function combine(classes) {
|
|
175
|
+
return classes.filter(Boolean).join(" ");
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
//#endregion
|
|
179
|
+
export { active, at_lg, at_md, at_sm, at_xl, combine, css, dark, focus, getGeneratedCount, getGeneratedCss, hasClass, hover, initCssRuntime, media, on, resetRuntime, styles };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
//#region ../../target/js/release/build/
|
|
1
|
+
//#region ../../target/js/release/build/luna/js/api/moonbit.d.ts
|
|
2
2
|
|
|
3
3
|
type Unit = undefined;
|
|
4
4
|
type Bool = boolean;
|
|
@@ -9,7 +9,7 @@ type Int = number;
|
|
|
9
9
|
type String = string;
|
|
10
10
|
type UnboxedOption<T> = /* Some */T | /* None */undefined;
|
|
11
11
|
//#endregion
|
|
12
|
-
//#region ../../target/js/release/build/
|
|
12
|
+
//#region ../../target/js/release/build/luna/js/api/api.d.ts
|
|
13
13
|
declare function portalToElementWithShadow(mount: any, children: any): any;
|
|
14
14
|
declare function portalWithShadow(children: any): any;
|
|
15
15
|
declare function portalToSelector(selector: String, children: any): any;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { C as isSecondaryButton, D as stopPropagation, E as stopEvent, S as isPrimaryButton, T as preventDefault, _ as hasCmdOrCtrl, a as getDataId, b as isEnterKey, c as getKey, d as getPagePos, f as getSelectedIndex, g as getWheelDelta, h as getTextData, i as getDataAttr, l as getMovement, m as getTargetValue, n as getClientPos, o as getDataset, p as getTargetChecked, r as getClosest, s as getDroppedFiles, t as getButton, u as getOffsetPos, v as hasModifier, w as matchesSelector, x as isEscapeKey, y as isComposing } from "./event-utils-Cd5f3Njd.js";
|
|
2
|
-
import { $ as jsxs, A as debounced, At as runWithOwner, B as combine, Bt as text, C as createDeferred, Ct as routePageTitled, D as createResource, Dt as routerNavigate, E as createRenderEffect, Et as routerGetPath, F as splitProps, Ft as stateIsPending, G as createRouter, H as createElement, Ht as update, I as Fragment$1, It as stateIsSuccess, J as forEach, K as effect, L as batch, Lt as stateValue, M as on, Mt as show, N as produce, Nt as stateError, O as createSignal, Ot as routerReplace, P as reconcile, Pt as stateIsFailure, Q as jsx, R as batchEnd, Rt as subscribe, S as SwitchProps, St as routePageFull, T as createMemo, Tt as routerGetMatch, U as createElementNs, Ut as useContext, V as createContext, Vt as textDyn, W as createRoot, X as getOwner, Y as get, Z as hasOwner, _ as Setter, _t as resourceIsSuccess, a as Fragment, at as peek, b as Signal, bt as resourceValue, c as LunaNode, ct as portalToSelector, d as Portal, dt as render, et as map, f as PortalProps, ft as renderEffect, g as SetStoreFunction, gt as resourceIsPending, h as ResourceAccessor, ht as resourceIsFailure, i as ForProps, it as onMount, j as mergeProps, jt as set, k as createStore, kt as runUntracked, l as Match, lt as portalWithShadow, m as ProviderProps, mt as resourceGet, n as Context, nt as mount, o as Index, ot as portalToBody, p as Provider, pt as resourceError, q as events, r as For, rt as onCleanup, s as IndexProps, st as portalToElementWithShadow, t as Accessor, tt as mathmlNs, u as MatchProps, ut as provide, v as Show, vt as resourcePeek, w as createEffect, wt as routerGetBase, x as Switch, xt as routePage, y as ShowProps, yt as resourceRefetch, z as batchStart, zt as svgNs } from "./index-
|
|
2
|
+
import { $ as jsxs, A as debounced, At as runWithOwner, B as combine, Bt as text, C as createDeferred, Ct as routePageTitled, D as createResource, Dt as routerNavigate, E as createRenderEffect, Et as routerGetPath, F as splitProps, Ft as stateIsPending, G as createRouter, H as createElement, Ht as update, I as Fragment$1, It as stateIsSuccess, J as forEach, K as effect, L as batch, Lt as stateValue, M as on, Mt as show, N as produce, Nt as stateError, O as createSignal, Ot as routerReplace, P as reconcile, Pt as stateIsFailure, Q as jsx, R as batchEnd, Rt as subscribe, S as SwitchProps, St as routePageFull, T as createMemo, Tt as routerGetMatch, U as createElementNs, Ut as useContext, V as createContext, Vt as textDyn, W as createRoot, X as getOwner, Y as get, Z as hasOwner, _ as Setter, _t as resourceIsSuccess, a as Fragment, at as peek, b as Signal, bt as resourceValue, c as LunaNode, ct as portalToSelector, d as Portal, dt as render, et as map, f as PortalProps, ft as renderEffect, g as SetStoreFunction, gt as resourceIsPending, h as ResourceAccessor, ht as resourceIsFailure, i as ForProps, it as onMount, j as mergeProps, jt as set, k as createStore, kt as runUntracked, l as Match, lt as portalWithShadow, m as ProviderProps, mt as resourceGet, n as Context, nt as mount, o as Index, ot as portalToBody, p as Provider, pt as resourceError, q as events, r as For, rt as onCleanup, s as IndexProps, st as portalToElementWithShadow, t as Accessor, tt as mathmlNs, u as MatchProps, ut as provide, v as Show, vt as resourcePeek, w as createEffect, wt as routerGetBase, x as Switch, xt as routePage, y as ShowProps, yt as resourceRefetch, z as batchStart, zt as svgNs } from "./index-CDWzWF-h.js";
|
|
3
3
|
export { Accessor, Context, For, ForProps, Fragment, Index, IndexProps, LunaNode, Match, MatchProps, Portal, PortalProps, Provider, ProviderProps, ResourceAccessor, SetStoreFunction, Setter, Show, ShowProps, Signal, Switch, SwitchProps, batch, batchEnd, batchStart, combine, createContext, createDeferred, createEffect, createElement, createElementNs, createMemo, createRenderEffect, createResource, createRoot, createRouter, createSignal, createStore, debounced, effect, events, forEach, Fragment$1 as fragment, get, getButton, getClientPos, getClosest, getDataAttr, getDataId, getDataset, getDroppedFiles, getKey, getMovement, getOffsetPos, getOwner, getPagePos, getSelectedIndex, getTargetChecked, getTargetValue, getTextData, getWheelDelta, hasCmdOrCtrl, hasModifier, hasOwner, isComposing, isEnterKey, isEscapeKey, isPrimaryButton, isSecondaryButton, jsx, jsxs, map, matchesSelector, mathmlNs, mergeProps, mount, on, onCleanup, onMount, peek, portalToBody, portalToElementWithShadow, portalToSelector, portalWithShadow, preventDefault, produce, provide, reconcile, render, renderEffect, resourceError, resourceGet, resourceIsFailure, resourceIsPending, resourceIsSuccess, resourcePeek, resourceRefetch, resourceValue, routePage, routePageFull, routePageTitled, routerGetBase, routerGetMatch, routerGetPath, routerNavigate, routerReplace, runUntracked, runUntracked as untrack, runWithOwner, set, show, splitProps, stateError, stateIsFailure, stateIsPending, stateIsSuccess, stateValue, stopEvent, stopPropagation, subscribe, svgNs, text, textDyn, update, useContext };
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{$ as ee,A as te,B as e,C as t,Ct as n,D as r,Dt as i,E as a,Et as o,F as s,G as c,H as l,I as u,J as d,K as f,L as p,M as m,N as h,O as g,Ot as _,P as v,Q as y,R as b,S as x,St as S,T as C,Tt as w,U as T,V as E,W as D,X as O,Y as k,Z as A,_ as j,_t as M,a as N,at as P,b as F,bt as I,c as L,ct as R,d as z,dt as B,et as V,f as H,ft as U,g as W,gt as G,h as K,ht as q,i as J,it as Y,j as X,k as Z,kt as Q,l as ne,lt as $,m as re,mt as ie,n as ae,nt as oe,o as se,ot as ce,p as le,pt as ue,q as de,r as fe,rt as pe,s as me,st as he,t as ge,tt as _e,u as ve,ut as ye,v as be,vt as xe,w as Se,wt as Ce,x as we,xt as Te,y as Ee,yt as De,z as Oe}from"./src-
|
|
1
|
+
import{$ as ee,A as te,B as e,C as t,Ct as n,D as r,Dt as i,E as a,Et as o,F as s,G as c,H as l,I as u,J as d,K as f,L as p,M as m,N as h,O as g,Ot as _,P as v,Q as y,R as b,S as x,St as S,T as C,Tt as w,U as T,V as E,W as D,X as O,Y as k,Z as A,_ as j,_t as M,a as N,at as P,b as F,bt as I,c as L,ct as R,d as z,dt as B,et as V,f as H,ft as U,g as W,gt as G,h as K,ht as q,i as J,it as Y,j as X,k as Z,kt as Q,l as ne,lt as $,m as re,mt as ie,n as ae,nt as oe,o as se,ot as ce,p as le,pt as ue,q as de,r as fe,rt as pe,s as me,st as he,t as ge,tt as _e,u as ve,ut as ye,v as be,vt as xe,w as Se,wt as Ce,x as we,xt as Te,y as Ee,yt as De,z as Oe}from"./src-DEjrAhrg.js";import{C as ke,D as Ae,E as je,S as Me,T as Ne,_ as Pe,a as Fe,b as Ie,c as Le,d as Re,f as ze,g as Be,h as Ve,i as He,l as Ue,m as We,n as Ge,o as Ke,p as qe,r as Je,s as Ye,t as Xe,u as Ze,v as Qe,w as $e,x as et,y as tt}from"./event-utils-C_M2XBNj.js";export{ge as For,ae as Fragment,fe as Index,J as Match,N as Portal,se as Provider,me as Show,L as Switch,x as batch,t as batchEnd,Se as batchStart,C as combine,a as createContext,ne as createDeferred,ve as createEffect,r as createElement,g as createElementNs,z as createMemo,H as createRenderEffect,le as createResource,Z as createRoot,te as createRouter,re as createSignal,K as createStore,W as debounced,X as effect,m as events,h as forEach,v as fragment,s as get,Xe as getButton,Ge as getClientPos,Je as getClosest,He as getDataAttr,Fe as getDataId,Ke as getDataset,Ye as getDroppedFiles,Le as getKey,Ue as getMovement,Ze as getOffsetPos,u as getOwner,Re as getPagePos,ze as getSelectedIndex,qe as getTargetChecked,We as getTargetValue,Ve as getTextData,Be as getWheelDelta,Pe as hasCmdOrCtrl,Qe as hasModifier,p as hasOwner,tt as isComposing,Ie as isEnterKey,et as isEscapeKey,Me as isPrimaryButton,ke as isSecondaryButton,b as jsx,Oe as jsxs,e as map,$e as matchesSelector,E as mathmlNs,j as mergeProps,l as mount,be as on,T as onCleanup,D as onMount,c as peek,f as portalToBody,de as portalToElementWithShadow,d as portalToSelector,k as portalWithShadow,Ne as preventDefault,Ee as produce,O as provide,F as reconcile,y as render,A as renderEffect,ee as resourceError,V as resourceGet,_e as resourceIsFailure,oe as resourceIsPending,pe as resourceIsSuccess,Y as resourcePeek,P as resourceRefetch,ce as resourceValue,he as routePage,R as routePageFull,$ as routePageTitled,ye as routerGetBase,B as routerGetMatch,U as routerGetPath,ue as routerNavigate,ie as routerReplace,q as runUntracked,q as untrack,G as runWithOwner,M as set,xe as show,we as splitProps,De as stateError,I as stateIsFailure,Te as stateIsPending,S as stateIsSuccess,n as stateValue,je as stopEvent,Ae as stopPropagation,Ce as subscribe,w as svgNs,o as text,i as textDyn,_ as update,Q as useContext};
|
package/dist/jsx-dev-runtime.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./src-
|
|
1
|
+
import"./src-DEjrAhrg.js";import{Fragment as e,jsx as t,jsxDEV as n,jsxs as r}from"./jsx-runtime.js";export{e as Fragment,t as jsx,n as jsxDEV,r as jsxs};
|
package/dist/jsx-runtime.d.ts
CHANGED
package/dist/jsx-runtime.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{D as e,Dt as t,Et as n,n as r}from"./src-
|
|
1
|
+
import{D as e,Dt as t,Et as n,n as r}from"./src-DEjrAhrg.js";function i(e){return typeof e==`string`?e:typeof e!=`object`||!e?``:Object.entries(e).map(([e,t])=>`${e.replace(/([A-Z])/g,`-$1`).toLowerCase()}: ${t}`).join(`; `)}function a(e){if(!e)return[];let t=[];for(let[n,r]of Object.entries(e)){if(n===`children`)continue;let e=n,a;if(n===`className`&&(e=`class`),n===`dangerouslySetInnerHTML`){if(typeof r==`function`){let e=r;a={$tag:1,_0:()=>e().__html}}else if(r&&typeof r==`object`&&`__html`in r)a={$tag:0,_0:r.__html};else continue;t.push({_0:`__innerHTML`,_1:a});continue}if(n===`style`){if(typeof r==`function`){let e=r;a={$tag:1,_0:()=>i(e())}}else a={$tag:0,_0:i(r)};t.push({_0:e,_1:a});continue}if(n===`ref`&&typeof r==`function`){e=`__ref`,a={$tag:2,_0:r},t.push({_0:e,_1:a});continue}if(n.startsWith(`on`)&&typeof r==`function`){e=n.slice(2).toLowerCase(),a={$tag:2,_0:r},t.push({_0:e,_1:a});continue}a=typeof r==`function`?{$tag:1,_0:r}:{$tag:0,_0:String(r)},t.push({_0:e,_1:a})}return t}function o(e){if(!e)return[];let r;return r=Array.isArray(e)?e:[e],r.flat().map(e=>typeof e==`string`?n(e):typeof e==`number`?n(String(e)):typeof e==`function`&&e.length===0?t(()=>String(e())):e).filter(Boolean)}function s(t,n){let{children:r,...i}=n||{};if(typeof t==`function`)return t({...i,children:r});if(typeof t==`string`)return e(t,a(i),o(r));throw Error(`Invalid JSX type: ${t}`)}const c=s;function l({children:e}){return r(o(e))}const u=s;export{l as Fragment,s as jsx,u as jsxDEV,c as jsxs};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e={$tag:0};function t(e){this._0=e}t.prototype.$tag=1;var n=class extends Error{};function r(){throw new n}function i(e,t){if(t<0||t>=e.length)throw Error(`Index out of bounds`)}function a(e,t){let n=Array(e);return n.fill(t),n}function o(e){this._0=e}o.prototype.$tag=0;function s(e){this._0=e}s.prototype.$tag=1;const c={$tag:1},l={$tag:0},u=(e,t)=>e.toString(t),d=(e,t)=>{e.push(t)},f={$tag:0};function ee(e){this._0=e}ee.prototype.$tag=1;function te(e){this._0=e}te.prototype.$tag=2;function ne(e){this._0=e}ne.prototype.$tag=3;function re(e){this._0=e}re.prototype.$tag=4;const ie=e=>e.slice(0),p=(e,t)=>{e.length=t},ae=e=>e.pop(),oe=(e,t,n)=>e.splice(t,n),m=(e,t)=>e[t],h=(e,t,n)=>e[t](...n),se=e=>e==null,ce=()=>({}),g=(e,t,n)=>{e[t]=n},le=()=>null,ue=e=>Object.fromEntries(e.map(e=>[e._0,e._1])),de={$tag:0};function _(e){this._0=e}_.prototype.$tag=1;const fe={$tag:0};function pe(e){this._0=e}pe.prototype.$tag=1;const me={$tag:0};function he(e){this._0=e}he.prototype.$tag=1;const ge=(e,t)=>setTimeout(e,t),_e=e=>clearTimeout(e),v=()=>document,ve=(e,t)=>e.createElement(t),ye=(e,t,n)=>e.createElementNS(t,n),be=(e,t)=>e.createTextNode(t),xe=e=>queueMicrotask(e),Se={$tag:0};function y(e){this._0=e}y.prototype.$tag=1;const b={$tag:0};function Ce(e){this._0=e}Ce.prototype.$tag=1;function we(e){this._0=e}we.prototype.$tag=2;const x={$tag:0};function Te(e){this._0=e}Te.prototype.$tag=1;const Ee=()=>window.location.pathname,De=()=>window.location.search,Oe=e=>window.history.pushState(null,``,e),ke=e=>window.history.replaceState(null,``,e),Ae=e=>window.addEventListener(`popstate`,()=>e());function je(e){this._0=e}je.prototype.$tag=0;function Me(e){this._0=e}Me.prototype.$tag=1;function S(e){this._0=e}S.prototype.$tag=2;function Ne(e){this._0=e}Ne.prototype.$tag=3;const Pe=(e,t)=>document.createElementNS(e,t),Fe=(e,t,n)=>e.addEventListener(t,n),Ie=(e,t)=>e===t,Le=(e,t,n)=>{if(typeof e.moveBefore==`function`)try{return e.moveBefore(t,n),t}catch{return e.insertBefore(t,n)}else return e.insertBefore(t,n)},Re=(e,t)=>{if(typeof e.moveBefore==`function`)try{return e.moveBefore(t,null),t}catch{return e.insertBefore(t,null)}else return e.insertBefore(t,null)},ze=(e,t)=>e.nextSibling===t,Be=(e,t)=>{try{t.parentNode===e?e.removeChild(t):t.parentNode&&t.parentNode.removeChild(t)}catch{}},Ve={$tag:0};function He(e){this._0=e}He.prototype.$tag=1;function Ue(e){this._0=e}Ue.prototype.$tag=0;function We(e){this._0=e}We.prototype.$tag=1;function Ge(e){this._0=e}Ge.prototype.$tag=2;const Ke=e=>queueMicrotask(e);function qe(e,t,n,r){this._0=e,this._1=t,this._2=n,this._3=r}qe.prototype.$tag=0;function Je(e,t,n){this._0=e,this._1=t,this._2=n}Je.prototype.$tag=1;function Ye(e,t){this._0=e,this._1=t}Ye.prototype.$tag=2;function Xe(e,t){this._0=e,this._1=t}Xe.prototype.$tag=3;const Ze=()=>void 0,Qe={method_0:jt,method_1:Mt,method_2:Ht,method_3:mt},$e={val:0},C={current_subscriber:void 0,current_owner:void 0,current_cleanups:e,batch_depth:0,pending_effects:[],pending_ids:[]},et={val:0};function tt(e){return r()}function nt(e){return r()}function rt(e){return r()}function it(e){return r()}function at(e){r()}function ot(e){return r()}function st(e,t){return e===0?t===0:t===1}function ct(e,t){return tt(`${e}\n at ${j(t)}\n`)}function lt(e,t){return nt(`${e}\n at ${j(t)}\n`)}function ut(e,t){return rt(`${e}\n at ${j(t)}\n`)}function dt(e,t){return it(`${e}\n at ${j(t)}\n`)}function ft(e,t){at(`${e}\n at ${j(t)}\n`)}function pt(e,t){return ot(`${e}\n at ${j(t)}\n`)}function w(e){return{val:``}}function mt(e,t){let n=e;n.val=`${n.val}${String.fromCodePoint(t)}`}function ht(e,t){return(((Math.imul(e-55296|0,1024)|0)+t|0)-56320|0)+65536|0}function gt(e,t){return!st(e,t)}function _t(e,t){let n=e.length;return t>=0&&t<n?(i(e,t),e[t]):r()}function vt(e,t){let n=e.length;return t>=0&&t<n?(i(e,t),e[t]):r()}function yt(e,t){let n=e.length;return t>=0&&t<n?(i(e,t),e[t]):r()}function bt(e,t){let n=e.length;return t>=0&&t<n?(i(e,t),e[t]):r()}function xt(e,t){let n=e.length;return t>=0&&t<n?(i(e,t),e[t]):r()}function St(e,t){let n=e.length;return t>=0&&t<n?(i(e,t),e[t]):r()}function Ct(e,t){let n=e.length;return t>=0&&t<n?(i(e,t),e[t]):r()}function T(e,t){let n=e.length;return t>=0&&t<n?(i(e,t),e[t]):r()}function wt(e,t){let n=e.length;return t>=0&&t<n?(i(e,t),e[t]):r()}function Tt(e,t){let n=e.end-e.start|0,r=t.end-t.start|0;if(r>0)if(n>=r){let o=a(256,r),s=r-1|0,c=0;for(;;){let e=c;if(e<s){let n=t.str,a=t.start+e|0,s=n.charCodeAt(a)&255;i(o,s),o[s]=(r-1|0)-e|0,c=e+1|0;continue}else break}let l=0;for(;;){let a=l;if(a<=(n-r|0)){let n=r-1|0,s=0;for(;;){let r=s;if(r<=n){let n=a+r|0,i=e.str,o=e.start+n|0,c=i.charCodeAt(o),l=t.str,u=t.start+r|0;if(c!==l.charCodeAt(u))break;s=r+1|0;continue}else return a}let c=(a+r|0)-1|0,u=e.str,d=e.start+c|0,f=u.charCodeAt(d)&255;i(o,f),l=a+o[f]|0;continue}else break}return}else return;else return 0}function Et(e,t){let n=e.end-e.start|0,r=t.end-t.start|0;if(r>0)if(n>=r){let i=t.str,a=t.start+0|0,o=i.charCodeAt(a),s=n-r|0,c=0;for(;c<=s;){for(;;){let t;if(c<=s){let n=c,r=e.str,i=e.start+n|0;t=r.charCodeAt(i)!==o}else t=!1;if(t){c=c+1|0;continue}else break}if(c<=s){let n=1;for(;;){let i=n;if(i<r){let r=c+i|0,a=e.str,o=e.start+r|0,s=a.charCodeAt(o),l=t.str,u=t.start+i|0;if(s!==l.charCodeAt(u))break;n=i+1|0;continue}else return c}c=c+1|0}}return}else return;else return 0}function E(e,t){return(t.end-t.start|0)<=4?Et(e,t):Tt(e,t)}function Dt(e,t){let n=e.end-e.start|0,r=t.end-t.start|0;if(r>0)if(n>=r){let o=a(256,r),s=r-1|0;for(;;){let e=s;if(e>0){let n=t.str,r=t.start+e|0,a=n.charCodeAt(r)&255;i(o,a),o[a]=e,s=e-1|0;continue}else break}let c=n-r|0;for(;;){let n=c;if(n>=0){let a=0;for(;;){let i=a;if(i<r){let r=n+i|0,o=e.str,s=e.start+r|0,c=o.charCodeAt(s),l=t.str,u=t.start+i|0;if(c!==l.charCodeAt(u))break;a=i+1|0;continue}else return n}let s=e.str,l=e.start+n|0,u=s.charCodeAt(l)&255;i(o,u),c=n-o[u]|0;continue}else break}return}else return;else return n}function Ot(e,t){let n=e.end-e.start|0,r=t.end-t.start|0;if(r>0)if(n>=r){let i=t.str,a=t.start+0|0,o=i.charCodeAt(a),s=n-r|0;for(;s>=0;){for(;;){let t;if(s>=0){let n=s,r=e.str,i=e.start+n|0;t=r.charCodeAt(i)!==o}else t=!1;if(t){s=s-1|0;continue}else break}if(s>=0){let n=1;for(;;){let i=n;if(i<r){let r=s+i|0,a=e.str,o=e.start+r|0,c=a.charCodeAt(o),l=t.str,u=t.start+i|0;if(c!==l.charCodeAt(u))break;n=i+1|0;continue}else return s}s=s-1|0}}return}else return;else return n}function D(e,t){return(t.end-t.start|0)<=4?Ot(e,t):Dt(e,t)}function O(e,t,n){let r;return r=n===void 0?e.end-e.start|0:n,t>=0&&t<=r&&r<=(e.end-e.start|0)?{str:e.str,start:e.start+t|0,end:e.start+r|0}:dt(`Invalid index for View`,`@moonbitlang/core/builtin:stringview.mbt:111:5-111:36`)}function kt(e){let t=E(e,{str:`:`,start:0,end:1});if(t!==void 0){let n=t;return n>0&&(n+1|0)<(e.end-e.start|0)?{_0:O(e,0,n),_1:O(e,n+1|0,void 0)}:void 0}}function At(e){_L:if(Rt(e,1,0,e.length))if(e.charCodeAt(0)===64){let t=Vt(e,1,0,e.length),n;n=t===void 0?e.length:t;let i={str:e,start:n,end:e.length},a=E(i,{str:`:`,start:0,end:1});if(a===void 0)return r();{let e=a,t=O(i,0,e),n=D(i,{str:`-`,start:0,end:1});if(n===void 0)return r();{let a=n;if((a+1|0)<(i.end-i.start|0)){let n=kt(O(i,a+1|0,void 0));if(n===void 0)return r();{let o=n,s=o._0,c=o._1,l=O(i,0,a);_L$2:{let n=D(l,{str:`:`,start:0,end:1});if(n===void 0)break _L$2;{let i=D(O(l,0,n),{str:`:`,start:0,end:1});if(i===void 0)break _L$2;{let n=i;if((n+1|0)<(l.end-l.start|0)){let i=kt(O(l,n+1|0,void 0));if(i===void 0)return r();{let a=i,o=a._0,u=a._1;return n>(e+1|0)?{pkg:t,filename:O(l,e+1|0,n),start_line:o,start_column:u,end_line:s,end_column:c}:r()}}else return r()}}}return r()}}else return r()}}}else break _L;else break _L;return r()}function jt(e,t){let n=e;n.val=`${n.val}${t}`}function k(e,t,n){let r=e.length,i;if(n===void 0)i=r;else{let e=n;i=e<0?r+e|0:e}let a=t<0?r+t|0:t;if(a>=0&&a<=i&&i<=r){let t;if(a<r){let n=e.charCodeAt(a);t=56320<=n&&n<=57343}else t=!1;if(t)return new o(l);let n;if(i<r){let t=e.charCodeAt(i);n=56320<=t&&t<=57343}else n=!1;return n?new o(l):new s({str:e,start:a,end:i})}else return new o(c)}function Mt(e,t,n,i){let a;_L:{_L$2:{let e=k(t,n,n+i|0);if(e.$tag===1)a=e._0;else{e._0;break _L$2}break _L}a=r()}Ht(e,a)}function A(e){let t=w(0);return on(e,{self:t,method_table:Qe}),t.val}function j(e){let t=w(0);return pn(e,{self:t,method_table:Qe}),t.val}function Nt(e,t){return u(e,t)}function M(e){return e.str.substring(e.start,e.end)}function Pt(e){return e()}function Ft(e){return e()}function It(e){return t=>{for(;;){let n=Pt(e);if(n===void 0)return 1;if(t(n)!==1)return 0}}}function Lt(e){return t=>{for(;;){let n=Ft(e);if(n===-1)return 1;if(t(n)!==1)return 0}}}function N(e){let t=w(Math.imul(e.end-e.start|0,4)|0),n=e.end-e.start|0,r=0;for(;;){let i=r;if(i<n){let n=e.buf[e.start+i|0];mt(t,n),r=i+1|0;continue}else break}return t.val}function Rt(e,t,n,r){let i;i=r===void 0?e.length:r;let a=n,o=0;for(;;){let n=a,r=o;if(n<i&&r<t){let t=e.charCodeAt(n);if(55296<=t&&t<=56319&&(n+1|0)<i){let t=n+1|0,i=e.charCodeAt(t);if(56320<=i&&i<=57343){a=n+2|0,o=r+1|0;continue}else ft(`invalid surrogate pair`,`@moonbitlang/core/builtin:string.mbt:491:9-491:40`)}a=n+1|0,o=r+1|0;continue}else return r>=t}}function zt(e,t,n,r){let i=0,a=r;for(;(a-1|0)>=n&&i<t;){let t=a-1|0,n=e.charCodeAt(t);a=56320<=n&&n<=57343?a-2|0:a-1|0,i=i+1|0}return i<t||a<n?void 0:a}function Bt(e,t,n,r){if(n>=0&&n<=r){let i=n,a=0;for(;i<r&&a<t;){let t=i,n=e.charCodeAt(t);i=55296<=n&&n<=56319?i+2|0:i+1|0,a=a+1|0}return a<t||i>=r?void 0:i}else return pt(`Invalid start index`,`@moonbitlang/core/builtin:string.mbt:366:5-366:33`)}function Vt(e,t,n,r){let i;return i=r===void 0?e.length:r,t>=0?Bt(e,t,n,i):zt(e,-t|0,n,i)}function Ht(e,t){let n=e;n.val=`${n.val}${M(t)}`}function Ut(e,t){let n=D(e,t);return n===void 0?!1:n===((e.end-e.start|0)-(t.end-t.start|0)|0)}function Wt(e,t){return Ut({str:e,start:0,end:e.length},t)}function Gt(e,t){let n=E(e,t);return n===void 0?!1:n===0}function P(e,t){return Gt({str:e,start:0,end:e.length},t)}function Kt(e){return[]}function F(e,t){d(e,t)}function I(e,t){d(e,t)}function qt(e,t){d(e,t)}function Jt(e,t){d(e,t)}function Yt(e,t){d(e,t)}function Xt(e,t){d(e,t)}function Zt(e,t){d(e,t)}function Qt(e,t){d(e,t)}function $t(e,t){d(e,t)}function L(e,t){d(e,t)}function R(e,t){d(e,t)}function z(e,t){d(e,t)}function en(e){let t=e.length,n={val:0};return()=>{if(n.val<t){let r=n.val,i=e.charCodeAt(r);if(55296<=i&&i<=56319&&(n.val+1|0)<t){let t=n.val+1|0,r=e.charCodeAt(t);if(56320<=r&&r<=57343){let e=ht(i,r);return n.val=n.val+2|0,e}}return n.val=n.val+1|0,i}else return-1}}function tn(e){return Lt(en(e))}function nn(e,t){return e(t)}function rn(e){return String.fromCodePoint(e)}function an(e){let t=tn(e),n={val:Kt(e.length)},i={val:f};t(e=>{let t=n.val;return z(t,e),n.val=t,1});let a=i.val;switch(a.$tag){case 0:break;case 1:a._0;break;case 2:return a._0;case 3:r();break;default:r()}return n.val}function on(e,t){t.method_table.method_0(t.self,Nt(e,10))}function sn(e){let t={val:0};return()=>{if(t.val<(e.end-e.start|0)){let n=e.buf[e.start+t.val|0];return t.val=t.val+1|0,n}else return}}function cn(e){return sn({buf:e,start:0,end:e.length})}function B(e){return It(cn(e))}function V(e,t){return gt(nn(e,e=>t(e)?0:1),1)}function ln(e,t){let n=Array(e),r=0;for(;;){let i=r;if(i<e){n[i]=t,r=i+1|0;continue}else break}return n}function un(e,t,n){let a=e.length;if(t>=0&&t<a){i(e,t),e[t]=n;return}else{r();return}}function dn(e,t,n){let a=e.length;if(t>=0&&t<a){i(e,t),e[t]=n;return}else{r();return}}function fn(e,t){let n=e.pkg,r=E(n,{str:`/`,start:0,end:1}),i;if(r===void 0)i={_0:n,_1:void 0};else{let e=r,t=E(O(n,e+1|0,void 0),{str:`/`,start:0,end:1});if(t===void 0)i={_0:n,_1:void 0};else{let r=t,a=(e+1|0)+r|0;i={_0:O(n,0,a),_1:O(n,a+1|0,void 0)}}}let a=i._0,o=i._1;if(o!==void 0){let e=o;t.method_table.method_2(t.self,e),t.method_table.method_3(t.self,47)}t.method_table.method_2(t.self,e.filename),t.method_table.method_3(t.self,58),t.method_table.method_2(t.self,e.start_line),t.method_table.method_3(t.self,58),t.method_table.method_2(t.self,e.start_column),t.method_table.method_3(t.self,45),t.method_table.method_2(t.self,e.end_line),t.method_table.method_3(t.self,58),t.method_table.method_2(t.self,e.end_column),t.method_table.method_3(t.self,64),t.method_table.method_2(t.self,a)}function pn(e,t){fn(At(e),t)}function mn(e,t,n){let r=e.length,i;if(n===void 0)i=r;else{let e=n;i=e<0?r+e|0:e}let a=t<0?r+t|0:t;return a>=0&&a<=i&&i<=r?{buf:e,start:a,end:i}:ut(`View index out of bounds`,`@moonbitlang/core/builtin:arrayview.mbt:200:5-200:38`)}function hn(e,t){p(e,t)}function gn(e,t){p(e,t)}function _n(e,t){p(e,t)}function vn(e,t){p(e,t)}function yn(e,t){p(e,t)}function bn(e){return ae(e)}function xn(e){return e.length===0?-1:bn(e)}function Sn(e,t){if(t>=0&&t<e.length){i(e,t);let n=e[t];return oe(e,t,1),n}else return ct(`index out of bounds: the len is from 0 to ${A(e.length)} but the index is ${A(t)}`,`@moonbitlang/core/builtin:arraycore_js.mbt:241:5-243:6`)}function Cn(e,t){if(t>=0&&t<e.length){i(e,t);let n=e[t];return oe(e,t,1),n}else return lt(`index out of bounds: the len is from 0 to ${A(e.length)} but the index is ${A(t)}`,`@moonbitlang/core/builtin:arraycore_js.mbt:241:5-243:6`)}function wn(e){return ie(e)}function Tn(e){gn(e,0)}function En(e){_n(e,0)}function Dn(e){yn(e,0)}function On(e){return se(e)?de:new _(e)}function kn(e){return se(e)?fe:new pe(e)}function An(e){return se(e)?me:new he(e)}function jn(e,t,n){return{mode:e,delegatesFocus:t,slotAssignment:n}}function Mn(e,t){return h(e,`attachShadow`,[ue([{_0:`mode`,_1:t.mode},{_0:`delegatesFocus`,_1:t.delegatesFocus},{_0:`slotAssignment`,_1:t.slotAssignment}])])}function Nn(e){return m(e,`nodeType`)}function H(e){return On(m(e,`parentNode`))}function Pn(e){return On(m(e,`firstChild`))}function U(e,t){return h(e,`appendChild`,[t])}function W(e,t){return h(e,`removeChild`,[t])}function Fn(e,t,n){if(n.$tag===1){let r=n._0;return h(e,`insertBefore`,[t,r])}else return h(e,`insertBefore`,[t,le()])}function In(e,t){g(e,`textContent`,t)}function Ln(e,t){g(e,`className`,t)}function Rn(e,t,n){h(e,`setAttribute`,[t,n])}function zn(e,t){h(e,`removeAttribute`,[t])}function Bn(e,t){return kn(h(e,`querySelector`,[t]))}function Vn(e){return An(m(e,`body`))}function Hn(e){return h(e,`createDocumentFragment`,[])}function Un(e,t){return h(e,`createComment`,[t])}function G(){let e=$e.val;return $e.val=e+1|0,e}function Wn(e){let t=e.length-1|0;for(;;){let n=t;if(n>=0){yt(e,n)(),t=n-1|0;continue}else break}En(e)}function Gn(e){let t=C.current_cleanups;return C.current_cleanups=e,t}function Kn(e,n){let r=Gn(new t(e));n(),C.current_cleanups=r}function qn(e,t){let n=C.current_subscriber;C.current_subscriber=e;let r=t();return C.current_subscriber=n,r}function Jn(e,t){let n=C.current_subscriber;C.current_subscriber=e,t(),C.current_subscriber=n}function Yn(e,t){let n=G(),r={val:void 0},i={id:n,run:()=>{if(!t.active)return;Wn(t.cleanups);let n=r.val;n!==void 0&&Jn(n,()=>{Kn(t.cleanups,e)})}};return r.val=i,{_0:i,_1:()=>{t.active=!1,Wn(t.cleanups)}}}function Xn(e){let t=C.current_owner;t!==void 0&&F(t.disposers,e)}function K(e){let t=Yn(e,{active:!0,cleanups:[]}),n=t._0,r=t._1,i=n.run;return i(),Xn(r),r}function q(e){let t=C.current_subscriber;if(t!==void 0){let n=t;V(B(e.subscribers),e=>e.id===n.id)||I(e.subscribers,n)}return e.value}function Zn(e){let t=C.current_subscriber;if(t!==void 0){let n=t;V(B(e.subscribers),e=>e.id===n.id)||I(e.subscribers,n)}return e.value}function Qn(e){let t=C.current_subscriber;if(t!==void 0){let n=t;V(B(e.subscribers),e=>e.id===n.id)||I(e.subscribers,n)}return e.value}function $n(e){let t=C.current_subscriber;if(t!==void 0){let n=t;V(B(e.subscribers),e=>e.id===n.id)||I(e.subscribers,n)}return e.value}function er(e){return{value:e,subscribers:[]}}function tr(e){return{value:e,subscribers:[]}}function nr(e){return{value:e,subscribers:[]}}function rr(e){return{value:e,subscribers:[]}}function ir(e){return er(e)}function ar(e){return tr(e)}function or(e){return nr(e)}function sr(e){return rr(e)}function cr(e){let t=C.pending_ids,n=t.length,r=0;for(;;){let i=r;if(i<n){if(t[i]===e)return!0;r=i+1|0;continue}else break}return!1}function J(e){if(C.batch_depth>0){if(cr(e.id))return;Yt(C.pending_ids,e.id),I(C.pending_effects,e);return}else{let t=e.run;t();return}}function lr(e){let t=e.subscribers,n=t.length,r=0;for(;;){let e=r;if(e<n){let n=t[e];J(n),r=e+1|0;continue}else return}}function ur(e){let t=e.subscribers,n=t.length,r=0;for(;;){let e=r;if(e<n){let n=t[e];J(n),r=e+1|0;continue}else return}}function dr(e){let t=e.subscribers,n=t.length,r=0;for(;;){let e=r;if(e<n){let n=t[e];J(n),r=e+1|0;continue}else return}}function fr(e){let t=e.subscribers,n=t.length,r=0;for(;;){let e=r;if(e<n){let n=t[e];J(n),r=e+1|0;continue}else return}}function pr(e,t){e.value=t,lr(e)}function Y(e,t){e.value=t,ur(e)}function mr(e,t){e.value=t,dr(e)}function hr(e,t){e.value=t,fr(e)}function gr(e){let t={active:!0,cleanups:[]},n=Yn(e,t),r=n._0,i=n._1;return xe(()=>{if(t.active){let e=r.run;e();return}else return}),Xn(i),i}function _r(e,t){e.value=t(e.value),lr(e)}function vr(e){let t=G(),n={value:Se,dirty:!0,subscribers:[]},r={val:void 0};return r.val={id:t,run:()=>{if(!n.dirty){n.dirty=!0;let e=n.subscribers,t=e.length,r=0;for(;;){let n=r;if(n<t){let t=e[n];J(t),r=n+1|0;continue}else return}}}},()=>{let t=C.current_subscriber;if(t!==void 0){let e=t;V(B(n.subscribers),t=>t.id===e.id)||I(n.subscribers,e)}if(n.dirty){let t=r.val;t===void 0||(n.value=new y(qn(t,e)),n.dirty=!1)}let i=n.value;if(i.$tag===1)return i._0;{let t=e();return n.value=new y(t),t}}}function yr(e,t){let n=e.subscribers,r=n.length,i=0,a=0;for(;;){let e=i,o=a;if(e<r){let r=n[e];if(r.id!==t){n[o]=r,i=e+1|0,a=o+1|0;continue}i=e+1|0;continue}else{hn(n,o);return}}}function br(e,t){let n=G(),r={val:!0},i={id:n,run:()=>{if(r.val){t(e.value);return}else return}};return I(e.subscribers,i),()=>{r.val=!1,yr(e,n)}}function xr(e){return e.$tag===0}function Sr(e){return e.$tag===1}function Cr(e){return e.$tag===2}function wr(e){if(e.$tag===1){let t=e._0;return new y(t)}else return Se}function Tr(e){if(e.$tag===2)return e._0}function Er(e){return $n(e.state)}function Dr(e){return e.state.value}function Or(e){let t=e.state;return xr(t.value)}function kr(e){let t=e.state;return Sr(t.value)}function Ar(e){let t=e.state;return Cr(t.value)}function jr(e){let t=e.state;return wr(t.value)}function Mr(e){let t=e.state;return Tr(t.value)}function Nr(e){let t=e.refetch_;t()}function Pr(e){let t=ar(b),n=e=>{Y(t,new Ce(e))},r=e=>{Y(t,new we(e))},i=()=>{Y(t,b),e(n,r)};return i(),{state:t,refetch_:i}}function Fr(){let e=ar(b);return{_0:{state:e,refetch_:()=>{Y(e,b)}},_1:t=>{Y(e,new Ce(t))},_2:t=>{Y(e,new we(t))}}}function Ir(e){let t=et.val;return et.val=t+1|0,{id:t,default_value:()=>e,providers:[]}}function Lr(e,t){let n=t;for(;;){let t=n;if(t===void 0)return!1;{let r=t;if(r.id===e)return!r.disposed;n=r.parent;continue}}}function Rr(e,t){let n=e.providers.length-1|0;for(;;){let r=n;if(r>=0){let i=bt(e.providers,r),a=i._0,o=i._1;if(Lr(a,t))return o;n=r-1|0;continue}else break}}function zr(e,t){let n=C.current_owner;C.current_owner=e;let r=t();return C.current_owner=n,r}function Br(e,t){let n=C.current_owner;C.current_owner=e,t(),C.current_owner=n}function Vr(e,t){let n=C.current_owner;C.current_owner=e;let r=t();return C.current_owner=n,r}function Hr(e,t){let n=C.current_owner;C.current_owner=e;let r=t();return C.current_owner=n,r}function Ur(e,t){let n=C.current_owner;C.current_owner=e;let r=t();return C.current_owner=n,r}function Wr(e){if(e.disposed)return;e.disposed=!0;let t=e.children.length-1|0;for(;;){let n=t;if(n>=0){Wr(vt(e.children,n)),t=n-1|0;continue}else break}let n=e.disposers.length-1|0;for(;;){let t=n;if(t>=0){yt(e.disposers,t)(),n=t-1|0;continue}else break}let r=e.cleanups.length-1|0;for(;;){let t=r;if(t>=0){yt(e.cleanups,t)(),r=t-1|0;continue}else break}Tn(e.children),En(e.disposers),En(e.cleanups);let i=e.parent;if(i!==void 0){let t=i.children,n=t.length,r=0,a=0;for(;;){let i=r,o=a;if(i<n){let n=t[i];if(n.id!==e.id){t[o]=n,r=i+1|0,a=o+1|0;continue}r=i+1|0;continue}else{gn(t,o);return}}}}function Gr(e){let t={id:G(),parent:e,children:[],cleanups:[],disposers:[],disposed:!1};return e===void 0||Xt(e.children,t),t}function Kr(e){let t=Gr(C.current_owner),n=()=>{Wr(t)};return zr(t,()=>e(n))}function qr(e,t,n){let r=C.current_owner,i=Gr(r),a=i.id;return Zt(e.providers,{_0:a,_1:()=>t}),F(i.cleanups,()=>{let t=e.providers,n=t.length,r=0,i=0;for(;;){let e=r,o=i;if(e<n){let n=t[e];if(n._0!==a){t[o]=n,r=e+1|0,i=o+1|0;continue}r=e+1|0;continue}else{vn(t,o);return}}}),zr(i,n)}function Jr(e,t,n){return C.current_owner===void 0?Kr(r=>qr(e,t,n)):qr(e,t,n)}function Yr(e){let t=C.current_owner,n=Rr(e,t);if(n===void 0){let t=e.default_value;return t()}else return n()}function Xr(e){let t=C.current_subscriber;C.current_subscriber=void 0;let n=e();return C.current_subscriber=t,n}function Zr(e){let t=C.current_subscriber;C.current_subscriber=void 0,e(),C.current_subscriber=t}function Qr(e){let t=C.current_subscriber;C.current_subscriber=void 0;let n=e();return C.current_subscriber=t,n}function $r(e){let t=C.current_subscriber;C.current_subscriber=void 0;let n=e();return C.current_subscriber=t,n}function ei(e){let t=C.current_subscriber;C.current_subscriber=void 0;let n=e();return C.current_subscriber=t,n}function ti(e){let t=C.current_subscriber;C.current_subscriber=void 0;let n=e();return C.current_subscriber=t,n}function ni(){C.batch_depth=C.batch_depth+1|0}function ri(){for(;;)if(C.pending_effects.length>0){let e=Sn(C.pending_effects,0);Cn(C.pending_ids,0);let t=e.run;t();continue}else return}function ii(){if(C.batch_depth=C.batch_depth-1|0,C.batch_depth===0){ri();return}else return}function ai(e){ni();let t=e();return ii(),t}function oi(e){let t=C.current_cleanups;if(t.$tag===1){let n=t._0;F(n,e);return}else{let t=C.current_owner;if(t===void 0)return;F(t.cleanups,e);return}}function si(e){let t=Gr(C.current_owner);return{_0:Hr(t,e),_1:()=>{Wr(t)}}}function ci(e,t){return e===void 0?t():Vr(e,t)}function li(e,t){return e===void 0?t():Ur(e,t)}function ui(e,t){return vr(()=>t(q(e)))}function di(e,t,n){return vr(()=>n(q(e),q(t)))}function X(e,t){let n=[],r=an(e),i=[],a=r.length,o=0;for(;;){let e=o;if(e<a){let a=r[e];a===t?(L(n,N({buf:i,start:0,end:i.length})),Dn(i)):z(i,a),o=e+1|0;continue}else break}return L(n,N({buf:i,start:0,end:i.length})),n}function fi(e){if(e!==``){let t=[],n=X(e,38),r=n.length,i=0;for(;;){let e=i;if(e<r){let r=n[e],a=X(r,61);if(a.length===2)R(t,{_0:T(a,0),_1:T(a,1)});else{let e;e=a.length===1?T(a,0)!==``:!1,e&&R(t,{_0:T(a,0),_1:``})}i=e+1|0;continue}else break}return t}else return[]}function pi(e){let t=an(e),n=-1,r=t.length,i=0;for(;;){let e=i;if(e<r){if(t[e]===63){n=e;break}i=e+1|0;continue}else break}return n===-1?{_0:e,_1:[]}:{_0:N(mn(t,0,n)),_1:fi(N(mn(t,n+1|0,void 0)))}}function mi(e){return P(e,{str:`[`,start:0,end:1})&&Wt(e,{str:`]`,start:0,end:1})&&!P(e,{str:`[...`,start:0,end:4})&&!P(e,{str:`[[...`,start:0,end:5})}function hi(e){if(e.length===0)return``;let t=w(0),n=e.length,r=0;for(;;){let i=r;if(i<n){let n=e[i];i>0&&jt(t,`/`),jt(t,n),r=i+1|0;continue}else break}return t.val}function gi(e){let t=X(e,47),n=[],r=t.length,i=0;for(;;){let e=i;if(e<r){let r=t[e];r!==``&&L(n,r),i=e+1|0;continue}else break}return n}function _i(e,t){let n=rn(t);return P(e,{str:n,start:0,end:n.length})}function vi(e,t){let n=gi(t.pattern),r=gi(e),i=t.catch_all;if(i===void 0){if(n.length!==r.length)return x;let e=[],i=0,a=n.length,o=0;for(;;){let s=o;if(s<a){let a=n[s],c=T(r,s);if(_i(a,58)||mi(a))if(i<t.param_names.length)R(e,{_0:T(t.param_names,i),_1:c}),i=i+1|0;else return x;else if(a!==c)return x;o=s+1|0;continue}else break}return new Te(e)}else{let e=i,a=n.length-1|0,o=r.length;if(e.optional){if(o<a)return x}else if(o<=a)return x;let s=[],c=0,l=0;for(;;){let e=l;if(e<a){let i=T(n,e),a=T(r,e);if(_i(i,58)||mi(i))if(c<t.param_names.length)R(s,{_0:T(t.param_names,c),_1:a}),c=c+1|0;else return x;else if(i!==a)return x;l=e+1|0;continue}else break}let u=[],d=a;for(;;){let e=d;if(e<o){L(u,T(r,e)),d=e+1|0;continue}else break}let f=hi(u);return R(s,{_0:e.name,_1:f}),new Te(s)}}function yi(e,t){let n=pi(e),r=n._0,i=n._1,a=t.length,o=0;for(;;){let e=o;if(e<a){let n=t[e],a=vi(r,n);if(a.$tag===1)return{route:n,params:a._0,query:i,path:r};o=e+1|0;continue}else break}}function bi(e){if(e===``||e===`/`)return`/`;let t=an(e),n=[],r=!1,i=t.length,a=0;for(;;){let e=a;if(e<i){let i=t[e];i===47?(r||z(n,i),r=!0):(z(n,i),r=!1),a=e+1|0;continue}else break}let o=n.length;return o>1&&wt(n,o-1|0)===47&&xn(n),N({buf:n,start:0,end:n.length})}function xi(e){let t=[],n=X(e,47),r=n.length,i=0;for(;;){let e=i;if(e<r){_L:{let r=n[e];if(P(r,{str:`:`,start:0,end:1})&&r.length>1){let e;_L$2:{_L$3:{let t=k(r,1,void 0),n;if(t.$tag===1)n=t._0;else{t._0;break _L$3}e=M(n);break _L$2}break _L}L(t,e)}else if(P(r,{str:`[`,start:0,end:1})&&!P(r,{str:`[...`,start:0,end:4})&&!P(r,{str:`[[...`,start:0,end:5})&&Wt(r,{str:`]`,start:0,end:1})&&r.length>2){let e;_L$2:{_L$3:{let t=k(r,1,r.length-1|0),n;if(t.$tag===1)n=t._0;else{t._0;break _L$3}e=M(n);break _L$2}break _L}L(t,e)}break _L}i=e+1|0;continue}else break}return t}function Si(e){let t=X(e,47);if(t.length===0)return;let n=T(t,t.length-1|0);if(P(n,{str:`[[...`,start:0,end:5})&&Wt(n,{str:`]]`,start:0,end:2})&&n.length>7){let e;_L:{_L$2:{let t=k(n,5,n.length-2|0),r;if(t.$tag===1)r=t._0;else{t._0;break _L$2}e=M(r);break _L}return}return{name:e,optional:!0}}if(P(n,{str:`[...`,start:0,end:4})&&Wt(n,{str:`]`,start:0,end:1})&&n.length>5){let e;_L:{_L$2:{let t=k(n,4,n.length-1|0),r;if(t.$tag===1)r=t._0;else{t._0;break _L$2}e=M(r);break _L}return}return{name:e,optional:!1}}}function Ci(e,t,n,r){let i=e.length,a=0;for(;;){let o=a;if(o<i){let i=e[o];switch(i.$tag){case 0:{let e=i,a=e._0,o=e._1,s=e._2,c=e._3,l=bi(`${t}${a}`),u=xi(l),d=Si(l);$t(r,{pattern:l,param_names:u,component:o,layouts:wn(n),kind:0,title:s,meta:c,catch_all:d});break}case 2:{let e=i,n=e._0,a=e._1,o=bi(`${t}${n}`);$t(r,{pattern:o,param_names:xi(o),component:a,layouts:[],kind:1,title:``,meta:[],catch_all:Si(o)});break}case 3:{let e=i,n=e._0,a=e._1,o=bi(`${t}${n}`);$t(r,{pattern:o,param_names:xi(o),component:a,layouts:[],kind:2,title:``,meta:[],catch_all:Si(o)});break}default:{let e=i,a=e._0,o=e._1,s=e._2,c=bi(`${t}${a}`),l=wn(n);L(l,s),Ci(o,c,l,r)}}a=o+1|0;continue}else return}}function wi(e,t){let n=[];return Ci(e,t,[],n),n}function Ti(){let e=Ee(),t=De();return t===``?e:`${e}${t}`}function Ei(e){let t=Ti();mr(e.current_path,t),hr(e.current_match,yi(t,e.routes))}function Di(e,t){let n=wi(e,t),r=Ti(),i=yi(r,n),a={routes:n,base:t,current_path:or(r),current_match:sr(i)};return Ae(()=>{Ei(a)}),a}function Oi(e,t){mr(e.current_path,t),hr(e.current_match,yi(t,e.routes))}function ki(e,t){Oe(t),Oi(e,t)}function Ai(e,t){ke(t),Oi(e,t)}function ji(e){return Zn(e.current_path)}function Mi(e){return Qn(e.current_match)}function Ni(e){let t=be(v(),e());return K(()=>{In(t,e())}),new Me(t)}function Pi(e,t,n){if(t===`className`||t===`class`){Ln(e,n);return}else if(t===`__innerHTML`){g(e,`innerHTML`,n);return}else if(t===`value`){g(e,`value`,n);return}else if(t===`checked`){g(e,`checked`,n===`true`);return}else if(t===`disabled`)if(n===`true`){Rn(e,`disabled`,``);return}else{zn(e,`disabled`);return}else{Rn(e,t,n);return}}function Fi(e,t){Rn(e,`style`,t)}function Ii(e,t,n){switch(n.$tag){case 0:{let r=n._0;if(t===`style`){Fi(e,r);return}else{Pi(e,t,r);return}}case 1:{let r=n._0;K(()=>{let n=r();if(t===`style`){Fi(e,n);return}else{Pi(e,t,n);return}});return}default:{let r=n._0;if(t===`__ref`){r(e);return}else{Fe(e,t,r);return}}}}function Li(e){return{inner:e}}function Z(e){switch(e.$tag){case 0:return e._0.inner;case 1:return e._0;case 2:return e._0;default:return e._0}}function Ri(e,t,n,r){let i=Pe(e,t),a=n.length,o=0;for(;;){let e=o;if(e<a){let t=n[e],r=t._0,a=t._1;Ii(i,r,a),o=e+1|0;continue}else break}let s=r.length,c=0;for(;;){let e=c;if(e<s){let t=r[e];U(i,Z(t)),c=e+1|0;continue}else break}return new je(Li(i))}function zi(e,t,n){let r=ve(v(),e),i=t.length,a=0;for(;;){let e=a;if(e<i){let n=t[e],i=n._0,o=n._1;Ii(r,i,o),a=e+1|0;continue}else break}let o=n.length,s=0;for(;;){let e=s;if(e<o){let t=n[e];U(r,Z(t)),s=e+1|0;continue}else break}return new je(Li(r))}function Bi(e,t){U(e,Z(t))}function Vi(e){In(e,``)}function Hi(e,t){Vi(e),Bi(e,t)}function Ui(e){if(Nn(e)===11){let t=[];for(;;){let n=Pn(e);if(n.$tag===1){let r=n._0;Qt(t,r),W(e,r);continue}else break}return t}else return[e]}function Wi(e){switch(e.length){case 0:return new S(Hn(v()));case 1:return _t(e,0);default:{let t=Hn(v()),n=e.length,r=0;for(;;){let i=r;if(i<n){let n=e[i];U(t,Z(n)),r=i+1|0;continue}else break}return new S(t)}}}function Gi(e){let t=e._2,n=e._1,r=e._0;return li(r,()=>{let e=si(()=>t()),r=e._0;return n.val=e._1,Ui(Z(r))})}function Ki(e,t){let n=Un(v(),`show`),r=C.current_owner,i={val:void 0},a={_0:r,_1:i,_2:t},o=ei(()=>e())?ti(()=>Gi(a)):[],s={val:o},c={val:!0};if(K(()=>{let t=e(),r=s.val.length>0;if(c.val){c.val=!1;return}if(t===!0)if(r===!1){let e=H(n);if(e.$tag===1){let t=e._0,r=ti(()=>Gi(a)),i=r.length,o=0;for(;;){let e=o;if(e<i){let i=r[e];Fn(t,i,new _(n)),o=e+1|0;continue}else break}s.val=r;return}else return}else return;else if(r===!0){let e=i.val;e===void 0||(e(),i.val=void 0);let t=s.val,n=t.length,r=0;for(;;){let e=r;if(e<n){let n=t[e],i=H(n);if(i.$tag===1){let e=i._0;W(e,n)}r=e+1|0;continue}else break}s.val=[];return}else return}),o.length>0){let e=[],t=o.length,r=0;for(;;){let n=r;if(n<t){let t=o[n];Jt(e,new S(t)),r=n+1|0;continue}else break}return Jt(e,new S(n)),Wi(e)}else return new S(n)}function qi(e,t){return Ie(e,t)}function Ji(e,t){let n=e.length,r=0;for(;;){let i=r;if(i<n){let n=e[i];if(qi(n.item,t))return i;r=i+1|0;continue}else break}return-1}function Yi(e,t,n){if(n.$tag===1){let r=n._0;return Le(e,t,r)}else return Re(e,t)}function Xi(e,t,n,r,i){let a=n.length;if(a===0){let n=t.length,r=0;for(;;){let i=r;if(i<n){let n=t[i],a=n.dispose;a(),Be(e,n.dom),r=i+1|0;continue}else break}return[]}let o=[],s=0;for(;;){let e=s;if(e<a){qt(o,{item:xt(n,0),dom:i,dispose:()=>{}}),s=e+1|0;continue}else break}let c=ln(t.length,!1),l=i,u=a-1|0;for(;;){let i=u;if(i>=0){let a=xt(n,i),s=Ji(t,a);if(s>=0){let n=St(t,s);un(c,s,!0),ze(n.dom,l)||Yi(e,n.dom,new _(l)),l=n.dom,dn(o,i,n)}else{let t=r(a,i),n=t._0,s=t._1;Fn(e,n,new _(l)),l=n,dn(o,i,{item:a,dom:n,dispose:s})}u=i-1|0;continue}else break}let d=t.length,f=0;for(;;){let n=f;if(n<d){let r=t[n];if(!Ct(c,n)){let t=r.dispose;t(),Be(e,r.dom)}f=n+1|0;continue}else break}return o}function Zi(e,t,n,r){let i=H(t);if(i.$tag===1){let a=i._0;e.val=Xi(a,e.val,n,r,t);return}else return}function Qi(e,t,n){return{item:e,dom:t,dispose:n}}function $i(e,t){let n=v(),r=Un(n,`for`),i={val:[]},a={val:!0},o=C.current_owner,s=(e,n)=>ci(o,()=>{let r=si(()=>t(e,n)),i=r._0,a=r._1;return{_0:Z(i),_1:a}}),c=Hn(n),l=Qr(()=>e()),u=l.length,d=0;for(;;){let e=d;if(e<u){let t=l[e],n=$r(()=>s(t,e)),r=n._0,a=n._1;qt(i.val,Qi(t,r,a)),U(c,r),d=e+1|0;continue}else break}return U(c,r),K(()=>{let t=e();if(a.val){a.val=!1;return}Zr(()=>{Zi(i,r,t,s)})}),new S(c)}function ea(e){return new Me(be(v(),e))}function ta(e){return new S(e)}function na(){return ce()}function ra(e){return ea(e)}function ia(e){return Ni(e)}function aa(e,t,n){return zi(e,t,n)}function oa(e,t,n){return zi(e,t,n)}function sa(e,t){let n=er(e.value),r={val:Ve};return br(e,e=>{let i=r.val;if(i.$tag===1){let e=i._0;_e(e)}r.val=new He(ge(()=>{pr(n,e)},t))}),n}function ca(e){switch(e.$tag){case 0:return e._0;case 1:return e._0;default:return e._0}}function la(){return{mount:fe,use_shadow:!1,is_svg:!1}}function ua(e){return{mount:new pe(e),use_shadow:!1,is_svg:!1}}function da(){return{mount:fe,use_shadow:!0,is_svg:!1}}function fa(e,t){let n=v(),r=e.mount,i;if(r.$tag===1)i=r._0;else{let e=Vn(n);i=e.$tag===1?e._0:ve(n,`div`)}let a=e.is_svg?ye(n,`http://www.w3.org/2000/svg`,`g`):ve(n,`div`),o;e.use_shadow?(U(Mn(i,jn(`open`,!1,`named`)),a),o=a):(U(i,a),o=a);let s=[],c=t.length,l=0;for(;;){let e=l;if(e<c){let n=t[e],r=ca(n);U(o,r),Qt(s,r),l=e+1|0;continue}else break}return oi(()=>{let e=s.length,t=0;for(;;){let n=t;if(n<e){let e=s[n],r=H(e);if(r.$tag===1){let t=r._0;W(t,e)}t=n+1|0;continue}else break}let n=H(a);if(n.$tag===1){let e=n._0;W(e,a);return}else return}),new Ge(Un(n,`portal`))}function pa(e){return fa(la(),e)}function ma(e,t){let n=Bn(v(),e),r;if(n.$tag===1){let e=n._0;r=ua(e)}else r=la();return fa(r,t)}function ha(e){return fa(da(),e)}function ga(e,t){return fa({mount:new pe(e),use_shadow:!0,is_svg:!1},t)}function _a(e){return ir(e)}function va(e){return q(e)}function Q(e,t){pr(e,t)}function ya(e,t){_r(e,t)}function ba(e){return e.value}function xa(e,t){return br(e,t)}function Sa(e,t){return ui(e,t)}function Ca(e){return vr(e)}function wa(e,t,n){return di(e,t,n)}function Ta(e){return gr(e)}function Ea(e){return K(e)}function Da(){ni()}function Oa(){ii()}function ka(e){return Xr(e)}function Aa(e){return ai(e)}function ja(e){oi(e)}function Ma(e){return Kr(e)}function Na(){let e=C.current_owner;if(e!==void 0)return e}function Pa(e,t){return zr(e,t)}function Fa(){return C.current_owner!==void 0}function Ia(e){let t=C.current_owner;Ke(()=>{if(t===void 0){Zr(e);return}else{let n=t;Br(n,()=>{Zr(()=>{let t=[];Kn(t,e);let r=t.length,i=0;for(;;){let e=i;if(e<r){let r=t[e];F(n.cleanups,r),i=e+1|0;continue}else return}})});return}})}function La(e,t){return $i(e,t)}function Ra(e){return ra(e)}function za(e){return ia(e)}function Ba(e,t){Hi(e,t)}function Va(e,t){Bi(e,t)}function Ha(e,t){return Ki(e,t)}function Ua(e,t,n){return aa(e,t,n)}function Wa(e,t,n){return oa(e,t,n)}function $(e){return Wi(e)}function Ga(e,t,n){return zi(e,t,n)}function Ka(e,t,n,r){return Ri(e,t,n,r)}function qa(){return`http://www.w3.org/2000/svg`}function Ja(){return`http://www.w3.org/1998/Math/MathML`}function Ya(){return na()}function Xa(e,t){return sa(e,t)}function Za(e,t){return new qe(e,t,``,[])}function Qa(e,t,n){return new qe(e,t,n,[])}function $a(e,t,n,r){return new qe(e,t,n,r)}function eo(e,t){return Di(e,t)}function to(e,t){let n;return n=t===void 0?``:t,eo(e,n)}function no(e,t){ki(e,t)}function ro(e,t){Ai(e,t)}function io(e){return ji(e)}function ao(e){return Mi(e)}function oo(e){return e.base}function so(e){return Ir(e)}function co(e,t,n){return Jr(e,t,n)}function lo(e){return Yr(e)}function uo(e){return Pr(e)}function fo(){let e=Fr();return{_0:e._0,_1:e._1,_2:e._2}}function po(e){return Er(e)}function mo(e){return Dr(e)}function ho(e){Nr(e)}function go(e){return Or(e)}function _o(e){return kr(e)}function vo(e){return Ar(e)}function yo(e){let t=jr(e);return t.$tag===1?t._0:Ze()}function bo(e){let t=Mr(e);return t===void 0?``:t}function xo(e){return xr(e)}function So(e){return Sr(e)}function Co(e){return Cr(e)}function wo(e){let t=wr(e);return t.$tag===1?t._0:Ze()}function To(e){let t=Tr(e);return t===void 0?``:t}function Eo(e){return new Ge(Z(e))}function Do(e){return ta(ca(e))}function Oo(e){let t=Array(e.length),n=e.length,r=0;for(;;){let i=r;if(i<n){let n=e[i];t[i]=Eo(n),r=i+1|0;continue}else break}return Do(pa(t))}function ko(e,t){let n=Array(t.length),r=t.length,i=0;for(;;){let e=i;if(e<r){let r=t[e];n[e]=Eo(r),i=e+1|0;continue}else break}return Do(ma(e,n))}function Ao(e){let t=Array(e.length),n=e.length,r=0;for(;;){let i=r;if(i<n){let n=e[i];t[i]=Eo(n),r=i+1|0;continue}else break}return Do(ha(t))}function jo(e,t){let n=Array(t.length),r=t.length,i=0;for(;;){let e=i;if(e<r){let r=t[e];n[e]=Eo(r),i=e+1|0;continue}else break}return Do(ga(e,n))}function Mo(e){let t=_a(e);return[()=>va(t),e=>{typeof e==`function`?ya(t,e):Q(t,e)}]}function No(e){return Ta(e)}function Po(e){return Ea(e)}function Fo(e){return Ca(e)}function Io(e,t,n={}){let{defer:r=!1}=n,i=Array.isArray(e),a,o,s=!0;return n=>{let c=i?e.map(e=>e()):e();if(r&&s){s=!1,a=c;return}let l=t(c,a,n??o);return a=c,o=l,s=!1,l}}function Lo(...e){let t={};for(let n of e)if(n)for(let e of Object.keys(n)){let r=n[e];if(e.startsWith(`on`)&&typeof r==`function`){let n=t[e];typeof n==`function`?t[e]=(...e)=>{n(...e),r(...e)}:t[e]=r}else if(e===`ref`&&typeof r==`function`){let n=t[e];typeof n==`function`?t[e]=e=>{n(e),r(e)}:t[e]=r}else if(e===`class`||e===`className`){let n=t[e];n?t[e]=`${n} ${r}`:t[e]=r}else e===`style`&&typeof r==`object`&&typeof t[e]==`object`?t[e]={...t[e],...r}:t[e]=r}return t}function Ro(e,...t){let n=[],r={...e};for(let e of t){let t={};for(let n of e)n in r&&(t[n]=r[n],delete r[n]);n.push(t)}return n.push(r),n}function zo(e){let t=uo(e),n=()=>wo(po(t));return Object.defineProperties(n,{loading:{get:()=>go(t)},error:{get:()=>bo(t)},state:{get:()=>go(t)?`pending`:_o(t)?`ready`:vo(t)?`errored`:`unresolved`},latest:{get:()=>mo(t)}}),[n,{refetch:()=>ho(t)}]}function Bo(){let e=fo(),t=e._0,n=e._1,r=e._2,i=()=>wo(po(t));return Object.defineProperties(i,{loading:{get:()=>go(t)},error:{get:()=>bo(t)}}),[i,n,r]}function Vo(e,t){let[n]=e,r=_a(n()),i=Xa(r,t);return[()=>va(i),e=>Q(r,e)]}function Ho(e,...t){if(typeof e==`function`){let n=e(...t);return Array.isArray(n)?$(n):n}return Array.isArray(e)?$(e):e}function Uo(e){if(Array.isArray(e))return $(e);let{children:t}=e||{};return $(t?Array.isArray(t)?t:[t]:[])}function Wo(e){let{each:t,fallback:n,children:r}=e;return t?La(typeof t==`function`?t:()=>t,(e,t)=>r(e,()=>t)):n??null}function Go(e){let{when:t,children:n}=e,r=typeof t==`function`?t:()=>t;return Ha(()=>!!r(),()=>Ho(n,r()))}function Ko(e){let{each:t,fallback:n,children:r}=e;if(!t)return n??null;let i=typeof t==`function`?t:()=>t;return i().length===0&&n?n:La(i,(e,t)=>r(()=>i()[t],t))}function qo(e){let{context:t,value:n,children:r}=e;return co(t,n,r)}function Jo(e){let{fallback:t,children:n}=e,r;r=n?Array.isArray(n)?n.flat():[n]:[];let i=r.filter(e=>e&&e.__isMatch);if(i.length===0)return t??null;let a=Fo(()=>{for(let e=0;e<i.length;e++)if(i[e].when())return e;return-1}),o=[];for(let e=0;e<i.length;e++){let t=i[e],n=e;o.push(Ha(()=>a()===n,t.children))}return t&&o.push(Ha(()=>a()===-1,()=>Ho(t))),$(o)}function Yo(e){let{when:t,children:n}=e,r=typeof t==`function`?t:()=>t;return{__isMatch:!0,when:()=>!!r(),condition:r,children:()=>Ho(n,r())}}function Xo(e){let{mount:t,useShadow:n=!1,children:r}=e,i=[r()];if(n){if(typeof t==`string`){let e=document.querySelector(t);if(e)return jo(e,i)}else if(t)return jo(t,i);return Ao(i)}return typeof t==`string`?ko(t,i):Oo(i)}function Zo(e){let t=new Map,n=structuredClone(e);function r(e){let r=e.join(`.`);if(!t.has(r)){let a=i(n,e);t.set(r,_a(a))}return t.get(r)}function i(e,t){let n=e;for(let e of t){if(n==null)return;n=n[e]}return n}function a(e,t,n){if(t.length===0)return;let r=e;for(let e=0;e<t.length-1;e++){let n=t[e];if(r[n]==null){let i=t[e+1];r[n]=typeof i==`number`||/^\d+$/.test(i)?[]:{}}r=r[n]}r[t[t.length-1]]=n}function o(e){let r=e.join(`.`);Da();try{for(let[e,a]of t.entries())(e===r||e.startsWith(r+`.`))&&Q(a,i(n,e.split(`.`)))}finally{Oa()}}function s(e,t=[]){return typeof e!=`object`||!e?e:new Proxy(e,{get(e,n){if(typeof n==`symbol`)return e[n];let i=[...t,n];va(r(i));let a=e[n];return typeof a==`object`&&a?s(a,i):a},set(e,n,r){let i=[...t,n];return e[n]=r,o(i),!0}})}function c(...e){if(e.length===0)return;let r=[],s=0;for(;s<e.length-1&&typeof e[s]==`string`;)r.push(e[s]),s++;let c=e[s];if(r.length===0&&typeof c==`object`&&c){Object.assign(n,c);for(let[e,r]of t.entries())Q(r,i(n,e.split(`.`)));return}let l=i(n,r),u;u=typeof c==`function`?c(l):Array.isArray(c)?c:typeof c==`object`&&c&&typeof l==`object`&&l&&!Array.isArray(l)?{...l,...c}:c,a(n,r,u),o(r)}return[s(n),c]}function Qo(e){return t=>{let n=structuredClone(t);return e(n),n}}function $o(e){return()=>e}export{bo as $,to as A,Sa as B,Oa as C,wo as Ct,Ga as D,za as Dt,so as E,Ra as Et,va as F,ba as G,Va as H,Na as I,ko as J,Oo as K,Fa as L,Ya as M,La as N,Ka as O,ya as Ot,$ as P,Ba as Q,Ua as R,Aa as S,So as St,wa as T,qa as Tt,ja as U,Ja as V,Ia as W,co as X,Ao as Y,Ea as Z,Lo as _,Q as _t,Xo as a,ho as at,$o as b,Co as bt,Jo as c,$a as ct,Fo as d,ao as dt,po as et,Po as f,io as ft,Vo as g,Pa as gt,Zo as h,ka as ht,Yo as i,mo as it,Ta as j,Ma as k,lo as kt,Bo as l,Qa as lt,Mo as m,ro as mt,Uo as n,go as nt,qo as o,yo as ot,zo as p,no as pt,jo as q,Ko as r,_o as rt,Go as s,Za as st,Wo as t,vo as tt,No as u,oo as ut,Io as v,Ha as vt,Da as w,xa as wt,Ro as x,xo as xt,Qo as y,To as yt,Wa as z};
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { Plugin } from "vite";
|
|
2
|
+
|
|
3
|
+
//#region src/vite-plugin.d.ts
|
|
4
|
+
|
|
5
|
+
type OutputMode = "inline" | "external" | "auto";
|
|
6
|
+
interface LunaCssPluginOptions {
|
|
7
|
+
/**
|
|
8
|
+
* Source directories to extract CSS from
|
|
9
|
+
* @default ["src"]
|
|
10
|
+
*/
|
|
11
|
+
src?: string | string[];
|
|
12
|
+
/**
|
|
13
|
+
* Output mode: "inline" embeds in HTML, "external" creates .css file, "auto" chooses by size
|
|
14
|
+
* @default "auto"
|
|
15
|
+
*/
|
|
16
|
+
mode?: OutputMode;
|
|
17
|
+
/**
|
|
18
|
+
* Size threshold in bytes for "auto" mode
|
|
19
|
+
* @default 4096
|
|
20
|
+
*/
|
|
21
|
+
threshold?: number;
|
|
22
|
+
/**
|
|
23
|
+
* CSS filename for external mode (without hash, Vite will add hash in build)
|
|
24
|
+
* @default "luna.css"
|
|
25
|
+
*/
|
|
26
|
+
cssFileName?: string;
|
|
27
|
+
/**
|
|
28
|
+
* Enable verbose logging
|
|
29
|
+
* @default false
|
|
30
|
+
*/
|
|
31
|
+
verbose?: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Enable CSS splitting by directory
|
|
34
|
+
* When enabled, generates per-directory CSS chunks + shared CSS
|
|
35
|
+
* @default false
|
|
36
|
+
*/
|
|
37
|
+
split?: boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Minimum usage count for a declaration to be considered "shared"
|
|
40
|
+
* Only used when split is enabled
|
|
41
|
+
* @default 3
|
|
42
|
+
*/
|
|
43
|
+
sharedThreshold?: number;
|
|
44
|
+
/**
|
|
45
|
+
* Include runtime CSS fallback in dev mode
|
|
46
|
+
* Generates CSS dynamically for missing rules with console warnings
|
|
47
|
+
* The runtime uses import.meta.env.DEV for tree-shaking in production
|
|
48
|
+
* @default true in dev, false in build
|
|
49
|
+
*/
|
|
50
|
+
devRuntime?: boolean;
|
|
51
|
+
/**
|
|
52
|
+
* Inject dev runtime script into HTML automatically
|
|
53
|
+
* When false, users must manually import "virtual:luna-css-runtime"
|
|
54
|
+
* @default true
|
|
55
|
+
*/
|
|
56
|
+
injectRuntime?: boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Experimental features
|
|
59
|
+
*/
|
|
60
|
+
experimental?: {
|
|
61
|
+
/**
|
|
62
|
+
* Enable CSS co-occurrence optimization
|
|
63
|
+
* Merges frequently co-occurring classes into single combined classes
|
|
64
|
+
* @default false
|
|
65
|
+
*/
|
|
66
|
+
optimize?: boolean;
|
|
67
|
+
/**
|
|
68
|
+
* Minimum frequency for a pattern to be merged
|
|
69
|
+
* @default 2
|
|
70
|
+
*/
|
|
71
|
+
optimizeMinFrequency?: number;
|
|
72
|
+
/**
|
|
73
|
+
* Maximum pattern size to consider for merging
|
|
74
|
+
* @default 5
|
|
75
|
+
*/
|
|
76
|
+
optimizeMaxPatternSize?: number;
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Luna CSS Vite Plugin
|
|
81
|
+
*
|
|
82
|
+
* @example
|
|
83
|
+
* ```ts
|
|
84
|
+
* // vite.config.ts
|
|
85
|
+
* import { lunaCss } from "@luna_ui/luna/vite-plugin";
|
|
86
|
+
*
|
|
87
|
+
* export default defineConfig({
|
|
88
|
+
* plugins: [
|
|
89
|
+
* lunaCss({
|
|
90
|
+
* src: ["src/examples/todomvc"],
|
|
91
|
+
* mode: "auto",
|
|
92
|
+
* threshold: 4096,
|
|
93
|
+
* }),
|
|
94
|
+
* ],
|
|
95
|
+
* });
|
|
96
|
+
* ```
|
|
97
|
+
*
|
|
98
|
+
* @example
|
|
99
|
+
* ```ts
|
|
100
|
+
* // main.ts - Import virtual CSS like Tailwind
|
|
101
|
+
* import "virtual:luna.css";
|
|
102
|
+
* ```
|
|
103
|
+
*
|
|
104
|
+
* @example
|
|
105
|
+
* ```ts
|
|
106
|
+
* // Split mode with per-directory chunks
|
|
107
|
+
* lunaCss({
|
|
108
|
+
* src: ["src"],
|
|
109
|
+
* split: true,
|
|
110
|
+
* sharedThreshold: 3,
|
|
111
|
+
* })
|
|
112
|
+
*
|
|
113
|
+
* // In your entry:
|
|
114
|
+
* import "virtual:luna.css"; // All CSS
|
|
115
|
+
* // Or for fine-grained control:
|
|
116
|
+
* import "virtual:luna-shared.css"; // Shared CSS only
|
|
117
|
+
* import "virtual:luna-chunk/todomvc.css"; // Per-directory chunk
|
|
118
|
+
* ```
|
|
119
|
+
*/
|
|
120
|
+
declare function lunaCss(options?: LunaCssPluginOptions): Plugin;
|
|
121
|
+
//#endregion
|
|
122
|
+
export { LunaCssPluginOptions, OutputMode, lunaCss as default, lunaCss };
|