@leavittsoftware/web 10.1.1 → 10.2.1
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/CLAUDE.md +33 -20
- package/package.json +2 -2
- package/titanium/drawer/drawer.d.ts +4 -0
- package/titanium/drawer/drawer.js +20 -0
- package/titanium/drawer/drawer.js.map +1 -1
- package/titanium/helpers/route.d.ts +16 -2
- package/titanium/helpers/route.js +2 -1
- package/titanium/helpers/route.js.map +1 -1
package/CLAUDE.md
CHANGED
|
@@ -23,11 +23,23 @@ When bumping `@leavittsoftware/web` in a downstream project, read every entry **
|
|
|
23
23
|
|
|
24
24
|
### Unreleased
|
|
25
25
|
|
|
26
|
-
**Upgrade if coming from:** `< unreleased` (published latest is `10.0
|
|
26
|
+
**Upgrade if coming from:** `< unreleased` (published latest is `10.2.0`)
|
|
27
|
+
|
|
28
|
+
**Search downstream for:**
|
|
29
|
+
|
|
30
|
+
- `AppRoute` / `PageRoute` / `RedirectRoute` imports from `titanium/helpers/route`
|
|
31
|
+
- App-shell `#routes` tables and `before` handlers on page routes
|
|
32
|
+
- `'page' in route` / `'redirect' in route` discriminators used to collect or execute matches
|
|
27
33
|
|
|
28
34
|
**Adopt when upgrading to this version:**
|
|
29
35
|
|
|
30
|
-
- `
|
|
36
|
+
- **Middleware + halt pipeline** — `AppRoute` now includes `MiddlewareRoute` (`pattern` + required `before`, no `page`/`redirect`). Matching destinations run **all** matching middleware (and page `before` handlers) in declaration order; handlers continue by default and may return `ROUTE_HALT` / `'halt'` (`RouteHandlerResult`) to stop the pipeline without rendering. Rework app routers from “first match wins immediately” to the two-pass collect-then-execute pattern (see skeleton.leavitt.com `develop` / leavittbook `my-app.ts`). Prefer importing `ROUTE_HALT` from `titanium/helpers/route` instead of the string literal.
|
|
37
|
+
|
|
38
|
+
**Renamed / API changes:**
|
|
39
|
+
|
|
40
|
+
- `AppRoute` = `MiddlewareRoute | PageRoute | RedirectRoute`
|
|
41
|
+
- `PageRoute.before` return type is now `RouteHandlerResult | Promise<RouteHandlerResult>` (may return `ROUTE_HALT` / `'halt'`)
|
|
42
|
+
- New exports: `MiddlewareRoute`, `RouteHandlerResult`, `ROUTE_HALT`
|
|
31
43
|
|
|
32
44
|
### 10.0.0
|
|
33
45
|
|
|
@@ -485,7 +497,7 @@ Titanium class inheritance (in addition to Material Web extend/compose — see *
|
|
|
485
497
|
| Attribute | `fixed` | `boolean` | Content position when closed (inline mode only) |
|
|
486
498
|
| Attribute | `keep-open-when-going-to-flyover` | `boolean` | Preserve open state on mode switch |
|
|
487
499
|
|
|
488
|
-
**Methods:** `open()`, `close()`, `toggle()`, `closeQuick()`
|
|
500
|
+
**Methods:** `open()`, `openQuick()`, `close()`, `toggle()`, `closeQuick()`
|
|
489
501
|
|
|
490
502
|
**Events:** `open-change`; redispatches native `close`, `toggle` from dialog
|
|
491
503
|
|
|
@@ -501,6 +513,7 @@ Titanium class inheritance (in addition to Material Web extend/compose — see *
|
|
|
501
513
|
- Flyover sets `html { overflow: hidden }`
|
|
502
514
|
- Inline sidebar: set `mode="inline"` and call `open()`; do not use removed `always-show-content`
|
|
503
515
|
- Switching `mode` from inline→flyover: use `keep-open-when-going-to-flyover` to stay open
|
|
516
|
+
- Restoring an already-open drawer on mount (e.g. persisted sidebar state): call `openQuick()` instead of `open()` so slide-in animation does not replay; use `open()` for user-initiated toggles
|
|
504
517
|
|
|
505
518
|
---
|
|
506
519
|
|
|
@@ -1317,23 +1330,23 @@ These apply to the **host class** (`LitElement` or `Md*` subclass). They stack w
|
|
|
1317
1330
|
|
|
1318
1331
|
## Helpers (selected)
|
|
1319
1332
|
|
|
1320
|
-
| Symbol
|
|
1321
|
-
|
|
|
1322
|
-
| `Debouncer`
|
|
1323
|
-
| `delay`
|
|
1324
|
-
| `getCdnDownloadUrl`, `getCdnInlineUrl`
|
|
1325
|
-
| `getCompanyMarkUrl`, `getCompanyLogoUrl`
|
|
1326
|
-
| `formatAddress`, address utils
|
|
1327
|
-
| Phone formatters
|
|
1328
|
-
| `convertArrayToCsv`, `startCsvDownload`
|
|
1329
|
-
| `getSearchTokens`
|
|
1330
|
-
| `escapeTerm`
|
|
1331
|
-
| `groupBy`, `join`, `middleEllipsis`
|
|
1332
|
-
| `notNull`, `notUndefined`, `notNullOrUndefined`
|
|
1333
|
-
| `installMediaQueryWatcher`
|
|
1334
|
-
| `findScrollableParent`
|
|
1335
|
-
| `isDevelopment`
|
|
1336
|
-
| `AppRoute`, `PageRoute`, `RedirectRoute`
|
|
1333
|
+
| Symbol | Import path | Purpose |
|
|
1334
|
+
| --------------------------------------------------------------------------------- | --------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
1335
|
+
| `Debouncer` | `titanium/helpers/debouncer` | Debounced async calls |
|
|
1336
|
+
| `delay` | `titanium/helpers/delay` | Promise delay |
|
|
1337
|
+
| `getCdnDownloadUrl`, `getCdnInlineUrl` | `titanium/helpers/get-cdn-download-url`, `get-cdn-Inline-url` | CDN attachment URLs |
|
|
1338
|
+
| `getCompanyMarkUrl`, `getCompanyLogoUrl` | `titanium/helpers/get-company-mark-url`, `get-company-logo-url` | Company branding URLs |
|
|
1339
|
+
| `formatAddress`, address utils | `titanium/helpers/address/*` | Address formatting |
|
|
1340
|
+
| Phone formatters | `titanium/helpers/phone-numbers/*` | Phone number display |
|
|
1341
|
+
| `convertArrayToCsv`, `startCsvDownload` | `titanium/helpers/csv/*` | CSV export |
|
|
1342
|
+
| `getSearchTokens` | `titanium/helpers/get-search-token` | OData search token parsing |
|
|
1343
|
+
| `escapeTerm` | `titanium/helpers/escape-term` | OData string escaping |
|
|
1344
|
+
| `groupBy`, `join`, `middleEllipsis` | `titanium/helpers/*` | General utilities |
|
|
1345
|
+
| `notNull`, `notUndefined`, `notNullOrUndefined` | `titanium/helpers/*` | Type guards |
|
|
1346
|
+
| `installMediaQueryWatcher` | `titanium/helpers/install-media-query-watcher` | Responsive layout callback |
|
|
1347
|
+
| `findScrollableParent` | `titanium/helpers/find-scrollable-parent` | Scroll container detection |
|
|
1348
|
+
| `isDevelopment` | `titanium/helpers/is-development` | Dev environment detection |
|
|
1349
|
+
| `AppRoute`, `PageRoute`, `RedirectRoute`, `MiddlewareRoute`, `RouteHandlerResult`, `ROUTE_HALT` | `titanium/helpers/route` | Route table types for Navigation API SPA routers (`URLPattern` + lazy `import`). `MiddlewareRoute` (`pattern` + `before`, no `page`/`redirect`) runs for every matching destination in declaration order before the first matching page/redirect; handlers continue by default and may return `ROUTE_HALT` / `'halt'` (`RouteHandlerResult`) to stop the pipeline (e.g. after a guard redirect). `PageRoute.before` may also return `ROUTE_HALT` to skip its render. |
|
|
1337
1350
|
|
|
1338
1351
|
## Hacks
|
|
1339
1352
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@leavittsoftware/web",
|
|
3
|
-
"version": "10.
|
|
3
|
+
"version": "10.2.1",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"description": "",
|
|
6
6
|
"files": [
|
|
@@ -42,5 +42,5 @@
|
|
|
42
42
|
"url": "https://github.com/LeavittSoftware/titanium-elements/issues"
|
|
43
43
|
},
|
|
44
44
|
"homepage": "https://github.com/LeavittSoftware/titanium-elements/#readme",
|
|
45
|
-
"gitHead": "
|
|
45
|
+
"gitHead": "3162a6324c1b3e2b860c779defcd5dec6655cbff"
|
|
46
46
|
}
|
|
@@ -120,6 +120,21 @@ let TitaniumDrawer = class TitaniumDrawer extends LitElement {
|
|
|
120
120
|
this.setBodyOverflow('hidden');
|
|
121
121
|
}
|
|
122
122
|
}
|
|
123
|
+
/**
|
|
124
|
+
* Opens drawer without animations
|
|
125
|
+
*/
|
|
126
|
+
openQuick() {
|
|
127
|
+
this.dialog?.setAttribute('no-animate', '');
|
|
128
|
+
if (this.mode === 'inline') {
|
|
129
|
+
this.#setOpen(true);
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
this.dialog?.showModal();
|
|
133
|
+
this.dialog?.removeAttribute('hide');
|
|
134
|
+
this.setBodyOverflow('hidden');
|
|
135
|
+
}
|
|
136
|
+
requestAnimationFrame(() => this.dialog?.removeAttribute('no-animate'));
|
|
137
|
+
}
|
|
123
138
|
/**
|
|
124
139
|
* Closes drawer
|
|
125
140
|
*/
|
|
@@ -282,6 +297,11 @@ let TitaniumDrawer = class TitaniumDrawer extends LitElement {
|
|
|
282
297
|
animation: show-reverse 0.25s ease normal;
|
|
283
298
|
}
|
|
284
299
|
|
|
300
|
+
dialog[no-animate][open],
|
|
301
|
+
:host([mode='inline'][open]) dialog[no-animate]:not([open]) {
|
|
302
|
+
animation: none !important;
|
|
303
|
+
}
|
|
304
|
+
|
|
285
305
|
::slotted(h3) {
|
|
286
306
|
font-family: 'Metropolis';
|
|
287
307
|
color: var(--md-sys-color-on-background);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drawer.js","sourceRoot":"","sources":["drawer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"drawer.js","sourceRoot":"","sources":["drawer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,26 @@
|
|
|
1
|
+
/** Return value that stops the routing pipeline (skip remaining matches and the page render). */
|
|
2
|
+
export declare const ROUTE_HALT: "halt";
|
|
3
|
+
/** Return `ROUTE_HALT` / `'halt'` to stop the pipeline. Returning nothing continues. */
|
|
4
|
+
export type RouteHandlerResult = typeof ROUTE_HALT | void;
|
|
5
|
+
/**
|
|
6
|
+
* A route with a pattern and a `before` handler but no page or redirect.
|
|
7
|
+
* All middleware routes matching the destination run in declaration order before
|
|
8
|
+
* the first matching page/redirect route; the pipeline continues automatically
|
|
9
|
+
* unless a handler returns `ROUTE_HALT` / `'halt'`.
|
|
10
|
+
*/
|
|
11
|
+
export type MiddlewareRoute = {
|
|
12
|
+
pattern: URLPattern;
|
|
13
|
+
before: (params: Record<string, string>, url: URL) => RouteHandlerResult | Promise<RouteHandlerResult>;
|
|
14
|
+
};
|
|
1
15
|
export type PageRoute = {
|
|
2
16
|
pattern: URLPattern;
|
|
3
17
|
page: string;
|
|
4
18
|
import: () => Promise<unknown>;
|
|
5
|
-
before?: (params: Record<string, string>, url: URL) =>
|
|
19
|
+
before?: (params: Record<string, string>, url: URL) => RouteHandlerResult | Promise<RouteHandlerResult>;
|
|
6
20
|
};
|
|
7
21
|
export type RedirectRoute = {
|
|
8
22
|
pattern: URLPattern;
|
|
9
23
|
redirect: string | ((params: Record<string, string>) => string);
|
|
10
24
|
};
|
|
11
|
-
export type AppRoute = PageRoute | RedirectRoute;
|
|
25
|
+
export type AppRoute = MiddlewareRoute | PageRoute | RedirectRoute;
|
|
12
26
|
//# sourceMappingURL=route.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route.js","sourceRoot":"","sources":["route.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"route.js","sourceRoot":"","sources":["route.ts"],"names":[],"mappings":"AAAA,iGAAiG;AACjG,MAAM,CAAC,MAAM,UAAU,GAAG,MAAe,CAAC"}
|