tyrell-components 1.0.0-TC51 → 1.0.0-TC53

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 (108) hide show
  1. package/css/tyrell-theme.css +25 -2
  2. package/css/tyrell.css +4 -0
  3. package/dist/tyrell-colors-static.css +1 -316
  4. package/dist/tyrell-theme.css +1 -1443
  5. package/dist/tyrell.css +1 -1390
  6. package/dist/tyrell.js +1 -1
  7. package/lib/base/ty-component.js +196 -196
  8. package/lib/components/button.d.ts +1 -1
  9. package/lib/components/button.js +260 -259
  10. package/lib/components/calendar-month.d.ts +2 -2
  11. package/lib/components/calendar-month.js +426 -416
  12. package/lib/components/calendar-navigation.js +238 -238
  13. package/lib/components/calendar.js +605 -602
  14. package/lib/components/checkbox.d.ts +1 -1
  15. package/lib/components/checkbox.js +273 -272
  16. package/lib/components/copy.d.ts +1 -1
  17. package/lib/components/copy.js +279 -278
  18. package/lib/components/date-picker.d.ts +1 -1
  19. package/lib/components/date-picker.js +1103 -1108
  20. package/lib/components/file-upload.js +404 -404
  21. package/lib/components/icon.js +141 -141
  22. package/lib/components/input.d.ts +1 -1
  23. package/lib/components/input.js +593 -596
  24. package/lib/components/modal.js +319 -319
  25. package/lib/components/option.js +167 -167
  26. package/lib/components/popup.js +233 -233
  27. package/lib/components/radio.d.ts +2 -2
  28. package/lib/components/radio.js +407 -406
  29. package/lib/components/resize-observer.js +67 -67
  30. package/lib/components/scroll-container.js +294 -294
  31. package/lib/components/select.d.ts +1 -1
  32. package/lib/components/select.js +1524 -1532
  33. package/lib/components/selected-tags.js +184 -184
  34. package/lib/components/step.js +62 -62
  35. package/lib/components/switch.d.ts +1 -1
  36. package/lib/components/switch.js +214 -213
  37. package/lib/components/tab.js +62 -62
  38. package/lib/components/tabs.d.ts +1 -0
  39. package/lib/components/tabs.js +507 -479
  40. package/lib/components/tag.d.ts +1 -1
  41. package/lib/components/tag.js +236 -235
  42. package/lib/components/textarea.d.ts +1 -1
  43. package/lib/components/textarea.js +457 -456
  44. package/lib/components/tooltip.js +283 -283
  45. package/lib/components/wizard.js +384 -384
  46. package/lib/icons/heroicons/micro.js +392 -392
  47. package/lib/icons/heroicons/mini.js +382 -382
  48. package/lib/icons/heroicons/outline.js +337 -337
  49. package/lib/icons/heroicons/solid.js +407 -407
  50. package/lib/icons/lucide.js +22843 -22843
  51. package/lib/icons/material/filled.js +9653 -9653
  52. package/lib/icons/material/outlined.js +10271 -10271
  53. package/lib/icons/material/round.js +10495 -10495
  54. package/lib/icons/material/sharp.js +9905 -9905
  55. package/lib/icons/material/two-tone.js +12792 -12792
  56. package/lib/index.js +21 -21
  57. package/lib/styles/button.js +176 -288
  58. package/lib/styles/calendar-month.js +123 -183
  59. package/lib/styles/calendar-navigation.js +60 -79
  60. package/lib/styles/calendar.js +8 -9
  61. package/lib/styles/checkbox.js +45 -72
  62. package/lib/styles/copy.js +67 -91
  63. package/lib/styles/custom-scrollbar.js +80 -100
  64. package/lib/styles/date-picker.js +261 -331
  65. package/lib/styles/field-size.d.ts +6 -0
  66. package/lib/styles/field-size.js +91 -0
  67. package/lib/styles/file-upload.js +139 -169
  68. package/lib/styles/icon.js +92 -156
  69. package/lib/styles/input.js +125 -241
  70. package/lib/styles/modal.js +67 -102
  71. package/lib/styles/option.d.ts +1 -1
  72. package/lib/styles/option.js +47 -67
  73. package/lib/styles/popup.js +34 -65
  74. package/lib/styles/radio.js +69 -96
  75. package/lib/styles/resize-observer.js +2 -5
  76. package/lib/styles/scroll-container.js +100 -130
  77. package/lib/styles/select-base.js +525 -778
  78. package/lib/styles/select.js +140 -228
  79. package/lib/styles/step.js +22 -29
  80. package/lib/styles/switch.js +34 -55
  81. package/lib/styles/tab.d.ts +1 -1
  82. package/lib/styles/tab.js +22 -29
  83. package/lib/styles/tabs.d.ts +1 -1
  84. package/lib/styles/tabs.js +175 -237
  85. package/lib/styles/tag.js +135 -188
  86. package/lib/styles/textarea.d.ts +1 -1
  87. package/lib/styles/textarea.js +205 -271
  88. package/lib/styles/tooltip.js +3 -3
  89. package/lib/styles/wizard.js +170 -226
  90. package/lib/types/common.d.ts +2 -0
  91. package/lib/types/common.js +6 -5
  92. package/lib/utils/calendar-utils.js +100 -100
  93. package/lib/utils/custom-scrollbar.js +272 -272
  94. package/lib/utils/flavor-sheet.js +14 -14
  95. package/lib/utils/icon-registry.js +127 -127
  96. package/lib/utils/loader-registry.js +3 -3
  97. package/lib/utils/locale.js +34 -34
  98. package/lib/utils/mobile.js +1 -1
  99. package/lib/utils/number-format.js +54 -54
  100. package/lib/utils/positioning.js +212 -212
  101. package/lib/utils/property-capture.js +36 -36
  102. package/lib/utils/property-manager.js +125 -125
  103. package/lib/utils/resize-observer.js +23 -23
  104. package/lib/utils/scroll-lock.js +57 -57
  105. package/lib/utils/styles.js +17 -17
  106. package/lib/version.d.ts +1 -1
  107. package/lib/version.js +1 -1
  108. package/package.json +4 -4
