@mantou/gem 2.1.1 → 2.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.
Files changed (151) hide show
  1. package/dist/gem.es.js +2082 -2153
  2. package/dist/gem.umd.js +25 -199
  3. package/elements/base/dialog.d.ts +1 -5
  4. package/elements/base/dialog.d.ts.map +1 -1
  5. package/elements/base/dialog.js +2 -6
  6. package/elements/base/dialog.js.map +1 -1
  7. package/elements/base/gesture.d.ts +6 -15
  8. package/elements/base/gesture.d.ts.map +1 -1
  9. package/elements/base/gesture.js +38 -34
  10. package/elements/base/gesture.js.map +1 -1
  11. package/elements/base/link.d.ts +1 -17
  12. package/elements/base/link.d.ts.map +1 -1
  13. package/elements/base/link.js +12 -37
  14. package/elements/base/link.js.map +1 -1
  15. package/elements/base/modal-factory.d.ts +48 -38
  16. package/elements/base/modal-factory.d.ts.map +1 -1
  17. package/elements/base/modal-factory.js +14 -14
  18. package/elements/base/modal-factory.js.map +1 -1
  19. package/elements/base/reflect.d.ts +1 -5
  20. package/elements/base/reflect.d.ts.map +1 -1
  21. package/elements/base/reflect.js +8 -13
  22. package/elements/base/reflect.js.map +1 -1
  23. package/elements/base/route.d.ts +17 -17
  24. package/elements/base/route.d.ts.map +1 -1
  25. package/elements/base/route.js +15 -27
  26. package/elements/base/route.js.map +1 -1
  27. package/elements/base/title.d.ts +1 -6
  28. package/elements/base/title.d.ts.map +1 -1
  29. package/elements/base/title.js +3 -8
  30. package/elements/base/title.js.map +1 -1
  31. package/elements/base/unsafe.d.ts +1 -6
  32. package/elements/base/unsafe.d.ts.map +1 -1
  33. package/elements/base/unsafe.js +3 -9
  34. package/elements/base/unsafe.js.map +1 -1
  35. package/elements/base/use.d.ts +1 -4
  36. package/elements/base/use.d.ts.map +1 -1
  37. package/elements/base/use.js +4 -11
  38. package/elements/base/use.js.map +1 -1
  39. package/elements/link.js +1 -1
  40. package/elements/link.js.map +1 -1
  41. package/elements/route.js +1 -1
  42. package/elements/route.js.map +1 -1
  43. package/helper/hmr.d.ts +11 -0
  44. package/helper/hmr.d.ts.map +1 -0
  45. package/helper/hmr.js +255 -0
  46. package/helper/hmr.js.map +1 -0
  47. package/helper/i18n.d.ts +2 -2
  48. package/helper/i18n.d.ts.map +1 -1
  49. package/helper/i18n.js +5 -4
  50. package/helper/i18n.js.map +1 -1
  51. package/helper/logger.d.ts +1 -1
  52. package/helper/logger.d.ts.map +1 -1
  53. package/helper/logger.js +8 -5
  54. package/helper/logger.js.map +1 -1
  55. package/helper/mediaquery.js +1 -1
  56. package/helper/mediaquery.js.map +1 -1
  57. package/helper/ssr-shim.d.ts.map +1 -1
  58. package/helper/ssr-shim.js +2 -0
  59. package/helper/ssr-shim.js.map +1 -1
  60. package/helper/theme.d.ts +4 -5
  61. package/helper/theme.d.ts.map +1 -1
  62. package/helper/theme.js +3 -3
  63. package/helper/theme.js.map +1 -1
  64. package/index.d.ts +1 -3
  65. package/index.d.ts.map +1 -1
  66. package/index.js +1 -4
  67. package/index.js.map +1 -1
  68. package/lib/decorators.d.ts +9 -16
  69. package/lib/decorators.d.ts.map +1 -1
  70. package/lib/decorators.js +84 -71
  71. package/lib/decorators.js.map +1 -1
  72. package/lib/directive.d.ts +65 -0
  73. package/lib/directive.d.ts.map +1 -0
  74. package/lib/directive.js +58 -0
  75. package/lib/directive.js.map +1 -0
  76. package/lib/element.d.ts +10 -153
  77. package/lib/element.d.ts.map +1 -1
  78. package/lib/element.js +19 -480
  79. package/lib/element.js.map +1 -1
  80. package/lib/history.d.ts +67 -9
  81. package/lib/history.d.ts.map +1 -1
  82. package/lib/history.js +12 -12
  83. package/lib/history.js.map +1 -1
  84. package/lib/lit-html.d.ts +232 -0
  85. package/lib/lit-html.d.ts.map +1 -0
  86. package/lib/lit-html.js +987 -0
  87. package/lib/lit-html.js.map +1 -0
  88. package/lib/reactive.d.ts +123 -0
  89. package/lib/reactive.d.ts.map +1 -0
  90. package/lib/reactive.js +478 -0
  91. package/lib/reactive.js.map +1 -0
  92. package/lib/repeat.d.ts +126 -0
  93. package/lib/repeat.d.ts.map +1 -0
  94. package/lib/repeat.js +533 -0
  95. package/lib/repeat.js.map +1 -0
  96. package/lib/store.d.ts +13 -2
  97. package/lib/store.d.ts.map +1 -1
  98. package/lib/store.js +5 -4
  99. package/lib/store.js.map +1 -1
  100. package/lib/utils.d.ts +24 -15
  101. package/lib/utils.d.ts.map +1 -1
  102. package/lib/utils.js +25 -30
  103. package/lib/utils.js.map +1 -1
  104. package/lib/version.d.ts +1 -1
  105. package/lib/version.js +1 -1
  106. package/package.json +8 -9
  107. package/src/dist.ts +6 -8
  108. package/src/elements/base/dialog.ts +2 -6
  109. package/src/elements/base/gesture.ts +35 -36
  110. package/src/elements/base/link.ts +20 -46
  111. package/src/elements/base/modal-factory.ts +14 -14
  112. package/src/elements/base/reflect.ts +2 -6
  113. package/src/elements/base/route.ts +22 -33
  114. package/src/elements/base/title.ts +4 -9
  115. package/src/elements/base/unsafe.ts +4 -9
  116. package/src/elements/base/use.ts +4 -11
  117. package/src/elements/link.ts +1 -1
  118. package/src/elements/route.ts +1 -1
  119. package/src/helper/hmr.ts +305 -0
  120. package/src/helper/i18n.ts +7 -7
  121. package/src/helper/logger.ts +9 -5
  122. package/src/helper/mediaquery.ts +1 -1
  123. package/src/helper/ssr-shim.ts +3 -0
  124. package/src/helper/theme.ts +6 -6
  125. package/src/index.ts +1 -5
  126. package/src/lib/decorators.ts +101 -100
  127. package/src/lib/directive.ts +137 -0
  128. package/src/lib/element.ts +26 -614
  129. package/src/lib/history.ts +14 -15
  130. package/src/lib/lit-html.ts +1269 -0
  131. package/src/lib/reactive.ts +596 -0
  132. package/src/lib/repeat.ts +580 -0
  133. package/src/lib/store.ts +5 -4
  134. package/src/lib/utils.ts +40 -46
  135. package/src/lib/version.ts +1 -1
  136. package/src/test/elements/link.test.ts +2 -3
  137. package/src/test/elements/reflect.test.ts +13 -3
  138. package/src/test/elements/title.test.ts +2 -3
  139. package/src/test/gem-element/advance.test.ts +22 -14
  140. package/src/test/gem-element/basic.test.ts +23 -11
  141. package/src/test/gem-element/decorators.test.ts +14 -17
  142. package/src/test/gem-element/multi.test.ts +20 -11
  143. package/src/test/history.test.ts +1 -2
  144. package/src/test/store.test.ts +3 -4
  145. package/src/test/utils.test.ts +12 -14
  146. package/src/test/utils.ts +22 -0
  147. package/lib/directives.d.ts +0 -4
  148. package/lib/directives.d.ts.map +0 -1
  149. package/lib/directives.js +0 -5
  150. package/lib/directives.js.map +0 -1
  151. package/src/lib/directives.ts +0 -6
