@startinblox/core 0.17.31 → 0.18.0-beta.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 (255) hide show
  1. package/dist/_snowpack/pkg/autolinker.js +3515 -3367
  2. package/dist/_snowpack/pkg/autolinker.js.map +1 -1
  3. package/dist/_snowpack/pkg/common/{_baseUnary-217dffb2.js → _baseUnary-c1edb653.js} +16 -40
  4. package/dist/_snowpack/pkg/common/{_baseUnary-217dffb2.js.map → _baseUnary-c1edb653.js.map} +1 -1
  5. package/dist/_snowpack/pkg/common/{_commonjsHelpers-8c19dec8.js → _commonjsHelpers-37fa8da4.js} +6 -2
  6. package/dist/_snowpack/pkg/common/_commonjsHelpers-37fa8da4.js.map +1 -0
  7. package/dist/_snowpack/pkg/common/{decode-a4c334cf.js → decode-26fbf385.js} +38 -69
  8. package/dist/_snowpack/pkg/common/decode-26fbf385.js.map +1 -0
  9. package/dist/_snowpack/pkg/common/lit-html-3647afce.js +1104 -0
  10. package/dist/_snowpack/pkg/common/lit-html-3647afce.js.map +1 -0
  11. package/dist/_snowpack/pkg/delta-markdown-for-quill.js +4767 -4246
  12. package/dist/_snowpack/pkg/delta-markdown-for-quill.js.map +1 -1
  13. package/dist/_snowpack/pkg/dialog-polyfill.js +107 -139
  14. package/dist/_snowpack/pkg/dialog-polyfill.js.map +1 -1
  15. package/dist/_snowpack/pkg/fusejs.js +411 -601
  16. package/dist/_snowpack/pkg/fusejs.js.map +1 -1
  17. package/dist/_snowpack/pkg/jsonld-context-parser.js +718 -686
  18. package/dist/_snowpack/pkg/jsonld-context-parser.js.map +1 -1
  19. package/dist/_snowpack/pkg/leaflet.markercluster/dist/MarkerCluster.Default.css +59 -59
  20. package/dist/_snowpack/pkg/leaflet.markercluster/dist/MarkerCluster.Default.css.proxy.js +1 -1
  21. package/dist/_snowpack/pkg/leaflet.markercluster/dist/MarkerCluster.css +14 -14
  22. package/dist/_snowpack/pkg/leaflet.markercluster/dist/MarkerCluster.css.proxy.js +1 -1
  23. package/dist/_snowpack/pkg/lit-html/directives/if-defined.js +13 -14
  24. package/dist/_snowpack/pkg/lit-html/directives/if-defined.js.map +1 -1
  25. package/dist/_snowpack/pkg/lit-html/directives/unsafe-html.js +17 -15
  26. package/dist/_snowpack/pkg/lit-html/directives/unsafe-html.js.map +1 -1
  27. package/dist/_snowpack/pkg/lit-html/directives/until.js +45 -46
  28. package/dist/_snowpack/pkg/lit-html/directives/until.js.map +1 -1
  29. package/dist/_snowpack/pkg/lit-html.js +37 -35
  30. package/dist/_snowpack/pkg/lit-html.js.map +1 -1
  31. package/dist/_snowpack/pkg/markdown-it-link-attributes.js +1 -20
  32. package/dist/_snowpack/pkg/markdown-it-link-attributes.js.map +1 -1
  33. package/dist/_snowpack/pkg/markdown-it.js +1731 -2284
  34. package/dist/_snowpack/pkg/markdown-it.js.map +1 -1
  35. package/dist/_snowpack/pkg/quill-delta-to-markdown.js +236 -294
  36. package/dist/_snowpack/pkg/quill-delta-to-markdown.js.map +1 -1
  37. package/dist/_snowpack/pkg/quill.js +12077 -11017
  38. package/dist/_snowpack/pkg/quill.js.map +1 -1
  39. package/dist/_snowpack/pkg/slim-select.js +711 -1
  40. package/dist/_snowpack/pkg/slim-select.js.map +1 -1
  41. package/dist/_snowpack/pkg/tui-calendar/dist/tui-calendar.css +1 -16
  42. package/dist/_snowpack/pkg/tui-calendar/dist/tui-calendar.css.proxy.js +1 -1
  43. package/dist/_snowpack/pkg/tui-calendar.js +44297 -40075
  44. package/dist/_snowpack/pkg/tui-calendar.js.map +1 -1
  45. package/dist/components/solid-ac-checker.js +4 -17
  46. package/dist/components/solid-calendar.js +5 -26
  47. package/dist/components/solid-delete.js +9 -24
  48. package/dist/components/solid-display.js +15 -59
  49. package/dist/components/solid-form-search.js +27 -79
  50. package/dist/components/solid-form.js +48 -143
  51. package/dist/components/solid-lang.js +8 -19
  52. package/dist/components/solid-map.js +26 -64
  53. package/dist/components/solid-table.js +51 -133
  54. package/dist/components/solid-widget.js +2 -24
  55. package/dist/index.js +17 -11
  56. package/dist/libs/Component.js +4 -10
  57. package/dist/libs/ComponentFactory.js +6 -34
  58. package/dist/libs/Compositor.js +8 -15
  59. package/dist/libs/Sib.js +7 -21
  60. package/dist/libs/filter.js +184 -0
  61. package/dist/libs/helpers.js +19 -47
  62. package/dist/libs/interfaces.js +1 -1
  63. package/dist/libs/lit-helpers.js +7 -34
  64. package/dist/libs/polyfills.js +7 -10
  65. package/dist/libs/store/server-pagination.js +22 -0
  66. package/dist/libs/store/server-search.js +35 -0
  67. package/dist/libs/store/store.js +212 -227
  68. package/dist/mixins/attributeBinderMixin.js +17 -25
  69. package/dist/mixins/contextMixin.js +5 -7
  70. package/dist/mixins/counterMixin.js +2 -23
  71. package/dist/mixins/federationMixin.js +2 -14
  72. package/dist/mixins/filterMixin.js +60 -100
  73. package/dist/mixins/grouperMixin.js +11 -18
  74. package/dist/mixins/highlighterMixin.js +2 -8
  75. package/dist/mixins/interfaces.js +3 -5
  76. package/dist/mixins/listMixin.js +12 -43
  77. package/dist/mixins/nextMixin.js +1 -4
  78. package/dist/mixins/paginateMixin.js +17 -30
  79. package/dist/mixins/requiredMixin.js +1 -9
  80. package/dist/mixins/serverPaginationMixin.js +122 -0
  81. package/dist/mixins/sorterMixin.js +26 -44
  82. package/dist/mixins/storeMixin.js +28 -21
  83. package/dist/mixins/translationMixin.js +2 -12
  84. package/dist/mixins/validationMixin.js +28 -46
  85. package/dist/mixins/widgetMixin.js +58 -154
  86. package/dist/new-widgets/attributeMixins/actionMixin.js +1 -2
  87. package/dist/new-widgets/attributeMixins/blankMixin.js +1 -4
  88. package/dist/new-widgets/attributeMixins/booleanMixin.js +1 -4
  89. package/dist/new-widgets/attributeMixins/index.js +1 -2
  90. package/dist/new-widgets/attributeMixins/mailtoMixin.js +1 -4
  91. package/dist/new-widgets/attributeMixins/multipleMixin.js +1 -2
  92. package/dist/new-widgets/attributeMixins/numberMixin.js +1 -4
  93. package/dist/new-widgets/attributeMixins/placeholderMixin.js +1 -4
  94. package/dist/new-widgets/attributeMixins/telMixin.js +1 -4
  95. package/dist/new-widgets/baseWidgetMixin.js +5 -18
  96. package/dist/new-widgets/callbackMixins/autocompletionMixin.js +3 -11
  97. package/dist/new-widgets/callbackMixins/index.js +1 -2
  98. package/dist/new-widgets/callbackMixins/richtextMixin.js +1 -6
  99. package/dist/new-widgets/interfaces.js +1 -0
  100. package/dist/new-widgets/new-widget-factory.js +14 -19
  101. package/dist/new-widgets/templateAdditionMixins/addableMixin.js +6 -21
  102. package/dist/new-widgets/templateAdditionMixins/index.js +2 -3
  103. package/dist/new-widgets/templateAdditionMixins/labelLastMixin.js +5 -18
  104. package/dist/new-widgets/templateAdditionMixins/labelMixin.js +5 -18
  105. package/dist/new-widgets/templates/defaultTemplatesDirectory.js +21 -27
  106. package/dist/new-widgets/templates/displayTemplatesDirectory.js +35 -70
  107. package/dist/new-widgets/templates/formTemplatesDirectory.js +350 -315
  108. package/dist/new-widgets/templates/groupTemplatesDirectory.js +5 -15
  109. package/dist/new-widgets/templates/index.js +1 -2
  110. package/dist/new-widgets/templates/setTemplatesDirectory.js +4 -37
  111. package/dist/new-widgets/templatesDependencies/altMixin.js +1 -2
  112. package/dist/new-widgets/templatesDependencies/editableMixin.js +9 -26
  113. package/dist/new-widgets/templatesDependencies/filterRangeFormMixin.js +3 -7
  114. package/dist/new-widgets/templatesDependencies/formCheckboxMixin.js +1 -5
  115. package/dist/new-widgets/templatesDependencies/formCheckboxesMixin.js +1 -11
  116. package/dist/new-widgets/templatesDependencies/formDropdownMixin.js +3 -13
  117. package/dist/new-widgets/templatesDependencies/formFileMixin.js +1 -13
  118. package/dist/new-widgets/templatesDependencies/formLengthMixin.js +1 -2
  119. package/dist/new-widgets/templatesDependencies/formMinMaxMixin.js +1 -2
  120. package/dist/new-widgets/templatesDependencies/formMixin.js +4 -14
  121. package/dist/new-widgets/templatesDependencies/formNumberMixin.js +1 -5
  122. package/dist/new-widgets/templatesDependencies/formRadioMixin.js +1 -5
  123. package/dist/new-widgets/templatesDependencies/formStepMixin.js +1 -2
  124. package/dist/new-widgets/templatesDependencies/linkTextMixin.js +13 -0
  125. package/dist/new-widgets/templatesDependencies/multipleFormMixin.js +23 -18
  126. package/dist/new-widgets/templatesDependencies/multipleselectFormMixin.js +1 -10
  127. package/dist/new-widgets/templatesDependencies/patternMixin.js +1 -2
  128. package/dist/new-widgets/templatesDependencies/rangeMixin.js +5 -15
  129. package/dist/new-widgets/templatesDependencies/setMixin.js +1 -4
  130. package/dist/new-widgets/templatesDependencies/valueRichtextMixin.js +1 -4
  131. package/dist/new-widgets/valueTransformationMixins/autolinkMixin.js +1 -5
  132. package/dist/new-widgets/valueTransformationMixins/dateMixin.js +5 -11
  133. package/dist/new-widgets/valueTransformationMixins/dateTimeMixin.js +1 -5
  134. package/dist/new-widgets/valueTransformationMixins/index.js +1 -2
  135. package/dist/new-widgets/valueTransformationMixins/markdownMixin.js +1 -7
  136. package/dist/new-widgets/valueTransformationMixins/multilineMixin.js +1 -5
  137. package/dist/new-widgets/valueTransformationMixins/oembedMixin.js +1 -7
  138. package/dist/solid-template-element.js +24 -44
  139. package/dist/widgets/baseWidget.js +21 -85
  140. package/dist/widgets/widget-factory.js +4 -6
  141. package/package.json +8 -6
  142. package/dist/_snowpack/env.js +0 -3
  143. package/dist/_snowpack/pkg/autolinker.js.map.proxy.js +0 -1
  144. package/dist/_snowpack/pkg/common/_baseUnary-217dffb2.js.map.proxy.js +0 -1
  145. package/dist/_snowpack/pkg/common/_commonjsHelpers-8c19dec8.js.map +0 -1
  146. package/dist/_snowpack/pkg/common/_commonjsHelpers-8c19dec8.js.map.proxy.js +0 -1
  147. package/dist/_snowpack/pkg/common/decode-a4c334cf.js.map +0 -1
  148. package/dist/_snowpack/pkg/common/decode-a4c334cf.js.map.proxy.js +0 -1
  149. package/dist/_snowpack/pkg/common/lit-html-babd44cd.js +0 -1119
  150. package/dist/_snowpack/pkg/common/lit-html-babd44cd.js.map +0 -1
  151. package/dist/_snowpack/pkg/common/lit-html-babd44cd.js.map.proxy.js +0 -1
  152. package/dist/_snowpack/pkg/delta-markdown-for-quill.js.map.proxy.js +0 -1
  153. package/dist/_snowpack/pkg/dialog-polyfill.js.map.proxy.js +0 -1
  154. package/dist/_snowpack/pkg/fusejs.js.map.proxy.js +0 -1
  155. package/dist/_snowpack/pkg/jsonld-context-parser.js.map.proxy.js +0 -1
  156. package/dist/_snowpack/pkg/lit-html/directives/if-defined.js.map.proxy.js +0 -1
  157. package/dist/_snowpack/pkg/lit-html/directives/unsafe-html.js.map.proxy.js +0 -1
  158. package/dist/_snowpack/pkg/lit-html/directives/until.js.map.proxy.js +0 -1
  159. package/dist/_snowpack/pkg/lit-html.js.map.proxy.js +0 -1
  160. package/dist/_snowpack/pkg/markdown-it-link-attributes.js.map.proxy.js +0 -1
  161. package/dist/_snowpack/pkg/markdown-it.js.map.proxy.js +0 -1
  162. package/dist/_snowpack/pkg/quill-delta-to-markdown.js.map.proxy.js +0 -1
  163. package/dist/_snowpack/pkg/quill.js.map.proxy.js +0 -1
  164. package/dist/_snowpack/pkg/slim-select.js.map.proxy.js +0 -1
  165. package/dist/_snowpack/pkg/tui-calendar.js.map.proxy.js +0 -1
  166. package/dist/components/solid-ac-checker.js.map +0 -1
  167. package/dist/components/solid-calendar.js.map +0 -1
  168. package/dist/components/solid-delete.js.map +0 -1
  169. package/dist/components/solid-display.js.map +0 -1
  170. package/dist/components/solid-form-search.js.map +0 -1
  171. package/dist/components/solid-form.js.map +0 -1
  172. package/dist/components/solid-lang.js.map +0 -1
  173. package/dist/components/solid-map.js.map +0 -1
  174. package/dist/components/solid-table.js.map +0 -1
  175. package/dist/components/solid-widget.js.map +0 -1
  176. package/dist/index.js.map +0 -1
  177. package/dist/libs/Component.js.map +0 -1
  178. package/dist/libs/ComponentFactory.js.map +0 -1
  179. package/dist/libs/Compositor.js.map +0 -1
  180. package/dist/libs/Sib.js.map +0 -1
  181. package/dist/libs/helpers.js.map +0 -1
  182. package/dist/libs/interfaces.js.map +0 -1
  183. package/dist/libs/lit-helpers.js.map +0 -1
  184. package/dist/libs/polyfills.js.map +0 -1
  185. package/dist/libs/store/store.js.map +0 -1
  186. package/dist/mixins/attributeBinderMixin.js.map +0 -1
  187. package/dist/mixins/contextMixin.js.map +0 -1
  188. package/dist/mixins/counterMixin.js.map +0 -1
  189. package/dist/mixins/federationMixin.js.map +0 -1
  190. package/dist/mixins/filterMixin.js.map +0 -1
  191. package/dist/mixins/grouperMixin.js.map +0 -1
  192. package/dist/mixins/highlighterMixin.js.map +0 -1
  193. package/dist/mixins/interfaces.js.map +0 -1
  194. package/dist/mixins/listMixin.js.map +0 -1
  195. package/dist/mixins/nextMixin.js.map +0 -1
  196. package/dist/mixins/paginateMixin.js.map +0 -1
  197. package/dist/mixins/requiredMixin.js.map +0 -1
  198. package/dist/mixins/sorterMixin.js.map +0 -1
  199. package/dist/mixins/storeMixin.js.map +0 -1
  200. package/dist/mixins/translationMixin.js.map +0 -1
  201. package/dist/mixins/validationMixin.js.map +0 -1
  202. package/dist/mixins/widgetMixin.js.map +0 -1
  203. package/dist/new-widgets/attributeMixins/actionMixin.js.map +0 -1
  204. package/dist/new-widgets/attributeMixins/blankMixin.js.map +0 -1
  205. package/dist/new-widgets/attributeMixins/booleanMixin.js.map +0 -1
  206. package/dist/new-widgets/attributeMixins/index.js.map +0 -1
  207. package/dist/new-widgets/attributeMixins/mailtoMixin.js.map +0 -1
  208. package/dist/new-widgets/attributeMixins/multipleMixin.js.map +0 -1
  209. package/dist/new-widgets/attributeMixins/numberMixin.js.map +0 -1
  210. package/dist/new-widgets/attributeMixins/placeholderMixin.js.map +0 -1
  211. package/dist/new-widgets/attributeMixins/telMixin.js.map +0 -1
  212. package/dist/new-widgets/baseWidgetMixin.js.map +0 -1
  213. package/dist/new-widgets/callbackMixins/autocompletionMixin.js.map +0 -1
  214. package/dist/new-widgets/callbackMixins/index.js.map +0 -1
  215. package/dist/new-widgets/callbackMixins/richtextMixin.js.map +0 -1
  216. package/dist/new-widgets/new-widget-factory.js.map +0 -1
  217. package/dist/new-widgets/templateAdditionMixins/addableMixin.js.map +0 -1
  218. package/dist/new-widgets/templateAdditionMixins/index.js.map +0 -1
  219. package/dist/new-widgets/templateAdditionMixins/labelLastMixin.js.map +0 -1
  220. package/dist/new-widgets/templateAdditionMixins/labelMixin.js.map +0 -1
  221. package/dist/new-widgets/templates/defaultTemplatesDirectory.js.map +0 -1
  222. package/dist/new-widgets/templates/displayTemplatesDirectory.js.map +0 -1
  223. package/dist/new-widgets/templates/formTemplatesDirectory.js.map +0 -1
  224. package/dist/new-widgets/templates/groupTemplatesDirectory.js.map +0 -1
  225. package/dist/new-widgets/templates/index.js.map +0 -1
  226. package/dist/new-widgets/templates/setTemplatesDirectory.js.map +0 -1
  227. package/dist/new-widgets/templatesDependencies/altMixin.js.map +0 -1
  228. package/dist/new-widgets/templatesDependencies/editableMixin.js.map +0 -1
  229. package/dist/new-widgets/templatesDependencies/filterRangeFormMixin.js.map +0 -1
  230. package/dist/new-widgets/templatesDependencies/formCheckboxMixin.js.map +0 -1
  231. package/dist/new-widgets/templatesDependencies/formCheckboxesMixin.js.map +0 -1
  232. package/dist/new-widgets/templatesDependencies/formDropdownMixin.js.map +0 -1
  233. package/dist/new-widgets/templatesDependencies/formFileMixin.js.map +0 -1
  234. package/dist/new-widgets/templatesDependencies/formLengthMixin.js.map +0 -1
  235. package/dist/new-widgets/templatesDependencies/formMinMaxMixin.js.map +0 -1
  236. package/dist/new-widgets/templatesDependencies/formMixin.js.map +0 -1
  237. package/dist/new-widgets/templatesDependencies/formNumberMixin.js.map +0 -1
  238. package/dist/new-widgets/templatesDependencies/formRadioMixin.js.map +0 -1
  239. package/dist/new-widgets/templatesDependencies/formStepMixin.js.map +0 -1
  240. package/dist/new-widgets/templatesDependencies/multipleFormMixin.js.map +0 -1
  241. package/dist/new-widgets/templatesDependencies/multipleselectFormMixin.js.map +0 -1
  242. package/dist/new-widgets/templatesDependencies/patternMixin.js.map +0 -1
  243. package/dist/new-widgets/templatesDependencies/rangeMixin.js.map +0 -1
  244. package/dist/new-widgets/templatesDependencies/setMixin.js.map +0 -1
  245. package/dist/new-widgets/templatesDependencies/valueRichtextMixin.js.map +0 -1
  246. package/dist/new-widgets/valueTransformationMixins/autolinkMixin.js.map +0 -1
  247. package/dist/new-widgets/valueTransformationMixins/dateMixin.js.map +0 -1
  248. package/dist/new-widgets/valueTransformationMixins/dateTimeMixin.js.map +0 -1
  249. package/dist/new-widgets/valueTransformationMixins/index.js.map +0 -1
  250. package/dist/new-widgets/valueTransformationMixins/markdownMixin.js.map +0 -1
  251. package/dist/new-widgets/valueTransformationMixins/multilineMixin.js.map +0 -1
  252. package/dist/new-widgets/valueTransformationMixins/oembedMixin.js.map +0 -1
  253. package/dist/solid-template-element.js.map +0 -1
  254. package/dist/widgets/baseWidget.js.map +0 -1
  255. package/dist/widgets/widget-factory.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { d as directive, i as isPrimitive } from '../../common/lit-html-babd44cd.js';
