@universal-material/web 3.0.0 → 3.0.2

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 (198) hide show
  1. package/README.md +28 -0
  2. package/button/button-base.d.ts +15 -9
  3. package/button/button-base.d.ts.map +1 -1
  4. package/button/button-base.js +46 -93
  5. package/button/button-base.js.map +1 -1
  6. package/button/button-base.styles.d.ts +2 -0
  7. package/button/button-base.styles.d.ts.map +1 -0
  8. package/button/button-base.styles.js +75 -0
  9. package/button/button-base.styles.js.map +1 -0
  10. package/button/button-set.d.ts +10 -2
  11. package/button/button-set.d.ts.map +1 -1
  12. package/button/button-set.js +27 -16
  13. package/button/button-set.js.map +1 -1
  14. package/button/button-set.styles.d.ts +2 -0
  15. package/button/button-set.styles.d.ts.map +1 -0
  16. package/button/button-set.styles.js +39 -0
  17. package/button/button-set.styles.js.map +1 -0
  18. package/button/button.d.ts +18 -4
  19. package/button/button.d.ts.map +1 -1
  20. package/button/button.js +29 -102
  21. package/button/button.js.map +1 -1
  22. package/button/button.styles.d.ts +2 -0
  23. package/button/button.styles.d.ts.map +1 -0
  24. package/button/button.styles.js +96 -0
  25. package/button/button.styles.js.map +1 -0
  26. package/button/fab.d.ts +14 -2
  27. package/button/fab.d.ts.map +1 -1
  28. package/button/fab.js +25 -106
  29. package/button/fab.js.map +1 -1
  30. package/button/fab.styles.d.ts +2 -0
  31. package/button/fab.styles.d.ts.map +1 -0
  32. package/button/fab.styles.js +89 -0
  33. package/button/fab.styles.js.map +1 -0
  34. package/button/icon-button.d.ts +3 -4
  35. package/button/icon-button.d.ts.map +1 -1
  36. package/button/icon-button.js +15 -89
  37. package/button/icon-button.js.map +1 -1
  38. package/button/icon-button.styles.d.ts +2 -0
  39. package/button/icon-button.styles.d.ts.map +1 -0
  40. package/button/icon-button.styles.js +70 -0
  41. package/button/icon-button.styles.js.map +1 -0
  42. package/card/card-content.d.ts +5 -3
  43. package/card/card-content.d.ts.map +1 -1
  44. package/card/card-content.js +33 -13
  45. package/card/card-content.js.map +1 -1
  46. package/card/card-content.styles.d.ts +2 -0
  47. package/card/card-content.styles.d.ts.map +1 -0
  48. package/card/card-content.styles.js +15 -0
  49. package/card/card-content.styles.js.map +1 -0
  50. package/card/card-media.d.ts +3 -3
  51. package/card/card-media.d.ts.map +1 -1
  52. package/card/card-media.js +9 -17
  53. package/card/card-media.js.map +1 -1
  54. package/card/card-media.styles.d.ts +2 -0
  55. package/card/card-media.styles.d.ts.map +1 -0
  56. package/card/card-media.styles.js +13 -0
  57. package/card/card-media.styles.js.map +1 -0
  58. package/card/card.d.ts +9 -6
  59. package/card/card.d.ts.map +1 -1
  60. package/card/card.js +22 -34
  61. package/card/card.js.map +1 -1
  62. package/card/card.styles.d.ts +2 -0
  63. package/card/card.styles.d.ts.map +1 -0
  64. package/card/card.styles.js +26 -0
  65. package/card/card.styles.js.map +1 -0
  66. package/checkbox/checkbox.d.ts +16 -0
  67. package/checkbox/checkbox.d.ts.map +1 -0
  68. package/checkbox/checkbox.js +75 -0
  69. package/checkbox/checkbox.js.map +1 -0
  70. package/container/container.d.ts +14 -0
  71. package/container/container.d.ts.map +1 -0
  72. package/container/container.js +23 -0
  73. package/container/container.js.map +1 -0
  74. package/container/container.styles.d.ts +2 -0
  75. package/container/container.styles.d.ts.map +1 -0
  76. package/container/container.styles.js +43 -0
  77. package/container/container.styles.js.map +1 -0
  78. package/custom-elements.json +3706 -0
  79. package/divider/divider.d.ts +5 -2
  80. package/divider/divider.d.ts.map +1 -1
  81. package/divider/divider.js +11 -19
  82. package/divider/divider.js.map +1 -1
  83. package/divider/divider.styles.d.ts +2 -0
  84. package/divider/divider.styles.d.ts.map +1 -0
  85. package/divider/divider.styles.js +15 -0
  86. package/divider/divider.styles.js.map +1 -0
  87. package/elevation/elevation.d.ts +4 -3
  88. package/elevation/elevation.d.ts.map +1 -1
  89. package/elevation/elevation.js +11 -37
  90. package/elevation/elevation.js.map +1 -1
  91. package/elevation/elevation.styles.d.ts +2 -0
  92. package/elevation/elevation.styles.d.ts.map +1 -0
  93. package/elevation/elevation.styles.js +28 -0
  94. package/elevation/elevation.styles.js.map +1 -0
  95. package/index.d.ts +24 -0
  96. package/index.d.ts.map +1 -0
  97. package/index.js +24 -0
  98. package/index.js.map +1 -0
  99. package/package.json +35 -26
  100. package/ripple/ripple.d.ts +11 -5
  101. package/ripple/ripple.d.ts.map +1 -1
  102. package/ripple/ripple.js +66 -120
  103. package/ripple/ripple.js.map +1 -1
  104. package/ripple/ripple.styles.d.ts +2 -0
  105. package/ripple/ripple.styles.d.ts.map +1 -0
  106. package/ripple/ripple.styles.js +74 -0
  107. package/ripple/ripple.styles.js.map +1 -0
  108. package/shared/base.styles.d.ts +2 -0
  109. package/shared/base.styles.d.ts.map +1 -0
  110. package/shared/base.styles.js +9 -0
  111. package/shared/base.styles.js.map +1 -0
  112. package/table/table-body.d.ts +11 -0
  113. package/table/table-body.d.ts.map +1 -0
  114. package/table/table-body.js +21 -0
  115. package/table/table-body.js.map +1 -0
  116. package/table/table-body.styles.d.ts +2 -0
  117. package/table/table-body.styles.d.ts.map +1 -0
  118. package/table/table-body.styles.js +11 -0
  119. package/table/table-body.styles.js.map +1 -0
  120. package/table/table-cell.d.ts +11 -0
  121. package/table/table-cell.d.ts.map +1 -0
  122. package/table/table-cell.js +21 -0
  123. package/table/table-cell.js.map +1 -0
  124. package/table/table-cell.styles.d.ts +2 -0
  125. package/table/table-cell.styles.d.ts.map +1 -0
  126. package/table/table-cell.styles.js +11 -0
  127. package/table/table-cell.styles.js.map +1 -0
  128. package/table/table-head.d.ts +11 -0
  129. package/table/table-head.d.ts.map +1 -0
  130. package/table/table-head.js +21 -0
  131. package/table/table-head.js.map +1 -0
  132. package/table/table-head.styles.d.ts +2 -0
  133. package/table/table-head.styles.d.ts.map +1 -0
  134. package/table/table-head.styles.js +11 -0
  135. package/table/table-head.styles.js.map +1 -0
  136. package/table/table-header-cell.d.ts +11 -0
  137. package/table/table-header-cell.d.ts.map +1 -0
  138. package/table/table-header-cell.js +21 -0
  139. package/table/table-header-cell.js.map +1 -0
  140. package/table/table-header-cell.styles.d.ts +2 -0
  141. package/table/table-header-cell.styles.d.ts.map +1 -0
  142. package/table/table-header-cell.styles.js +12 -0
  143. package/table/table-header-cell.styles.js.map +1 -0
  144. package/table/table-row.d.ts +11 -0
  145. package/table/table-row.d.ts.map +1 -0
  146. package/{card/button-set.js → table/table-row.js} +10 -15
  147. package/table/table-row.js.map +1 -0
  148. package/table/table-row.styles.d.ts +2 -0
  149. package/table/table-row.styles.d.ts.map +1 -0
  150. package/table/table-row.styles.js +7 -0
  151. package/table/table-row.styles.js.map +1 -0
  152. package/table/table.d.ts +16 -0
  153. package/table/table.d.ts.map +1 -0
  154. package/table/table.js +19 -0
  155. package/table/table.js.map +1 -0
  156. package/table/table.styles.d.ts +2 -0
  157. package/table/table.styles.d.ts.map +1 -0
  158. package/table/table.styles.js +16 -0
  159. package/table/table.styles.js.map +1 -0
  160. package/theme/color.d.ts +7 -0
  161. package/theme/color.d.ts.map +1 -0
  162. package/theme/color.js +2 -0
  163. package/theme/color.js.map +1 -0
  164. package/theme/css-var-builder.d.ts +9 -0
  165. package/theme/css-var-builder.d.ts.map +1 -0
  166. package/theme/css-var-builder.js +25 -0
  167. package/theme/css-var-builder.js.map +1 -0
  168. package/theme/index.d.ts +2 -0
  169. package/theme/index.d.ts.map +1 -0
  170. package/theme/index.js +2 -0
  171. package/theme/index.js.map +1 -0
  172. package/theme/neutral-colors.d.ts +4 -0
  173. package/theme/neutral-colors.d.ts.map +1 -0
  174. package/theme/neutral-colors.js +19 -0
  175. package/theme/neutral-colors.js.map +1 -0
  176. package/theme/rgb-color.d.ts +9 -0
  177. package/theme/rgb-color.d.ts.map +1 -0
  178. package/theme/rgb-color.js +13 -0
  179. package/theme/rgb-color.js.map +1 -0
  180. package/theme/theme-builder.d.ts +27 -0
  181. package/theme/theme-builder.d.ts.map +1 -0
  182. package/theme/theme-builder.js +146 -0
  183. package/theme/theme-builder.js.map +1 -0
  184. package/theme/theme-color.d.ts +6 -0
  185. package/theme/theme-color.d.ts.map +1 -0
  186. package/theme/theme-color.js +2 -0
  187. package/theme/theme-color.js.map +1 -0
  188. package/all.d.ts +0 -9
  189. package/all.d.ts.map +0 -1
  190. package/all.js +0 -9
  191. package/all.js.map +0 -1
  192. package/card/button-set.d.ts +0 -11
  193. package/card/button-set.d.ts.map +0 -1
  194. package/card/button-set.js.map +0 -1
  195. package/shared/area-hidden-element.d.ts +0 -5
  196. package/shared/area-hidden-element.d.ts.map +0 -1
  197. package/shared/area-hidden-element.js +0 -10
  198. package/shared/area-hidden-element.js.map +0 -1