package/helper/theme.d.ts CHANGED
@@ -1,16 +1,15 @@
1
+ import type { GemElement, Sheet } from '../lib/reactive';
1
2
  import type { Store } from '../lib/store';
2
3
  import { createUpdater } from '../lib/utils';
3
- import type { GemElement } from '../lib/element';
4
- import { createCSSSheet } from '../lib/element';
5
- export type Theme<T> = ReturnType<typeof createUpdater<T>> & ReturnType<typeof createCSSSheet> & {
6
- [K in keyof T as K extends `${string}Color` ? `${string & K}${'' | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900}` : K]: T[K];
4
+ export type Theme<T> = ReturnType<typeof createUpdater<T>> & Sheet<unknown> & {
5
+ [K in keyof T as K extends `${string}Color` ? `${string & K}${'' | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900}` : K]: string;
7
6
  };
8
7
  /**获取主题原始值 */
9
8
  export declare function getThemeStore<T>(theme: Theme<T>): Store<T>;
10
9
  /**获取 css 变量名 */
11
10
  export declare function getThemeProps<T>(theme: Theme<T>): Theme<T>;
12
11
  /**
13
- * 用于 `@adoptedStyle(theme)`,类似 `createCSSSheet`
12
+ * 用于 `@adoptedStyle(theme)`,类似 `css`
14
13
  */
15
14
  export declare function createScopedTheme<T extends Record<string, unknown>>(themeObj: T): Theme<T>;
16
15
  /** 全局主题 */
@@ -1 +1 @@
1
- {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../src/helper/theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAoB,aAAa,EAAa,MAAM,cAAc,CAAC;AAC1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAc,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAE5D,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,GACxD,UAAU,CAAC,OAAO,cAAc,CAAC,GAAG;KACjC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,MAAM,OAAO,GACvC,GAAG,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAC1E,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACb,CAAC;AAKJ,aAAa;AACb,wBAAgB,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GACX,KAAK,CAAC,CAAC,CAAC,CAC5C;AAED,gBAAgB;AAChB,wBAAgB,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GACX,KAAK,CAAC,CAAC,CAAC,CAC5C;AAwCD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC,YAE/E;AAED,WAAW;AACX,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC,YAIzE;AAED,eAAe;AACf,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,qBAE3G;AAED,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC,GAcpC,UAAU,CAAC,OAAO,aAAa,YAVzE,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,MAAM,CAAC,EAAE,CAAC,+BAChC,CAAC,SAAS,SAAS,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,SAAS,SAEhE,GAAG,8BAA8B,0BAA0B,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,2BAA2B,CAAC,CAAC,EAAE,CAAC,CAAC,UAOI,CAAC,CACjH"}
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../src/helper/theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAEzD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAoB,aAAa,EAAa,MAAM,cAAc,CAAC;AAE1E,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,GACxD,KAAK,CAAC,OAAO,CAAC,GAAG;KACd,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,MAAM,OAAO,GACvC,GAAG,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAC1E,CAAC,GAAG,MAAM;CACf,CAAC;AAKJ,aAAa;AACb,wBAAgB,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GACX,KAAK,CAAC,CAAC,CAAC,CAC5C;AAED,gBAAgB;AAChB,wBAAgB,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GACX,KAAK,CAAC,CAAC,CAAC,CAC5C;AAwCD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC,YAE/E;AAED,WAAW;AACX,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC,YAIzE;AAED,eAAe;AACf,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,qBAE3G;AAED,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC,GAcpC,UAAU,CAAC,OAAO,aAAa,YAVzE,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,MAAM,CAAC,EAAE,CAAC,+BAChC,CAAC,SAAS,SAAS,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,SAAS,SAEhE,GAAG,8BAA8B,0BAA0B,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,2BAA2B,CAAC,CAAC,EAAE,CAAC,CAAC,UAOI,CAAC,CACjH"}
package/helper/theme.js CHANGED
@@ -1,6 +1,6 @@
1
+ import { css, SheetToken } from '../lib/reactive';
1
2
  import { connect, createStore } from '../lib/store';
2
3
  import { camelToKebabCase, createUpdater, randomStr } from '../lib/utils';
3
- import { SheetToken, createCSSSheet } from '../lib/element';
4
4
  const themeStoreMap = new WeakMap();
5
5
  const themePropsMap = new WeakMap();
6
6
  /**获取主题原始值 */
@@ -13,7 +13,7 @@ export function getThemeProps(theme) {
13
13
  }
14
14
  function createThemeFromProps(themeObj, props = {}) {
15
15
  const salt = randomStr();
16
- const styleSheet = createCSSSheet({})[SheetToken];
16
+ const styleSheet = css({})[SheetToken];
17
17
  const store = createStore(themeObj);
18
18
  const theme = new Proxy(createUpdater({ [SheetToken]: styleSheet }, (payload) => store(payload)), {
19
19
  get(target, key) {
@@ -46,7 +46,7 @@ function createThemeFromProps(themeObj, props = {}) {
46
46
  return theme;
47
47
  }
48
48
  /**
49
- * 用于 `@adoptedStyle(theme)`,类似 `createCSSSheet`
49
+ * 用于 `@adoptedStyle(theme)`,类似 `css`
50
50
  */
51
51
  export function createScopedTheme(themeObj) {
52
52
  return createThemeFromProps(themeObj);
@@ -1 +1 @@
1
- {"version":3,"file":"theme.js","sourceRoot":"","sources":["../src/helper/theme.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../src/helper/theme.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAS1E,MAAM,aAAa,GAAG,IAAI,OAAO,EAAE,CAAC;AACpC,MAAM,aAAa,GAAG,IAAI,OAAO,EAAE,CAAC;AAEpC,aAAa;AACb,MAAM,UAAU,aAAa,CAAI,KAAe;IAC9C,OAAO,aAAa,CAAC,GAAG,CAAC,KAAK,CAAa,CAAC;AAC9C,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,aAAa,CAAI,KAAe;IAC9C,OAAO,aAAa,CAAC,GAAG,CAAC,KAAK,CAAa,CAAC;AAC9C,CAAC;AAED,SAAS,oBAAoB,CAAoC,QAAW,EAAE,QAAgC,EAAE;IAC9G,MAAM,IAAI,GAAG,SAAS,EAAE,CAAC;IACzB,MAAM,UAAU,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,WAAW,CAAI,QAAQ,CAAC,CAAC;IACvC,MAAM,KAAK,GAAQ,IAAI,KAAK,CAC1B,aAAa,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,OAAmB,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EACpF;QACE,GAAG,CAAC,MAAW,EAAE,GAAW;YAC1B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;gBACjB,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;gBACjE,IAAI,MAAM;oBAAE,MAAM,CAAC,GAAG,CAAC,GAAG,cAAc,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,QAAQ,CAAC;YAC3G,CAAC;YACD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;KACF,CACF,CAAC;IACF,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAChC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAEhC,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACjC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChB,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,gBAAgB,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;gBAClD,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;YACpC,CAAC;YACD,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;QAC1C,CAAC,CAAC,CAAC;QACH,UAAU,CAAC,UAAU,CAAC,gBAAgB,KAAK,GAAG,CAAC,CAAC;IAClD,CAAC,CAAC;IACF,aAAa,EAAE,CAAC;IAChB,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE;QAClB,aAAa,EAAE,CAAC;QAChB,UAAU,CAAC,WAAW,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAC;IACH,OAAO,KAAiB,CAAC;AAC3B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAoC,QAAW;IAC9E,OAAO,oBAAoB,CAAC,QAAQ,CAAC,CAAC;AACxC,CAAC;AAED,WAAW;AACX,MAAM,UAAU,WAAW,CAAoC,QAAW;IACxE,MAAM,MAAM,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAC3C,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IAChE,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,eAAe;AACf,MAAM,UAAU,mBAAmB,CAAoC,KAAe,EAAE,QAAoB;IAC1G,OAAO,oBAAoB,CAAC,QAAQ,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAoC,QAAW;IACjF,MAAM,WAAW,GAAG,oBAAoB,CAAI,QAAQ,CAAC,CAAC;IACtD,MAAM,KAAK,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IACzC,MAAM,MAAM,GACV,CACE,MAAkE,EAClE,EAAE,CACJ,CAAC,CAAM,EAAE,EAAE,cAAc,EAAE,MAAM,EAAwE,EAAE,EAAE;QAC3G,cAAc,CAAC;YACb,MAAM,KAAK,GAAG,oBAAoB,CAAC,EAAE,GAAG,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC;YAC3D,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7D,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAQ,CAAC,CAAC,CAAC;QAC9F,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IACJ,OAAO,aAAa,CAAC,WAAW,EAAE,MAAM,CAAwE,CAAC;AACnH,CAAC"}
package/index.d.ts CHANGED
@@ -1,8 +1,6 @@
1
- export * from './lib/decorators';
2
1
  export * from './lib/element';
2
+ export * from './lib/history';
3
3
  export * from './lib/store';
4
4
  export * from './lib/utils';
5
5
  export * from './lib/version';
6
- export * from './lib/history';
7
- export * from './lib/directives';
8
6
  //# sourceMappingURL=index.d.ts.map
package/index.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAG9B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC"}
package/index.js CHANGED
@@ -1,9 +1,6 @@
1
- export * from './lib/decorators';
2
1
  export * from './lib/element';
2
+ export * from './lib/history';
3
3
  export * from './lib/store';
4
4
  export * from './lib/utils';
5
5
  export * from './lib/version';
6
- // 使用路径时可选模块
7
- export * from './lib/history';
8
- export * from './lib/directives';
9
6
  //# sourceMappingURL=index.js.map
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAE9B,YAAY;AACZ,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC"}
@@ -1,10 +1,7 @@
1
- import type { createCSSSheet, Metadata, TemplateResult } from './element';
2
- import { GemElement } from './element';
1
+ import type { TemplateResult } from './lit-html';
2
+ import type { Metadata, Sheet } from './reactive';
3
+ import { GemElement } from './reactive';
3
4
  import type { Store } from './store';
4
- import * as elementExports from './element';
5
- import * as decoratorsExports from './decorators';
6
- import * as storeExports from './store';
7
- import * as versionExports from './version';
8
5
  /**
9
6
  * 定义一个响应式的 attribute,驼峰字段名将自动映射到烤串 attribute,默认值为空字符串;不要覆盖定义
10
7
  *
@@ -44,14 +41,15 @@ export declare function property<T extends GemElement>(_: undefined, context: Cl
44
41
  */
45
42
  export declare function memo<T extends GemElement, V = any, K = any[] | undefined>(getDep?: K extends readonly any[] ? (instance: T) => K : undefined): (_: any, context: ClassGetterDecoratorContext<T, V> | ClassFieldDecoratorContext<T> | ClassMethodDecoratorContext<T>) => void;
46
43
  /**
47
- * 依赖 `GemElement.effect`
48
- * 方法执行在字段前面
44
+ * - 依赖 `GemElement.effect`
45
+ * - 方法执行在字段前面
46
+ * - 如果没有 oldValue,在为首次执行
49
47
  *
50
48
  * For example
51
49
  * ```ts
52
50
  * class App extends GemElement {
53
51
  * @effect(() => [])
54
- * #fetchData() {
52
+ * #fetchData(newValue, oldValue) {
55
53
  * console.log('fetch')
56
54
  * }
57
55
  * }
@@ -105,7 +103,7 @@ export declare function slot(_: undefined, context: ClassFieldDecoratorContext<a
105
103
  * ```
106
104
  */
107
105
  export declare function part(_: undefined, context: ClassFieldDecoratorContext<any, string>): (this: any, value: string) => string;
108
- export type Emitter<T = any> = (detail?: T, options?: Omit<CustomEventInit<unknown>, 'detail'>) => void;
106
+ export type Emitter<T = any> = ((detail?: T, options?: Omit<CustomEventInit<unknown>, 'detail'>) => Promise<void> | void) & {};
109
107
  /**
110
108
  * 定义一个事件发射器,类似 `HTMLElement.click`,
111
109
  * 调用时将同步发送一个和字段名称的烤串式格式的自定义事件
@@ -128,7 +126,7 @@ export declare function globalemitter<T extends GemElement>(_: undefined, contex
128
126
  * class App extends GemElement {}
129
127
  * ```
130
128
  */
131
- export declare function adoptedStyle(sheet: ReturnType<typeof createCSSSheet>): (_: unknown, context: ClassDecoratorContext) => void;
129
+ export declare function adoptedStyle(sheet: Sheet<unknown>): (_: unknown, context: ClassDecoratorContext) => void;
132
130
  /**
133
131
  * 链接一个 store,当 store 更新时更新元素
134
132
  *
@@ -160,9 +158,4 @@ export declare function aria(info: Metadata['aria']): (_: any, context: ClassDec
160
158
  * ```
161
159
  */
162
160
  export declare function customElement(name: string): (cls: new (...args: any) => any, { addInitializer }: ClassDecoratorContext) => void;
163
- declare global {
164
- interface Window {
165
- __GEM_DEVTOOLS__HOOK__?: (typeof elementExports & typeof decoratorsExports & typeof storeExports & typeof versionExports) | Record<string, never>;
166
- }
167
- }
168
161
  //# sourceMappingURL=decorators.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../src/lib/decorators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../src/lib/decorators.ts"],"names":[],"mappings":"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"}
package/lib/decorators.js CHANGED
@@ -1,26 +1,21 @@
1
- import { GemElement, UpdateToken, _createTemplate, _RenderErrorEvent, render } from './element';
2
- import { camelToKebabCase, PropProxyMap, GemError } from './utils';
3
- import * as elementExports from './element';
4
- import * as decoratorsExports from './decorators';
5
- import * as storeExports from './store';
6
- import * as versionExports from './version';
1
+ import { _createTemplate, _RenderErrorEvent, GemElement, render, UpdateToken } from './reactive';
2
+ import { camelToKebabCase, GemError, PropProxyMap } from './utils';
7
3
  const { deleteProperty, getOwnPropertyDescriptor, defineProperty } = Reflect;
8
- const { getPrototypeOf, assign } = Object;
4
+ const { getPrototypeOf, assign, hasOwn } = Object;
9
5
  const gemElementProxyMap = new PropProxyMap();
10
6
  function pushStaticField(context, field, member) {
11
7
  const metadata = context.metadata;
12
8
  if (!getOwnPropertyDescriptor(metadata, field)) {
13
9
  // 继承基类
14
- const current = new Set(metadata[field]);
15
- current.delete(member);
16
10
  defineProperty(metadata, field, {
17
- value: [...current],
11
+ value: metadata[field]?.filter((e) => e !== member) || [],
18
12
  });
19
13
  }
20
14
  metadata[field].push(member);
21
15
  }
22
16
  function clearField(instance, prop) {
23
- const { value } = getOwnPropertyDescriptor(instance, prop);
17
+ // hmr 支持不存在属性
18
+ const { value } = getOwnPropertyDescriptor(instance, prop) || {};
24
19
  deleteProperty(instance, prop);
25
20
  instance[prop] = value;
26
21
  }
@@ -29,20 +24,21 @@ const observedTargetAttributes = new WeakMap();
29
24
  // 不在 Devtools 中工作 https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Content_scripts#dom_access
30
25
  // 使用 Gem DevTools 注入脚本监听 attribute 变化
31
26
  const { setAttribute, toggleAttribute, removeAttribute } = Element.prototype;
27
+ const getObservedPropName = (i, n) => observedTargetAttributes.get(getPrototypeOf(i))?.get(n);
32
28
  GemElement.prototype.setAttribute = function (n, v) {
33
- const prop = observedTargetAttributes.get(getPrototypeOf(this))?.get(n);
29
+ const prop = getObservedPropName(this, n);
34
30
  if (!prop)
35
31
  return setAttribute.call(this, n, v);
36
32
  this[prop] = v;
37
33
  };
38
34
  GemElement.prototype.removeAttribute = function (n) {
39
- const prop = observedTargetAttributes.get(getPrototypeOf(this))?.get(n);
35
+ const prop = getObservedPropName(this, n);
40
36
  if (!prop)
41
37
  return removeAttribute.call(this, n);
42
38
  this[prop] = null;
43
39
  };
44
40
  GemElement.prototype.toggleAttribute = function (n, force) {
45
- const prop = observedTargetAttributes.get(getPrototypeOf(this))?.get(n);
41
+ const prop = getObservedPropName(this, n);
46
42
  if (!prop)
47
43
  return toggleAttribute.call(this, n, force);
48
44
  return (this[prop] = force ?? !this.hasAttribute(n));
@@ -79,10 +75,13 @@ function defineProp(target, prop, { attr, attrType, event, eventOptions } = {})
79
75
  if (event) {
80
76
  proxy[prop] = v?.[isEventHandleSymbol]
81
77
  ? v
82
- : (detail, options) => {
78
+ : async (detail, options) => {
79
+ // 事件如果同步触发,则祖先元素可能还没有挂载好,其中就不能更新 state
80
+ // https://github.com/mantou132/gem/issues/203
81
+ await Promise.resolve();
83
82
  const evt = new CustomEvent(event, { ...options, ...eventOptions, detail });
84
83
  that.dispatchEvent(evt);
85
- v(detail, options);
84
+ await v(detail, options);
86
85
  };
87
86
  proxy[prop][isEventHandleSymbol] = true;
88
87
  // emitter 不触发元素更新
@@ -94,20 +93,34 @@ function defineProp(target, prop, { attr, attrType, event, eventOptions } = {})
94
93
  },
95
94
  });
96
95
  }
96
+ // https://github.com/tc39/proposal-decorators/issues/517
97
+ const targetCache = new WeakMap();
98
+ function getDecoratorTarget(element, { metadata }) {
99
+ const target = targetCache.get(metadata);
100
+ if (target)
101
+ return target;
102
+ let result = element;
103
+ do {
104
+ result = getPrototypeOf(result);
105
+ } while (result.constructor[Symbol.metadata] !== metadata);
106
+ targetCache.set(metadata, result);
107
+ return result;
108
+ }
97
109
  function decoratorAttr(context, attrType) {
98
110
  const prop = context.name;
99
111
  const attr = camelToKebabCase(prop);
100
112
  context.addInitializer(function () {
101
- const target = getPrototypeOf(this);
102
- if (!target.hasOwnProperty(prop)) {
113
+ const target = getDecoratorTarget(this, context);
114
+ if (!hasOwn(target, prop)) {
103
115
  pushStaticField(context, 'observedAttributes', attr); // 没有 observe 的效果
104
116
  defineProp(target, prop, { attr, attrType });
105
- // 记录观察的 attribute
106
- const attrMap = observedTargetAttributes.get(target) || new Map();
107
- attrMap.set(attr, prop);
108
- observedTargetAttributes.set(target, attrMap);
109
117
  }
110
118
  clearField(this, prop);
119
+ // 记录观察的 attribute, 用于 hack 的 setAttribute
120
+ const proto = getPrototypeOf(this);
121
+ const attrMap = observedTargetAttributes.get(proto) || new Map();
122
+ attrMap.set(attr, prop);
123
+ observedTargetAttributes.set(proto, attrMap);
111
124
  });
112
125
  // 延时定义的元素需要继承原实例属性值
113
126
  return function (initValue) {
@@ -146,8 +159,8 @@ export function numattribute(_, context) {
146
159
  export function property(_, context) {
147
160
  const prop = context.name;
148
161
  context.addInitializer(function () {
149
- const target = getPrototypeOf(this);
150
- if (!target.hasOwnProperty(prop)) {
162
+ const target = getDecoratorTarget(this, context);
163
+ if (!hasOwn(target, prop)) {
151
164
  pushStaticField(context, 'observedProperties', prop);
152
165
  defineProp(target, prop);
153
166
  }
@@ -172,7 +185,7 @@ export function property(_, context) {
172
185
  * ```
173
186
  */
174
187
  export function memo(getDep) {
175
- return function (_, context) {
188
+ return (_, context) => {
176
189
  const { addInitializer, name, access, kind } = context;
177
190
  addInitializer(function () {
178
191
  const dep = getDep && (() => getDep(this));
@@ -180,39 +193,48 @@ export function memo(getDep) {
180
193
  // 不能设置私有字段 https://github.com/tc39/proposal-decorators/issues/509
181
194
  if (context.private)
182
195
  throw new GemError('not support');
183
- this.memo(() => defineProperty(this, name, { configurable: true, value: access.get(this) }), dep);
196
+ const target = getDecoratorTarget(this, context);
197
+ // 不能直接用 `access.get.bind(this)` 是现有 builder 工具的 bug?
198
+ const getter = getOwnPropertyDescriptor(target, name).get.bind(this);
199
+ this.memo(() => {
200
+ defineProperty(this, name, {
201
+ configurable: true,
202
+ value: getter(),
203
+ });
204
+ }, dep);
184
205
  }
185
206
  else {
186
- this.memo(access.get(this).bind(this), dep);
207
+ this.memo(access.get.call(this, this).bind(this), dep);
187
208
  }
188
209
  });
189
210
  };
190
211
  }
191
212
  /**
192
- * 依赖 `GemElement.effect`
193
- * 方法执行在字段前面
213
+ * - 依赖 `GemElement.effect`
214
+ * - 方法执行在字段前面
215
+ * - 如果没有 oldValue,在为首次执行
194
216
  *
195
217
  * For example
196
218
  * ```ts
197
219
  * class App extends GemElement {
198
220
  * @effect(() => [])
199
- * #fetchData() {
221
+ * #fetchData(newValue, oldValue) {
200
222
  * console.log('fetch')
201
223
  * }
202
224
  * }
203
225
  * ```
204
226
  */
205
227
  export function effect(getDep) {
206
- return function (_, { addInitializer, access }) {
228
+ return (_, { addInitializer, access }) => {
207
229
  addInitializer(function () {
208
- this.effect(access.get(this).bind(this), getDep && (() => getDep(this)));
230
+ this.effect(access.get.call(this, this).bind(this), getDep && (() => getDep(this)));
209
231
  });
210
232
  };
211
233
  }
212
234
  export function unmounted() {
213
- return function (_, { addInitializer, access }) {
235
+ return (_, { addInitializer, access }) => {
214
236
  addInitializer(function () {
215
- this.effect(() => access.get(this).bind(this), () => []);
237
+ this.effect(() => access.get.call(this, this).bind(this), () => []);
216
238
  });
217
239
  };
218
240
  }
@@ -227,20 +249,20 @@ export function mounted() {
227
249
  export function template(
228
250
  /** 当所有 `template` 返回 `false` 时不进行更新,包括 `memo` */
229
251
  condition) {
230
- return function (_, { addInitializer, access }) {
252
+ return (_, { addInitializer, access }) => {
231
253
  addInitializer(function () {
232
254
  _createTemplate(this, {
233
- render: access.get(this).bind(this),
255
+ render: access.get.call(this, this).bind(this),
234
256
  condition: condition && (() => condition(this)),
235
257
  });
236
258
  });
237
259
  };
238
260
  }
239
261
  export function fallback() {
240
- return function (_, { addInitializer, access }) {
262
+ return (_, { addInitializer, access }) => {
241
263
  addInitializer(function () {
242
264
  this.addEventListener(_RenderErrorEvent, ({ detail }) => {
243
- render(access.get(this).apply(this, [detail]), this.internals.shadowRoot || this);
265
+ render(access.get.call(this, this).apply(this, [detail]), this.internals.shadowRoot || this);
244
266
  });
245
267
  });
246
268
  };
@@ -279,11 +301,11 @@ function defineCSSState(target, prop, stateStr) {
279
301
  * ```
280
302
  */
281
303
  export function state(_, context) {
304
+ const prop = context.name;
305
+ const attr = camelToKebabCase(prop);
282
306
  context.addInitializer(function () {
283
- const target = getPrototypeOf(this);
284
- const prop = context.name;
285
- if (!target.hasOwnProperty(prop)) {
286
- const attr = camelToKebabCase(prop);
307
+ const target = getDecoratorTarget(this, context);
308
+ if (!hasOwn(target, prop)) {
287
309
  pushStaticField(context, 'definedCSSStates', attr);
288
310
  defineCSSState(target, prop, attr);
289
311
  }
@@ -349,24 +371,23 @@ export function part(_, context) {
349
371
  * ```
350
372
  */
351
373
  export function emitter(_, context) {
352
- context.addInitializer(function () {
353
- defineEmitter(context, this, context.name);
354
- });
374
+ defineEmitter(context);
355
375
  }
356
376
  export function globalemitter(_, context) {
377
+ defineEmitter(context, { bubbles: true, composed: true });
378
+ }
379
+ function defineEmitter(context, eventOptions) {
380
+ const prop = context.name;
381
+ const event = camelToKebabCase(prop);
357
382
  context.addInitializer(function () {
358
- defineEmitter(context, this, context.name, { bubbles: true, composed: true });
383
+ const target = getDecoratorTarget(this, context);
384
+ if (!hasOwn(target, prop)) {
385
+ pushStaticField(context, 'definedEvents', event);
386
+ defineProp(target, prop, { event, eventOptions });
387
+ }
388
+ clearField(this, prop);
359
389
  });
360
390
  }
361
- function defineEmitter(context, t, prop, eventOptions) {
362
- const target = getPrototypeOf(t);
363
- if (!target.hasOwnProperty(prop)) {
364
- const event = camelToKebabCase(prop);
365
- pushStaticField(context, 'definedEvents', event);
366
- defineProp(target, prop, { event, eventOptions });
367
- }
368
- clearField(t, prop);
369
- }
370
391
  /**
371
392
  * 分配一个构造的样式表,前面的优先级越高(因为装饰器是越近越早执行)
372
393
  *
@@ -377,7 +398,7 @@ function defineEmitter(context, t, prop, eventOptions) {
377
398
  * ```
378
399
  */
379
400
  export function adoptedStyle(sheet) {
380
- return function (_, context) {
401
+ return (_, context) => {
381
402
  pushStaticField(context, 'adoptedStyleSheets', sheet);
382
403
  };
383
404
  }
@@ -391,18 +412,18 @@ export function adoptedStyle(sheet) {
391
412
  * ```
392
413
  */
393
414
  export function connectStore(store) {
394
- return function (_, context) {
415
+ return (_, context) => {
395
416
  pushStaticField(context, 'observedStores', store);
396
417
  };
397
418
  }
398
419
  export function shadow({ mode = 'open', serializable = true, delegatesFocus, slotAssignment, } = {}) {
399
- return function (_, context) {
420
+ return (_, context) => {
400
421
  const metadata = context.metadata;
401
422
  assign(metadata, { mode, serializable, delegatesFocus, slotAssignment });
402
423
  };
403
424
  }
404
425
  export function light({ penetrable }) {
405
- return function (_, context) {
426
+ return (_, context) => {
406
427
  const metadata = context.metadata;
407
428
  metadata.penetrable = penetrable;
408
429
  };
@@ -412,7 +433,7 @@ export function light({ penetrable }) {
412
433
  * 例如:https://examples.gemjs.org/async
413
434
  */
414
435
  export function async() {
415
- return function (_, context) {
436
+ return (_, context) => {
416
437
  const metadata = context.metadata;
417
438
  metadata.noBlocking = true;
418
439
  };
@@ -421,7 +442,7 @@ export function async() {
421
442
  * 定义元素的可访问性属性
422
443
  */
423
444
  export function aria(info) {
424
- return function (_, context) {
445
+ return (_, context) => {
425
446
  const metadata = context.metadata;
426
447
  metadata.aria = { ...metadata.aria, ...info };
427
448
  };
@@ -436,18 +457,10 @@ export function aria(info) {
436
457
  * ```
437
458
  */
438
459
  export function customElement(name) {
439
- return function (cls, { addInitializer }) {
440
- addInitializer(function () {
460
+ return (cls, { addInitializer }) => {
461
+ addInitializer(() => {
441
462
  customElements.define(name, cls);
442
463
  });
443
464
  };
444
465
  }
445
- if (window.__GEM_DEVTOOLS__HOOK__ && !window.__GEM_DEVTOOLS__HOOK__.GemElement) {
446
- assign(window.__GEM_DEVTOOLS__HOOK__, {
447
- ...elementExports,
448
- ...decoratorsExports,
449
- ...storeExports,
450
- ...versionExports,
451
- });
452
- }
453
466
  //# sourceMappingURL=decorators.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../src/lib/decorators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../src/lib/decorators.ts"],"names":[],"mappings":"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"}