@@ -1,234 +1,234 @@
1
1
  export const placements = {
2
- 'top-start': {
3
- vertical: 'top',
4
- horizontal: 'start',
5
- },
6
- 'top': {
7
- vertical: 'top',
8
- horizontal: 'center',
9
- },
10
- 'top-end': {
11
- vertical: 'top',
12
- horizontal: 'end',
13
- },
14
- 'right-start': {
15
- vertical: 'start',
16
- horizontal: 'end',
17
- orientation: 'vertical',
18
- },
19
- 'right': {
20
- vertical: 'center',
21
- horizontal: 'end',
22
- orientation: 'vertical',
23
- },
24
- 'right-end': {
25
- vertical: 'end',
26
- horizontal: 'end',
27
- orientation: 'vertical',
28
- },
29
- 'bottom-start': {
30
- vertical: 'bottom',
31
- horizontal: 'start',
32
- },
33
- 'bottom': {
34
- vertical: 'bottom',
35
- horizontal: 'center',
36
- },
37
- 'bottom-end': {
38
- vertical: 'bottom',
39
- horizontal: 'end',
40
- },
41
- 'left-start': {
42
- vertical: 'start',
43
- horizontal: 'start',
44
- orientation: 'vertical',
45
- },
46
- 'left': {
47
- vertical: 'center',
48
- horizontal: 'start',
49
- orientation: 'vertical',
50
- },
51
- 'left-end': {
52
- vertical: 'end',
53
- horizontal: 'start',
54
- orientation: 'vertical',
55
- },
2
+ 'top-start': {
3
+ vertical: 'top',
4
+ horizontal: 'start',
5
+ },
6
+ 'top': {
7
+ vertical: 'top',
8
+ horizontal: 'center',
9
+ },
10
+ 'top-end': {
11
+ vertical: 'top',
12
+ horizontal: 'end',
13
+ },
14
+ 'right-start': {
15
+ vertical: 'start',
16
+ horizontal: 'end',
17
+ orientation: 'vertical',
18
+ },
19
+ 'right': {
20
+ vertical: 'center',
21
+ horizontal: 'end',
22
+ orientation: 'vertical',
23
+ },
24
+ 'right-end': {
25
+ vertical: 'end',
26
+ horizontal: 'end',
27
+ orientation: 'vertical',
28
+ },
29
+ 'bottom-start': {
30
+ vertical: 'bottom',
31
+ horizontal: 'start',
32
+ },
33
+ 'bottom': {
34
+ vertical: 'bottom',
35
+ horizontal: 'center',
36
+ },
37
+ 'bottom-end': {
38
+ vertical: 'bottom',
39
+ horizontal: 'end',
40
+ },
41
+ 'left-start': {
42
+ vertical: 'start',
43
+ horizontal: 'start',
44
+ orientation: 'vertical',
45
+ },
46
+ 'left': {
47
+ vertical: 'center',
48
+ horizontal: 'start',
49
+ orientation: 'vertical',
50
+ },
51
+ 'left-end': {
52
+ vertical: 'end',
53
+ horizontal: 'start',
54
+ orientation: 'vertical',
55
+ },
56
56
  };
