tyrell-components 1.0.0-TC55 → 1.0.0-TC56

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 (237) hide show
  1. package/README.md +53 -53
  2. package/css/tyrell-theme.css +7 -2
  3. package/css/tyrell.css +6 -15
  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 +14 -0
  8. package/lib/base/ty-component.d.ts.map +1 -0
  9. package/lib/base/ty-component.js +27 -0
  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 +26 -0
  22. package/lib/components/calendar.d.ts.map +1 -0
  23. package/lib/components/calendar.js +177 -4
  24. package/lib/components/calendar.js.map +1 -0
  25. package/lib/components/checkbox.d.ts.map +1 -0
  26. package/lib/components/checkbox.js +3 -3
  27. package/lib/components/checkbox.js.map +1 -0
  28. package/lib/components/copy.d.ts.map +1 -0
  29. package/lib/components/copy.js +9 -2
  30. package/lib/components/copy.js.map +1 -0
  31. package/lib/components/date-picker.d.ts +15 -16
  32. package/lib/components/date-picker.d.ts.map +1 -0
  33. package/lib/components/date-picker.js +175 -249
  34. package/lib/components/date-picker.js.map +1 -0
  35. package/lib/components/dropdown.d.ts +403 -0
  36. package/lib/components/dropdown.d.ts.map +1 -0
  37. package/lib/components/dropdown.js +1315 -0
  38. package/lib/components/dropdown.js.map +1 -0
  39. package/lib/components/file-upload.d.ts +4 -0
  40. package/lib/components/file-upload.js +14 -0
  41. package/lib/components/icon.d.ts.map +1 -0
  42. package/lib/components/icon.js.map +1 -0
  43. package/lib/components/input.d.ts.map +1 -0
  44. package/lib/components/input.js +3 -3
  45. package/lib/components/input.js.map +1 -0
  46. package/lib/components/modal.d.ts +2 -8
  47. package/lib/components/modal.d.ts.map +1 -0
  48. package/lib/components/modal.js +8 -18
  49. package/lib/components/modal.js.map +1 -0
  50. package/lib/components/multiselect.d.ts +389 -0
  51. package/lib/components/multiselect.d.ts.map +1 -0
  52. package/lib/components/multiselect.js +1301 -0
  53. package/lib/components/multiselect.js.map +1 -0
  54. package/lib/components/option.d.ts.map +1 -0
  55. package/lib/components/option.js.map +1 -0
  56. package/lib/components/popup.d.ts.map +1 -0
  57. package/lib/components/popup.js +4 -1
  58. package/lib/components/popup.js.map +1 -0
  59. package/lib/components/radio.d.ts +15 -0
  60. package/lib/components/radio.js +34 -4
  61. package/lib/components/resize-observer.d.ts.map +1 -0
  62. package/lib/components/resize-observer.js.map +1 -0
  63. package/lib/components/scroll-container.d.ts +3 -2
  64. package/lib/components/scroll-container.d.ts.map +1 -0
  65. package/lib/components/scroll-container.js +5 -8
  66. package/lib/components/scroll-container.js.map +1 -0
  67. package/lib/components/select.d.ts +14 -6
  68. package/lib/components/select.js +61 -19
  69. package/lib/components/step.d.ts.map +1 -0
  70. package/lib/components/step.js.map +1 -0
  71. package/lib/components/switch.js +3 -3
  72. package/lib/components/tab.d.ts +49 -1
  73. package/lib/components/tab.d.ts.map +1 -0
  74. package/lib/components/tab.js +151 -10
  75. package/lib/components/tab.js.map +1 -0
  76. package/lib/components/tabs.d.ts +14 -2
  77. package/lib/components/tabs.d.ts.map +1 -0
  78. package/lib/components/tabs.js +184 -135
  79. package/lib/components/tabs.js.map +1 -0
  80. package/lib/components/tag.d.ts +4 -7
  81. package/lib/components/tag.d.ts.map +1 -0
  82. package/lib/components/tag.js +6 -7
  83. package/lib/components/tag.js.map +1 -0
  84. package/lib/components/textarea.d.ts +4 -3
  85. package/lib/components/textarea.d.ts.map +1 -0
  86. package/lib/components/textarea.js +16 -15
  87. package/lib/components/textarea.js.map +1 -0
  88. package/lib/components/tooltip.d.ts +4 -3
  89. package/lib/components/tooltip.d.ts.map +1 -0
  90. package/lib/components/tooltip.js +34 -24
  91. package/lib/components/tooltip.js.map +1 -0
  92. package/lib/components/wizard.d.ts +5 -4
  93. package/lib/components/wizard.d.ts.map +1 -0
  94. package/lib/components/wizard.js +120 -156
  95. package/lib/components/wizard.js.map +1 -0
  96. package/lib/icons/fontawesome/brands.d.ts.map +1 -0
  97. package/lib/icons/fontawesome/brands.js.map +1 -0
  98. package/lib/icons/fontawesome/regular.d.ts.map +1 -0
  99. package/lib/icons/fontawesome/regular.js.map +1 -0
  100. package/lib/icons/fontawesome/solid.d.ts.map +1 -0
  101. package/lib/icons/fontawesome/solid.js.map +1 -0
  102. package/lib/icons/heroicons/micro.d.ts.map +1 -0
  103. package/lib/icons/heroicons/micro.js.map +1 -0
  104. package/lib/icons/heroicons/mini.d.ts.map +1 -0
  105. package/lib/icons/heroicons/mini.js.map +1 -0
  106. package/lib/icons/heroicons/outline.d.ts.map +1 -0
  107. package/lib/icons/heroicons/outline.js.map +1 -0
  108. package/lib/icons/heroicons/solid.d.ts.map +1 -0
  109. package/lib/icons/heroicons/solid.js.map +1 -0
  110. package/lib/icons/lucide.d.ts.map +1 -0
  111. package/lib/icons/lucide.js.map +1 -0
  112. package/lib/icons/material/filled.d.ts.map +1 -0
  113. package/lib/icons/material/filled.js.map +1 -0
  114. package/lib/icons/material/outlined.d.ts.map +1 -0
  115. package/lib/icons/material/outlined.js.map +1 -0
  116. package/lib/icons/material/round.d.ts.map +1 -0
  117. package/lib/icons/material/round.js.map +1 -0
  118. package/lib/icons/material/sharp.d.ts.map +1 -0
  119. package/lib/icons/material/sharp.js.map +1 -0
  120. package/lib/icons/material/two-tone.d.ts.map +1 -0
  121. package/lib/icons/material/two-tone.js.map +1 -0
  122. package/lib/index.d.ts +1 -1
  123. package/lib/index.d.ts.map +1 -0
  124. package/lib/index.js.map +1 -0
  125. package/lib/styles/button.d.ts.map +1 -0
  126. package/lib/styles/button.js +68 -58
  127. package/lib/styles/button.js.map +1 -0
  128. package/lib/styles/calendar-month.d.ts +3 -0
  129. package/lib/styles/calendar-month.d.ts.map +1 -0
  130. package/lib/styles/calendar-month.js +43 -27
  131. package/lib/styles/calendar-month.js.map +1 -0
  132. package/lib/styles/calendar-navigation.d.ts +1 -1
  133. package/lib/styles/calendar-navigation.d.ts.map +1 -0
  134. package/lib/styles/calendar-navigation.js +55 -26
  135. package/lib/styles/calendar-navigation.js.map +1 -0
  136. package/lib/styles/calendar.d.ts +3 -2
  137. package/lib/styles/calendar.d.ts.map +1 -0
  138. package/lib/styles/calendar.js +74 -0
  139. package/lib/styles/calendar.js.map +1 -0
  140. package/lib/styles/checkbox.js +22 -10
  141. package/lib/styles/copy.d.ts.map +1 -0
  142. package/lib/styles/copy.js +5 -1
  143. package/lib/styles/copy.js.map +1 -0
  144. package/lib/styles/date-picker.d.ts.map +1 -0
  145. package/lib/styles/date-picker.js +52 -22
  146. package/lib/styles/date-picker.js.map +1 -0
  147. package/lib/styles/dropdown.d.ts +12 -0
  148. package/lib/styles/dropdown.d.ts.map +1 -0
  149. package/lib/styles/dropdown.js +725 -0
  150. package/lib/styles/dropdown.js.map +1 -0
  151. package/lib/styles/icon.d.ts.map +1 -0
  152. package/lib/styles/icon.js.map +1 -0
  153. package/lib/styles/input.d.ts.map +1 -0
  154. package/lib/styles/input.js.map +1 -0
  155. package/lib/styles/modal.d.ts.map +1 -0
  156. package/lib/styles/modal.js.map +1 -0
  157. package/lib/styles/multiselect.d.ts +6 -0
  158. package/lib/styles/multiselect.d.ts.map +1 -0
  159. package/lib/styles/multiselect.js +568 -0
  160. package/lib/styles/multiselect.js.map +1 -0
  161. package/lib/styles/option.d.ts +1 -1
  162. package/lib/styles/option.d.ts.map +1 -0
  163. package/lib/styles/option.js +3 -3
  164. package/lib/styles/option.js.map +1 -0
  165. package/lib/styles/popup.d.ts +1 -1
  166. package/lib/styles/popup.d.ts.map +1 -0
  167. package/lib/styles/popup.js +8 -5
  168. package/lib/styles/popup.js.map +1 -0
  169. package/lib/styles/radio.js +8 -2
  170. package/lib/styles/resize-observer.d.ts.map +1 -0
  171. package/lib/styles/resize-observer.js.map +1 -0
  172. package/lib/styles/scroll-container.d.ts +1 -1
  173. package/lib/styles/scroll-container.d.ts.map +1 -0
  174. package/lib/styles/scroll-container.js +1 -1
  175. package/lib/styles/scroll-container.js.map +1 -0
  176. package/lib/styles/select.d.ts +1 -1
  177. package/lib/styles/select.js +6 -0
  178. package/lib/styles/step.d.ts +1 -1
  179. package/lib/styles/step.d.ts.map +1 -0
  180. package/lib/styles/step.js +1 -9
  181. package/lib/styles/step.js.map +1 -0
  182. package/lib/styles/switch.js +6 -3
  183. package/lib/styles/tab.d.ts +1 -1
  184. package/lib/styles/tab.d.ts.map +1 -0
  185. package/lib/styles/tab.js +67 -3
  186. package/lib/styles/tab.js.map +1 -0
  187. package/lib/styles/tabs.d.ts +1 -1
  188. package/lib/styles/tabs.d.ts.map +1 -0
  189. package/lib/styles/tabs.js +7 -3
  190. package/lib/styles/tabs.js.map +1 -0
  191. package/lib/styles/tag.d.ts.map +1 -0
  192. package/lib/styles/tag.js +1 -2
  193. package/lib/styles/tag.js.map +1 -0
  194. package/lib/styles/textarea.d.ts.map +1 -0
  195. package/lib/styles/textarea.js.map +1 -0
  196. package/lib/styles/tooltip.d.ts.map +1 -0
  197. package/lib/styles/tooltip.js.map +1 -0
  198. package/lib/styles/wizard.d.ts +9 -5
  199. package/lib/styles/wizard.d.ts.map +1 -0
  200. package/lib/styles/wizard.js +211 -99
  201. package/lib/styles/wizard.js.map +1 -0
  202. package/lib/types/common.d.ts +2 -2
  203. package/lib/types/common.d.ts.map +1 -0
  204. package/lib/types/common.js.map +1 -0
  205. package/lib/utils/calendar-utils.d.ts.map +1 -0
  206. package/lib/utils/calendar-utils.js.map +1 -0
  207. package/lib/utils/icon-registry.d.ts.map +1 -0
  208. package/lib/utils/icon-registry.js.map +1 -0
  209. package/lib/utils/locale.d.ts.map +1 -0
  210. package/lib/utils/locale.js.map +1 -0
  211. package/lib/utils/number-format.d.ts.map +1 -0
  212. package/lib/utils/number-format.js.map +1 -0
  213. package/lib/utils/parse-boolean.d.ts +39 -0
  214. package/lib/utils/parse-boolean.d.ts.map +1 -0
  215. package/lib/utils/parse-boolean.js +23 -0
  216. package/lib/utils/parse-boolean.js.map +1 -0
  217. package/lib/utils/positioning.d.ts.map +1 -0
  218. package/lib/utils/positioning.js.map +1 -0
  219. package/lib/utils/property-capture.d.ts.map +1 -0
  220. package/lib/utils/property-capture.js.map +1 -0
  221. package/lib/utils/property-manager.d.ts +1 -1
  222. package/lib/utils/property-manager.d.ts.map +1 -0
  223. package/lib/utils/property-manager.js +2 -0
  224. package/lib/utils/property-manager.js.map +1 -0
  225. package/lib/utils/resize-observer.d.ts.map +1 -0
  226. package/lib/utils/resize-observer.js.map +1 -0
  227. package/lib/utils/scroll-lock.d.ts.map +1 -0
  228. package/lib/utils/scroll-lock.js.map +1 -0
  229. package/lib/utils/styles.d.ts.map +1 -0
  230. package/lib/utils/styles.js.map +1 -0
  231. package/lib/utils/validity.d.ts +26 -0
  232. package/lib/utils/validity.js +53 -0
  233. package/lib/version.d.ts +1 -1
  234. package/lib/version.d.ts.map +1 -0
  235. package/lib/version.js +1 -1
  236. package/lib/version.js.map +1 -0
  237. package/package.json +25 -4
