@vinyasa/typography 1.0.24 → 1.0.25

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 (50) hide show
  1. package/README.md +77 -2
  2. package/dist/cjs/caption.cjs +76 -12
  3. package/dist/cjs/caption.css +90 -0
  4. package/dist/cjs/heading.cjs +76 -12
  5. package/dist/cjs/heading.css +90 -0
  6. package/dist/cjs/highlight.cjs +700 -0
  7. package/dist/cjs/highlight.css +197 -0
  8. package/dist/cjs/index.cjs +583 -14
  9. package/dist/cjs/index.css +158 -0
  10. package/dist/cjs/label.cjs +76 -12
  11. package/dist/cjs/label.css +90 -0
  12. package/dist/cjs/link.cjs +76 -12
  13. package/dist/cjs/link.css +90 -0
  14. package/dist/cjs/list.cjs +431 -0
  15. package/dist/cjs/list.css +60 -0
  16. package/dist/cjs/mark.cjs +246 -0
  17. package/dist/cjs/mark.css +8 -0
  18. package/dist/cjs/markdown-renderer.cjs +76 -12
  19. package/dist/cjs/markdown-renderer.css +90 -0
  20. package/dist/cjs/paragraph.cjs +76 -12
  21. package/dist/cjs/paragraph.css +90 -0
  22. package/dist/cjs/text.cjs +76 -12
  23. package/dist/cjs/text.css +90 -0
  24. package/dist/esm/191.css +90 -0
  25. package/dist/esm/191.js +67 -11
  26. package/dist/esm/227.css +7 -0
  27. package/dist/esm/227.js +39 -0
  28. package/dist/esm/513.css +60 -0
  29. package/dist/esm/513.js +126 -0
  30. package/dist/esm/767.js +33 -0
  31. package/dist/esm/components/highlight/Highlight.d.ts +14 -0
  32. package/dist/esm/components/highlight/index.d.ts +1 -0
  33. package/dist/esm/components/list/List.css.d.ts +47 -0
  34. package/dist/esm/components/list/List.d.ts +52 -0
  35. package/dist/esm/components/list/index.d.ts +1 -0
  36. package/dist/esm/components/mark/Mark.css.d.ts +1 -0
  37. package/dist/esm/components/mark/Mark.d.ts +5 -0
  38. package/dist/esm/components/mark/index.d.ts +1 -0
  39. package/dist/esm/components/text/Text.css.d.ts +85 -1
  40. package/dist/esm/components/text/Text.d.ts +55 -9
  41. package/dist/esm/highlight.d.ts +2 -0
  42. package/dist/esm/highlight.js +1 -0
  43. package/dist/esm/index.d.ts +4 -0
  44. package/dist/esm/index.js +26 -0
  45. package/dist/esm/list.d.ts +2 -0
  46. package/dist/esm/list.js +1 -0
  47. package/dist/esm/mark.d.ts +2 -0
  48. package/dist/esm/mark.js +1 -0
  49. package/dist/esm/useIsTruncated.d.ts +15 -0
  50. package/package.json +25 -5
package/dist/cjs/text.cjs CHANGED
@@ -227,7 +227,41 @@ var Text_css_text = createRuntimeFn({
227
227
  error: '_4sie9wm'
228
228
  },
229
229
  truncate: {
230
- true: '_4sie9wn'
230
+ end: '_4sie9wn',
231
+ start: '_4sie9wo'
232
+ },
233
+ italic: {
234
+ true: '_4sie9wp'
235
+ },
236
+ textTransform: {
237
+ uppercase: '_4sie9wq',
238
+ lowercase: '_4sie9wr',
239
+ capitalize: '_4sie9ws',
240
+ none: '_4sie9wt'
241
+ },
242
+ decoration: {
243
+ underline: '_4sie9wu',
244
+ 'line-through': '_4sie9wv',
245
+ none: '_4sie9ww'
246
+ },
247
+ letterSpacing: {
248
+ tight: '_4sie9wx',
249
+ normal: '_4sie9wy',
250
+ wide: '_4sie9wz'
251
+ },
252
+ lineHeight: {
253
+ tight: '_4sie9w10',
254
+ normal: '_4sie9w11',
255
+ loose: '_4sie9w12'
256
+ },
257
+ textWrap: {
258
+ wrap: '_4sie9w13',
259
+ balance: '_4sie9w14',
260
+ pretty: '_4sie9w15',
261
+ nowrap: '_4sie9w16'
262
+ },
263
+ variant: {
264
+ gradient: '_4sie9w17'
231
265
  }
232
266
  },