57
57
  export const placementPreferences = {
58
- default: [
59
- 'bottom-start', 'bottom-end', 'top-start', 'top-end',
60
- 'bottom', 'top', 'left', 'right'
61
- ],
62
- tooltip: [
63
- 'top', 'bottom', 'left', 'right',
64
- 'top-start', 'top-end', 'bottom-start', 'bottom-end'
65
- ],
66
- dropdown: [
67
- 'bottom-start', 'bottom-end', 'top-start', 'top-end',
68
- 'bottom', 'top', 'right', 'left'
69
- ],
58
+ default: [
59
+ 'bottom-start', 'bottom-end', 'top-start', 'top-end',
60
+ 'bottom', 'top', 'left', 'right'
61
+ ],
62
+ tooltip: [
63
+ 'top', 'bottom', 'left', 'right',
64
+ 'top-start', 'top-end', 'bottom-start', 'bottom-end'
65
+ ],
66
+ dropdown: [
67
+ 'bottom-start', 'bottom-end', 'top-start', 'top-end',
68
+ 'bottom', 'top', 'right', 'left'
69
+ ],
70
70
  };
71
71
  const OPPOSITE_SIDE = {
72
- top: 'bottom',
73
- bottom: 'top',
74
- left: 'right',
75
- right: 'left',
72
+ top: 'bottom',
73
+ bottom: 'top',
74
+ left: 'right',
75
+ right: 'left',
76
76
  };
77
77
  export function parsePlacement(placement) {
78
- const [side, align] = placement.split('-');
79
- return { side, align };
78
+ const [side, align] = placement.split('-');
79
+ return { side, align };
80
80
  }
81
81
  export function preferenceChain(placement) {
82
- const { side, align } = parsePlacement(placement);
83
- const opposite = OPPOSITE_SIDE[side];
84
- const perpendicular = side === 'top' || side === 'bottom' ? ['right', 'left'] : ['bottom', 'top'];
85
- const exact = (s) => (align ? `${s}-${align}` : s);
86
- const rest = (s) => (align
87
- ? [s, `${s}-${align === 'start' ? 'end' : 'start'}`]
88
- : [`${s}-start`, `${s}-end`]);
89
- return [
90
- exact(side),
91
- exact(opposite),
92
- ...rest(side),
93
- ...rest(opposite),
94
- ...perpendicular.flatMap((s) => [exact(s), ...rest(s)]),
95
- ];
82
+ const { side, align } = parsePlacement(placement);
83
+ const opposite = OPPOSITE_SIDE[side];
84
+ const perpendicular = side === 'top' || side === 'bottom' ? ['right', 'left'] : ['bottom', 'top'];
85
+ const exact = (s) => (align ? `${s}-${align}` : s);
86
+ const rest = (s) => (align
87
+ ? [s, `${s}-${align === 'start' ? 'end' : 'start'}`]
88
+ : [`${s}-start`, `${s}-end`]);
89
+ return [
90
+ exact(side),
91
+ exact(opposite),
92
+ ...rest(side),
93
+ ...rest(opposite),
94
+ ...perpendicular.flatMap((s) => [exact(s), ...rest(s)]),
95
+ ];
96
96
  }
97
97
  export function placementToAnchored(placement) {
98
- if (!placement)
99
- return { side: 'auto', align: 'start' };
100
- const { side, align } = parsePlacement(placement);
101
- return {
102
- side: side === 'top' || side === 'bottom' ? side : 'auto',
103
- align: align ?? 'start',
104
- };
98
+ if (!placement)
99
+ return { side: 'auto', align: 'start' };
100
+ const { side, align } = parsePlacement(placement);
101
+ return {
102
+ side: side === 'top' || side === 'bottom' ? side : 'auto',
103
+ align: align ?? 'start',
104
+ };
105
105
  }