@@ -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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"}
@@ -2,8 +2,8 @@
2
2
  * ty-textarea — form-associated textarea that auto-resizes to its content,
3
3
  * within optional min-height/max-height constraints.
4
4
  *
5
- * @fires {CustomEvent<{value: string, originalEvent: Event}>} input - Emitted on input
6
- * @fires {CustomEvent<{value: string, originalEvent: Event}>} change - Emitted on change
5
+ * @fires {CustomEvent<{value: string, originalEvent: Event}>} input - Emitted on every edit
6
+ * @fires {CustomEvent<{value: string, originalEvent: Event}>} change - Emitted on blur, if the value changed (like a native textarea)
7
7
  */
8
8
  import { TyComponent } from '../base/ty-component.js';
9
9
  import type { PropertyChange } from '../utils/property-manager.js';
@@ -149,8 +149,9 @@ export declare class TyTextarea extends TyComponent<TextareaState> implements Ty
149
149
  private resizeTextarea;
150
150
  private _setupScrollbar;
151
151
  private _destroyScrollbar;
152
- private emitValueEvents;
152
+ private emitValueEvent;
153
153
  private handleInputEvent;
154
+ private _valueAtFocus;
154
155
  private handleFocusEvent;
155
156
  private handleBlurEvent;
156
157
  private buildClassList;