snice 2.5.4 → 3.1.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/README.md +501 -882
- package/bin/templates/base/src/components/counter-button.ts +13 -26
- package/bin/templates/base/src/controllers/counter-controller.ts +3 -3
- package/dist/components/accordion/snice-accordion-item.d.ts +4 -5
- package/dist/components/accordion/snice-accordion-item.js +37 -39
- package/dist/components/accordion/snice-accordion-item.js.map +1 -1
- package/dist/components/accordion/snice-accordion.d.ts +5 -11
- package/dist/components/accordion/snice-accordion.js +51 -52
- package/dist/components/accordion/snice-accordion.js.map +1 -1
- package/dist/components/alert/snice-alert.d.ts +2 -6
- package/dist/components/alert/snice-alert.js +41 -56
- package/dist/components/alert/snice-alert.js.map +1 -1
- package/dist/components/avatar/snice-avatar.d.ts +2 -6
- package/dist/components/avatar/snice-avatar.js +64 -71
- package/dist/components/avatar/snice-avatar.js.map +1 -1
- package/dist/components/badge/snice-badge.d.ts +2 -3
- package/dist/components/badge/snice-badge.js +22 -23
- package/dist/components/badge/snice-badge.js.map +1 -1
- package/dist/components/breadcrumbs/snice-breadcrumbs.d.ts +5 -12
- package/dist/components/breadcrumbs/snice-breadcrumbs.js +88 -89
- package/dist/components/breadcrumbs/snice-breadcrumbs.js.map +1 -1
- package/dist/components/button/snice-button.d.ts +3 -7
- package/dist/components/button/snice-button.js +37 -58
- package/dist/components/button/snice-button.js.map +1 -1
- package/dist/components/card/snice-card.d.ts +5 -8
- package/dist/components/card/snice-card.js +71 -56
- package/dist/components/card/snice-card.js.map +1 -1
- package/dist/components/checkbox/snice-checkbox.d.ts +4 -13
- package/dist/components/checkbox/snice-checkbox.js +66 -137
- package/dist/components/checkbox/snice-checkbox.js.map +1 -1
- package/dist/components/chip/snice-chip.d.ts +5 -11
- package/dist/components/chip/snice-chip.js +44 -47
- package/dist/components/chip/snice-chip.js.map +1 -1
- package/dist/components/date-picker/snice-date-picker.d.ts +11 -11
- package/dist/components/date-picker/snice-date-picker.js +134 -133
- package/dist/components/date-picker/snice-date-picker.js.map +1 -1
- package/dist/components/divider/snice-divider.d.ts +2 -4
- package/dist/components/divider/snice-divider.js +14 -22
- package/dist/components/divider/snice-divider.js.map +1 -1
- package/dist/components/drawer/snice-drawer.d.ts +4 -4
- package/dist/components/drawer/snice-drawer.js +25 -19
- package/dist/components/drawer/snice-drawer.js.map +1 -1
- package/dist/components/input/snice-input.d.ts +8 -6
- package/dist/components/input/snice-input.js +122 -105
- package/dist/components/input/snice-input.js.map +1 -1
- package/dist/components/layout/snice-layout-blog.d.ts +4 -4
- package/dist/components/layout/snice-layout-blog.js +21 -19
- package/dist/components/layout/snice-layout-blog.js.map +1 -1
- package/dist/components/layout/snice-layout-card.d.ts +2 -2
- package/dist/components/layout/snice-layout-card.js +16 -9
- package/dist/components/layout/snice-layout-card.js.map +1 -1
- package/dist/components/layout/snice-layout-centered.d.ts +2 -2
- package/dist/components/layout/snice-layout-centered.js +14 -7
- package/dist/components/layout/snice-layout-centered.js.map +1 -1
- package/dist/components/layout/snice-layout-dashboard.d.ts +5 -5
- package/dist/components/layout/snice-layout-dashboard.js +38 -30
- package/dist/components/layout/snice-layout-dashboard.js.map +1 -1
- package/dist/components/layout/snice-layout-fullscreen.d.ts +2 -2
- package/dist/components/layout/snice-layout-fullscreen.js +17 -10
- package/dist/components/layout/snice-layout-fullscreen.js.map +1 -1
- package/dist/components/layout/snice-layout-landing.d.ts +4 -4
- package/dist/components/layout/snice-layout-landing.js +21 -19
- package/dist/components/layout/snice-layout-landing.js.map +1 -1
- package/dist/components/layout/snice-layout-minimal.d.ts +2 -2
- package/dist/components/layout/snice-layout-minimal.js +17 -6
- package/dist/components/layout/snice-layout-minimal.js.map +1 -1
- package/dist/components/layout/snice-layout-sidebar.d.ts +5 -4
- package/dist/components/layout/snice-layout-sidebar.js +42 -20
- package/dist/components/layout/snice-layout-sidebar.js.map +1 -1
- package/dist/components/layout/snice-layout-split.d.ts +2 -2
- package/dist/components/layout/snice-layout-split.js +14 -7
- package/dist/components/layout/snice-layout-split.js.map +1 -1
- package/dist/components/layout/snice-layout.d.ts +4 -4
- package/dist/components/layout/snice-layout.js +16 -10
- package/dist/components/layout/snice-layout.js.map +1 -1
- package/dist/components/login/snice-login.d.ts +6 -11
- package/dist/components/login/snice-login.js +97 -71
- package/dist/components/login/snice-login.js.map +1 -1
- package/dist/components/modal/snice-modal.d.ts +5 -9
- package/dist/components/modal/snice-modal.js +47 -78
- package/dist/components/modal/snice-modal.js.map +1 -1
- package/dist/components/nav/snice-nav.d.ts +13 -7
- package/dist/components/nav/snice-nav.js +191 -100
- package/dist/components/nav/snice-nav.js.map +1 -1
- package/dist/components/nav/snice-nav.types.d.ts +3 -3
- package/dist/components/pagination/snice-pagination.d.ts +6 -7
- package/dist/components/pagination/snice-pagination.js +94 -81
- package/dist/components/pagination/snice-pagination.js.map +1 -1
- package/dist/components/progress/snice-progress.d.ts +2 -7
- package/dist/components/progress/snice-progress.js +41 -98
- package/dist/components/progress/snice-progress.js.map +1 -1
- package/dist/components/radio/snice-radio.d.ts +4 -4
- package/dist/components/radio/snice-radio.js +52 -44
- package/dist/components/radio/snice-radio.js.map +1 -1
- package/dist/components/select/snice-option.d.ts +2 -1
- package/dist/components/select/snice-option.js +12 -5
- package/dist/components/select/snice-option.js.map +1 -1
- package/dist/components/select/snice-select.d.ts +9 -21
- package/dist/components/select/snice-select.js +98 -170
- package/dist/components/select/snice-select.js.map +1 -1
- package/dist/components/skeleton/snice-skeleton.d.ts +2 -6
- package/dist/components/skeleton/snice-skeleton.js +18 -49
- package/dist/components/skeleton/snice-skeleton.js.map +1 -1
- package/dist/components/snice-cell-BLFVdxPp.js +4 -0
- package/dist/components/snice-cell-BLFVdxPp.js.map +1 -0
- package/dist/components/switch/snice-switch.d.ts +2 -2
- package/dist/components/switch/snice-switch.js +38 -26
- package/dist/components/switch/snice-switch.js.map +1 -1
- package/dist/components/table/snice-cell-actions.d.ts +24 -0
- package/dist/components/table/snice-cell-actions.js +149 -0
- package/dist/components/table/snice-cell-actions.js.map +1 -0
- package/dist/components/table/snice-cell-boolean.d.ts +2 -2
- package/dist/components/table/snice-cell-boolean.js +13 -7
- package/dist/components/table/snice-cell-boolean.js.map +1 -1
- package/dist/components/table/snice-cell-color.d.ts +18 -0
- package/dist/components/table/snice-cell-color.js +149 -0
- package/dist/components/table/snice-cell-color.js.map +1 -0
- package/dist/components/table/snice-cell-currency.d.ts +24 -0
- package/dist/components/table/snice-cell-currency.js +235 -0
- package/dist/components/table/snice-cell-currency.js.map +1 -0
- package/dist/components/table/snice-cell-date.d.ts +2 -2
- package/dist/components/table/snice-cell-date.js +14 -8
- package/dist/components/table/snice-cell-date.js.map +1 -1
- package/dist/components/table/snice-cell-duration.d.ts +2 -2
- package/dist/components/table/snice-cell-duration.js +12 -6
- package/dist/components/table/snice-cell-duration.js.map +1 -1
- package/dist/components/table/snice-cell-email.d.ts +15 -0
- package/dist/components/table/snice-cell-email.js +125 -0
- package/dist/components/table/snice-cell-email.js.map +1 -0
- package/dist/components/table/snice-cell-filesize.d.ts +2 -2
- package/dist/components/table/snice-cell-filesize.js +12 -6
- package/dist/components/table/snice-cell-filesize.js.map +1 -1
- package/dist/components/table/snice-cell-image.d.ts +20 -0
- package/dist/components/table/snice-cell-image.js +162 -0
- package/dist/components/table/snice-cell-image.js.map +1 -0
- package/dist/components/table/snice-cell-json.d.ts +20 -0
- package/dist/components/table/snice-cell-json.js +186 -0
- package/dist/components/table/snice-cell-json.js.map +1 -0
- package/dist/components/table/snice-cell-link.d.ts +17 -0
- package/dist/components/table/snice-cell-link.js +142 -0
- package/dist/components/table/snice-cell-link.js.map +1 -0
- package/dist/components/table/snice-cell-location.d.ts +19 -0
- package/dist/components/table/snice-cell-location.js +185 -0
- package/dist/components/table/snice-cell-location.js.map +1 -0
- package/dist/components/table/snice-cell-number.d.ts +2 -2
- package/dist/components/table/snice-cell-number.js +12 -6
- package/dist/components/table/snice-cell-number.js.map +1 -1
- package/dist/components/table/snice-cell-percentage.d.ts +22 -0
- package/dist/components/table/snice-cell-percentage.js +208 -0
- package/dist/components/table/snice-cell-percentage.js.map +1 -0
- package/dist/components/table/snice-cell-phone.d.ts +18 -0
- package/dist/components/table/snice-cell-phone.js +153 -0
- package/dist/components/table/snice-cell-phone.js.map +1 -0
- package/dist/components/table/snice-cell-progress.d.ts +2 -2
- package/dist/components/table/snice-cell-progress.js +12 -6
- package/dist/components/table/snice-cell-progress.js.map +1 -1
- package/dist/components/table/snice-cell-rating.d.ts +2 -2
- package/dist/components/table/snice-cell-rating.js +12 -6
- package/dist/components/table/snice-cell-rating.js.map +1 -1
- package/dist/components/table/snice-cell-sparkline.d.ts +2 -2
- package/dist/components/table/snice-cell-sparkline.js +13 -7
- package/dist/components/table/snice-cell-sparkline.js.map +1 -1
- package/dist/components/table/snice-cell-status.d.ts +17 -0
- package/dist/components/table/snice-cell-status.js +144 -0
- package/dist/components/table/snice-cell-status.js.map +1 -0
- package/dist/components/table/snice-cell-tag.d.ts +16 -0
- package/dist/components/table/snice-cell-tag.js +131 -0
- package/dist/components/table/snice-cell-tag.js.map +1 -0
- package/dist/components/table/snice-cell-text.d.ts +2 -2
- package/dist/components/table/snice-cell-text.js +14 -8
- package/dist/components/table/snice-cell-text.js.map +1 -1
- package/dist/components/table/snice-cell.d.ts +2 -2
- package/dist/components/table/snice-cell.js +12 -6
- package/dist/components/table/snice-cell.js.map +1 -1
- package/dist/components/table/snice-column.d.ts +1 -1
- package/dist/components/table/snice-column.js +6 -3
- package/dist/components/table/snice-column.js.map +1 -1
- package/dist/components/table/snice-header.d.ts +5 -5
- package/dist/components/table/snice-header.js +60 -50
- package/dist/components/table/snice-header.js.map +1 -1
- package/dist/components/table/snice-progress.d.ts +2 -2
- package/dist/components/table/snice-progress.js +18 -11
- package/dist/components/table/snice-progress.js.map +1 -1
- package/dist/components/table/snice-rating.d.ts +2 -2
- package/dist/components/table/snice-rating.js +15 -8
- package/dist/components/table/snice-rating.js.map +1 -1
- package/dist/components/table/snice-row.d.ts +17 -6
- package/dist/components/table/snice-row.js +95 -44
- package/dist/components/table/snice-row.js.map +1 -1
- package/dist/components/table/snice-table.d.ts +18 -10
- package/dist/components/table/snice-table.js +355 -173
- package/dist/components/table/snice-table.js.map +1 -1
- package/dist/components/table/snice-table.types.d.ts +101 -2
- package/dist/components/tabs/snice-tab-panel.d.ts +2 -2
- package/dist/components/tabs/snice-tab-panel.js +12 -6
- package/dist/components/tabs/snice-tab-panel.js.map +1 -1
- package/dist/components/tabs/snice-tab.d.ts +6 -5
- package/dist/components/tabs/snice-tab.js +36 -19
- package/dist/components/tabs/snice-tab.js.map +1 -1
- package/dist/components/tabs/snice-tabs.d.ts +5 -5
- package/dist/components/tabs/snice-tabs.js +38 -28
- package/dist/components/tabs/snice-tabs.js.map +1 -1
- package/dist/components/toast/snice-toast-container.d.ts +7 -7
- package/dist/components/toast/snice-toast-container.js +19 -12
- package/dist/components/toast/snice-toast-container.js.map +1 -1
- package/dist/components/toast/snice-toast.d.ts +3 -15
- package/dist/components/toast/snice-toast.js +49 -108
- package/dist/components/toast/snice-toast.js.map +1 -1
- package/dist/components/tooltip/snice-tooltip.d.ts +2 -2
- package/dist/components/tooltip/snice-tooltip.js +14 -7
- package/dist/components/tooltip/snice-tooltip.js.map +1 -1
- package/dist/context.d.ts +44 -0
- package/dist/element-ready.d.ts +40 -0
- package/dist/{types/element.d.ts → element.d.ts} +2 -8
- package/dist/{types/events.d.ts → events.d.ts} +0 -4
- package/dist/index.cjs +2589 -605
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +21 -0
- package/dist/index.esm.js +2568 -604
- package/dist/index.esm.js.map +1 -1
- package/dist/index.iife.js +2589 -605
- package/dist/index.iife.js.map +1 -1
- package/dist/method-decorators.d.ts +121 -0
- package/dist/on.d.ts +59 -0
- package/dist/parts.d.ts +159 -0
- package/dist/render-debug.d.ts +27 -0
- package/dist/render-tracker.d.ts +14 -0
- package/dist/render.d.ts +96 -0
- package/dist/symbols.cjs +163 -0
- package/dist/symbols.cjs.map +1 -1
- package/dist/{types/symbols.d.ts → symbols.d.ts} +22 -0
- package/dist/symbols.esm.js +27 -3
- package/dist/symbols.esm.js.map +1 -1
- package/dist/template.d.ts +100 -0
- package/dist/transitions.cjs +219 -0
- package/dist/transitions.esm.js +2 -2
- package/dist/types/context.d.ts +48 -0
- package/dist/types/element-options.d.ts +26 -0
- package/dist/types/index.d.ts +25 -9
- package/dist/types/nav-context.d.ts +19 -0
- package/dist/types/{types/on-options.d.ts → on-options.d.ts} +2 -0
- package/dist/types/{types/placard.d.ts → placard.d.ts} +0 -1
- package/docs/ai/README.md +17 -0
- package/docs/ai/api.md +175 -0
- package/docs/ai/architecture.md +160 -0
- package/docs/ai/components/accordion.md +174 -0
- package/docs/ai/components/alert.md +77 -0
- package/docs/ai/components/avatar.md +61 -0
- package/docs/ai/components/badge.md +69 -0
- package/docs/ai/components/breadcrumbs.md +74 -0
- package/docs/ai/components/button.md +75 -0
- package/docs/ai/components/card.md +61 -0
- package/docs/ai/components/checkbox.md +74 -0
- package/docs/ai/components/chip.md +73 -0
- package/docs/ai/components/date-picker.md +75 -0
- package/docs/ai/components/divider.md +66 -0
- package/docs/ai/components/drawer.md +80 -0
- package/docs/ai/components/input.md +111 -0
- package/docs/ai/components/login.md +109 -0
- package/docs/ai/components/modal.md +67 -0
- package/docs/ai/components/nav.md +76 -0
- package/docs/ai/components/pagination.md +55 -0
- package/docs/ai/components/progress.md +72 -0
- package/docs/ai/components/radio.md +79 -0
- package/docs/ai/components/select.md +92 -0
- package/docs/ai/components/skeleton.md +57 -0
- package/docs/ai/components/switch.md +53 -0
- package/docs/ai/components/table.md +227 -0
- package/docs/ai/components/tabs.md +83 -0
- package/docs/ai/components/toast.md +140 -0
- package/docs/ai/components/tooltip.md +146 -0
- package/docs/ai/patterns.md +244 -0
- package/docs/components/accordion.md +558 -0
- package/docs/components/drawer.md +602 -0
- package/docs/components/modal.md +558 -0
- package/docs/components/nav.md +239 -0
- package/docs/components/pagination.md +289 -0
- package/docs/components/select.md +599 -0
- package/docs/components/switch.md +354 -0
- package/docs/components/tabs.md +546 -0
- package/docs/components/toast.md +506 -0
- package/docs/components/tooltip.md +523 -0
- package/docs/controllers.md +744 -0
- package/docs/elements.md +855 -0
- package/docs/events.md +807 -0
- package/docs/migration-v2-to-v3.md +569 -0
- package/docs/observe.md +588 -0
- package/docs/placards.md +401 -0
- package/docs/request-response.md +852 -0
- package/docs/routing.md +1186 -0
- package/package.json +10 -11
- package/dist/components/snice-cell-C9N6yGxQ.js +0 -4
- package/dist/components/snice-cell-C9N6yGxQ.js.map +0 -1
- package/dist/types/types/index.d.ts +0 -23
- /package/dist/{types/controller.d.ts → controller.d.ts} +0 -0
- /package/dist/{types/global.d.ts → global.d.ts} +0 -0
- /package/dist/{types/observe.d.ts → observe.d.ts} +0 -0
- /package/dist/{types/request-response.d.ts → request-response.d.ts} +0 -0
- /package/dist/{types/router.d.ts → router.d.ts} +0 -0
- /package/dist/{types/testing.d.ts → testing.d.ts} +0 -0
- /package/dist/{types/transitions.d.ts → transitions.d.ts} +0 -0
- /package/dist/types/{types/adopted-options.d.ts → adopted-options.d.ts} +0 -0
- /package/dist/types/{types/app-context.d.ts → app-context.d.ts} +0 -0
- /package/dist/types/{types/dispatch-options.d.ts → dispatch-options.d.ts} +0 -0
- /package/dist/types/{types/guard.d.ts → guard.d.ts} +0 -0
- /package/dist/types/{types/i-controller.d.ts → i-controller.d.ts} +0 -0
- /package/dist/types/{types/moved-options.d.ts → moved-options.d.ts} +0 -0
- /package/dist/types/{types/observe-options.d.ts → observe-options.d.ts} +0 -0
- /package/dist/types/{types/page-options.d.ts → page-options.d.ts} +0 -0
- /package/dist/types/{types/part-options.d.ts → part-options.d.ts} +0 -0
- /package/dist/types/{types/property-converter.d.ts → property-converter.d.ts} +0 -0
- /package/dist/types/{types/property-options.d.ts → property-options.d.ts} +0 -0
- /package/dist/types/{types/query-options.d.ts → query-options.d.ts} +0 -0
- /package/dist/types/{types/request-options.d.ts → request-options.d.ts} +0 -0
- /package/dist/types/{types/respond-options.d.ts → respond-options.d.ts} +0 -0
- /package/dist/types/{types/route-params.d.ts → route-params.d.ts} +0 -0
- /package/dist/types/{types/router-instance.d.ts → router-instance.d.ts} +0 -0
- /package/dist/types/{types/router-options.d.ts → router-options.d.ts} +0 -0
- /package/dist/types/{types/simple-array.d.ts → simple-array.d.ts} +0 -0
- /package/dist/types/{types/snice-element.d.ts → snice-element.d.ts} +0 -0
- /package/dist/types/{types/snice-global.d.ts → snice-global.d.ts} +0 -0
- /package/dist/types/{types/transition.d.ts → transition.d.ts} +0 -0
- /package/dist/{types/utils.d.ts → utils.d.ts} +0 -0
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Method decorators for common patterns
|
|
3
|
+
* @debounce, @throttle, @once, @memoize
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* @debounce decorator - delays function execution until after wait time has elapsed
|
|
7
|
+
* since the last invocation
|
|
8
|
+
*
|
|
9
|
+
* @param wait - Time to wait in milliseconds (default: 300)
|
|
10
|
+
* @param options - Debounce options
|
|
11
|
+
* @param options.leading - Invoke on the leading edge (default: false)
|
|
12
|
+
* @param options.trailing - Invoke on the trailing edge (default: true)
|
|
13
|
+
* @param options.maxWait - Maximum time to wait before invoking (default: undefined)
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* @element('search-input')
|
|
18
|
+
* class SearchInput extends HTMLElement {
|
|
19
|
+
* @debounce(500)
|
|
20
|
+
* handleSearch(query: string) {
|
|
21
|
+
* // Only called 500ms after last keystroke
|
|
22
|
+
* fetch(`/api/search?q=${query}`);
|
|
23
|
+
* }
|
|
24
|
+
* }
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
export declare function debounce(wait?: number, options?: {
|
|
28
|
+
leading?: boolean;
|
|
29
|
+
trailing?: boolean;
|
|
30
|
+
maxWait?: number;
|
|
31
|
+
}): (originalMethod: any, context: ClassMethodDecoratorContext) => (this: any, ...args: any[]) => any;
|
|
32
|
+
/**
|
|
33
|
+
* @throttle decorator - ensures function is called at most once per specified time period
|
|
34
|
+
*
|
|
35
|
+
* @param wait - Time to wait in milliseconds (default: 300)
|
|
36
|
+
* @param options - Throttle options
|
|
37
|
+
* @param options.leading - Invoke on the leading edge (default: true)
|
|
38
|
+
* @param options.trailing - Invoke on the trailing edge (default: true)
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* ```typescript
|
|
42
|
+
* @element('scroll-tracker')
|
|
43
|
+
* class ScrollTracker extends HTMLElement {
|
|
44
|
+
* @throttle(100)
|
|
45
|
+
* handleScroll(e: Event) {
|
|
46
|
+
* // Called at most once every 100ms
|
|
47
|
+
* this.updateScrollPosition();
|
|
48
|
+
* }
|
|
49
|
+
* }
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
export declare function throttle(wait?: number, options?: {
|
|
53
|
+
leading?: boolean;
|
|
54
|
+
trailing?: boolean;
|
|
55
|
+
}): (originalMethod: any, context: ClassMethodDecoratorContext) => (this: any, ...args: any[]) => void;
|
|
56
|
+
/**
|
|
57
|
+
* @once decorator - ensures function is only called once
|
|
58
|
+
* Subsequent calls return the result of the first call
|
|
59
|
+
*
|
|
60
|
+
* @param perInstance - If true, function can be called once per instance (default: true)
|
|
61
|
+
* If false, function can only be called once globally across all instances
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
* ```typescript
|
|
65
|
+
* @element('data-loader')
|
|
66
|
+
* class DataLoader extends HTMLElement {
|
|
67
|
+
* @once()
|
|
68
|
+
* async loadData() {
|
|
69
|
+
* // Only loads data once, even if called multiple times
|
|
70
|
+
* const data = await fetch('/api/data');
|
|
71
|
+
* return data.json();
|
|
72
|
+
* }
|
|
73
|
+
* }
|
|
74
|
+
* ```
|
|
75
|
+
*/
|
|
76
|
+
export declare function once(perInstance?: boolean): (originalMethod: any, context: ClassMethodDecoratorContext) => (this: any, ...args: any[]) => any;
|
|
77
|
+
/**
|
|
78
|
+
* @memoize decorator - caches function results based on arguments
|
|
79
|
+
* Uses JSON.stringify for argument comparison by default
|
|
80
|
+
*
|
|
81
|
+
* @param options - Memoization options
|
|
82
|
+
* @param options.keyGenerator - Custom function to generate cache key from arguments
|
|
83
|
+
* @param options.maxSize - Maximum cache size (default: 100)
|
|
84
|
+
* @param options.ttl - Time to live in milliseconds (default: undefined - no expiration)
|
|
85
|
+
*
|
|
86
|
+
* @example
|
|
87
|
+
* ```typescript
|
|
88
|
+
* @element('calculator')
|
|
89
|
+
* class Calculator extends HTMLElement {
|
|
90
|
+
* @memoize({ maxSize: 50 })
|
|
91
|
+
* fibonacci(n: number): number {
|
|
92
|
+
* // Results are cached, subsequent calls with same n are instant
|
|
93
|
+
* if (n <= 1) return n;
|
|
94
|
+
* return this.fibonacci(n - 1) + this.fibonacci(n - 2);
|
|
95
|
+
* }
|
|
96
|
+
* }
|
|
97
|
+
* ```
|
|
98
|
+
*/
|
|
99
|
+
export declare function memoize(options?: {
|
|
100
|
+
keyGenerator?: (...args: any[]) => string;
|
|
101
|
+
maxSize?: number;
|
|
102
|
+
ttl?: number;
|
|
103
|
+
}): (originalMethod: any, context: ClassMethodDecoratorContext) => (this: any, ...args: any[]) => any;
|
|
104
|
+
/**
|
|
105
|
+
* Clear all debounce timers for an instance
|
|
106
|
+
* Useful in cleanup/disconnectedCallback
|
|
107
|
+
*/
|
|
108
|
+
export declare function clearDebounceTimers(instance: any): void;
|
|
109
|
+
/**
|
|
110
|
+
* Clear all throttle timers for an instance
|
|
111
|
+
* Useful in cleanup/disconnectedCallback
|
|
112
|
+
*/
|
|
113
|
+
export declare function clearThrottleTimers(instance: any): void;
|
|
114
|
+
/**
|
|
115
|
+
* Clear memoize cache for an instance
|
|
116
|
+
*/
|
|
117
|
+
export declare function clearMemoizeCache(instance: any, methodName?: string): void;
|
|
118
|
+
/**
|
|
119
|
+
* Reset once-called state for an instance
|
|
120
|
+
*/
|
|
121
|
+
export declare function resetOnce(instance: any, methodName?: string): void;
|
package/dist/on.d.ts
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @on decorator for listening to events
|
|
3
|
+
* Use in elements or controllers to listen to DOM events or custom events
|
|
4
|
+
*/
|
|
5
|
+
import type { OnOptions } from './types/on-options';
|
|
6
|
+
export type { OnOptions } from './types/on-options';
|
|
7
|
+
/**
|
|
8
|
+
* @on decorator for listening to events
|
|
9
|
+
*
|
|
10
|
+
* Works in both elements and controllers with full event delegation support.
|
|
11
|
+
*
|
|
12
|
+
* @param eventName - Event name(s) to listen for
|
|
13
|
+
* @param selector - Optional CSS selector for event delegation
|
|
14
|
+
* @param options - Event listener options including debounce/throttle
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```typescript
|
|
18
|
+
* // In elements
|
|
19
|
+
* @element('my-button')
|
|
20
|
+
* class MyButton extends HTMLElement {
|
|
21
|
+
* @on('click', 'button')
|
|
22
|
+
* handleClick(e: MouseEvent) {
|
|
23
|
+
* console.log('Button clicked!', e);
|
|
24
|
+
* }
|
|
25
|
+
*
|
|
26
|
+
* @on('input', 'input', { debounce: 300 })
|
|
27
|
+
* handleInput(e: Event) {
|
|
28
|
+
* console.log('Input changed:', (e.target as HTMLInputElement).value);
|
|
29
|
+
* }
|
|
30
|
+
* }
|
|
31
|
+
*
|
|
32
|
+
* // In controllers
|
|
33
|
+
* @controller('my-controller')
|
|
34
|
+
* class MyController {
|
|
35
|
+
* element!: HTMLElement;
|
|
36
|
+
*
|
|
37
|
+
* @on('count-changed')
|
|
38
|
+
* handleCountChanged(e: CustomEvent) {
|
|
39
|
+
* console.log('Count changed to:', e.detail.count);
|
|
40
|
+
* }
|
|
41
|
+
*
|
|
42
|
+
* @on('click', '.item', { throttle: 100 })
|
|
43
|
+
* handleItemClick(e: MouseEvent) {
|
|
44
|
+
* console.log('Item clicked');
|
|
45
|
+
* }
|
|
46
|
+
* }
|
|
47
|
+
* ```
|
|
48
|
+
*/
|
|
49
|
+
export declare function on(eventName: string | string[], selectorOrOptions?: string | OnOptions | null, options?: OnOptions): (originalMethod: any, context: ClassMethodDecoratorContext) => any;
|
|
50
|
+
/**
|
|
51
|
+
* Setup event listeners for an element or controller instance
|
|
52
|
+
* Called automatically during element connection or controller attachment
|
|
53
|
+
*/
|
|
54
|
+
export declare function setupEventHandlers(instance: any, targetElement: HTMLElement): void;
|
|
55
|
+
/**
|
|
56
|
+
* Cleanup event listeners for a controller instance
|
|
57
|
+
* Called automatically by the controller system during detach
|
|
58
|
+
*/
|
|
59
|
+
export declare function cleanupEventHandlers(instance: any): void;
|
package/dist/parts.d.ts
ADDED
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Simplified lit-html-style template system
|
|
3
|
+
* Based on lit-html's approach but simplified
|
|
4
|
+
*/
|
|
5
|
+
import { TemplateResult } from './template';
|
|
6
|
+
/**
|
|
7
|
+
* A prepared template ready for rendering
|
|
8
|
+
*/
|
|
9
|
+
declare class Template {
|
|
10
|
+
parts: TemplatePart[];
|
|
11
|
+
element: HTMLTemplateElement;
|
|
12
|
+
constructor(result: TemplateResult, element: HTMLTemplateElement, attrNamesForParts: string[]);
|
|
13
|
+
}
|
|
14
|
+
interface TemplatePart {
|
|
15
|
+
type: 'node' | 'attribute' | 'property' | 'boolean-attribute' | 'event' | 'if' | 'case';
|
|
16
|
+
index: number;
|
|
17
|
+
name?: string;
|
|
18
|
+
element?: Element;
|
|
19
|
+
startNode?: Comment;
|
|
20
|
+
endNode?: Comment;
|
|
21
|
+
caseElement?: Element;
|
|
22
|
+
attrStrings?: string[];
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Instance of a rendered template
|
|
26
|
+
*/
|
|
27
|
+
export declare class TemplateInstance {
|
|
28
|
+
template: Template;
|
|
29
|
+
parts: Part[];
|
|
30
|
+
fragment: DocumentFragment | null;
|
|
31
|
+
constructor(result: TemplateResult);
|
|
32
|
+
renderFragment(): DocumentFragment;
|
|
33
|
+
render(values: readonly any[]): DocumentFragment;
|
|
34
|
+
update(values: readonly any[]): void;
|
|
35
|
+
clear(): void;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Base class for all parts
|
|
39
|
+
*/
|
|
40
|
+
export declare abstract class Part {
|
|
41
|
+
abstract commit(value: any): void;
|
|
42
|
+
abstract clear(): void;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* NodePart handles text content and nested templates
|
|
46
|
+
*/
|
|
47
|
+
export declare class NodePart extends Part {
|
|
48
|
+
private startNode;
|
|
49
|
+
private endNode;
|
|
50
|
+
private value;
|
|
51
|
+
constructor(startNode: Comment, endNode: Comment);
|
|
52
|
+
commit(value: any): void;
|
|
53
|
+
private commitPrimitive;
|
|
54
|
+
private commitTemplate;
|
|
55
|
+
private commitArray;
|
|
56
|
+
private commitUnsafeHTML;
|
|
57
|
+
private insertBefore;
|
|
58
|
+
clear(): void;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* AttributePart handles regular attribute updates
|
|
62
|
+
*/
|
|
63
|
+
export declare class AttributePart extends Part {
|
|
64
|
+
readonly element: Element;
|
|
65
|
+
readonly name: string;
|
|
66
|
+
readonly attrStrings?: string[];
|
|
67
|
+
private value;
|
|
68
|
+
constructor(element: Element, name: string, attrStrings?: string[]);
|
|
69
|
+
commit(value: any): void;
|
|
70
|
+
clear(): void;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* PropertyPart handles property bindings
|
|
74
|
+
*/
|
|
75
|
+
export declare class PropertyPart extends Part {
|
|
76
|
+
readonly element: Element;
|
|
77
|
+
readonly name: string;
|
|
78
|
+
private value;
|
|
79
|
+
constructor(element: Element, name: string);
|
|
80
|
+
commit(value: any): void;
|
|
81
|
+
clear(): void;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* BooleanAttributePart handles boolean attributes
|
|
85
|
+
*/
|
|
86
|
+
export declare class BooleanAttributePart extends Part {
|
|
87
|
+
readonly element: Element;
|
|
88
|
+
readonly name: string;
|
|
89
|
+
private value;
|
|
90
|
+
constructor(element: Element, name: string);
|
|
91
|
+
commit(value: any): void;
|
|
92
|
+
clear(): void;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* EventPart handles event listener bindings with keyboard shortcut support
|
|
96
|
+
*/
|
|
97
|
+
export declare class EventPart extends Part {
|
|
98
|
+
readonly element: Element;
|
|
99
|
+
readonly eventName: string;
|
|
100
|
+
private listener;
|
|
101
|
+
private value;
|
|
102
|
+
private keyFilter;
|
|
103
|
+
constructor(element: Element, eventName: string);
|
|
104
|
+
commit(value: any): void;
|
|
105
|
+
clear(): void;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Keyboard filter for matching specific keys and modifiers
|
|
109
|
+
*/
|
|
110
|
+
export interface KeyboardFilter {
|
|
111
|
+
key: string;
|
|
112
|
+
ctrl?: boolean;
|
|
113
|
+
alt?: boolean;
|
|
114
|
+
shift?: boolean;
|
|
115
|
+
meta?: boolean;
|
|
116
|
+
anyModifiers?: boolean;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Parse keyboard shortcut specification
|
|
120
|
+
* Examples:
|
|
121
|
+
* "enter" -> { key: "Enter" }
|
|
122
|
+
* "ctrl+s" -> { key: "s", ctrl: true }
|
|
123
|
+
* "ctrl+shift+s" -> { key: "s", ctrl: true, shift: true }
|
|
124
|
+
* "~enter" -> { key: "Enter", anyModifiers: true }
|
|
125
|
+
*/
|
|
126
|
+
export declare function parseKeyboardFilter(spec: string): KeyboardFilter;
|
|
127
|
+
/**
|
|
128
|
+
* Check if keyboard event matches the filter
|
|
129
|
+
*/
|
|
130
|
+
export declare function matchesKeyboardFilter(event: KeyboardEvent, filter: KeyboardFilter): boolean;
|
|
131
|
+
/**
|
|
132
|
+
* IfPart handles <if> conditional rendering
|
|
133
|
+
* Uses document fragments to actually remove/insert nodes from the DOM
|
|
134
|
+
* instead of just hiding them with CSS
|
|
135
|
+
*/
|
|
136
|
+
export declare class IfPart extends Part {
|
|
137
|
+
private ifElement;
|
|
138
|
+
private value;
|
|
139
|
+
private fragment;
|
|
140
|
+
private childNodes;
|
|
141
|
+
constructor(ifElement: Element);
|
|
142
|
+
commit(value: any): void;
|
|
143
|
+
clear(): void;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* CasePart handles <case>/<when>/<default> conditional rendering
|
|
147
|
+
* Uses document fragments to remove/insert <when> and <default> children
|
|
148
|
+
*/
|
|
149
|
+
export declare class CasePart extends Part {
|
|
150
|
+
private caseElement;
|
|
151
|
+
private value;
|
|
152
|
+
private childrenList;
|
|
153
|
+
private fragments;
|
|
154
|
+
private attachedChildren;
|
|
155
|
+
constructor(caseElement: Element);
|
|
156
|
+
commit(value: any): void;
|
|
157
|
+
clear(): void;
|
|
158
|
+
}
|
|
159
|
+
export {};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Render debugging utilities for Snice v3.0.0
|
|
3
|
+
* For testing and debugging only - not recommended for production use
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Track renders of an element using an async generator
|
|
7
|
+
* Each call to tracker.next() waits for the next render to complete
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* const tracker = trackRenders(element);
|
|
12
|
+
*
|
|
13
|
+
* element.someProp = 'new value';
|
|
14
|
+
* await tracker.next(); // Waits for render
|
|
15
|
+
* // DOM is now updated
|
|
16
|
+
*
|
|
17
|
+
* element.someProp = 'another value';
|
|
18
|
+
* await tracker.next(); // Waits for next render
|
|
19
|
+
* // DOM is updated again
|
|
20
|
+
* ```
|
|
21
|
+
*
|
|
22
|
+
* WARNING: For testing/debugging only!
|
|
23
|
+
* - Do not use in production code
|
|
24
|
+
* - The generator yields indefinitely - use it only in controlled test environments
|
|
25
|
+
* - Each yield waits for the next render event
|
|
26
|
+
*/
|
|
27
|
+
export declare function trackRenders(element: HTMLElement): AsyncGenerator<void, void, unknown>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Render tracking for testing/debugging
|
|
3
|
+
* Uses symbols and generators to "pull" render events from elements
|
|
4
|
+
*/
|
|
5
|
+
export declare const RENDER_TRACKER: unique symbol;
|
|
6
|
+
export declare const TRACK_RENDERS: unique symbol;
|
|
7
|
+
/**
|
|
8
|
+
* Generator that yields after each render of an element
|
|
9
|
+
* Usage in tests:
|
|
10
|
+
* const tracker = trackRenders(element);
|
|
11
|
+
* element.someProp = 'value';
|
|
12
|
+
* await tracker.next(); // waits for next render
|
|
13
|
+
*/
|
|
14
|
+
export declare function trackRenders(element: HTMLElement): AsyncGenerator<void, void, unknown>;
|
package/dist/render.d.ts
ADDED
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @render and @styles decorators for Snice v3.0.0
|
|
3
|
+
* Provides automatic differential rendering on property changes
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Options for @render decorator
|
|
7
|
+
*/
|
|
8
|
+
export interface RenderOptions {
|
|
9
|
+
/**
|
|
10
|
+
* Debounce render calls (ms)
|
|
11
|
+
* Delays rendering until after this many ms of inactivity
|
|
12
|
+
*/
|
|
13
|
+
debounce?: number;
|
|
14
|
+
/**
|
|
15
|
+
* Throttle render calls (ms)
|
|
16
|
+
* Limits rendering to once per this many ms
|
|
17
|
+
*/
|
|
18
|
+
throttle?: number;
|
|
19
|
+
/**
|
|
20
|
+
* Render only once, disable auto-rendering
|
|
21
|
+
* Component must call render() method manually to re-render
|
|
22
|
+
*/
|
|
23
|
+
once?: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Synchronous rendering (skip microtask batching)
|
|
26
|
+
* Renders immediately instead of batching multiple property changes
|
|
27
|
+
*/
|
|
28
|
+
sync?: boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Disable differential rendering
|
|
31
|
+
* When false, clears shadow root and re-renders from scratch each time
|
|
32
|
+
* Still honors <if> and <switch>/<case> meta elements
|
|
33
|
+
*/
|
|
34
|
+
differential?: boolean;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Request a render for an element
|
|
38
|
+
* Respects debounce/throttle/once/sync options
|
|
39
|
+
* @param immediate - Force immediate render (used for initial render)
|
|
40
|
+
*/
|
|
41
|
+
export declare function requestRender(element: HTMLElement, immediate?: boolean): void;
|
|
42
|
+
/**
|
|
43
|
+
* @render decorator for component rendering
|
|
44
|
+
*
|
|
45
|
+
* Marks a method as the render method for the component.
|
|
46
|
+
* The method should return html`...` template.
|
|
47
|
+
* Automatically re-renders when properties change (unless once: true).
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* ```typescript
|
|
51
|
+
* @render()
|
|
52
|
+
* renderContent() {
|
|
53
|
+
* return html`<div>${this.count}</div>`;
|
|
54
|
+
* }
|
|
55
|
+
* ```
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* ```typescript
|
|
59
|
+
* // Debounced rendering
|
|
60
|
+
* @render({ debounce: 100 })
|
|
61
|
+
* renderContent() {
|
|
62
|
+
* return html`<div>${this.searchTerm}</div>`;
|
|
63
|
+
* }
|
|
64
|
+
* ```
|
|
65
|
+
*
|
|
66
|
+
* @example
|
|
67
|
+
* ```typescript
|
|
68
|
+
* // Render only once (manual re-renders only)
|
|
69
|
+
* @render({ once: true })
|
|
70
|
+
* renderContent() {
|
|
71
|
+
* return html`<div>Static content</div>`;
|
|
72
|
+
* }
|
|
73
|
+
* ```
|
|
74
|
+
*/
|
|
75
|
+
export declare function render(options?: RenderOptions): (originalMethod: any, context: ClassMethodDecoratorContext) => (this: HTMLElement, ...args: any[]) => any;
|
|
76
|
+
/**
|
|
77
|
+
* @styles decorator for component styles
|
|
78
|
+
*
|
|
79
|
+
* Marks a method as the styles method for the component.
|
|
80
|
+
* The method should return css`...` template.
|
|
81
|
+
* Styles are applied once when the component is connected.
|
|
82
|
+
*
|
|
83
|
+
* @example
|
|
84
|
+
* ```typescript
|
|
85
|
+
* @styles()
|
|
86
|
+
* styles() {
|
|
87
|
+
* return css`:host { display: block; }`;
|
|
88
|
+
* }
|
|
89
|
+
* ```
|
|
90
|
+
*/
|
|
91
|
+
export declare function styles(): (originalMethod: any, context: ClassMethodDecoratorContext) => any;
|
|
92
|
+
/**
|
|
93
|
+
* Apply styles to an element
|
|
94
|
+
* Called during element initialization
|
|
95
|
+
*/
|
|
96
|
+
export declare function applyStyles(element: HTMLElement): void;
|
package/dist/symbols.cjs
ADDED
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* snice v3.0.0
|
|
3
|
+
* Imperative TypeScript framework for building vanilla web components with decorators, differential rendering, routing, and controllers. No virtual DOM, no build complexity.
|
|
4
|
+
* (c) 2024
|
|
5
|
+
* Released under the MIT License.
|
|
6
|
+
*/
|
|
7
|
+
'use strict';
|
|
8
|
+
|
|
9
|
+
// Global namespace for Snice framework
|
|
10
|
+
// Ensures all registries and symbols are shared across different JS files/modules
|
|
11
|
+
// Initialize or get the global Snice namespace
|
|
12
|
+
function initGlobalNamespace() {
|
|
13
|
+
if (!globalThis.snice) {
|
|
14
|
+
globalThis.snice = {
|
|
15
|
+
controllerRegistry: new Map(),
|
|
16
|
+
controllerIdCounter: 0,
|
|
17
|
+
symbols: new Map()
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
return globalThis.snice;
|
|
21
|
+
}
|
|
22
|
+
// Export the global namespace
|
|
23
|
+
const snice = initGlobalNamespace();
|
|
24
|
+
// Helper function to get or create a global symbol
|
|
25
|
+
function getSymbol(name) {
|
|
26
|
+
if (!snice.symbols.has(name)) {
|
|
27
|
+
snice.symbols.set(name, Symbol(name));
|
|
28
|
+
}
|
|
29
|
+
return snice.symbols.get(name);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
// Central file for all symbols used in the framework
|
|
33
|
+
// All symbols are stored globally to ensure consistency across modules
|
|
34
|
+
const IS_CONTROLLER_CLASS = getSymbol('is-controller-class');
|
|
35
|
+
const IS_CONTROLLER_INSTANCE = getSymbol('is-controller-instance');
|
|
36
|
+
const IS_ELEMENT_CLASS = getSymbol('is-element-class');
|
|
37
|
+
const CHANNEL_HANDLERS = getSymbol('channel-handlers');
|
|
38
|
+
// Internal element state symbols
|
|
39
|
+
const READY_PROMISE = getSymbol('ready-promise');
|
|
40
|
+
const READY_RESOLVE = getSymbol('ready-resolve');
|
|
41
|
+
const RENDERED_PROMISE = getSymbol('rendered-promise');
|
|
42
|
+
const RENDERED_RESOLVE = getSymbol('rendered-resolve');
|
|
43
|
+
const CONTROLLER = getSymbol('controller');
|
|
44
|
+
const INITIALIZED = getSymbol('initialized');
|
|
45
|
+
// Event handler symbols
|
|
46
|
+
const ON_HANDLERS = getSymbol('on-handlers');
|
|
47
|
+
// Controller symbols
|
|
48
|
+
const CONTROLLER_KEY = getSymbol('controller-key');
|
|
49
|
+
const CONTROLLER_NAME_KEY = getSymbol('controller-name');
|
|
50
|
+
const CONTROLLER_ID = getSymbol('controller-id');
|
|
51
|
+
const CONTROLLER_OPERATIONS = getSymbol('controller-operations');
|
|
52
|
+
const NATIVE_CONTROLLER = getSymbol('native-controller');
|
|
53
|
+
// Cleanup symbol - holds an object with all cleanup arrays
|
|
54
|
+
const CLEANUP = getSymbol('cleanup');
|
|
55
|
+
// Property symbols
|
|
56
|
+
const PROPERTIES = getSymbol('properties');
|
|
57
|
+
const PROPERTY_VALUES = getSymbol('property-values');
|
|
58
|
+
const PRE_INIT_PROPERTY_VALUES = getSymbol('pre-init-property-values');
|
|
59
|
+
const PROPERTIES_INITIALIZED = getSymbol('properties-initialized');
|
|
60
|
+
const PROPERTY_WATCHERS = getSymbol('property-watchers');
|
|
61
|
+
const EXPLICITLY_SET_PROPERTIES = getSymbol('explicitly-set-properties');
|
|
62
|
+
// Router context symbol
|
|
63
|
+
const ROUTER_CONTEXT = getSymbol('router-context');
|
|
64
|
+
const CURRENT_PAGE_MARKER = getSymbol('current-page-marker');
|
|
65
|
+
const CONTEXT_REQUEST_HANDLER = getSymbol('context-request-handler');
|
|
66
|
+
const PAGE_TRANSITION = getSymbol('page-transition');
|
|
67
|
+
const CREATED_AT = getSymbol('created-at');
|
|
68
|
+
// Lifecycle symbols
|
|
69
|
+
const READY_HANDLERS = getSymbol('ready-handlers');
|
|
70
|
+
const DISPOSE_HANDLERS = getSymbol('dispose-handlers');
|
|
71
|
+
const MOVED_HANDLERS = getSymbol('moved-handlers');
|
|
72
|
+
const ADOPTED_HANDLERS = getSymbol('adopted-handlers');
|
|
73
|
+
// Observer symbols
|
|
74
|
+
const OBSERVERS = getSymbol('observers');
|
|
75
|
+
// Part symbols
|
|
76
|
+
const PARTS = getSymbol('parts');
|
|
77
|
+
const PART_TIMERS = getSymbol('part-timers');
|
|
78
|
+
// Lifecycle callback timers
|
|
79
|
+
const MOVED_TIMERS = getSymbol('moved-timers');
|
|
80
|
+
const ADOPTED_TIMERS = getSymbol('adopted-timers');
|
|
81
|
+
// Dispatch timing symbols
|
|
82
|
+
const DISPATCH_TIMERS = getSymbol('dispatch-timers');
|
|
83
|
+
// Render symbols (v3.0.0)
|
|
84
|
+
const RENDER_METHOD = getSymbol('render-method');
|
|
85
|
+
const RENDER_OPTIONS = getSymbol('render-options');
|
|
86
|
+
const RENDER_INSTANCE = getSymbol('render-instance');
|
|
87
|
+
const RENDER_SCHEDULED = getSymbol('render-scheduled');
|
|
88
|
+
const RENDER_TIMERS = getSymbol('render-timers');
|
|
89
|
+
const RENDER_CALLBACKS = getSymbol('render-callbacks');
|
|
90
|
+
const STYLES_METHOD = getSymbol('styles-method');
|
|
91
|
+
const STYLES_APPLIED = getSymbol('styles-applied');
|
|
92
|
+
// Navigation context symbols
|
|
93
|
+
const CONTEXT_HANDLER = getSymbol('context-handler');
|
|
94
|
+
const CONTEXT_METHOD_NAME = getSymbol('context-method-name');
|
|
95
|
+
const NAVIGATION_CONTEXT_INSTANCE = getSymbol('navigation-context-instance');
|
|
96
|
+
const REGISTERED_ELEMENTS = getSymbol('registered-elements');
|
|
97
|
+
const IS_UPDATING = getSymbol('is-updating');
|
|
98
|
+
const CONTEXT_REGISTER = getSymbol('context-register');
|
|
99
|
+
const CONTEXT_UNREGISTER = getSymbol('context-unregister');
|
|
100
|
+
const CONTEXT_NOTIFY_ELEMENT = getSymbol('context-notify-element');
|
|
101
|
+
const CONTEXT_OPTIONS = getSymbol('context-options');
|
|
102
|
+
const CONTEXT_TIMER = getSymbol('context-timer');
|
|
103
|
+
const CONTEXT_CALLED = getSymbol('context-called');
|
|
104
|
+
|
|
105
|
+
exports.ADOPTED_HANDLERS = ADOPTED_HANDLERS;
|
|
106
|
+
exports.ADOPTED_TIMERS = ADOPTED_TIMERS;
|
|
107
|
+
exports.CHANNEL_HANDLERS = CHANNEL_HANDLERS;
|
|
108
|
+
exports.CLEANUP = CLEANUP;
|
|
109
|
+
exports.CONTEXT_CALLED = CONTEXT_CALLED;
|
|
110
|
+
exports.CONTEXT_HANDLER = CONTEXT_HANDLER;
|
|
111
|
+
exports.CONTEXT_METHOD_NAME = CONTEXT_METHOD_NAME;
|
|
112
|
+
exports.CONTEXT_NOTIFY_ELEMENT = CONTEXT_NOTIFY_ELEMENT;
|
|
113
|
+
exports.CONTEXT_OPTIONS = CONTEXT_OPTIONS;
|
|
114
|
+
exports.CONTEXT_REGISTER = CONTEXT_REGISTER;
|
|
115
|
+
exports.CONTEXT_REQUEST_HANDLER = CONTEXT_REQUEST_HANDLER;
|
|
116
|
+
exports.CONTEXT_TIMER = CONTEXT_TIMER;
|
|
117
|
+
exports.CONTEXT_UNREGISTER = CONTEXT_UNREGISTER;
|
|
118
|
+
exports.CONTROLLER = CONTROLLER;
|
|
119
|
+
exports.CONTROLLER_ID = CONTROLLER_ID;
|
|
120
|
+
exports.CONTROLLER_KEY = CONTROLLER_KEY;
|
|
121
|
+
exports.CONTROLLER_NAME_KEY = CONTROLLER_NAME_KEY;
|
|
122
|
+
exports.CONTROLLER_OPERATIONS = CONTROLLER_OPERATIONS;
|
|
123
|
+
exports.CREATED_AT = CREATED_AT;
|
|
124
|
+
exports.CURRENT_PAGE_MARKER = CURRENT_PAGE_MARKER;
|
|
125
|
+
exports.DISPATCH_TIMERS = DISPATCH_TIMERS;
|
|
126
|
+
exports.DISPOSE_HANDLERS = DISPOSE_HANDLERS;
|
|
127
|
+
exports.EXPLICITLY_SET_PROPERTIES = EXPLICITLY_SET_PROPERTIES;
|
|
128
|
+
exports.INITIALIZED = INITIALIZED;
|
|
129
|
+
exports.IS_CONTROLLER_CLASS = IS_CONTROLLER_CLASS;
|
|
130
|
+
exports.IS_CONTROLLER_INSTANCE = IS_CONTROLLER_INSTANCE;
|
|
131
|
+
exports.IS_ELEMENT_CLASS = IS_ELEMENT_CLASS;
|
|
132
|
+
exports.IS_UPDATING = IS_UPDATING;
|
|
133
|
+
exports.MOVED_HANDLERS = MOVED_HANDLERS;
|
|
134
|
+
exports.MOVED_TIMERS = MOVED_TIMERS;
|
|
135
|
+
exports.NATIVE_CONTROLLER = NATIVE_CONTROLLER;
|
|
136
|
+
exports.NAVIGATION_CONTEXT_INSTANCE = NAVIGATION_CONTEXT_INSTANCE;
|
|
137
|
+
exports.OBSERVERS = OBSERVERS;
|
|
138
|
+
exports.ON_HANDLERS = ON_HANDLERS;
|
|
139
|
+
exports.PAGE_TRANSITION = PAGE_TRANSITION;
|
|
140
|
+
exports.PARTS = PARTS;
|
|
141
|
+
exports.PART_TIMERS = PART_TIMERS;
|
|
142
|
+
exports.PRE_INIT_PROPERTY_VALUES = PRE_INIT_PROPERTY_VALUES;
|
|
143
|
+
exports.PROPERTIES = PROPERTIES;
|
|
144
|
+
exports.PROPERTIES_INITIALIZED = PROPERTIES_INITIALIZED;
|
|
145
|
+
exports.PROPERTY_VALUES = PROPERTY_VALUES;
|
|
146
|
+
exports.PROPERTY_WATCHERS = PROPERTY_WATCHERS;
|
|
147
|
+
exports.READY_HANDLERS = READY_HANDLERS;
|
|
148
|
+
exports.READY_PROMISE = READY_PROMISE;
|
|
149
|
+
exports.READY_RESOLVE = READY_RESOLVE;
|
|
150
|
+
exports.REGISTERED_ELEMENTS = REGISTERED_ELEMENTS;
|
|
151
|
+
exports.RENDERED_PROMISE = RENDERED_PROMISE;
|
|
152
|
+
exports.RENDERED_RESOLVE = RENDERED_RESOLVE;
|
|
153
|
+
exports.RENDER_CALLBACKS = RENDER_CALLBACKS;
|
|
154
|
+
exports.RENDER_INSTANCE = RENDER_INSTANCE;
|
|
155
|
+
exports.RENDER_METHOD = RENDER_METHOD;
|
|
156
|
+
exports.RENDER_OPTIONS = RENDER_OPTIONS;
|
|
157
|
+
exports.RENDER_SCHEDULED = RENDER_SCHEDULED;
|
|
158
|
+
exports.RENDER_TIMERS = RENDER_TIMERS;
|
|
159
|
+
exports.ROUTER_CONTEXT = ROUTER_CONTEXT;
|
|
160
|
+
exports.STYLES_APPLIED = STYLES_APPLIED;
|
|
161
|
+
exports.STYLES_METHOD = STYLES_METHOD;
|
|
162
|
+
exports.getSymbol = getSymbol;
|
|
163
|
+
//# sourceMappingURL=symbols.cjs.map
|
package/dist/symbols.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"symbols.cjs","sources":["../src/global.ts","../src/symbols.ts"],"sourcesContent":[null,null],"names":[],"mappings":";;;;;;;;AAAA;AACA;AAKA;AACA,SAAS,mBAAmB,GAAA;AAC1B,IAAA,IAAI,CAAE,UAAkB,CAAC,KAAK,EAAE;QAC7B,UAAkB,CAAC,KAAK,GAAG;YAC1B,kBAAkB,EAAE,IAAI,GAAG,EAAE;AAC7B,YAAA,mBAAmB,EAAE,CAAC;YACtB,OAAO,EAAE,IAAI,GAAG;SACjB;IACH;IACA,OAAQ,UAAkB,CAAC,KAAK;AAClC;AAEA;AACO,MAAM,KAAK,GAAG,mBAAmB,EAAE;AAE1C;AACM,SAAU,SAAS,CAAC,IAAY,EAAA;IACpC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;AAC5B,QAAA,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACvC;IACA,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAE;AACjC;;AC3BA;AACA;MAMa,mBAAmB,GAAG,SAAS,CAAC,qBAAqB;MACrD,sBAAsB,GAAG,SAAS,CAAC,wBAAwB;MAC3D,gBAAgB,GAAG,SAAS,CAAC,kBAAkB;MAC/C,gBAAgB,GAAG,SAAS,CAAC,kBAAkB;AAE5D;MACa,aAAa,GAAG,SAAS,CAAC,eAAe;MACzC,aAAa,GAAG,SAAS,CAAC,eAAe;MACzC,UAAU,GAAG,SAAS,CAAC,YAAY;MACnC,WAAW,GAAG,SAAS,CAAC,aAAa;AAElD;MACa,WAAW,GAAG,SAAS,CAAC,aAAa;AAElD;MACa,cAAc,GAAG,SAAS,CAAC,gBAAgB;MAC3C,mBAAmB,GAAG,SAAS,CAAC,iBAAiB;MACjD,aAAa,GAAG,SAAS,CAAC,eAAe;MACzC,qBAAqB,GAAG,SAAS,CAAC,uBAAuB;MACzD,iBAAiB,GAAG,SAAS,CAAC,mBAAmB;AAE9D;MACa,OAAO,GAAG,SAAS,CAAC,SAAS;AAE1C;MACa,UAAU,GAAG,SAAS,CAAC,YAAY;MACnC,eAAe,GAAG,SAAS,CAAC,iBAAiB;MAC7C,sBAAsB,GAAG,SAAS,CAAC,wBAAwB;MAC3D,iBAAiB,GAAG,SAAS,CAAC,mBAAmB;MACjD,yBAAyB,GAAG,SAAS,CAAC,2BAA2B;AAE9E;MACa,cAAc,GAAG,SAAS,CAAC,gBAAgB;MAC3C,mBAAmB,GAAG,SAAS,CAAC,qBAAqB;MACrD,uBAAuB,GAAG,SAAS,CAAC,yBAAyB;MAC7D,eAAe,GAAG,SAAS,CAAC,iBAAiB;MAC7C,UAAU,GAAG,SAAS,CAAC,YAAY;AAEhD;MACa,cAAc,GAAG,SAAS,CAAC,gBAAgB;MAC3C,gBAAgB,GAAG,SAAS,CAAC,kBAAkB;MAC/C,cAAc,GAAG,SAAS,CAAC,gBAAgB;MAC3C,gBAAgB,GAAG,SAAS,CAAC,kBAAkB;AAE5D;MACa,SAAS,GAAG,SAAS,CAAC,WAAW;AAE9C;MACa,KAAK,GAAG,SAAS,CAAC,OAAO;MACzB,WAAW,GAAG,SAAS,CAAC,aAAa;AAElD;MACa,YAAY,GAAG,SAAS,CAAC,cAAc;MACvC,cAAc,GAAG,SAAS,CAAC,gBAAgB;AAExD;MACa,eAAe,GAAG,SAAS,CAAC,iBAAiB
|
|
1
|
+
{"version":3,"file":"symbols.cjs","sources":["../src/global.ts","../src/symbols.ts"],"sourcesContent":[null,null],"names":[],"mappings":"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"}
|