106
106
  function getElementRect(el) {
107
- const rect = el.getBoundingClientRect();
108
- return {
109
- top: rect.top,
110
- left: rect.left,
111
- right: rect.right,
112
- bottom: rect.bottom,
113
- width: rect.width,
114
- height: rect.height,
115
- centerX: rect.left + rect.width / 2,
116
- centerY: rect.top + rect.height / 2,
117
- };
107
+ const rect = el.getBoundingClientRect();
108
+ return {
109
+ top: rect.top,
110
+ left: rect.left,
111
+ right: rect.right,
112
+ bottom: rect.bottom,
113
+ width: rect.width,
114
+ height: rect.height,
115
+ centerX: rect.left + rect.width / 2,
116
+ centerY: rect.top + rect.height / 2,
117
+ };
118
118
  }
119
119
  function getViewportRect() {
120
- return {
121
- width: window.innerWidth,
122
- height: window.innerHeight,
123
- scrollX: window.scrollX,
124
- scrollY: window.scrollY,
125
- };
120
+ return {
121
+ width: window.innerWidth,
122
+ height: window.innerHeight,
123
+ scrollX: window.scrollX,
124
+ scrollY: window.scrollY,
125
+ };
126
126
  }
127
127
  function calculatePlacement(options) {
128
- const { targetRect, floatingRect, placement, offset, padding, scrollbarWidth, containerPadding, } = options;
129
- const config = placements[placement];
130
- const { vertical, horizontal, orientation } = config;
131
- const viewport = getViewportRect();
132
- let x;
133
- if (orientation === 'vertical') {
134
- if (horizontal === 'start') {
135
- x = targetRect.left - floatingRect.width - offset + containerPadding;
136
- }
137
- else {
138
- x = targetRect.right + offset - containerPadding;
139
- }
140
- }
141
- else {
142
- if (horizontal === 'start') {
143
- x = targetRect.left - containerPadding;
144
- }
145
- else if (horizontal === 'center') {
146
- x = targetRect.centerX - floatingRect.width / 2;
147
- }
148
- else {
149
- x = targetRect.right - floatingRect.width + containerPadding;
150
- }
151
- }
152
- let y;
153
- if (orientation === 'vertical') {
154
- if (vertical === 'center') {
155
- y = targetRect.centerY - floatingRect.height / 2;
156
- }
157
- else if (vertical === 'end') {
158
- y = targetRect.bottom - floatingRect.height + containerPadding;
159
- }
160
- else {
161
- y = targetRect.top - containerPadding;
162
- }
163
- }
164
- else {
165
- if (vertical === 'top') {
166
- y = targetRect.top - floatingRect.height - offset + containerPadding;
167
- }
168
- else {
169
- y = targetRect.bottom + offset - containerPadding;
170
- }
171
- }
172
- const overflow = {
173
- top: Math.min(0, y - padding),
174
- left: Math.min(0, x - padding),
175
- bottom: Math.min(0, viewport.height - (y + floatingRect.height + padding)),
176
- right: Math.min(0, viewport.width - (x + floatingRect.width + padding + scrollbarWidth)),
177
- };
178
- const overflowAmount = Object.values(overflow).reduce((sum, val) => sum + Math.abs(val), 0);
179
- return {
180
- x: Math.round(x),
181
- y: Math.round(y),
182
- placement,
183
- overflow,
184
- overflowAmount,
185
- fits: overflowAmount === 0,
186
- };
128
+ const { targetRect, floatingRect, placement, offset, padding, scrollbarWidth, containerPadding, } = options;
129
+ const config = placements[placement];
130
+ const { vertical, horizontal, orientation } = config;
131
+ const viewport = getViewportRect();
132
+ let x;
133
+ if (orientation === 'vertical') {
134
+ if (horizontal === 'start') {
135
+ x = targetRect.left - floatingRect.width - offset + containerPadding;
136
+ }
137
+ else {
138
+ x = targetRect.right + offset - containerPadding;
139
+ }
140
+ }
141
+ else {
142
+ if (horizontal === 'start') {
143
+ x = targetRect.left - containerPadding;
144
+ }
145
+ else if (horizontal === 'center') {
146
+ x = targetRect.centerX - floatingRect.width / 2;
147
+ }
148
+ else {
149
+ x = targetRect.right - floatingRect.width + containerPadding;
150
+ }
151
+ }
152
+ let y;
153
+ if (orientation === 'vertical') {
154
+ if (vertical === 'center') {
155
+ y = targetRect.centerY - floatingRect.height / 2;
156
+ }
157
+ else if (vertical === 'end') {
158
+ y = targetRect.bottom - floatingRect.height + containerPadding;
159
+ }
160
+ else {
161
+ y = targetRect.top - containerPadding;
162
+ }
163
+ }
164
+ else {
165
+ if (vertical === 'top') {
166
+ y = targetRect.top - floatingRect.height - offset + containerPadding;
167
+ }
168
+ else {
169
+ y = targetRect.bottom + offset - containerPadding;
170
+ }
171
+ }
172
+ const overflow = {
173
+ top: Math.min(0, y - padding),
174
+ left: Math.min(0, x - padding),
175
+ bottom: Math.min(0, viewport.height - (y + floatingRect.height + padding)),
176
+ right: Math.min(0, viewport.width - (x + floatingRect.width + padding + scrollbarWidth)),
177
+ };
178
+ const overflowAmount = Object.values(overflow).reduce((sum, val) => sum + Math.abs(val), 0);
179
+ return {
180
+ x: Math.round(x),
181
+ y: Math.round(y),
182
+ placement,
183
+ overflow,
184
+ overflowAmount,
185
+ fits: overflowAmount === 0,
186
+ };
187
187
  }