1
+ import { d as directive, i as isPrimitive } from '../../common/lit-html-3647afce.js';
2
2
 
3
3
  /**
4
4
  * @license
@@ -35,53 +35,52 @@ const _infinity = 0x7fffffff;
35
35
  * const content = fetch('./content.txt').then(r => r.text());
36
36
  * html`${until(content, html`<span>Loading...</span>`)}`
37
37
  */
38
- const until = directive((...args) => (part) => {
39
- let state = _state.get(part);
40
- if (state === undefined) {
41
- state = {
42
- lastRenderedIndex: _infinity,
43
- values: [],
44
- };
45
- _state.set(part, state);
38
+ const until = directive((...args) => part => {
39
+ let state = _state.get(part);
40
+ if (state === undefined) {
41
+ state = {
42
+ lastRenderedIndex: _infinity,
43
+ values: []
44
+ };
45
+ _state.set(part, state);
46
+ }
47
+ const previousValues = state.values;
48
+ let previousLength = previousValues.length;
49
+ state.values = args;
50
+ for (let i = 0; i < args.length; i++) {
51
+ // If we've rendered a higher-priority value already, stop.
52
+ if (i > state.lastRenderedIndex) {
53
+ break;
46
54
  }
47
- const previousValues = state.values;
48
- let previousLength = previousValues.length;
49
- state.values = args;
50
- for (let i = 0; i < args.length; i++) {
51
- // If we've rendered a higher-priority value already, stop.
52
- if (i > state.lastRenderedIndex) {
53
- break;
54
- }
55
- const value = args[i];
56
- // Render non-Promise values immediately
57
- if (isPrimitive(value) ||
58
- typeof value.then !== 'function') {
59
- part.setValue(value);
60
- state.lastRenderedIndex = i;
61
- // Since a lower-priority value will never overwrite a higher-priority
62
- // synchronous value, we can stop processing now.
63
- break;
64
- }
65
- // If this is a Promise we've already handled, skip it.
66
- if (i < previousLength && value === previousValues[i]) {
67
- continue;
68
- }
69
- // We have a Promise that we haven't seen before, so priorities may have
70
- // changed. Forget what we rendered before.
71
- state.lastRenderedIndex = _infinity;
72
- previousLength = 0;
73
- Promise.resolve(value).then((resolvedValue) => {
74
- const index = state.values.indexOf(value);
75
- // If state.values doesn't contain the value, we've re-rendered without
76
- // the value, so don't render it. Then, only render if the value is
77
- // higher-priority than what's already been rendered.
78
- if (index > -1 && index < state.lastRenderedIndex) {
79
- state.lastRenderedIndex = index;
80
- part.setValue(resolvedValue);
81
- part.commit();
82
- }
83
- });
55
+ const value = args[i];
56
+ // Render non-Promise values immediately
57
+ if (isPrimitive(value) || typeof value.then !== 'function') {
58
+ part.setValue(value);
59
+ state.lastRenderedIndex = i;
60
+ // Since a lower-priority value will never overwrite a higher-priority
61
+ // synchronous value, we can stop processing now.
62
+ break;
84
63
  }
64
+ // If this is a Promise we've already handled, skip it.
65
+ if (i < previousLength && value === previousValues[i]) {
66
+ continue;
67
+ }
68
+ // We have a Promise that we haven't seen before, so priorities may have
69
+ // changed. Forget what we rendered before.
70
+ state.lastRenderedIndex = _infinity;
71
+ previousLength = 0;
72
+ Promise.resolve(value).then(resolvedValue => {
73
+ const index = state.values.indexOf(value);
74
+ // If state.values doesn't contain the value, we've re-rendered without
75
+ // the value, so don't render it. Then, only render if the value is
76
+ // higher-priority than what's already been rendered.
77
+ if (index > -1 && index < state.lastRenderedIndex) {
78
+ state.lastRenderedIndex = index;
79
+ part.setValue(resolvedValue);
80
+ part.commit();
81
+ }
82
+ });
83
+ }
85
84
  });
86
85
 
87
86
  export { until };
@@ -1 +1 @@
1
- {"version":3,"file":"until.js","sources":["../../../../../node_modules/lit-html/directives/until.js"],"sourcesContent":["/**\n * @license\n * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.\n * This code may only be used under the BSD style license found at\n * http://polymer.github.io/LICENSE.txt\n * The complete set of authors may be found at\n * http://polymer.github.io/AUTHORS.txt\n * The complete set of contributors may be found at\n * http://polymer.github.io/CONTRIBUTORS.txt\n * Code distributed by Google as part of the polymer project is also\n * subject to an additional IP rights grant found at\n * http://polymer.github.io/PATENTS.txt\n */\nimport { isPrimitive } from '../lib/parts.js';\nimport { directive } from '../lit-html.js';\nconst _state = new WeakMap();\n// Effectively infinity, but a SMI.\nconst _infinity = 0x7fffffff;\n/**\n * Renders one of a series of values, including Promises, to a Part.\n *\n * Values are rendered in priority order, with the first argument having the\n * highest priority and the last argument having the lowest priority. If a\n * value is a Promise, low-priority values will be rendered until it resolves.\n *\n * The priority of values can be used to create placeholder content for async\n * data. For example, a Promise with pending content can be the first,\n * highest-priority, argument, and a non_promise loading indicator template can\n * be used as the second, lower-priority, argument. The loading indicator will\n * render immediately, and the primary content will render when the Promise\n * resolves.\n *\n * Example:\n *\n * const content = fetch('./content.txt').then(r => r.text());\n * html`${until(content, html`<span>Loading...</span>`)}`\n */\nexport const until = directive((...args) => (part) => {\n let state = _state.get(part);\n if (state === undefined) {\n state = {\n lastRenderedIndex: _infinity,\n values: [],\n };\n _state.set(part, state);\n }\n const previousValues = state.values;\n let previousLength = previousValues.length;\n state.values = args;\n for (let i = 0; i < args.length; i++) {\n // If we've rendered a higher-priority value already, stop.\n if (i > state.lastRenderedIndex) {\n break;\n }\n const value = args[i];\n // Render non-Promise values immediately\n if (isPrimitive(value) ||\n typeof value.then !== 'function') {\n part.setValue(value);\n state.lastRenderedIndex = i;\n // Since a lower-priority value will never overwrite a higher-priority\n // synchronous value, we can stop processing now.\n break;\n }\n // If this is a Promise we've already handled, skip it.\n if (i < previousLength && value === previousValues[i]) {\n continue;\n }\n // We have a Promise that we haven't seen before, so priorities may have\n // changed. Forget what we rendered before.\n state.lastRenderedIndex = _infinity;\n previousLength = 0;\n Promise.resolve(value).then((resolvedValue) => {\n const index = state.values.indexOf(value);\n // If state.values doesn't contain the value, we've re-rendered without\n // the value, so don't render it. Then, only render if the value is\n // higher-priority than what's already been rendered.\n if (index > -1 && index < state.lastRenderedIndex) {\n state.lastRenderedIndex = index;\n part.setValue(resolvedValue);\n part.commit();\n }\n });\n }\n});\n//# sourceMappingURL=until.js.map"],"names":[],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA,MAAM,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;AAC7B;AACA,MAAM,SAAS,GAAG,UAAU,CAAC;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,KAAK,GAAG,SAAS,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC,IAAI,KAAK;AACtD,IAAI,IAAI,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACjC,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE;AAC7B,QAAQ,KAAK,GAAG;AAChB,YAAY,iBAAiB,EAAE,SAAS;AACxC,YAAY,MAAM,EAAE,EAAE;AACtB,SAAS,CAAC;AACV,QAAQ,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAChC,KAAK;AACL,IAAI,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC;AACxC,IAAI,IAAI,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC;AAC/C,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;AACxB,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC1C;AACA,QAAQ,IAAI,CAAC,GAAG,KAAK,CAAC,iBAAiB,EAAE;AACzC,YAAY,MAAM;AAClB,SAAS;AACT,QAAQ,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAC9B;AACA,QAAQ,IAAI,WAAW,CAAC,KAAK,CAAC;AAC9B,YAAY,OAAO,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE;AAC9C,YAAY,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACjC,YAAY,KAAK,CAAC,iBAAiB,GAAG,CAAC,CAAC;AACxC;AACA;AACA,YAAY,MAAM;AAClB,SAAS;AACT;AACA,QAAQ,IAAI,CAAC,GAAG,cAAc,IAAI,KAAK,KAAK,cAAc,CAAC,CAAC,CAAC,EAAE;AAC/D,YAAY,SAAS;AACrB,SAAS;AACT;AACA;AACA,QAAQ,KAAK,CAAC,iBAAiB,GAAG,SAAS,CAAC;AAC5C,QAAQ,cAAc,GAAG,CAAC,CAAC;AAC3B,QAAQ,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,KAAK;AACvD,YAAY,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACtD;AACA;AACA;AACA,YAAY,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,KAAK,GAAG,KAAK,CAAC,iBAAiB,EAAE;AAC/D,gBAAgB,KAAK,CAAC,iBAAiB,GAAG,KAAK,CAAC;AAChD,gBAAgB,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;AAC7C,gBAAgB,IAAI,CAAC,MAAM,EAAE,CAAC;AAC9B,aAAa;AACb,SAAS,CAAC,CAAC;AACX,KAAK;AACL,CAAC;;;;"}
1
+ {"version":3,"file":"until.js","sources":["../../../../../node_modules/lit-html/src/directives/until.ts"],"sourcesContent":["/**\n * @license\n * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.\n * This code may only be used under the BSD style license found at\n * http://polymer.github.io/LICENSE.txt\n * The complete set of authors may be found at\n * http://polymer.github.io/AUTHORS.txt\n * The complete set of contributors may be found at\n * http://polymer.github.io/CONTRIBUTORS.txt\n * Code distributed by Google as part of the polymer project is also\n * subject to an additional IP rights grant found at\n * http://polymer.github.io/PATENTS.txt\n */\n\nimport {isPrimitive} from '../lib/parts.js';\nimport {directive, Part} from '../lit-html.js';\n\ninterface AsyncState {\n /**\n * The last rendered index of a call to until(). A value only renders if its\n * index is less than the `lastRenderedIndex`.\n */\n lastRenderedIndex: number;\n\n values: unknown[];\n}\n\nconst _state = new WeakMap<Part, AsyncState>();\n// Effectively infinity, but a SMI.\nconst _infinity = 0x7fffffff;\n\n/**\n * Renders one of a series of values, including Promises, to a Part.\n *\n * Values are rendered in priority order, with the first argument having the\n * highest priority and the last argument having the lowest priority. If a\n * value is a Promise, low-priority values will be rendered until it resolves.\n *\n * The priority of values can be used to create placeholder content for async\n * data. For example, a Promise with pending content can be the first,\n * highest-priority, argument, and a non_promise loading indicator template can\n * be used as the second, lower-priority, argument. The loading indicator will\n * render immediately, and the primary content will render when the Promise\n * resolves.\n *\n * Example:\n *\n * const content = fetch('./content.txt').then(r => r.text());\n * html`${until(content, html`<span>Loading...</span>`)}`\n */\nexport const until = directive((...args: unknown[]) => (part: Part) => {\n let state = _state.get(part)!;\n if (state === undefined) {\n state = {\n lastRenderedIndex: _infinity,\n values: [],\n };\n _state.set(part, state);\n }\n const previousValues = state.values;\n let previousLength = previousValues.length;\n state.values = args;\n\n for (let i = 0; i < args.length; i++) {\n // If we've rendered a higher-priority value already, stop.\n if (i > state.lastRenderedIndex) {\n break;\n }\n\n const value = args[i];\n\n // Render non-Promise values immediately\n if (isPrimitive(value) ||\n typeof (value as {then?: unknown}).then !== 'function') {\n part.setValue(value);\n state.lastRenderedIndex = i;\n // Since a lower-priority value will never overwrite a higher-priority\n // synchronous value, we can stop processing now.\n break;\n }\n\n // If this is a Promise we've already handled, skip it.\n if (i < previousLength && value === previousValues[i]) {\n continue;\n }\n\n // We have a Promise that we haven't seen before, so priorities may have\n // changed. Forget what we rendered before.\n state.lastRenderedIndex = _infinity;\n previousLength = 0;\n\n Promise.resolve(value).then((resolvedValue: unknown) => {\n const index = state.values.indexOf(value);\n // If state.values doesn't contain the value, we've re-rendered without\n // the value, so don't render it. Then, only render if the value is\n // higher-priority than what's already been rendered.\n if (index > -1 && index < state.lastRenderedIndex) {\n state.lastRenderedIndex = index;\n part.setValue(resolvedValue);\n part.commit();\n }\n });\n }\n});\n"],"names":["_state","WeakMap","_infinity","until","directive","args","part","state","get","undefined","lastRenderedIndex","values","set","previousValues","previousLength","length","i","value","isPrimitive","then","setValue","Promise","resolve","resolvedValue","index","indexOf","commit"],"mappings":";;AAAA;;;;;;;;;;;;;AA2BA,MAAMA,MAAM,GAAG,IAAIC,OAAO,EAAoB;AAC9C;AACA,MAAMC,SAAS,GAAG,UAAU;AAE5B;;;;;;;;;;;;;;;;;;;MAmBaC,KAAK,GAAGC,SAAS,CAAC,CAAC,GAAGC,IAAe,KAAMC,IAAU,IAAI;EACpE,IAAIC,KAAK,GAAGP,MAAM,CAACQ,GAAG,CAACF,IAAI,CAAE;EAC7B,IAAIC,KAAK,KAAKE,SAAS,EAAE;IACvBF,KAAK,GAAG;MACNG,iBAAiB,EAAER,SAAS;MAC5BS,MAAM,EAAE;KACT;IACDX,MAAM,CAACY,GAAG,CAACN,IAAI,EAAEC,KAAK,CAAC;;EAEzB,MAAMM,cAAc,GAAGN,KAAK,CAACI,MAAM;EACnC,IAAIG,cAAc,GAAGD,cAAc,CAACE,MAAM;EAC1CR,KAAK,CAACI,MAAM,GAAGN,IAAI;EAEnB,KAAK,IAAIW,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGX,IAAI,CAACU,MAAM,EAAEC,CAAC,EAAE,EAAE;;IAEpC,IAAIA,CAAC,GAAGT,KAAK,CAACG,iBAAiB,EAAE;MAC/B;;IAGF,MAAMO,KAAK,GAAGZ,IAAI,CAACW,CAAC,CAAC;;IAGrB,IAAIE,WAAW,CAACD,KAAK,CAAC,IAClB,OAAQA,KAA0B,CAACE,IAAI,KAAK,UAAU,EAAE;MAC1Db,IAAI,CAACc,QAAQ,CAACH,KAAK,CAAC;MACpBV,KAAK,CAACG,iBAAiB,GAAGM,CAAC;;;MAG3B;;;IAIF,IAAIA,CAAC,GAAGF,cAAc,IAAIG,KAAK,KAAKJ,cAAc,CAACG,CAAC,CAAC,EAAE;MACrD;;;;IAKFT,KAAK,CAACG,iBAAiB,GAAGR,SAAS;IACnCY,cAAc,GAAG,CAAC;IAElBO,OAAO,CAACC,OAAO,CAACL,KAAK,CAAC,CAACE,IAAI,CAAEI,aAAsB,IAAI;MACrD,MAAMC,KAAK,GAAGjB,KAAK,CAACI,MAAM,CAACc,OAAO,CAACR,KAAK,CAAC;;;;MAIzC,IAAIO,KAAK,GAAG,CAAC,CAAC,IAAIA,KAAK,GAAGjB,KAAK,CAACG,iBAAiB,EAAE;QACjDH,KAAK,CAACG,iBAAiB,GAAGc,KAAK;QAC/BlB,IAAI,CAACc,QAAQ,CAACG,aAAa,CAAC;QAC5BjB,IAAI,CAACoB,MAAM,EAAE;;KAEhB,CAAC;;AAEN,CAAC;;;;"}
@@ -1,5 +1,5 @@
1
- import { m as marker, T as Template, r as removeNodes, N as NodePart } from './common/lit-html-babd44cd.js';
2
- export { d as directive, h as html, n as noChange } from './common/lit-html-babd44cd.js';
1
+ import { m as marker, T as Template, r as removeNodes, N as NodePart } from './common/lit-html-3647afce.js';
2
+ export { d as directive, h as html, n as noChange } from './common/lit-html-3647afce.js';
3
3
 
4
4
  /**
5
5
  * @license
@@ -19,32 +19,32 @@ export { d as directive, h as html, n as noChange } from './common/lit-html-babd
19
19
  * result.type and result.strings.
20
20
  */
21
21
  function templateFactory(result) {
22
- let templateCache = templateCaches.get(result.type);
23
- if (templateCache === undefined) {
24
- templateCache = {
25
- stringsArray: new WeakMap(),
26
- keyString: new Map()
27
- };
28
- templateCaches.set(result.type, templateCache);
29
- }
30
- let template = templateCache.stringsArray.get(result.strings);
31
- if (template !== undefined) {
32
- return template;
33
- }
34
- // If the TemplateStringsArray is new, generate a key from the strings
35
- // This key is shared between all templates with identical content
36
- const key = result.strings.join(marker);
37
- // Check if we already have a Template for this key
38
- template = templateCache.keyString.get(key);
39
- if (template === undefined) {
40
- // If we have not seen this key before, create a new Template
41
- template = new Template(result, result.getTemplateElement());
42
- // Cache the Template for this key
43
- templateCache.keyString.set(key, template);
44
- }
45
- // Cache all future queries for this TemplateStringsArray
46
- templateCache.stringsArray.set(result.strings, template);
22
+ let templateCache = templateCaches.get(result.type);
23
+ if (templateCache === undefined) {
24
+ templateCache = {
25
+ stringsArray: new WeakMap(),
26
+ keyString: new Map()
27
+ };
28
+ templateCaches.set(result.type, templateCache);
29
+ }
30
+ let template = templateCache.stringsArray.get(result.strings);
31
+ if (template !== undefined) {
47
32
  return template;
33
+ }
34
+ // If the TemplateStringsArray is new, generate a key from the strings
35
+ // This key is shared between all templates with identical content
36
+ const key = result.strings.join(marker);
37
+ // Check if we already have a Template for this key
38
+ template = templateCache.keyString.get(key);
39
+ if (template === undefined) {
40
+ // If we have not seen this key before, create a new Template
41
+ template = new Template(result, result.getTemplateElement());
42
+ // Cache the Template for this key
43
+ templateCache.keyString.set(key, template);
44
+ }
45
+ // Cache all future queries for this TemplateStringsArray
46
+ templateCache.stringsArray.set(result.strings, template);
47
+ return template;
48
48
  }
49
49
  const templateCaches = new Map();
50
50
 
@@ -78,14 +78,16 @@ const parts = new WeakMap();
78
78
  * container, as those changes will not effect previously rendered DOM.
79
79
  */
80
80
  const render = (result, container, options) => {
81
- let part = parts.get(container);
82
- if (part === undefined) {
83
- removeNodes(container, container.firstChild);
84
- parts.set(container, part = new NodePart(Object.assign({ templateFactory }, options)));
85
- part.appendInto(container);
86
- }
87
- part.setValue(result);
88
- part.commit();
81
+ let part = parts.get(container);
82
+ if (part === undefined) {
83
+ removeNodes(container, container.firstChild);
84
+ parts.set(container, part = new NodePart(Object.assign({
85
+ templateFactory
86
+ }, options)));
87
+ part.appendInto(container);
88
+ }
89
+ part.setValue(result);
90
+ part.commit();
89
91
  };
90
92
 
91
93
  export { render };
@@ -1 +1 @@
1
- {"version":3,"file":"lit-html.js","sources":["../../../node_modules/lit-html/lib/template-factory.js","../../../node_modules/lit-html/lib/render.js"],"sourcesContent":["/**\n * @license\n * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.\n * This code may only be used under the BSD style license found at\n * http://polymer.github.io/LICENSE.txt\n * The complete set of authors may be found at\n * http://polymer.github.io/AUTHORS.txt\n * The complete set of contributors may be found at\n * http://polymer.github.io/CONTRIBUTORS.txt\n * Code distributed by Google as part of the polymer project is also\n * subject to an additional IP rights grant found at\n * http://polymer.github.io/PATENTS.txt\n */\nimport { marker, Template } from './template.js';\n/**\n * The default TemplateFactory which caches Templates keyed on\n * result.type and result.strings.\n */\nexport function templateFactory(result) {\n let templateCache = templateCaches.get(result.type);\n if (templateCache === undefined) {\n templateCache = {\n stringsArray: new WeakMap(),\n keyString: new Map()\n };\n templateCaches.set(result.type, templateCache);\n }\n let template = templateCache.stringsArray.get(result.strings);\n if (template !== undefined) {\n return template;\n }\n // If the TemplateStringsArray is new, generate a key from the strings\n // This key is shared between all templates with identical content\n const key = result.strings.join(marker);\n // Check if we already have a Template for this key\n template = templateCache.keyString.get(key);\n if (template === undefined) {\n // If we have not seen this key before, create a new Template\n template = new Template(result, result.getTemplateElement());\n // Cache the Template for this key\n templateCache.keyString.set(key, template);\n }\n // Cache all future queries for this TemplateStringsArray\n templateCache.stringsArray.set(result.strings, template);\n return template;\n}\nexport const templateCaches = new Map();\n//# sourceMappingURL=template-factory.js.map","/**\n * @license\n * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.\n * This code may only be used under the BSD style license found at\n * http://polymer.github.io/LICENSE.txt\n * The complete set of authors may be found at\n * http://polymer.github.io/AUTHORS.txt\n * The complete set of contributors may be found at\n * http://polymer.github.io/CONTRIBUTORS.txt\n * Code distributed by Google as part of the polymer project is also\n * subject to an additional IP rights grant found at\n * http://polymer.github.io/PATENTS.txt\n */\nimport { removeNodes } from './dom.js';\nimport { NodePart } from './parts.js';\nimport { templateFactory } from './template-factory.js';\nexport const parts = new WeakMap();\n/**\n * Renders a template result or other value to a container.\n *\n * To update a container with new values, reevaluate the template literal and\n * call `render` with the new result.\n *\n * @param result Any value renderable by NodePart - typically a TemplateResult\n * created by evaluating a template tag like `html` or `svg`.\n * @param container A DOM parent to render to. The entire contents are either\n * replaced, or efficiently updated if the same result type was previous\n * rendered there.\n * @param options RenderOptions for the entire render tree rendered to this\n * container. Render options must *not* change between renders to the same\n * container, as those changes will not effect previously rendered DOM.\n */\nexport const render = (result, container, options) => {\n let part = parts.get(container);\n if (part === undefined) {\n removeNodes(container, container.firstChild);\n parts.set(container, part = new NodePart(Object.assign({ templateFactory }, options)));\n part.appendInto(container);\n }\n part.setValue(result);\n part.commit();\n};\n//# sourceMappingURL=render.js.map"],"names":[],"mappings":";;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACO,SAAS,eAAe,CAAC,MAAM,EAAE;AACxC,IAAI,IAAI,aAAa,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACxD,IAAI,IAAI,aAAa,KAAK,SAAS,EAAE;AACrC,QAAQ,aAAa,GAAG;AACxB,YAAY,YAAY,EAAE,IAAI,OAAO,EAAE;AACvC,YAAY,SAAS,EAAE,IAAI,GAAG,EAAE;AAChC,SAAS,CAAC;AACV,QAAQ,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;AACvD,KAAK;AACL,IAAI,IAAI,QAAQ,GAAG,aAAa,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAClE,IAAI,IAAI,QAAQ,KAAK,SAAS,EAAE;AAChC,QAAQ,OAAO,QAAQ,CAAC;AACxB,KAAK;AACL;AACA;AACA,IAAI,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC5C;AACA,IAAI,QAAQ,GAAG,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAChD,IAAI,IAAI,QAAQ,KAAK,SAAS,EAAE;AAChC;AACA,QAAQ,QAAQ,GAAG,IAAI,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,kBAAkB,EAAE,CAAC,CAAC;AACrE;AACA,QAAQ,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AACnD,KAAK;AACL;AACA,IAAI,aAAa,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC7D,IAAI,OAAO,QAAQ,CAAC;AACpB,CAAC;AACM,MAAM,cAAc,GAAG,IAAI,GAAG,EAAE;;AC9CvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIO,MAAM,KAAK,GAAG,IAAI,OAAO,EAAE,CAAC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,MAAM,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,KAAK;AACtD,IAAI,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AACpC,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE;AAC5B,QAAQ,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;AACrD,QAAQ,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,eAAe,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AAC/F,QAAQ,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AACnC,KAAK;AACL,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC1B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;AAClB;;;;"}
1
+ {"version":3,"file":"lit-html.js","sources":["../../../node_modules/lit-html/src/lib/template-factory.ts","../../../node_modules/lit-html/src/lib/render.ts"],"sourcesContent":["/**\n * @license\n * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.\n * This code may only be used under the BSD style license found at\n * http://polymer.github.io/LICENSE.txt\n * The complete set of authors may be found at\n * http://polymer.github.io/AUTHORS.txt\n * The complete set of contributors may be found at\n * http://polymer.github.io/CONTRIBUTORS.txt\n * Code distributed by Google as part of the polymer project is also\n * subject to an additional IP rights grant found at\n * http://polymer.github.io/PATENTS.txt\n */\n\nimport {TemplateResult} from './template-result.js';\nimport {marker, Template} from './template.js';\n\n/**\n * A function type that creates a Template from a TemplateResult.\n *\n * This is a hook into the template-creation process for rendering that\n * requires some modification of templates before they're used, like ShadyCSS,\n * which must add classes to elements and remove styles.\n *\n * Templates should be cached as aggressively as possible, so that many\n * TemplateResults produced from the same expression only do the work of\n * creating the Template the first time.\n *\n * Templates are usually cached by TemplateResult.strings and\n * TemplateResult.type, but may be cached by other keys if this function\n * modifies the template.\n *\n * Note that currently TemplateFactories must not add, remove, or reorder\n * expressions, because there is no way to describe such a modification\n * to render() so that values are interpolated to the correct place in the\n * template instances.\n */\nexport type TemplateFactory = (result: TemplateResult) => Template;\n\n/**\n * The default TemplateFactory which caches Templates keyed on\n * result.type and result.strings.\n */\nexport function templateFactory(result: TemplateResult) {\n let templateCache = templateCaches.get(result.type);\n if (templateCache === undefined) {\n templateCache = {\n stringsArray: new WeakMap<TemplateStringsArray, Template>(),\n keyString: new Map<string, Template>()\n };\n templateCaches.set(result.type, templateCache);\n }\n\n let template = templateCache.stringsArray.get(result.strings);\n if (template !== undefined) {\n return template;\n }\n\n // If the TemplateStringsArray is new, generate a key from the strings\n // This key is shared between all templates with identical content\n const key = result.strings.join(marker);\n\n // Check if we already have a Template for this key\n template = templateCache.keyString.get(key);\n if (template === undefined) {\n // If we have not seen this key before, create a new Template\n template = new Template(result, result.getTemplateElement());\n // Cache the Template for this key\n templateCache.keyString.set(key, template);\n }\n\n // Cache all future queries for this TemplateStringsArray\n templateCache.stringsArray.set(result.strings, template);\n return template;\n}\n\n/**\n * The first argument to JS template tags retain identity across multiple\n * calls to a tag for the same literal, so we can cache work done per literal\n * in a Map.\n *\n * Safari currently has a bug which occasionally breaks this behavior, so we\n * need to cache the Template at two levels. We first cache the\n * TemplateStringsArray, and if that fails, we cache a key constructed by\n * joining the strings array.\n */\nexport interface TemplateCache {\n readonly stringsArray: WeakMap<TemplateStringsArray, Template>;\n readonly keyString: Map<string, Template>;\n}\n\nexport const templateCaches = new Map<string, TemplateCache>();\n","/**\n * @license\n * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.\n * This code may only be used under the BSD style license found at\n * http://polymer.github.io/LICENSE.txt\n * The complete set of authors may be found at\n * http://polymer.github.io/AUTHORS.txt\n * The complete set of contributors may be found at\n * http://polymer.github.io/CONTRIBUTORS.txt\n * Code distributed by Google as part of the polymer project is also\n * subject to an additional IP rights grant found at\n * http://polymer.github.io/PATENTS.txt\n */\n\nimport {removeNodes} from './dom.js';\nimport {NodePart} from './parts.js';\nimport {RenderOptions} from './render-options.js';\nimport {templateFactory} from './template-factory.js';\n\nexport const parts = new WeakMap<Node, NodePart>();\n\n/**\n * Renders a template result or other value to a container.\n *\n * To update a container with new values, reevaluate the template literal and\n * call `render` with the new result.\n *\n * @param result Any value renderable by NodePart - typically a TemplateResult\n * created by evaluating a template tag like `html` or `svg`.\n * @param container A DOM parent to render to. The entire contents are either\n * replaced, or efficiently updated if the same result type was previous\n * rendered there.\n * @param options RenderOptions for the entire render tree rendered to this\n * container. Render options must *not* change between renders to the same\n * container, as those changes will not effect previously rendered DOM.\n */\nexport const render =\n (result: unknown,\n container: Element|DocumentFragment,\n options?: Partial<RenderOptions>) => {\n let part = parts.get(container);\n if (part === undefined) {\n removeNodes(container, container.firstChild);\n parts.set(container, part = new NodePart({\n templateFactory,\n ...options,\n }));\n part.appendInto(container);\n }\n part.setValue(result);\n part.commit();\n };\n"],"names":["templateFactory","result","templateCache","templateCaches","get","type","undefined","stringsArray","WeakMap","keyString","Map","set","template","strings","key","join","marker","Template","getTemplateElement","parts","render","container","options","part","removeNodes","firstChild","NodePart","Object","assign","appendInto","setValue","commit"],"mappings":";;;AAAA;;;;;;;;;;;;;AAuCA;;;;AAIM,SAAUA,eAAeA,CAACC,MAAsB;EACpD,IAAIC,aAAa,GAAGC,cAAc,CAACC,GAAG,CAACH,MAAM,CAACI,IAAI,CAAC;EACnD,IAAIH,aAAa,KAAKI,SAAS,EAAE;IAC/BJ,aAAa,GAAG;MACdK,YAAY,EAAE,IAAIC,OAAO,EAAkC;MAC3DC,SAAS,EAAE,IAAIC,GAAG;KACnB;IACDP,cAAc,CAACQ,GAAG,CAACV,MAAM,CAACI,IAAI,EAAEH,aAAa,CAAC;;EAGhD,IAAIU,QAAQ,GAAGV,aAAa,CAACK,YAAY,CAACH,GAAG,CAACH,MAAM,CAACY,OAAO,CAAC;EAC7D,IAAID,QAAQ,KAAKN,SAAS,EAAE;IAC1B,OAAOM,QAAQ;;;;EAKjB,MAAME,GAAG,GAAGb,MAAM,CAACY,OAAO,CAACE,IAAI,CAACC,MAAM,CAAC;;EAGvCJ,QAAQ,GAAGV,aAAa,CAACO,SAAS,CAACL,GAAG,CAACU,GAAG,CAAC;EAC3C,IAAIF,QAAQ,KAAKN,SAAS,EAAE;;IAE1BM,QAAQ,GAAG,IAAIK,QAAQ,CAAChB,MAAM,EAAEA,MAAM,CAACiB,kBAAkB,EAAE,CAAC;;IAE5DhB,aAAa,CAACO,SAAS,CAACE,GAAG,CAACG,GAAG,EAAEF,QAAQ,CAAC;;;EAI5CV,aAAa,CAACK,YAAY,CAACI,GAAG,CAACV,MAAM,CAACY,OAAO,EAAED,QAAQ,CAAC;EACxD,OAAOA,QAAQ;AACjB;AAiBO,MAAMT,cAAc,GAAG,IAAIO,GAAG,EAAyB;;AC3F9D;;;;;;;;;;;;;AAmBO,MAAMS,KAAK,GAAG,IAAIX,OAAO,EAAkB;AAElD;;;;;;;;;;;;;;;MAeaY,MAAM,GACfA,CAACnB,MAAe,EACfoB,SAAmC,EACnCC,OAAgC,KAAI;EACnC,IAAIC,IAAI,GAAGJ,KAAK,CAACf,GAAG,CAACiB,SAAS,CAAC;EAC/B,IAAIE,IAAI,KAAKjB,SAAS,EAAE;IACtBkB,WAAW,CAACH,SAAS,EAAEA,SAAS,CAACI,UAAU,CAAC;IAC5CN,KAAK,CAACR,GAAG,CAACU,SAAS,EAAEE,IAAI,GAAG,IAAIG,QAAQ,CAAAC,MAAA,CAAAC,MAAA;MACjB5B;OACGsB,OAAO,EACV,CAAC;IACxBC,IAAI,CAACM,UAAU,CAACR,SAAS,CAAC;;EAE5BE,IAAI,CAACO,QAAQ,CAAC7B,MAAM,CAAC;EACrBsB,IAAI,CAACQ,MAAM,EAAE;AACf;;;;"}
@@ -1,9 +1,7 @@
1
1
  // Adapted from https://github.com/markdown-it/markdown-it/blob/fbc6b0fed563ba7c00557ab638fd19752f8e759d/docs/architecture.md
2
-
3
2
  function findFirstMatchingConfig(link, configs) {
4
3
  var i, config;
5
4
  var href = link.attrs[link.attrIndex("href")][1];
6
-
7
5
  for (i = 0; i < configs.length; ++i) {
8
6
  config = configs[i];
9
7
 
@@ -18,25 +16,20 @@ function findFirstMatchingConfig(link, configs) {
18
16
  continue;
19
17
  }
20
18
  }
21
-
22
19
  return config;
23
20
  }
24
21
  }
25
-
26
22
  function applyAttributes(idx, tokens, attributes) {
27
23
  Object.keys(attributes).forEach(function (attr) {
28
24
  var attrIndex;
29
25
  var value = attributes[attr];
30
-
31
26
  if (attr === "className") {
32
27
  // when dealing with applying classes
33
28
  // programatically, some programmers
34
29
  // may prefer to use the className syntax
35
30
  attr = "class";
36
31
  }
37
-
38
32
  attrIndex = tokens[idx].attrIndex(attr);
39
-
40
33
  if (attrIndex < 0) {
41
34
  // attr doesn't exist, add new attribute
42
35
  tokens[idx].attrPush([attr, value]);
@@ -53,15 +46,11 @@ function markdownitLinkAttributes(md, configs) {
53
46
  } else {
54
47
  configs = Array.isArray(configs) ? configs : [configs];
55
48
  }
56
-
57
49
  Object.freeze(configs);
58
-
59
50
  var defaultRender = md.renderer.rules.link_open || this.defaultRender;
60
-
61
51
  md.renderer.rules.link_open = function (tokens, idx, options, env, self) {
62
52
  var config = findFirstMatchingConfig(tokens[idx], configs);
63
53
  var attributes = config && config.attrs;
64
-
65
54
  if (attributes) {
66
55
  applyAttributes(idx, tokens, attributes);
67
56
  }
@@ -70,17 +59,9 @@ function markdownitLinkAttributes(md, configs) {
70
59
  return defaultRender(tokens, idx, options, env, self);
71
60
  };
72
61
  }
73
-
74
- markdownitLinkAttributes.defaultRender = function (
75
- tokens,
76
- idx,
77
- options,
78
- env,
79
- self
80
- ) {
62
+ markdownitLinkAttributes.defaultRender = function (tokens, idx, options, env, self) {
81
63
  return self.renderToken(tokens, idx, options);
82
64
  };
83
-
84
65
  var markdownItLinkAttributes = markdownitLinkAttributes;
85
66
 
86
67
  export default markdownItLinkAttributes;
@@ -1 +1 @@
1
- {"version":3,"file":"markdown-it-link-attributes.js","sources":["../../../node_modules/markdown-it-link-attributes/index.js"],"sourcesContent":["\"use strict\";\n\n// Adapted from https://github.com/markdown-it/markdown-it/blob/fbc6b0fed563ba7c00557ab638fd19752f8e759d/docs/architecture.md\n\nfunction findFirstMatchingConfig(link, configs) {\n var i, config;\n var href = link.attrs[link.attrIndex(\"href\")][1];\n\n for (i = 0; i < configs.length; ++i) {\n config = configs[i];\n\n // If there is a matcher function defined then call it\n // Matcher Function should return a boolean indicating\n // whether or not it matched. If it matched, use that\n // configuration, otherwise, try the next one.\n if (typeof config.matcher === \"function\") {\n if (config.matcher(href, config)) {\n return config;\n } else {\n continue;\n }\n }\n\n return config;\n }\n}\n\nfunction applyAttributes(idx, tokens, attributes) {\n Object.keys(attributes).forEach(function (attr) {\n var attrIndex;\n var value = attributes[attr];\n\n if (attr === \"className\") {\n // when dealing with applying classes\n // programatically, some programmers\n // may prefer to use the className syntax\n attr = \"class\";\n }\n\n attrIndex = tokens[idx].attrIndex(attr);\n\n if (attrIndex < 0) {\n // attr doesn't exist, add new attribute\n tokens[idx].attrPush([attr, value]);\n } else {\n // attr already exists, overwrite it\n tokens[idx].attrs[attrIndex][1] = value; // replace value of existing attr\n }\n });\n}\n\nfunction markdownitLinkAttributes(md, configs) {\n if (!configs) {\n configs = [];\n } else {\n configs = Array.isArray(configs) ? configs : [configs];\n }\n\n Object.freeze(configs);\n\n var defaultRender = md.renderer.rules.link_open || this.defaultRender;\n\n md.renderer.rules.link_open = function (tokens, idx, options, env, self) {\n var config = findFirstMatchingConfig(tokens[idx], configs);\n var attributes = config && config.attrs;\n\n if (attributes) {\n applyAttributes(idx, tokens, attributes);\n }\n\n // pass token to default renderer.\n return defaultRender(tokens, idx, options, env, self);\n };\n}\n\nmarkdownitLinkAttributes.defaultRender = function (\n tokens,\n idx,\n options,\n env,\n self\n) {\n return self.renderToken(tokens, idx, options);\n};\n\nmodule.exports = markdownitLinkAttributes;\n"],"names":[],"mappings":"AAEA;AACA;AACA,SAAS,uBAAuB,CAAC,IAAI,EAAE,OAAO,EAAE;AAChD,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC;AAChB,EAAE,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD;AACA,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;AACvC,IAAI,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AACxB;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,UAAU,EAAE;AAC9C,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE;AACxC,QAAQ,OAAO,MAAM,CAAC;AACtB,OAAO,MAAM;AACb,QAAQ,SAAS;AACjB,OAAO;AACP,KAAK;AACL;AACA,IAAI,OAAO,MAAM,CAAC;AAClB,GAAG;AACH,CAAC;AACD;AACA,SAAS,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE;AAClD,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE;AAClD,IAAI,IAAI,SAAS,CAAC;AAClB,IAAI,IAAI,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;AACjC;AACA,IAAI,IAAI,IAAI,KAAK,WAAW,EAAE;AAC9B;AACA;AACA;AACA,MAAM,IAAI,GAAG,OAAO,CAAC;AACrB,KAAK;AACL;AACA,IAAI,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAC5C;AACA,IAAI,IAAI,SAAS,GAAG,CAAC,EAAE;AACvB;AACA,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;AAC1C,KAAK,MAAM;AACX;AACA,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;AAC9C,KAAK;AACL,GAAG,CAAC,CAAC;AACL,CAAC;AACD;AACA,SAAS,wBAAwB,CAAC,EAAE,EAAE,OAAO,EAAE;AAC/C,EAAE,IAAI,CAAC,OAAO,EAAE;AAChB,IAAI,OAAO,GAAG,EAAE,CAAC;AACjB,GAAG,MAAM;AACT,IAAI,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC;AAC3D,GAAG;AACH;AACA,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACzB;AACA,EAAE,IAAI,aAAa,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,aAAa,CAAC;AACxE;AACA,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,GAAG,UAAU,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE;AAC3E,IAAI,IAAI,MAAM,GAAG,uBAAuB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;AAC/D,IAAI,IAAI,UAAU,GAAG,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC;AAC5C;AACA,IAAI,IAAI,UAAU,EAAE;AACpB,MAAM,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AAC/C,KAAK;AACL;AACA;AACA,IAAI,OAAO,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AAC1D,GAAG,CAAC;AACJ,CAAC;AACD;AACA,wBAAwB,CAAC,aAAa,GAAG;AACzC,EAAE,MAAM;AACR,EAAE,GAAG;AACL,EAAE,OAAO;AACT,EAAE,GAAG;AACL,EAAE,IAAI;AACN,EAAE;AACF,EAAE,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;AAChD,CAAC,CAAC;AACF;4BACc,GAAG;;;;"}
1
+ {"version":3,"file":"markdown-it-link-attributes.js","sources":["../../../node_modules/markdown-it-link-attributes/index.js"],"sourcesContent":["\"use strict\";\n\n// Adapted from https://github.com/markdown-it/markdown-it/blob/fbc6b0fed563ba7c00557ab638fd19752f8e759d/docs/architecture.md\n\nfunction findFirstMatchingConfig(link, configs) {\n var i, config;\n var href = link.attrs[link.attrIndex(\"href\")][1];\n\n for (i = 0; i < configs.length; ++i) {\n config = configs[i];\n\n // If there is a matcher function defined then call it\n // Matcher Function should return a boolean indicating\n // whether or not it matched. If it matched, use that\n // configuration, otherwise, try the next one.\n if (typeof config.matcher === \"function\") {\n if (config.matcher(href, config)) {\n return config;\n } else {\n continue;\n }\n }\n\n return config;\n }\n}\n\nfunction applyAttributes(idx, tokens, attributes) {\n Object.keys(attributes).forEach(function (attr) {\n var attrIndex;\n var value = attributes[attr];\n\n if (attr === \"className\") {\n // when dealing with applying classes\n // programatically, some programmers\n // may prefer to use the className syntax\n attr = \"class\";\n }\n\n attrIndex = tokens[idx].attrIndex(attr);\n\n if (attrIndex < 0) {\n // attr doesn't exist, add new attribute\n tokens[idx].attrPush([attr, value]);\n } else {\n // attr already exists, overwrite it\n tokens[idx].attrs[attrIndex][1] = value; // replace value of existing attr\n }\n });\n}\n\nfunction markdownitLinkAttributes(md, configs) {\n if (!configs) {\n configs = [];\n } else {\n configs = Array.isArray(configs) ? configs : [configs];\n }\n\n Object.freeze(configs);\n\n var defaultRender = md.renderer.rules.link_open || this.defaultRender;\n\n md.renderer.rules.link_open = function (tokens, idx, options, env, self) {\n var config = findFirstMatchingConfig(tokens[idx], configs);\n var attributes = config && config.attrs;\n\n if (attributes) {\n applyAttributes(idx, tokens, attributes);\n }\n\n // pass token to default renderer.\n return defaultRender(tokens, idx, options, env, self);\n };\n}\n\nmarkdownitLinkAttributes.defaultRender = function (\n tokens,\n idx,\n options,\n env,\n self\n) {\n return self.renderToken(tokens, idx, options);\n};\n\nmodule.exports = markdownitLinkAttributes;\n"],"names":["findFirstMatchingConfig","link","configs","i","config","href","attrs","attrIndex","length","matcher","applyAttributes","idx","tokens","attributes","Object","keys","forEach","attr","value","attrPush","markdownitLinkAttributes","md","Array","isArray","freeze","defaultRender","renderer","rules","link_open","options","env","self","renderToken"],"mappings":"AAEA;AAEA,SAASA,uBAAuBA,CAACC,IAAI,EAAEC,OAAO,EAAE;EAC9C,IAAIC,CAAC,EAAEC,MAAM;EACb,IAAIC,IAAI,GAAGJ,IAAI,CAACK,KAAK,CAACL,IAAI,CAACM,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;EAEhD,KAAKJ,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,OAAO,CAACM,MAAM,EAAE,EAAEL,CAAC,EAAE;IACnCC,MAAM,GAAGF,OAAO,CAACC,CAAC,CAAC;;;;;;IAMnB,IAAI,OAAOC,MAAM,CAACK,OAAO,KAAK,UAAU,EAAE;MACxC,IAAIL,MAAM,CAACK,OAAO,CAACJ,IAAI,EAAED,MAAM,CAAC,EAAE;QAChC,OAAOA,MAAM;OACd,MAAM;QACL;;;IAIJ,OAAOA,MAAM;;AAEjB;AAEA,SAASM,eAAeA,CAACC,GAAG,EAAEC,MAAM,EAAEC,UAAU,EAAE;EAChDC,MAAM,CAACC,IAAI,CAACF,UAAU,CAAC,CAACG,OAAO,CAAC,UAAUC,IAAI,EAAE;IAC9C,IAAIV,SAAS;IACb,IAAIW,KAAK,GAAGL,UAAU,CAACI,IAAI,CAAC;IAE5B,IAAIA,IAAI,KAAK,WAAW,EAAE;;;;MAIxBA,IAAI,GAAG,OAAO;;IAGhBV,SAAS,GAAGK,MAAM,CAACD,GAAG,CAAC,CAACJ,SAAS,CAACU,IAAI,CAAC;IAEvC,IAAIV,SAAS,GAAG,CAAC,EAAE;;MAEjBK,MAAM,CAACD,GAAG,CAAC,CAACQ,QAAQ,CAAC,CAACF,IAAI,EAAEC,KAAK,CAAC,CAAC;KACpC,MAAM;;MAELN,MAAM,CAACD,GAAG,CAAC,CAACL,KAAK,CAACC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAGW,KAAK,CAAC;;GAE3C,CAAC;AACJ;;AAEA,SAASE,wBAAwBA,CAACC,EAAE,EAAEnB,OAAO,EAAE;EAC7C,IAAI,CAACA,OAAO,EAAE;IACZA,OAAO,GAAG,EAAE;GACb,MAAM;IACLA,OAAO,GAAGoB,KAAK,CAACC,OAAO,CAACrB,OAAO,CAAC,GAAGA,OAAO,GAAG,CAACA,OAAO,CAAC;;EAGxDY,MAAM,CAACU,MAAM,CAACtB,OAAO,CAAC;EAEtB,IAAIuB,aAAa,GAAGJ,EAAE,CAACK,QAAQ,CAACC,KAAK,CAACC,SAAS,IAAI,IAAI,CAACH,aAAa;EAErEJ,EAAE,CAACK,QAAQ,CAACC,KAAK,CAACC,SAAS,GAAG,UAAUhB,MAAM,EAAED,GAAG,EAAEkB,OAAO,EAAEC,GAAG,EAAEC,IAAI,EAAE;IACvE,IAAI3B,MAAM,GAAGJ,uBAAuB,CAACY,MAAM,CAACD,GAAG,CAAC,EAAET,OAAO,CAAC;IAC1D,IAAIW,UAAU,GAAGT,MAAM,IAAIA,MAAM,CAACE,KAAK;IAEvC,IAAIO,UAAU,EAAE;MACdH,eAAe,CAACC,GAAG,EAAEC,MAAM,EAAEC,UAAU,CAAC;;;;IAI1C,OAAOY,aAAa,CAACb,MAAM,EAAED,GAAG,EAAEkB,OAAO,EAAEC,GAAG,EAAEC,IAAI,CAAC;GACtD;AACH;AAEAX,wBAAwB,CAACK,aAAa,GAAG,UACvCb,MAAM,EACND,GAAG,EACHkB,OAAO,EACPC,GAAG,EACHC,IAAI,EACJ;EACA,OAAOA,IAAI,CAACC,WAAW,CAACpB,MAAM,EAAED,GAAG,EAAEkB,OAAO,CAAC;AAC/C,CAAC;4BAEa,GAAGT;;;;"}