tyrell-components 1.0.0-TC55 → 1.0.0-TC57

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 (248) hide show
  1. package/README.md +53 -53
  2. package/css/tyrell-theme.css +7 -2
  3. package/css/tyrell.css +9 -18
  4. package/dist/tyrell-theme.css +1 -1
  5. package/dist/tyrell.css +1 -1
  6. package/dist/tyrell.js +1 -1
  7. package/lib/base/ty-component.d.ts +17 -0
  8. package/lib/base/ty-component.d.ts.map +1 -0
  9. package/lib/base/ty-component.js +32 -1
  10. package/lib/base/ty-component.js.map +1 -0
  11. package/lib/components/button.d.ts.map +1 -0
  12. package/lib/components/button.js +7 -0
  13. package/lib/components/button.js.map +1 -0
  14. package/lib/components/calendar-month.d.ts.map +1 -0
  15. package/lib/components/calendar-month.js +3 -2
  16. package/lib/components/calendar-month.js.map +1 -0
  17. package/lib/components/calendar-navigation.d.ts +11 -0
  18. package/lib/components/calendar-navigation.d.ts.map +1 -0
  19. package/lib/components/calendar-navigation.js +51 -40
  20. package/lib/components/calendar-navigation.js.map +1 -0
  21. package/lib/components/calendar.d.ts +28 -0
  22. package/lib/components/calendar.d.ts.map +1 -0
  23. package/lib/components/calendar.js +186 -4
  24. package/lib/components/calendar.js.map +1 -0
  25. package/lib/components/checkbox.d.ts +2 -0
  26. package/lib/components/checkbox.d.ts.map +1 -0
  27. package/lib/components/checkbox.js +10 -3
  28. package/lib/components/checkbox.js.map +1 -0
  29. package/lib/components/copy.d.ts.map +1 -0
  30. package/lib/components/copy.js +9 -2
  31. package/lib/components/copy.js.map +1 -0
  32. package/lib/components/date-picker.d.ts +17 -16
  33. package/lib/components/date-picker.d.ts.map +1 -0
  34. package/lib/components/date-picker.js +182 -249
  35. package/lib/components/date-picker.js.map +1 -0
  36. package/lib/components/dropdown.d.ts +403 -0
  37. package/lib/components/dropdown.d.ts.map +1 -0
  38. package/lib/components/dropdown.js +1315 -0
  39. package/lib/components/dropdown.js.map +1 -0
  40. package/lib/components/file-upload.d.ts +6 -0
  41. package/lib/components/file-upload.js +29 -2
  42. package/lib/components/icon.d.ts.map +1 -0
  43. package/lib/components/icon.js.map +1 -0
  44. package/lib/components/input.d.ts +74 -2
  45. package/lib/components/input.d.ts.map +1 -0
  46. package/lib/components/input.js +168 -8
  47. package/lib/components/input.js.map +1 -0
  48. package/lib/components/modal.d.ts +4 -8
  49. package/lib/components/modal.d.ts.map +1 -0
  50. package/lib/components/modal.js +18 -25
  51. package/lib/components/modal.js.map +1 -0
  52. package/lib/components/multiselect.d.ts +389 -0
  53. package/lib/components/multiselect.d.ts.map +1 -0
  54. package/lib/components/multiselect.js +1301 -0
  55. package/lib/components/multiselect.js.map +1 -0
  56. package/lib/components/option.d.ts.map +1 -0
  57. package/lib/components/option.js +5 -0
  58. package/lib/components/option.js.map +1 -0
  59. package/lib/components/popup.d.ts.map +1 -0
  60. package/lib/components/popup.js +19 -4
  61. package/lib/components/popup.js.map +1 -0
  62. package/lib/components/radio.d.ts +17 -0
  63. package/lib/components/radio.js +42 -4
  64. package/lib/components/resize-observer.d.ts.map +1 -0
  65. package/lib/components/resize-observer.js.map +1 -0
  66. package/lib/components/scroll-container.d.ts +3 -2
  67. package/lib/components/scroll-container.d.ts.map +1 -0
  68. package/lib/components/scroll-container.js +5 -8
  69. package/lib/components/scroll-container.js.map +1 -0
  70. package/lib/components/select.d.ts +16 -6
  71. package/lib/components/select.js +73 -19
  72. package/lib/components/selected-tags.d.ts +7 -1
  73. package/lib/components/selected-tags.js +10 -1
  74. package/lib/components/step.d.ts.map +1 -0
  75. package/lib/components/step.js.map +1 -0
  76. package/lib/components/switch.d.ts +2 -0
  77. package/lib/components/switch.js +10 -3
  78. package/lib/components/tab.d.ts +49 -1
  79. package/lib/components/tab.d.ts.map +1 -0
  80. package/lib/components/tab.js +151 -10
  81. package/lib/components/tab.js.map +1 -0
  82. package/lib/components/tabs.d.ts +14 -2
  83. package/lib/components/tabs.d.ts.map +1 -0
  84. package/lib/components/tabs.js +184 -135
  85. package/lib/components/tabs.js.map +1 -0
  86. package/lib/components/tag.d.ts +4 -7
  87. package/lib/components/tag.d.ts.map +1 -0
  88. package/lib/components/tag.js +6 -7
  89. package/lib/components/tag.js.map +1 -0
  90. package/lib/components/textarea.d.ts +8 -3
  91. package/lib/components/textarea.d.ts.map +1 -0
  92. package/lib/components/textarea.js +23 -15
  93. package/lib/components/textarea.js.map +1 -0
  94. package/lib/components/tooltip.d.ts +4 -3
  95. package/lib/components/tooltip.d.ts.map +1 -0
  96. package/lib/components/tooltip.js +34 -24
  97. package/lib/components/tooltip.js.map +1 -0
  98. package/lib/components/wizard.d.ts +5 -4
  99. package/lib/components/wizard.d.ts.map +1 -0
  100. package/lib/components/wizard.js +120 -156
  101. package/lib/components/wizard.js.map +1 -0
  102. package/lib/icons/fontawesome/brands.d.ts.map +1 -0
  103. package/lib/icons/fontawesome/brands.js.map +1 -0
  104. package/lib/icons/fontawesome/regular.d.ts.map +1 -0
  105. package/lib/icons/fontawesome/regular.js.map +1 -0
  106. package/lib/icons/fontawesome/solid.d.ts.map +1 -0
  107. package/lib/icons/fontawesome/solid.js.map +1 -0
  108. package/lib/icons/heroicons/micro.d.ts.map +1 -0
  109. package/lib/icons/heroicons/micro.js.map +1 -0
  110. package/lib/icons/heroicons/mini.d.ts.map +1 -0
  111. package/lib/icons/heroicons/mini.js.map +1 -0
  112. package/lib/icons/heroicons/outline.d.ts.map +1 -0
  113. package/lib/icons/heroicons/outline.js.map +1 -0
  114. package/lib/icons/heroicons/solid.d.ts.map +1 -0
  115. package/lib/icons/heroicons/solid.js.map +1 -0
  116. package/lib/icons/lucide.d.ts.map +1 -0
  117. package/lib/icons/lucide.js.map +1 -0
  118. package/lib/icons/material/filled.d.ts.map +1 -0
  119. package/lib/icons/material/filled.js.map +1 -0
  120. package/lib/icons/material/outlined.d.ts.map +1 -0
  121. package/lib/icons/material/outlined.js.map +1 -0
  122. package/lib/icons/material/round.d.ts.map +1 -0
  123. package/lib/icons/material/round.js.map +1 -0
  124. package/lib/icons/material/sharp.d.ts.map +1 -0
  125. package/lib/icons/material/sharp.js.map +1 -0
  126. package/lib/icons/material/two-tone.d.ts.map +1 -0
  127. package/lib/icons/material/two-tone.js.map +1 -0
  128. package/lib/index.d.ts +1 -1
  129. package/lib/index.d.ts.map +1 -0
  130. package/lib/index.js.map +1 -0
  131. package/lib/styles/button.d.ts.map +1 -0
  132. package/lib/styles/button.js +68 -58
  133. package/lib/styles/button.js.map +1 -0
  134. package/lib/styles/calendar-month.d.ts +3 -0
  135. package/lib/styles/calendar-month.d.ts.map +1 -0
  136. package/lib/styles/calendar-month.js +43 -27
  137. package/lib/styles/calendar-month.js.map +1 -0
  138. package/lib/styles/calendar-navigation.d.ts +1 -1
  139. package/lib/styles/calendar-navigation.d.ts.map +1 -0
  140. package/lib/styles/calendar-navigation.js +55 -26
  141. package/lib/styles/calendar-navigation.js.map +1 -0
  142. package/lib/styles/calendar.d.ts +3 -2
  143. package/lib/styles/calendar.d.ts.map +1 -0
  144. package/lib/styles/calendar.js +74 -0
  145. package/lib/styles/calendar.js.map +1 -0
  146. package/lib/styles/checkbox.js +22 -10
  147. package/lib/styles/copy.d.ts.map +1 -0
  148. package/lib/styles/copy.js +5 -1
  149. package/lib/styles/copy.js.map +1 -0
  150. package/lib/styles/date-picker.d.ts.map +1 -0
  151. package/lib/styles/date-picker.js +53 -23
  152. package/lib/styles/date-picker.js.map +1 -0
  153. package/lib/styles/dropdown.d.ts +12 -0
  154. package/lib/styles/dropdown.d.ts.map +1 -0
  155. package/lib/styles/dropdown.js +725 -0
  156. package/lib/styles/dropdown.js.map +1 -0
  157. package/lib/styles/file-upload.d.ts +1 -1
  158. package/lib/styles/file-upload.js +3 -3
  159. package/lib/styles/icon.d.ts +1 -1
  160. package/lib/styles/icon.d.ts.map +1 -0
  161. package/lib/styles/icon.js +2 -2
  162. package/lib/styles/icon.js.map +1 -0
  163. package/lib/styles/input.d.ts.map +1 -0
  164. package/lib/styles/input.js +1 -1
  165. package/lib/styles/input.js.map +1 -0
  166. package/lib/styles/modal.d.ts.map +1 -0
  167. package/lib/styles/modal.js.map +1 -0
  168. package/lib/styles/multiselect.d.ts +6 -0
  169. package/lib/styles/multiselect.d.ts.map +1 -0
  170. package/lib/styles/multiselect.js +568 -0
  171. package/lib/styles/multiselect.js.map +1 -0
  172. package/lib/styles/option.d.ts +1 -1
  173. package/lib/styles/option.d.ts.map +1 -0
  174. package/lib/styles/option.js +3 -3
  175. package/lib/styles/option.js.map +1 -0
  176. package/lib/styles/popup.d.ts +1 -1
  177. package/lib/styles/popup.d.ts.map +1 -0
  178. package/lib/styles/popup.js +8 -5
  179. package/lib/styles/popup.js.map +1 -0
  180. package/lib/styles/radio.js +10 -4
  181. package/lib/styles/resize-observer.d.ts.map +1 -0
  182. package/lib/styles/resize-observer.js.map +1 -0
  183. package/lib/styles/scroll-container.d.ts +1 -1
  184. package/lib/styles/scroll-container.d.ts.map +1 -0
  185. package/lib/styles/scroll-container.js +1 -1
  186. package/lib/styles/scroll-container.js.map +1 -0
  187. package/lib/styles/select.d.ts +1 -1
  188. package/lib/styles/select.js +6 -0
  189. package/lib/styles/step.d.ts +1 -1
  190. package/lib/styles/step.d.ts.map +1 -0
  191. package/lib/styles/step.js +1 -9
  192. package/lib/styles/step.js.map +1 -0
  193. package/lib/styles/switch.js +6 -3
  194. package/lib/styles/tab.d.ts +1 -1
  195. package/lib/styles/tab.d.ts.map +1 -0
  196. package/lib/styles/tab.js +67 -3
  197. package/lib/styles/tab.js.map +1 -0
  198. package/lib/styles/tabs.d.ts +1 -1
  199. package/lib/styles/tabs.d.ts.map +1 -0
  200. package/lib/styles/tabs.js +7 -3
  201. package/lib/styles/tabs.js.map +1 -0
  202. package/lib/styles/tag.d.ts.map +1 -0
  203. package/lib/styles/tag.js +1 -2
  204. package/lib/styles/tag.js.map +1 -0
  205. package/lib/styles/textarea.d.ts.map +1 -0
  206. package/lib/styles/textarea.js.map +1 -0
  207. package/lib/styles/tooltip.d.ts.map +1 -0
  208. package/lib/styles/tooltip.js.map +1 -0
  209. package/lib/styles/wizard.d.ts +9 -5
  210. package/lib/styles/wizard.d.ts.map +1 -0
  211. package/lib/styles/wizard.js +211 -99
  212. package/lib/styles/wizard.js.map +1 -0
  213. package/lib/types/common.d.ts +2 -2
  214. package/lib/types/common.d.ts.map +1 -0
  215. package/lib/types/common.js.map +1 -0
  216. package/lib/utils/calendar-utils.d.ts.map +1 -0
  217. package/lib/utils/calendar-utils.js.map +1 -0
  218. package/lib/utils/icon-registry.d.ts.map +1 -0
  219. package/lib/utils/icon-registry.js.map +1 -0
  220. package/lib/utils/locale.d.ts.map +1 -0
  221. package/lib/utils/locale.js.map +1 -0
  222. package/lib/utils/number-format.d.ts.map +1 -0
  223. package/lib/utils/number-format.js.map +1 -0
  224. package/lib/utils/parse-boolean.d.ts +39 -0
  225. package/lib/utils/parse-boolean.d.ts.map +1 -0
  226. package/lib/utils/parse-boolean.js +23 -0
  227. package/lib/utils/parse-boolean.js.map +1 -0
  228. package/lib/utils/positioning.d.ts.map +1 -0
  229. package/lib/utils/positioning.js.map +1 -0
  230. package/lib/utils/property-capture.d.ts.map +1 -0
  231. package/lib/utils/property-capture.js.map +1 -0
  232. package/lib/utils/property-manager.d.ts +7 -1
  233. package/lib/utils/property-manager.d.ts.map +1 -0
  234. package/lib/utils/property-manager.js +16 -4
  235. package/lib/utils/property-manager.js.map +1 -0
  236. package/lib/utils/resize-observer.d.ts.map +1 -0
  237. package/lib/utils/resize-observer.js.map +1 -0
  238. package/lib/utils/scroll-lock.d.ts.map +1 -0
  239. package/lib/utils/scroll-lock.js.map +1 -0
  240. package/lib/utils/styles.d.ts.map +1 -0
  241. package/lib/utils/styles.js.map +1 -0
  242. package/lib/utils/validity.d.ts +38 -0
  243. package/lib/utils/validity.js +116 -0
  244. package/lib/version.d.ts +1 -1
  245. package/lib/version.d.ts.map +1 -0
  246. package/lib/version.js +1 -1
  247. package/lib/version.js.map +1 -0
  248. package/package.json +26 -5