188
188
  export function findBestPosition(options) {
189
- const { targetEl, floatingEl, preferences = placementPreferences.default, offset = 8, padding = 8, containerPadding = 0, } = options;
190
- const targetRect = getElementRect(targetEl);
191
- const floatingRect = getElementRect(floatingEl);
192
- const scrollbarWidth = 15;
193
- const candidates = preferences.map(placement => calculatePlacement({
194
- targetRect,
195
- floatingRect,
196
- placement,
197
- offset,
198
- padding,
199
- containerPadding,
200
- scrollbarWidth,
201
- }));
202
- const bestPosition = candidates.find(c => c.fits) ||
203
- candidates.reduce((best, current) => current.overflowAmount < best.overflowAmount ? current : best);
204
- if (bestPosition.overflow.right < 0) {
205
- bestPosition.x += bestPosition.overflow.right;
206
- }
207
- return bestPosition;
189
+ const { targetEl, floatingEl, preferences = placementPreferences.default, offset = 8, padding = 8, containerPadding = 0, } = options;
190
+ const targetRect = getElementRect(targetEl);
191
+ const floatingRect = getElementRect(floatingEl);
192
+ const scrollbarWidth = 15;
193
+ const candidates = preferences.map(placement => calculatePlacement({
194
+ targetRect,
195
+ floatingRect,
196
+ placement,
197
+ offset,
198
+ padding,
199
+ containerPadding,
200
+ scrollbarWidth,
201
+ }));
202
+ const bestPosition = candidates.find(c => c.fits) ||
203
+ candidates.reduce((best, current) => current.overflowAmount < best.overflowAmount ? current : best);
204
+ if (bestPosition.overflow.right < 0) {
205
+ bestPosition.x += bestPosition.overflow.right;
206
+ }
207
+ return bestPosition;
208
208
  }
209
209
  export function computeAnchoredPosition(o) {
210
- const gap = o.gap ?? 4;
211
- const padding = o.padding ?? 8;
212
- const vw = window.innerWidth;
213
- const vh = window.innerHeight;
214
- const spaceBelow = vh - o.anchorRect.bottom;
215
- const spaceAbove = o.anchorRect.top;
216
- const needed = o.popupHeight + gap + padding;
217
- const fitsBelow = spaceBelow >= needed;
218
- const fitsAbove = spaceAbove >= needed;
219
- const side = o.side ?? "auto";
220
- const below = side === "bottom" ? (fitsBelow || !fitsAbove ? true : false)
221
- : side === "top" ? (fitsAbove || !fitsBelow ? false : true)
222
- : fitsBelow || spaceBelow >= spaceAbove;
223
- const rawX = o.align === "end" ? o.anchorRect.right - o.popupWidth
224
- : o.align === "center"
225
- ? o.anchorRect.left + (o.anchorRect.width - o.popupWidth) / 2
226
- : o.anchorRect.left;
227
- const x = Math.max(padding, Math.min(rawX, vw - o.popupWidth - padding));
228
- return {
229
- x,
230
- topY: o.anchorRect.bottom + gap,
231
- bottomY: vh - o.anchorRect.top + gap,
232
- below,
233
- };
210
+ const gap = o.gap ?? 4;
211
+ const padding = o.padding ?? 8;
212
+ const vw = window.innerWidth;
213
+ const vh = window.innerHeight;
214
+ const spaceBelow = vh - o.anchorRect.bottom;
215
+ const spaceAbove = o.anchorRect.top;
216
+ const needed = o.popupHeight + gap + padding;
217
+ const fitsBelow = spaceBelow >= needed;
218
+ const fitsAbove = spaceAbove >= needed;
219
+ const side = o.side ?? "auto";
220
+ const below = side === "bottom" ? (fitsBelow || !fitsAbove ? true : false)
221
+ : side === "top" ? (fitsAbove || !fitsBelow ? false : true)
222
+ : fitsBelow || spaceBelow >= spaceAbove;
223
+ const rawX = o.align === "end" ? o.anchorRect.right - o.popupWidth
224
+ : o.align === "center"
225
+ ? o.anchorRect.left + (o.anchorRect.width - o.popupWidth) / 2
226
+ : o.anchorRect.left;
227
+ const x = Math.max(padding, Math.min(rawX, vw - o.popupWidth - padding));
228
+ return {
229
+ x,
230
+ topY: o.anchorRect.bottom + gap,
231
+ bottomY: vh - o.anchorRect.top + gap,
232
+ below,
233
+ };
234
234
  }
