ripple 0.3.20 → 0.3.22

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.
@@ -36,7 +36,7 @@ export component Test() {
36
36
  const { css } = compile(source, 'test.tsrx');
37
37
 
38
38
  expect(css).toContain('[data-test] {');
39
- expect(css).toMatch(/div\.ripple-[a-z0-9]+\[data-foo="bar"\]/);
39
+ expect(css).toMatch(/div\.tsrx-[a-z0-9]+\[data-foo="bar"\]/);
40
40
  });
41
41
 
42
42
  it('handles :global with universal selector', () => {
@@ -57,7 +57,7 @@ export component Test() {
57
57
  const { css } = compile(source, 'test.tsrx');
58
58
 
59
59
  expect(css).toContain('* {');
60
- expect(css).toMatch(/div\.ripple-[a-z0-9]+ \* {/);
60
+ expect(css).toMatch(/div\.tsrx-[a-z0-9]+ \* {/);
61
61
  });
62
62
 
63
63
  it('handles :global with ID selectors', () => {
@@ -78,9 +78,9 @@ export component Test() {
78
78
  const { css } = compile(source, 'test.tsrx');
79
79
 
80
80
  expect(css).toContain('#app {');
81
- expect(css).toMatch(/div\.ripple-[a-z0-9]+ #test {/);
82
- expect(css).not.toMatch(/#app\.ripple-[a-z0-9]+/);
83
- expect(css).not.toMatch(/#test\.ripple-[a-z0-9]+/);
81
+ expect(css).toMatch(/div\.tsrx-[a-z0-9]+ #test {/);
82
+ expect(css).not.toMatch(/#app\.tsrx-[a-z0-9]+/);
83
+ expect(css).not.toMatch(/#test\.tsrx-[a-z0-9]+/);
84
84
  });
85
85
 
86
86
  it('handles :global with pseudo-elements', () => {
@@ -102,7 +102,7 @@ export component Test() {
102
102
 
103
103
  expect(css).toContain('div::before {');
104
104
  ``;
105
- expect(css).toMatch(/div\.ripple-[a-z0-9]+ span::after {/);
105
+ expect(css).toMatch(/div\.tsrx-[a-z0-9]+ span::after {/);
106
106
  });
107
107
 
108
108
  it('handles empty :global blocks', () => {
@@ -121,7 +121,7 @@ export component Test() {
121
121
  const { css } = compile(source, 'test.tsrx');
122
122
 
123
123
  expect(css).toContain('color: red');
124
- expect(css).toMatch(/div\.ripple-[a-z0-9]+ {/);
124
+ expect(css).toMatch(/div\.tsrx-[a-z0-9]+ {/);
125
125
  });
126
126
 
127
127
  it('handles :global with complex selector chains', () => {
@@ -145,8 +145,8 @@ export component Test() {
145
145
  }`;
146
146
  const { css } = compile(source, 'test.tsrx');
147
147
 
148
- expect(css).toMatch(/div\.container > span.wrapper\.ripple-[a-z0-9]+ \+ button\[disabled\] {/);
149
- expect(css).toMatch(/\.foo > \.bar span\.ripple-[a-z0-9]+ {/);
148
+ expect(css).toMatch(/div\.container > span.wrapper\.tsrx-[a-z0-9]+ \+ button\[disabled\] {/);
149
+ expect(css).toMatch(/\.foo > \.bar span\.tsrx-[a-z0-9]+ {/);
150
150
  });
151
151
 
152
152
  it('rejects :global in the middle of a selector sequence', () => {
@@ -193,8 +193,8 @@ export component Test() {
193
193
  }`;
194
194
  const { css } = compile(source, 'test.tsrx');
195
195
 
196
- expect(css).toMatch(/html div\.ripple-[a-z0-9]+ span:where\(\.ripple-[a-z0-9]+\) {/);
197
- expect(css).toMatch(/div\.ripple-[a-z0-9]+ span:where\(\.ripple-[a-z0-9]+\) strong {/);
198
- expect(css).toMatch(/body div\.ripple-[a-z0-9]+ em {/);
196
+ expect(css).toMatch(/html div\.tsrx-[a-z0-9]+ span:where\(\.tsrx-[a-z0-9]+\) {/);
197
+ expect(css).toMatch(/div\.tsrx-[a-z0-9]+ span:where\(\.tsrx-[a-z0-9]+\) strong {/);
198
+ expect(css).toMatch(/body div\.tsrx-[a-z0-9]+ em {/);
199
199
  });
200
200
  });
@@ -38,7 +38,7 @@ export component Test() {
38
38
  }`;
39
39
  const { css } = compile(source, 'test.tsrx');
40
40
 
41
- expect(css).toMatch(/@keyframes ripple-[a-z0-9]+-foo/);
41
+ expect(css).toMatch(/@keyframes tsrx-[a-z0-9]+-foo/);
42
42
  });
43
43
 
44
44
  it('handles mix of global and scoped keyframes', () => {
@@ -71,9 +71,9 @@ export component Test() {
71
71
 
72
72
  expect(css).toContain('@keyframes fadeIn');
73
73
  expect(css).not.toContain('-global-fadeIn');
74
- expect(css).toMatch(/@keyframes ripple-[a-z0-9]+-slideIn/);
75
- expect(css).toMatch(/\.scoped-anim\.ripple-[a-z0-9]+/);
76
- expect(css).toMatch(/\.global-anim\.ripple-[a-z0-9]+/);
74
+ expect(css).toMatch(/@keyframes tsrx-[a-z0-9]+-slideIn/);
75
+ expect(css).toMatch(/\.scoped-anim\.tsrx-[a-z0-9]+/);
76
+ expect(css).toMatch(/\.global-anim\.tsrx-[a-z0-9]+/);
77
77
  });
78
78
 
79
79
  it('handles multiple animations with global keyframes', () => {
@@ -137,20 +137,20 @@ component Child() {
137
137
  const { css } = compile(source, 'test.tsrx');
138
138
 
139
139
  // Parent should have scoped slideIn and global fadeIn
140
- expect(css).toMatch(/@keyframes ripple-[a-z0-9]+-slideIn/);
140
+ expect(css).toMatch(/@keyframes tsrx-[a-z0-9]+-slideIn/);
141
141
  expect(css).toContain('@keyframes fadeIn');
142
142
  expect(css).not.toContain('-global-fadeIn');
143
143
 
144
144
  // Parent .parent should reference scoped slideIn
145
145
  expect(css).toMatch(
146
- /\.parent\.ripple-[a-z0-9]+\s*{[\s\S]*?animation:\s*ripple-[a-z0-9]+-slideIn 1s/,
146
+ /\.parent\.tsrx-[a-z0-9]+\s*{[\s\S]*?animation:\s*tsrx-[a-z0-9]+-slideIn 1s/,
147
147
  );
148
148
 
149
149
  // .parent should NOT be marked as unused
150
150
  expect(css).not.toContain('(unused) .parent');
151
151
 
152
152
  // Child .child should reference global fadeIn
153
- expect(css).toMatch(/\.child\.ripple-[a-z0-9]+\s*{[\s\S]*?animation:\s*fadeIn 3s/);
153
+ expect(css).toMatch(/\.child\.tsrx-[a-z0-9]+\s*{[\s\S]*?animation:\s*fadeIn 3s/);
154
154
 
155
155
  // .child should NOT be marked as unused
156
156
  expect(css).not.toContain('(unused) .child');
@@ -34,12 +34,12 @@ export component Test() {
34
34
  }`;
35
35
  const { css } = compile(source, 'test.tsrx');
36
36
 
37
- expect(css).toMatch(/div\.ripple-[a-z0-9]+ {/);
37
+ expect(css).toMatch(/div\.tsrx-[a-z0-9]+ {/);
38
38
  expect(css).toContain('.x {');
39
39
  expect(css).toContain('.y {');
40
- expect(css).not.toMatch(/\.x\.ripple-[a-z0-9]+/);
41
- expect(css).not.toMatch(/\.y\.ripple-[a-z0-9]+/);
42
- expect(css).toMatch(/p\.ripple-[a-z0-9]+ \.y {/);
40
+ expect(css).not.toMatch(/\.x\.tsrx-[a-z0-9]+/);
41
+ expect(css).not.toMatch(/\.y\.tsrx-[a-z0-9]+/);
42
+ expect(css).toMatch(/p\.tsrx-[a-z0-9]+ \.y {/);
43
43
  });
44
44
 
45
45
  it('handles :global with nesting selector', () => {
@@ -70,7 +70,7 @@ export component Test() {
70
70
  const { css } = compile(source, 'test.tsrx');
71
71
 
72
72
  expect(css).toContain('&.x {');
73
- expect(css).toMatch(/div\.ripple-[a-z0-9]+\.x {/);
73
+ expect(css).toMatch(/div\.tsrx-[a-z0-9]+\.x {/);
74
74
  });
75
75
 
76
76
  it('handles global block with de-nested syntax', () => {
@@ -96,7 +96,7 @@ export component Test() {
96
96
 
97
97
  expect(css).toContain('div {');
98
98
  expect(css).toContain('.y {');
99
- expect(css).toMatch(/div\.ripple-[a-z0-9]+ p {/);
99
+ expect(css).toMatch(/div\.tsrx-[a-z0-9]+ p {/);
100
100
  });
101
101
 
102
102
  it('handles global local nested combinations', () => {
@@ -121,8 +121,8 @@ export component Test() {
121
121
  const { css } = compile(source, 'test.tsrx');
122
122
 
123
123
  expect(css).toContain('.whatever {');
124
- expect(css).not.toMatch(/\.whatever\.ripple-[a-z0-9]+ {/);
125
- expect(css).toMatch(/div\.ripple-[a-z0-9]+ {/);
124
+ expect(css).not.toMatch(/\.whatever\.tsrx-[a-z0-9]+ {/);
125
+ expect(css).toMatch(/div\.tsrx-[a-z0-9]+ {/);
126
126
  });
127
127
 
128
128
  it('handles :global with :is and :where pseudoclasses', () => {
@@ -144,7 +144,7 @@ export component Test() {
144
144
  }`;
145
145
  const { css } = compile(source, 'test.tsrx');
146
146
 
147
- expect(css).toMatch(/div\.ripple-[a-z0-9]+ :is\(span\) {/);
148
- expect(css).toMatch(/\.foo :is\(div\.ripple-[a-z0-9]+\) {/);
147
+ expect(css).toMatch(/div\.tsrx-[a-z0-9]+ :is\(span\) {/);
148
+ expect(css).toMatch(/\.foo :is\(div\.tsrx-[a-z0-9]+\) {/);
149
149
  });
150
150
  });
@@ -20,7 +20,7 @@ export component Test() {
20
20
  }`;
21
21
  const { css } = compile(source, 'test.tsrx');
22
22
 
23
- expect(css).toMatch(/div\.ripple-[a-z0-9]+:has\(span\)/);
23
+ expect(css).toMatch(/div\.tsrx-[a-z0-9]+:has\(span\)/);
24
24
  expect(css).toContain('div:has(span)');
25
25
  });
26
26
 
@@ -44,7 +44,7 @@ export component Test() {
44
44
  }`;
45
45
  const { css } = compile(source, 'test.tsrx');
46
46
 
47
- expect(css).toMatch(/div\.ripple-[a-z0-9]+ :is\(span, p:where\(\.ripple-[a-z0-9]+\)\) {/);
47
+ expect(css).toMatch(/div\.tsrx-[a-z0-9]+ :is\(span, p:where\(\.tsrx-[a-z0-9]+\)\) {/);
48
48
  expect(css).not.toMatch(/span:where/);
49
49
  expect(css).not.toMatch(/span\.ripple/);
50
50
  expect(css).toContain('div:is(.foo, .bar)');
@@ -70,7 +70,7 @@ export component Test() {
70
70
  }`;
71
71
  const { css } = compile(source, 'test.tsrx');
72
72
 
73
- expect(css).toMatch(/div\.ripple-[a-z0-9]+ :where\(span, p:where\(\.ripple-[a-z0-9]+\)\) {/);
73
+ expect(css).toMatch(/div\.tsrx-[a-z0-9]+ :where\(span, p:where\(\.tsrx-[a-z0-9]+\)\) {/);
74
74
  expect(css).not.toMatch(/span:where/);
75
75
  expect(css).not.toMatch(/span\.ripple/);
76
76
  expect(css).toContain('div:where(.foo, .bar)');
@@ -95,7 +95,7 @@ export component Test() {
95
95
  }`;
96
96
  const { css } = compile(source, 'test.tsrx');
97
97
 
98
- expect(css).toMatch(/div\.ripple-[a-z0-9]+:not\(span\)/);
98
+ expect(css).toMatch(/div\.tsrx-[a-z0-9]+:not\(span\)/);
99
99
  expect(css).toContain('div:not(.foo)');
100
100
  });
101
101
 
@@ -118,7 +118,7 @@ export component Test() {
118
118
  }`;
119
119
  const { css } = compile(source, 'test.tsrx');
120
120
 
121
- expect(css).toMatch(/div\.ripple-[a-z0-9]+:is\(:where\(\.ripple-[a-z0-9]+\):has\(span\)\) {/);
121
+ expect(css).toMatch(/div\.tsrx-[a-z0-9]+:is\(:where\(\.tsrx-[a-z0-9]+\):has\(span\)\) {/);
122
122
  expect(css).toContain('div:where(:is(.foo))');
123
123
  });
124
124
 
@@ -148,8 +148,8 @@ export component Test() {
148
148
  const { css } = compile(source, 'test.tsrx');
149
149
 
150
150
  expect(css).toContain('span:nth-child(2) {');
151
- expect(css).toMatch(/div\.ripple-[a-z0-9]+ > span:first-child {/);
151
+ expect(css).toMatch(/div\.tsrx-[a-z0-9]+ > span:first-child {/);
152
152
  expect(css).toContain('div:last-child {');
153
- expect(css).not.toMatch(/span\.ripple-[a-z0-9]+:nth-child/);
153
+ expect(css).not.toMatch(/span\.tsrx-[a-z0-9]+:nth-child/);
154
154
  });
155
155
  });
@@ -14,7 +14,7 @@ export component Test() {
14
14
  }`;
15
15
  const { css } = compile(source, 'test.tsrx');
16
16
 
17
- expect(css).toMatch(/\.scoped\.ripple-[a-z0-9]+/);
17
+ expect(css).toMatch(/\.scoped\.tsrx-[a-z0-9]+/);
18
18
  expect(css).not.toContain('.scoped {');
19
19
  });
20
20
 
@@ -32,7 +32,7 @@ export component Test() {
32
32
  const { css } = compile(source, 'test.tsrx');
33
33
 
34
34
  expect(css).toContain('.global {');
35
- expect(css).not.toMatch(/\.global\.ripple-[a-z0-9]+/);
35
+ expect(css).not.toMatch(/\.global\.tsrx-[a-z0-9]+/);
36
36
  });
37
37
 
38
38
  it('verifies mixed local and global maintain proper scoping', () => {
@@ -66,11 +66,11 @@ export component Test() {
66
66
  }`;
67
67
  const { css } = compile(source, 'test.tsrx');
68
68
 
69
- expect(css).toMatch(/\.outer\.ripple-[a-z0-9]+ {/);
69
+ expect(css).toMatch(/\.outer\.tsrx-[a-z0-9]+ {/);
70
70
  expect(css).toMatch(/\.outer {/);
71
- expect(css).toMatch(/\.outer\.ripple-[a-z0-9]+ \.inner:where\(\.ripple-[a-z0-9]+\) {/);
72
- expect(css).toMatch(/\.outer \.inner\.ripple-[a-z0-9]+/);
73
- expect(css).toMatch(/\.outer\.ripple-[a-z0-9]+ \.inner {/);
71
+ expect(css).toMatch(/\.outer\.tsrx-[a-z0-9]+ \.inner:where\(\.tsrx-[a-z0-9]+\) {/);
72
+ expect(css).toMatch(/\.outer \.inner\.tsrx-[a-z0-9]+/);
73
+ expect(css).toMatch(/\.outer\.tsrx-[a-z0-9]+ \.inner {/);
74
74
  });
75
75
 
76
76
  it('verifies :global blocks scope all nested selectors globally', () => {
@@ -103,9 +103,9 @@ export component Test() {
103
103
  expect(css).toContain('div {');
104
104
  expect(css).toContain('span {');
105
105
  expect(css).toContain('button {');
106
- expect(css).not.toMatch(/div\.ripple-[a-z0-9]+/);
107
- expect(css).not.toMatch(/span\.ripple-[a-z0-9]+/);
108
- expect(css).not.toMatch(/button\.ripple-[a-z0-9]+/);
106
+ expect(css).not.toMatch(/div\.tsrx-[a-z0-9]+/);
107
+ expect(css).not.toMatch(/span\.tsrx-[a-z0-9]+/);
108
+ expect(css).not.toMatch(/button\.tsrx-[a-z0-9]+/);
109
109
  });
110
110
 
111
111
  it('verifies element selectors are scoped by default', () => {
@@ -133,9 +133,9 @@ export component Test() {
133
133
  }`;
134
134
  const { css } = compile(source, 'test.tsrx');
135
135
 
136
- expect(css).toMatch(/div\.ripple-[a-z0-9]+/);
137
- expect(css).toMatch(/span\.ripple-[a-z0-9]+/);
138
- expect(css).toMatch(/button\.ripple-[a-z0-9]+/);
136
+ expect(css).toMatch(/div\.tsrx-[a-z0-9]+/);
137
+ expect(css).toMatch(/span\.tsrx-[a-z0-9]+/);
138
+ expect(css).toMatch(/button\.tsrx-[a-z0-9]+/);
139
139
  });
140
140
 
141
141
  it('verifies :global() escapes only the wrapped selector', () => {
@@ -155,8 +155,8 @@ export component Test() {
155
155
  }`;
156
156
  const { css } = compile(source, 'test.tsrx');
157
157
 
158
- expect(css).toMatch(/\.local\.ripple-[a-z0-9]+ \.global \.local {/);
159
- expect(css).not.toMatch(/\.global\.ripple-[a-z0-9]+/);
158
+ expect(css).toMatch(/\.local\.tsrx-[a-z0-9]+ \.global \.local {/);
159
+ expect(css).not.toMatch(/\.global\.tsrx-[a-z0-9]+/);
160
160
  });
161
161
 
162
162
  it('verifies multiple components have different scope hashes', () => {
@@ -183,11 +183,11 @@ export component Test2() {
183
183
  const { css: css1 } = compile(source1, 'test1.tsrx');
184
184
  const { css: css2 } = compile(source2, 'test2.tsrx');
185
185
 
186
- expect(css1).toMatch(/\.test\.ripple-[a-z0-9]+/);
187
- expect(css2).toMatch(/\.test\.ripple-[a-z0-9]+/);
186
+ expect(css1).toMatch(/\.test\.tsrx-[a-z0-9]+/);
187
+ expect(css2).toMatch(/\.test\.tsrx-[a-z0-9]+/);
188
188
 
189
- const hash1Match = css1.match(/\.test\.ripple-([a-z0-9]+)/);
190
- const hash2Match = css2.match(/\.test\.ripple-([a-z0-9]+)/);
189
+ const hash1Match = css1.match(/\.test\.tsrx-([a-z0-9]+)/);
190
+ const hash2Match = css2.match(/\.test\.tsrx-([a-z0-9]+)/);
191
191
 
192
192
  expect(hash1Match).toBeTruthy();
193
193
  expect(hash2Match).toBeTruthy();
@@ -222,8 +222,8 @@ export component Test2() {
222
222
  const { css: css2 } = compile(source2, 'test2.tsrx');
223
223
 
224
224
  expect(css1).toContain('.global {');
225
- expect(css1).not.toMatch(/\.global\.ripple-[a-z0-9]+/);
225
+ expect(css1).not.toMatch(/\.global\.tsrx-[a-z0-9]+/);
226
226
  expect(css2).toContain('.global {');
227
- expect(css2).not.toMatch(/\.global\.ripple-[a-z0-9]+/);
227
+ expect(css2).not.toMatch(/\.global\.tsrx-[a-z0-9]+/);
228
228
  });
229
229
  });
@@ -24,7 +24,7 @@ describe('#style identifier', () => {
24
24
  expect(div).toBeTruthy();
25
25
  expect(div.textContent).toBe('styled child');
26
26
  const classes = Array.from(div.classList);
27
- expect(classes.some((cls: string) => cls.startsWith('ripple-'))).toBe(true);
27
+ expect(classes.some((cls: string) => cls.startsWith('tsrx-'))).toBe(true);
28
28
  expect(classes.some((cls: string) => cls === 'highlight')).toBe(true);
29
29
  });
30
30
 
@@ -56,11 +56,11 @@ describe('#style identifier', () => {
56
56
  expect(span).toBeTruthy();
57
57
 
58
58
  const divClasses = Array.from(div.classList);
59
- expect(divClasses.some((cls: string) => cls.startsWith('ripple-'))).toBe(true);
59
+ expect(divClasses.some((cls: string) => cls.startsWith('tsrx-'))).toBe(true);
60
60
  expect(divClasses.some((cls: string) => cls === 'primary')).toBe(true);
61
61
 
62
62
  const spanClasses = Array.from(span.classList);
63
- expect(spanClasses.some((cls: string) => cls.startsWith('ripple-'))).toBe(true);
63
+ expect(spanClasses.some((cls: string) => cls.startsWith('tsrx-'))).toBe(true);
64
64
  expect(spanClasses.some((cls: string) => cls === 'secondary')).toBe(true);
65
65
  });
66
66
 
@@ -87,7 +87,7 @@ describe('#style identifier', () => {
87
87
  const span = container.querySelector('span');
88
88
  expect(span).toBeTruthy();
89
89
  const classes = Array.from(span.classList);
90
- expect(classes.some((cls: string) => cls.startsWith('ripple-'))).toBe(true);
90
+ expect(classes.some((cls: string) => cls.startsWith('tsrx-'))).toBe(true);
91
91
  expect(classes.some((cls: string) => cls === 'text')).toBe(true);
92
92
  });
93
93
 
@@ -146,7 +146,7 @@ describe('#style identifier', () => {
146
146
  const span = container.querySelector('span');
147
147
  expect(span).toBeTruthy();
148
148
  const classes = Array.from(span.classList);
149
- expect(classes.some((cls: string) => cls.startsWith('ripple-'))).toBe(true);
149
+ expect(classes.some((cls: string) => cls.startsWith('tsrx-'))).toBe(true);
150
150
  expect(classes.some((cls: string) => cls === 'dual')).toBe(true);
151
151
  });
152
152
  });
@@ -365,7 +365,7 @@ export component App() {
365
365
  const { js } = compile(source, 'test.tsrx');
366
366
 
367
367
  expect(js.code).toContain('highlight');
368
- expect(js.code).toMatch(/ripple-[a-z0-9]+/);
368
+ expect(js.code).toMatch(/tsrx-[a-z0-9]+/);
369
369
  });
370
370
 
371
371
  it('generates #style object with standalone classes for server mode', () => {
@@ -385,7 +385,7 @@ export component App() {
385
385
  const { js } = compile(source, 'test.tsrx', { mode: 'server' });
386
386
 
387
387
  expect(js.code).toContain('highlight');
388
- expect(js.code).toMatch(/ripple-[a-z0-9]+/);
388
+ expect(js.code).toMatch(/tsrx-[a-z0-9]+/);
389
389
  });
390
390
  });
391
391
  });
@@ -330,7 +330,7 @@ describe('dynamic DOM elements', () => {
330
330
 
331
331
  // Check if scoped CSS class is present - THIS MIGHT FAIL if CSS pruning issue exists
332
332
  const classes = Array.from(element.classList);
333
- const hasScopedClass = classes.some((cls) => cls.startsWith('ripple-'));
333
+ const hasScopedClass = classes.some((cls) => cls.startsWith('tsrx-'));
334
334
  expect(hasScopedClass).toBe(true);
335
335
  });
336
336
 
@@ -375,7 +375,7 @@ describe('dynamic DOM elements', () => {
375
375
 
376
376
  // Check if scoped CSS hash is applied to dynamic element
377
377
  const classes = Array.from(button.classList);
378
- const hasScopedClass = classes.some((cls) => cls.startsWith('ripple-'));
378
+ const hasScopedClass = classes.some((cls) => cls.startsWith('tsrx-'));
379
379
  expect(hasScopedClass).toBe(true);
380
380
 
381
381
  // Click to increment
@@ -390,7 +390,7 @@ describe('dynamic DOM elements', () => {
390
390
 
391
391
  // Scoped CSS class should still be present
392
392
  const newClasses = Array.from(button.classList);
393
- const stillHasScopedClass = newClasses.some((cls) => cls.startsWith('ripple-'));
393
+ const stillHasScopedClass = newClasses.some((cls) => cls.startsWith('tsrx-'));
394
394
  expect(stillHasScopedClass).toBe(true);
395
395
 
396
396
  // Click again
@@ -446,7 +446,7 @@ describe('dynamic DOM elements', () => {
446
446
 
447
447
  // Check if scoped CSS hash is applied (this is the critical test)
448
448
  const classes = Array.from(button.classList);
449
- const hasScopedClass = classes.some((cls) => cls.startsWith('ripple-'));
449
+ const hasScopedClass = classes.some((cls) => cls.startsWith('tsrx-'));
450
450
  expect(hasScopedClass).toBe(true);
451
451
 
452
452
  // Click to increment
@@ -460,7 +460,7 @@ describe('dynamic DOM elements', () => {
460
460
 
461
461
  // Both classes should still be present
462
462
  const newClasses = Array.from(button.classList);
463
- const stillHasScopedClass = newClasses.some((cls) => cls.startsWith('ripple-'));
463
+ const stillHasScopedClass = newClasses.some((cls) => cls.startsWith('tsrx-'));
464
464
  expect(stillHasScopedClass).toBe(true);
465
465
  expect(newClasses.includes('even')).toBe(true);
466
466
  });
@@ -484,8 +484,8 @@ describe('dynamic DOM elements', () => {
484
484
  const div = container.querySelector('div');
485
485
  const p = div.querySelector('p');
486
486
 
487
- expect(Array.from(div.classList).some((c) => c.startsWith('ripple-'))).toBe(true);
488
- expect(Array.from(p.classList).some((c) => c.startsWith('ripple-'))).toBe(true);
487
+ expect(Array.from(div.classList).some((c) => c.startsWith('tsrx-'))).toBe(true);
488
+ expect(Array.from(p.classList).some((c) => c.startsWith('tsrx-'))).toBe(true);
489
489
  });
490
490
 
491
491
  it('adds scoping class to dynamic elements when selector targets by tag name', () => {
@@ -507,8 +507,8 @@ describe('dynamic DOM elements', () => {
507
507
  const div = container.querySelector('div');
508
508
  const p = div.querySelector('p');
509
509
 
510
- expect(Array.from(div.classList).some((c) => c.startsWith('ripple-'))).toBe(true);
511
- expect(Array.from(p.classList).some((c) => c.startsWith('ripple-'))).toBe(true);
510
+ expect(Array.from(div.classList).some((c) => c.startsWith('tsrx-'))).toBe(true);
511
+ expect(Array.from(p.classList).some((c) => c.startsWith('tsrx-'))).toBe(true);
512
512
  });
513
513
 
514
514
  it('doesn\'t add scoping class to components inside dynamic element', () => {
@@ -544,9 +544,9 @@ describe('dynamic DOM elements', () => {
544
544
  const innerDiv = outerDiv.querySelector('.child');
545
545
  const innerP = innerDiv.querySelector('p');
546
546
 
547
- const outerScope = Array.from(outerDiv.classList).find((c) => c.startsWith('ripple-'));
548
- const innerScopes = Array.from(innerDiv.classList).filter((c) => c.startsWith('ripple-'));
549
- const innerInnerScopes = Array.from(innerP.classList).filter((c) => c.startsWith('ripple-'));
547
+ const outerScope = Array.from(outerDiv.classList).find((c) => c.startsWith('tsrx-'));
548
+ const innerScopes = Array.from(innerDiv.classList).filter((c) => c.startsWith('tsrx-'));
549
+ const innerInnerScopes = Array.from(innerP.classList).filter((c) => c.startsWith('tsrx-'));
550
550
 
551
551
  expect(outerScope).toBeTruthy();
552
552
 
@@ -585,8 +585,8 @@ describe('dynamic DOM elements', () => {
585
585
  const div = container.querySelector('.child');
586
586
  const p = div.querySelector('p');
587
587
 
588
- const outerScopes = Array.from(div.classList).filter((c) => c.startsWith('ripple-'));
589
- const innerScopes = Array.from(p.classList).filter((c) => c.startsWith('ripple-'));
588
+ const outerScopes = Array.from(div.classList).filter((c) => c.startsWith('tsrx-'));
589
+ const innerScopes = Array.from(p.classList).filter((c) => c.startsWith('tsrx-'));
590
590
 
591
591
  expect(outerScopes).toHaveLength(1);
592
592
  expect(innerScopes).toHaveLength(0);
@@ -35,9 +35,7 @@ describe('basic server > attribute rendering', () => {
35
35
 
36
36
  const div = document.querySelector('div');
37
37
 
38
- expect(Array.from(div.classList).some((className) => className.startsWith('ripple-'))).toBe(
39
- true,
40
- );
38
+ expect(Array.from(div.classList).some((className) => className.startsWith('tsrx-'))).toBe(true);
41
39
  expect(div.classList.contains('inactive')).toBe(true);
42
40
  });
43
41
 
@@ -72,9 +70,7 @@ describe('basic server > attribute rendering', () => {
72
70
 
73
71
  const div = document.querySelector('div');
74
72
 
75
- expect(Array.from(div.classList).some((className) => className.startsWith('ripple-'))).toBe(
76
- true,
77
- );
73
+ expect(Array.from(div.classList).some((className) => className.startsWith('tsrx-'))).toBe(true);
78
74
 
79
75
  expect(div.classList.contains('foo')).toBe(true);
80
76
  expect(div.classList.contains('bar')).toBe(true);
@@ -105,9 +101,7 @@ describe('basic server > attribute rendering', () => {
105
101
 
106
102
  const div = document.querySelector('div');
107
103
 
108
- expect(Array.from(div.classList).some((className) => className.startsWith('ripple-'))).toBe(
109
- true,
110
- );
104
+ expect(Array.from(div.classList).some((className) => className.startsWith('tsrx-'))).toBe(true);
111
105
  expect(div.classList.contains('inactive')).toBe(true);
112
106
  expect(div.classList.contains('active')).toBe(false);
113
107
  });
@@ -138,7 +132,7 @@ describe('basic server > attribute rendering', () => {
138
132
  const divs = document.querySelectorAll('div');
139
133
 
140
134
  divs.forEach((div) => {
141
- expect(Array.from(div.classList).some((className) => className.startsWith('ripple-'))).toBe(
135
+ expect(Array.from(div.classList).some((className) => className.startsWith('tsrx-'))).toBe(
142
136
  true,
143
137
  );
144
138
  });
@@ -253,7 +253,7 @@ describe('server dynamic DOM elements', () => {
253
253
  expect(element.classList.contains('test-class')).toBe(true);
254
254
 
255
255
  const classes = Array.from(element.classList);
256
- const hasScopedClass = classes.some((cls) => cls.startsWith('ripple-'));
256
+ const hasScopedClass = classes.some((cls) => cls.startsWith('tsrx-'));
257
257
  expect(hasScopedClass).toBe(true);
258
258
  });
259
259
 
@@ -292,7 +292,7 @@ describe('server dynamic DOM elements', () => {
292
292
 
293
293
  // Check if scoped CSS hash is applied (this is the critical test)
294
294
  const classes = Array.from(button.classList);
295
- const hasScopedClass = classes.some((cls) => cls.startsWith('ripple-'));
295
+ const hasScopedClass = classes.some((cls) => cls.startsWith('tsrx-'));
296
296
  expect(hasScopedClass).toBe(true);
297
297
  });
298
298
 
@@ -317,8 +317,8 @@ describe('server dynamic DOM elements', () => {
317
317
  const div = document.querySelector('div');
318
318
  const p = div.querySelector('p');
319
319
 
320
- expect(Array.from(div.classList).some((c) => c.startsWith('ripple-'))).toBe(true);
321
- expect(Array.from(p.classList).some((c) => c.startsWith('ripple-'))).toBe(true);
320
+ expect(Array.from(div.classList).some((c) => c.startsWith('tsrx-'))).toBe(true);
321
+ expect(Array.from(p.classList).some((c) => c.startsWith('tsrx-'))).toBe(true);
322
322
  });
323
323
 
324
324
  it(
@@ -346,8 +346,8 @@ describe('server dynamic DOM elements', () => {
346
346
  const div = document.querySelector('div');
347
347
  const p = div.querySelector('p');
348
348
 
349
- expect(Array.from(div.classList).some((c) => c.startsWith('ripple-'))).toBe(true);
350
- expect(Array.from(p.classList).some((c) => c.startsWith('ripple-'))).toBe(true);
349
+ expect(Array.from(div.classList).some((c) => c.startsWith('tsrx-'))).toBe(true);
350
+ expect(Array.from(p.classList).some((c) => c.startsWith('tsrx-'))).toBe(true);
351
351
  },
352
352
  );
353
353
 
@@ -386,9 +386,9 @@ describe('server dynamic DOM elements', () => {
386
386
  const innerDiv = outerDiv.querySelector('.child');
387
387
  const innerP = innerDiv.querySelector('p');
388
388
 
389
- const outerScope = Array.from(outerDiv.classList).find((c) => c.startsWith('ripple-'));
390
- const innerScopes = Array.from(innerDiv.classList).filter((c) => c.startsWith('ripple-'));
391
- const innerInnerScopes = Array.from(innerP.classList).filter((c) => c.startsWith('ripple-'));
389
+ const outerScope = Array.from(outerDiv.classList).find((c) => c.startsWith('tsrx-'));
390
+ const innerScopes = Array.from(innerDiv.classList).filter((c) => c.startsWith('tsrx-'));
391
+ const innerInnerScopes = Array.from(innerP.classList).filter((c) => c.startsWith('tsrx-'));
392
392
 
393
393
  expect(outerScope).toBeTruthy();
394
394
 
@@ -429,8 +429,8 @@ describe('server dynamic DOM elements', () => {
429
429
  const div = document.querySelector('.child');
430
430
  const p = div.querySelector('p');
431
431
 
432
- const outerScopes = Array.from(div.classList).filter((c) => c.startsWith('ripple-'));
433
- const innerScopes = Array.from(p.classList).filter((c) => c.startsWith('ripple-'));
432
+ const outerScopes = Array.from(div.classList).filter((c) => c.startsWith('tsrx-'));
433
+ const innerScopes = Array.from(p.classList).filter((c) => c.startsWith('tsrx-'));
434
434
 
435
435
  expect(outerScopes).toHaveLength(1);
436
436
  expect(innerScopes).toHaveLength(0);