@hackersheet/next-document-content-components 0.1.0-alpha.2 → 0.1.0-alpha.20

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 (64) hide show
  1. package/dist/cjs/components/code-block/code-block-copy-button.d.ts +13 -2
  2. package/dist/cjs/components/code-block/code-block-copy-button.js +2 -2
  3. package/dist/cjs/components/code-block/code-block-icon.d.ts +38 -4
  4. package/dist/cjs/components/code-block/code-block-icon.js +12 -0
  5. package/dist/cjs/components/code-block/code-block.d.ts +1 -1
  6. package/dist/cjs/components/code-block/code-block.js +3 -9
  7. package/dist/cjs/components/code-block/directory-tree-item.d.ts +15 -0
  8. package/dist/cjs/components/code-block/directory-tree-item.js +38 -0
  9. package/dist/cjs/components/code-block/directory-tree.d.ts +13 -0
  10. package/dist/cjs/components/code-block/{code-block-kifu.js → directory-tree.js} +12 -35
  11. package/dist/cjs/components/code-block/parse-tree-output.d.ts +26 -0
  12. package/dist/cjs/components/code-block/parse-tree-output.js +111 -0
  13. package/dist/cjs/components/code-block/shiki.js +25 -7
  14. package/dist/cjs/components/gist/gist.d.ts +6 -0
  15. package/dist/cjs/components/{index.js → gist/gist.js} +26 -27
  16. package/dist/cjs/components/heading/heading.d.ts +6 -0
  17. package/dist/cjs/components/{kifu-to/kifu-to.js → heading/heading.js} +7 -9
  18. package/dist/cjs/components/image/image.js +1 -2
  19. package/dist/cjs/components/link/link.js +1 -1
  20. package/dist/cjs/components/link-card/link-card.js +1 -2
  21. package/dist/cjs/components/mermaid/mermaid.d.ts +6 -0
  22. package/dist/cjs/components/{code-block/code-block-mermaid.js → mermaid/mermaid.js} +9 -8
  23. package/dist/cjs/components/youtube/youtube.js +1 -1
  24. package/dist/cjs/index.d.ts +4 -1
  25. package/dist/cjs/index.js +48 -5
  26. package/dist/esm/components/code-block/code-block-copy-button.d.mts +13 -2
  27. package/dist/esm/components/code-block/code-block-copy-button.mjs +2 -2
  28. package/dist/esm/components/code-block/code-block-icon.d.mts +38 -4
  29. package/dist/esm/components/code-block/code-block-icon.mjs +25 -1
  30. package/dist/esm/components/code-block/code-block.d.mts +1 -1
  31. package/dist/esm/components/code-block/code-block.mjs +3 -9
  32. package/dist/esm/components/code-block/directory-tree-item.d.mts +15 -0
  33. package/dist/esm/components/code-block/directory-tree-item.mjs +8 -0
  34. package/dist/esm/components/code-block/directory-tree.d.mts +13 -0
  35. package/dist/esm/components/code-block/directory-tree.mjs +13 -0
  36. package/dist/esm/components/code-block/parse-tree-output.d.mts +26 -0
  37. package/dist/esm/components/code-block/parse-tree-output.mjs +87 -0
  38. package/dist/esm/components/code-block/shiki.mjs +21 -8
  39. package/dist/esm/components/gist/gist.d.mts +6 -0
  40. package/dist/esm/components/gist/gist.mjs +25 -0
  41. package/dist/esm/components/heading/heading.d.mts +6 -0
  42. package/dist/esm/components/heading/heading.mjs +9 -0
  43. package/dist/esm/components/image/image.mjs +1 -2
  44. package/dist/esm/components/link/link.mjs +1 -1
  45. package/dist/esm/components/link-card/link-card.mjs +1 -2
  46. package/dist/esm/components/mermaid/mermaid.d.mts +6 -0
  47. package/dist/esm/components/{code-block/code-block-mermaid.mjs → mermaid/mermaid.mjs} +6 -5
  48. package/dist/esm/components/youtube/youtube.mjs +1 -1
  49. package/dist/esm/index.d.mts +4 -1
  50. package/dist/esm/index.mjs +22 -1
  51. package/package.json +21 -34
  52. package/dist/cjs/components/code-block/code-block-kifu.d.ts +0 -9
  53. package/dist/cjs/components/code-block/code-block-mermaid.d.ts +0 -8
  54. package/dist/cjs/components/index.d.ts +0 -9
  55. package/dist/cjs/components/kifu-to/kifu-to.d.ts +0 -6
  56. package/dist/esm/components/code-block/code-block-kifu.d.mts +0 -9
  57. package/dist/esm/components/code-block/code-block-kifu.mjs +0 -36
  58. package/dist/esm/components/code-block/code-block-mermaid.d.mts +0 -8
  59. package/dist/esm/components/index.d.mts +0 -9
  60. package/dist/esm/components/index.mjs +0 -16
  61. package/dist/esm/components/kifu-to/kifu-to.d.mts +0 -6
  62. package/dist/esm/components/kifu-to/kifu-to.mjs +0 -11
  63. package/dist/style.module.css +0 -280
  64. package/dist/style.module.scss.d.ts +0 -9