@@ -2,18 +2,23 @@ import { ensureStyles } from '../utils/styles.js';
2
2
  import { tabsStyles } from '../styles/tabs.js';
3
3
  const eventHandlers = new WeakMap();
4
4
  const resizeObservers = new WeakMap();
5
- const pendingInitialSnap = new WeakSet();
5
+ const shownTabs = new WeakMap();
6
+ const instanceSheets = new WeakMap();
7
+ const pendingInitialSnap = new WeakMap();
8
+ let userInputs = 0;
9
+ const countInput = () => { userInputs++; };
10
+ addEventListener('pointerdown', countInput, { capture: true, passive: true });
11
+ addEventListener('keydown', countInput, { capture: true, passive: true });
12
+ const awaitedTabs = new WeakMap();
13
+ let snapCount = 0;
6
14
  function getTabsAttributes(el) {
7
15
  return {
8
- width: el.getAttribute('width') || '100%',
9
- height: el.getAttribute('height') || '400px',
10
- active: el.getAttribute('active'),
11
16
  placement: (el.getAttribute('placement') || 'top'),
12
17
  fixed: el.hasAttribute('fixed'),
13
18
  };
14
19
  }
15
20
  function getChildTabs(el) {
16
- return Array.from(el.querySelectorAll('ty-tab'));
21
+ return Array.from(el.querySelectorAll(':scope > ty-tab'));
17
22
  }
