@prosefly/astro-components 0.1.0 → 0.2.0

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.
package/README.md CHANGED
@@ -2,6 +2,18 @@
2
2
 
3
3
  Reusable Astro components for MDX content.
4
4
 
5
+ ## Install
6
+
7
+ Install the package in an Astro v7 project:
8
+
9
+ ```sh
10
+ pnpm add @prosefly/astro-components
11
+ ```
12
+
13
+ If your site renders `.mdx` pages, make sure MDX is configured in Astro first.
14
+ [Lotus](https://astro-theme-lotus.prosefly.dev/) projects already include MDX,
15
+ the markdown transforms, icon preloading, and the docs shell.
16
+
5
17
  ```astro
6
18
  ---
7
19
  import { Callout } from '@prosefly/astro-components';
@@ -12,6 +24,9 @@ import { Callout } from '@prosefly/astro-components';
12
24
  </Callout>
13
25
  ```
14
26
 
27
+ Full documentation is available at
28
+ [astro-components.prosefly.dev](https://astro-components.prosefly.dev).
29
+
15
30
  ## Exports
16
31
 
17
32
  The main entry exports:
@@ -33,7 +48,7 @@ The markdown entry exports:
33
48
  ## Icon Integration
34
49
 
35
50
  Use the `@prosefly/astro-components/icon` integration when a project wants
36
- Iconify preloading without the full Lotus theme:
51
+ Iconify preloading without the full [Lotus](https://astro-theme-lotus.prosefly.dev/) theme:
37
52
 
38
53
  ```ts
39
54
  import { defineConfig } from 'astro/config';
@@ -70,8 +85,8 @@ export default defineConfig({
70
85
 
71
86
  `remarkPackageManagerTabs` recognizes common `npm` commands and can generate
72
87
  tabs for Node and Python package managers. `rehypeImageGallery` turns paragraphs
73
- that contain only images into gallery figures. Lotus enables both transforms by
74
- default.
88
+ that contain only images into gallery figures. [Lotus](https://astro-theme-lotus.prosefly.dev/)
89
+ enables both transforms by default.
75
90
 
76
91
  Import the image gallery runtime once in the page shell to load styles and
77
92
  enable previous and next controls for galleries produced by
@@ -99,6 +114,11 @@ Consumers can theme the components with `--pl-*` custom properties:
99
114
  - `--pl-accent`
100
115
  - `--pl-accent-soft`
101
116
  - `--pl-accent-contrast`
117
+ - `--pl-{info|success|warning|danger}`
118
+ - `--pl-{info|success|warning|danger}-soft`
119
+ - `--pl-{info|success|warning|danger}-ink`
120
+ - `--pl-{info|success|warning|danger}-contrast`
121
+ - `--pl-callout-{note|tip|warning|danger}-{color|ink|bg}`
102
122
  - `--pl-border-subtle`
103
123
  - `--pl-font-sans`
104
124
  - `--pl-font-mono`
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/icon/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAG9C,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAsHD,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,OAAO,GAAE,sBAA2B,GAAG,gBAAgB,CA6CnF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/icon/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAI9C,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAmHD,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,OAAO,GAAE,sBAA2B,GAAG,gBAAgB,CA6CnF"}
@@ -1,19 +1,17 @@
1
1
  import { readdir, readFile } from 'node:fs/promises';
2
2
  import { extname, join } from 'node:path';
3
3
  import { fileURLToPath } from 'node:url';
4
+ import { fileTreeComponentIconNames } from '../mdx/file-tree-icons';
4
5
  const virtualIconConfigModuleId = 'virtual:prosefly/astro-components/icon/config';
5
6
  const resolvedVirtualIconConfigModuleId = `\0${virtualIconConfigModuleId}`;
6
7
  const componentIconNames = [
7
8
  'lucide:badge-alert',
8
9
  'lucide:check',
9
- 'lucide:chevron-right',
10
10
  'lucide:copy',
11
- 'lucide:file',
12
- 'lucide:folder',
13
- 'lucide:folder-open',
14
11
  'lucide:info',
15
12
  'lucide:lightbulb',
16
13
  'lucide:triangle-alert',
14
+ ...fileTreeComponentIconNames,
17
15
  ];
18
16
  function addIconName(iconNames, icon) {
19
17
  if (!icon) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/icon/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/icon/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  type BadgeVariant = 'solid' | 'soft' | 'subtle' | 'outline';
3
- type BadgeColor = 'neutral' | 'accent' | 'success' | 'warning' | 'danger';
3
+ type BadgeColor = 'neutral' | 'accent' | 'info' | 'success' | 'warning' | 'danger';
4
4
 
5
5
  interface Props {
6
6
  variant?: BadgeVariant;
@@ -66,50 +66,62 @@ const {
66
66
  );
67
67
  }
68
68
 
69
- .pl-badge[data-color='success'] {
70
- --pl-badge-color: oklch(0.45 0.13 155);
71
- --pl-badge-solid: oklch(0.55 0.14 155);
72
- --pl-badge-soft: color-mix(
69
+ .pl-badge[data-color='info'] {
70
+ --pl-badge-color: var(--pl-info-ink, oklch(0.46 0.14 255));
71
+ --pl-badge-solid: var(--pl-info, oklch(0.62 0.16 255));
72
+ --pl-badge-soft: var(
73
+ --pl-info-soft,
74
+ color-mix(in oklab, var(--pl-info, oklch(0.62 0.16 255)) 12%, var(--pl-background, #ffffff))
75
+ );
76
+ --pl-badge-contrast: var(--pl-info-contrast, #ffffff);
77
+ --pl-badge-border: color-mix(
73
78
  in oklab,
74
- oklch(0.64 0.16 155) 12%,
75
- var(--pl-background, #ffffff)
79
+ var(--pl-info, oklch(0.62 0.16 255)) 30%,
80
+ transparent
81
+ );
82
+ }
83
+
84
+ .pl-badge[data-color='success'] {
85
+ --pl-badge-color: var(--pl-success-ink, oklch(0.45 0.13 155));
86
+ --pl-badge-solid: var(--pl-success, oklch(0.64 0.16 155));
87
+ --pl-badge-soft: var(
88
+ --pl-success-soft,
89
+ color-mix(in oklab, var(--pl-success, oklch(0.64 0.16 155)) 12%, var(--pl-background, #ffffff))
76
90
  );
77
- --pl-badge-contrast: #ffffff;
91
+ --pl-badge-contrast: var(--pl-success-contrast, #ffffff);
78
92
  --pl-badge-border: color-mix(
79
93
  in oklab,
80
- oklch(0.64 0.16 155) 30%,
94
+ var(--pl-success, oklch(0.64 0.16 155)) 30%,
81
95
  transparent
82
96
  );
83
97
  }
84
98
 
85
99
  .pl-badge[data-color='warning'] {
86
- --pl-badge-color: oklch(0.5 0.12 80);
87
- --pl-badge-solid: oklch(0.76 0.16 80);
88
- --pl-badge-soft: color-mix(
89
- in oklab,
90
- oklch(0.74 0.16 80) 14%,
91
- var(--pl-background, #ffffff)
100
+ --pl-badge-color: var(--pl-warning-ink, oklch(0.5 0.12 80));
101
+ --pl-badge-solid: var(--pl-warning, oklch(0.74 0.16 80));
102
+ --pl-badge-soft: var(
103
+ --pl-warning-soft,
104
+ color-mix(in oklab, var(--pl-warning, oklch(0.74 0.16 80)) 14%, var(--pl-background, #ffffff))
92
105
  );
93
- --pl-badge-contrast: oklch(0.18 0.04 80);
106
+ --pl-badge-contrast: var(--pl-warning-contrast, oklch(0.18 0.04 80));
94
107
  --pl-badge-border: color-mix(
95
108
  in oklab,
96
- oklch(0.74 0.16 80) 34%,
109
+ var(--pl-warning, oklch(0.74 0.16 80)) 34%,
97
110
  transparent
98
111
  );
99
112
  }
100
113
 
101
114
  .pl-badge[data-color='danger'] {
102
- --pl-badge-color: oklch(0.52 0.18 25);
103
- --pl-badge-solid: oklch(0.58 0.2 25);
104
- --pl-badge-soft: color-mix(
105
- in oklab,
106
- oklch(0.62 0.2 25) 12%,
107
- var(--pl-background, #ffffff)
115
+ --pl-badge-color: var(--pl-danger-ink, oklch(0.52 0.16 25));
116
+ --pl-badge-solid: var(--pl-danger, oklch(0.62 0.2 25));
117
+ --pl-badge-soft: var(
118
+ --pl-danger-soft,
119
+ color-mix(in oklab, var(--pl-danger, oklch(0.62 0.2 25)) 12%, var(--pl-background, #ffffff))
108
120
  );
109
- --pl-badge-contrast: #ffffff;
121
+ --pl-badge-contrast: var(--pl-danger-contrast, #ffffff);
110
122
  --pl-badge-border: color-mix(
111
123
  in oklab,
112
- oklch(0.62 0.2 25) 30%,
124
+ var(--pl-danger, oklch(0.62 0.2 25)) 30%,
113
125
  transparent
114
126
  );
115
127
  }
@@ -30,11 +30,11 @@ const hasTitle = Boolean(title);
30
30
 
31
31
  <style>
32
32
  .pl-callout {
33
- --pl-callout-color: var(--pl-accent, #4f46e5);
34
- --pl-callout-ink: var(--pl-accent, #4f46e5);
33
+ --pl-callout-color: var(--pl-callout-note-color, var(--pl-info, oklch(0.62 0.16 255)));
34
+ --pl-callout-ink: var(--pl-callout-note-ink, var(--pl-info-ink, oklch(0.46 0.14 255)));
35
35
  --pl-callout-bg: var(
36
- --pl-accent-soft,
37
- color-mix(in oklab, var(--pl-accent, #4f46e5) 8%, var(--pl-background, #ffffff))
36
+ --pl-callout-note-bg,
37
+ var(--pl-info-soft, color-mix(in oklab, var(--pl-callout-color) 10%, var(--pl-background, #ffffff)))
38
38
  );
39
39
 
40
40
  display: grid;
@@ -49,21 +49,30 @@ const hasTitle = Boolean(title);
49
49
  }
50
50
 
51
51
  .pl-callout[data-type='tip'] {
52
- --pl-callout-color: oklch(0.64 0.16 155);
53
- --pl-callout-ink: oklch(0.45 0.13 155);
54
- --pl-callout-bg: color-mix(in oklab, oklch(0.64 0.16 155) 10%, var(--pl-background, #ffffff));
52
+ --pl-callout-color: var(--pl-callout-tip-color, var(--pl-success, oklch(0.64 0.16 155)));
53
+ --pl-callout-ink: var(--pl-callout-tip-ink, var(--pl-success-ink, oklch(0.45 0.13 155)));
54
+ --pl-callout-bg: var(
55
+ --pl-callout-tip-bg,
56
+ var(--pl-success-soft, color-mix(in oklab, var(--pl-callout-color) 10%, var(--pl-background, #ffffff)))
57
+ );
55
58
  }
56
59
 
57
60
  .pl-callout[data-type='warning'] {
58
- --pl-callout-color: oklch(0.74 0.16 80);
59
- --pl-callout-ink: oklch(0.5 0.12 80);
60
- --pl-callout-bg: color-mix(in oklab, oklch(0.74 0.16 80) 12%, var(--pl-background, #ffffff));
61
+ --pl-callout-color: var(--pl-callout-warning-color, var(--pl-warning, oklch(0.74 0.16 80)));
62
+ --pl-callout-ink: var(--pl-callout-warning-ink, var(--pl-warning-ink, oklch(0.5 0.12 80)));
63
+ --pl-callout-bg: var(
64
+ --pl-callout-warning-bg,
65
+ var(--pl-warning-soft, color-mix(in oklab, var(--pl-callout-color) 12%, var(--pl-background, #ffffff)))
66
+ );
61
67
  }
62
68
 
63
69
  .pl-callout[data-type='danger'] {
64
- --pl-callout-color: oklch(0.62 0.2 25);
65
- --pl-callout-ink: oklch(0.52 0.16 25);
66
- --pl-callout-bg: color-mix(in oklab, oklch(0.62 0.2 25) 10%, var(--pl-background, #ffffff));
70
+ --pl-callout-color: var(--pl-callout-danger-color, var(--pl-danger, oklch(0.62 0.2 25)));
71
+ --pl-callout-ink: var(--pl-callout-danger-ink, var(--pl-danger-ink, oklch(0.52 0.16 25)));
72
+ --pl-callout-bg: var(
73
+ --pl-callout-danger-bg,
74
+ var(--pl-danger-soft, color-mix(in oklab, var(--pl-callout-color) 10%, var(--pl-background, #ffffff)))
75
+ );
67
76
  }
68
77
 
69
78
  .pl-callout[data-has-title='false'] {
@@ -1,13 +1,20 @@
1
1
  ---
2
2
  import FileTreeItem from './FileTreeItem.astro';
3
+ import { normalizeFileTreeIconSet, type FileTreeIconSet } from './file-tree-icons';
3
4
  import { parseFileTree } from './rehype-file-tree';
4
5
 
6
+ interface Props {
7
+ iconSet?: FileTreeIconSet;
8
+ }
9
+
10
+ const { iconSet: rawIconSet = 'lucide' } = Astro.props;
11
+ const iconSet = normalizeFileTreeIconSet(rawIconSet);
5
12
  const fileTreeHtml = await Astro.slots.render('default');
6
13
  const entries = parseFileTree(fileTreeHtml);
7
14
  ---
8
15
 
9
- <ul class="pl-file-tree" role="list">
10
- {entries.map((entry) => <FileTreeItem entry={entry} />)}
16
+ <ul class="pl-file-tree" data-icon-set={iconSet} role="list">
17
+ {entries.map((entry) => <FileTreeItem entry={entry} iconSet={iconSet} />)}
11
18
  </ul>
12
19
 
13
20
  <style is:global>
@@ -140,6 +147,7 @@ const entries = parseFileTree(fileTreeHtml);
140
147
  .pl-file-tree__icon .pl-icon,
141
148
  .pl-file-tree__icon-closed .pl-icon,
142
149
  .pl-file-tree__icon-open .pl-icon,
150
+ .pl-file-tree__icon-theme .pl-icon,
143
151
  .pl-file-tree__chevron .pl-icon {
144
152
  display: block;
145
153
  height: 1rem;
@@ -155,23 +163,45 @@ const entries = parseFileTree(fileTreeHtml);
155
163
  display: inline-flex;
156
164
  }
157
165
 
166
+ .pl-file-tree__icon-theme--dark {
167
+ display: none;
168
+ }
169
+
170
+ :root[data-theme='dark'] .pl-file-tree__icon-theme--light {
171
+ display: none;
172
+ }
173
+
174
+ :root[data-theme='dark'] .pl-file-tree__icon-theme--dark {
175
+ display: block;
176
+ }
177
+
178
+ @media (prefers-color-scheme: dark) {
179
+ :root:is([data-theme='system'], :not([data-theme])) .pl-file-tree__icon-theme--light {
180
+ display: none;
181
+ }
182
+
183
+ :root:is([data-theme='system'], :not([data-theme])) .pl-file-tree__icon-theme--dark {
184
+ display: block;
185
+ }
186
+ }
187
+
158
188
  .pl-file-tree__icon[data-kind='directory'] {
159
189
  color: color-mix(in oklab, var(--pl-accent, #4f46e5) 82%, var(--pl-text, #344054));
160
190
  }
161
191
 
162
- .pl-file-tree__icon[data-kind='code'] {
192
+ .pl-file-tree[data-icon-set='lucide'] .pl-file-tree__icon[data-kind='code'] {
163
193
  color: oklch(0.58 0.18 250);
164
194
  }
165
195
 
166
- .pl-file-tree__icon[data-kind='config'] {
196
+ .pl-file-tree[data-icon-set='lucide'] .pl-file-tree__icon[data-kind='config'] {
167
197
  color: oklch(0.56 0.14 155);
168
198
  }
169
199
 
170
- .pl-file-tree__icon[data-kind='style'] {
200
+ .pl-file-tree[data-icon-set='lucide'] .pl-file-tree__icon[data-kind='style'] {
171
201
  color: oklch(0.58 0.19 320);
172
202
  }
173
203
 
174
- .pl-file-tree__icon[data-kind='image'] {
204
+ .pl-file-tree[data-icon-set='lucide'] .pl-file-tree__icon[data-kind='image'] {
175
205
  color: oklch(0.58 0.16 80);
176
206
  }
177
207
 
@@ -1,13 +1,16 @@
1
1
  ---
2
2
  import Icon from './Icon.astro';
3
3
  import FileTreeItem from './FileTreeItem.astro';
4
+ import { getFileTreeIcon, type FileTreeIconSet } from './file-tree-icons';
4
5
  import type { FileTreeEntry } from './rehype-file-tree';
5
6
 
6
7
  interface Props {
7
8
  entry: FileTreeEntry;
9
+ iconSet: FileTreeIconSet;
8
10
  }
9
11
 
10
- const { entry } = Astro.props;
12
+ const { entry, iconSet } = Astro.props;
13
+ const icon = getFileTreeIcon(entry, iconSet);
11
14
  const placeholderEntry: FileTreeEntry = {
12
15
  children: [],
13
16
  commentHtml: '',
@@ -48,10 +51,10 @@ const children = entry.children.length > 0 ? entry.children : [placeholderEntry]
48
51
  {!entry.isPlaceholder && (
49
52
  <span aria-hidden="true" class="pl-file-tree__icon" data-kind={entry.kind}>
50
53
  <span class="pl-file-tree__icon-closed">
51
- <Icon name="lucide:folder" />
54
+ <Icon name={icon.closed ?? icon.name} />
52
55
  </span>
53
56
  <span class="pl-file-tree__icon-open">
54
- <Icon name="lucide:folder-open" />
57
+ <Icon name={icon.open ?? icon.name} />
55
58
  </span>
56
59
  </span>
57
60
  )}
@@ -68,7 +71,7 @@ const children = entry.children.length > 0 ? entry.children : [placeholderEntry]
68
71
  </span>
69
72
  </summary>
70
73
  <ul class="pl-file-tree__list" role="list">
71
- {children.map((child) => <FileTreeItem entry={child} />)}
74
+ {children.map((child) => <FileTreeItem entry={child} iconSet={iconSet} />)}
72
75
  </ul>
73
76
  </details>
74
77
  ) : (
@@ -81,7 +84,18 @@ const children = entry.children.length > 0 ? entry.children : [placeholderEntry]
81
84
  >
82
85
  {!entry.isPlaceholder && (
83
86
  <span aria-hidden="true" class="pl-file-tree__icon" data-kind={entry.kind}>
84
- <Icon name="lucide:file" />
87
+ {icon.light && icon.dark ? (
88
+ <>
89
+ <span class="pl-file-tree__icon-theme pl-file-tree__icon-theme--light">
90
+ <Icon name={icon.light} />
91
+ </span>
92
+ <span class="pl-file-tree__icon-theme pl-file-tree__icon-theme--dark">
93
+ <Icon name={icon.dark} />
94
+ </span>
95
+ </>
96
+ ) : (
97
+ <Icon name={icon.name} />
98
+ )}
85
99
  </span>
86
100
  )}
87
101
  <span class="pl-file-tree__name" set:html={entry.nameHtml} />
@@ -0,0 +1,14 @@
1
+ import type { FileTreeEntry } from './rehype-file-tree';
2
+ export type FileTreeIconSet = 'lucide' | 'vscode-icons';
3
+ interface FileTreeIcon {
4
+ closed?: string;
5
+ dark?: string;
6
+ light?: string;
7
+ name: string;
8
+ open?: string;
9
+ }
10
+ export declare const fileTreeComponentIconNames: readonly ["lucide:chevron-right", string, string, string, string, ...string[]];
11
+ export declare function normalizeFileTreeIconSet(iconSet: string | undefined): FileTreeIconSet;
12
+ export declare function getFileTreeIcon(entry: FileTreeEntry, iconSet: FileTreeIconSet): FileTreeIcon;
13
+ export {};
14
+ //# sourceMappingURL=file-tree-icons.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-tree-icons.d.ts","sourceRoot":"","sources":["../../src/mdx/file-tree-icons.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,cAAc,CAAC;AAExD,UAAU,YAAY;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAyGD,eAAO,MAAM,0BAA0B,gFAQ7B,CAAC;AAEX,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,eAAe,CAErF;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,eAAe,GAAG,YAAY,CAwB5F"}
@@ -0,0 +1,140 @@
1
+ const lucideIcons = {
2
+ directory: {
3
+ closed: 'lucide:folder',
4
+ name: 'lucide:folder',
5
+ open: 'lucide:folder-open',
6
+ },
7
+ file: {
8
+ name: 'lucide:file',
9
+ },
10
+ };
11
+ const vscodeFileIcon = {
12
+ name: 'vscode-icons:default-file',
13
+ };
14
+ const vscodeExactFileIcons = [
15
+ [/^package\.json$/i, 'vscode-icons:file-type-npm'],
16
+ [/^(package-lock\.json|npm-shrinkwrap\.json)$/i, 'vscode-icons:file-type-npm'],
17
+ [/^tsconfig(?:\.[\w-]+)?\.json$/i, 'vscode-icons:file-type-tsconfig'],
18
+ [
19
+ /^astro\.config\.[cm]?[jt]s$/i,
20
+ {
21
+ dark: 'vscode-icons:file-type-astro',
22
+ light: 'vscode-icons:file-type-light-astro',
23
+ name: 'vscode-icons:file-type-astro',
24
+ },
25
+ ],
26
+ [
27
+ /^vite\.config\.[cm]?[jt]s$/i,
28
+ {
29
+ dark: 'vscode-icons:file-type-vite',
30
+ light: 'vscode-icons:file-type-light-vite',
31
+ name: 'vscode-icons:file-type-vite',
32
+ },
33
+ ],
34
+ [
35
+ /^vitest\.config\.[cm]?[jt]s$/i,
36
+ {
37
+ dark: 'vscode-icons:file-type-vitest',
38
+ light: 'vscode-icons:file-type-light-vitest',
39
+ name: 'vscode-icons:file-type-vitest',
40
+ },
41
+ ],
42
+ [/^tailwind\.config\.[cm]?[jt]s$/i, 'vscode-icons:file-type-tailwind'],
43
+ [/^eslint\.config\.[cm]?[jt]s$/i, 'vscode-icons:file-type-eslint'],
44
+ [/^\.eslint(?:rc)?(?:\.[cm]?[jt]s|\.json|\.ya?ml)?$/i, 'vscode-icons:file-type-eslint'],
45
+ [/^prettier\.config\.[cm]?[jt]s$/i, 'vscode-icons:file-type-prettier'],
46
+ [/^\.prettierrc(?:\.[cm]?[jt]s|\.json|\.ya?ml)?$/i, 'vscode-icons:file-type-prettier'],
47
+ [/^\.prettierignore$/i, 'vscode-icons:file-type-prettier'],
48
+ [/^\.git(?:ignore|attributes|modules)$/i, 'vscode-icons:file-type-git'],
49
+ [/^dockerfile$/i, 'vscode-icons:file-type-docker'],
50
+ ];
51
+ const vscodeExtensionIcons = [
52
+ [
53
+ /\.astro$/i,
54
+ {
55
+ dark: 'vscode-icons:file-type-astro',
56
+ light: 'vscode-icons:file-type-light-astro',
57
+ name: 'vscode-icons:file-type-astro',
58
+ },
59
+ ],
60
+ [/\.(tsx|jsx)$/i, 'vscode-icons:file-type-reactjs'],
61
+ [/\.(ts|cts|mts)$/i, 'vscode-icons:file-type-typescript'],
62
+ [/\.(js|cjs|mjs)$/i, 'vscode-icons:file-type-js'],
63
+ [/\.vue$/i, 'vscode-icons:file-type-vue'],
64
+ [/\.svelte$/i, 'vscode-icons:file-type-svelte'],
65
+ [
66
+ /\.mdx$/i,
67
+ {
68
+ dark: 'vscode-icons:file-type-mdx',
69
+ light: 'vscode-icons:file-type-light-mdx',
70
+ name: 'vscode-icons:file-type-mdx',
71
+ },
72
+ ],
73
+ [/\.md$/i, 'vscode-icons:file-type-markdown'],
74
+ [
75
+ /\.json$/i,
76
+ {
77
+ dark: 'vscode-icons:file-type-json',
78
+ light: 'vscode-icons:file-type-light-json',
79
+ name: 'vscode-icons:file-type-json',
80
+ },
81
+ ],
82
+ [
83
+ /\.(ya?ml)$/i,
84
+ {
85
+ dark: 'vscode-icons:file-type-yaml',
86
+ light: 'vscode-icons:file-type-light-yaml',
87
+ name: 'vscode-icons:file-type-yaml',
88
+ },
89
+ ],
90
+ [/\.toml$/i, 'vscode-icons:file-type-toml'],
91
+ [/\.css$/i, 'vscode-icons:file-type-css'],
92
+ [/\.scss$/i, 'vscode-icons:file-type-scss'],
93
+ [/\.sass$/i, 'vscode-icons:file-type-sass'],
94
+ [/\.less$/i, 'vscode-icons:file-type-less'],
95
+ [/\.html?$/i, 'vscode-icons:file-type-html'],
96
+ [/\.xml$/i, 'vscode-icons:file-type-xml'],
97
+ [/\.svg$/i, 'vscode-icons:file-type-svg'],
98
+ [/\.(png|jpe?g|gif|webp|avif|ico)$/i, 'vscode-icons:file-type-image'],
99
+ ];
100
+ export const fileTreeComponentIconNames = [
101
+ 'lucide:chevron-right',
102
+ lucideIcons.directory.name,
103
+ lucideIcons.directory.open,
104
+ lucideIcons.file.name,
105
+ vscodeFileIcon.name,
106
+ ...vscodeExactFileIcons.flatMap(([, icon]) => getIconNames(icon)),
107
+ ...vscodeExtensionIcons.flatMap(([, icon]) => getIconNames(icon)),
108
+ ];
109
+ export function normalizeFileTreeIconSet(iconSet) {
110
+ return iconSet === 'vscode-icons' ? 'vscode-icons' : 'lucide';
111
+ }
112
+ export function getFileTreeIcon(entry, iconSet) {
113
+ if (iconSet === 'lucide') {
114
+ return entry.isDirectory ? lucideIcons.directory : lucideIcons.file;
115
+ }
116
+ if (entry.isDirectory) {
117
+ return lucideIcons.directory;
118
+ }
119
+ const name = entry.nameText.trim();
120
+ for (const [pattern, icon] of vscodeExactFileIcons) {
121
+ if (pattern.test(name)) {
122
+ return normalizeIcon(icon);
123
+ }
124
+ }
125
+ for (const [pattern, icon] of vscodeExtensionIcons) {
126
+ if (pattern.test(name)) {
127
+ return normalizeIcon(icon);
128
+ }
129
+ }
130
+ return vscodeFileIcon;
131
+ }
132
+ function getIconNames(icon) {
133
+ return typeof icon === 'string'
134
+ ? [icon]
135
+ : [icon.name, icon.light, icon.dark].filter((name) => Boolean(name));
136
+ }
137
+ function normalizeIcon(icon) {
138
+ return typeof icon === 'string' ? { name: icon } : icon;
139
+ }
140
+ //# sourceMappingURL=file-tree-icons.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-tree-icons.js","sourceRoot":"","sources":["../../src/mdx/file-tree-icons.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prosefly/astro-components",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "type": "module",
5
5
  "license": "BSD-3-Clause",
6
6
  "types": "./dist/index.d.ts",
@@ -49,7 +49,7 @@
49
49
  "rehype-format": "^5.0.1"
50
50
  },
51
51
  "devDependencies": {
52
- "astro": "^7.0.0",
52
+ "astro": "7.1.0",
53
53
  "@types/node": "latest",
54
54
  "typescript": "^6.0.3",
55
55
  "vite": "latest"