@universal-material/web 3.0.69 → 3.0.70

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 (194) hide show
  1. package/app-bar/top-app-bar.js +3 -2
  2. package/app-bar/top-app-bar.js.map +1 -1
  3. package/button/button-base.d.ts +1 -0
  4. package/button/button-base.d.ts.map +1 -1
  5. package/button/button-base.js +7 -18
  6. package/button/button-base.js.map +1 -1
  7. package/button/button-base.styles.d.ts +2 -0
  8. package/button/button-base.styles.d.ts.map +1 -0
  9. package/button/button-base.styles.js +16 -0
  10. package/button/button-base.styles.js.map +1 -0
  11. package/button/button-set.d.ts +1 -1
  12. package/button/button-set.d.ts.map +1 -1
  13. package/button/button-set.js +1 -1
  14. package/button/button-set.js.map +1 -1
  15. package/button/button-set.styles.d.ts.map +1 -1
  16. package/button/button-set.styles.js +0 -19
  17. package/button/button-set.styles.js.map +1 -1
  18. package/button/button.d.ts +2 -2
  19. package/button/button.d.ts.map +1 -1
  20. package/button/button.js +1 -1
  21. package/button/button.js.map +1 -1
  22. package/button/button.styles.d.ts.map +1 -1
  23. package/button/button.styles.js +0 -100
  24. package/button/button.styles.js.map +1 -1
  25. package/button/fab.d.ts +2 -2
  26. package/button/fab.d.ts.map +1 -1
  27. package/button/fab.js +1 -1
  28. package/button/fab.js.map +1 -1
  29. package/button/fab.styles.d.ts.map +1 -1
  30. package/button/fab.styles.js +0 -100
  31. package/button/fab.styles.js.map +1 -1
  32. package/button/icon-button.d.ts +2 -2
  33. package/button/icon-button.d.ts.map +1 -1
  34. package/button/icon-button.js +1 -1
  35. package/button/icon-button.js.map +1 -1
  36. package/button/icon-button.styles.d.ts.map +1 -1
  37. package/button/icon-button.styles.js +0 -100
  38. package/button/icon-button.styles.js.map +1 -1
  39. package/card/card-content.js +1 -1
  40. package/card/card-content.js.map +1 -1
  41. package/card/card-media.js +1 -1
  42. package/card/card-media.js.map +1 -1
  43. package/card/card.js +1 -1
  44. package/card/card.js.map +1 -1
  45. package/checkbox/checkbox.js +8 -20
  46. package/checkbox/checkbox.js.map +1 -1
  47. package/chip/chip-set.d.ts +1 -1
  48. package/chip/chip-set.d.ts.map +1 -1
  49. package/chip/chip-set.js +1 -1
  50. package/chip/chip-set.js.map +1 -1
  51. package/chip/chip-set.styles.d.ts.map +1 -1
  52. package/chip/chip-set.styles.js +0 -19
  53. package/chip/chip-set.styles.js.map +1 -1
  54. package/chip/chip.d.ts +1 -1
  55. package/chip/chip.d.ts.map +1 -1
  56. package/chip/chip.js +39 -54
  57. package/chip/chip.js.map +1 -1
  58. package/chip/chip.styles.d.ts.map +1 -1
  59. package/chip/chip.styles.js +0 -87
  60. package/chip/chip.styles.js.map +1 -1
  61. package/chip-field/chip-field.js +72 -86
  62. package/chip-field/chip-field.js.map +1 -1
  63. package/custom-elements.json +2854 -2185
  64. package/dialog/confirm-dialog-builder.js +6 -22
  65. package/dialog/confirm-dialog-builder.js.map +1 -1
  66. package/dialog/dialog-builder.js +4 -17
  67. package/dialog/dialog-builder.js.map +1 -1
  68. package/dialog/dialog.js +65 -80
  69. package/dialog/dialog.js.map +1 -1
  70. package/dialog/message-dialog-builder.js +3 -19
  71. package/dialog/message-dialog-builder.js.map +1 -1
  72. package/elevation/elevation.js +1 -1
  73. package/elevation/elevation.js.map +1 -1
  74. package/field/field-base.d.ts +2 -2
  75. package/field/field-base.d.ts.map +1 -1
  76. package/field/field-base.js +13 -16
  77. package/field/field-base.js.map +1 -1
  78. package/field/field-base.styles.js +1 -1
  79. package/field/field-base.styles.js.map +1 -1
  80. package/list/list-item.js +1 -1
  81. package/list/list-item.js.map +1 -1
  82. package/list/list.js +1 -1
  83. package/list/list.js.map +1 -1
  84. package/menu/menu-item.d.ts +12 -6
  85. package/menu/menu-item.d.ts.map +1 -1
  86. package/menu/menu-item.js +49 -31
  87. package/menu/menu-item.js.map +1 -1
  88. package/menu/menu-item.styles.d.ts.map +1 -1
  89. package/menu/menu-item.styles.js +15 -90
  90. package/menu/menu-item.styles.js.map +1 -1
  91. package/menu/menu.d.ts.map +1 -1
  92. package/menu/menu.js +129 -134
  93. package/menu/menu.js.map +1 -1
  94. package/navigation/drawer-item.d.ts +1 -1
  95. package/navigation/drawer-item.d.ts.map +1 -1
  96. package/navigation/drawer-item.js +4 -5
  97. package/navigation/drawer-item.js.map +1 -1
  98. package/navigation/drawer-item.styles.d.ts.map +1 -1
  99. package/navigation/drawer-item.styles.js +0 -87
  100. package/navigation/drawer-item.styles.js.map +1 -1
  101. package/navigation/drawer.js +4 -4
  102. package/navigation/drawer.js.map +1 -1
  103. package/navigation/side-navigation.js +8 -20
  104. package/navigation/side-navigation.js.map +1 -1
  105. package/package.json +18 -18
  106. package/progress/circular-progress.d.ts +1 -2
  107. package/progress/circular-progress.d.ts.map +1 -1
  108. package/progress/circular-progress.js +19 -27
  109. package/progress/circular-progress.js.map +1 -1
  110. package/progress/progress-bar.d.ts +1 -2
  111. package/progress/progress-bar.d.ts.map +1 -1
  112. package/progress/progress-bar.js +12 -20
  113. package/progress/progress-bar.js.map +1 -1
  114. package/radio/radio.js +53 -61
  115. package/radio/radio.js.map +1 -1
  116. package/ripple/ripple.js +3 -2
  117. package/ripple/ripple.js.map +1 -1
  118. package/select/extended-option.d.ts +5 -0
  119. package/select/extended-option.d.ts.map +1 -0
  120. package/select/extended-option.js +2 -0
  121. package/select/extended-option.js.map +1 -0
  122. package/select/extended-select.d.ts +6 -0
  123. package/select/extended-select.d.ts.map +1 -0
  124. package/select/extended-select.js +2 -0
  125. package/select/extended-select.js.map +1 -0
  126. package/select/option.d.ts +10 -0
  127. package/select/option.d.ts.map +1 -1
  128. package/select/option.js +84 -74
  129. package/select/option.js.map +1 -1
  130. package/select/option.styles.d.ts.map +1 -1
  131. package/select/option.styles.js +10 -0
  132. package/select/option.styles.js.map +1 -1
  133. package/select/select-navigation-controller.d.ts +10 -2
  134. package/select/select-navigation-controller.d.ts.map +1 -1
  135. package/select/select-navigation-controller.js +66 -3
  136. package/select/select-navigation-controller.js.map +1 -1
  137. package/select/select.d.ts +10 -4
  138. package/select/select.d.ts.map +1 -1
  139. package/select/select.js +179 -68
  140. package/select/select.js.map +1 -1
  141. package/select/select.styles.d.ts.map +1 -1
  142. package/select/select.styles.js +15 -6
  143. package/select/select.styles.js.map +1 -1
  144. package/shared/button-wrapper.d.ts +2 -0
  145. package/shared/button-wrapper.d.ts.map +1 -1
  146. package/shared/button-wrapper.js +18 -22
  147. package/shared/button-wrapper.js.map +1 -1
  148. package/shared/button-wrapper.styles.d.ts +2 -0
  149. package/shared/button-wrapper.styles.d.ts.map +1 -0
  150. package/shared/button-wrapper.styles.js +63 -0
  151. package/shared/button-wrapper.styles.js.map +1 -0
  152. package/shared/compare-text.d.ts +2 -0
  153. package/shared/compare-text.d.ts.map +1 -0
  154. package/shared/compare-text.js +5 -0
  155. package/shared/compare-text.js.map +1 -0
  156. package/shared/menu-field/menu-field-navigation-controller.d.ts +11 -4
  157. package/shared/menu-field/menu-field-navigation-controller.d.ts.map +1 -1
  158. package/shared/menu-field/menu-field-navigation-controller.js +56 -31
  159. package/shared/menu-field/menu-field-navigation-controller.js.map +1 -1
  160. package/shared/mixin-attribute-properties.d.ts.map +1 -1
  161. package/shared/normalize-text.d.ts +1 -1
  162. package/shared/normalize-text.d.ts.map +1 -1
  163. package/shared/normalize-text.js +1 -1
  164. package/shared/normalize-text.js.map +1 -1
  165. package/shared/selection-control/selection-control-list-item.d.ts.map +1 -1
  166. package/shared/selection-control/selection-control-list-item.js +7 -7
  167. package/shared/selection-control/selection-control-list-item.js.map +1 -1
  168. package/shared/selection-control/selection-control.js +16 -28
  169. package/shared/selection-control/selection-control.js.map +1 -1
  170. package/shared/sets/set-base.d.ts +2 -0
  171. package/shared/sets/set-base.d.ts.map +1 -1
  172. package/shared/sets/set-base.js +2 -0
  173. package/shared/sets/set-base.js.map +1 -1
  174. package/shared/sets/set-base.styles.d.ts +2 -0
  175. package/shared/sets/set-base.styles.d.ts.map +1 -0
  176. package/shared/sets/set-base.styles.js +22 -0
  177. package/shared/sets/set-base.styles.js.map +1 -0
  178. package/shared/text-field-base/text-field-base.js +6 -6
  179. package/shared/text-field-base/text-field-base.js.map +1 -1
  180. package/snackbar/snackbar.d.ts.map +1 -1
  181. package/snackbar/snackbar.js +13 -7
  182. package/snackbar/snackbar.js.map +1 -1
  183. package/switch/switch.js +4 -4
  184. package/switch/switch.js.map +1 -1
  185. package/text-field/text-field.d.ts +2 -0
  186. package/text-field/text-field.d.ts.map +1 -1
  187. package/text-field/text-field.js +22 -30
  188. package/text-field/text-field.js.map +1 -1
  189. package/typeahead/highlight.js +7 -24
  190. package/typeahead/highlight.js.map +1 -1
  191. package/typeahead/typeahead.d.ts +3 -0
  192. package/typeahead/typeahead.d.ts.map +1 -1
  193. package/typeahead/typeahead.js +184 -180
  194. package/typeahead/typeahead.js.map +1 -1
