@mantou/gem 2.3.1 → 2.3.3
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/AGENTS.md +150 -0
- package/dist/gem.js +11 -11
- package/dist/gem.mjs +11 -11
- package/elements/base/gesture.d.ts.map +1 -1
- package/elements/base/gesture.js +20 -1
- package/elements/base/gesture.js.map +1 -1
- package/elements/base/link.d.ts +2 -1
- package/elements/base/link.d.ts.map +1 -1
- package/elements/base/link.js +1 -2
- package/elements/base/link.js.map +1 -1
- package/elements/base/route.d.ts +4 -21
- package/elements/base/route.d.ts.map +1 -1
- package/elements/base/route.js +2 -83
- package/elements/base/route.js.map +1 -1
- package/lib/element.d.ts +17 -5
- package/lib/element.d.ts.map +1 -1
- package/lib/element.js +8 -11
- package/lib/element.js.map +1 -1
- package/lib/history.d.ts +24 -0
- package/lib/history.d.ts.map +1 -1
- package/lib/history.js +82 -0
- package/lib/history.js.map +1 -1
- package/lib/keyed.d.ts +10 -0
- package/lib/keyed.d.ts.map +1 -0
- package/lib/keyed.js +26 -0
- package/lib/keyed.js.map +1 -0
- package/lib/lit-html.d.ts.map +1 -1
- package/lib/lit-html.js +3 -3
- package/lib/lit-html.js.map +1 -1
- package/lib/repeat.d.ts.map +1 -1
- package/lib/repeat.js +1 -1
- package/lib/repeat.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/package.json +10 -1
- package/src/elements/base/gesture.ts +20 -1
- package/src/elements/base/link.ts +3 -3
- package/src/elements/base/route.ts +4 -96
- package/src/lib/element.ts +14 -15
- package/src/lib/history.ts +96 -0
- package/src/lib/keyed.ts +30 -0
- package/src/lib/lit-html.ts +3 -3
- package/src/lib/repeat.ts +1 -1
- package/src/lib/version.ts +1 -1
package/lib/repeat.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repeat.d.ts","sourceRoot":"","sources":["../src/lib/repeat.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAuB,MAAM,aAAa,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEjD,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;AAC3D,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;AAIlE;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,UAAU,kBAAmB,SAAS,YAAY,SAAS,SAAS,SAAS,KAAG,SA0C5F,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,SAAS,QAC7C,CAAC,SACA,OAAO,oBACG,eAAe,KAC/B,CAGF,CAAC;AAMF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB,SAAU,IAAI,UAAS,OAAO,YAAkD,CAAC;AAE/G;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,iBAAiB,SAAU,SAAS,YAA0B,CAAC;AAE5E;;;;GAIG;AACH,eAAO,MAAM,UAAU,SAAU,SAAS,SASzC,CAAC;AAEF,eAAO,MAAM,SAAS,SAAU,SAAS,SAExC,CAAC;AAaF,cAAM,eAAgB,SAAQ,SAAS;IACrC,OAAO,CAAC,SAAS,CAAC,CAAY;IAE9B,YAAY,QAAQ,EAAE,QAAQ,EAK7B;IAED,OAAO,CAAC,iBAAiB;IAyBzB,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;IACzE,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;IAKnG,MAAM,CAAC,CAAC,EACf,aAAa,EAAE,SAAS,EACxB,CAAC,KAAK,EAAE,eAAe,EAAE,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,+BAyU/F;CACF;AAED,MAAM,WAAW,iBAAiB;IAChC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;IAC1G,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;IAC5D,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;CAChG;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,eAAO,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"repeat.d.ts","sourceRoot":"","sources":["../src/lib/repeat.ts"],"names":[],"mappings":"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"}
|
package/lib/repeat.js
CHANGED
|
@@ -529,5 +529,5 @@ class RepeatDirective extends Directive {
|
|
|
529
529
|
* If no `keyFn` is provided, this directive will perform similar to mapping
|
|
530
530
|
* items to values, and DOM will be reused against potentially different items.
|
|
531
531
|
*/
|
|
532
|
-
export const repeat = directive(RepeatDirective);
|
|
532
|
+
export const repeat = /*#__PURE__*/ directive(RepeatDirective);
|
|
533
533
|
//# sourceMappingURL=repeat.js.map
|
package/lib/repeat.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repeat.js","sourceRoot":"","sources":["../src/lib/repeat.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE7D,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAKjD,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;AAEtD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,aAAwB,EAAE,OAAmB,EAAE,IAAgB,EAAa,EAAE;IACvG,MAAM,SAAS,GAAG,aAAa,CAAC,WAAW,CAAC,UAAW,CAAC;IAExD,MAAM,OAAO,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;IAEtF,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,SAAS,GAAG,SAAS,CAAC,YAAY,CAAC,YAAY,EAAE,EAAE,OAAO,CAAC,CAAC;QAClE,MAAM,OAAO,GAAG,SAAS,CAAC,YAAY,CAAC,YAAY,EAAE,EAAE,OAAO,CAAC,CAAC;QAChE,IAAI,GAAG,IAAI,SAAS,CAAC,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IACjF,CAAC;SAAM,CAAC;QACN,MAAM,OAAO,GAAG,IAAI,CAAC,SAAU,CAAC,WAAW,CAAC;QAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC;QAChC,MAAM,aAAa,GAAG,SAAS,KAAK,aAAa,CAAC;QAClD,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,CAAC,yBAAyB,EAAE,CAAC,aAAa,CAAC,CAAC;YAChD,oEAAoE;YACpE,qEAAqE;YACrE,mEAAmE;YACnE,8BAA8B;YAC9B,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC;YAC9B,0DAA0D;YAC1D,4DAA4D;YAC5D,iBAAiB;YACjB,IAAI,kBAAuB,CAAC;YAC5B,IACE,IAAI,CAAC,yBAAyB,KAAK,SAAS;gBAC5C,CAAC,kBAAkB,GAAG,aAAa,CAAC,aAAa,CAAC,KAAK,SAAU,CAAC,aAAa,EAC/E,CAAC;gBACD,IAAI,CAAC,yBAAyB,CAAC,kBAAkB,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;QACD,IAAI,OAAO,KAAK,OAAO,IAAI,aAAa,EAAE,CAAC;YACzC,IAAI,KAAK,GAAgB,IAAI,CAAC,WAAW,CAAC;YAC1C,OAAO,KAAK,KAAK,OAAO,EAAE,CAAC;gBACzB,MAAM,CAAC,GAAgB,KAAM,CAAC,WAAW,CAAC;gBAC1C,SAAS,CAAC,YAAY,CAAC,KAAM,EAAE,OAAO,CAAC,CAAC;gBACxC,KAAK,GAAG,CAAC,CAAC;YACZ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,IAAO,EACP,KAAc,EACd,eAAe,GAAoB,IAAI,EACpC,EAAE;IACL,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;IACxC,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,4EAA4E;AAC5E,qEAAqE;AACrE,MAAM,WAAW,GAAG,EAAE,CAAC;AAEvB;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,IAAU,EAAE,KAAK,GAAY,WAAW,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,CAAC;AAE/G;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,IAAe,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC;AAE5E;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAe,EAAE,EAAE;IAC5C,IAAI,CAAC,yBAAyB,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC9C,IAAI,KAAK,GAAqB,IAAI,CAAC,WAAW,CAAC;IAC/C,MAAM,GAAG,GAAqB,IAAI,CAAC,SAAU,CAAC,WAAW,CAAC;IAC1D,OAAO,KAAK,KAAK,GAAG,EAAE,CAAC;QACrB,MAAM,CAAC,GAAqB,KAAM,CAAC,WAAW,CAAC;QAC9C,KAAoB,CAAC,MAAM,EAAE,CAAC;QAC/B,KAAK,GAAG,CAAC,CAAC;IACZ,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAe,EAAE,EAAE;IAC3C,IAAI,CAAC,OAAO,EAAE,CAAC;AACjB,CAAC,CAAC;AAEF,uEAAuE;AACvE,8DAA8D;AAC9D,sBAAsB;AACtB,MAAM,WAAW,GAAG,CAAC,IAAe,EAAE,KAAa,EAAE,GAAW,EAAE,EAAE;IAClE,MAAM,GAAG,GAAG,IAAI,GAAG,EAAmB,CAAC;IACvC,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,eAAgB,SAAQ,SAAS;IAC7B,SAAS,CAAa;IAE9B,YAAY,QAAkB;QAC5B,KAAK,EAAE,CAAC;QACR,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,KAAK,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAEO,iBAAiB,CACvB,KAAkB,EAClB,eAA2C,EAC3C,QAA0B;QAE1B,IAAI,KAA2B,CAAC;QAChC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,QAAQ,GAAG,eAAe,CAAC;QAC7B,CAAC;aAAM,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;YACzC,KAAK,GAAG,eAA2B,CAAC;QACtC,CAAC;QACD,MAAM,IAAI,GAAG,EAAE,CAAC;QAChB,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACjD,MAAM,CAAC,KAAK,CAAC,GAAG,QAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACvC,KAAK,EAAE,CAAC;QACV,CAAC;QACD,OAAO;YACL,MAAM;YACN,IAAI;SACL,CAAC;IACJ,CAAC;IAID,MAAM,CAAI,KAAkB,EAAE,eAA2C,EAAE,QAA0B;QACnG,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC;IACzE,CAAC;IAEQ,MAAM,CACb,aAAwB,EACxB,CAAC,KAAK,EAAE,eAAe,EAAE,QAAQ,CAA6D;QAE9F,qEAAqE;QACrE,0BAA0B;QAC1B,MAAM,QAAQ,GAAG,iBAAiB,CAAC,aAAa,CAA4B,CAAC;QAC7E,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC;QAEtG,iEAAiE;QACjE,kEAAkE;QAClE,uEAAuE;QACvE,qEAAqE;QACrE,QAAQ;QACR,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;YACzB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,wEAAwE;QACxE,wEAAwE;QACxE,wEAAwE;QACxE,qEAAqE;QACrE,sBAAsB;QACtB,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC;QAExC,8DAA8D;QAC9D,6DAA6D;QAC7D,qDAAqD;QACrD,MAAM,QAAQ,GAAgB,EAAE,CAAC;QAEjC,gEAAgE;QAChE,yDAAyD;QACzD,0DAA0D;QAC1D,6DAA6D;QAC7D,IAAI,gBAAuC,CAAC;QAC5C,IAAI,gBAAuC,CAAC;QAE5C,qDAAqD;QACrD,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,OAAO,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QAClC,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,OAAO,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;QAEnC,8DAA8D;QAC9D,qDAAqD;QACrD,EAAE;QACF,4DAA4D;QAC5D,8DAA8D;QAC9D,4DAA4D;QAC5D,8DAA8D;QAC9D,8DAA8D;QAC9D,wDAAwD;QACxD,+DAA+D;QAC/D,4DAA4D;QAC5D,gDAAgD;QAChD,EAAE;QACF,2CAA2C;QAC3C,oCAAoC;QACpC,oCAAoC;QACpC,+DAA+D;QAC/D,kDAAkD;QAClD,2CAA2C;QAC3C,EAAE;QACF,uDAAuD;QACvD,2DAA2D;QAC3D,0CAA0C;QAC1C,EAAE;QACF,8DAA8D;QAC9D,8DAA8D;QAC9D,6DAA6D;QAC7D,+DAA+D;QAC/D,mBAAmB;QACnB,EAAE;QACF,2CAA2C;QAC3C,oCAAoC;QACpC,+DAA+D;QAC/D,gEAAgE;QAChE,iDAAiD;QACjD,2CAA2C;QAC3C,EAAE;QACF,uDAAuD;QACvD,4DAA4D;QAC5D,yDAAyD;QACzD,kDAAkD;QAClD,EAAE;QACF,2CAA2C;QAC3C,oCAAoC;QACpC,+DAA+D;QAC/D,gEAAgE;QAChE,iDAAiD;QACjD,2CAA2C;QAC3C,EAAE;QACF,6DAA6D;QAC7D,+DAA+D;QAC/D,+DAA+D;QAC/D,6DAA6D;QAC7D,2DAA2D;QAC3D,wDAAwD;QACxD,2DAA2D;QAC3D,8DAA8D;QAC9D,+DAA+D;QAC/D,yCAAyC;QACzC,EAAE;QACF,+DAA+D;QAC/D,6DAA6D;QAC7D,gDAAgD;QAChD,EAAE;QACF,wCAAwC;QACxC,oCAAoC;QACpC,gEAAgE;QAChE,6DAA6D;QAC7D,wCAAwC;QACxC,EAAE;QACF,8DAA8D;QAC9D,+DAA+D;QAC/D,6DAA6D;QAC7D,2DAA2D;QAC3D,6DAA6D;QAC7D,8DAA8D;QAC9D,iDAAiD;QACjD,EAAE;QACF,4DAA4D;QAC5D,mDAAmD;QACnD,8DAA8D;QAC9D,2DAA2D;QAC3D,sDAAsD;QACtD,4DAA4D;QAC5D,4DAA4D;QAC5D,6CAA6C;QAC7C,EAAE;QACF,qCAAqC;QACrC,oCAAoC;QACpC,8DAA8D;QAC9D,8DAA8D;QAC9D,+CAA+C;QAC/C,wCAAwC;QACxC,EAAE;QACF,8DAA8D;QAC9D,wDAAwD;QACxD,4DAA4D;QAC5D,+DAA+D;QAC/D,0DAA0D;QAC1D,6DAA6D;QAC7D,wDAAwD;QACxD,2BAA2B;QAC3B,EAAE;QACF,0DAA0D;QAC1D,qDAAqD;QACrD,gBAAgB;QAChB,EAAE;QACF,0DAA0D;QAC1D,yDAAyD;QACzD,8CAA8C;QAC9C,EAAE;QACF,qCAAqC;QACrC,oCAAoC;QACpC,+DAA+D;QAC/D,gEAAgE;QAChE,iDAAiD;QACjD,wCAAwC;QACxC,EAAE;QACF,6DAA6D;QAC7D,8DAA8D;QAC9D,6DAA6D;QAC7D,0DAA0D;QAC1D,gBAAgB;QAChB,EAAE;QACF,wDAAwD;QACxD,qCAAqC;QACrC,EAAE;QACF,qCAAqC;QACrC,8DAA8D;QAC9D,uDAAuD;QACvD,oCAAoC;QACpC,wCAAwC;QACxC,EAAE;QACF,+DAA+D;QAC/D,4DAA4D;QAC5D,+DAA+D;QAC/D,EAAE;QACF,8DAA8D;QAC9D,4DAA4D;QAC5D,+DAA+D;QAC/D,oDAAoD;QACpD,EAAE;QACF,qCAAqC;QACrC,oCAAoC;QACpC,4DAA4D;QAC5D,6DAA6D;QAC7D,gEAAgE;QAChE,wCAAwC;QACxC,EAAE;QACF,8DAA8D;QAC9D,0DAA0D;QAC1D,wBAAwB;QACxB,EAAE;QACF,kCAAkC;QAClC,oCAAoC;QACpC,6DAA6D;QAC7D,6DAA6D;QAC7D,+CAA+C;QAC/C,wCAAwC;QACxC,EAAE;QACF,+DAA+D;QAC/D,yDAAyD;QACzD,+DAA+D;QAC/D,kCAAkC;QAClC,EAAE;QACF,+DAA+D;QAC/D,8DAA8D;QAC9D,6DAA6D;QAC7D,EAAE;QACF,wCAAwC;QACxC,oCAAoC;QACpC,2DAA2D;QAC3D,oCAAoC;QACpC,wCAAwC;QACxC,EAAE;QACF,sDAAsD;QACtD,2DAA2D;QAC3D,4DAA4D;QAC5D,4DAA4D;QAC5D,0DAA0D;QAC1D,4DAA4D;QAC5D,yBAAyB;QACzB,EAAE;QACF,yCAAyC;QACzC,+DAA+D;QAC/D,+DAA+D;QAC/D,2DAA2D;QAC3D,0DAA0D;QAC1D,6DAA6D;QAC7D,6DAA6D;QAC7D,+DAA+D;QAC/D,oDAAoD;QACpD,6DAA6D;QAC7D,6DAA6D;QAC7D,iBAAiB;QAEjB,OAAO,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,EAAE,CAAC;YAChD,IAAI,QAAQ,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC/B,sDAAsD;gBACtD,cAAc;gBACd,OAAO,EAAE,CAAC;YACZ,CAAC;iBAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;gBACtC,sDAAsD;gBACtD,cAAc;gBACd,OAAO,EAAE,CAAC;YACZ,CAAC;iBAAM,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBACjD,6CAA6C;gBAC7C,QAAQ,CAAC,OAAO,CAAC,GAAG,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAE,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC9E,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,CAAC;YACZ,CAAC;iBAAM,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBACjD,6CAA6C;gBAC7C,QAAQ,CAAC,OAAO,CAAC,GAAG,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAE,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC9E,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,CAAC;YACZ,CAAC;iBAAM,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBACjD,yDAAyD;gBACzD,QAAQ,CAAC,OAAO,CAAC,GAAG,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAE,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC9E,UAAU,CAAC,aAAa,EAAE,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAE,CAAC,CAAC;gBACrE,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,CAAC;YACZ,CAAC;iBAAM,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBACjD,yDAAyD;gBACzD,QAAQ,CAAC,OAAO,CAAC,GAAG,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAE,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC9E,UAAU,CAAC,aAAa,EAAE,QAAQ,CAAC,OAAO,CAAE,EAAE,QAAQ,CAAC,OAAO,CAAE,CAAC,CAAC;gBAClE,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,CAAC;YACZ,CAAC;iBAAM,CAAC;gBACN,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;oBACnC,yDAAyD;oBACzD,cAAc;oBACd,gBAAgB,GAAG,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;oBAC1D,gBAAgB,GAAG,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC5D,CAAC;gBACD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;oBAC5C,4CAA4C;oBAC5C,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAE,CAAC,CAAC;oBAC/B,OAAO,EAAE,CAAC;gBACZ,CAAC;qBAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;oBACnD,4CAA4C;oBAC5C,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAE,CAAC,CAAC;oBAC/B,OAAO,EAAE,CAAC;gBACZ,CAAC;qBAAM,CAAC;oBACN,uDAAuD;oBACvD,0DAA0D;oBAC1D,aAAa;oBACb,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;oBACxD,MAAM,OAAO,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBACnE,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;wBACrB,mDAAmD;wBACnD,YAAY;wBACZ,MAAM,OAAO,GAAG,UAAU,CAAC,aAAa,EAAE,QAAQ,CAAC,OAAO,CAAE,CAAC,CAAC;wBAC9D,iBAAiB,CAAC,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;wBAC/C,QAAQ,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;oBAC9B,CAAC;yBAAM,CAAC;wBACN,iBAAiB;wBACjB,QAAQ,CAAC,OAAO,CAAC,GAAG,iBAAiB,CAAC,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;wBACnE,UAAU,CAAC,aAAa,EAAE,QAAQ,CAAC,OAAO,CAAE,EAAE,OAAO,CAAC,CAAC;wBACvD,uDAAuD;wBACvD,mDAAmD;wBACnD,QAAQ,CAAC,QAAkB,CAAC,GAAG,IAAI,CAAC;oBACtC,CAAC;oBACD,OAAO,EAAE,CAAC;gBACZ,CAAC;YACH,CAAC;QACH,CAAC;QACD,yCAAyC;QACzC,OAAO,OAAO,IAAI,OAAO,EAAE,CAAC;YAC1B,yDAAyD;YACzD,+CAA+C;YAC/C,MAAM,OAAO,GAAG,UAAU,CAAC,aAAa,EAAE,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;YACjE,iBAAiB,CAAC,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;YAC/C,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC;QAChC,CAAC;QACD,wCAAwC;QACxC,OAAO,OAAO,IAAI,OAAO,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;YACpC,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;gBACrB,UAAU,CAAC,OAAO,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;QAED,yCAAyC;QACzC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;QACzB,yDAAyD;QACzD,iBAAiB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAC3C,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AAQD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,SAAS,CAAC,eAAe,CAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"repeat.js","sourceRoot":"","sources":["../src/lib/repeat.ts"],"names":[],"mappings":"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"}
|
package/lib/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const version = "2.3.
|
|
1
|
+
export declare const version = "2.3.3";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/lib/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const version = '2.3.
|
|
1
|
+
export const version = '2.3.3';
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mantou/gem",
|
|
3
|
-
"version": "2.3.
|
|
3
|
+
"version": "2.3.3",
|
|
4
4
|
"description": "💎 Build reusable custom elements and web apps on Web Components",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"frontend",
|
|
@@ -12,6 +12,14 @@
|
|
|
12
12
|
"esm.sh": {
|
|
13
13
|
"bundle": false
|
|
14
14
|
},
|
|
15
|
+
"sideEffects": [
|
|
16
|
+
"./index.js",
|
|
17
|
+
"./lib/element.js",
|
|
18
|
+
"./elements/*.js",
|
|
19
|
+
"./helper/hmr.js",
|
|
20
|
+
"./helper/ssr-shim.js",
|
|
21
|
+
"./dist/*"
|
|
22
|
+
],
|
|
15
23
|
"main": "index.js",
|
|
16
24
|
"module": "index.js",
|
|
17
25
|
"exports": {
|
|
@@ -22,6 +30,7 @@
|
|
|
22
30
|
"./helper/*": "./helper/*.js"
|
|
23
31
|
},
|
|
24
32
|
"files": [
|
|
33
|
+
"/AGENTS.md",
|
|
25
34
|
"/index.*",
|
|
26
35
|
"/dist/",
|
|
27
36
|
"/elements/",
|
|
@@ -137,7 +137,26 @@ const style = css`
|
|
|
137
137
|
&:where(:not([hidden])) {
|
|
138
138
|
display: block;
|
|
139
139
|
user-select: none;
|
|
140
|
-
touch-action:
|
|
140
|
+
touch-action: none;
|
|
141
|
+
}
|
|
142
|
+
/* 常用取值,兼容不支持在 touch-action 中使用 attr() 的浏览器 */
|
|
143
|
+
&:where([touch-action='auto']) {
|
|
144
|
+
touch-action: auto;
|
|
145
|
+
}
|
|
146
|
+
&:where([touch-action='manipulation']) {
|
|
147
|
+
touch-action: manipulation;
|
|
148
|
+
}
|
|
149
|
+
&:where([touch-action='pan-x']) {
|
|
150
|
+
touch-action: pan-x;
|
|
151
|
+
}
|
|
152
|
+
&:where([touch-action='pan-y']) {
|
|
153
|
+
touch-action: pan-y;
|
|
154
|
+
}
|
|
155
|
+
/* 支持任意取值;不带类型的 attr() 是字符串,对 touch-action 无效 */
|
|
156
|
+
@supports (touch-action: attr(touch-action type(*), none)) {
|
|
157
|
+
&:where([touch-action]) {
|
|
158
|
+
touch-action: attr(touch-action type(*), none);
|
|
159
|
+
}
|
|
141
160
|
}
|
|
142
161
|
}
|
|
143
162
|
`;
|
|
@@ -13,11 +13,11 @@ import {
|
|
|
13
13
|
template,
|
|
14
14
|
} from '../../lib/decorators';
|
|
15
15
|
import { css, GemElement, html } from '../../lib/element';
|
|
16
|
-
import {
|
|
16
|
+
import type { RouteOptions } from '../../lib/history';
|
|
17
|
+
import { basePathStore, createHistoryParams, createPath, history, matchPath } from '../../lib/history';
|
|
17
18
|
import { isServer } from '../../lib/server';
|
|
18
19
|
import { absoluteLocation } from '../../lib/utils';
|
|
19
|
-
import type { RouteItem
|
|
20
|
-
import { createHistoryParams, createPath, matchPath } from './route';
|
|
20
|
+
import type { RouteItem } from './route';
|
|
21
21
|
|
|
22
22
|
function isExternal(path: string) {
|
|
23
23
|
return !path.startsWith('/');
|
|
@@ -1,80 +1,17 @@
|
|
|
1
1
|
import type { Emitter } from '../../lib/decorators';
|
|
2
2
|
import { adoptedStyle, boolattribute, effect, emitter, light, property, shadow, template } from '../../lib/decorators';
|
|
3
3
|
import { createState, css, GemElement, html } from '../../lib/element';
|
|
4
|
-
import type { UpdateHistoryParams } from '../../lib/history';
|
|
5
|
-
import { history, titleStore } from '../../lib/history';
|
|
4
|
+
import type { RouteOptions, UpdateHistoryParams } from '../../lib/history';
|
|
5
|
+
import { createPath, history, matchPath, titleStore } from '../../lib/history';
|
|
6
6
|
import type { TemplateResult } from '../../lib/lit-html';
|
|
7
7
|
import type { Store } from '../../lib/store';
|
|
8
8
|
import { connect, createStore } from '../../lib/store';
|
|
9
9
|
import type { QueryString } from '../../lib/utils';
|
|
10
10
|
import { addListener } from '../../lib/utils';
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
type Matcher = (path: string) => Params | null | undefined;
|
|
14
|
-
|
|
15
|
-
const UNNAMED_PARAM_PREFIX = '_';
|
|
16
|
-
|
|
17
|
-
// 不支持 `URLPattern` 时转换成正则
|
|
18
|
-
// '/test/:a' /^\/test\/(?<a>[^/]+)$/
|
|
19
|
-
// '/test/:a/b' /^\/test\/(?<a>[^/]+)\/b$/
|
|
20
|
-
// '/test/*' /^\/test\/(?<_0>.*)$/
|
|
21
|
-
// '/test/:a/*' /^\/test\/(?<a>[^/]+)\/(?<_0>.*)$/
|
|
22
|
-
// '/test/*/:b' /^\/test\/(?<_0>.*)\/(?<b>[^/]+)$/
|
|
23
|
-
function createRegExpMatcher(pattern: string): Matcher {
|
|
24
|
-
let i = 0;
|
|
25
|
-
const source = pattern.replace(/:[^/$]+|\*/g, (name) =>
|
|
26
|
-
name === '*' ? `(?<${UNNAMED_PARAM_PREFIX}${i++}>.*)` : `(?<${name.slice(1)}>[^/]+)`,
|
|
27
|
-
);
|
|
28
|
-
const reg = new RegExp(`^${source}$`);
|
|
29
|
-
return (path) => {
|
|
30
|
-
const result = path.match(reg);
|
|
31
|
-
if (!result) return null;
|
|
32
|
-
const params: Params = {};
|
|
33
|
-
for (const key in result.groups) {
|
|
34
|
-
params[key.startsWith(UNNAMED_PARAM_PREFIX) ? key.slice(1) : key] = result.groups[key];
|
|
35
|
-
}
|
|
36
|
-
return params;
|
|
37
|
-
};
|
|
38
|
-
}
|
|
12
|
+
export { createHistoryParams, createPath, matchPath, type RouteOptions } from '../../lib/history';
|
|
39
13
|
|
|
40
|
-
|
|
41
|
-
const LITERAL_PREFIX = /^[\w\-./~]*/;
|
|
42
|
-
|
|
43
|
-
// `URLPattern` 的创建和 `exec` 都比较慢,不含参数时直接比较,否则先检查固定的开头
|
|
44
|
-
function createMatcher(pattern: string): Matcher {
|
|
45
|
-
const literal = LITERAL_PREFIX.exec(pattern)![0];
|
|
46
|
-
if (literal === pattern) return (path) => (path === pattern ? {} : null);
|
|
47
|
-
// 根 layout 的 pattern
|
|
48
|
-
if (pattern === '*') return (path) => ({ 0: path });
|
|
49
|
-
if (!globalThis.URLPattern) return createRegExpMatcher(pattern);
|
|
50
|
-
const urlPattern = new URLPattern({ pathname: pattern });
|
|
51
|
-
// 参数前的 `/` 可能是可选的,例如 `/a/:b?` 匹配 `/a`
|
|
52
|
-
const prefix = literal.replace(/\/$/, '');
|
|
53
|
-
return (path) =>
|
|
54
|
-
path.startsWith(prefix) ? (urlPattern.exec({ pathname: path })?.pathname.groups as Params | undefined) : null;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
// pattern 来自路由定义,数量有限
|
|
58
|
-
const matchers = new Map<string, Matcher>();
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
* - 大小写敏感
|
|
62
|
-
* - 匹配成功时返回 params
|
|
63
|
-
* - 以 `/` 结尾时能不带 `/` 结尾的路径
|
|
64
|
-
* - `*` 匹配到的 params 名称为数字
|
|
65
|
-
*
|
|
66
|
-
* @example
|
|
67
|
-
* ```js
|
|
68
|
-
* matchPath(`/a/b/:c/:d`,`/a/b/1/2`);
|
|
69
|
-
* matchPath(`/a/b/:c/:d`,`/a/b/1/2/`);
|
|
70
|
-
* matchPath(`/a/b/*`,`/a/b/1/2/`);
|
|
71
|
-
* ```
|
|
72
|
-
*/
|
|
73
|
-
export function matchPath(pattern: string, path: string) {
|
|
74
|
-
let match = matchers.get(pattern);
|
|
75
|
-
if (!match) matchers.set(pattern, (match = createMatcher(pattern)));
|
|
76
|
-
return match(path) || match(`${path}/`) || null;
|
|
77
|
-
}
|
|
14
|
+
type Params = Record<string, string>;
|
|
78
15
|
|
|
79
16
|
export interface RouteItem<T = unknown> {
|
|
80
17
|
// 支持 *
|
|
@@ -96,35 +33,6 @@ export interface RouteItem<T = unknown> {
|
|
|
96
33
|
|
|
97
34
|
export type RoutesObject<T = unknown> = Record<string, RouteItem<T>>;
|
|
98
35
|
|
|
99
|
-
// params 中的成员不会验证
|
|
100
|
-
export interface RouteOptions extends Omit<UpdateHistoryParams, 'path'> {
|
|
101
|
-
params?: Params;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
// 从路由创建路径
|
|
105
|
-
// 不包含 basePath
|
|
106
|
-
export function createPath(route: RouteItem, options?: RouteOptions) {
|
|
107
|
-
// /a/* /a/:0
|
|
108
|
-
// /a/*/:b/* /a/:0/:b/:1
|
|
109
|
-
let i = 0;
|
|
110
|
-
let path = route.pattern.replaceAll('*', () => `:${i++}`);
|
|
111
|
-
const params = options?.params;
|
|
112
|
-
if (params) {
|
|
113
|
-
Object.keys(params).forEach((key) => {
|
|
114
|
-
path = path.replace(new RegExp(`:${key}`, 'g'), params[key]);
|
|
115
|
-
});
|
|
116
|
-
}
|
|
117
|
-
return path;
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
export function createHistoryParams(route: RouteItem, options?: RouteOptions): UpdateHistoryParams {
|
|
121
|
-
const path = createPath(route, options);
|
|
122
|
-
return {
|
|
123
|
-
path,
|
|
124
|
-
...options,
|
|
125
|
-
};
|
|
126
|
-
}
|
|
127
|
-
|
|
128
36
|
const INIT_CONTENT = html``;
|
|
129
37
|
|
|
130
38
|
type State = {
|
package/src/lib/element.ts
CHANGED
|
@@ -1,31 +1,30 @@
|
|
|
1
|
-
import * as decoratorsExports from './decorators';
|
|
2
1
|
import { html, render } from './lit-html';
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
import * as storeExports from './store';
|
|
6
|
-
import * as versionExports from './version';
|
|
2
|
+
import { createState, css, GemElement, setEngine } from './reactive';
|
|
3
|
+
import { version } from './version';
|
|
7
4
|
|
|
5
|
+
// 副作用,在 package.json 的 `sideEffects` 中声明;
|
|
6
|
+
// 同时声明 `index.js`,否则 esbuild 从入口直接解析到 reactive 的导出时会跳过这个模块
|
|
8
7
|
setEngine(html, render);
|
|
9
8
|
|
|
10
9
|
export * from './decorators';
|
|
11
10
|
export { directive } from './directive';
|
|
11
|
+
export { keyed } from './keyed';
|
|
12
12
|
export { createRef, mathml, svg, TemplateResult } from './lit-html';
|
|
13
13
|
export * from './reactive';
|
|
14
14
|
export { repeat } from './repeat';
|
|
15
15
|
|
|
16
|
+
// 只提供 devtools 使用的成员,引用整个模块会导致没用到的导出不能被树抖
|
|
17
|
+
const hookExports = { GemElement, setEngine, html, render, css, createState, version };
|
|
18
|
+
|
|
19
|
+
type HookExports = typeof hookExports;
|
|
20
|
+
|
|
16
21
|
declare global {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
| undefined;
|
|
22
|
+
/** devtools 注入的钩子,其他包可以扩展,例如 gem-ssr */
|
|
23
|
+
interface GemDevToolsHook extends HookExports {}
|
|
24
|
+
var __GEM_DEVTOOLS__HOOK__: GemDevToolsHook | Record<string, never> | undefined;
|
|
21
25
|
}
|
|
22
26
|
|
|
23
27
|
// 只记录第一次定义,往往是最外层 App
|
|
24
28
|
if (globalThis.__GEM_DEVTOOLS__HOOK__ && !globalThis.__GEM_DEVTOOLS__HOOK__.GemElement) {
|
|
25
|
-
Object.assign(globalThis.__GEM_DEVTOOLS__HOOK__,
|
|
26
|
-
...reactiveExports,
|
|
27
|
-
...decoratorsExports,
|
|
28
|
-
...storeExports,
|
|
29
|
-
...versionExports,
|
|
30
|
-
});
|
|
29
|
+
Object.assign(globalThis.__GEM_DEVTOOLS__HOOK__, hookExports);
|
|
31
30
|
}
|
package/src/lib/history.ts
CHANGED
|
@@ -309,3 +309,99 @@ if (!globalThis._GEMHISTORY) {
|
|
|
309
309
|
const { history, titleStore, basePathStore } = globalThis._GEMHISTORY;
|
|
310
310
|
|
|
311
311
|
export { basePathStore, history, titleStore };
|
|
312
|
+
|
|
313
|
+
type Params = Record<string, string>;
|
|
314
|
+
type Matcher = (path: string) => Params | null | undefined;
|
|
315
|
+
|
|
316
|
+
const UNNAMED_PARAM_PREFIX = '_';
|
|
317
|
+
|
|
318
|
+
// 不支持 `URLPattern` 时转换成正则
|
|
319
|
+
// '/test/:a' /^\/test\/(?<a>[^/]+)$/
|
|
320
|
+
// '/test/:a/b' /^\/test\/(?<a>[^/]+)\/b$/
|
|
321
|
+
// '/test/*' /^\/test\/(?<_0>.*)$/
|
|
322
|
+
// '/test/:a/*' /^\/test\/(?<a>[^/]+)\/(?<_0>.*)$/
|
|
323
|
+
// '/test/*/:b' /^\/test\/(?<_0>.*)\/(?<b>[^/]+)$/
|
|
324
|
+
function createRegExpMatcher(pattern: string): Matcher {
|
|
325
|
+
let i = 0;
|
|
326
|
+
const source = pattern.replace(/:[^/$]+|\*/g, (name) =>
|
|
327
|
+
name === '*' ? `(?<${UNNAMED_PARAM_PREFIX}${i++}>.*)` : `(?<${name.slice(1)}>[^/]+)`,
|
|
328
|
+
);
|
|
329
|
+
const reg = new RegExp(`^${source}$`);
|
|
330
|
+
return (path) => {
|
|
331
|
+
const result = path.match(reg);
|
|
332
|
+
if (!result) return null;
|
|
333
|
+
const params: Params = {};
|
|
334
|
+
for (const key in result.groups) {
|
|
335
|
+
params[key.startsWith(UNNAMED_PARAM_PREFIX) ? key.slice(1) : key] = result.groups[key];
|
|
336
|
+
}
|
|
337
|
+
return params;
|
|
338
|
+
};
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
// pattern 开头不含参数和特殊字符的部分
|
|
342
|
+
const LITERAL_PREFIX = /^[\w\-./~]*/;
|
|
343
|
+
|
|
344
|
+
// `URLPattern` 的创建和 `exec` 都比较慢,不含参数时直接比较,否则先检查固定的开头
|
|
345
|
+
function createMatcher(pattern: string): Matcher {
|
|
346
|
+
const literal = LITERAL_PREFIX.exec(pattern)![0];
|
|
347
|
+
if (literal === pattern) return (path) => (path === pattern ? {} : null);
|
|
348
|
+
// 根 layout 的 pattern
|
|
349
|
+
if (pattern === '*') return (path) => ({ 0: path });
|
|
350
|
+
if (!globalThis.URLPattern) return createRegExpMatcher(pattern);
|
|
351
|
+
const urlPattern = new URLPattern({ pathname: pattern });
|
|
352
|
+
// 参数前的 `/` 可能是可选的,例如 `/a/:b?` 匹配 `/a`
|
|
353
|
+
const prefix = literal.replace(/\/$/, '');
|
|
354
|
+
return (path) =>
|
|
355
|
+
path.startsWith(prefix) ? (urlPattern.exec({ pathname: path })?.pathname.groups as Params | undefined) : null;
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
// pattern 来自路由定义,数量有限
|
|
359
|
+
const matchers = new Map<string, Matcher>();
|
|
360
|
+
|
|
361
|
+
/**
|
|
362
|
+
* - 大小写敏感
|
|
363
|
+
* - 匹配成功时返回 params
|
|
364
|
+
* - 以 `/` 结尾时能不带 `/` 结尾的路径
|
|
365
|
+
* - `*` 匹配到的 params 名称为数字
|
|
366
|
+
*
|
|
367
|
+
* @example
|
|
368
|
+
* ```js
|
|
369
|
+
* matchPath(`/a/b/:c/:d`,`/a/b/1/2`);
|
|
370
|
+
* matchPath(`/a/b/:c/:d`,`/a/b/1/2/`);
|
|
371
|
+
* matchPath(`/a/b/*`,`/a/b/1/2/`);
|
|
372
|
+
* ```
|
|
373
|
+
*/
|
|
374
|
+
export function matchPath(pattern: string, path: string) {
|
|
375
|
+
let match = matchers.get(pattern);
|
|
376
|
+
if (!match) matchers.set(pattern, (match = createMatcher(pattern)));
|
|
377
|
+
return match(path) || match(`${path}/`) || null;
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
// params 中的成员不会验证
|
|
381
|
+
export interface RouteOptions extends Omit<UpdateHistoryParams, 'path'> {
|
|
382
|
+
params?: Record<string, string>;
|
|
383
|
+
}
|
|
384
|
+
|
|
385
|
+
// 从路由创建路径
|
|
386
|
+
// 不包含 basePath
|
|
387
|
+
export function createPath(route: { pattern: string }, options?: RouteOptions) {
|
|
388
|
+
// /a/* /a/:0
|
|
389
|
+
// /a/*/:b/* /a/:0/:b/:1
|
|
390
|
+
let i = 0;
|
|
391
|
+
let path = route.pattern.replaceAll('*', () => `:${i++}`);
|
|
392
|
+
const params = options?.params;
|
|
393
|
+
if (params) {
|
|
394
|
+
Object.keys(params).forEach((key) => {
|
|
395
|
+
path = path.replace(new RegExp(`:${key}`, 'g'), params[key]);
|
|
396
|
+
});
|
|
397
|
+
}
|
|
398
|
+
return path;
|
|
399
|
+
}
|
|
400
|
+
|
|
401
|
+
export function createHistoryParams(route: { pattern: string }, options?: RouteOptions): UpdateHistoryParams {
|
|
402
|
+
const path = createPath(route, options);
|
|
403
|
+
return {
|
|
404
|
+
path,
|
|
405
|
+
...options,
|
|
406
|
+
};
|
|
407
|
+
}
|
package/src/lib/keyed.ts
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Directive, directive } from './directive';
|
|
2
|
+
import type { ChildPart } from './lit-html';
|
|
3
|
+
import { setCommittedValue } from './repeat';
|
|
4
|
+
|
|
5
|
+
const INITIAL = Symbol();
|
|
6
|
+
|
|
7
|
+
class KeyedDirective extends Directive {
|
|
8
|
+
#key: unknown = INITIAL;
|
|
9
|
+
|
|
10
|
+
render(_key: unknown, value: unknown) {
|
|
11
|
+
return value;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
// 第一次渲染时不清除,水合时复用 SSR 的内容
|
|
15
|
+
update(part: ChildPart, [key, value]: [unknown, unknown]) {
|
|
16
|
+
if (this.#key !== INITIAL && key !== this.#key) setCommittedValue(part);
|
|
17
|
+
this.#key = key;
|
|
18
|
+
return value;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* `key` 改变时丢弃原来的 DOM,重新创建内容,即使模板相同,例如页面参数改变时重新创建页面元素
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```ts
|
|
27
|
+
* html`${keyed(this.id, html`<my-editor .id=${this.id}></my-editor>`)}`;
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
export const keyed = /*#__PURE__*/ directive(KeyedDirective) as (key: unknown, value: unknown) => unknown;
|
package/src/lib/lit-html.ts
CHANGED
|
@@ -167,9 +167,9 @@ const tag =
|
|
|
167
167
|
return new TemplateResult(type, strings, values);
|
|
168
168
|
};
|
|
169
169
|
|
|
170
|
-
export const html = tag(HTML_RESULT);
|
|
171
|
-
export const svg = tag(SVG_RESULT);
|
|
172
|
-
export const mathml = tag(MATHML_RESULT);
|
|
170
|
+
export const html = /*#__PURE__*/ tag(HTML_RESULT);
|
|
171
|
+
export const svg = /*#__PURE__*/ tag(SVG_RESULT);
|
|
172
|
+
export const mathml = /*#__PURE__*/ tag(MATHML_RESULT);
|
|
173
173
|
|
|
174
174
|
// for directive
|
|
175
175
|
export const noChange = Symbol.for('lit-noChange');
|
package/src/lib/repeat.ts
CHANGED
|
@@ -571,7 +571,7 @@ export interface RepeatDirectiveFn {
|
|
|
571
571
|
* If no `keyFn` is provided, this directive will perform similar to mapping
|
|
572
572
|
* items to values, and DOM will be reused against potentially different items.
|
|
573
573
|
*/
|
|
574
|
-
export const repeat = directive(RepeatDirective) as RepeatDirectiveFn;
|
|
574
|
+
export const repeat = /*#__PURE__*/ directive(RepeatDirective) as RepeatDirectiveFn;
|
|
575
575
|
|
|
576
576
|
/**
|
|
577
577
|
* The type of the class that powers this directive. Necessary for naming the
|
package/src/lib/version.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const version = '2.3.
|
|
1
|
+
export const version = '2.3.3';
|