18
23
  function getTabId(tab) {
19
24
  return tab.getAttribute('id');
@@ -35,29 +40,28 @@ function isTabDisabled(tab) {
35
40
  return tab.hasAttribute('disabled');
36
41
  }
37
42
  function hasCustomMarker(el) {
38
- return el.querySelector('[slot="marker"]') !== null;
43
+ return el.querySelector(':scope > [slot="marker"]') !== null;
39
44
  }
40
45
  function findTabIndex(tabs, tabId) {
41
46
  const index = tabs.findIndex(tab => getTabId(tab) === tabId);
42
47
  return index >= 0 ? index : undefined;
43
48
  }
44
49
  function currentActive(el) {
45
- const tabs = getChildTabs(el);
46
- const id = getActiveTabId(el, tabs);
47
- return { id, index: (id ? findTabIndex(tabs, id) : undefined) ?? 0 };
50
+ return shownTabs.get(el) ?? null;
48
51
  }
49
52
  function getActiveTabId(el, tabs) {
53
+ const ids = tabs.map(getTabId).filter((id) => !!id);
50
54
  const activeAttr = el.getAttribute('active');
51
- if (activeAttr && findTabIndex(tabs, activeAttr) !== undefined) {
55
+ if (activeAttr && ids.includes(activeAttr))
52
56
  return activeAttr;
57
+ const shown = shownTabs.get(el);
58
+ if (shown && ids.includes(shown))
59
+ return shown;
60
+ return ids[0] ?? null;
53
61
  }
54
- if (tabs.length > 0) {
55
- return getTabId(tabs[0]);
56
- }
57
- return null;
58
- }
59
- function setActiveTab(el, tabId) {
62
+ function activateTab(el, tabId) {
60
63
  el.setAttribute('active', tabId);
64
+ syncShownTab(el, true);
61
65
  }
62
66
  function dispatchTabChangeEvent(el, activeId, activeIndex, previousId, previousIndex) {
63
67
  const event = new CustomEvent('ty-tab-change', {
@@ -75,7 +79,7 @@ el.dispatchEvent(event);
75
79
  function handleTabClick(el, tabId, event) {
76
80
  event.preventDefault();
77
81
  event.stopPropagation();
78
- setActiveTab(el, tabId);
82
+ activateTab(el, tabId);
79
83
  }
80
84
  function cleanupEventListeners(el) {
81
85
  const handlers = eventHandlers.get(el);
@@ -87,23 +91,42 @@ return;
87
91
  handlers.tabClickHandlers.forEach((handler, tabId) => {
88
92
  const button = shadowRoot.querySelector(`[data-tab-id='${tabId}']`);
89
93
  if (button) {
90
- button.removeEventListener('pointerdown', handler);
94
+ button.removeEventListener('click', handler);
91
95
  }
92
96
  });
93
- handlers.tabKeyClickHandlers.forEach((handler, tabId) => {
97
+ handlers.tabKeydownHandlers.forEach((handler, tabId) => {
94
98
  const button = shadowRoot.querySelector(`[data-tab-id='${tabId}']`);
95
99
  if (button) {
96
- button.removeEventListener('click', handler);
100
+ button.removeEventListener('keydown', handler);
97
101
  }
98
102
  });
99
103
  handlers.tabClickHandlers.clear();
100
- handlers.tabKeyClickHandlers.clear();
104
+ handlers.tabKeydownHandlers.clear();
105
+ }
106
+ function handleTabKeydown(el, shadowRoot, tabId, e) {
107
+ if (!['ArrowRight', 'ArrowLeft', 'Home', 'End'].includes(e.key))
108
+ return;
109
+ const ids = Array.from(shadowRoot.querySelectorAll('.tab-buttons [data-tab-id]:not([disabled])')).map((b) => b.getAttribute('data-tab-id'));
110
+ const i = ids.indexOf(tabId);
111
+ if (i < 0 || ids.length === 0)
112
+ return;
113
+ e.preventDefault();
114
+ const next = e.key === 'Home' ? ids[0]
115
+ : e.key === 'End' ? ids[ids.length - 1]
116
+ : e.key === 'ArrowRight' ? ids[(i + 1) % ids.length]
117
+ : ids[(i - 1 + ids.length) % ids.length];
118
+ if (next === tabId)
119
+ return;
120
+ handleTabClick(el, next, e);
121
+ requestAnimationFrame(() => {
122
+ shadowRoot.querySelector(`.tab-buttons [data-tab-id='${next}']`)?.focus();
123
+ });
101
124
  }
102
125
  function setupEventListeners(el, shadowRoot, tabs) {
103
126
  cleanupEventListeners(el);
104
127
  const handlers = {
105
128
  tabClickHandlers: new Map(),
106
- tabKeyClickHandlers: new Map(),
129
+ tabKeydownHandlers: new Map(),
107
130
  };
108
131
  tabs.forEach((tab) => {
109
132
  const tabId = getTabId(tab);
@@ -112,28 +135,63 @@ return;
112
135
  const button = shadowRoot.querySelector(`[data-tab-id='${tabId}']`);
113
136
  if (button) {
114
137
  const handler = (e) => handleTabClick(el, tabId, e);
115
- const keyClickHandler = (e) => {
116
- if (e.detail === 0)
117
- handleTabClick(el, tabId, e);
118
- };
119
- button.addEventListener('pointerdown', handler);
120
- button.addEventListener('click', keyClickHandler);
138
+ const keydownHandler = (e) => handleTabKeydown(el, shadowRoot, tabId, e);
139
+ button.addEventListener('click', handler);
140
+ button.addEventListener('keydown', keydownHandler);
121
141
  handlers.tabClickHandlers.set(tabId, handler);
122
- handlers.tabKeyClickHandlers.set(tabId, keyClickHandler);
142
+ handlers.tabKeydownHandlers.set(tabId, keydownHandler);
123
143
  }
124
144
  });
125
145
  eventHandlers.set(el, handlers);
126
146
  }
147
+ function carouselTransform(activeIndex) {
148
+ return `translateX(${activeIndex * -100}%)`;
149
+ }
150
+ function snapNextChange(container) {
151
+ if (!container)
152
+ return;
153
+ const token = String(++snapCount);
154
+ container.setAttribute('data-snap', token);
155
+ requestAnimationFrame(() => requestAnimationFrame(() => {
156
+ if (container.getAttribute('data-snap') === token)
157
+ container.removeAttribute('data-snap');
158
+ }));
159
+ }
127
160
  function updateTransform(el, activeIndex) {
161
+ const panelsWrapper = el.shadowRoot?.querySelector('.panels-wrapper');
162
+ if (panelsWrapper)
163
+ panelsWrapper.style.transform = carouselTransform(activeIndex);
164
+ }
165
+ function setAttr(node, name, value) {
166
+ if (node.getAttribute(name) !== value)
167
+ node.setAttribute(name, value);
168
+ }
169
+ function syncInstanceSheet(el, shownId) {
128
170
  const shadowRoot = el.shadowRoot;
129
171
  if (!shadowRoot)
130
172
  return;
131
- const panelsWrapper = shadowRoot.querySelector('.panels-wrapper');
132
- if (!panelsWrapper)
133
- return;
134
- const containerWidth = el.offsetWidth;
135
- const offsetPx = activeIndex * containerWidth;
136
- panelsWrapper.style.transform = `translateX(-${offsetPx}px)`;
173
+ let sheet = instanceSheets.get(el);
174
+ if (!sheet) {
175
+ sheet = new CSSStyleSheet();
176
+ sheet.replaceSync(':host {} ::slotted(ty-tab) {}');
177
+ const hide = sheet.cssRules[1].style;
178
+ hide.setProperty('opacity', '0', 'important');
179
+ hide.setProperty('visibility', 'hidden', 'important');
180
+ hide.setProperty('pointer-events', 'none', 'important');
181
+ shadowRoot.adoptedStyleSheets = [...shadowRoot.adoptedStyleSheets, sheet];
182
+ instanceSheets.set(el, sheet);
183
+ }
184
+ const host = sheet.cssRules[0].style;
185
+ for (const prop of ['width', 'height']) {
186
+ const value = el.getAttribute(prop);
187
+ if (value)
188
+ host.setProperty(prop, value, 'important');
189
+ else
190
+ host.removeProperty(prop);
191
+ }
192
+ sheet.cssRules[1].selectorText = shownId
193
+ ? `::slotted(ty-tab:not(#${CSS.escape(shownId)}))`
194
+ : '::slotted(ty-tab)';
137
195
  }
138
196
  function updateAriaAttributes(el, shadowRoot, activeId) {
139
197
  const tabs = getChildTabs(el);
@@ -149,27 +207,19 @@ button.setAttribute('tabindex', isActive ? '0' : '-1');
149
207
  button.setAttribute('data-active', String(isActive));
150
208
  const slottedLabel = getSlotLabel(el, tabId);
151
209
  if (slottedLabel) {
152
- slottedLabel.setAttribute('data-active', String(isActive));
210
+ setAttr(slottedLabel, 'data-active', String(isActive));
153
211
  }
154
212
  }
155
213
  });
156
214
  }
157
215
  function updatePanelInteraction(el, activeId) {
158
- const tabs = getChildTabs(el);
159
- tabs.forEach((tab) => {
216
+ syncInstanceSheet(el, activeId);
217
+ getChildTabs(el).forEach((tab) => {
160
218
  const tabId = getTabId(tab);
219
+ tab.setShown?.(!!tabId && tabId === activeId);
161
220
  if (!tabId)
162
221
  return;
163
- const isActive = tabId === activeId;
164
- tab.setAttribute('data-active', String(isActive));
165
- if (isActive) {
166
- tab.style.pointerEvents = 'auto';
167
- tab.style.opacity = '1';
168
- }
169
- else {
170
- tab.style.pointerEvents = 'none';
171
- tab.style.opacity = '0';
172
- }
222
+ setAttr(tab, 'data-active', String(tabId === activeId));
173
223
  });
174
224
  }
175
225
  function calculateMarkerPosition(el, shadowRoot, activeId) {
@@ -205,46 +255,61 @@ marker.offsetWidth;
205
255
  marker.style.transition = '';
206
256
  }
207
257
  }
208
- function updateActiveTabState(el, tabId, previousId) {
209
- const tabs = getChildTabs(el);
258
+ function syncShownTab(el, user = false) {
210
259
  const shadowRoot = el.shadowRoot;
211
260
  if (!shadowRoot)
212
261
  return;
213
- const currentIndex = previousId ? findTabIndex(tabs, previousId) : undefined;
214
- const newIndex = findTabIndex(tabs, tabId);
215
- if (previousId === tabId || newIndex === undefined)
262
+ const tabs = getChildTabs(el);
263
+ const previousId = shownTabs.get(el) ?? null;
264
+ const tabId = getActiveTabId(el, tabs);
265
+ const newIndex = (tabId ? findTabIndex(tabs, tabId) : undefined) ?? 0;
266
+ const container = shadowRoot.querySelector('.tabs-container');
267
+ if (tabId === previousId) {
268
+ const wrapper = shadowRoot.querySelector('.panels-wrapper');
269
+ if (wrapper && wrapper.style.transform !== carouselTransform(newIndex)) {
270
+ snapNextChange(container);
271
+ wrapper.style.transform = carouselTransform(newIndex);
272
+ }
216
273
  return;
217
- el.style.setProperty('--active-index', String(newIndex));
274
+ }
275
+ shownTabs.set(el, tabId);
276
+ const initial = previousId === null;
277
+ const arrived = !user && tabId !== null && awaitedTabs.get(el) === tabId;
278
+ awaitedTabs.delete(el);
279
+ const requested = el.getAttribute('active');
280
+ if (initial && requested && requested !== tabId)
281
+ awaitedTabs.set(el, requested);
282
+ const snap = !user && (initial || arrived || pendingInitialSnap.get(el) === userInputs);
283
+ if (initial)
284
+ pendingInitialSnap.set(el, userInputs);
285
+ else if (!arrived)
286
+ pendingInitialSnap.delete(el);
287
+ if (snap)
288
+ snapNextChange(container);
218
289
  updateTransform(el, newIndex);
219
- updateAriaAttributes(el, shadowRoot, tabId);
290
+ updateAriaAttributes(el, shadowRoot, tabId || '');
220
291
  updatePanelInteraction(el, tabId);
221
- updateMarker(el, tabId, pendingInitialSnap.delete(el));
292
+ if (!tabId || initial)
293
+ return;
294
+ updateMarker(el, tabId, snap);
295
+ scrollActiveIntoView(el, tabId, !snap);
222
296
  shadowRoot.querySelectorAll('.tab-overflow-item').forEach((item) => {
223
297
  item.setAttribute('data-active', String(item.dataset.tabId === tabId));
224
298
  });
225
- const newPanel = tabs[newIndex];
226
- if (newPanel?.resetScroll) {
227
- newPanel.resetScroll();
228
- }
229
- dispatchTabChangeEvent(el, tabId, newIndex, previousId, currentIndex ?? null);
299
+ tabs[newIndex]?.resetScroll?.();
300
+ if (arrived)
301
+ return;
302
+ const previousIndex = findTabIndex(tabs, previousId);
303
+ dispatchTabChangeEvent(el, tabId, newIndex, previousIndex === undefined ? null : previousId, previousIndex ?? null);
304
+ tabs[newIndex]?._requestLoad?.(newIndex);
230
305
  }
231
306
  function setupResizeObserver(el) {
232
307
  const oldObserver = resizeObservers.get(el);
233
308
  if (oldObserver) {
234
309
  oldObserver.disconnect();
235
310
  }
236
- const observer = new ResizeObserver((entries) => {
237
- const entry = entries[0];
238
- const { width } = getTabsAttributes(el);
239
- const tabs = getChildTabs(el);
240
- const activeId = getActiveTabId(el, tabs);
241
- const activeIndex = activeId ? findTabIndex(tabs, activeId) : 0;
242
- if (width.includes('%')) {
243
- el.style.setProperty('--tabs-page-width', `${entry.contentRect.width}px`);
244
- }
245
- if (activeIndex !== undefined) {
246
- updateTransform(el, activeIndex);
247
- }
311
+ const observer = new ResizeObserver(() => {
312
+ const activeId = currentActive(el);
248
313
  updateOverflow(el);
249
314
  if (activeId) {
250
315
  updateMarker(el, activeId);
@@ -284,8 +349,8 @@ ${labelType === 'slot' ? `<slot name="label-${tabId}"></slot>` : `<span class="t
284
349
  </button>`;
285
350
  }).join('');
286
351
  return `
287
- <div class="tab-buttons" role="tablist" part="buttons-container">
288
- <div class="tab-strip" part="strip">
352
+ <div class="tab-buttons" part="buttons-container">
353
+ <div class="tab-strip" role="tablist" part="strip">
289
354
  <div class="marker-wrapper" part="marker-wrapper">
290
355
  ${!hasCustomMarker(tabsEl) ? '<div class="default-marker"></div>' : ''}
291
356
  <slot name="marker"></slot>
@@ -357,7 +422,7 @@ item.disabled = true;
357
422
  }
358
423
  else {
359
424
  item.addEventListener('click', () => {
360
- setActiveTab(el, tabId);
425
+ activateTab(el, tabId);
361
426
  popup.closePopup?.();
362
427
  });
363
428
  }
@@ -430,26 +495,16 @@ function render(el) {
430
495
  const shadowRoot = el.shadowRoot;
431
496
  if (!shadowRoot)
432
497
  return;
433
- const { width, height, placement, fixed } = getTabsAttributes(el);
498
+ const { placement, fixed } = getTabsAttributes(el);
434
499
  const tabs = getChildTabs(el);
435
500
  const activeId = getActiveTabId(el, tabs);
436
501
  const activeIndex = activeId ? (findTabIndex(tabs, activeId) ?? 0) : 0;
437
- tabs.forEach((tab) => {
438
- const tabId = getTabId(tab);
439
- if (!tabId)
440
- return;
441
- tab.setAttribute('role', 'tabpanel');
442
- tab.setAttribute('aria-labelledby', `tab-${tabId}`);
443
- tab.setAttribute('tabindex', '0');
444
- });
502
+ tabs.forEach((tab) => tab.setPanelLabel?.(getTabMenuLabel(el, tab)));
445
503
  const existingContainer = shadowRoot.querySelector('.tabs-container');
446
504
  const existingButtons = shadowRoot.querySelector('.tab-buttons');
447
505
  const existingStrip = shadowRoot.querySelector('.tab-strip');
448
506
  const existingViewport = shadowRoot.querySelector('.panels-viewport');
449
507
  ensureStyles(shadowRoot, { css: tabsStyles, id: 'ty-tabs' });
450
- el.style.setProperty('--tabs-width', width.includes('%') ? '100%' : width);
451
- el.style.setProperty('--tabs-height', height);
452
- el.style.setProperty('--active-index', String(activeIndex));
453
508
  if (existingContainer && existingButtons && existingStrip && existingViewport) {
454
509
  existingContainer.setAttribute('data-placement', placement);
455
510
  existingContainer.toggleAttribute('data-fixed', fixed);
@@ -466,58 +521,41 @@ existingStrip.appendChild(button);
466
521
  existingStrip.scrollLeft = savedScrollLeft;
467
522
  setupEventListeners(el, shadowRoot, tabs);
468
523
  updateAriaAttributes(el, shadowRoot, activeId || '');
524
+ const firstShow = !shownTabs.get(el);
469
525
  requestAnimationFrame(() => {
470
- const buttons = shadowRoot.querySelector('.tab-buttons');
471
- if (buttons) {
472
- const buttonsHeight = buttons.offsetHeight;
473
- el.style.setProperty('--buttons-height', `${buttonsHeight}px`);
474
- }
475
- const current = currentActive(el);
476
- updateTransform(el, current.index);
526
+ const currentId = currentActive(el);
477
527
  updateOverflow(el);
478
- if (current.id) {
479
- updateMarker(el, current.id);
480
- scrollActiveIntoView(el, current.id, true);
528
+ if (currentId) {
529
+ updateMarker(el, currentId, firstShow);
530
+ scrollActiveIntoView(el, currentId, !firstShow);
481
531
  }
482
532
  });
483
- if (activeId) {
484
533
  updatePanelInteraction(el, activeId);
485
534
  }
486
- }
487
535
  else {
488
- pendingInitialSnap.add(el);
489
536
  shadowRoot.innerHTML = `
490
537
  <div class="tabs-container" data-placement="${placement}"${fixed ? ' data-fixed' : ''}>
491
538
  ${renderTabButtons(el, tabs, activeId)}
492
539
  <div class="panels-viewport" part="panels-container">
493
- <div class="panels-wrapper">
540
+ <div class="panels-wrapper" style="transform: ${carouselTransform(activeIndex)}">
494
541
  <slot></slot>
495
542
  </div>
496
543
  </div>
497
544
  </div>
498
545
  `;
499
546
  requestAnimationFrame(() => {
500
- const buttons = shadowRoot.querySelector('.tab-buttons');
501
- if (buttons) {
502
- const buttonsHeight = buttons.offsetHeight;
503
- el.style.setProperty('--buttons-height', `${buttonsHeight}px`);
504
- }
505
- const current = currentActive(el);
506
- updateTransform(el, current.index);
547
+ const currentId = currentActive(el);
507
548
  updateOverflow(el);
508
- if (current.id) {
509
- updateMarker(el, current.id);
510
- scrollActiveIntoView(el, current.id, false);
549
+ if (currentId) {
550
+ updateMarker(el, currentId);
551
+ scrollActiveIntoView(el, currentId, false);
511
552
  }
512
553
  });
513
554
  setupEventListeners(el, shadowRoot, tabs);
514
555
  updateAriaAttributes(el, shadowRoot, activeId || '');
515
- setupResizeObserver(el);
516
556
  const strip = shadowRoot.querySelector('.tab-strip');
517
557
  strip?.addEventListener('scroll', () => updateEdgeFades(strip), { passive: true });
518
- if (activeId) {
519
558
  updatePanelInteraction(el, activeId);
520
- }
521
559
  const markerSlot = shadowRoot.querySelector('slot[name="marker"]');
522
560
  if (markerSlot) {
523
561
  const updateDefaultMarkerVisibility = () => {
@@ -543,21 +581,18 @@ return ['width', 'height', 'active', 'placement', 'fixed'];
543
581
  constructor() {
544
582
  super();
545
583
  this._childObserver = null;
546
- this._childRenderQueued = false;
584
+ this._updateQueued = false;
585
+ this._structureDirty = false;
547
586
  this.attachShadow({ mode: 'open' });
548
587
  }
588
+ get activeTab() {
589
+ return shownTabs.get(this) ?? null;
590
+ }
549
591
  connectedCallback() {
550
592
  render(this);
551
- this._childObserver = new MutationObserver(() => {
552
- if (this._childRenderQueued)
553
- return;
554
- this._childRenderQueued = true;
555
- queueMicrotask(() => {
556
- this._childRenderQueued = false;
557
- if (this.isConnected)
558
- render(this);
559
- });
560
- });
593
+ syncShownTab(this);
594
+ setupResizeObserver(this);
595
+ this._childObserver = new MutationObserver(() => this._queueUpdate(true));
561
596
  this._childObserver.observe(this, { childList: true });
562
597
  }
563
598
  disconnectedCallback() {
@@ -565,20 +600,34 @@ this._childObserver?.disconnect();
565
600
  this._childObserver = null;
566
601
  cleanup(this);
567
602
  }
568
- attributeChangedCallback(name, oldValue, newValue) {
569
- if (name === 'active') {
570
- if (!newValue)
603
+ _queueUpdate(structure) {
604
+ this._structureDirty || (this._structureDirty = structure);
605
+ if (this._updateQueued)
571
606
  return;
572
- if (!this.shadowRoot?.querySelector(`[data-tab-id='${newValue}']`)) {
573
- render(this);
607
+ this._updateQueued = true;
608
+ queueMicrotask(() => {
609
+ this._updateQueued = false;
610
+ if (!this.isConnected)
574
611
  return;
612
+ if (this._childObserver?.takeRecords().length)
613
+ this._structureDirty = true;
614
+ if (this._structureDirty) {
615
+ this._structureDirty = false;
616
+ render(this);
575
617
  }
576
- updateActiveTabState(this, newValue, oldValue);
577
- scrollActiveIntoView(this, newValue, true);
618
+ syncShownTab(this);
619
+ });
578
620
  }
579
- else {
580
- render(this);
621
+ attributeChangedCallback(name, oldValue, newValue) {
622
+ if (!this.isConnected)
623
+ return;
624
+ if (name === 'active') {
625
+ if (oldValue !== newValue)
626
+ awaitedTabs.delete(this);
627
+ this._queueUpdate(false);
581
628
  }
629
+ else
630
+ render(this);
582
631
  }
583
632
  }
584
633
  if (!customElements.get('ty-tabs')) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabs.js","sourceRoot":"","sources":["../../src/components/tabs.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ interface TagState {
9
9
  size: Size;
10
10
  value: string;
11
11
  selected: boolean;
12
- pill: boolean;
12
+ noPill: boolean;
13
13
  clickable: boolean;
14
14
  dismissible: boolean;
15
15
  disabled: boolean;
@@ -50,13 +50,10 @@ export declare class TyTag extends TyComponent<TagState> implements TyTagElement
50
50
  visual: boolean;
51
51
  default: boolean;
52
52
  };
53
- pill: {
53
+ noPill: {
54
54
  type: "boolean";
55
55
  visual: boolean;
56
56
  default: boolean;
57
- aliases: {
58
- "not-pill": boolean;
59
- };
60
57
  };
61
58
  clickable: {
62
59
  type: "boolean";
@@ -106,8 +103,8 @@ export declare class TyTag extends TyComponent<TagState> implements TyTagElement
106
103
  set value(val: string);
107
104
  get selected(): boolean;
108
105
  set selected(value: boolean);
109
- get pill(): boolean;
110
- set pill(value: boolean);
106
+ get noPill(): boolean;
107
+ set noPill(value: boolean);
111
108
  get clickable(): boolean;
112
109
  set clickable(value: boolean);
113
110
  get dismissible(): boolean;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tag.d.ts","sourceRoot":"","sources":["../../src/components/tag.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAoB,MAAM,oBAAoB,CAAA;AAItF;;;;;;;;;;GAUG;AACH,qBAAa,KAAM,SAAQ,WAAY,YAAW,YAAY;IAC5D,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,MAAM,CAAgC;IAC9C,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,KAAK,CAAO;IACpB,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,YAAY,CAAQ;IAC5B,OAAO,CAAC,SAAS,CAAQ;IAGzB,OAAO,CAAC,QAAQ,CAA4B;;IAW5C,MAAM,KAAK,kBAAkB,IAAI,MAAM,EAAE,CAKxC;IAED,iBAAiB,IAAI,IAAI;IAczB,oBAAoB,IAAI,IAAI;IAI5B,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IA4C9F;;OAEG;IACH,OAAO,CAAC,cAAc;IAkBtB,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,MAAM,CAAC,KAAK,EAAE,MAAM,EAMvB;IAED,IAAI,IAAI,IAAI,IAAI,CAEf;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,EAMnB;IAED,IAAI,KAAK,IAAI,MAAM,GAAG,SAAS,CAE9B;IAED,IAAI,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAUhC;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,EAU1B;IAED,IAAI,IAAI,IAAI,OAAO,CAElB;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,OAAO,EAYtB;IAED,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,SAAS,CAAC,KAAK,EAAE,OAAO,EAa3B;IAED,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,IAAI,WAAW,CAAC,KAAK,EAAE,OAAO,EAa7B;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,EAU1B;IAED;;OAEG;IACH,OAAO,CAAC,gBAAgB;IASxB;;OAEG;IACH,OAAO,CAAC,WAAW,CAOlB;IAED;;OAEG;IACH,OAAO,CAAC,aAAa,CAMpB;IAED;;OAEG;IACH,OAAO,CAAC,aAAa,CAyBpB;IAED;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAO7B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA6B3B;;OAEG;IACH,OAAO,CAAC,MAAM;CAqCf"}
@@ -171,11 +171,11 @@ return this.getProperty("selected");
171
171
  set selected(value) {
172
172
  this.setProperty("selected", value);
173
173
  }
174
- get pill() {
175
- return this.getProperty("pill");
174
+ get noPill() {
175
+ return this.getProperty("noPill");
176
176
  }
177
- set pill(value) {
178
- this.setProperty("pill", value);
177
+ set noPill(value) {
178
+ this.setProperty("noPill", value);
179
179
  }
180
180
  get clickable() {
181
181
  return this.getProperty("clickable");
@@ -226,11 +226,10 @@ type: "boolean",
226
226
  visual: true,
227
227
  default: false,
228
228
  },
229
- pill: {
229
+ noPill: {
230
230
  type: "boolean",
231
231
  visual: true,
232
- default: true,
233
- aliases: { "not-pill": false },
232
+ default: false,
234
233
  },
235
234
  clickable: {
236
235
  type: "boolean",
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tag.js","sourceRoot":"","sources":["../../src/components/tag.ts"],"names":[],"mappings":"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"}