@@ -4,18 +4,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
- };
12
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
13
- if (kind === "m") throw new TypeError("Private method is not writable");
14
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
15
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
16
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
17
- };
18
- var _UmSideNavigation_toggleDrawer;
19
7
  import { html, LitElement } from 'lit';
20
8
  import { customElement, property, query } from 'lit/decorators.js';
21
9
  import { styles as baseStyles } from '../shared/base.styles.js';
@@ -26,18 +14,23 @@ import '../elevation/elevation.js';
26
14
  let UmSideNavigation = class UmSideNavigation extends LitElement {
27
15
  constructor() {
28
16
  super(...arguments);
29
- _UmSideNavigation_toggleDrawer.set(this, false);
17
+ this.#toggleDrawer = false;
30
18
  this.disableSlideAnimation = false;
31
19
  }
20
+ static { this.styles = [
21
+ baseStyles,
22
+ config.navigationDrawer.useSwiperJs ? swiperStyles : styles
23
+ ]; }
24
+ #toggleDrawer;
32
25
  /**
33
26
  * Toggle the navigation drawer visibility
34
27
  *
35
28
  * _Modal drawer_: Open if `true`, closed if `false`
36
29
  * _Standard drawer_: Collapsed if `true`, visible if `false`
37
30
  */
38
- get toggleDrawer() { return __classPrivateFieldGet(this, _UmSideNavigation_toggleDrawer, "f"); }
31
+ get toggleDrawer() { return this.#toggleDrawer; }
39
32
  set toggleDrawer(toggleDrawer) {
40
- __classPrivateFieldSet(this, _UmSideNavigation_toggleDrawer, toggleDrawer, "f");
33
+ this.#toggleDrawer = toggleDrawer;
41
34
  if (!this.disableSlideAnimation) {
42
35
  this.swiperContainer?.swiper?.slideTo(toggleDrawer ? 0 : 1);
43
36
  }
@@ -131,11 +124,6 @@ let UmSideNavigation = class UmSideNavigation extends LitElement {
131
124
  this.swiperContainer.swiper.slideTo(1);
132
125
  }
133
126
  };
134
- _UmSideNavigation_toggleDrawer = new WeakMap();
135
- UmSideNavigation.styles = [
136
- baseStyles,
137
- config.navigationDrawer.useSwiperJs ? swiperStyles : styles
138
- ];
139
127
  __decorate([
140
128
  property({ type: Boolean, attribute: 'toggle-drawer' })
141
129
  ], UmSideNavigation.prototype, "toggleDrawer", null);
@@ -1 +1 @@
1
- {"version":3,"file":"side-navigation.js","sourceRoot":"","sources":["../../src/navigation/side-navigation.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, HTMLTemplateResult, LitElement } from 'lit';\nimport { customElement, property, query } from 'lit/decorators.js';\n\nimport { styles as baseStyles } from '../shared/base.styles.js';\nimport { styles as swiperStyles } from './side-navigation-swiper.styles.js';\nimport { styles } from './side-navigation.styles.js';\n\nimport { config } from '../config.js';\n\nimport '../elevation/elevation.js';\n\n@customElement('u-side-navigation')\nexport class UmSideNavigation extends LitElement {\n\n static override styles = [\n baseStyles,\n config.navigationDrawer.useSwiperJs ? swiperStyles : styles\n ];\n\n #toggleDrawer = false;\n private disableSlideAnimation = false;\n\n /**\n * Toggle the navigation drawer visibility\n *\n * _Modal drawer_: Open if `true`, closed if `false`\n * _Standard drawer_: Collapsed if `true`, visible if `false`\n */\n @property({type: Boolean, attribute: 'toggle-drawer'})\n get toggleDrawer() { return this.#toggleDrawer; }\n set toggleDrawer(toggleDrawer: boolean) {\n this.#toggleDrawer = toggleDrawer;\n\n if (!this.disableSlideAnimation) {\n this.swiperContainer?.swiper?.slideTo(toggleDrawer ? 0 : 1);\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @query('swiper-container') swiperContainer!: any;\n @query('.scrim') scrim!: HTMLElement;\n @query('#scroll-container') scrollContainer: HTMLElement | undefined;\n\n override render(): HTMLTemplateResult {\n return config.navigationDrawer.useSwiperJs\n ? this.renderWithSwipe()\n : this.renderDefault();\n }\n\n private renderDefault() {\n return html`\n <div class=\"grid container\">\n <div>\n <div class=\"navigation\">\n <div class=\"scrim ${this.toggleDrawer ? 'toggle' : ''}\" @click=\"${this.scrimClick}\"></div>\n <div class=\"drawer ${this.toggleDrawer ? 'toggle' : ''}\">\n <u-elevation></u-elevation>\n <div class=\"drawer-container\">\n <slot name=\"drawer\"></slot>\n </div>\n </div>\n <slot name=\"rail\"></slot>\n </div>\n </div>\n <div class=\"content\">\n <slot></slot>\n </div>\n </div>\n `;\n }\n\n private renderWithSwipe() {\n return html`\n <swiper-container\n class=\"container\"\n initial-slide=\"1\"\n resistance-ratio=\"0\"\n slides-per-view=\"auto\"\n simulate-touch=\"false\"\n @swiperactiveindexchange=\"${this.swiperActiveIndexChange}\"\n @swiperslidermove=\"${this.swiperSliderMove}\"\n @swipertransitionend=\"${this.swiperTransitionEnd}\"\n @swipertransitionstart=\"${this.swiperTransitionStart}\"\n @swiperslidesgridlengthchange=\"${this.slidesGridLengthChange}\">\n <swiper-slide class=\"drawer ${this.toggleDrawer ? 'toggle' : ''}\">\n <u-elevation></u-elevation>\n <div class=\"drawer-container\">\n <slot name=\"drawer\"></slot>\n </div>\n </swiper-slide>\n <swiper-slide class=\"dummy-slide\"></swiper-slide>\n\n <div id=\"scroll-container\" class=\"content\" slot=\"container-end\">\n <slot></slot>\n </div>\n <div class=\"scrim ${this.toggleDrawer ? 'toggle' : ''}\" @click=\"${this.scrimClick}\" slot=\"container-end\"></div>\n </swiper-container>`;\n }\n\n private swiperActiveIndexChange() {\n\n if (!this.swiperContainer?.swiper) {\n return;\n }\n\n this.toggleDrawer = !this.swiperContainer.swiper.activeIndex;\n }\n\n private swiperTransitionStart() {\n this.scrim.classList.add('moving');\n }\n\n private slidesGridLengthChange() {\n if (!this.swiperContainer?.swiper) {\n return;\n }\n\n this.classList.add('disable-transition');\n\n const gridLength = this.swiperContainer.swiper.snapGrid.length;\n this.swiperContainer.swiper.slideTo(gridLength === 1 ? 0 : 1, 0);\n this.disableSlideAnimation = true;\n this.toggleDrawer = true;\n this.toggleDrawer = false;\n this.disableSlideAnimation = false;\n setTimeout(() =>\n this.classList.remove('disable-transition'));\n }\n\n private swiperTransitionEnd() {\n this.scrim.style.removeProperty('--_modal-drawer-open-progress');\n this.scrim.classList.remove('moving');\n }\n\n private swiperSliderMove(e: Event) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const swiper = (<any>e).detail[0];\n this.scrim.style.setProperty('--_modal-drawer-open-progress', `${1 - swiper.progress}`);\n }\n\n private scrimClick() {\n this.toggleDrawer = false;\n this.swiperContainer.swiper.slideTo(1);\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'u-side-navigation': UmSideNavigation;\n }\n}\n"]}
1
+ {"version":3,"file":"side-navigation.js","sourceRoot":"","sources":["../../src/navigation/side-navigation.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, HTMLTemplateResult, LitElement } from 'lit';\nimport { customElement, property, query } from 'lit/decorators.js';\n\nimport { styles as baseStyles } from '../shared/base.styles.js';\nimport { styles as swiperStyles } from './side-navigation-swiper.styles.js';\nimport { styles } from './side-navigation.styles.js';\n\nimport { config } from '../config.js';\n\nimport '../elevation/elevation.js';\n\n@customElement('u-side-navigation')\nexport class UmSideNavigation extends LitElement {\n\n static override styles = [\n baseStyles,\n config.navigationDrawer.useSwiperJs ? swiperStyles : styles\n ];\n\n #toggleDrawer = false;\n private disableSlideAnimation = false;\n\n /**\n * Toggle the navigation drawer visibility\n *\n * _Modal drawer_: Open if `true`, closed if `false`\n * _Standard drawer_: Collapsed if `true`, visible if `false`\n */\n @property({type: Boolean, attribute: 'toggle-drawer'})\n get toggleDrawer() { return this.#toggleDrawer; }\n set toggleDrawer(toggleDrawer: boolean) {\n this.#toggleDrawer = toggleDrawer;\n\n if (!this.disableSlideAnimation) {\n this.swiperContainer?.swiper?.slideTo(toggleDrawer ? 0 : 1);\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @query('swiper-container') swiperContainer!: any;\n @query('.scrim') scrim!: HTMLElement;\n @query('#scroll-container') scrollContainer: HTMLElement | undefined;\n\n override render(): HTMLTemplateResult {\n return config.navigationDrawer.useSwiperJs\n ? this.renderWithSwipe()\n : this.renderDefault();\n }\n\n private renderDefault() {\n return html`\n <div class=\"grid container\">\n <div>\n <div class=\"navigation\">\n <div class=\"scrim ${this.toggleDrawer ? 'toggle' : ''}\" @click=\"${this.scrimClick}\"></div>\n <div class=\"drawer ${this.toggleDrawer ? 'toggle' : ''}\">\n <u-elevation></u-elevation>\n <div class=\"drawer-container\">\n <slot name=\"drawer\"></slot>\n </div>\n </div>\n <slot name=\"rail\"></slot>\n </div>\n </div>\n <div class=\"content\">\n <slot></slot>\n </div>\n </div>\n `;\n }\n\n private renderWithSwipe() {\n return html`\n <swiper-container\n class=\"container\"\n initial-slide=\"1\"\n resistance-ratio=\"0\"\n slides-per-view=\"auto\"\n simulate-touch=\"false\"\n @swiperactiveindexchange=\"${this.swiperActiveIndexChange}\"\n @swiperslidermove=\"${this.swiperSliderMove}\"\n @swipertransitionend=\"${this.swiperTransitionEnd}\"\n @swipertransitionstart=\"${this.swiperTransitionStart}\"\n @swiperslidesgridlengthchange=\"${this.slidesGridLengthChange}\">\n <swiper-slide class=\"drawer ${this.toggleDrawer ? 'toggle' : ''}\">\n <u-elevation></u-elevation>\n <div class=\"drawer-container\">\n <slot name=\"drawer\"></slot>\n </div>\n </swiper-slide>\n <swiper-slide class=\"dummy-slide\"></swiper-slide>\n\n <div id=\"scroll-container\" class=\"content\" slot=\"container-end\">\n <slot></slot>\n </div>\n <div class=\"scrim ${this.toggleDrawer ? 'toggle' : ''}\" @click=\"${this.scrimClick}\" slot=\"container-end\"></div>\n </swiper-container>`;\n }\n\n private swiperActiveIndexChange() {\n\n if (!this.swiperContainer?.swiper) {\n return;\n }\n\n this.toggleDrawer = !this.swiperContainer.swiper.activeIndex;\n }\n\n private swiperTransitionStart() {\n this.scrim.classList.add('moving');\n }\n\n private slidesGridLengthChange() {\n if (!this.swiperContainer?.swiper) {\n return;\n }\n\n this.classList.add('disable-transition');\n\n const gridLength = this.swiperContainer.swiper.snapGrid.length;\n this.swiperContainer.swiper.slideTo(gridLength === 1 ? 0 : 1, 0);\n this.disableSlideAnimation = true;\n this.toggleDrawer = true;\n this.toggleDrawer = false;\n this.disableSlideAnimation = false;\n setTimeout(() =>\n this.classList.remove('disable-transition'));\n }\n\n private swiperTransitionEnd() {\n this.scrim.style.removeProperty('--_modal-drawer-open-progress');\n this.scrim.classList.remove('moving');\n }\n\n private swiperSliderMove(e: Event) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const swiper = (<any>e).detail[0];\n this.scrim.style.setProperty('--_modal-drawer-open-progress', `${1 - swiper.progress}`);\n }\n\n private scrimClick() {\n this.toggleDrawer = false;\n this.swiperContainer.swiper.slideTo(1);\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'u-side-navigation': UmSideNavigation;\n }\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@universal-material/web",
3
- "version": "3.0.69",
3
+ "version": "3.0.70",
4
4
  "description": "Material web components",
5
5
  "type": "module",
6
6
  "keywords": [
@@ -48,31 +48,25 @@
48
48
  "license": "MIT",
49
49
  "homepage": "https://universal-material.github.io",
50
50
  "dependencies": {
51
- "@angular/animations": "^17.3.4",
52
- "@angular/common": "^17.3.4",
53
- "@angular/compiler": "^17.3.4",
54
- "@angular/core": "^17.3.4",
55
- "@angular/forms": "^17.3.4",
56
- "@angular/platform-browser": "^17.3.4",
57
- "@angular/platform-browser-dynamic": "^17.3.4",
58
- "@angular/router": "^17.3.4",
59
51
  "@lit/context": "^1.1.1",
60
52
  "@material/material-color-utilities": "^0.2.7",
61
- "highlight.js": "^11.9.0",
62
53
  "lit": "^3.1.3",
63
- "ngx-highlightjs": "^11.0.0-beta.1",
64
- "ngx-markdown": "^17.2.0",
65
- "rxjs": "~7.8.0",
66
- "swiper": "^11.1.1",
67
- "tslib": "^2.3.0",
68
- "zone.js": "~0.14.3"
54
+ "swiper": "^11.1.1"
69
55
  },
70
56
  "devDependencies": {
71
57
  "@11ty/eleventy": "^1.0.1",
72
58
  "@11ty/eleventy-plugin-syntaxhighlight": "^4.0.0",
73
59
  "@angular-devkit/build-angular": "^17.3.4",
60
+ "@angular/animations": "^17.3.4",
74
61
  "@angular/cli": "^17.3.4",
62
+ "@angular/common": "^17.3.4",
63
+ "@angular/compiler": "^17.3.4",
75
64
  "@angular/compiler-cli": "^17.3.0",
65
+ "@angular/core": "^17.3.4",
66
+ "@angular/forms": "^17.3.4",
67
+ "@angular/platform-browser": "^17.3.4",
68
+ "@angular/platform-browser-dynamic": "^17.3.4",
69
+ "@angular/router": "^17.3.4",
76
70
  "@custom-elements-manifest/analyzer": "^0.6.3",
77
71
  "@open-wc/testing": "^3.1.5",
78
72
  "@rollup/plugin-node-resolve": "^15.2.3",
@@ -96,9 +90,12 @@
96
90
  "gulp-rename": "^2.0.0",
97
91
  "gulp-sass": "^5.1.0",
98
92
  "gulp-sourcemaps": "^3.0.0",
99
- "gulp-typescript": "^6.0.0-alpha.1",
93
+ "gulp-typescript": "^5.0.1",
94
+ "highlight.js": "^11.9.0",
100
95
  "html-entities": "^2.5.2",
101
96
  "lit-analyzer": "^1.2.1",
97
+ "ngx-highlightjs": "^11.0.0-beta.1",
98
+ "ngx-markdown": "^17.2.0",
102
99
  "ngx-pug-builders": "^17.0.1",
103
100
  "npm-run-all": "^4.1.5",
104
101
  "prettier": "^2.6.2",
@@ -109,10 +106,13 @@
109
106
  "rollup-plugin-summary": "^2.0.0",
110
107
  "rollup-plugin-terser": "^7.0.2",
111
108
  "rollup-plugin-typescript2": "^0.36.0",
109
+ "rxjs": "~7.8.0",
112
110
  "sass": "^1.74.1",
113
111
  "through2": "^4.0.2",
114
112
  "ts-morph": "^22.0.0",
115
- "typescript": "~5.3.3"
113
+ "tslib": "^2.6.2",
114
+ "typescript": "~5.4.5",
115
+ "zone.js": "~0.14.3"
116
116
  },
117
117
  "customElements": "custom-elements.json"
118
118
  }
@@ -1,5 +1,4 @@
1
- import { LitElement } from 'lit';
2
- import { TemplateResult } from 'lit-html';
1
+ import { LitElement, TemplateResult } from 'lit';
3
2
  export declare class UmCircularProgress extends LitElement {
4
3
  #private;
5
4
  static styles: import("lit").CSSResult[];
@@ -1 +1 @@
1
- {"version":3,"file":"circular-progress.d.ts","sourceRoot":"","sources":["../../src/progress/circular-progress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAO,MAAM,KAAK,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAQ1C,qBACa,kBAAmB,SAAQ,UAAU;;IAChD,OAAgB,MAAM,4BAAY;IAER,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,GAAG,EAAE,MAAM,CAAK;cAEvB,MAAM,IAAI,cAAc;CA6D5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,qBAAqB,EAAE,kBAAkB,CAAC;KAC3C;CACF"}
1
+ {"version":3,"file":"circular-progress.d.ts","sourceRoot":"","sources":["../../src/progress/circular-progress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAO,cAAc,EAAE,MAAM,KAAK,CAAC;AAQtD,qBACa,kBAAmB,SAAQ,UAAU;;IAChD,OAAgB,MAAM,4BAAY;IAER,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,GAAG,EAAE,MAAM,CAAK;cAEvB,MAAM,IAAI,cAAc;CA6D5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,qBAAqB,EAAE,kBAAkB,CAAC;KAC3C;CACF"}
@@ -4,12 +4,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
- };
12
- var _UmCircularProgress_instances, _UmCircularProgress_renderCircle, _UmCircularProgress_renderIndeterminate, _UmCircularProgress_renderDeterminate;
13
7
  import { LitElement, svg } from 'lit';
14
8
  import { customElement, property } from 'lit/decorators.js';
15
9
  import { styles } from './circular-progress.styles.js';
@@ -18,18 +12,16 @@ const basePercentage = 255;
18
12
  let UmCircularProgress = class UmCircularProgress extends LitElement {
19
13
  constructor() {
20
14
  super(...arguments);
21
- _UmCircularProgress_instances.add(this);
22
15
  this.max = 1;
23
16
  }
17
+ static { this.styles = [styles]; }
24
18
  render() {
25
19
  return this.value === undefined
26
- ? __classPrivateFieldGet(this, _UmCircularProgress_instances, "m", _UmCircularProgress_renderIndeterminate).call(this)
27
- : __classPrivateFieldGet(this, _UmCircularProgress_instances, "m", _UmCircularProgress_renderDeterminate).call(this);
20
+ ? this.#renderIndeterminate()
21
+ : this.#renderDeterminate();
28
22
  }
29
- };
30
- _UmCircularProgress_instances = new WeakSet();
31
- _UmCircularProgress_renderCircle = function _UmCircularProgress_renderCircle(className) {
32
- return svg `
23
+ #renderCircle(className) {
24
+ return svg `
33
25
  <svg class="circular ${className}" viewBox="0 0 50 50">
34
26
  <circle
35
27
  class="path"
@@ -40,19 +32,19 @@ _UmCircularProgress_renderCircle = function _UmCircularProgress_renderCircle(cla
40
32
  stroke-width="4"
41
33
  stroke-miterlimit="10" />
42
34
  </svg>`;
43
- };
44
- _UmCircularProgress_renderIndeterminate = function _UmCircularProgress_renderIndeterminate() {
45
- return __classPrivateFieldGet(this, _UmCircularProgress_instances, "m", _UmCircularProgress_renderCircle).call(this, 'indeterminate');
46
- };
47
- _UmCircularProgress_renderDeterminate = function _UmCircularProgress_renderDeterminate() {
48
- let proportion = this.value / this.max;
49
- const offset = proportion === 0 || proportion === 1
50
- ? 0
51
- : 0.10625;
52
- proportion = Math.floor(proportion * 100) / 100;
53
- const percentage = basePercentage - basePercentage * proportion;
54
- const trackPercentage = basePercentage - basePercentage * Math.max(1 - offset - proportion, 0) * -1;
55
- return svg `
35
+ }
36
+ #renderIndeterminate() {
37
+ return this.#renderCircle('indeterminate');
38
+ }
39
+ #renderDeterminate() {
40
+ let proportion = this.value / this.max;
41
+ const offset = proportion === 0 || proportion === 1
42
+ ? 0
43
+ : 0.10625;
44
+ proportion = Math.floor(proportion * 100) / 100;
45
+ const percentage = basePercentage - basePercentage * proportion;
46
+ const trackPercentage = basePercentage - basePercentage * Math.max(1 - offset - proportion, 0) * -1;
47
+ return svg `
56
48
  <svg class="circular on-going" viewBox="0 0 50 50">
57
49
  <circle
58
50
  class="path"
@@ -78,8 +70,8 @@ _UmCircularProgress_renderDeterminate = function _UmCircularProgress_renderDeter
78
70
  stroke-dashoffset=${`${trackPercentage}%`}/>
79
71
  </svg>
80
72
  `;
73
+ }
81
74
  };
82
- UmCircularProgress.styles = [styles];
83
75
  __decorate([
84
76
  property({ type: Number })
85
77
  ], UmCircularProgress.prototype, "value", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"circular-progress.js","sourceRoot":"","sources":["../../src/progress/circular-progress.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAEtC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE5D,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAEvD,MAAM,cAAc,GAAG,GAAG,CAAC;AAE3B,6CAA6C;AAEtC,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,UAAU;IAA3C;;;QAIqB,QAAG,GAAW,CAAC,CAAC;IA+D5C,CAAC;IA7DoB,MAAM;QACvB,OAAO,IAAI,CAAC,KAAK,KAAK,SAAS;YAC7B,CAAC,CAAC,uBAAA,IAAI,8EAAqB,MAAzB,IAAI,CAAuB;YAC7B,CAAC,CAAC,uBAAA,IAAI,4EAAmB,MAAvB,IAAI,CAAqB,CAAC;IAChC,CAAC;;;6EAEa,SAAiB;IAC7B,OAAO,GAAG,CAAA;6BACe,SAAS;;;;;;;;;aASzB,CAAC;AACZ,CAAC;;IAGC,OAAO,uBAAA,IAAI,uEAAc,MAAlB,IAAI,EAAe,eAAe,CAAC,CAAC;AAC7C,CAAC;;IAIC,IAAI,UAAU,GAAG,IAAI,CAAC,KAAM,GAAG,IAAI,CAAC,GAAG,CAAC;IACxC,MAAM,MAAM,GAAG,UAAU,KAAK,CAAC,IAAI,UAAU,KAAK,CAAC;QACjD,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,OAAO,CAAC;IACZ,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAW,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;IACjD,MAAM,UAAU,GAAG,cAAc,GAAG,cAAc,GAAG,UAAU,CAAC;IAChE,MAAM,eAAe,GAAG,cAAc,GAAG,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,GAAG,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAEpG,OAAO,GAAG,CAAA;;;;;;;;;;6BAUe,GAAG,cAAc,GAAG;8BACnB,GAAG,UAAU,GAAG;;;;;;;;;;;6BAWjB,GAAG,cAAc,GAAG;8BACnB,GAAG,eAAe,GAAG;;KAE9C,CAAC;AACJ,CAAC;AAjEe,yBAAM,GAAG,CAAC,MAAM,CAAC,AAAX,CAAY;AAER;IAAzB,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;iDAA2B;AAC1B;IAAzB,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;+CAAiB;AAJ/B,kBAAkB;IAD9B,aAAa,CAAC,qBAAqB,CAAC;GACxB,kBAAkB,CAmE9B","sourcesContent":["import { LitElement, svg } from 'lit';\nimport { TemplateResult } from 'lit-html';\nimport { customElement, property } from 'lit/decorators.js';\n\nimport { styles } from './circular-progress.styles.js';\n\nconst basePercentage = 255;\n\n// https://codepen.io/ConAntonakos/pen/ryMaOX\n@customElement('u-circular-progress')\nexport class UmCircularProgress extends LitElement {\n static override styles = [styles];\n\n @property({type: Number}) value: number | undefined;\n @property({type: Number}) max: number = 1;\n\n protected override render(): TemplateResult {\n return this.value === undefined\n ? this.#renderIndeterminate()\n : this.#renderDeterminate();\n }\n\n #renderCircle(className: string): TemplateResult {\n return svg`\n <svg class=\"circular ${className}\" viewBox=\"0 0 50 50\">\n <circle\n class=\"path\"\n cx=\"50%\"\n cy=\"50%\"\n r=\"20\"\n fill=\"none\"\n stroke-width=\"4\"\n stroke-miterlimit=\"10\" />\n </svg>`;\n }\n\n #renderIndeterminate(): TemplateResult {\n return this.#renderCircle('indeterminate');\n }\n\n #renderDeterminate(): TemplateResult {\n\n let proportion = this.value! / this.max;\n const offset = proportion === 0 || proportion === 1\n ? 0\n : 0.10625;\n proportion = Math.floor(proportion! * 100) / 100;\n const percentage = basePercentage - basePercentage * proportion;\n const trackPercentage = basePercentage - basePercentage * Math.max(1 - offset - proportion, 0) * -1;\n\n return svg`\n <svg class=\"circular on-going\" viewBox=\"0 0 50 50\">\n <circle\n class=\"path\"\n cx=\"50%\"\n cy=\"50%\"\n r=\"20\"\n fill=\"none\"\n stroke-width=\"4\"\n stroke-miterlimit=\"10\"\n stroke-dasharray=${`${basePercentage}%`} \n stroke-dashoffset=${`${percentage}%`} />\n </svg>\n <svg class=\"circular track on-going\" viewBox=\"0 0 50 50\">\n <circle\n class=\"path\"\n cx=\"50%\"\n cy=\"50%\"\n r=\"20\"\n fill=\"none\"\n stroke-width=\"4\"\n stroke-miterlimit=\"10\"\n stroke-dasharray=${`${basePercentage}%`}\n stroke-dashoffset=${`${trackPercentage}%`}/>\n </svg>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'u-circular-progress': UmCircularProgress;\n }\n}\n"]}
1
+ {"version":3,"file":"circular-progress.js","sourceRoot":"","sources":["../../src/progress/circular-progress.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,GAAG,EAAkB,MAAM,KAAK,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE5D,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAEvD,MAAM,cAAc,GAAG,GAAG,CAAC;AAE3B,6CAA6C;AAEtC,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,UAAU;IAA3C;;QAIqB,QAAG,GAAW,CAAC,CAAC;IA+D5C,CAAC;aAlEiB,WAAM,GAAG,CAAC,MAAM,CAAC,AAAX,CAAY;IAKf,MAAM;QACvB,OAAO,IAAI,CAAC,KAAK,KAAK,SAAS;YAC7B,CAAC,CAAC,IAAI,CAAC,oBAAoB,EAAE;YAC7B,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAChC,CAAC;IAED,aAAa,CAAC,SAAiB;QAC7B,OAAO,GAAG,CAAA;6BACe,SAAS;;;;;;;;;aASzB,CAAC;IACZ,CAAC;IAED,oBAAoB;QAClB,OAAO,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;IAC7C,CAAC;IAED,kBAAkB;QAEhB,IAAI,UAAU,GAAG,IAAI,CAAC,KAAM,GAAG,IAAI,CAAC,GAAG,CAAC;QACxC,MAAM,MAAM,GAAG,UAAU,KAAK,CAAC,IAAI,UAAU,KAAK,CAAC;YACjD,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,OAAO,CAAC;QACZ,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAW,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;QACjD,MAAM,UAAU,GAAG,cAAc,GAAG,cAAc,GAAG,UAAU,CAAC;QAChE,MAAM,eAAe,GAAG,cAAc,GAAG,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,GAAG,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAEpG,OAAO,GAAG,CAAA;;;;;;;;;;6BAUe,GAAG,cAAc,GAAG;8BACnB,GAAG,UAAU,GAAG;;;;;;;;;;;6BAWjB,GAAG,cAAc,GAAG;8BACnB,GAAG,eAAe,GAAG;;KAE9C,CAAC;IACJ,CAAC;;AA/DyB;IAAzB,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;iDAA2B;AAC1B;IAAzB,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;+CAAiB;AAJ/B,kBAAkB;IAD9B,aAAa,CAAC,qBAAqB,CAAC;GACxB,kBAAkB,CAmE9B","sourcesContent":["import { LitElement, svg, TemplateResult } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n\nimport { styles } from './circular-progress.styles.js';\n\nconst basePercentage = 255;\n\n// https://codepen.io/ConAntonakos/pen/ryMaOX\n@customElement('u-circular-progress')\nexport class UmCircularProgress extends LitElement {\n static override styles = [styles];\n\n @property({type: Number}) value: number | undefined;\n @property({type: Number}) max: number = 1;\n\n protected override render(): TemplateResult {\n return this.value === undefined\n ? this.#renderIndeterminate()\n : this.#renderDeterminate();\n }\n\n #renderCircle(className: string): TemplateResult {\n return svg`\n <svg class=\"circular ${className}\" viewBox=\"0 0 50 50\">\n <circle\n class=\"path\"\n cx=\"50%\"\n cy=\"50%\"\n r=\"20\"\n fill=\"none\"\n stroke-width=\"4\"\n stroke-miterlimit=\"10\" />\n </svg>`;\n }\n\n #renderIndeterminate(): TemplateResult {\n return this.#renderCircle('indeterminate');\n }\n\n #renderDeterminate(): TemplateResult {\n\n let proportion = this.value! / this.max;\n const offset = proportion === 0 || proportion === 1\n ? 0\n : 0.10625;\n proportion = Math.floor(proportion! * 100) / 100;\n const percentage = basePercentage - basePercentage * proportion;\n const trackPercentage = basePercentage - basePercentage * Math.max(1 - offset - proportion, 0) * -1;\n\n return svg`\n <svg class=\"circular on-going\" viewBox=\"0 0 50 50\">\n <circle\n class=\"path\"\n cx=\"50%\"\n cy=\"50%\"\n r=\"20\"\n fill=\"none\"\n stroke-width=\"4\"\n stroke-miterlimit=\"10\"\n stroke-dasharray=${`${basePercentage}%`} \n stroke-dashoffset=${`${percentage}%`} />\n </svg>\n <svg class=\"circular track on-going\" viewBox=\"0 0 50 50\">\n <circle\n class=\"path\"\n cx=\"50%\"\n cy=\"50%\"\n r=\"20\"\n fill=\"none\"\n stroke-width=\"4\"\n stroke-miterlimit=\"10\"\n stroke-dasharray=${`${basePercentage}%`}\n stroke-dashoffset=${`${trackPercentage}%`}/>\n </svg>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'u-circular-progress': UmCircularProgress;\n }\n}\n"]}
@@ -1,5 +1,4 @@
1
- import { LitElement } from 'lit';
2
- import { TemplateResult } from 'lit-html';
1
+ import { LitElement, TemplateResult } from 'lit';
3
2
  export declare class UmProgressBar extends LitElement {
4
3
  #private;
5
4
  static styles: import("lit").CSSResult[];
@@ -1 +1 @@
1
- {"version":3,"file":"progress-bar.d.ts","sourceRoot":"","sources":["../../src/progress/progress-bar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAK1C,qBACa,aAAc,SAAQ,UAAU;;IAC3C,OAAgB,MAAM,4BAAY;IAER,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,GAAG,EAAE,MAAM,CAAK;cAEvB,MAAM,IAAI,cAAc;CA+B5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,gBAAgB,EAAE,aAAa,CAAC;KACjC;CACF"}
1
+ {"version":3,"file":"progress-bar.d.ts","sourceRoot":"","sources":["../../src/progress/progress-bar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,UAAU,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAKvD,qBACa,aAAc,SAAQ,UAAU;;IAC3C,OAAgB,MAAM,4BAAY;IAER,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,GAAG,EAAE,MAAM,CAAK;cAEvB,MAAM,IAAI,cAAc;CA+B5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,gBAAgB,EAAE,aAAa,CAAC;KACjC;CACF"}
@@ -4,30 +4,22 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
- };
12
- var _UmProgressBar_instances, _UmProgressBar_renderIndeterminate, _UmProgressBar_renderDeterminate;
13
7
  import { html, LitElement } from 'lit';
14
8
  import { customElement, property } from 'lit/decorators.js';
15
9
  import { styles } from './progress-bar.styles.js';
16
10
  let UmProgressBar = class UmProgressBar extends LitElement {
17
11
  constructor() {
18
12
  super(...arguments);
19
- _UmProgressBar_instances.add(this);
20
13
  this.max = 1;
21
14
  }
15
+ static { this.styles = [styles]; }
22
16
  render() {
23
17
  return this.value === undefined
24
- ? __classPrivateFieldGet(this, _UmProgressBar_instances, "m", _UmProgressBar_renderIndeterminate).call(this)
25
- : __classPrivateFieldGet(this, _UmProgressBar_instances, "m", _UmProgressBar_renderDeterminate).call(this);
18
+ ? this.#renderIndeterminate()
19
+ : this.#renderDeterminate();
26
20
  }
27
- };
28
- _UmProgressBar_instances = new WeakSet();
29
- _UmProgressBar_renderIndeterminate = function _UmProgressBar_renderIndeterminate() {
30
- return html `
21
+ #renderIndeterminate() {
22
+ return html `
31
23
  <div class="indeterminate">
32
24
  <div class="bar track first"></div>
33
25
  <div class="bar active fast"></div>
@@ -36,19 +28,19 @@ _UmProgressBar_renderIndeterminate = function _UmProgressBar_renderIndeterminate
36
28
  <div class="bar track last"></div>
37
29
  </div>
38
30
  `;
39
- };
40
- _UmProgressBar_renderDeterminate = function _UmProgressBar_renderDeterminate() {
41
- const proportion = this.value / this.max;
42
- const percentage = Math.floor(proportion * 1000) / 10;
43
- const trackPercentage = 100 - percentage;
44
- return html `
31
+ }
32
+ #renderDeterminate() {
33
+ const proportion = this.value / this.max;
34
+ const percentage = Math.floor(proportion * 1000) / 10;
35
+ const trackPercentage = 100 - percentage;
36
+ return html `
45
37
  <div class="determinate">
46
38
  <div class="bar active" style="flex-basis: ${percentage}%"></div>
47
39
  <div class="bar track" style="flex-basis: ${trackPercentage}%"></div>
48
40
  </div>
49
41
  `;
42
+ }
50
43
  };
51
- UmProgressBar.styles = [styles];
52
44
  __decorate([
53
45
  property({ type: Number })
54
46
  ], UmProgressBar.prototype, "value", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"progress-bar.js","sourceRoot":"","sources":["../../src/progress/progress-bar.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAEvC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE5D,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAG3C,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,UAAU;IAAtC;;;QAIqB,QAAG,GAAW,CAAC,CAAC;IAiC5C,CAAC;IA/BoB,MAAM;QACvB,OAAO,IAAI,CAAC,KAAK,KAAK,SAAS;YAC7B,CAAC,CAAC,uBAAA,IAAI,oEAAqB,MAAzB,IAAI,CAAuB;YAC7B,CAAC,CAAC,uBAAA,IAAI,kEAAmB,MAAvB,IAAI,CAAqB,CAAC;IAChC,CAAC;;;;IAGC,OAAO,IAAI,CAAA;;;;;;;;KAQV,CAAC;AACJ,CAAC;;IAGC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAM,GAAG,IAAI,CAAC,GAAG,CAAC;IAE1C,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvD,MAAM,eAAe,GAAG,GAAG,GAAG,UAAU,CAAC;IAEzC,OAAO,IAAI,CAAA;;qDAEsC,UAAU;oDACX,eAAe;;KAE9D,CAAC;AACJ,CAAC;AAnCe,oBAAM,GAAG,CAAC,MAAM,CAAC,AAAX,CAAY;AAER;IAAzB,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;4CAA2B;AAC1B;IAAzB,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;0CAAiB;AAJ/B,aAAa;IADzB,aAAa,CAAC,gBAAgB,CAAC;GACnB,aAAa,CAqCzB","sourcesContent":["import { html, LitElement } from 'lit';\nimport { TemplateResult } from 'lit-html';\nimport { customElement, property } from 'lit/decorators.js';\n\nimport { styles } from './progress-bar.styles.js';\n\n@customElement('u-progress-bar')\nexport class UmProgressBar extends LitElement {\n static override styles = [styles];\n\n @property({type: Number}) value: number | undefined;\n @property({type: Number}) max: number = 1;\n\n protected override render(): TemplateResult {\n return this.value === undefined\n ? this.#renderIndeterminate()\n : this.#renderDeterminate();\n }\n\n #renderIndeterminate(): TemplateResult {\n return html`\n <div class=\"indeterminate\">\n <div class=\"bar track first\"></div>\n <div class=\"bar active fast\"></div>\n <div class=\"bar track middle\"></div>\n <div class=\"bar active slow\"></div>\n <div class=\"bar track last\"></div>\n </div>\n `;\n }\n\n #renderDeterminate(): TemplateResult {\n const proportion = this.value! / this.max;\n\n const percentage = Math.floor(proportion! * 1000) / 10;\n const trackPercentage = 100 - percentage;\n\n return html`\n <div class=\"determinate\">\n <div class=\"bar active\" style=\"flex-basis: ${percentage}%\"></div>\n <div class=\"bar track\" style=\"flex-basis: ${trackPercentage}%\"></div>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'u-progress-bar': UmProgressBar;\n }\n}\n"]}
1
+ {"version":3,"file":"progress-bar.js","sourceRoot":"","sources":["../../src/progress/progress-bar.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAkB,MAAM,KAAK,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE5D,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAG3C,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,UAAU;IAAtC;;QAIqB,QAAG,GAAW,CAAC,CAAC;IAiC5C,CAAC;aApCiB,WAAM,GAAG,CAAC,MAAM,CAAC,AAAX,CAAY;IAKf,MAAM;QACvB,OAAO,IAAI,CAAC,KAAK,KAAK,SAAS;YAC7B,CAAC,CAAC,IAAI,CAAC,oBAAoB,EAAE;YAC7B,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAChC,CAAC;IAED,oBAAoB;QAClB,OAAO,IAAI,CAAA;;;;;;;;KAQV,CAAC;IACJ,CAAC;IAED,kBAAkB;QAChB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAM,GAAG,IAAI,CAAC,GAAG,CAAC;QAE1C,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvD,MAAM,eAAe,GAAG,GAAG,GAAG,UAAU,CAAC;QAEzC,OAAO,IAAI,CAAA;;qDAEsC,UAAU;oDACX,eAAe;;KAE9D,CAAC;IACJ,CAAC;;AAjCyB;IAAzB,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;4CAA2B;AAC1B;IAAzB,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;0CAAiB;AAJ/B,aAAa;IADzB,aAAa,CAAC,gBAAgB,CAAC;GACnB,aAAa,CAqCzB","sourcesContent":["import { html, LitElement, TemplateResult } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n\nimport { styles } from './progress-bar.styles.js';\n\n@customElement('u-progress-bar')\nexport class UmProgressBar extends LitElement {\n static override styles = [styles];\n\n @property({type: Number}) value: number | undefined;\n @property({type: Number}) max: number = 1;\n\n protected override render(): TemplateResult {\n return this.value === undefined\n ? this.#renderIndeterminate()\n : this.#renderDeterminate();\n }\n\n #renderIndeterminate(): TemplateResult {\n return html`\n <div class=\"indeterminate\">\n <div class=\"bar track first\"></div>\n <div class=\"bar active fast\"></div>\n <div class=\"bar track middle\"></div>\n <div class=\"bar active slow\"></div>\n <div class=\"bar track last\"></div>\n </div>\n `;\n }\n\n #renderDeterminate(): TemplateResult {\n const proportion = this.value! / this.max;\n\n const percentage = Math.floor(proportion! * 1000) / 10;\n const trackPercentage = 100 - percentage;\n\n return html`\n <div class=\"determinate\">\n <div class=\"bar active\" style=\"flex-basis: ${percentage}%\"></div>\n <div class=\"bar track\" style=\"flex-basis: ${trackPercentage}%\"></div>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'u-progress-bar': UmProgressBar;\n }\n}\n"]}
package/radio/radio.js CHANGED
@@ -4,18 +4,16 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
- };
12
- var _UmRadio_instances, _UmRadio_siblings_get, _UmRadio_handleKeyDown;
13
7
  import { html } from 'lit';
14
8
  import { customElement, property } from 'lit/decorators.js';
15
9
  import { styles as baseStyles } from '../shared/base.styles.js';
16
10
  import { styles } from './radio.styles.js';
17
11
  import { UmSelectionControl } from '../shared/selection-control/selection-control.js';
18
12
  let UmRadio = class UmRadio extends UmSelectionControl {
13
+ static { this.styles = [
14
+ baseStyles,
15
+ styles
16
+ ]; }
19
17
  renderIndicator() {
20
18
  return html `<div class="indicator"></div>`;
21
19
  }
@@ -32,9 +30,15 @@ let UmRadio = class UmRadio extends UmSelectionControl {
32
30
  this.input.tabIndex = 0;
33
31
  }
34
32
  }
33
+ get #siblings() {
34
+ if (!this.name) {
35
+ return [this];
36
+ }
37
+ return Array
38
+ .from(this.getRootNode().querySelectorAll(`${this.tagName}[name="${this.name}"]`));
39
+ }
35
40
  constructor() {
36
41
  super();
37
- _UmRadio_instances.add(this);
38
42
  this.hideStateLayer = false;
39
43
  this.inputType = 'radio';
40
44
  }
@@ -44,11 +48,50 @@ let UmRadio = class UmRadio extends UmSelectionControl {
44
48
  }
45
49
  connectedCallback() {
46
50
  super.connectedCallback();
47
- this.addEventListener('keydown', __classPrivateFieldGet(this, _UmRadio_instances, "m", _UmRadio_handleKeyDown));
51
+ this.addEventListener('keydown', this.#handleKeyDown);
48
52
  }
49
53
  disconnectedCallback() {
50
54
  super.disconnectedCallback();
51
- this.removeEventListener('keydown', __classPrivateFieldGet(this, _UmRadio_instances, "m", _UmRadio_handleKeyDown));
55
+ this.removeEventListener('keydown', this.#handleKeyDown);
56
+ }
57
+ #handleKeyDown(event) {
58
+ const isDown = event.key === 'ArrowDown';
59
+ const isUp = event.key === 'ArrowUp';
60
+ const isLeft = event.key === 'ArrowLeft';
61
+ const isRight = event.key === 'ArrowRight';
62
+ if (!isLeft && !isRight && !isDown && !isUp) {
63
+ return;
64
+ }
65
+ // Don't try to select another sibling if there aren't any.
66
+ const siblings = this.#siblings;
67
+ if (!siblings.length) {
68
+ return;
69
+ }
70
+ event.preventDefault();
71
+ const isRtl = getComputedStyle(this).direction === 'rtl';
72
+ const forwards = isRtl ? isLeft || isDown : isRight || isDown;
73
+ const factor = forwards ? 1 : -1;
74
+ const thisIndex = siblings.indexOf(this);
75
+ let nextIndex = thisIndex + factor;
76
+ while (nextIndex !== thisIndex) {
77
+ if (nextIndex >= siblings.length) {
78
+ // Return to start if moving past the last item.
79
+ nextIndex = 0;
80
+ }
81
+ else if (nextIndex < 0) {
82
+ // Go to end if moving before the first item.
83
+ nextIndex = siblings.length - 1;
84
+ }
85
+ const nextSibling = siblings[nextIndex];
86
+ if (nextSibling.disabled) {
87
+ nextIndex += factor;
88
+ continue;
89
+ }
90
+ nextSibling.checked = true;
91
+ nextSibling.input.focus();
92
+ nextSibling.dispatchEvent(new Event('change', { bubbles: true }));
93
+ break;
94
+ }
52
95
  }
53
96
  ensureOnlyOneChecked() {
54
97
  if (!this.name) {
@@ -64,7 +107,7 @@ let UmRadio = class UmRadio extends UmSelectionControl {
64
107
  lastChecked.checked = true;
65
108
  }
66
109
  uncheckSiblings() {
67
- for (const radio of __classPrivateFieldGet(this, _UmRadio_instances, "a", _UmRadio_siblings_get)) {
110
+ for (const radio of this.#siblings) {
68
111
  if (radio === this) {
69
112
  continue;
70
113
  }
@@ -75,57 +118,6 @@ let UmRadio = class UmRadio extends UmSelectionControl {
75
118
  }
76
119
  }
77
120
  };
78
- _UmRadio_instances = new WeakSet();
79
- _UmRadio_siblings_get = function _UmRadio_siblings_get() {
80
- if (!this.name) {
81
- return [this];
82
- }
83
- return Array
84
- .from(this.getRootNode().querySelectorAll(`${this.tagName}[name="${this.name}"]`));
85
- };
86
- _UmRadio_handleKeyDown = function _UmRadio_handleKeyDown(event) {
87
- const isDown = event.key === 'ArrowDown';
88
- const isUp = event.key === 'ArrowUp';
89
- const isLeft = event.key === 'ArrowLeft';
90
- const isRight = event.key === 'ArrowRight';
91
- if (!isLeft && !isRight && !isDown && !isUp) {
92
- return;
93
- }
94
- // Don't try to select another sibling if there aren't any.
95
- const siblings = __classPrivateFieldGet(this, _UmRadio_instances, "a", _UmRadio_siblings_get);
96
- if (!siblings.length) {
97
- return;
98
- }
99
- event.preventDefault();
100
- const isRtl = getComputedStyle(this).direction === 'rtl';
101
- const forwards = isRtl ? isLeft || isDown : isRight || isDown;
102
- const factor = forwards ? 1 : -1;
103
- const thisIndex = siblings.indexOf(this);
104
- let nextIndex = thisIndex + factor;
105
- while (nextIndex !== thisIndex) {
106
- if (nextIndex >= siblings.length) {
107
- // Return to start if moving past the last item.
108
- nextIndex = 0;
109
- }
110
- else if (nextIndex < 0) {
111
- // Go to end if moving before the first item.
112
- nextIndex = siblings.length - 1;
113
- }
114
- const nextSibling = siblings[nextIndex];
115
- if (nextSibling.disabled) {
116
- nextIndex += factor;
117
- continue;
118
- }
119
- nextSibling.checked = true;
120
- nextSibling.input.focus();
121
- nextSibling.dispatchEvent(new Event('change', { bubbles: true }));
122
- break;
123
- }
124
- };
125
- UmRadio.styles = [
126
- baseStyles,
127
- styles
128
- ];
129
121
  __decorate([
130
122
  property({ type: Boolean, attribute: 'hide-state-layer', reflect: true })
131
123
  ], UmRadio.prototype, "hideStateLayer", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"radio.js","sourceRoot":"","sources":["../../src/radio/radio.ts"],"names":[],"mappings":"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","sourcesContent":["import { PropertyValues } from '@lit/reactive-element';\nimport { html, HTMLTemplateResult } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n\nimport { styles as baseStyles } from '../shared/base.styles.js';\nimport { styles } from './radio.styles.js';\n\nimport { UmSelectionControl } from '../shared/selection-control/selection-control.js';\n\n@customElement('u-radio')\nexport class UmRadio extends UmSelectionControl {\n static override styles = [\n baseStyles,\n styles\n ];\n\n @property({type: Boolean, attribute: 'hide-state-layer', reflect: true}) hideStateLayer = false;\n\n protected override inputType: 'radio' | 'checkbox' = 'radio';\n\n protected override renderIndicator(): HTMLTemplateResult {\n return html`<div class=\"indicator\"></div>`;\n }\n\n override get checked() {\n return super.checked;\n }\n override set checked(value: boolean) {\n super.checked = value;\n\n if (!value) {\n return;\n }\n\n this.uncheckSiblings();\n\n if (this.input) {\n this.input.tabIndex = 0\n }\n }\n\n get #siblings(): UmRadio[] {\n if (!this.name) {\n return [this];\n }\n\n return Array\n .from((<Element>this.getRootNode()).querySelectorAll<UmRadio>(`${this.tagName}[name=\"${this.name}\"]`));\n }\n\n constructor() {\n super();\n }\n\n override firstUpdated(changedProperties: PropertyValues) {\n super.firstUpdated(changedProperties);\n\n this.ensureOnlyOneChecked();\n }\n\n override connectedCallback() {\n super.connectedCallback();\n this.addEventListener('keydown', this.#handleKeyDown);\n }\n\n override disconnectedCallback() {\n super.disconnectedCallback();\n this.removeEventListener('keydown', this.#handleKeyDown);\n }\n\n #handleKeyDown(event: KeyboardEvent) {\n const isDown = event.key === 'ArrowDown';\n const isUp = event.key === 'ArrowUp';\n const isLeft = event.key === 'ArrowLeft';\n const isRight = event.key === 'ArrowRight';\n\n if (!isLeft && !isRight && !isDown && !isUp) {\n return;\n }\n\n // Don't try to select another sibling if there aren't any.\n const siblings = this.#siblings;\n\n if (!siblings.length) {\n return;\n }\n\n event.preventDefault();\n\n const isRtl = getComputedStyle(this).direction === 'rtl';\n const forwards = isRtl ? isLeft || isDown : isRight || isDown;\n const factor = forwards ? 1 : -1;\n\n const thisIndex = siblings.indexOf(this);\n let nextIndex = thisIndex + factor;\n\n while (nextIndex !== thisIndex) {\n if (nextIndex >= siblings.length) {\n // Return to start if moving past the last item.\n nextIndex = 0;\n } else if (nextIndex < 0) {\n // Go to end if moving before the first item.\n nextIndex = siblings.length - 1;\n }\n\n const nextSibling = siblings[nextIndex];\n\n if (nextSibling.disabled) {\n nextIndex += factor;\n\n continue;\n }\n\n nextSibling.checked = true;\n nextSibling.input.focus();\n nextSibling.dispatchEvent(new Event('change', {bubbles: true}));\n break;\n }\n }\n\n private ensureOnlyOneChecked() {\n if (!this.name) {\n return;\n }\n\n const radios = Array.from(document.querySelectorAll<UmRadio>(`${this.tagName}[name=\"${this.name}\"]`));\n const lastChecked = radios\n .reverse()\n .find(r => r.checked);\n\n if (!lastChecked) {\n return;\n }\n\n lastChecked.checked = true;\n }\n\n private uncheckSiblings() {\n for (const radio of this.#siblings) {\n if (radio === this) {\n continue;\n }\n\n if (radio.input) {\n radio.input.tabIndex = -1;\n }\n\n radio.checked = false;\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'u-radio': UmRadio;\n }\n}\n"]}
1
+ {"version":3,"file":"radio.js","sourceRoot":"","sources":["../../src/radio/radio.ts"],"names":[],"mappings":"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","sourcesContent":["import { PropertyValues } from '@lit/reactive-element';\nimport { html, HTMLTemplateResult } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n\nimport { styles as baseStyles } from '../shared/base.styles.js';\nimport { styles } from './radio.styles.js';\n\nimport { UmSelectionControl } from '../shared/selection-control/selection-control.js';\n\n@customElement('u-radio')\nexport class UmRadio extends UmSelectionControl {\n static override styles = [\n baseStyles,\n styles\n ];\n\n @property({type: Boolean, attribute: 'hide-state-layer', reflect: true}) hideStateLayer = false;\n\n protected override inputType: 'radio' | 'checkbox' = 'radio';\n\n protected override renderIndicator(): HTMLTemplateResult {\n return html`<div class=\"indicator\"></div>`;\n }\n\n override get checked() {\n return super.checked;\n }\n override set checked(value: boolean) {\n super.checked = value;\n\n if (!value) {\n return;\n }\n\n this.uncheckSiblings();\n\n if (this.input) {\n this.input.tabIndex = 0\n }\n }\n\n get #siblings(): UmRadio[] {\n if (!this.name) {\n return [this];\n }\n\n return Array\n .from((<Element>this.getRootNode()).querySelectorAll<UmRadio>(`${this.tagName}[name=\"${this.name}\"]`));\n }\n\n constructor() {\n super();\n }\n\n override firstUpdated(changedProperties: PropertyValues) {\n super.firstUpdated(changedProperties);\n\n this.ensureOnlyOneChecked();\n }\n\n override connectedCallback() {\n super.connectedCallback();\n this.addEventListener('keydown', this.#handleKeyDown);\n }\n\n override disconnectedCallback() {\n super.disconnectedCallback();\n this.removeEventListener('keydown', this.#handleKeyDown);\n }\n\n #handleKeyDown(event: KeyboardEvent) {\n const isDown = event.key === 'ArrowDown';\n const isUp = event.key === 'ArrowUp';\n const isLeft = event.key === 'ArrowLeft';\n const isRight = event.key === 'ArrowRight';\n\n if (!isLeft && !isRight && !isDown && !isUp) {\n return;\n }\n\n // Don't try to select another sibling if there aren't any.\n const siblings = this.#siblings;\n\n if (!siblings.length) {\n return;\n }\n\n event.preventDefault();\n\n const isRtl = getComputedStyle(this).direction === 'rtl';\n const forwards = isRtl ? isLeft || isDown : isRight || isDown;\n const factor = forwards ? 1 : -1;\n\n const thisIndex = siblings.indexOf(this);\n let nextIndex = thisIndex + factor;\n\n while (nextIndex !== thisIndex) {\n if (nextIndex >= siblings.length) {\n // Return to start if moving past the last item.\n nextIndex = 0;\n } else if (nextIndex < 0) {\n // Go to end if moving before the first item.\n nextIndex = siblings.length - 1;\n }\n\n const nextSibling = siblings[nextIndex];\n\n if (nextSibling.disabled) {\n nextIndex += factor;\n\n continue;\n }\n\n nextSibling.checked = true;\n nextSibling.input.focus();\n nextSibling.dispatchEvent(new Event('change', {bubbles: true}));\n break;\n }\n }\n\n private ensureOnlyOneChecked() {\n if (!this.name) {\n return;\n }\n\n const radios = Array.from(document.querySelectorAll<UmRadio>(`${this.tagName}[name=\"${this.name}\"]`));\n const lastChecked = radios\n .reverse()\n .find(r => r.checked);\n\n if (!lastChecked) {\n return;\n }\n\n lastChecked.checked = true;\n }\n\n private uncheckSiblings() {\n for (const radio of this.#siblings) {\n if (radio === this) {\n continue;\n }\n\n if (radio.input) {\n radio.input.tabIndex = -1;\n }\n\n radio.checked = false;\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'u-radio': UmRadio;\n }\n}\n"]}
package/ripple/ripple.js CHANGED
@@ -8,7 +8,9 @@ var UmRipple_1;
8
8
  import { html, LitElement } from 'lit';
9
9
  import { customElement, property, query } from 'lit/decorators.js';
10
10
  import { styles } from './ripple.styles.js';
11
- let UmRipple = UmRipple_1 = class UmRipple extends LitElement {
11
+ let UmRipple = class UmRipple extends LitElement {
12
+ static { UmRipple_1 = this; }
13
+ static { this.styles = styles; }
12
14
  constructor() {
13
15
  super();
14
16
  this.isTouching = false;
@@ -110,7 +112,6 @@ let UmRipple = UmRipple_1 = class UmRipple extends LitElement {
110
112
  element.style.marginTop = `${-size / 2}px`;
111
113
  }
112
114
  };
113
- UmRipple.styles = styles;
114
115
  __decorate([
115
116
  property({ type: Boolean, reflect: true })
116
117
  ], UmRipple.prototype, "disabled", void 0);