@@ -2,7 +2,7 @@ import { YouTubeEmbed } from "@next/third-parties/google";
2
2
  import React from "react";
3
3
  async function Youtube({ videoId, params, playLabel, ...props }) {
4
4
  const paramsString = params ? Object.entries(params).filter(([, value]) => value !== void 0).map(([key, value]) => `${encodeURIComponent(key)}=${encodeURIComponent(value)}`).join("&") : void 0;
5
- return /* @__PURE__ */ React.createElement(YouTubeEmbed, { ...props, videoid: videoId, params: paramsString, playlabel: playLabel });
5
+ return /* @__PURE__ */ React.createElement("div", { className: "youtube-block" }, /* @__PURE__ */ React.createElement(YouTubeEmbed, { ...props, videoid: videoId, params: paramsString, playlabel: playLabel }));
6
6
  }
7
7
  export {
8
8
  Youtube as default
@@ -1,8 +1,11 @@
1
1
  export { default as CodeBlock } from './components/code-block/code-block.mjs';
2
+ export { default as DirectoryTree } from './components/code-block/directory-tree.mjs';
3
+ export { default as Gist } from './components/gist/gist.mjs';
4
+ export { default as Heading } from './components/heading/heading.mjs';
2
5
  export { default as Image } from './components/image/image.mjs';
3
- export { default as KifuTo } from './components/kifu-to/kifu-to.mjs';
4
6
  export { default as Link } from './components/link/link.mjs';
5
7
  export { default as LinkCard } from './components/link-card/link-card.mjs';
8
+ export { default as Mermaid } from './components/mermaid/mermaid.mjs';
6
9
  export { default as XPost } from './components/x-post/x-post.mjs';
7
10
  export { default as Youtube } from './components/youtube/youtube.mjs';
8
11
  import 'react';
@@ -1 +1,22 @@
1
- export * from "./components";
1
+ import CodeBlock from "./components/code-block/code-block";
2
+ import DirectoryTree from "./components/code-block/directory-tree";
3
+ import Gist from "./components/gist/gist";
4
+ import Heading from "./components/heading/heading";
5
+ import Image from "./components/image/image";
6
+ import Link from "./components/link/link";
7
+ import LinkCard from "./components/link-card/link-card";
8
+ import Mermaid from "./components/mermaid/mermaid";
9
+ import XPost from "./components/x-post/x-post";
10
+ import Youtube from "./components/youtube/youtube";
11
+ export {
12
+ CodeBlock,
13
+ DirectoryTree,
14
+ Gist,
15
+ Heading,
16
+ Image,
17
+ Link,
18
+ LinkCard,
19
+ Mermaid,
20
+ XPost,
21
+ Youtube
22
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hackersheet/next-document-content-components",
3
- "version": "0.1.0-alpha.2",
3
+ "version": "0.1.0-alpha.20",
4
4
  "description": "Hacker Sheet document content components for Next.js",
5
5
  "keywords": [],
6
6
  "repository": {
@@ -10,19 +10,11 @@
10
10
  },
11
11
  "license": "MIT",
12
12
  "author": "",
13
- "sideEffects": [
14
- "*.css"
15
- ],
16
13
  "exports": {
17
14
  ".": {
18
15
  "require": "./dist/cjs/index.js",
19
16
  "import": "./dist/esm/index.mjs",
20
17
  "types": "./dist/esm/index.d.ts"
21
- },
22
- "./style": {
23
- "import": "./dist/style.module.css",
24
- "require": "./dist/style.module.css",
25
- "types": "./dist/style.module.scss.d.ts"
26
18
  }
27
19
  },
28
20
  "main": "./dist/cjs/index.js",
@@ -32,42 +24,37 @@
32
24
  "dist"
33
25
  ],
34
26
  "dependencies": {
35
- "@hackersheet/core": "alpha",
36
- "@hackersheet/react-document-content": "alpha",
37
- "@next/third-parties": "^14.2.5",
38
- "@shikijs/transformers": "^1.10.3",
39
- "kifu-for-js": "^5.4.1",
27
+ "@next/third-parties": "^16.0.0",
28
+ "@shikijs/langs": "3.13.0",
29
+ "@shikijs/themes": "3.13.0",
30
+ "@shikijs/transformers": "^3.13.0",
40
31
  "mermaid": "^10.9.1",
41
- "next-themes": "^0.3.0",
42
- "react-icons": "^5.2.1",
43
- "react-tweet": "^3.2.1",
44
- "shiki": "^1.10.3"
32
+ "next-themes": "^0.4.6",
33
+ "react-icons": "^5.5.0",
34
+ "react-tweet": "^3.2.2",
35
+ "shiki": "^3.13.0",
36
+ "@hackersheet/react-document-content": "0.1.0-alpha.13",
37
+ "@hackersheet/core": "0.1.0-alpha.11"
45
38
  },
46
39
  "devDependencies": {
47
- "@types/react": "^18.0.0",
48
- "@types/react-dom": "^18.0.0",
49
- "next": "14.2.5",
50
- "postcss": "8.4.39",
51
- "react": "^18.0.0",
52
- "react-dom": "^18.0.0",
53
- "sass": "1.77.8",
54
- "typed-scss-modules": "8.0.1",
55
- "@hackersheet/eslint-config-custom": "0.0.0"
40
+ "@types/react": "^19.2.0",
41
+ "@types/react-dom": "^19.2.0",
42
+ "next": "15.5.4",
43
+ "react": "^19.2.0",
44
+ "react-dom": "^19.2.0"
56
45
  },
57
46
  "peerDependencies": {
58
- "next": "^14.0.0",
59
- "react": "^18.0.0",
60
- "react-dom": "^18.0.0"
47
+ "next": "^15.0.0 || ^16.0.0",
48
+ "react": "^19.0.0",
49
+ "react-dom": "^19.0.0"
61
50
  },
62
51
  "scripts": {
63
- "build": "rm -rf ./dist && pnpm tsup && pnpm typegen:scss && pnpm build:css",
64
- "build:css": "cp src/styles/*.ts dist && pnpm sass src/styles/style.module.scss dist/style.module.css --no-source-map",
52
+ "build": "rm -rf ./dist && pnpm tsup",
65
53
  "check": "pnpm tsc && pnpm lint",
66
54
  "format": "pnpm -w format && pnpm lint:fix",
67
55
  "lint": "eslint \"**/*.{ts,tsx}\"",
68
56
  "lint:fix": "eslint --fix \"**/*.{ts,tsx}\"",
69
57
  "pub": "pnpm publish --access=public --tag alpha",
70
- "test": "echo \"Error: no test specified\" && exit 1",
71
- "typegen:scss": "typed-scss-modules src/styles/style.module.scss"
58
+ "test": "echo \"Error: no test specified\" && exit 1"
72
59
  }
73
60
  }