package/ripple/ripple.js CHANGED
@@ -4,17 +4,24 @@ 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 Ripple_1;
8
- import { css } from 'lit';
9
- import { customElement, property } from 'lit/decorators.js';
10
- import { AreaHiddenElement } from '../shared/area-hidden-element';
11
- let Ripple = Ripple_1 = class Ripple extends AreaHiddenElement {
7
+ var UmRipple_1;
8
+ import { html, LitElement } from 'lit';
9
+ import { customElement, property, query } from 'lit/decorators.js';
10
+ import { styles } from './ripple.styles';
11
+ let UmRipple = UmRipple_1 = class UmRipple extends LitElement {
12
12
  constructor() {
13
13
  super();
14
- this.disabled = false;
15
14
  this.isTouching = false;
15
+ /**
16
+ * Disables the ripple.
17
+ */
18
+ this.disabled = false;
19
+ this.ariaHidden = "true";
16
20
  this.attachEvents();
17
21
  }
22
+ render() {
23
+ return html `<div class="ripple-container"></div><slot></slot>`;
24
+ }
18
25
  attachEvents() {
19
26
  this.addEventListener('mousedown', this.handleMouseDown);
20
27
  this.addEventListener('touchstart', this.handleTouchStart);
@@ -23,151 +30,90 @@ let Ripple = Ripple_1 = class Ripple extends AreaHiddenElement {
23
30
  if (this.isTouching || !this.canCreateRipple()) {
24
31
  return;
25
32
  }
26
- this.createRipple('mouseup', e.clientX, e.clientY);
33
+ this.createRipple(e.clientX, e.clientY, 'mouseup');
27
34
  }
28
35
  handleTouchStart(e) {
29
36
  if (!this.canCreateRipple()) {
30
37
  return;
31
38
  }
32
39
  this.isTouching = true;
33
- let release;
34
- let cancel = false;
35
- const touchMove = () => {
36
- cancel = true;
37
- this.removeEventListener("touchmove", touchMove);
38
- if (release) {
39
- release();
40
- }
41
- };
42
- this.addEventListener("touchmove", touchMove);
43
- setTimeout(() => {
44
- if (cancel) {
45
- return;
46
- }
47
- release = this.createRipple('touchend', e.touches[0].clientX, e.touches[0].clientY);
48
- }, 100);
40
+ const dismiss = this.createRipple(e.touches[0].clientX, e.touches[0].clientY, 'touchend');
41
+ this.addEventListener("touchmove", dismiss);
49
42
  }
50
43
  canCreateRipple() {
51
44
  if (this.disabled)
52
45
  return false;
53
46
  const parent = this.parentElement;
54
- if (window.getComputedStyle(parent).position !== "relative" && window.getComputedStyle(parent).position !== "absolute" && window.getComputedStyle(parent).position !== "fixed") {
55
- console.warn('Ripple: Parent element position must be "relative", "absolute" or "fixed"');
47
+ if (!parent || window.getComputedStyle(parent).position !== "relative" && window.getComputedStyle(parent).position !== "absolute" && window.getComputedStyle(parent).position !== "fixed") {
56
48
  return false;
57
49
  }
58
50
  return true;
59
51
  }
60
- createRipple(releaseEventName = null, targetX = null, targetY = null) {
61
- const preClientRect = this.getBoundingClientRect();
62
- targetX ??= preClientRect.x + this.clientWidth / 2;
63
- targetY ??= preClientRect.y + this.clientHeight / 2;
52
+ createRipple(targetX = null, targetY = null, releaseEventName = null) {
53
+ const preClientRect = this.rippleContainer.getBoundingClientRect();
54
+ targetX ??= preClientRect.x + this.rippleContainer.clientWidth / 2;
55
+ targetY ??= preClientRect.y + this.rippleContainer.clientHeight / 2;
64
56
  const ripple = document.createElement('DIV');
65
57
  ripple.classList.add('ripple');
66
- this.shadowRoot.appendChild(ripple);
67
- const release = () => {
68
- ripple.classList.add('dismiss');
69
- this.isTouching = false;
70
- };
71
- ripple.addEventListener('transitionend', () => {
72
- if (!ripple.classList.contains('dismiss') && !ripple.classList.contains('show-forced')) {
73
- return;
74
- }
75
- ripple.remove();
76
- this.removeEventListener('dragover', release);
77
- this.removeEventListener('mouseleave', release);
78
- if (releaseEventName) {
79
- window.removeEventListener(releaseEventName, release);
80
- }
81
- });
58
+ this.rippleContainer.appendChild(ripple);
82
59
  requestAnimationFrame(() => {
83
60
  const clientRect = this.getBoundingClientRect();
84
61
  const largestDimensionSize = Math.max(this.clientWidth, this.clientHeight);
85
62
  const rippleSize = largestDimensionSize * 2;
86
- Ripple_1._setElementSquareSizeAndCenter(ripple, rippleSize);
87
- ripple.style.transitionDuration = (1080 * Math.pow(rippleSize, 0.3)) + 'ms, 750ms';
88
- const x = (targetX - clientRect.left) + ((rippleSize - this.clientWidth) / 2);
89
- const y = (targetY - clientRect.top) + ((rippleSize - this.clientHeight) / 2);
90
- ripple.style.transformOrigin = x + "px " + y + "px";
63
+ UmRipple_1._setElementSquareSizeAndCenter(ripple, rippleSize);
64
+ ripple.style.setProperty('--_ripple-transition-duration', `${1080 * Math.pow(rippleSize, 0.3)}ms`);
65
+ const x = (targetX - clientRect.left) + ((rippleSize - this.rippleContainer.clientWidth) / 2);
66
+ const y = (targetY - clientRect.top) + ((rippleSize - this.rippleContainer.clientHeight) / 2);
67
+ ripple.style.transformOrigin = `${x}px ${y}px`;
91
68
  ripple.classList.add(releaseEventName ? 'show' : 'show-forced');
92
69
  });
93
- if (releaseEventName) {
94
- window.addEventListener(releaseEventName, release);
70
+ const interval = setInterval(() => {
71
+ if (!ripple.classList.contains('dismiss') && !ripple.classList.contains('show-forced')) {
72
+ return;
73
+ }
74
+ const animations = ripple.getAnimations();
75
+ if (animations.length) {
76
+ return;
77
+ }
78
+ clearInterval(interval);
79
+ ripple.remove();
80
+ }, 1000);
81
+ if (!releaseEventName) {
82
+ return null;
95
83
  }
96
- return release;
84
+ return this.createDismissEvent(ripple, releaseEventName);
85
+ }
86
+ createDismissEvent(ripple, releaseEventName) {
87
+ const dismiss = () => {
88
+ ripple.classList.add('dismiss');
89
+ this.isTouching = false;
90
+ this.removeEventListener('dragover', dismiss);
91
+ this.removeEventListener('mouseleave', dismiss);
92
+ window.removeEventListener(releaseEventName, dismiss);
93
+ };
94
+ this.addEventListener("dragover", dismiss);
95
+ this.addEventListener("mouseleave", dismiss);
96
+ window.addEventListener(releaseEventName, dismiss);
97
+ return dismiss;
97
98
  }
98
99
  static _setElementSquareSizeAndCenter(element, size) {
99
100
  element.style.top = "50%";
100
101
  element.style.left = "50%";
101
- element.style.width = size + 'px';
102
- element.style.height = size + 'px';
103
- element.style.marginLeft = -size / 2 + 'px';
104
- element.style.marginTop = -size / 2 + 'px';
102
+ element.style.width = `${size}px`;
103
+ element.style.height = `${size}px`;
104
+ element.style.marginLeft = `${-size / 2}px`;
105
+ element.style.marginTop = `${-size / 2}px`;
105
106
  }
106
107
  };
107
- Ripple.styles = css `
108
-
109
- :host,
110
- :host::before {
111
- display: block;
112
- inset: 0;
113
- overflow: hidden;
114
- isolation: isolate;
115
- }
116
-
117
- :host::before {
118
- content: '';
119
- background: var(--u-state-layer-color, currentColor);
120
- opacity: 0;
121
- transition: opacity 200ms;
122
- }
123
-
124
- @media (hover: hover) {
125
- :host(:not([disabled]):hover)::before {
126
- content: '';
127
- background: var(--u-state-layer-color, currentColor);
128
- opacity: .08;
129
- }
130
- }
131
-
132
- :host,
133
- :host::before,
134
- .ripple {
135
- position: absolute;
136
- border-radius: inherit;
137
- }
138
-
139
- .ripple {
140
- top: 50%;
141
- left: 50%;
142
- background: var(--u-state-layer-color, currentColor);
143
- border-radius: 50%;
144
- box-shadow: 0 0 4rem 4rem var(--u-state-layer-color, currentColor);
145
- opacity: .2;
146
- transform: scale3d(0, 0, 1);
147
- will-change: transform;
148
- }
149
-
150
- .ripple.show {
151
- transition: transform 1.5s cubic-bezier(.19, 1, .22, 1), opacity 750ms;
152
- transform: scale3d(1, 1, 1);
153
- }
154
-
155
- .ripple.show-forced {
156
- transition: transform 1s cubic-bezier(.19, 1, .22, 1), opacity 200ms 300ms;
157
- transform: scale3d(2, 2, 1);
158
- opacity: 0;
159
- }
160
-
161
- .ripple.dismiss {
162
- opacity: 0;
163
- transform: scale3d(2, 2, 1);
164
- }
165
- `;
108
+ UmRipple.styles = styles;
166
109
  __decorate([
167
110
  property({ type: Boolean, reflect: true })
168
- ], Ripple.prototype, "disabled", void 0);
169
- Ripple = Ripple_1 = __decorate([
111
+ ], UmRipple.prototype, "disabled", void 0);
112
+ __decorate([
113
+ query('.ripple-container')
114
+ ], UmRipple.prototype, "rippleContainer", void 0);
115
+ UmRipple = UmRipple_1 = __decorate([
170
116
  customElement('u-ripple')
171
- ], Ripple);
172
- export { Ripple };
117
+ ], UmRipple);
118
+ export { UmRipple };
173
119
  //# sourceMappingURL=ripple.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ripple.js","sourceRoot":"","sources":["../../src/ripple/ripple.ts"],"names":[],"mappings":"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","sourcesContent":["import {css} from 'lit';\nimport {customElement, property} from 'lit/decorators.js';\nimport {AreaHiddenElement} from '../shared/area-hidden-element';\n\n@customElement('u-ripple')\nexport class Ripple extends AreaHiddenElement {\n\n static override styles = css`\n\n :host,\n :host::before {\n display: block;\n inset: 0;\n overflow: hidden;\n isolation: isolate;\n }\n \n :host::before {\n content: '';\n background: var(--u-state-layer-color, currentColor);\n opacity: 0;\n transition: opacity 200ms;\n }\n \n @media (hover: hover) {\n :host(:not([disabled]):hover)::before {\n content: '';\n background: var(--u-state-layer-color, currentColor);\n opacity: .08;\n }\n }\n\n :host,\n :host::before,\n .ripple {\n position: absolute;\n border-radius: inherit;\n }\n\n .ripple {\n top: 50%;\n left: 50%;\n background: var(--u-state-layer-color, currentColor);\n border-radius: 50%;\n box-shadow: 0 0 4rem 4rem var(--u-state-layer-color, currentColor);\n opacity: .2;\n transform: scale3d(0, 0, 1);\n will-change: transform;\n }\n\n .ripple.show {\n transition: transform 1.5s cubic-bezier(.19, 1, .22, 1), opacity 750ms;\n transform: scale3d(1, 1, 1);\n }\n\n .ripple.show-forced {\n transition: transform 1s cubic-bezier(.19, 1, .22, 1), opacity 200ms 300ms;\n transform: scale3d(2, 2, 1);\n opacity: 0;\n }\n\n .ripple.dismiss {\n opacity: 0;\n transform: scale3d(2, 2, 1);\n }\n `;\n\n @property({type: Boolean, reflect: true}) disabled = false;\n private isTouching = false;\n\n constructor() {\n super();\n \n this.attachEvents();\n }\n\n private attachEvents(): void {\n\n this.addEventListener('mousedown', this.handleMouseDown);\n this.addEventListener('touchstart', this.handleTouchStart);\n }\n\n private handleMouseDown(e: MouseEvent): void {\n\n if (this.isTouching || !this.canCreateRipple()) {\n return;\n }\n\n this.createRipple('mouseup', e.clientX, e.clientY);\n }\n\n private handleTouchStart(e: TouchEvent): void {\n\n if (!this.canCreateRipple()) {\n return;\n }\n\n this.isTouching = true;\n\n let release: (() => void) | null;\n let cancel = false;\n\n const touchMove = () => {\n\n cancel = true;\n\n this.removeEventListener(\"touchmove\", touchMove);\n\n if (release) {\n release();\n }\n };\n\n this.addEventListener(\"touchmove\", touchMove);\n\n setTimeout(() => {\n if (cancel) {\n return;\n }\n\n release = this.createRipple('touchend', e.touches[0].clientX, e.touches[0].clientY);\n }, 100);\n }\n\n private canCreateRipple(): boolean {\n if (this.disabled) return false;\n\n const parent = this.parentElement!;\n if (window.getComputedStyle(parent).position !== \"relative\" && window.getComputedStyle(parent).position !== \"absolute\" && window.getComputedStyle(parent).position !== \"fixed\") {\n console.warn('Ripple: Parent element position must be \"relative\", \"absolute\" or \"fixed\"');\n return false;\n }\n\n return true;\n }\n\n createRipple(releaseEventName: string | null = null, targetX: number | null = null, targetY: number | null = null): () => void {\n const preClientRect = this.getBoundingClientRect();\n targetX ??= preClientRect.x + this.clientWidth / 2;\n targetY ??= preClientRect.y + this.clientHeight / 2;\n\n const ripple = document.createElement('DIV');\n ripple.classList.add('ripple');\n this.shadowRoot!.appendChild(ripple);\n\n const release = () => {\n ripple.classList.add('dismiss');\n this.isTouching = false;\n };\n\n ripple.addEventListener('transitionend', () => {\n if (!ripple.classList.contains('dismiss') && !ripple.classList.contains('show-forced')) {\n return;\n }\n\n ripple.remove();\n this.removeEventListener('dragover', release);\n this.removeEventListener('mouseleave', release);\n\n if (releaseEventName) {\n window.removeEventListener(releaseEventName, release);\n }\n });\n\n requestAnimationFrame(() => {\n const clientRect = this.getBoundingClientRect();\n const largestDimensionSize = Math.max(this.clientWidth, this.clientHeight);\n const rippleSize = largestDimensionSize * 2;\n\n Ripple._setElementSquareSizeAndCenter(ripple, rippleSize);\n ripple.style.transitionDuration = (1080 * Math.pow(rippleSize, 0.3)) + 'ms, 750ms';\n\n const x = (targetX! - clientRect.left) + ((rippleSize - this.clientWidth) / 2);\n const y = (targetY! - clientRect.top) + ((rippleSize - this.clientHeight) / 2);\n\n ripple.style.transformOrigin = x + \"px \" + y + \"px\";\n ripple.classList.add(releaseEventName ? 'show' : 'show-forced');\n });\n\n if (releaseEventName) {\n window.addEventListener(releaseEventName, release);\n }\n\n return release;\n }\n\n private static _setElementSquareSizeAndCenter(element: HTMLElement, size: number) {\n element.style.top = \"50%\";\n element.style.left = \"50%\";\n element.style.width = size + 'px';\n element.style.height = size + 'px';\n element.style.marginLeft = -size / 2 + 'px';\n element.style.marginTop = -size / 2 + 'px';\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'u-ripple': Ripple;\n }\n}\n"]}
1
+ {"version":3,"file":"ripple.js","sourceRoot":"","sources":["../../src/ripple/ripple.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 } from './ripple.styles';\n\n@customElement('u-ripple')\nexport class UmRipple extends LitElement {\n\n static override styles = styles;\n\n private isTouching = false;\n\n /**\n * Disables the ripple.\n */\n @property({type: Boolean, reflect: true}) disabled = false;\n\n @query('.ripple-container') private readonly rippleContainer!: HTMLElement;\n\n constructor() {\n super();\n\n this.ariaHidden = \"true\";\n this.attachEvents();\n }\n\n override render(): HTMLTemplateResult {\n return html`<div class=\"ripple-container\"></div><slot></slot>`\n }\n\n private attachEvents(): void {\n\n this.addEventListener('mousedown', this.handleMouseDown);\n this.addEventListener('touchstart', this.handleTouchStart);\n }\n\n private handleMouseDown(e: MouseEvent): void {\n\n if (this.isTouching || !this.canCreateRipple()) {\n return;\n }\n\n this.createRipple(e.clientX, e.clientY, 'mouseup');\n }\n\n private handleTouchStart(e: TouchEvent): void {\n\n if (!this.canCreateRipple()) {\n return;\n }\n\n this.isTouching = true;\n\n const dismiss = this.createRipple(e.touches[0].clientX, e.touches[0].clientY, 'touchend')!;\n\n this.addEventListener(\"touchmove\", dismiss);\n }\n\n private canCreateRipple(): boolean {\n if (this.disabled) return false;\n\n const parent = this.parentElement;\n\n if (!parent || window.getComputedStyle(parent).position !== \"relative\" && window.getComputedStyle(parent).position !== \"absolute\" && window.getComputedStyle(parent).position !== \"fixed\") {\n return false;\n }\n\n return true;\n }\n\n createRipple(targetX: number | null = null, targetY: number | null = null, releaseEventName: string | null = null): (() => void) | null {\n const preClientRect = this.rippleContainer.getBoundingClientRect();\n targetX ??= preClientRect.x + this.rippleContainer.clientWidth / 2;\n targetY ??= preClientRect.y + this.rippleContainer.clientHeight / 2;\n\n const ripple = document.createElement('DIV');\n ripple.classList.add('ripple');\n this.rippleContainer!.appendChild(ripple);\n\n requestAnimationFrame(() => {\n const clientRect = this.getBoundingClientRect();\n const largestDimensionSize = Math.max(this.clientWidth, this.clientHeight);\n const rippleSize = largestDimensionSize * 2;\n\n UmRipple._setElementSquareSizeAndCenter(ripple, rippleSize);\n ripple.style.setProperty('--_ripple-transition-duration', `${1080 * Math.pow(rippleSize, 0.3)}ms`);\n\n const x = (targetX! - clientRect.left) + ((rippleSize - this.rippleContainer.clientWidth) / 2);\n const y = (targetY! - clientRect.top) + ((rippleSize - this.rippleContainer.clientHeight) / 2);\n\n ripple.style.transformOrigin = `${x}px ${y}px`;\n ripple.classList.add(releaseEventName ? 'show' : 'show-forced');\n });\n\n const interval = setInterval(() => {\n\n if (!ripple.classList.contains('dismiss') && !ripple.classList.contains('show-forced')) {\n return;\n }\n\n const animations = ripple.getAnimations();\n\n if (animations.length) {\n return;\n }\n\n clearInterval(interval);\n ripple.remove();\n }, 1000);\n\n if (!releaseEventName) {\n return null;\n }\n\n return this.createDismissEvent(ripple, releaseEventName);\n }\n\n private createDismissEvent(ripple: HTMLElement, releaseEventName: string): () => void {\n const dismiss = () => {\n ripple.classList.add('dismiss');\n\n this.isTouching = false;\n\n this.removeEventListener('dragover', dismiss);\n this.removeEventListener('mouseleave', dismiss);\n window.removeEventListener(releaseEventName, dismiss);\n }\n\n this.addEventListener(\"dragover\", dismiss);\n this.addEventListener(\"mouseleave\", dismiss);\n window.addEventListener(releaseEventName, dismiss);\n\n return dismiss;\n }\n\n private static _setElementSquareSizeAndCenter(element: HTMLElement, size: number) {\n element.style.top = \"50%\";\n element.style.left = \"50%\";\n element.style.width = `${size}px`;\n element.style.height = `${size}px`;\n element.style.marginLeft = `${-size / 2}px`;\n element.style.marginTop = `${-size / 2}px`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'u-ripple': UmRipple;\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export declare const styles: import("lit").CSSResult;
2
+ //# sourceMappingURL=ripple.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ripple.styles.d.ts","sourceRoot":"","sources":["../../src/ripple/ripple.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBAuElB,CAAC"}
@@ -0,0 +1,74 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `
3
+ :host,
4
+ .ripple-container::before {
5
+ --_ripple-hover-color: var(--u-ripple-hover-color, var(--u-ripple-color, var(--u-state-layer-color, currentColor)));
6
+ --_ripple-pressed-color: var(--u-ripple-pressed-color, var(--u-ripple-color, var(--u-state-layer-color, currentColor)));
7
+ --_ripple-hover-opacity: var(--u-ripple-pressed-opacity, .08);
8
+ --_ripple-pressed-opacity: var(--u-ripple-pressed-opacity, .2);
9
+ display: block;
10
+ inset: 0;
11
+ isolation: isolate;
12
+ }
13
+
14
+ .ripple-container {
15
+ position: relative;
16
+ width: 100%;
17
+ height: 100%;
18
+ overflow: hidden;
19
+ border-radius: inherit;
20
+ }
21
+
22
+ .ripple-container::before {
23
+ content: "";
24
+ background: var(--_ripple-hover-color);
25
+ opacity: 0;
26
+ transition: opacity 200ms;
27
+ }
28
+
29
+ @media (hover: hover) {
30
+ :host(:not([disabled]):hover) .ripple-container::before {
31
+ content: "";
32
+ background: var(--_ripple-hover-color);
33
+ opacity: var(--_ripple-hover-opacity);
34
+ }
35
+ }
36
+ :host,
37
+ .ripple-container::before,
38
+ .ripple {
39
+ position: absolute;
40
+ border-radius: inherit;
41
+ }
42
+
43
+ .ripple {
44
+ top: 50%;
45
+ left: 50%;
46
+ background: var(--_ripple-pressed-color);
47
+ border-radius: 50%;
48
+ box-shadow: 0 0 64px 64px var(--_ripple-pressed-color);
49
+ opacity: var(--_ripple-pressed-opacity);
50
+ transform: scale3d(0, 0, 1);
51
+ pointer-events: none;
52
+ will-change: transform;
53
+ }
54
+ .ripple.show {
55
+ transition: transform calc(var(--_ripple-transition-duration) / var(--u-ripple-speed, 1)) cubic-bezier(0.19, 1, 0.22, 1), opacity calc(750ms / var(--u-ripple-speed, 1));
56
+ transform: scale3d(1, 1, 1);
57
+ }
58
+ .ripple.show-forced {
59
+ transition: transform calc(var(--_ripple-transition-duration) / var(--u-ripple-speed, 1)) cubic-bezier(0.19, 1, 0.22, 1), opacity calc(200ms / var(--u-ripple-speed, 1)) 300ms;
60
+ transform: scale3d(2, 2, 1);
61
+ opacity: 0;
62
+ }
63
+ .ripple.dismiss {
64
+ opacity: 0;
65
+ transform: scale3d(2, 2, 1);
66
+ }
67
+
68
+ ::slotted(*) {
69
+ position: absolute !important;
70
+ inset: 0;
71
+ border-radius: inherit;
72
+ }
73
+ `;
74
+ //# sourceMappingURL=ripple.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ripple.styles.js","sourceRoot":"","sources":["../../src/ripple/ripple.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuEzB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css `\n :host,\n .ripple-container::before {\n --_ripple-hover-color: var(--u-ripple-hover-color, var(--u-ripple-color, var(--u-state-layer-color, currentColor)));\n --_ripple-pressed-color: var(--u-ripple-pressed-color, var(--u-ripple-color, var(--u-state-layer-color, currentColor)));\n --_ripple-hover-opacity: var(--u-ripple-pressed-opacity, .08);\n --_ripple-pressed-opacity: var(--u-ripple-pressed-opacity, .2);\n display: block;\n inset: 0;\n isolation: isolate;\n }\n\n .ripple-container {\n position: relative;\n width: 100%;\n height: 100%;\n overflow: hidden;\n border-radius: inherit;\n }\n\n .ripple-container::before {\n content: \"\";\n background: var(--_ripple-hover-color);\n opacity: 0;\n transition: opacity 200ms;\n }\n\n @media (hover: hover) {\n :host(:not([disabled]):hover) .ripple-container::before {\n content: \"\";\n background: var(--_ripple-hover-color);\n opacity: var(--_ripple-hover-opacity);\n }\n }\n :host,\n .ripple-container::before,\n .ripple {\n position: absolute;\n border-radius: inherit;\n }\n\n .ripple {\n top: 50%;\n left: 50%;\n background: var(--_ripple-pressed-color);\n border-radius: 50%;\n box-shadow: 0 0 64px 64px var(--_ripple-pressed-color);\n opacity: var(--_ripple-pressed-opacity);\n transform: scale3d(0, 0, 1);\n pointer-events: none;\n will-change: transform;\n }\n .ripple.show {\n transition: transform calc(var(--_ripple-transition-duration) / var(--u-ripple-speed, 1)) cubic-bezier(0.19, 1, 0.22, 1), opacity calc(750ms / var(--u-ripple-speed, 1));\n transform: scale3d(1, 1, 1);\n }\n .ripple.show-forced {\n transition: transform calc(var(--_ripple-transition-duration) / var(--u-ripple-speed, 1)) cubic-bezier(0.19, 1, 0.22, 1), opacity calc(200ms / var(--u-ripple-speed, 1)) 300ms;\n transform: scale3d(2, 2, 1);\n opacity: 0;\n }\n .ripple.dismiss {\n opacity: 0;\n transform: scale3d(2, 2, 1);\n }\n\n ::slotted(*) {\n position: absolute !important;\n inset: 0;\n border-radius: inherit;\n }\n`;\n"]}
@@ -0,0 +1,2 @@
1
+ export declare const styles: import("lit").CSSResult;
2
+ //# sourceMappingURL=base.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.styles.d.ts","sourceRoot":"","sources":["../../src/shared/base.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBAMlB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `
3
+ :host,
4
+ * {
5
+ font-family: var(--u-font-family-base, system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol");
6
+ box-sizing: border-box;
7
+ }
8
+ `;
9
+ //# sourceMappingURL=base.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.styles.js","sourceRoot":"","sources":["../../src/shared/base.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC;;;;;;CAMzB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css `\n :host,\n * {\n font-family: var(--u-font-family-base, system-ui, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\");\n box-sizing: border-box;\n }\n`;\n"]}
@@ -0,0 +1,11 @@
1
+ import { HTMLTemplateResult, LitElement } from 'lit';
2
+ export declare class UmTableBody extends LitElement {
3
+ static styles: import("lit").CSSResult[];
4
+ protected render(): HTMLTemplateResult;
5
+ }
6
+ declare global {
7
+ interface HTMLElementTagNameMap {
8
+ 'u-tbody': UmTableBody;
9
+ }
10
+ }
11
+ //# sourceMappingURL=table-body.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-body.d.ts","sourceRoot":"","sources":["../../src/table/table-body.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,kBAAkB,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAM3D,qBACa,WAAY,SAAQ,UAAU;IAEzC,OAAgB,MAAM,4BAAwB;cAE3B,MAAM,IAAI,kBAAkB;CAGhD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,SAAS,EAAE,WAAW,CAAC;KACxB;CACF"}
@@ -0,0 +1,21 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
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
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { html, LitElement } from 'lit';
8
+ import { customElement } from 'lit/decorators.js';
9
+ import { styles as baseStyles } from '../shared/base.styles';
10
+ import { styles } from './table-body.styles';
11
+ let UmTableBody = class UmTableBody extends LitElement {
12
+ render() {
13
+ return html `<slot></slot>`;
14
+ }
15
+ };
16
+ UmTableBody.styles = [baseStyles, styles];
17
+ UmTableBody = __decorate([
18
+ customElement('u-tbody')
19
+ ], UmTableBody);
20
+ export { UmTableBody };
21
+ //# sourceMappingURL=table-body.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-body.js","sourceRoot":"","sources":["../../src/table/table-body.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAsB,UAAU,EAAE,MAAM,KAAK,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAGtC,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,UAAU;IAItB,MAAM;QACvB,OAAO,IAAI,CAAA,eAAe,CAAC;IAC7B,CAAC;;AAJe,kBAAM,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,AAAvB,CAAwB;AAFnC,WAAW;IADvB,aAAa,CAAC,SAAS,CAAC;GACZ,WAAW,CAOvB","sourcesContent":["import { html, HTMLTemplateResult, LitElement } from 'lit';\nimport { customElement } from 'lit/decorators.js';\n\nimport { styles as baseStyles } from '../shared/base.styles';\nimport { styles } from './table-body.styles';\n\n@customElement('u-tbody')\nexport class UmTableBody extends LitElement {\n\n static override styles = [baseStyles, styles];\n\n protected override render(): HTMLTemplateResult {\n return html`<slot></slot>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'u-tbody': UmTableBody;\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export declare const styles: import("lit").CSSResult;
2
+ //# sourceMappingURL=table-body.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-body.styles.d.ts","sourceRoot":"","sources":["../../src/table/table-body.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBAQlB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `
3
+ :host {
4
+ display: table-row-group;
5
+ }
6
+
7
+ ::slotted(u-tr:not(:first-child)) {
8
+ border-top: 1px solid var(--u-color-outline-variant, rgb(202, 196, 208));
9
+ }
10
+ `;
11
+ //# sourceMappingURL=table-body.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-body.styles.js","sourceRoot":"","sources":["../../src/table/table-body.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC;;;;;;;;CAQzB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css `\n :host {\n display: table-row-group;\n }\n\n ::slotted(u-tr:not(:first-child)) {\n border-top: 1px solid var(--u-color-outline-variant, rgb(202, 196, 208));\n }\n`;\n"]}
@@ -0,0 +1,11 @@
1
+ import { HTMLTemplateResult, LitElement } from 'lit';
2
+ export declare class UmTableCell extends LitElement {
3
+ static styles: import("lit").CSSResult[];
4
+ protected render(): HTMLTemplateResult;
5
+ }
6
+ declare global {
7
+ interface HTMLElementTagNameMap {
8
+ 'u-td': UmTableCell;
9
+ }
10
+ }
11
+ //# sourceMappingURL=table-cell.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-cell.d.ts","sourceRoot":"","sources":["../../src/table/table-cell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,kBAAkB,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAM3D,qBACa,WAAY,SAAQ,UAAU;IAEzC,OAAgB,MAAM,4BAAwB;cAE3B,MAAM,IAAI,kBAAkB;CAGhD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,MAAM,EAAE,WAAW,CAAC;KACrB;CACF"}
@@ -0,0 +1,21 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
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
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { html, LitElement } from 'lit';
8
+ import { customElement } from 'lit/decorators.js';
9
+ import { styles as baseStyles } from '../shared/base.styles';
10
+ import { styles } from './table-cell.styles';
11
+ let UmTableCell = class UmTableCell extends LitElement {
12
+ render() {
13
+ return html `<slot></slot>`;
14
+ }
15
+ };
16
+ UmTableCell.styles = [baseStyles, styles];
17
+ UmTableCell = __decorate([
18
+ customElement('u-td')
19
+ ], UmTableCell);
20
+ export { UmTableCell };
21
+ //# sourceMappingURL=table-cell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-cell.js","sourceRoot":"","sources":["../../src/table/table-cell.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAsB,UAAU,EAAE,MAAM,KAAK,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAGtC,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,UAAU;IAItB,MAAM;QACvB,OAAO,IAAI,CAAA,eAAe,CAAC;IAC7B,CAAC;;AAJe,kBAAM,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,AAAvB,CAAwB;AAFnC,WAAW;IADvB,aAAa,CAAC,MAAM,CAAC;GACT,WAAW,CAOvB","sourcesContent":["import { html, HTMLTemplateResult, LitElement } from 'lit';\nimport { customElement } from 'lit/decorators.js';\n\nimport { styles as baseStyles } from '../shared/base.styles';\nimport { styles } from './table-cell.styles';\n\n@customElement('u-td')\nexport class UmTableCell extends LitElement {\n\n static override styles = [baseStyles, styles];\n\n protected override render(): HTMLTemplateResult {\n return html`<slot></slot>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'u-td': UmTableCell;\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export declare const styles: import("lit").CSSResult;
2
+ //# sourceMappingURL=table-cell.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-cell.styles.d.ts","sourceRoot":"","sources":["../../src/table/table-cell.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBAQlB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `
3
+ :host {
4
+ display: table-cell;
5
+ padding: var(--u-td-padding, 13px 16px);
6
+ font-size: var(--u-td-font-size, 0.875rem);
7
+ font-weight: var(--u-td-font-weight, var(--u-font-weight-medium, 500));
8
+ text-align: start;
9
+ }
10
+ `;
11
+ //# sourceMappingURL=table-cell.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-cell.styles.js","sourceRoot":"","sources":["../../src/table/table-cell.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC;;;;;;;;CAQzB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css `\n :host {\n display: table-cell;\n padding: var(--u-td-padding, 13px 16px);\n font-size: var(--u-td-font-size, 0.875rem);\n font-weight: var(--u-td-font-weight, var(--u-font-weight-medium, 500));\n text-align: start;\n }\n`;\n"]}
@@ -0,0 +1,11 @@
1
+ import { HTMLTemplateResult, LitElement } from 'lit';
2
+ export declare class UmTableHead extends LitElement {
3
+ static styles: import("lit").CSSResult[];
4
+ protected render(): HTMLTemplateResult;
5
+ }
6
+ declare global {
7
+ interface HTMLElementTagNameMap {
8
+ 'u-thead': UmTableHead;
9
+ }
10
+ }
11
+ //# sourceMappingURL=table-head.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-head.d.ts","sourceRoot":"","sources":["../../src/table/table-head.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,kBAAkB,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAM3D,qBACa,WAAY,SAAQ,UAAU;IAEzC,OAAgB,MAAM,4BAAwB;cAE3B,MAAM,IAAI,kBAAkB;CAGhD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,SAAS,EAAE,WAAW,CAAC;KACxB;CACF"}
@@ -0,0 +1,21 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
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
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { html, LitElement } from 'lit';
8
+ import { customElement } from 'lit/decorators.js';
9
+ import { styles as baseStyles } from '../shared/base.styles';
10
+ import { styles } from './table-head.styles';
11
+ let UmTableHead = class UmTableHead extends LitElement {
12
+ render() {
13
+ return html `<slot></slot>`;
14
+ }
15
+ };
16
+ UmTableHead.styles = [baseStyles, styles];
17
+ UmTableHead = __decorate([
18
+ customElement('u-thead')
19
+ ], UmTableHead);
20
+ export { UmTableHead };
21
+ //# sourceMappingURL=table-head.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-head.js","sourceRoot":"","sources":["../../src/table/table-head.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAsB,UAAU,EAAE,MAAM,KAAK,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAGtC,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,UAAU;IAItB,MAAM;QACvB,OAAO,IAAI,CAAA,eAAe,CAAC;IAC7B,CAAC;;AAJe,kBAAM,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,AAAvB,CAAwB;AAFnC,WAAW;IADvB,aAAa,CAAC,SAAS,CAAC;GACZ,WAAW,CAOvB","sourcesContent":["import { html, HTMLTemplateResult, LitElement } from 'lit';\nimport { customElement } from 'lit/decorators.js';\n\nimport { styles as baseStyles } from '../shared/base.styles';\nimport { styles } from './table-head.styles';\n\n@customElement('u-thead')\nexport class UmTableHead extends LitElement {\n\n static override styles = [baseStyles, styles];\n\n protected override render(): HTMLTemplateResult {\n return html`<slot></slot>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'u-thead': UmTableHead;\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export declare const styles: import("lit").CSSResult;
2
+ //# sourceMappingURL=table-head.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-head.styles.d.ts","sourceRoot":"","sources":["../../src/table/table-head.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBAQlB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `
3
+ :host {
4
+ display: table-header-group;
5
+ }
6
+
7
+ ::slotted(u-tr:not(:first-child)) {
8
+ border-top: 1px solid var(--u-color-outline-variant, rgb(202, 196, 208));
9
+ }
10
+ `;
11
+ //# sourceMappingURL=table-head.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-head.styles.js","sourceRoot":"","sources":["../../src/table/table-head.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC;;;;;;;;CAQzB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css `\n :host {\n display: table-header-group;\n }\n\n ::slotted(u-tr:not(:first-child)) {\n border-top: 1px solid var(--u-color-outline-variant, rgb(202, 196, 208));\n }\n`;\n"]}
@@ -0,0 +1,11 @@
1
+ import { HTMLTemplateResult, LitElement } from 'lit';
2
+ export declare class UmTableHeaderCell extends LitElement {
3
+ static styles: import("lit").CSSResult[];
4
+ protected render(): HTMLTemplateResult;
5
+ }
6
+ declare global {
7
+ interface HTMLElementTagNameMap {
8
+ 'u-th': UmTableHeaderCell;
9
+ }
10
+ }
11
+ //# sourceMappingURL=table-header-cell.d.ts.map