@kodaris/krubble-app-components 1.0.49 → 1.0.51

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.
@@ -0,0 +1,41 @@
1
+ import { LitElement } from 'lit';
2
+ export interface KRRoute {
3
+ path: string;
4
+ component: string;
5
+ children?: KRRoute[];
6
+ default?: string;
7
+ }
8
+ export interface KRRouterConfig {
9
+ base: string;
10
+ routes: KRRoute[];
11
+ }
12
+ export interface KRMatchedRoute {
13
+ route: KRRoute;
14
+ params: Record<string, string>;
15
+ }
16
+ export declare class KRRouter {
17
+ static base: string;
18
+ static routes: KRRoute[];
19
+ static elementCache: Map<string, HTMLElement>;
20
+ static configure(config: KRRouterConfig): void;
21
+ static navigate(path: string): void;
22
+ static getParams(): Record<string, string>;
23
+ static outlet(level: number): HTMLElement | null;
24
+ static matchAll(): KRMatchedRoute[];
25
+ static matchRoutes(routes: KRRoute[], segments: string[]): KRMatchedRoute[];
26
+ }
27
+ export declare class KRRouterOutlet extends LitElement {
28
+ static styles: import("lit").CSSResult;
29
+ level: number;
30
+ handlePopState: () => void;
31
+ connectedCallback(): void;
32
+ disconnectedCallback(): void;
33
+ detectLevel(): number;
34
+ render(): import("lit-html").TemplateResult<1>;
35
+ }
36
+ declare global {
37
+ interface HTMLElementTagNameMap {
38
+ 'kr-router-outlet': KRRouterOutlet;
39
+ }
40
+ }
41
+ //# sourceMappingURL=router.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAG5C,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAED,qBAAa,QAAQ;IACnB,MAAM,CAAC,IAAI,SAAM;IACjB,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAM;IAC9B,MAAM,CAAC,YAAY,2BAAkC;IAErD,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,cAAc;IAqBvC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM;IAS5B,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAW1C,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAyBhD,MAAM,CAAC,QAAQ,IAAI,cAAc,EAAE;IAUnC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,cAAc,EAAE;CAgE5E;AAED,qBACa,cAAe,SAAQ,UAAU;IAC5C,MAAM,CAAC,MAAM,0BAKX;IAEF,KAAK,SAAM;IAEX,cAAc,aAEZ;IAEF,iBAAiB;IAMjB,oBAAoB;IAKpB,WAAW,IAAI,MAAM;IAwBrB,MAAM;CAOP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,kBAAkB,EAAE,cAAc,CAAC;KACpC;CACF"}
package/dist/router.js ADDED
@@ -0,0 +1,188 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { LitElement, css, html } from 'lit';
8
+ import { customElement } from 'lit/decorators.js';
9
+ export class KRRouter {
10
+ static configure(config) {
11
+ KRRouter.base = config.base;
12
+ KRRouter.routes = config.routes;
13
+ // Intercept <a> clicks for client-side navigation
14
+ window.addEventListener('click', (e) => {
15
+ const anchor = e.composedPath().find(el => el instanceof HTMLAnchorElement);
16
+ if (!anchor) {
17
+ return;
18
+ }
19
+ if (anchor.origin !== window.location.origin) {
20
+ return;
21
+ }
22
+ if (!anchor.pathname.startsWith(KRRouter.base)) {
23
+ return;
24
+ }
25
+ e.preventDefault();
26
+ KRRouter.navigate(anchor.pathname);
27
+ });
28
+ }
29
+ static navigate(path) {
30
+ let fullPath = path;
31
+ if (!path.startsWith('/')) {
32
+ fullPath = KRRouter.base + '/' + path;
33
+ }
34
+ window.history.pushState({}, '', fullPath);
35
+ window.dispatchEvent(new PopStateEvent('popstate'));
36
+ }
37
+ static getParams() {
38
+ const matched = KRRouter.matchAll();
39
+ const params = {};
40
+ for (const match of matched) {
41
+ for (const key in match.params) {
42
+ params[key] = decodeURIComponent(match.params[key]);
43
+ }
44
+ }
45
+ return params;
46
+ }
47
+ static outlet(level) {
48
+ const matched = KRRouter.matchAll();
49
+ if (level >= matched.length) {
50
+ return null;
51
+ }
52
+ const match = matched[level];
53
+ const tag = match.route.component;
54
+ const cached = KRRouter.elementCache.get(level + ':' + tag);
55
+ if (cached) {
56
+ return cached;
57
+ }
58
+ // Clear old cache entry for this level
59
+ for (const key of KRRouter.elementCache.keys()) {
60
+ if (key.startsWith(level + ':')) {
61
+ KRRouter.elementCache.delete(key);
62
+ }
63
+ }
64
+ const el = document.createElement(tag);
65
+ KRRouter.elementCache.set(level + ':' + tag, el);
66
+ return el;
67
+ }
68
+ static matchAll() {
69
+ const path = window.location.pathname;
70
+ let relative = path;
71
+ if (path.startsWith(KRRouter.base)) {
72
+ relative = path.slice(KRRouter.base.length);
73
+ }
74
+ const segments = relative.split('/').filter(s => s);
75
+ return KRRouter.matchRoutes(KRRouter.routes, segments);
76
+ }
77
+ static matchRoutes(routes, segments) {
78
+ for (const route of routes) {
79
+ const routeSegments = route.path.split('/').filter(s => s);
80
+ if (routeSegments.length === 0 && segments.length === 0) {
81
+ return [{ route, params: {} }];
82
+ }
83
+ if (routeSegments.length === 0) {
84
+ continue;
85
+ }
86
+ if (segments.length < routeSegments.length) {
87
+ continue;
88
+ }
89
+ const params = {};
90
+ let matched = true;
91
+ for (let i = 0; i < routeSegments.length; i++) {
92
+ if (routeSegments[i].startsWith(':')) {
93
+ params[routeSegments[i].slice(1)] = segments[i];
94
+ }
95
+ else if (routeSegments[i] !== segments[i]) {
96
+ matched = false;
97
+ break;
98
+ }
99
+ }
100
+ if (!matched) {
101
+ continue;
102
+ }
103
+ const remaining = segments.slice(routeSegments.length);
104
+ // If there are remaining segments but no children, this route doesn't fully match — try next route
105
+ if (remaining.length > 0 && !route.children) {
106
+ continue;
107
+ }
108
+ const result = [{ route, params }];
109
+ if (route.children && remaining.length > 0) {
110
+ const childMatches = KRRouter.matchRoutes(route.children, remaining);
111
+ if (childMatches.length > 0) {
112
+ result.push(...childMatches);
113
+ return result;
114
+ }
115
+ }
116
+ // No remaining segments + default child — redirect
117
+ if (route.children && remaining.length === 0 && route.default) {
118
+ window.history.replaceState({}, '', window.location.pathname + '/' + route.default);
119
+ const childMatches = KRRouter.matchRoutes(route.children, [route.default]);
120
+ if (childMatches.length > 0) {
121
+ result.push(...childMatches);
122
+ return result;
123
+ }
124
+ }
125
+ return result;
126
+ }
127
+ return [];
128
+ }
129
+ }
130
+ KRRouter.base = '';
131
+ KRRouter.routes = [];
132
+ KRRouter.elementCache = new Map();
133
+ let KRRouterOutlet = class KRRouterOutlet extends LitElement {
134
+ constructor() {
135
+ super(...arguments);
136
+ this.level = -1;
137
+ this.handlePopState = () => {
138
+ this.requestUpdate();
139
+ };
140
+ }
141
+ connectedCallback() {
142
+ super.connectedCallback();
143
+ this.level = this.detectLevel();
144
+ window.addEventListener('popstate', this.handlePopState);
145
+ }
146
+ disconnectedCallback() {
147
+ super.disconnectedCallback();
148
+ window.removeEventListener('popstate', this.handlePopState);
149
+ }
150
+ detectLevel() {
151
+ let level = 0;
152
+ let node = this;
153
+ while (node) {
154
+ if (node instanceof ShadowRoot) {
155
+ node = node.host;
156
+ continue;
157
+ }
158
+ if (node instanceof HTMLElement && node.tagName === 'KR-ROUTER-OUTLET' && node !== this) {
159
+ level++;
160
+ }
161
+ if (node instanceof HTMLElement) {
162
+ node = node.parentNode;
163
+ }
164
+ else {
165
+ node = null;
166
+ }
167
+ }
168
+ return level;
169
+ }
170
+ render() {
171
+ const el = KRRouter.outlet(this.level);
172
+ if (!el) {
173
+ return html ``;
174
+ }
175
+ return html `${el}`;
176
+ }
177
+ };
178
+ KRRouterOutlet.styles = css `
179
+ :host {
180
+ display: block;
181
+ height: 100%;
182
+ }
183
+ `;
184
+ KRRouterOutlet = __decorate([
185
+ customElement('kr-router-outlet')
186
+ ], KRRouterOutlet);
187
+ export { KRRouterOutlet };
188
+ //# sourceMappingURL=router.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kodaris/krubble-app-components",
3
- "version": "1.0.49",
3
+ "version": "1.0.51",
4
4
  "description": "Krubble Application Components - Smart components with business logic",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -26,6 +26,10 @@
26
26
  "./subbar": {
27
27
  "types": "./dist/subbar.d.ts",
28
28
  "import": "./dist/subbar.js"
29
+ },
30
+ "./router": {
31
+ "types": "./dist/router.d.ts",
32
+ "import": "./dist/router.js"
29
33
  }
30
34
  },
31
35
  "files": [