@@ -1,9 +0,0 @@
1
- import React from 'react';
2
-
3
- interface KifuProps {
4
- kifu: string;
5
- filename?: string;
6
- }
7
- declare function CodeBlockKifu({ kifu, filename }: KifuProps): React.JSX.Element | null;
8
-
9
- export { type KifuProps, CodeBlockKifu as default };
@@ -1,8 +0,0 @@
1
- import React from 'react';
2
-
3
- interface CodeBlockMermaidProps {
4
- code: string;
5
- }
6
- declare function CodeBlockMermaid({ code }: CodeBlockMermaidProps): React.JSX.Element;
7
-
8
- export { type CodeBlockMermaidProps, CodeBlockMermaid as default };
@@ -1,9 +0,0 @@
1
- export { default as CodeBlock } from './code-block/code-block.js';
2
- export { default as Image } from './image/image.js';
3
- export { default as KifuTo } from './kifu-to/kifu-to.js';
4
- export { default as Link } from './link/link.js';
5
- export { default as LinkCard } from './link-card/link-card.js';
6
- export { default as XPost } from './x-post/x-post.js';
7
- export { default as Youtube } from './youtube/youtube.js';
8
- import 'react';
9
- import '@hackersheet/react-document-content';
@@ -1,6 +0,0 @@
1
- import React from 'react';
2
- import { KifuToComponentProps } from '@hackersheet/react-document-content';
3
-
4
- declare function KifuTo({ id, ply, label: defaultLabel }: KifuToComponentProps): React.JSX.Element;
5
-
6
- export { KifuTo as default };
@@ -1,9 +0,0 @@
1
- import React from 'react';
2
-
3
- interface KifuProps {
4
- kifu: string;
5
- filename?: string;
6
- }
7
- declare function CodeBlockKifu({ kifu, filename }: KifuProps): React.JSX.Element | null;
8
-
9
- export { type KifuProps, CodeBlockKifu as default };
@@ -1,36 +0,0 @@
1
- "use client";
2
- import { KifuLite, KifuStore } from "kifu-for-js";
3
- import { useSearchParams } from "next/navigation";
4
- import React, { useEffect, useState } from "react";
5
- function CodeBlockKifu({ kifu, filename }) {
6
- const searchParams = useSearchParams();
7
- const id = filename ? `user-content-${filename}` : void 0;
8
- const [kifuStore] = useState(() => new KifuStore({ kifu }));
9
- useEffect(() => {
10
- initKifuUserSettings();
11
- }, []);
12
- useEffect(() => {
13
- const newPly = Number(searchParams.get("ply") ?? 0);
14
- const hash = typeof window !== "undefined" ? window.location.hash.replace(/^#!?/, "") : "";
15
- if (hash === id) {
16
- kifuStore.player.goto(newPly);
17
- }
18
- }, [searchParams, kifuStore, id]);
19
- if (!kifuStore) {
20
- return null;
21
- }
22
- return /* @__PURE__ */ React.createElement("div", { className: "my-4 flex justify-center", id }, /* @__PURE__ */ React.createElement(KifuLite, { style: { width: "100%" }, kifuStore }));
23
- }
24
- function initKifuUserSettings() {
25
- const LOCALSTORAGE_KEY = "kifuforjs";
26
- const defaultSettings = {
27
- hapticFeedback: false
28
- };
29
- const settings = localStorage.getItem(LOCALSTORAGE_KEY);
30
- if (!settings) {
31
- localStorage.setItem(LOCALSTORAGE_KEY, JSON.stringify(defaultSettings));
32
- }
33
- }
34
- export {
35
- CodeBlockKifu as default
36
- };
@@ -1,8 +0,0 @@
1
- import React from 'react';
2
-
3
- interface CodeBlockMermaidProps {
4
- code: string;
5
- }
6
- declare function CodeBlockMermaid({ code }: CodeBlockMermaidProps): React.JSX.Element;
7
-
8
- export { type CodeBlockMermaidProps, CodeBlockMermaid as default };
@@ -1,9 +0,0 @@
1
- export { default as CodeBlock } from './code-block/code-block.mjs';
2
- export { default as Image } from './image/image.mjs';
3
- export { default as KifuTo } from './kifu-to/kifu-to.mjs';
4
- export { default as Link } from './link/link.mjs';
5
- export { default as LinkCard } from './link-card/link-card.mjs';
6
- export { default as XPost } from './x-post/x-post.mjs';
7
- export { default as Youtube } from './youtube/youtube.mjs';
8
- import 'react';
9
- import '@hackersheet/react-document-content';
@@ -1,16 +0,0 @@
1
- import CodeBlock from "./code-block/code-block";
2
- import Image from "./image/image";
3
- import KifuTo from "./kifu-to/kifu-to";
4
- import Link from "./link/link";
5
- import LinkCard from "./link-card/link-card";
6
- import XPost from "./x-post/x-post";
7
- import Youtube from "./youtube/youtube";
8
- export {
9
- CodeBlock,
10
- Image,
11
- KifuTo,
12
- Link,
13
- LinkCard,
14
- XPost,
15
- Youtube
16
- };
@@ -1,6 +0,0 @@
1
- import React from 'react';
2
- import { KifuToComponentProps } from '@hackersheet/react-document-content';
3
-
4
- declare function KifuTo({ id, ply, label: defaultLabel }: KifuToComponentProps): React.JSX.Element;
5
-
6
- export { KifuTo as default };
@@ -1,11 +0,0 @@
1
- import Link from "next/link";
2
- import React from "react";
3
- function KifuTo({ id, ply, label: defaultLabel }) {
4
- const fullId = `user-content-${id}`;
5
- const href = `?ply=${ply}#${fullId}`;
6
- const label = defaultLabel ?? `${ply}\u624B\u76EE`;
7
- return /* @__PURE__ */ React.createElement(Link, { href }, label);
8
- }
9
- export {
10
- KifuTo as default
11
- };
@@ -1,280 +0,0 @@
1
- .main :first-child {
2
- margin-top: 0;
3
- }
4
- .main * {
5
- word-break: break-word;
6
- scroll-margin-top: var(--hsdc-scroll-margin-top);
7
- }
8
- .main h1,
9
- .main h2,
10
- .main h3,
11
- .main h4,
12
- .main h5,
13
- .main h6 {
14
- margin: 4rem 0 1.5rem 0;
15
- padding: 0.5rem 0;
16
- font-weight: 700;
17
- border-bottom: 1px solid hsl(var(--hsdc-border));
18
- }
19
- .main p {
20
- margin: 1.8rem 0;
21
- }
22
- .main strong {
23
- font-weight: 700;
24
- }
25
- .main hr {
26
- margin: 4rem 0;
27
- }
28
- .main h1 {
29
- font-size: 2rem;
30
- }
31
- .main h2 {
32
- font-size: 1.5rem;
33
- }
34
- .main h3 {
35
- font-size: 1.2rem;
36
- }
37
- .main h4 {
38
- font-size: 1rem;
39
- }
40
- .main h5 {
41
- font-size: 0.8rem;
42
- }
43
- .main h6 {
44
- font-size: 0.7rem;
45
- }
46
- .main p {
47
- line-height: 2.2;
48
- letter-spacing: 0.04em;
49
- }
50
- .main ol,
51
- .main ul {
52
- padding-left: 1.5em;
53
- }
54
- .main ol ol,
55
- .main ol ul,
56
- .main ul ol,
57
- .main ul ul {
58
- padding-left: 1em;
59
- }
60
- .main ol li,
61
- .main ul li {
62
- line-height: 2rem;
63
- padding-left: 0.5rem;
64
- }
65
- .main ul {
66
- list-style-type: disc;
67
- }
68
- .main ul ul {
69
- list-style-type: circle;
70
- }
71
- .main ul ul ul {
72
- list-style-type: square;
73
- }
74
- .main ol {
75
- list-style-type: decimal;
76
- }
77
- .main ol ul {
78
- list-style-type: circle;
79
- }
80
- .main ol ul ul {
81
- list-style-type: square;
82
- }
83
- .main table {
84
- width: 100%;
85
- table-layout: fixed;
86
- border-collapse: separate;
87
- border-radius: 8px;
88
- border-spacing: 0;
89
- border: 1px solid hsl(var(--hsdc-border));
90
- overflow: hidden;
91
- }
92
- .main table thead {
93
- background-color: hsl(var(--hsdc-muted));
94
- }
95
- .main table tbody td {
96
- border-top: 1px solid hsl(var(--hsdc-border));
97
- }
98
- .main table tbody tr:hover {
99
- background-color: hsl(var(--hsdc-muted)/0.5);
100
- }
101
- .main table th,
102
- .main table td {
103
- padding: 8px;
104
- font-size: 0.875rem;
105
- text-align: left;
106
- }
107
- .main table th :global(&.left),
108
- .main table td :global(&.left) {
109
- text-align: left;
110
- }
111
- .main table th :global(&.center),
112
- .main table td :global(&.center) {
113
- text-align: center;
114
- }
115
- .main table th :global(&.right),
116
- .main table td :global(&.right) {
117
- text-align: right;
118
- }
119
- .main code:not(pre code) {
120
- border-radius: 4px;
121
- display: inline-block;
122
- box-sizing: border-box;
123
- padding: 2px 8px;
124
- font-family: var(--hsdc-font-code);
125
- line-height: 1.5;
126
- border: 1px solid hsl(var(--hsdc-border));
127
- background-color: hsl(var(--hsdc-muted));
128
- }
129
- .main blockquote {
130
- border-left: 12px solid hsl(var(--hsdc-border));
131
- color: hsl(var(--hsdc-muted-foreground));
132
- margin: 0;
133
- padding: 0 16px;
134
- }
135
- .main blockquote blockquote {
136
- margin: 0 12px;
137
- }
138
- .main a:not(article a) {
139
- color: hsl(var(--hsdc-link));
140
- }
141
- .main a:not(article a):hover {
142
- text-decoration-line: underline;
143
- }
144
- .main summary {
145
- cursor: pointer;
146
- }
147
- .main :global(.footnotes) {
148
- margin: 4rem 0 1.5rem 0;
149
- color: hsl(var(--hsdc-muted-foreground));
150
- }
151
- .main :global(.footnotes) p {
152
- margin: 0;
153
- }
154
- .main :global(.contains-task-list) {
155
- list-style-type: none;
156
- padding-left: 0;
157
- }
158
- .main :global(.contains-task-list) input {
159
- margin-right: 0.5rem;
160
- }
161
-
162
- .main :global(.react-tweet-theme) p {
163
- margin: 0;
164
- line-height: 1.5;
165
- font-size: 17px;
166
- }
167
- .main :global(.code-block) {
168
- margin: 1.5rem 0;
169
- border: 1px solid hsl(var(--hsdc-border));
170
- border-radius: 8px;
171
- overflow: hidden;
172
- }
173
- .main :global(.code-block) pre {
174
- font-family: var(--hsdc-font-code);
175
- font-size: 14px;
176
- padding: 16px;
177
- overflow: auto;
178
- background-color: hsl(var(--hsdc-code-block));
179
- }
180
- .main :global(.code-block) :global(.code-block-header) {
181
- display: flex;
182
- flex-direction: row;
183
- align-items: center;
184
- gap: 8px;
185
- font-size: 14px;
186
- padding: 8px 16px;
187
- background-color: hsl(var(--hsdc-muted));
188
- border-bottom: 1px solid hsl(var(--hsdc-border));
189
- }
190
- .main :global(.code-block) :global(.code-block-filename) {
191
- flex: 1 1 auto;
192
- }
193
- .main :global(.shiki) code {
194
- width: 100%;
195
- min-width: max-content;
196
- display: flex;
197
- flex-direction: column;
198
- margin: 0 -16px;
199
- }
200
- .main :global(.shiki) :global(span.line) {
201
- position: relative;
202
- width: 100%;
203
- padding: 0 16px;
204
- }
205
- .main :global(.shiki) :global(span.line.diff.add) {
206
- background-color: hsl(var(--hsdc-shiki-diff-add)/0.1) !important;
207
- }
208
- .main :global(.shiki) :global(span.line.diff.add)::before {
209
- position: absolute;
210
- left: 2px;
211
- content: "+";
212
- color: hsl(var(--hsdc-shiki-diff-add));
213
- }
214
- .main :global(.shiki) :global(span.line.diff.remove) {
215
- background-color: hsl(var(--hsdc-shiki-diff-remove)/0.1) !important;
216
- }
217
- .main :global(.shiki) :global(span.line.diff.remove)::before {
218
- position: absolute;
219
- left: 2px;
220
- content: "-";
221
- color: hsl(var(--hsdc-shiki-diff-remove));
222
- }
223
- .main :global(.shiki) :global(.highlighted-word) {
224
- background-color: hsl(var(--hsdc-shiki-highlighted-word)/0.2);
225
- padding: 2px 0;
226
- margin: -2px 0;
227
- }
228
- .main :global(.link-card) {
229
- display: flex;
230
- flex-direction: row;
231
- border: 1px solid hsl(var(--hsdc-border));
232
- border-radius: 8px;
233
- overflow: hidden;
234
- color: inherit;
235
- width: 100%;
236
- max-height: 144px;
237
- margin: 1.8rem 0;
238
- }
239
- .main :global(.link-card):hover {
240
- text-decoration: none;
241
- background-color: hsl(var(--hsdc-muted)/0.5);
242
- }
243
- .main :global(.link-card) :global(.link-card-main) {
244
- flex: 1;
245
- display: flex;
246
- flex-direction: column;
247
- padding: 12px 16px;
248
- overflow: hidden;
249
- gap: 8px;
250
- }
251
- .main :global(.link-card) :global(.link-card-main) > div {
252
- overflow: hidden;
253
- display: -webkit-box;
254
- -webkit-box-orient: vertical;
255
- -webkit-line-clamp: 2;
256
- line-clamp: 2;
257
- }
258
- .main :global(.link-card) :global(.link-card-main) :global(.link-card-title) {
259
- flex: 1 1 auto;
260
- }
261
- .main :global(.link-card) :global(.link-card-main) :global(.link-card-description) {
262
- font-size: 0.75rem;
263
- color: hsl(var(--hsdc-muted-foreground));
264
- }
265
- .main :global(.link-card) :global(.link-card-main) :global(.link-card-domain) {
266
- display: flex;
267
- flex-direction: row;
268
- align-items: center;
269
- gap: 8px;
270
- font-size: 0.75rem;
271
- color: hsl(var(--hsdc-muted-foreground));
272
- }
273
- .main :global(.link-card) :global(.link-card-image) {
274
- width: 35%;
275
- }
276
- .main :global(.link-card) :global(.link-card-image) img {
277
- object-fit: cover;
278
- width: 100%;
279
- height: 100%;
280
- }
@@ -1,9 +0,0 @@
1
- export type Styles = {
2
- main: string;
3
- };
4
-
5
- export type ClassNames = keyof Styles;
6
-
7
- declare const styles: Styles;
8
-
9
- export default styles;