@@ -1,44 +1,44 @@
1
1
  export function capturePreSetProperties(element, propertyNames, options = { cleanup: true }) {
2
- const captured = {};
3
- for (const name of propertyNames) {
4
- const descriptor = Object.getOwnPropertyDescriptor(element, name);
5
- captured[name] = {
6
- name,
7
- value: descriptor?.value,
8
- hadProperty: descriptor !== undefined && descriptor.value !== undefined
9
- };
10
- if (options.cleanup && captured[name].hadProperty) {
11
- delete element[name];
12
- }
13
- }
14
- return captured;
2
+ const captured = {};
3
+ for (const name of propertyNames) {
4
+ const descriptor = Object.getOwnPropertyDescriptor(element, name);
5
+ captured[name] = {
6
+ name,
7
+ value: descriptor?.value,
8
+ hadProperty: descriptor !== undefined && descriptor.value !== undefined
9
+ };
10
+ if (options.cleanup && captured[name].hadProperty) {
11
+ delete element[name];
12
+ }
13
+ }
14
+ return captured;
15
15
  }
16
16
  export function getCapturedValues(element, propertyNames, options) {
17
- const captured = capturePreSetProperties(element, propertyNames, options);
18
- const values = {};
19
- for (const [name, data] of Object.entries(captured)) {
20
- if (data.hadProperty) {
21
- values[name] = data.value;
22
- }
23
- }
24
- return values;
17
+ const captured = capturePreSetProperties(element, propertyNames, options);
18
+ const values = {};
19
+ for (const [name, data] of Object.entries(captured)) {
20
+ if (data.hadProperty) {
21
+ values[name] = data.value;
22
+ }
23
+ }
24
+ return values;
25
25
  }
26
26
  export function applyPreSetProperties(element, propertyNames, propertyMap, options) {
27
- const captured = capturePreSetProperties(element, propertyNames, options);
28
- for (const [name, data] of Object.entries(captured)) {
29
- if (data.hadProperty) {
30
- const privateName = propertyMap?.[name] || `_${name}`;
31
- element[privateName] = data.value;
32
- }
33
- }
27
+ const captured = capturePreSetProperties(element, propertyNames, options);
28
+ for (const [name, data] of Object.entries(captured)) {
29
+ if (data.hadProperty) {
30
+ const privateName = propertyMap?.[name] || `_${name}`;
31
+ element[privateName] = data.value;
32
+ }
33
+ }
34
34
  }
35
35
  export function captureAndApplyProperties(element, propertyNames, transformer, options) {
36
- const captured = capturePreSetProperties(element, propertyNames, options);
37
- for (const [name, data] of Object.entries(captured)) {
38
- if (data.hadProperty) {
39
- const privateName = `_${name}`;
40
- const value = transformer ? transformer(name, data.value) : data.value;
41
- element[privateName] = value;
42
- }
43
- }
36
+ const captured = capturePreSetProperties(element, propertyNames, options);
37
+ for (const [name, data] of Object.entries(captured)) {
38
+ if (data.hadProperty) {
39
+ const privateName = `_${name}`;
40
+ const value = transformer ? transformer(name, data.value) : data.value;
41
+ element[privateName] = value;
42
+ }
43
+ }
44
44
  }