@universal-material/web 3.4.2 → 3.5.0

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 (117) hide show
  1. package/button/button-base.d.ts +1 -1
  2. package/button/button-base.d.ts.map +1 -1
  3. package/button/button-base.js +1 -1
  4. package/button/button-base.js.map +1 -1
  5. package/button/button-base.styles.d.ts.map +1 -1
  6. package/button/button-base.styles.js +3 -0
  7. package/button/button-base.styles.js.map +1 -1
  8. package/button/button.d.ts +5 -11
  9. package/button/button.d.ts.map +1 -1
  10. package/button/button.js +29 -20
  11. package/button/button.js.map +1 -1
  12. package/button/button.styles.d.ts.map +1 -1
  13. package/button/button.styles.js +41 -50
  14. package/button/button.styles.js.map +1 -1
  15. package/button/fab-menu-color-context.d.ts +5 -0
  16. package/button/fab-menu-color-context.d.ts.map +1 -0
  17. package/button/fab-menu-color-context.js +3 -0
  18. package/button/fab-menu-color-context.js.map +1 -0
  19. package/button/fab-menu-item.d.ts +23 -0
  20. package/button/fab-menu-item.d.ts.map +1 -0
  21. package/button/fab-menu-item.js +70 -0
  22. package/button/fab-menu-item.js.map +1 -0
  23. package/button/fab-menu-item.styles.d.ts +2 -0
  24. package/button/fab-menu-item.styles.d.ts.map +1 -0
  25. package/button/fab-menu-item.styles.js +82 -0
  26. package/button/fab-menu-item.styles.js.map +1 -0
  27. package/button/fab-menu-open-context.d.ts +4 -0
  28. package/button/fab-menu-open-context.d.ts.map +1 -0
  29. package/button/fab-menu-open-context.js +3 -0
  30. package/button/fab-menu-open-context.js.map +1 -0
  31. package/button/fab-menu.d.ts +26 -0
  32. package/button/fab-menu.d.ts.map +1 -0
  33. package/button/fab-menu.js +93 -0
  34. package/button/fab-menu.js.map +1 -0
  35. package/button/fab-menu.styles.d.ts +2 -0
  36. package/button/fab-menu.styles.d.ts.map +1 -0
  37. package/button/fab-menu.styles.js +145 -0
  38. package/button/fab-menu.styles.js.map +1 -0
  39. package/button/fab.d.ts +2 -1
  40. package/button/fab.d.ts.map +1 -1
  41. package/button/fab.js +13 -7
  42. package/button/fab.js.map +1 -1
  43. package/button/fab.styles.d.ts.map +1 -1
  44. package/button/fab.styles.js +50 -56
  45. package/button/fab.styles.js.map +1 -1
  46. package/button/icon-button.d.ts +3 -2
  47. package/button/icon-button.d.ts.map +1 -1
  48. package/button/icon-button.js +12 -4
  49. package/button/icon-button.js.map +1 -1
  50. package/button/icon-button.styles.d.ts.map +1 -1
  51. package/button/icon-button.styles.js +28 -30
  52. package/button/icon-button.styles.js.map +1 -1
  53. package/button/toggle-button.d.ts +6 -5
  54. package/button/toggle-button.d.ts.map +1 -1
  55. package/button/toggle-button.js +27 -8
  56. package/button/toggle-button.js.map +1 -1
  57. package/button/toggle-button.styles.d.ts.map +1 -1
  58. package/button/toggle-button.styles.js +18 -13
  59. package/button/toggle-button.styles.js.map +1 -1
  60. package/chip/chip.d.ts +9 -23
  61. package/chip/chip.d.ts.map +1 -1
  62. package/chip/chip.js +60 -60
  63. package/chip/chip.js.map +1 -1
  64. package/chip/chip.styles.d.ts.map +1 -1
  65. package/chip/chip.styles.js +32 -39
  66. package/chip/chip.styles.js.map +1 -1
  67. package/custom-elements.json +4289 -3625
  68. package/index.d.ts +2 -0
  69. package/index.d.ts.map +1 -1
  70. package/index.js +2 -0
  71. package/index.js.map +1 -1
  72. package/list/list-item.d.ts.map +1 -1
  73. package/list/list-item.js +13 -9
  74. package/list/list-item.js.map +1 -1
  75. package/list/list-item.styles.d.ts.map +1 -1
  76. package/list/list-item.styles.js +5 -1
  77. package/list/list-item.styles.js.map +1 -1
  78. package/menu/menu-item.d.ts +6 -24
  79. package/menu/menu-item.d.ts.map +1 -1
  80. package/menu/menu-item.js +22 -44
  81. package/menu/menu-item.js.map +1 -1
  82. package/menu/menu-item.styles.d.ts.map +1 -1
  83. package/menu/menu-item.styles.js +6 -5
  84. package/menu/menu-item.styles.js.map +1 -1
  85. package/navigation/drawer-item.d.ts +5 -14
  86. package/navigation/drawer-item.d.ts.map +1 -1
  87. package/navigation/drawer-item.js +18 -21
  88. package/navigation/drawer-item.js.map +1 -1
  89. package/navigation/drawer-item.styles.d.ts.map +1 -1
  90. package/navigation/drawer-item.styles.js +8 -7
  91. package/navigation/drawer-item.styles.js.map +1 -1
  92. package/package.json +1 -1
  93. package/select/option.d.ts +1 -1
  94. package/select/option.d.ts.map +1 -1
  95. package/select/option.js +1 -1
  96. package/select/option.js.map +1 -1
  97. package/shared/base.styles.d.ts.map +1 -1
  98. package/shared/base.styles.js +1 -0
  99. package/shared/base.styles.js.map +1 -1
  100. package/shared/button-wrapper.d.ts +4 -6
  101. package/shared/button-wrapper.d.ts.map +1 -1
  102. package/shared/button-wrapper.js +20 -12
  103. package/shared/button-wrapper.js.map +1 -1
  104. package/shared/button-wrapper.styles.d.ts.map +1 -1
  105. package/shared/button-wrapper.styles.js +7 -5
  106. package/shared/button-wrapper.styles.js.map +1 -1
  107. package/tab-bar/tab.d.ts +2 -2
  108. package/tab-bar/tab.d.ts.map +1 -1
  109. package/tab-bar/tab.js +3 -3
  110. package/tab-bar/tab.js.map +1 -1
  111. package/tab-bar/tab.styles.d.ts.map +1 -1
  112. package/tab-bar/tab.styles.js +4 -1
  113. package/tab-bar/tab.styles.js.map +1 -1
  114. package/typeahead/typeahead.styles.d.ts.map +1 -1
  115. package/typeahead/typeahead.styles.js +1 -4
  116. package/typeahead/typeahead.styles.js.map +1 -1
  117. package/vscode.html-custom-data.json +334 -317
package/index.d.ts CHANGED
@@ -3,6 +3,8 @@ import './app-bar/top-app-bar.js';
3
3
  import './button/button.js';
4
4
  import './button/button-set.js';
5
5
  import './button/fab.js';
6
+ import './button/fab-menu.js';
7
+ import './button/fab-menu-item.js';
6
8
  import './button/icon-button.js';
7
9
  import './card/card.js';
8
10
  import './chip/chip.js';
package/index.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/index.js CHANGED
@@ -3,6 +3,8 @@ import './app-bar/top-app-bar.js';
3
3
  import './button/button.js';
4
4
  import './button/button-set.js';
5
5
  import './button/fab.js';
6
+ import './button/fab-menu.js';
7
+ import './button/fab-menu-item.js';
6
8
  import './button/icon-button.js';
7
9
  import './card/card.js';