233
267
  defaultVariants: {
@@ -319,13 +353,23 @@ const Text = /*#__PURE__*/ (0, external_react_namespaceObject.forwardRef)((_0, _
319
353
  let _ref = [
320
354
  _0,
321
355
  _1
322
- ], [_ref1, ..._rest] = _ref, { as: Component = 'span', size, weight, align, color, truncate, m, mt, mr, mb, ml, mx, my, p, pt, pr, pb, pl, px, py, className, style, children } = _ref1, rest = _object_without_properties(_ref1, [
356
+ ], [_ref1, ..._rest] = _ref, { as: Component = 'span', size, weight, align, color, truncate, italic, textTransform, decoration, letterSpacing, lineHeight, textWrap, variant, lineClamp, inherit, gradient, m, mt, mr, mb, ml, mx, my, p, pt, pr, pb, pl, px, py, className, style, children } = _ref1, rest = _object_without_properties(_ref1, [
323
357
  "as",
324
358
  "size",
325
359
  "weight",
326
360
  "align",
327
361
  "color",
328
362
  "truncate",
363
+ "italic",
364
+ "textTransform",
365
+ "decoration",
366
+ "letterSpacing",
367
+ "lineHeight",
368
+ "textWrap",
369
+ "variant",
370
+ "lineClamp",
371
+ "inherit",
372
+ "gradient",
329
373
  "m",
330
374
  "mt",
331
375
  "mr",
@@ -344,20 +388,24 @@ const Text = /*#__PURE__*/ (0, external_react_namespaceObject.forwardRef)((_0, _
344
388
  "style",
345
389
  "children"
346
390
  ]), [ref] = _rest;
391
+ var _gradient_deg;
347
392
  const themedRef = (0, tokens_namespaceObject.useThemedRef)(ref);
348
- const classes = className ? `${Text_css_text({
393
+ const normalizedTruncate = true === truncate ? 'end' : false === truncate ? void 0 : truncate;
394
+ const variantArgs = {
349
395
  size,
350
396
  weight,
351
397
  align,
352
398
  color,
353
- truncate
354
- })} ${className}` : Text_css_text({
355
- size,
356
- weight,
357
- align,
358
- color,
359
- truncate
360
- });
399
+ truncate: normalizedTruncate,
400
+ italic,
401
+ textTransform,
402
+ decoration,
403
+ letterSpacing,
404
+ lineHeight,
405
+ textWrap,
406
+ variant
407
+ };
408
+ const classes = className ? `${Text_css_text(variantArgs)} ${className}` : Text_css_text(variantArgs);
361
409
  const spacingStyle = resolveSpacingStyle({
362
410
  m,
363
411
  mt,
@@ -374,10 +422,26 @@ const Text = /*#__PURE__*/ (0, external_react_namespaceObject.forwardRef)((_0, _
374
422
  px,
375
423
  py
376
424
  });
425
+ const inheritStyle = inherit ? {
426
+ fontFamily: 'inherit',
427
+ fontSize: 'inherit',
428
+ fontWeight: 'inherit',
429
+ color: 'inherit',
430
+ lineHeight: 'inherit'
431
+ } : void 0;
432
+ const gradientStyle = 'gradient' === variant && gradient ? {
433
+ backgroundImage: `linear-gradient(${String(null != (_gradient_deg = gradient.deg) ? _gradient_deg : 45)}deg, ${gradient.from}, ${gradient.to})`
434
+ } : void 0;
435
+ const lineClampStyle = void 0 !== lineClamp ? {
436
+ display: '-webkit-box',
437
+ WebkitLineClamp: lineClamp,
438
+ WebkitBoxOrient: 'vertical',
439
+ overflow: 'hidden'
440
+ } : void 0;
377
441
  return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(Component, _object_spread_props(_object_spread({
378
442
  ref: themedRef,
379
443
  className: classes,
380
- style: _object_spread({}, spacingStyle, style)
444
+ style: _object_spread({}, spacingStyle, inheritStyle, gradientStyle, lineClampStyle, style)
381
445
  }, rest), {
382
446
  children: children
383
447
  }));
package/dist/cjs/text.css CHANGED
@@ -94,6 +94,96 @@
94
94
  ._4sie9wn {
95
95
  text-overflow: ellipsis;
96
96
  white-space: nowrap;
97
+ max-width: 100%;
98
+ display: inline-block;
97
99
  overflow: hidden;
98
100
  }
99
101
 
102
+ ._4sie9wo {
103
+ text-overflow: ellipsis;
104
+ white-space: nowrap;
105
+ text-align: left;
106
+ direction: rtl;
107
+ max-width: 100%;
108
+ display: inline-block;
109
+ overflow: hidden;
110
+ }
111
+
112
+ ._4sie9wp {
113
+ font-style: italic;
114
+ }
115
+
116
+ ._4sie9wq {
117
+ text-transform: uppercase;
118
+ }
119
+
120
+ ._4sie9wr {
121
+ text-transform: lowercase;
122
+ }
123
+
124
+ ._4sie9ws {
125
+ text-transform: capitalize;
126
+ }
127
+
128
+ ._4sie9wt {
129
+ text-transform: none;
130
+ }
131
+
132
+ ._4sie9wu {
133
+ text-decoration: underline;
134
+ }
135
+
136
+ ._4sie9wv {
137
+ text-decoration: line-through;
138
+ }
139
+
140
+ ._4sie9ww {
141
+ text-decoration: none;
142
+ }
143
+
144
+ ._4sie9wx {
145
+ letter-spacing: var(--vinyasa-letter-spacing-tight);
146
+ }
147
+
148
+ ._4sie9wy {
149
+ letter-spacing: var(--vinyasa-letter-spacing-normal);
150
+ }
151
+
152
+ ._4sie9wz {
153
+ letter-spacing: var(--vinyasa-letter-spacing-wide);
154
+ }
155
+
156
+ ._4sie9w10 {
157
+ line-height: var(--vinyasa-line-height-tight);
158
+ }
159
+
160
+ ._4sie9w11 {
161
+ line-height: var(--vinyasa-line-height-normal);
162
+ }
163
+
164
+ ._4sie9w12 {
165
+ line-height: var(--vinyasa-line-height-loose);
166
+ }
167
+
168
+ ._4sie9w13 {
169
+ text-wrap: wrap;
170
+ }
171
+
172
+ ._4sie9w14 {
173
+ text-wrap: balance;
174
+ }
175
+
176
+ ._4sie9w15 {
177
+ text-wrap: pretty;
178
+ }
179
+
180
+ ._4sie9w16 {
181
+ text-wrap: nowrap;
182
+ }
183
+
184
+ ._4sie9w17 {
185
+ color: rgba(0, 0, 0, 0);
186
+ -webkit-background-clip: text;
187
+ background-clip: text;
188
+ }
189
+
package/dist/esm/191.css CHANGED
@@ -94,6 +94,96 @@
94
94
  ._4sie9wn {
95
95
  text-overflow: ellipsis;
96
96
  white-space: nowrap;
97
+ max-width: 100%;
98
+ display: inline-block;
97
99
  overflow: hidden;
98
100
  }
99
101
 
102
+ ._4sie9wo {
103
+ text-overflow: ellipsis;
104
+ white-space: nowrap;
105
+ text-align: left;
106
+ direction: rtl;
107
+ max-width: 100%;
108
+ display: inline-block;
109
+ overflow: hidden;
110
+ }
111
+
112
+ ._4sie9wp {
113
+ font-style: italic;
114
+ }
115
+
116
+ ._4sie9wq {
117
+ text-transform: uppercase;
118
+ }
119
+
120
+ ._4sie9wr {
121
+ text-transform: lowercase;
122
+ }
123
+
124
+ ._4sie9ws {
125
+ text-transform: capitalize;
126
+ }
127
+
128
+ ._4sie9wt {
129
+ text-transform: none;
130
+ }
131
+
132
+ ._4sie9wu {
133
+ text-decoration: underline;
134
+ }
135
+
136
+ ._4sie9wv {
137
+ text-decoration: line-through;
138
+ }
139
+
140
+ ._4sie9ww {
141
+ text-decoration: none;
142
+ }
143
+
144
+ ._4sie9wx {
145
+ letter-spacing: var(--vinyasa-letter-spacing-tight);
146
+ }
147
+
148
+ ._4sie9wy {
149
+ letter-spacing: var(--vinyasa-letter-spacing-normal);
150
+ }
151
+
152
+ ._4sie9wz {
153
+ letter-spacing: var(--vinyasa-letter-spacing-wide);
154
+ }
155
+
156
+ ._4sie9w10 {
157
+ line-height: var(--vinyasa-line-height-tight);
158
+ }
159
+
160
+ ._4sie9w11 {
161
+ line-height: var(--vinyasa-line-height-normal);
162
+ }
163
+
164
+ ._4sie9w12 {
165
+ line-height: var(--vinyasa-line-height-loose);
166
+ }
167
+
168
+ ._4sie9w13 {
169
+ text-wrap: wrap;
170
+ }
171
+
172
+ ._4sie9w14 {
173
+ text-wrap: balance;
174
+ }
175
+
176
+ ._4sie9w15 {
177
+ text-wrap: pretty;
178
+ }
179
+
180
+ ._4sie9w16 {
181
+ text-wrap: nowrap;
182
+ }
183
+
184
+ ._4sie9w17 {
185
+ color: #0000;
186
+ -webkit-background-clip: text;
187
+ background-clip: text;
188
+ }
189
+
package/dist/esm/191.js CHANGED
@@ -38,7 +38,41 @@ var Text_css_text = createRuntimeFn({
38
38
  error: '_4sie9wm'
39
39
  },
40
40
  truncate: {
41
- true: '_4sie9wn'
41
+ end: '_4sie9wn',
42
+ start: '_4sie9wo'
43
+ },
44
+ italic: {
45
+ true: '_4sie9wp'
46
+ },
47
+ textTransform: {
48
+ uppercase: '_4sie9wq',
49
+ lowercase: '_4sie9wr',
50
+ capitalize: '_4sie9ws',
51
+ none: '_4sie9wt'
52
+ },
53
+ decoration: {
54
+ underline: '_4sie9wu',
55
+ 'line-through': '_4sie9wv',
56
+ none: '_4sie9ww'
57
+ },
58
+ letterSpacing: {
59
+ tight: '_4sie9wx',
60
+ normal: '_4sie9wy',
61
+ wide: '_4sie9wz'
62
+ },
63
+ lineHeight: {
64
+ tight: '_4sie9w10',
65
+ normal: '_4sie9w11',
66
+ loose: '_4sie9w12'
67
+ },
68
+ textWrap: {
69
+ wrap: '_4sie9w13',
70
+ balance: '_4sie9w14',
71
+ pretty: '_4sie9w15',
72
+ nowrap: '_4sie9w16'
73
+ },
74
+ variant: {
75
+ gradient: '_4sie9w17'
42
76
  }
43
77
  },
44
78
  defaultVariants: {
@@ -48,21 +82,24 @@ var Text_css_text = createRuntimeFn({
48
82
  },
49
83
  compoundVariants: []
50
84
  });
51
- const Text = /*#__PURE__*/ forwardRef(({ as: Component = 'span', size, weight, align, color, truncate, m, mt, mr, mb, ml, mx, my, p, pt, pr, pb, pl, px, py, className, style, children, ...rest }, ref)=>{
85
+ const Text = /*#__PURE__*/ forwardRef(({ as: Component = 'span', size, weight, align, color, truncate, italic, textTransform, decoration, letterSpacing, lineHeight, textWrap, variant, lineClamp, inherit, gradient, m, mt, mr, mb, ml, mx, my, p, pt, pr, pb, pl, px, py, className, style, children, ...rest }, ref)=>{
52
86
  const themedRef = useThemedRef(ref);
53
- const classes = className ? `${Text_css_text({
54
- size,
55
- weight,
56
- align,
57
- color,
58
- truncate
59
- })} ${className}` : Text_css_text({
87
+ const normalizedTruncate = true === truncate ? 'end' : false === truncate ? void 0 : truncate;
88
+ const variantArgs = {
60
89
  size,
61
90
  weight,
62
91
  align,
63
92
  color,
64
- truncate
65
- });
93
+ truncate: normalizedTruncate,
94
+ italic,
95
+ textTransform,
96
+ decoration,
97
+ letterSpacing,
98
+ lineHeight,
99
+ textWrap,
100
+ variant
101
+ };
102
+ const classes = className ? `${Text_css_text(variantArgs)} ${className}` : Text_css_text(variantArgs);
66
103
  const spacingStyle = resolveSpacingStyle({
67
104
  m,
68
105
  mt,
@@ -79,11 +116,30 @@ const Text = /*#__PURE__*/ forwardRef(({ as: Component = 'span', size, weight, a
79
116
  px,
80
117
  py
81
118
  });
119
+ const inheritStyle = inherit ? {
120
+ fontFamily: 'inherit',
121
+ fontSize: 'inherit',
122
+ fontWeight: 'inherit',
123
+ color: 'inherit',
124
+ lineHeight: 'inherit'
125
+ } : void 0;
126
+ const gradientStyle = 'gradient' === variant && gradient ? {
127
+ backgroundImage: `linear-gradient(${String(gradient.deg ?? 45)}deg, ${gradient.from}, ${gradient.to})`
128
+ } : void 0;
129
+ const lineClampStyle = void 0 !== lineClamp ? {
130
+ display: '-webkit-box',
131
+ WebkitLineClamp: lineClamp,
132
+ WebkitBoxOrient: 'vertical',
133
+ overflow: 'hidden'
134
+ } : void 0;
82
135
  return /*#__PURE__*/ jsx(Component, {
83
136
  ref: themedRef,
84
137
  className: classes,
85
138
  style: {
86
139
  ...spacingStyle,
140
+ ...inheritStyle,
141
+ ...gradientStyle,
142
+ ...lineClampStyle,
87
143
  ...style
88
144
  },
89
145
  ...rest,
@@ -0,0 +1,7 @@
1
+ .x8q83o0 {
2
+ background-color: var(--vinyasa-status-warning-bg);
3
+ color: var(--vinyasa-status-warning-text);
4
+ border-radius: var(--vinyasa-radius-sm);
5
+ padding-inline: .2em;
6
+ }
7
+
@@ -0,0 +1,39 @@
1
+ import "./227.css";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import { useThemedRef } from "@vinyasa/tokens";
4
+ import { forwardRef } from "react";
5
+ import { resolveSpacingStyle } from "./474.js";
6
+ var mark = 'x8q83o0';
7
+ const Mark = /*#__PURE__*/ forwardRef(({ m, mt, mr, mb, ml, mx, my, p, pt, pr, pb, pl, px, py, className, style, children, ...rest }, ref)=>{
8
+ const themedRef = useThemedRef(ref);
9
+ const classes = className ? `${mark} ${className}` : mark;
10
+ const computedStyle = {
11
+ ...resolveSpacingStyle({
12
+ m,
13
+ mt,
14
+ mr,
15
+ mb,
16
+ ml,
17
+ mx,
18
+ my,
19
+ p,
20
+ pt,
21
+ pr,
22
+ pb,
23
+ pl,
24
+ px,
25
+ py
26
+ }),
27
+ ...style
28
+ };
29
+ return /*#__PURE__*/ jsx("mark", {
30
+ ref: themedRef,
31
+ className: classes,
32
+ style: computedStyle,
33
+ ...rest,
34
+ children: children
35
+ });
36
+ });
37
+ Mark.displayName = 'Mark';
38
+ const mark_Mark = Mark;
39
+ export { mark_Mark as Mark };
@@ -0,0 +1,60 @@
1
+ ._1ohxnc10 {
2
+ font-family: var(--vinyasa-font-family-sans);
3
+ font-size: var(--vinyasa-font-size-md);
4
+ color: var(--vinyasa-text-default);
5
+ flex-direction: column;
6
+ margin: 0;
7
+ display: flex;
8
+ }
9
+
10
+ ._1ohxnc11 {
11
+ gap: var(--vinyasa-space1);
12
+ }
13
+
14
+ ._1ohxnc12 {
15
+ gap: var(--vinyasa-space2);
16
+ }
17
+
18
+ ._1ohxnc13 {
19
+ gap: var(--vinyasa-space3);
20
+ }
21
+
22
+ ._1ohxnc14 {
23
+ gap: var(--vinyasa-space4);
24
+ }
25
+
26
+ ._1ohxnc15 {
27
+ gap: var(--vinyasa-space5);
28
+ }
29
+
30
+ ._1ohxnc16 {
31
+ gap: var(--vinyasa-space6);
32
+ }
33
+
34
+ ._1ohxnc17 {
35
+ padding-left: var(--vinyasa-space5);
36
+ }
37
+
38
+ ._1ohxnc18 {
39
+ padding-left: 0;
40
+ list-style: none;
41
+ }
42
+
43
+ ._1ohxnc1a {
44
+ align-items: flex-start;
45
+ gap: var(--vinyasa-space2);
46
+ list-style: none;
47
+ display: flex;
48
+ }
49
+
50
+ ._1ohxnc1b {
51
+ align-items: center;
52
+ }
53
+
54
+ ._1ohxnc1c {
55
+ flex-shrink: 0;
56
+ align-items: center;
57
+ line-height: 1;
58
+ display: inline-flex;
59
+ }
60
+
@@ -0,0 +1,126 @@
1
+ import "./513.css";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { useThemedRef } from "@vinyasa/tokens";
4
+ import { createContext, forwardRef, useContext } from "react";
5
+ import { createRuntimeFn } from "./953.js";
6
+ import { resolveSpacingStyle } from "./474.js";
7
+ var item = createRuntimeFn({
8
+ defaultClassName: '_1ohxnc19',
9
+ variantClassNames: {
10
+ withIcon: {
11
+ true: '_1ohxnc1a'
12
+ },
13
+ center: {
14
+ true: '_1ohxnc1b'
15
+ }
16
+ },
17
+ defaultVariants: {},
18
+ compoundVariants: []
19
+ });
20
+ var itemIcon = '_1ohxnc1c';
21
+ var list = createRuntimeFn({
22
+ defaultClassName: '_1ohxnc10',
23
+ variantClassNames: {
24
+ spacing: {
25
+ 1: '_1ohxnc11',
26
+ 2: '_1ohxnc12',
27
+ 3: '_1ohxnc13',
28
+ 4: '_1ohxnc14',
29
+ 5: '_1ohxnc15',
30
+ 6: '_1ohxnc16'
31
+ },
32
+ withPadding: {
33
+ true: '_1ohxnc17',
34
+ false: '_1ohxnc18'
35
+ }
36
+ },
37
+ defaultVariants: {
38
+ spacing: 2,
39
+ withPadding: true
40
+ },
41
+ compoundVariants: []
42
+ });
43
+ const ListContext = /*#__PURE__*/ createContext({});
44
+ const ListRoot = /*#__PURE__*/ forwardRef(({ type = 'unordered', spacing, withPadding, icon, center, m, mt, mr, mb, ml, mx, my, p, pt, pr, pb, pl, px, py, className, style, children, ...rest }, ref)=>{
45
+ const themedRef = useThemedRef(ref);
46
+ const classes = className ? `${list({
47
+ spacing,
48
+ withPadding
49
+ })} ${className}` : list({
50
+ spacing,
51
+ withPadding
52
+ });
53
+ const computedStyle = {
54
+ ...resolveSpacingStyle({
55
+ m,
56
+ mt,
57
+ mr,
58
+ mb,
59
+ ml,
60
+ mx,
61
+ my,
62
+ p,
63
+ pt,
64
+ pr,
65
+ pb,
66
+ pl,
67
+ px,
68
+ py
69
+ }),
70
+ ...style
71
+ };
72
+ const contextValue = {
73
+ icon,
74
+ center
75
+ };
76
+ if ('ordered' === type) return /*#__PURE__*/ jsx(ListContext.Provider, {
77
+ value: contextValue,
78
+ children: /*#__PURE__*/ jsx("ol", {
79
+ ref: themedRef,
80
+ className: classes,
81
+ style: computedStyle,
82
+ ...rest,
83
+ children: children
84
+ })
85
+ });
86
+ return /*#__PURE__*/ jsx(ListContext.Provider, {
87
+ value: contextValue,
88
+ children: /*#__PURE__*/ jsx("ul", {
89
+ ref: themedRef,
90
+ className: classes,
91
+ style: computedStyle,
92
+ ...rest,
93
+ children: children
94
+ })
95
+ });
96
+ });
97
+ ListRoot.displayName = 'List';
98
+ const ListItem = /*#__PURE__*/ forwardRef(({ icon, className, children, ...rest }, ref)=>{
99
+ const context = useContext(ListContext);
100
+ const resolvedIcon = icon ?? context.icon;
101
+ const classes = className ? `${item({
102
+ withIcon: Boolean(resolvedIcon),
103
+ center: context.center
104
+ })} ${className}` : item({
105
+ withIcon: Boolean(resolvedIcon),
106
+ center: context.center
107
+ });
108
+ return /*#__PURE__*/ jsxs("li", {
109
+ ref: ref,
110
+ className: classes,
111
+ ...rest,
112
+ children: [
113
+ resolvedIcon ? /*#__PURE__*/ jsx("span", {
114
+ className: itemIcon,
115
+ children: resolvedIcon
116
+ }) : null,
117
+ children
118
+ ]
119
+ });
120
+ });
121
+ ListItem.displayName = 'ListItem';
122
+ const List = Object.assign(ListRoot, {
123
+ Item: ListItem
124
+ });
125
+ const list_List = List;
126
+ export { list_List as List };
@@ -0,0 +1,33 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { Fragment, forwardRef } from "react";
3
+ import { Text as text_Text } from "./191.js";
4
+ import { Mark as mark_Mark } from "./227.js";
5
+ const escapeRegExp = (value)=>value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
6
+ const Highlight = /*#__PURE__*/ forwardRef(({ children, highlight, ...props }, ref)=>{
7
+ const terms = (Array.isArray(highlight) ? highlight : [
8
+ highlight
9
+ ]).filter(Boolean);
10
+ if (0 === terms.length) return /*#__PURE__*/ jsx(text_Text, {
11
+ ref: ref,
12
+ ...props,
13
+ children: children
14
+ });
15
+ const lowerTerms = new Set(terms.map((term)=>term.toLowerCase()));
16
+ const pattern = new RegExp(`(${terms.map(escapeRegExp).join('|')})`, 'gi');
17
+ const parts = children.split(pattern);
18
+ return /*#__PURE__*/ jsx(text_Text, {
19
+ ref: ref,
20
+ ...props,
21
+ children: parts.map((part, index)=>{
22
+ const key = `${String(index)}-${part}`;
23
+ return lowerTerms.has(part.toLowerCase()) ? /*#__PURE__*/ jsx(mark_Mark, {
24
+ children: part
25
+ }, key) : /*#__PURE__*/ jsx(Fragment, {
26
+ children: part
27
+ }, key);
28
+ })
29
+ });
30
+ });
31
+ Highlight.displayName = 'Highlight';
32
+ const highlight_Highlight = Highlight;
33
+ export { highlight_Highlight as Highlight };