8
10
  import './chip/chip.js';
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["import '@bart-krakowski/get-week-info-polyfill';\n\nimport './app-bar/top-app-bar.js';\nimport './button/button.js';\nimport './button/button-set.js';\nimport './button/fab.js';\nimport './button/icon-button.js';\nimport './card/card.js';\nimport './chip/chip.js';\nimport './chip/chip-set.js';\nimport './chip-field/chip-field.js';\nimport './dialog/dialog.js';\nimport './dialog/dialog-builder.js';\nimport './dialog/confirm-dialog-builder.js';\nimport './dialog/message-dialog-builder.js';\nimport './checkbox/checkbox.js';\nimport './checkbox/checkbox-list-item.js';\nimport './radio/radio.js';\nimport './radio/radio-list-item.js';\nimport './switch/switch.js';\nimport './switch/switch-list-item.js';\nimport './elevation/elevation.js';\nimport './field/field.js';\nimport './text-field/text-field.js';\nimport './text-area/text-area.js';\nimport './select/select.js';\nimport './list/list.js';\nimport './list/list-item.js';\nimport './menu/menu.js';\nimport './menu/menu-item.js';\nimport './navigation/drawer.js';\nimport './navigation/drawer-item.js';\nimport './navigation/side-navigation.js';\nimport './progress/circular-progress.js';\nimport './progress/progress-bar.js';\nimport './ripple/ripple.js';\nimport './snackbar/snackbar.js';\nimport './tab-bar/tab-bar.js';\nimport './tab-bar/tab.js';\nimport './typeahead/highlight.js';\nimport './typeahead/typeahead.js';\n\nexport * from './app-bar/top-app-bar.js';\nexport * from './badge/badge.js';\nexport * from './button/button.js';\nexport * from './button/button-base.js';\nexport * from './button/button-set.js';\nexport * from './button/fab.js';\nexport * from './button/icon-button.js';\nexport * from './button-field/button-field.js';\nexport * from './calendar/calendar.js';\nexport * from './calendar/range-calendar.js';\nexport * from './card/card.js';\nexport * from './card/card-content.js';\nexport * from './card/card-media.js';\nexport * from './chip/chip.js';\nexport * from './chip-field/chip-field.js';\nexport * from './chip/chip-set.js';\nexport * from './dialog/dialog.js';\nexport * from './dialog/dialog-builder.js';\nexport * from './dialog/confirm-dialog-builder.js';\nexport * from './dialog/message-dialog-builder.js';\nexport * from './checkbox/checkbox.js';\nexport * from './radio/radio.js';\nexport * from './search/search.js';\nexport * from './switch/switch.js';\nexport * from './switch/switch-list-item.js';\nexport * from './elevation/elevation.js';\nexport * from './field/field.js';\nexport * from './text-field/text-field.js';\nexport * from './text-area/text-area.js';\nexport * from './select/select.js';\nexport * from './select/option.js';\nexport * from './list/list.js';\nexport * from './list/list-item.js';\nexport * from './icon/icon.js';\nexport * from './menu/menu.js';\nexport * from './menu/menu-item.js';\nexport * from './navigation/drawer.js';\nexport * from './navigation/drawer-item.js';\nexport * from './navigation/drawer-headline.js';\nexport * from './navigation/side-navigation.js';\nexport * from './overflow-menu/overflow-menu.js';\nexport * from './overflow-menu/overflow-menu-item.js';\nexport * from './progress/circular-progress.js';\nexport * from './progress/progress-bar.js';\nexport * from './ripple/ripple.js';\nexport * from './snackbar/snackbar.js';\nexport * from './tab-bar/tab-bar.js';\nexport * from './tab-bar/tab.js';\nexport * from './theme/theme-builder.js';\nexport * from './typeahead/highlight.js';\nexport * from './typeahead/typeahead.js';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["import '@bart-krakowski/get-week-info-polyfill';\n\nimport './app-bar/top-app-bar.js';\nimport './button/button.js';\nimport './button/button-set.js';\nimport './button/fab.js';\nimport './button/fab-menu.js';\nimport './button/fab-menu-item.js';\nimport './button/icon-button.js';\nimport './card/card.js';\nimport './chip/chip.js';\nimport './chip/chip-set.js';\nimport './chip-field/chip-field.js';\nimport './dialog/dialog.js';\nimport './dialog/dialog-builder.js';\nimport './dialog/confirm-dialog-builder.js';\nimport './dialog/message-dialog-builder.js';\nimport './checkbox/checkbox.js';\nimport './checkbox/checkbox-list-item.js';\nimport './radio/radio.js';\nimport './radio/radio-list-item.js';\nimport './switch/switch.js';\nimport './switch/switch-list-item.js';\nimport './elevation/elevation.js';\nimport './field/field.js';\nimport './text-field/text-field.js';\nimport './text-area/text-area.js';\nimport './select/select.js';\nimport './list/list.js';\nimport './list/list-item.js';\nimport './menu/menu.js';\nimport './menu/menu-item.js';\nimport './navigation/drawer.js';\nimport './navigation/drawer-item.js';\nimport './navigation/side-navigation.js';\nimport './progress/circular-progress.js';\nimport './progress/progress-bar.js';\nimport './ripple/ripple.js';\nimport './snackbar/snackbar.js';\nimport './tab-bar/tab-bar.js';\nimport './tab-bar/tab.js';\nimport './typeahead/highlight.js';\nimport './typeahead/typeahead.js';\n\nexport * from './app-bar/top-app-bar.js';\nexport * from './badge/badge.js';\nexport * from './button/button.js';\nexport * from './button/button-base.js';\nexport * from './button/button-set.js';\nexport * from './button/fab.js';\nexport * from './button/icon-button.js';\nexport * from './button-field/button-field.js';\nexport * from './calendar/calendar.js';\nexport * from './calendar/range-calendar.js';\nexport * from './card/card.js';\nexport * from './card/card-content.js';\nexport * from './card/card-media.js';\nexport * from './chip/chip.js';\nexport * from './chip-field/chip-field.js';\nexport * from './chip/chip-set.js';\nexport * from './dialog/dialog.js';\nexport * from './dialog/dialog-builder.js';\nexport * from './dialog/confirm-dialog-builder.js';\nexport * from './dialog/message-dialog-builder.js';\nexport * from './checkbox/checkbox.js';\nexport * from './radio/radio.js';\nexport * from './search/search.js';\nexport * from './switch/switch.js';\nexport * from './switch/switch-list-item.js';\nexport * from './elevation/elevation.js';\nexport * from './field/field.js';\nexport * from './text-field/text-field.js';\nexport * from './text-area/text-area.js';\nexport * from './select/select.js';\nexport * from './select/option.js';\nexport * from './list/list.js';\nexport * from './list/list-item.js';\nexport * from './icon/icon.js';\nexport * from './menu/menu.js';\nexport * from './menu/menu-item.js';\nexport * from './navigation/drawer.js';\nexport * from './navigation/drawer-item.js';\nexport * from './navigation/drawer-headline.js';\nexport * from './navigation/side-navigation.js';\nexport * from './overflow-menu/overflow-menu.js';\nexport * from './overflow-menu/overflow-menu-item.js';\nexport * from './progress/circular-progress.js';\nexport * from './progress/progress-bar.js';\nexport * from './ripple/ripple.js';\nexport * from './snackbar/snackbar.js';\nexport * from './tab-bar/tab-bar.js';\nexport * from './tab-bar/tab.js';\nexport * from './theme/theme-builder.js';\nexport * from './typeahead/highlight.js';\nexport * from './typeahead/typeahead.js';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"list-item.d.ts","sourceRoot":"","sources":["../../src/list/list-item.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,kBAAkB,EAAE,UAAU,EAAW,MAAM,KAAK,CAAC;AAKpE,OAAO,qBAAqB,CAAC;AAE7B,qBACa,UAAW,SAAQ,UAAU;IACxC,OAAgB,MAAM,0BAAU;IAEY,UAAU,UAAS;IAEtD,MAAM,IAAI,kBAAkB;CAmBtC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,aAAa,EAAE,UAAU,CAAC;KAC3B;CACF"}
1
+ {"version":3,"file":"list-item.d.ts","sourceRoot":"","sources":["../../src/list/list-item.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,kBAAkB,EAAE,UAAU,EAAW,MAAM,KAAK,CAAC;AAMpE,OAAO,qBAAqB,CAAC;AAE7B,qBACa,UAAW,SAAQ,UAAU;IACxC,OAAgB,MAAM,0BAAU;IAEY,UAAU,UAAS;IAEtD,MAAM,IAAI,kBAAkB;CAuBtC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,aAAa,EAAE,UAAU,CAAC;KAC3B;CACF"}
package/list/list-item.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { html, LitElement, nothing } from 'lit';
3
3
  import { customElement, property } from 'lit/decorators.js';
4
+ import { classMap } from 'lit/directives/class-map.js';
4
5
  import { styles } from './list-item.styles.js';
5
6
  import '../ripple/ripple.js';
6
7
  let UmListItem = class UmListItem extends LitElement {
@@ -13,18 +14,21 @@ let UmListItem = class UmListItem extends LitElement {
13
14
  const ripple = html `
14
15
  <u-ripple></u-ripple>
15
16
  `;
17
+ const containerClasses = classMap({ selectable: this.selectable });
16
18
  return html `
17
- ${this.selectable ? ripple : nothing}
18
- <slot name="leading" part="leading"></slot>
19
- <div class="content" part="content">
20
- <div class="headline" part="headline">
21
- <slot></slot>
22
- </div>
23
- <div class="supporting-text" part="supporting-text">
24
- <slot name="supporting-text"></slot>
19
+ <div class="container ${containerClasses}">
20
+ ${this.selectable ? ripple : nothing}
21
+ <slot name="leading-icon" part="leading"></slot>
22
+ <div class="content" part="content">
23
+ <div class="headline" part="headline">
24
+ <slot></slot>
25
+ </div>
26
+ <div class="supporting-text" part="supporting-text">
27
+ <slot name="supporting-text"></slot>
28
+ </div>
25
29
  </div>
30
+ <slot name="trailing-icon" part="trailing"></slot>
26
31
  </div>
27
- <slot name="trailing" part="trailing"></slot>
28
32
  `;
29
33
  }
30
34
  };
@@ -1 +1 @@
1
- {"version":3,"file":"list-item.js","sourceRoot":"","sources":["../../src/list/list-item.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAsB,UAAU,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE5D,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE/C,OAAO,qBAAqB,CAAC;AAGtB,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,UAAU;IAAnC;;QAGuC,eAAU,GAAG,KAAK,CAAC;IAqBjE,CAAC;aAvBiB,WAAM,GAAG,MAAM,AAAT,CAAU;IAIvB,MAAM;QACb,MAAM,MAAM,GAAG,IAAI,CAAA;;KAElB,CAAC;QAEF,OAAO,IAAI,CAAA;QACP,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;;;;;;;;;;;KAWrC,CAAC;IACJ,CAAC;;AApB2C;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;8CAAoB;AAHpD,UAAU;IADtB,aAAa,CAAC,aAAa,CAAC;GAChB,UAAU,CAwBtB","sourcesContent":["import { html, HTMLTemplateResult, LitElement, nothing } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n\nimport { styles } from './list-item.styles.js';\n\nimport '../ripple/ripple.js';\n\n@customElement('u-list-item')\nexport class UmListItem extends LitElement {\n static override styles = styles;\n\n @property({ type: Boolean, reflect: true }) selectable = false;\n\n override render(): HTMLTemplateResult {\n const ripple = html`\n <u-ripple></u-ripple>\n `;\n\n return html`\n ${this.selectable ? ripple : nothing}\n <slot name=\"leading\" part=\"leading\"></slot>\n <div class=\"content\" part=\"content\">\n <div class=\"headline\" part=\"headline\">\n <slot></slot>\n </div>\n <div class=\"supporting-text\" part=\"supporting-text\">\n <slot name=\"supporting-text\"></slot>\n </div>\n </div>\n <slot name=\"trailing\" part=\"trailing\"></slot>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'u-list-item': UmListItem;\n }\n}\n"]}
1
+ {"version":3,"file":"list-item.js","sourceRoot":"","sources":["../../src/list/list-item.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAsB,UAAU,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEvD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE/C,OAAO,qBAAqB,CAAC;AAGtB,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,UAAU;IAAnC;;QAGuC,eAAU,GAAG,KAAK,CAAC;IAyBjE,CAAC;aA3BiB,WAAM,GAAG,MAAM,AAAT,CAAU;IAIvB,MAAM;QACb,MAAM,MAAM,GAAG,IAAI,CAAA;;KAElB,CAAC;QAEF,MAAM,gBAAgB,GAAG,QAAQ,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAEnE,OAAO,IAAI,CAAA;8BACe,gBAAgB;UACpC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;;;;;;;;;;;;KAYvC,CAAC;IACJ,CAAC;;AAxB2C;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;8CAAoB;AAHpD,UAAU;IADtB,aAAa,CAAC,aAAa,CAAC;GAChB,UAAU,CA4BtB","sourcesContent":["import { html, HTMLTemplateResult, LitElement, nothing } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\n\nimport { styles } from './list-item.styles.js';\n\nimport '../ripple/ripple.js';\n\n@customElement('u-list-item')\nexport class UmListItem extends LitElement {\n static override styles = styles;\n\n @property({ type: Boolean, reflect: true }) selectable = false;\n\n override render(): HTMLTemplateResult {\n const ripple = html`\n <u-ripple></u-ripple>\n `;\n\n const containerClasses = classMap({ selectable: this.selectable });\n\n return html`\n <div class=\"container ${containerClasses}\">\n ${this.selectable ? ripple : nothing}\n <slot name=\"leading-icon\" part=\"leading\"></slot>\n <div class=\"content\" part=\"content\">\n <div class=\"headline\" part=\"headline\">\n <slot></slot>\n </div>\n <div class=\"supporting-text\" part=\"supporting-text\">\n <slot name=\"supporting-text\"></slot>\n </div>\n </div>\n <slot name=\"trailing-icon\" part=\"trailing\"></slot>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'u-list-item': UmListItem;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"list-item.styles.d.ts","sourceRoot":"","sources":["../../src/list/list-item.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBA6ClB,CAAC"}
1
+ {"version":3,"file":"list-item.styles.d.ts","sourceRoot":"","sources":["../../src/list/list-item.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBAiDlB,CAAC"}
@@ -1,6 +1,10 @@
1
1
  import { css } from 'lit';
2
2
  export const styles = css `
3
3
  :host {
4
+ display: block;
5
+ }
6
+
7
+ .container {
4
8
  position: relative;
5
9
  display: flex;
6
10
  align-items: center;
@@ -10,7 +14,7 @@ export const styles = css `
10
14
  gap: var(--u-list-item-gap, 16px);
11
15
  }
12
16
 
13
- :host([selectable]) {
17
+ .selectable {
14
18
  cursor: pointer;
15
19
  }
16
20
 
@@ -1 +1 @@
1
- {"version":3,"file":"list-item.styles.js","sourceRoot":"","sources":["../../src/list/list-item.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6CzB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css `\n :host {\n position: relative;\n display: flex;\n align-items: center;\n min-height: var(--u-list-item-min-height, 56px);\n padding-block: var(--u-list-item-block-padding, 8px);\n padding-inline: var(--u-list-item-inline-padding, 16px);\n gap: var(--u-list-item-gap, 16px);\n }\n\n :host([selectable]) {\n cursor: pointer;\n }\n\n slot:not([name]) {\n display: block;\n margin-inline-end: auto;\n }\n\n slot {\n flex-shrink: 0;\n }\n\n .content {\n flex: 1;\n min-width: 0;\n }\n\n .headline {\n font-family: var(--u-font-family, var(--u-font-family, system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"));\n line-height: var(--u-list-item-headline-line-height, var(--u-body-l-line-height, 1.5rem));\n font-size: var(--u-list-item-headline-font-size, var(--u-body-l-font-size, 1rem));\n letter-spacing: var(--u-list-item-headline-letter-spacing, var(--u-body-l-letter-spacing, 0.03125rem));\n font-weight: var(--u-list-item-headline-font-weight, var(--u-body-l-font-weight, var(--u-font-weight-regular, 400)));\n }\n\n .supporting-text {\n font-family: var(--u-font-family, var(--u-font-family, system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"));\n line-height: var(--u-list-item-supporting-text-line-height, var(--u-body-m-line-height, 1.25rem));\n font-size: var(--u-list-item-supporting-text-font-size, var(--u-body-m-font-size, 0.875rem));\n letter-spacing: var(--u-list-item-supporting-text-letter-spacing, var(--u-body-m-letter-spacing, 0.0178571429rem));\n font-weight: var(--u-list-item-supporting-text-font-weight, var(--u-body-m-font-weight, var(--u-font-weight-regular, 400)));\n color: var(--u-list-item-supporting-text-color, var(--u-color-on-surface-variant, rgb(73, 69, 79)));\n }\n`;\n"]}
1
+ {"version":3,"file":"list-item.styles.js","sourceRoot":"","sources":["../../src/list/list-item.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiDzB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css `\n :host {\n display: block;\n }\n\n .container {\n position: relative;\n display: flex;\n align-items: center;\n min-height: var(--u-list-item-min-height, 56px);\n padding-block: var(--u-list-item-block-padding, 8px);\n padding-inline: var(--u-list-item-inline-padding, 16px);\n gap: var(--u-list-item-gap, 16px);\n }\n\n .selectable {\n cursor: pointer;\n }\n\n slot:not([name]) {\n display: block;\n margin-inline-end: auto;\n }\n\n slot {\n flex-shrink: 0;\n }\n\n .content {\n flex: 1;\n min-width: 0;\n }\n\n .headline {\n font-family: var(--u-font-family, var(--u-font-family, system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"));\n line-height: var(--u-list-item-headline-line-height, var(--u-body-l-line-height, 1.5rem));\n font-size: var(--u-list-item-headline-font-size, var(--u-body-l-font-size, 1rem));\n letter-spacing: var(--u-list-item-headline-letter-spacing, var(--u-body-l-letter-spacing, 0.03125rem));\n font-weight: var(--u-list-item-headline-font-weight, var(--u-body-l-font-weight, var(--u-font-weight-regular, 400)));\n }\n\n .supporting-text {\n font-family: var(--u-font-family, var(--u-font-family, system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"));\n line-height: var(--u-list-item-supporting-text-line-height, var(--u-body-m-line-height, 1.25rem));\n font-size: var(--u-list-item-supporting-text-font-size, var(--u-body-m-font-size, 0.875rem));\n letter-spacing: var(--u-list-item-supporting-text-letter-spacing, var(--u-body-m-letter-spacing, 0.0178571429rem));\n font-weight: var(--u-list-item-supporting-text-font-weight, var(--u-body-m-font-weight, var(--u-font-weight-regular, 400)));\n color: var(--u-list-item-supporting-text-color, var(--u-color-on-surface-variant, rgb(73, 69, 79)));\n }\n`;\n"]}
@@ -3,34 +3,16 @@ import { UmButtonWrapper } from '../shared/button-wrapper.js';
3
3
  export declare class UmMenuItem extends UmButtonWrapper {
4
4
  #private;
5
5
  static styles: import("lit").CSSResultGroup[];
6
- /**
7
- * Force show focus ring
8
- */
9
- get active(): boolean;
10
- set active(active: boolean);
11
- /**
12
- * Whether the menu item has leading icon or not
13
- *
14
- * _Note:_ Readonly
15
- */
16
- hasLeadingIcon: boolean;
17
- /**
18
- * Whether the menu item has trailing icon or not
19
- *
20
- * _Note:_ Readonly
21
- */
22
- hasTrailingIcon: boolean;
23
- /**
24
- * Whether the drawer item has badge or not
25
- *
26
- * _Note:_ Readonly
27
- */
6
+ active: boolean;
7
+ private _hasLeadingIcon;
8
+ private _hasTrailingIcon;
28
9
  hasBadge: boolean;
29
10
  innerRole: string;
30
11
  connectedCallback(): void;
31
12
  disconnectedCallback(): void;
32
- protected renderContent(): HTMLTemplateResult;
33
- protected renderDefaultTrailingIcon(): TemplateResult | typeof nothing;
13
+ protected _getContainerClasses(): Record<string, boolean>;
14
+ protected _renderContent(): HTMLTemplateResult;
15
+ protected _renderDefaultTrailingIcon(): TemplateResult | typeof nothing;
34
16
  }
35
17
  declare global {
36
18
  interface HTMLElementTagNameMap {
@@ -1 +1 @@
1
- {"version":3,"file":"menu-item.d.ts","sourceRoot":"","sources":["../../src/menu/menu-item.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,kBAAkB,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAGxE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAG9D,qBACa,UAAW,SAAQ,eAAe;;IAC7C,OAAgB,MAAM,iCAAoC;IAI1D;;OAEG;IACH,IACI,MAAM,IAAI,OAAO,CAEpB;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,EASzB;IAED;;;;OAIG;IACwE,cAAc,UAAS;IAElG;;;;OAIG;IACyE,eAAe,UAAS;IAEpG;;;;OAIG;IACiE,QAAQ,UAAS;IAE5E,SAAS,SAAc;IAEvB,iBAAiB;IAMjB,oBAAoB;cAOV,aAAa,IAAI,kBAAkB;IAgBtD,SAAS,CAAC,yBAAyB,IAAI,cAAc,GAAG,OAAO,OAAO;CAWvE;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,aAAa,EAAE,UAAU,CAAC;KAC3B;CACF"}
1
+ {"version":3,"file":"menu-item.d.ts","sourceRoot":"","sources":["../../src/menu/menu-item.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,kBAAkB,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAGxE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAG9D,qBACa,UAAW,SAAQ,eAAe;;IAC7C,OAAgB,MAAM,iCAAoC;IAEd,MAAM,UAAS;IAElD,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,gBAAgB,CAAS;IAC0B,QAAQ,UAAS;IAE5E,SAAS,SAAc;IAEvB,iBAAiB;IAMjB,oBAAoB;cAOV,oBAAoB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;cAS/C,cAAc,IAAI,kBAAkB;IAgBvD,SAAS,CAAC,0BAA0B,IAAI,cAAc,GAAG,OAAO,OAAO;CAWxE;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,aAAa,EAAE,UAAU,CAAC;KAC3B;CACF"}
package/menu/menu-item.js CHANGED
@@ -1,49 +1,19 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { html, nothing } from 'lit';
3
- import { customElement, property } from 'lit/decorators.js';
3
+ import { customElement, property, state } from 'lit/decorators.js';
4
4
  import { UmButtonWrapper } from '../shared/button-wrapper.js';
5
5
  import { styles } from './menu-item.styles.js';
6
6
  let UmMenuItem = class UmMenuItem extends UmButtonWrapper {
7
7
  constructor() {
8
8
  super(...arguments);
9
- this.#active = false;
10
- /**
11
- * Whether the menu item has leading icon or not
12
- *
13
- * _Note:_ Readonly
14
- */
15
- this.hasLeadingIcon = false;
16
- /**
17
- * Whether the menu item has trailing icon or not
18
- *
19
- * _Note:_ Readonly
20
- */
21
- this.hasTrailingIcon = false;
22
- /**
23
- * Whether the drawer item has badge or not
24
- *
25
- * _Note:_ Readonly
26
- */
9
+ this.active = false;
10
+ this._hasLeadingIcon = false;
11
+ this._hasTrailingIcon = false;
27
12
  this.hasBadge = false;
28
13
  this.innerRole = 'menuitem';
29
14
  this.#handleMouseEnter = () => this.dispatchEvent(new CustomEvent('menu-item-mouseenter', { bubbles: true }));
30
15
  }
31
16
  static { this.styles = [UmButtonWrapper.styles, styles]; }
32
- #active;
33
- /**
34
- * Force show focus ring
35
- */
36
- get active() {
37
- return this.#active;
38
- }
39
- set active(active) {
40
- this.#active = active;
41
- if (active) {
42
- this.classList.add('force-focus-ring');
43
- return;
44
- }
45
- this.classList.remove('force-focus-ring');
46
- }
47
17
  connectedCallback() {
48
18
  super.connectedCallback();
49
19
  this.role = 'presentation';
@@ -54,7 +24,15 @@ let UmMenuItem = class UmMenuItem extends UmButtonWrapper {
54
24
  this.removeEventListener('mouseenter', this.#handleMouseEnter);
55
25
  }
56
26
  #handleMouseEnter;
57
- renderContent() {
27
+ _getContainerClasses() {
28
+ return {
29
+ ...super._getContainerClasses(),
30
+ 'force-focus-ring': this.active,
31
+ 'leading-icon': this._hasLeadingIcon,
32
+ 'trailing-icon': this._hasTrailingIcon,
33
+ };
34
+ }
35
+ _renderContent() {
58
36
  return html `
59
37
  <div class="icon leading">
60
38
  <slot name="leading-icon" aria-hidden="true" @slotchange="${this.#handleLeadingIconSlotChange}"></slot>
@@ -64,30 +42,30 @@ let UmMenuItem = class UmMenuItem extends UmButtonWrapper {
64
42
  </span>
65
43
  <div class="icon trailing">
66
44
  <slot name="trailing-icon" aria-hidden="true" @slotchange="${this.#handleTrailingIconSlotChange}">
67
- <span>${this.renderDefaultTrailingIcon()}</span>
45
+ <span>${this._renderDefaultTrailingIcon()}</span>
68
46
  </slot>
69
47
  </div>
70
48
  `;
71
49
  }
72
- renderDefaultTrailingIcon() {
50
+ _renderDefaultTrailingIcon() {
73
51
  return nothing;
74
52
  }
75
53
  #handleLeadingIconSlotChange(e) {
76
- this.hasLeadingIcon = e.target.assignedElements({ flatten: true }).length > 0;
54
+ this._hasLeadingIcon = e.target.assignedElements({ flatten: true }).length > 0;
77
55
  }
78
56
  #handleTrailingIconSlotChange(e) {
79
- this.hasTrailingIcon = e.target.assignedElements({ flatten: true }).length > 0;
57
+ this._hasTrailingIcon = e.target.assignedElements({ flatten: true }).length > 0;
80
58
  }
81
59
  };
82
60
  __decorate([
83
61
  property({ type: Boolean, reflect: true })
84
- ], UmMenuItem.prototype, "active", null);
62
+ ], UmMenuItem.prototype, "active", void 0);
85
63
  __decorate([
86
- property({ type: Boolean, attribute: 'has-leading-icon', reflect: true })
87
- ], UmMenuItem.prototype, "hasLeadingIcon", void 0);
64
+ state()
65
+ ], UmMenuItem.prototype, "_hasLeadingIcon", void 0);
88
66
  __decorate([
89
- property({ type: Boolean, attribute: 'has-trailing-icon', reflect: true })
90
- ], UmMenuItem.prototype, "hasTrailingIcon", void 0);
67
+ state()
68
+ ], UmMenuItem.prototype, "_hasTrailingIcon", void 0);
91
69
  __decorate([
92
70
  property({ type: Boolean, attribute: 'has-badge', reflect: true })
93
71
  ], UmMenuItem.prototype, "hasBadge", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"menu-item.js","sourceRoot":"","sources":["../../src/menu/menu-item.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, HTMLTemplateResult, nothing, TemplateResult } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n\nimport { UmButtonWrapper } from '../shared/button-wrapper.js';\nimport { styles } from './menu-item.styles.js';\n\n@customElement('u-menu-item')\nexport class UmMenuItem extends UmButtonWrapper {\n static override styles = [UmButtonWrapper.styles, styles];\n\n #active = false;\n\n /**\n * Force show focus ring\n */\n @property({ type: Boolean, reflect: true })\n get active(): boolean {\n return this.#active;\n }\n\n set active(active: boolean) {\n this.#active = active;\n\n if (active) {\n this.classList.add('force-focus-ring');\n return;\n }\n\n this.classList.remove('force-focus-ring');\n }\n\n /**\n * Whether the menu item has leading icon or not\n *\n * _Note:_ Readonly\n */\n @property({ type: Boolean, attribute: 'has-leading-icon', reflect: true }) hasLeadingIcon = false;\n\n /**\n * Whether the menu item has trailing icon or not\n *\n * _Note:_ Readonly\n */\n @property({ type: Boolean, attribute: 'has-trailing-icon', reflect: true }) hasTrailingIcon = false;\n\n /**\n * Whether the drawer item has badge or not\n *\n * _Note:_ Readonly\n */\n @property({ type: Boolean, attribute: 'has-badge', reflect: true }) hasBadge = false;\n\n override innerRole = 'menuitem';\n\n override connectedCallback() {\n super.connectedCallback();\n this.role = 'presentation';\n this.addEventListener('mouseenter', this.#handleMouseEnter);\n }\n\n override disconnectedCallback() {\n super.disconnectedCallback();\n this.removeEventListener('mouseenter', this.#handleMouseEnter);\n }\n\n readonly #handleMouseEnter = () => this.dispatchEvent(new CustomEvent<UmMenuItem>('menu-item-mouseenter', { bubbles: true }));\n\n protected override renderContent(): HTMLTemplateResult {\n return html`\n <div class=\"icon leading\">\n <slot name=\"leading-icon\" aria-hidden=\"true\" @slotchange=\"${this.#handleLeadingIconSlotChange}\"></slot>\n </div>\n <span class=\"label\" id=\"text\">\n <slot></slot>\n </span>\n <div class=\"icon trailing\">\n <slot name=\"trailing-icon\" aria-hidden=\"true\" @slotchange=\"${this.#handleTrailingIconSlotChange}\">\n <span>${this.renderDefaultTrailingIcon()}</span>\n </slot>\n </div>\n `;\n }\n\n protected renderDefaultTrailingIcon(): TemplateResult | typeof nothing {\n return nothing;\n }\n\n #handleLeadingIconSlotChange(e: Event) {\n this.hasLeadingIcon = (e.target as HTMLSlotElement).assignedElements({ flatten: true }).length > 0;\n }\n\n #handleTrailingIconSlotChange(e: Event) {\n this.hasTrailingIcon = (e.target as HTMLSlotElement).assignedElements({ flatten: true }).length > 0;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'u-menu-item': UmMenuItem;\n }\n}\n"]}
1
+ {"version":3,"file":"menu-item.js","sourceRoot":"","sources":["../../src/menu/menu-item.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAsB,OAAO,EAAkB,MAAM,KAAK,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAEnE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAGxC,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,eAAe;IAAxC;;QAGuC,WAAM,GAAG,KAAK,CAAC;QAE1C,oBAAe,GAAG,KAAK,CAAC;QACxB,qBAAgB,GAAG,KAAK,CAAC;QAC0B,aAAQ,GAAG,KAAK,CAAC;QAE5E,cAAS,GAAG,UAAU,CAAC;QAavB,sBAAiB,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAa,sBAAsB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAsChI,CAAC;aA3DiB,WAAM,GAAG,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,AAAnC,CAAoC;IAUjD,iBAAiB;QACxB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAC3B,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC9D,CAAC;IAEQ,oBAAoB;QAC3B,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAC7B,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACjE,CAAC;IAEQ,iBAAiB,CAAoG;IAE3G,oBAAoB;QACrC,OAAO;YACL,GAAG,KAAK,CAAC,oBAAoB,EAAE;YAC/B,kBAAkB,EAAE,IAAI,CAAC,MAAM;YAC/B,cAAc,EAAE,IAAI,CAAC,eAAe;YACpC,eAAe,EAAE,IAAI,CAAC,gBAAgB;SACvC,CAAC;IACJ,CAAC;IAEkB,cAAc;QAC/B,OAAO,IAAI,CAAA;;oEAEqD,IAAI,CAAC,4BAA4B;;;;;;qEAMhC,IAAI,CAAC,6BAA6B;kBACrF,IAAI,CAAC,0BAA0B,EAAE;;;KAG9C,CAAC;IACJ,CAAC;IAES,0BAA0B;QAClC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,4BAA4B,CAAC,CAAQ;QACnC,IAAI,CAAC,eAAe,GAAI,CAAC,CAAC,MAA0B,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IACtG,CAAC;IAED,6BAA6B,CAAC,CAAQ;QACpC,IAAI,CAAC,gBAAgB,GAAI,CAAC,CAAC,MAA0B,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IACvG,CAAC;;AAxD2C;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;0CAAgB;AAE1C;IAAhB,KAAK,EAAE;mDAAiC;AACxB;IAAhB,KAAK,EAAE;oDAAkC;AAC0B;IAAnE,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;4CAAkB;AAP1E,UAAU;IADtB,aAAa,CAAC,aAAa,CAAC;GAChB,UAAU,CA4DtB","sourcesContent":["import { html, HTMLTemplateResult, nothing, TemplateResult } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\n\nimport { UmButtonWrapper } from '../shared/button-wrapper.js';\nimport { styles } from './menu-item.styles.js';\n\n@customElement('u-menu-item')\nexport class UmMenuItem extends UmButtonWrapper {\n static override styles = [UmButtonWrapper.styles, styles];\n\n @property({ type: Boolean, reflect: true }) active = false;\n\n @state() private _hasLeadingIcon = false;\n @state() private _hasTrailingIcon = false;\n @property({ type: Boolean, attribute: 'has-badge', reflect: true }) hasBadge = false;\n\n override innerRole = 'menuitem';\n\n override connectedCallback() {\n super.connectedCallback();\n this.role = 'presentation';\n this.addEventListener('mouseenter', this.#handleMouseEnter);\n }\n\n override disconnectedCallback() {\n super.disconnectedCallback();\n this.removeEventListener('mouseenter', this.#handleMouseEnter);\n }\n\n readonly #handleMouseEnter = () => this.dispatchEvent(new CustomEvent<UmMenuItem>('menu-item-mouseenter', { bubbles: true }));\n\n protected override _getContainerClasses(): Record<string, boolean> {\n return {\n ...super._getContainerClasses(),\n 'force-focus-ring': this.active,\n 'leading-icon': this._hasLeadingIcon,\n 'trailing-icon': this._hasTrailingIcon,\n };\n }\n\n protected override _renderContent(): HTMLTemplateResult {\n return html`\n <div class=\"icon leading\">\n <slot name=\"leading-icon\" aria-hidden=\"true\" @slotchange=\"${this.#handleLeadingIconSlotChange}\"></slot>\n </div>\n <span class=\"label\" id=\"text\">\n <slot></slot>\n </span>\n <div class=\"icon trailing\">\n <slot name=\"trailing-icon\" aria-hidden=\"true\" @slotchange=\"${this.#handleTrailingIconSlotChange}\">\n <span>${this._renderDefaultTrailingIcon()}</span>\n </slot>\n </div>\n `;\n }\n\n protected _renderDefaultTrailingIcon(): TemplateResult | typeof nothing {\n return nothing;\n }\n\n #handleLeadingIconSlotChange(e: Event) {\n this._hasLeadingIcon = (e.target as HTMLSlotElement).assignedElements({ flatten: true }).length > 0;\n }\n\n #handleTrailingIconSlotChange(e: Event) {\n this._hasTrailingIcon = (e.target as HTMLSlotElement).assignedElements({ flatten: true }).length > 0;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'u-menu-item': UmMenuItem;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"menu-item.styles.d.ts","sourceRoot":"","sources":["../../src/menu/menu-item.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBAmDlB,CAAC"}
1
+ {"version":3,"file":"menu-item.styles.d.ts","sourceRoot":"","sources":["../../src/menu/menu-item.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBAoDlB,CAAC"}
@@ -5,6 +5,9 @@ export const styles = css `
5
5
  --_menu-item-icon-size: var(--u-menu-item-icon-size, 1.5rem);
6
6
  --_menu-item-padding: var(--u-menu-item-padding, 12px);
7
7
  --u-focus-ring-outline-offset: -4px;
8
+ }
9
+
10
+ .container {
8
11
  height: var(--u-menu-item-height, 56px);
9
12
  padding-inline: var(--_menu-item-padding);
10
13
  color: var(--u-menu-item-label-color, var(--u-color-on-surface, rgb(29, 27, 32)));
@@ -14,12 +17,10 @@ export const styles = css `
14
17
  letter-spacing: var(--u-menu-item-label-letter-spacing, var(--u-label-l-letter-spacing, 0.0071428571rem));
15
18
  font-weight: var(--u-menu-item-label-font-weight, var(--u-label-l-font-weight, var(--u-font-weight-medium, 500)));
16
19
  }
17
-
18
- :host(:not([has-leading-icon])) .leading {
20
+ .container:not(.leading-icon) .leading {
19
21
  display: none;
20
22
  }
21
-
22
- :host(:not([has-trailing-icon])) .trailing:has(slot[name=trailing-icon] span:empty) {
23
+ .container:not(.trailing-icon) .trailing:has(slot[name=trailing-icon] span:empty) {
23
24
  display: none;
24
25
  }
25
26
 
@@ -38,7 +39,7 @@ export const styles = css `
38
39
  gap: var(--u-menu-item-icon-margin, 12px);
39
40
  }
40
41
 
41
- :host(.force-focus-ring) .button,
42
+ .force-focus-ring .button,
42
43
  .button:focus-visible {
43
44
  border-radius: var(--u-spacing-small, 8px);
44
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"menu-item.styles.js","sourceRoot":"","sources":["../../src/menu/menu-item.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmDzB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css `\n :host {\n display: block;\n --_menu-item-icon-size: var(--u-menu-item-icon-size, 1.5rem);\n --_menu-item-padding: var(--u-menu-item-padding, 12px);\n --u-focus-ring-outline-offset: -4px;\n height: var(--u-menu-item-height, 56px);\n padding-inline: var(--_menu-item-padding);\n color: var(--u-menu-item-label-color, var(--u-color-on-surface, rgb(29, 27, 32)));\n font-family: var(--u-font-family, var(--u-font-family, system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"));\n line-height: var(--u-menu-item-label-line-height, var(--u-label-l-line-height, 1.25rem));\n font-size: var(--u-menu-item-label-font-size, var(--u-label-l-font-size, 0.875rem));\n letter-spacing: var(--u-menu-item-label-letter-spacing, var(--u-label-l-letter-spacing, 0.0071428571rem));\n font-weight: var(--u-menu-item-label-font-weight, var(--u-label-l-font-weight, var(--u-font-weight-medium, 500)));\n }\n\n :host(:not([has-leading-icon])) .leading {\n display: none;\n }\n\n :host(:not([has-trailing-icon])) .trailing:has(slot[name=trailing-icon] span:empty) {\n display: none;\n }\n\n .icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--_menu-item-icon-size);\n height: var(--_menu-item-icon-size);\n font-size: var(--_menu-item-icon-size);\n color: var(--u-menu-item-label-color, var(--u-color-on-surface-variant, rgb(73, 69, 79)));\n }\n\n .content {\n justify-content: flex-start;\n gap: var(--u-menu-item-icon-margin, 12px);\n }\n\n :host(.force-focus-ring) .button,\n .button:focus-visible {\n border-radius: var(--u-spacing-small, 8px);\n }\n\n .label {\n flex: 1;\n max-width: 100%;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n`;\n"]}
1
+ {"version":3,"file":"menu-item.styles.js","sourceRoot":"","sources":["../../src/menu/menu-item.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoDzB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css `\n :host {\n display: block;\n --_menu-item-icon-size: var(--u-menu-item-icon-size, 1.5rem);\n --_menu-item-padding: var(--u-menu-item-padding, 12px);\n --u-focus-ring-outline-offset: -4px;\n }\n\n .container {\n height: var(--u-menu-item-height, 56px);\n padding-inline: var(--_menu-item-padding);\n color: var(--u-menu-item-label-color, var(--u-color-on-surface, rgb(29, 27, 32)));\n font-family: var(--u-font-family, var(--u-font-family, system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"));\n line-height: var(--u-menu-item-label-line-height, var(--u-label-l-line-height, 1.25rem));\n font-size: var(--u-menu-item-label-font-size, var(--u-label-l-font-size, 0.875rem));\n letter-spacing: var(--u-menu-item-label-letter-spacing, var(--u-label-l-letter-spacing, 0.0071428571rem));\n font-weight: var(--u-menu-item-label-font-weight, var(--u-label-l-font-weight, var(--u-font-weight-medium, 500)));\n }\n .container:not(.leading-icon) .leading {\n display: none;\n }\n .container:not(.trailing-icon) .trailing:has(slot[name=trailing-icon] span:empty) {\n display: none;\n }\n\n .icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--_menu-item-icon-size);\n height: var(--_menu-item-icon-size);\n font-size: var(--_menu-item-icon-size);\n color: var(--u-menu-item-label-color, var(--u-color-on-surface-variant, rgb(73, 69, 79)));\n }\n\n .content {\n justify-content: flex-start;\n gap: var(--u-menu-item-icon-margin, 12px);\n }\n\n .force-focus-ring .button,\n .button:focus-visible {\n border-radius: var(--u-spacing-small, 8px);\n }\n\n .label {\n flex: 1;\n max-width: 100%;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n`;\n"]}
@@ -2,18 +2,8 @@ import { HTMLTemplateResult } from 'lit';
2
2
  import { UmButtonWrapper } from '../shared/button-wrapper.js';
3
3
  export declare class UmDrawerItem extends UmButtonWrapper {
4
4
  static styles: import("lit").CSSResultGroup[];
5
- /**
6
- * Whether the drawer item has icon or not
7
- *
8
- * _Note:_ Readonly
9
- */
10
- hasIcon: boolean;
11
- /**
12
- * Whether the drawer item has badge or not
13
- *
14
- * _Note:_ Readonly
15
- */
16
- hasBadge: boolean;
5
+ _hasIcon: boolean;
6
+ _hasBadge: boolean;
17
7
  /**
18
8
  * Whether the drawer item is active or not
19
9
  *
@@ -27,10 +17,11 @@ export declare class UmDrawerItem extends UmButtonWrapper {
27
17
  private readonly assignedIcons;
28
18
  private readonly assignedBadges;
29
19
  connectedCallback(): void;
30
- protected renderContent(): HTMLTemplateResult;
20
+ protected _getContainerClasses(): Record<string, boolean>;
21
+ protected _renderContent(): HTMLTemplateResult;
31
22
  private handleIconSlotChange;
32
23
  private handleBadgeSlotChange;
33
- handleClick(): void;
24
+ _handleClick(): void;
34
25
  }
35
26
  declare global {
36
27
  interface HTMLElementTagNameMap {
@@ -1 +1 @@
1
- {"version":3,"file":"drawer-item.d.ts","sourceRoot":"","sources":["../../src/navigation/drawer-item.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,kBAAkB,EAAE,MAAM,KAAK,CAAC;AAG/C,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAG9D,qBACa,YAAa,SAAQ,eAAe;IAE/C,OAAgB,MAAM,iCAGpB;IAEF;;;;OAIG;IACgE,OAAO,UAAS;IAEnF;;;;OAIG;IACiE,QAAQ,UAAS;IAErF;;;;OAIG;IACyC,MAAM,UAAS;IAE3D;;OAEG;IACwE,cAAc,UAAS;IAGlG,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiB;IAG/C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAEvC,iBAAiB;cAKP,aAAa,IAAI,kBAAkB;IAiBtD,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,qBAAqB;IAIpB,WAAW,IAAI,IAAI;CAW7B;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,eAAe,EAAE,YAAY,CAAC;KAC/B;CACF"}
1
+ {"version":3,"file":"drawer-item.d.ts","sourceRoot":"","sources":["../../src/navigation/drawer-item.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,kBAAkB,EAAE,MAAM,KAAK,CAAC;AAG/C,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAG9D,qBACa,YAAa,SAAQ,eAAe;IAE/C,OAAgB,MAAM,iCAGpB;IAEO,QAAQ,UAAS;IACjB,SAAS,UAAS;IAE3B;;;;OAIG;IACyC,MAAM,UAAS;IAE3D;;OAEG;IACwE,cAAc,UAAS;IAGlG,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiB;IAG/C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAEvC,iBAAiB;cAKP,oBAAoB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;cAQ/C,cAAc,IAAI,kBAAkB;IAiBvD,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,qBAAqB;IAIpB,YAAY,IAAI,IAAI;CAW9B;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,eAAe,EAAE,YAAY,CAAC;KAC/B;CACF"}
@@ -1,23 +1,13 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { html } from 'lit';
3
- import { customElement, property, queryAssignedElements } from 'lit/decorators.js';
3
+ import { customElement, property, queryAssignedElements, state } from 'lit/decorators.js';
4
4
  import { UmButtonWrapper } from '../shared/button-wrapper.js';
5
5
  import { styles } from './drawer-item.styles.js';
6
6
  let UmDrawerItem = class UmDrawerItem extends UmButtonWrapper {
7
7
  constructor() {
8
8
  super(...arguments);
9
- /**
10
- * Whether the drawer item has icon or not
11
- *
12
- * _Note:_ Readonly
13
- */
14
- this.hasIcon = false;
15
- /**
16
- * Whether the drawer item has badge or not
17
- *
18
- * _Note:_ Readonly
19
- */
20
- this.hasBadge = false;
9
+ this._hasIcon = false;
10
+ this._hasBadge = false;
21
11
  /**
22
12
  * Whether the drawer item is active or not
23
13
  *
@@ -37,7 +27,14 @@ let UmDrawerItem = class UmDrawerItem extends UmButtonWrapper {
37
27
  super.connectedCallback();
38
28
  this.setAttribute('aria-labelledby', 'label');
39
29
  }
40
- renderContent() {
30
+ _getContainerClasses() {
31
+ return {
32
+ ...super._getContainerClasses(),
33
+ 'has-icon': this._hasIcon,
34
+ 'has-badge': this._hasBadge,
35
+ };
36
+ }
37
+ _renderContent() {
41
38
  return html `
42
39
  <div class="icon">
43
40
  <slot
@@ -54,12 +51,12 @@ let UmDrawerItem = class UmDrawerItem extends UmButtonWrapper {
54
51
  `;
55
52
  }
56
53
  handleIconSlotChange() {
57
- this.hasIcon = this.assignedIcons.length > 0;
54
+ this._hasIcon = this.assignedIcons.length > 0;
58
55
  }
59
56
  handleBadgeSlotChange() {
60
- this.hasBadge = this.assignedBadges.length > 0;
57
+ this._hasBadge = this.assignedBadges.length > 0;
61
58
  }
62
- handleClick() {
59
+ _handleClick() {
63
60
  if (this.keepDrawerOpen) {
64
61
  return;
65
62
  }
@@ -70,11 +67,11 @@ let UmDrawerItem = class UmDrawerItem extends UmButtonWrapper {
70
67
  }
71
68
  };
72
69
  __decorate([
73
- property({ type: Boolean, attribute: 'has-icon', reflect: true })
74
- ], UmDrawerItem.prototype, "hasIcon", void 0);
70
+ state()
71
+ ], UmDrawerItem.prototype, "_hasIcon", void 0);
75
72
  __decorate([
76
- property({ type: Boolean, attribute: 'has-badge', reflect: true })
77
- ], UmDrawerItem.prototype, "hasBadge", void 0);
73
+ state()
74
+ ], UmDrawerItem.prototype, "_hasBadge", void 0);
78
75
  __decorate([
79
76
  property({ type: Boolean, reflect: true })
80
77
  ], UmDrawerItem.prototype, "active", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"drawer-item.js","sourceRoot":"","sources":["../../src/navigation/drawer-item.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAsB,MAAM,KAAK,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAEnF,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAG1C,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,eAAe;IAA1C;;QAOL;;;;WAIG;QACgE,YAAO,GAAG,KAAK,CAAC;QAEnF;;;;WAIG;QACiE,aAAQ,GAAG,KAAK,CAAC;QAErF;;;;WAIG;QACyC,WAAM,GAAG,KAAK,CAAC;QAE3D;;WAEG;QACwE,mBAAc,GAAG,KAAK,CAAC;IAiDpG,CAAC;aA9EiB,WAAM,GAAG;QACvB,eAAe,CAAC,MAAM;QACtB,MAAM;KACP,AAHqB,CAGpB;IAkCO,iBAAiB;QACxB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IAEkB,aAAa;QAC9B,OAAO,IAAI,CAAA;;;;;yBAKU,IAAI,CAAC,oBAAoB;;;;;;yBAMzB,IAAI,CAAC,qBAAqB;;KAE9C,CAAC;IACJ,CAAC;IAEO,oBAAoB;QAC1B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;IAC/C,CAAC;IAEO,qBAAqB;QAC3B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;IACjD,CAAC;IAEQ,WAAW;QAClB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAEzD,IAAI,cAAc,EAAE,CAAC;YACnB,cAAc,CAAC,YAAY,GAAG,KAAK,CAAC;QACtC,CAAC;IACH,CAAC;;AAnEkE;IAAlE,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;6CAAiB;AAOf;IAAnE,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;8CAAkB;AAOzC;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;4CAAgB;AAKgB;IAA1E,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;oDAAwB;AAGjF;IADhB,qBAAqB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;mDACR;AAG9B;IADhB,qBAAqB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;oDACR;AArCrC,YAAY;IADxB,aAAa,CAAC,eAAe,CAAC;GAClB,YAAY,CAgFxB","sourcesContent":["import { html, HTMLTemplateResult } from 'lit';\nimport { customElement, property, queryAssignedElements } from 'lit/decorators.js';\n\nimport { UmButtonWrapper } from '../shared/button-wrapper.js';\nimport { styles } from './drawer-item.styles.js';\n\n@customElement('u-drawer-item')\nexport class UmDrawerItem extends UmButtonWrapper {\n\n static override styles = [\n UmButtonWrapper.styles,\n styles,\n ];\n\n /**\n * Whether the drawer item has icon or not\n *\n * _Note:_ Readonly\n */\n @property({ type: Boolean, attribute: 'has-icon', reflect: true }) hasIcon = false;\n\n /**\n * Whether the drawer item has badge or not\n *\n * _Note:_ Readonly\n */\n @property({ type: Boolean, attribute: 'has-badge', reflect: true }) hasBadge = false;\n\n /**\n * Whether the drawer item is active or not\n *\n * _Note:_ Readonly\n */\n @property({ type: Boolean, reflect: true }) active = false;\n\n /**\n * If true, it will not attempt to close de navigation drawer on click\n */\n @property({ type: Boolean, attribute: 'keep-drawer-open', reflect: true }) keepDrawerOpen = false;\n\n @queryAssignedElements({ slot: 'icon', flatten: true })\n private readonly assignedIcons!: HTMLElement[];\n\n @queryAssignedElements({ slot: 'badge', flatten: true })\n private readonly assignedBadges!: HTMLElement[];\n\n override connectedCallback() {\n super.connectedCallback();\n this.setAttribute('aria-labelledby', 'label');\n }\n\n protected override renderContent(): HTMLTemplateResult {\n return html`\n <div class=\"icon\">\n <slot\n name=\"icon\"\n aria-hidden=\"true\"\n @slotchange=\"${this.handleIconSlotChange}\"></slot>\n </div>\n <span class=\"label\" id=\"text\"><slot></slot></span>\n <span class=\"badge\">\n <slot\n name=\"badge\"\n @slotchange=\"${this.handleBadgeSlotChange}\"></slot>\n </span>\n `;\n }\n\n private handleIconSlotChange() {\n this.hasIcon = this.assignedIcons.length > 0;\n }\n\n private handleBadgeSlotChange() {\n this.hasBadge = this.assignedBadges.length > 0;\n }\n\n override handleClick(): void {\n if (this.keepDrawerOpen) {\n return;\n }\n\n const sideNavigation = this.closest('u-side-navigation');\n\n if (sideNavigation) {\n sideNavigation.toggleDrawer = false;\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'u-drawer-item': UmDrawerItem;\n }\n}\n"]}
1
+ {"version":3,"file":"drawer-item.js","sourceRoot":"","sources":["../../src/navigation/drawer-item.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAsB,MAAM,KAAK,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1F,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAG1C,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,eAAe;IAA1C;;QAOI,aAAQ,GAAG,KAAK,CAAC;QACjB,cAAS,GAAG,KAAK,CAAC;QAE3B;;;;WAIG;QACyC,WAAM,GAAG,KAAK,CAAC;QAE3D;;WAEG;QACwE,mBAAc,GAAG,KAAK,CAAC;IAyDpG,CAAC;aA3EiB,WAAM,GAAG;QACvB,eAAe,CAAC,MAAM;QACtB,MAAM;KACP,AAHqB,CAGpB;IAuBO,iBAAiB;QACxB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IAEkB,oBAAoB;QACrC,OAAO;YACL,GAAG,KAAK,CAAC,oBAAoB,EAAE;YAC/B,UAAU,EAAE,IAAI,CAAC,QAAQ;YACzB,WAAW,EAAE,IAAI,CAAC,SAAS;SAC5B,CAAC;IACJ,CAAC;IAEkB,cAAc;QAC/B,OAAO,IAAI,CAAA;;;;;yBAKU,IAAI,CAAC,oBAAoB;;;;;;yBAMzB,IAAI,CAAC,qBAAqB;;KAE9C,CAAC;IACJ,CAAC;IAEO,oBAAoB;QAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;IAChD,CAAC;IAEO,qBAAqB;QAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;IAClD,CAAC;IAEQ,YAAY;QACnB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAEzD,IAAI,cAAc,EAAE,CAAC;YACnB,cAAc,CAAC,YAAY,GAAG,KAAK,CAAC;QACtC,CAAC;IACH,CAAC;;AArEQ;IAAR,KAAK,EAAE;8CAAkB;AACjB;IAAR,KAAK,EAAE;+CAAmB;AAOiB;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;4CAAgB;AAKgB;IAA1E,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;oDAAwB;AAGjF;IADhB,qBAAqB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;mDACR;AAG9B;IADhB,qBAAqB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;oDACR;AA1BrC,YAAY;IADxB,aAAa,CAAC,eAAe,CAAC;GAClB,YAAY,CA6ExB","sourcesContent":["import { html, HTMLTemplateResult } from 'lit';\nimport { customElement, property, queryAssignedElements, state } from 'lit/decorators.js';\n\nimport { UmButtonWrapper } from '../shared/button-wrapper.js';\nimport { styles } from './drawer-item.styles.js';\n\n@customElement('u-drawer-item')\nexport class UmDrawerItem extends UmButtonWrapper {\n\n static override styles = [\n UmButtonWrapper.styles,\n styles,\n ];\n\n @state() _hasIcon = false;\n @state() _hasBadge = false;\n\n /**\n * Whether the drawer item is active or not\n *\n * _Note:_ Readonly\n */\n @property({ type: Boolean, reflect: true }) active = false;\n\n /**\n * If true, it will not attempt to close de navigation drawer on click\n */\n @property({ type: Boolean, attribute: 'keep-drawer-open', reflect: true }) keepDrawerOpen = false;\n\n @queryAssignedElements({ slot: 'icon', flatten: true })\n private readonly assignedIcons!: HTMLElement[];\n\n @queryAssignedElements({ slot: 'badge', flatten: true })\n private readonly assignedBadges!: HTMLElement[];\n\n override connectedCallback() {\n super.connectedCallback();\n this.setAttribute('aria-labelledby', 'label');\n }\n\n protected override _getContainerClasses(): Record<string, boolean> {\n return {\n ...super._getContainerClasses(),\n 'has-icon': this._hasIcon,\n 'has-badge': this._hasBadge,\n };\n }\n\n protected override _renderContent(): HTMLTemplateResult {\n return html`\n <div class=\"icon\">\n <slot\n name=\"icon\"\n aria-hidden=\"true\"\n @slotchange=\"${this.handleIconSlotChange}\"></slot>\n </div>\n <span class=\"label\" id=\"text\"><slot></slot></span>\n <span class=\"badge\">\n <slot\n name=\"badge\"\n @slotchange=\"${this.handleBadgeSlotChange}\"></slot>\n </span>\n `;\n }\n\n private handleIconSlotChange() {\n this._hasIcon = this.assignedIcons.length > 0;\n }\n\n private handleBadgeSlotChange() {\n this._hasBadge = this.assignedBadges.length > 0;\n }\n\n override _handleClick(): void {\n if (this.keepDrawerOpen) {\n return;\n }\n\n const sideNavigation = this.closest('u-side-navigation');\n\n if (sideNavigation) {\n sideNavigation.toggleDrawer = false;\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'u-drawer-item': UmDrawerItem;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"drawer-item.styles.d.ts","sourceRoot":"","sources":["../../src/navigation/drawer-item.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBAkDlB,CAAC"}
1
+ {"version":3,"file":"drawer-item.styles.d.ts","sourceRoot":"","sources":["../../src/navigation/drawer-item.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBAmDlB,CAAC"}
@@ -4,6 +4,9 @@ export const styles = css `
4
4
  display: block;
5
5
  --_drawer-item-icon-size: var(--u-drawer-item-icon-size, 1.5rem);
6
6
  --_drawer-item-padding: var(--u-drawer-item-padding, 16px);
7
+ }
8
+
9
+ .container {
7
10
  font-family: var(--u-font-family, var(--u-font-family, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"));
8
11
  line-height: var(--u-drawer-item-line-height, var(--u-label-l-line-height, 1.25rem));
9
12
  font-size: var(--u-drawer-item-font-size, var(--u-label-l-font-size, 0.875rem));
@@ -15,18 +18,16 @@ export const styles = css `
15
18
  border-radius: var(--u-drawer-item-shape-corner, var(--u-shape-corner-full, 9999px));
16
19
  color: var(--u-drawer-item-label-inactive-color, var(--u-color-on-surface-variant, rgb(73, 69, 79)));
17
20
  }
21
+ .container:not(.has-icon) .icon, .container:not(.has-badge) .badge {
22
+ display: none;
23
+ }
18
24
 
19
- :host(.active),
20
- :host([active]) {
25
+ :host(.active) .container,
26
+ :host([active]) .container {
21
27
  background-color: var(--u-drawer-item-label-active-color, var(--u-color-secondary-container, rgb(232, 222, 248)));
22
28
  color: var(--u-drawer-item-label-active-color, var(--u-color-on-secondary-container, rgb(29, 25, 43)));
23
29
  }
24
30
 
25
- :host(:not([has-icon])) .icon,
26
- :host(:not([has-badge])) .badge {
27
- display: none;
28
- }
29
-
30
31
  .icon {
31
32
  display: flex;
32
33
  width: 1em;
@@ -1 +1 @@
1
- {"version":3,"file":"drawer-item.styles.js","sourceRoot":"","sources":["../../src/navigation/drawer-item.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkDzB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css `\n :host {\n display: block;\n --_drawer-item-icon-size: var(--u-drawer-item-icon-size, 1.5rem);\n --_drawer-item-padding: var(--u-drawer-item-padding, 16px);\n font-family: var(--u-font-family, var(--u-font-family, system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"));\n line-height: var(--u-drawer-item-line-height, var(--u-label-l-line-height, 1.25rem));\n font-size: var(--u-drawer-item-font-size, var(--u-label-l-font-size, 0.875rem));\n letter-spacing: var(--u-drawer-item-letter-spacing, var(--u-label-l-letter-spacing, 0.0071428571rem));\n font-weight: var(--u-drawer-item-font-weight, var(--u-label-l-font-weight, var(--u-font-weight-medium, 500)));\n height: var(--u-drawer-item-height, 56px);\n padding-inline: var(--_drawer-item-padding);\n margin-inline: calc(var(--_drawer-item-padding) * -1);\n border-radius: var(--u-drawer-item-shape-corner, var(--u-shape-corner-full, 9999px));\n color: var(--u-drawer-item-label-inactive-color, var(--u-color-on-surface-variant, rgb(73, 69, 79)));\n }\n\n :host(.active),\n :host([active]) {\n background-color: var(--u-drawer-item-label-active-color, var(--u-color-secondary-container, rgb(232, 222, 248)));\n color: var(--u-drawer-item-label-active-color, var(--u-color-on-secondary-container, rgb(29, 25, 43)));\n }\n\n :host(:not([has-icon])) .icon,\n :host(:not([has-badge])) .badge {\n display: none;\n }\n\n .icon {\n display: flex;\n width: 1em;\n height: 1em;\n align-items: center;\n justify-content: center;\n font-size: var(--_drawer-item-icon-size);\n line-height: 1em;\n margin-inline-end: var(--u-drawer-item-icon-margin, 16px);\n }\n\n .badge {\n display: flex;\n justify-content: center;\n align-items: center;\n margin-inline-start: auto;\n padding-inline: var(--u-drawer-item-badge-padding, 12px 8px);\n }\n\n .content {\n justify-content: flex-start;\n }\n`;\n"]}
1
+ {"version":3,"file":"drawer-item.styles.js","sourceRoot":"","sources":["../../src/navigation/drawer-item.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmDzB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css `\n :host {\n display: block;\n --_drawer-item-icon-size: var(--u-drawer-item-icon-size, 1.5rem);\n --_drawer-item-padding: var(--u-drawer-item-padding, 16px);\n }\n\n .container {\n font-family: var(--u-font-family, var(--u-font-family, system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"));\n line-height: var(--u-drawer-item-line-height, var(--u-label-l-line-height, 1.25rem));\n font-size: var(--u-drawer-item-font-size, var(--u-label-l-font-size, 0.875rem));\n letter-spacing: var(--u-drawer-item-letter-spacing, var(--u-label-l-letter-spacing, 0.0071428571rem));\n font-weight: var(--u-drawer-item-font-weight, var(--u-label-l-font-weight, var(--u-font-weight-medium, 500)));\n height: var(--u-drawer-item-height, 56px);\n padding-inline: var(--_drawer-item-padding);\n margin-inline: calc(var(--_drawer-item-padding) * -1);\n border-radius: var(--u-drawer-item-shape-corner, var(--u-shape-corner-full, 9999px));\n color: var(--u-drawer-item-label-inactive-color, var(--u-color-on-surface-variant, rgb(73, 69, 79)));\n }\n .container:not(.has-icon) .icon, .container:not(.has-badge) .badge {\n display: none;\n }\n\n :host(.active) .container,\n :host([active]) .container {\n background-color: var(--u-drawer-item-label-active-color, var(--u-color-secondary-container, rgb(232, 222, 248)));\n color: var(--u-drawer-item-label-active-color, var(--u-color-on-secondary-container, rgb(29, 25, 43)));\n }\n\n .icon {\n display: flex;\n width: 1em;\n height: 1em;\n align-items: center;\n justify-content: center;\n font-size: var(--_drawer-item-icon-size);\n line-height: 1em;\n margin-inline-end: var(--u-drawer-item-icon-margin, 16px);\n }\n\n .badge {\n display: flex;\n justify-content: center;\n align-items: center;\n margin-inline-start: auto;\n padding-inline: var(--u-drawer-item-badge-padding, 12px 8px);\n }\n\n .content {\n justify-content: flex-start;\n }\n`;\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@universal-material/web",
3
- "version": "3.4.2",
3
+ "version": "3.5.0",
4
4
  "description": "Material web components",
5
5
  "type": "module",
6
6
  "keywords": [