@devslab/dds-icons 0.3.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.
Files changed (55) hide show
  1. package/LICENSE +74 -0
  2. package/README.ko.md +60 -0
  3. package/README.md +61 -0
  4. package/direction-policy.json +15 -0
  5. package/dist/icons.d.ts +63 -0
  6. package/dist/icons.js +66 -0
  7. package/dist/icons.svg +50 -0
  8. package/dist/svg/alert.svg +1 -0
  9. package/dist/svg/arrow-left.svg +1 -0
  10. package/dist/svg/arrow-right.svg +1 -0
  11. package/dist/svg/calendar.svg +1 -0
  12. package/dist/svg/cart.svg +1 -0
  13. package/dist/svg/chat.svg +1 -0
  14. package/dist/svg/check.svg +1 -0
  15. package/dist/svg/chevron-down.svg +1 -0
  16. package/dist/svg/chevron-left.svg +1 -0
  17. package/dist/svg/chevron-right.svg +1 -0
  18. package/dist/svg/chevron-up.svg +1 -0
  19. package/dist/svg/clock.svg +1 -0
  20. package/dist/svg/close.svg +1 -0
  21. package/dist/svg/doc.svg +1 -0
  22. package/dist/svg/download.svg +1 -0
  23. package/dist/svg/edit.svg +1 -0
  24. package/dist/svg/external-link.svg +1 -0
  25. package/dist/svg/gift.svg +1 -0
  26. package/dist/svg/home.svg +1 -0
  27. package/dist/svg/info.svg +1 -0
  28. package/dist/svg/key.svg +1 -0
  29. package/dist/svg/location.svg +1 -0
  30. package/dist/svg/mail.svg +1 -0
  31. package/dist/svg/menu.svg +1 -0
  32. package/dist/svg/minus.svg +1 -0
  33. package/dist/svg/more-horizontal.svg +1 -0
  34. package/dist/svg/parking.svg +1 -0
  35. package/dist/svg/payment.svg +1 -0
  36. package/dist/svg/phone.svg +1 -0
  37. package/dist/svg/plus.svg +1 -0
  38. package/dist/svg/refresh.svg +1 -0
  39. package/dist/svg/search.svg +1 -0
  40. package/dist/svg/site/site-check-simple.svg +1 -0
  41. package/dist/svg/site/site-growth.svg +1 -0
  42. package/dist/svg/site/site-mobile.svg +1 -0
  43. package/dist/svg/site/site-moon.svg +1 -0
  44. package/dist/svg/site/site-spark.svg +1 -0
  45. package/dist/svg/site/site-strategy.svg +1 -0
  46. package/dist/svg/site/site-sun.svg +1 -0
  47. package/dist/svg/star.svg +1 -0
  48. package/dist/svg/tag.svg +1 -0
  49. package/dist/svg/team.svg +1 -0
  50. package/dist/svg/tool.svg +1 -0
  51. package/dist/svg/trash.svg +1 -0
  52. package/dist/svg/truck.svg +1 -0
  53. package/dist/svg/upload.svg +1 -0
  54. package/dist/svg/user.svg +1 -0
  55. package/package.json +36 -0
package/LICENSE ADDED
@@ -0,0 +1,74 @@
1
+ DevsLab Source-Available License 1.0
2
+
3
+ Copyright (c) 2026 DevsLab. All rights reserved.
4
+
5
+ This license governs the DDS software, design tokens, components, icons,
6
+ documentation, and other materials distributed with this license (the
7
+ "Software").
8
+
9
+ 1. Permitted use
10
+
11
+ Subject to this license, DevsLab grants you a limited, worldwide,
12
+ non-exclusive, non-transferable, revocable, royalty-free right to:
13
+
14
+ - download and install unmodified copies of the Software;
15
+ - use and execute the Software for internal or commercial applications;
16
+ - compile, minify, tree-shake, and bundle unmodified Software solely as a
17
+ technical part of building an application; and
18
+ - distribute the resulting object code only as an inseparable part of that
19
+ application and not as a standalone library, design system, component kit,
20
+ template, or asset collection.
21
+
22
+ Normal application configuration through documented public APIs, design-token
23
+ overrides, CSS custom properties, and component properties is permitted and is
24
+ not considered modification of the Software.
25
+
26
+ 2. Restrictions
27
+
28
+ Except where applicable law does not allow the restriction, you may not:
29
+
30
+ - modify, adapt, translate, reverse engineer, or create derivative works of the
31
+ Software itself;
32
+ - publish, republish, sublicense, sell, rent, host, or redistribute the
33
+ Software or any modified version as a standalone package or downloadable
34
+ collection;
35
+ - use the Software or a substantial portion of it to create or operate a
36
+ competing general-purpose design system, UI kit, component library, icon
37
+ library, token library, template marketplace, or hosted equivalent;
38
+ - remove or alter copyright, license, attribution, or provenance notices; or
39
+ - use DevsLab names, logos, product marks, or trade dress except to make a
40
+ truthful statement that an application uses the Software.
41
+
42
+ No patent, trademark, design, or branding rights are granted except the
43
+ copyright permissions stated in Section 1.
44
+
45
+ 3. Ownership and feedback
46
+
47
+ The Software is licensed, not sold. DevsLab and its licensors retain all
48
+ right, title, and interest in the Software. You grant DevsLab a perpetual,
49
+ worldwide, irrevocable, royalty-free right to use feedback you voluntarily
50
+ provide about the Software.
51
+
52
+ 4. Termination
53
+
54
+ This license terminates automatically if you breach it. Upon termination, you
55
+ must stop using and distributing the Software and delete all copies under your
56
+ control. Sections 2, 3, 5, and 6 survive termination.
57
+
58
+ 5. Disclaimer and limitation of liability
59
+
60
+ THE SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
61
+ EXPRESS OR IMPLIED, INCLUDING MERCHANTABILITY, FITNESS FOR A PARTICULAR
62
+ PURPOSE, TITLE, AND NON-INFRINGEMENT. TO THE MAXIMUM EXTENT PERMITTED BY LAW,
63
+ DEVSLAB WILL NOT BE LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL,
64
+ CONSEQUENTIAL, EXEMPLARY, OR PUNITIVE DAMAGES, OR FOR LOSS OF DATA, PROFITS,
65
+ REVENUE, OR BUSINESS, ARISING FROM OR RELATED TO THE SOFTWARE.
66
+
67
+ 6. Governing law
68
+
69
+ This license is governed by the laws of the Republic of Korea, excluding
70
+ conflict-of-law rules. The Seoul Central District Court has exclusive
71
+ jurisdiction over disputes arising from this license.
72
+
73
+ This is a source-available license, not an open-source license approved by the
74
+ Open Source Initiative.
package/README.ko.md ADDED
@@ -0,0 +1,60 @@
1
+ # @devslab/dds-icons
2
+
3
+ 방향성 아이콘 소비자는 `dds-icon--directional` 클래스를 추가한다. 패키지의
4
+ `direction-policy.json`이 RTL에서 미러링할 아이콘과 물리 방향을 유지할
5
+ 아이콘의 기준 목록이다.
6
+
7
+ 🌐 [English](README.md)
8
+
9
+ DDS 아이콘 세트 — 아이콘당 SVG 소스 하나(24 그리드, `currentColor`, 라운드
10
+ 캡)를 소비자가 실제로 필요로 하는 세 가지 형태로 출하합니다. 스펙 §3.7
11
+ (개정: [D-013](../../docs/decisions.md)).
12
+
13
+ | 산출물 | 임포트 | 용도 |
14
+ | --- | --- | --- |
15
+ | `dist/svg/*.svg` | `@devslab/dds-icons/svg/phone.svg` | 빌드 파이프라인, `<img>`, 디자인 툴 |
16
+ | `dist/icons.svg` | `@devslab/dds-icons/icons.svg` | 웹 스프라이트 — `<use href="…/icons.svg#dds-phone">` |
17
+ | `dist/icons.js` (+ `.d.ts`) | `@devslab/dds-icons` | 요소를 직접 만드는 런타임(RN, `createElementNS` 렌더러, SSR) |
18
+
19
+ ```js
20
+ import { icons } from "@devslab/dds-icons";
21
+
22
+ const i = icons.phone; // { viewBox, strokeWidth, set, body }
23
+ ```
24
+
25
+ ```html
26
+ <!-- 인라인 — 주변 색을 상속합니다 -->
27
+ <button class="dds-iconbtn" aria-label="전화">
28
+ <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor"
29
+ stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
30
+ <!-- icons.phone.body -->
31
+ </svg>
32
+ </button>
33
+ ```
34
+
35
+ ## 두 개의 세트
36
+
37
+ - **core** (`svg/*.svg`, 스트로크 1.6) — 제품 UI. 이름은 기능형
38
+ (`chevron-down`, `external-link`). AskLinq 위젯에서 물려받은 22개는
39
+ 철자를 그대로 유지합니다 — 이름을 바꾸면 라이브 카드 아이콘이 깨집니다.
40
+ - **site** (`svg/site/site-*.svg`, 스트로크 1.8) — devslab.kr 전용, 마케팅
41
+ 표면에서 32–40px로 크게 쓰이도록 그려진 세트. `site-` 접두는 이름의
42
+ 일부이고 폴더는 정리용입니다.
43
+
44
+ ## 규칙 (`scripts/check-icons.mjs`가 기계적으로 강제 — 리뷰가 아니라 CI가 막습니다)
45
+
46
+ - `viewBox="0 0 24 24"`, `width`/`height` 24
47
+ - `fill="none"`, `stroke="currentColor"`, 라운드 캡·조인
48
+ - 파일 어디에도 색 리터럴 금지, body 안의 `stroke`/`fill`/`style` 오버라이드
49
+ 금지 — 색과 굵기는 언제나 상속입니다
50
+ - 스트로크 굵기는 세트의 값(코어 1.6 / site 1.8). 제3의 값이 보이면 다른
51
+ 세트에서 들어온 아이콘입니다
52
+ - 소문자 kebab-case 이름, 이름에 크기·색 금지
53
+
54
+ ## 일부러 없는 것
55
+
56
+ React/Vue/RN 컴포넌트를 생성하지 않습니다. 스펙 §2대로 프레임워크 패키지는
57
+ 그 프레임워크 제품이 실제로 존재할 때만 만듭니다 — 지금 모든 소비자가
58
+ 만들어 쓸 수 있는 형태는 path 데이터 맵입니다.
59
+
60
+ 라이브 갤러리: `preview/icons.html` (먼저 `pnpm build`).
package/README.md ADDED
@@ -0,0 +1,61 @@
1
+ # @devslab/dds-icons
2
+
3
+ Directional consumers add `dds-icon--directional`; the packaged
4
+ `direction-policy.json` is the source of truth for icons that mirror in RTL
5
+ and icons whose physical direction must stay unchanged.
6
+
7
+ 🌐 [한국어](README.ko.md)
8
+
9
+ The DDS icon set — one SVG source per icon (24 grid, `currentColor`, round
10
+ caps), shipped in the three shapes consumers actually need. Spec §3.7, as
11
+ amended by [D-013](../../docs/decisions.md).
12
+
13
+ | Artifact | Import | For |
14
+ | --- | --- | --- |
15
+ | `dist/svg/*.svg` | `@devslab/dds-icons/svg/phone.svg` | build pipelines, `<img>`, design tools |
16
+ | `dist/icons.svg` | `@devslab/dds-icons/icons.svg` | web sprite — `<use href="…/icons.svg#dds-phone">` |
17
+ | `dist/icons.js` (+ `.d.ts`) | `@devslab/dds-icons` | any runtime that builds its own element (RN, `createElementNS` renderers, SSR) |
18
+
19
+ ```js
20
+ import { icons } from "@devslab/dds-icons";
21
+
22
+ const i = icons.phone; // { viewBox, strokeWidth, set, body }
23
+ ```
24
+
25
+ ```html
26
+ <!-- inline, inherits the surrounding color and font-size-independent size -->
27
+ <button class="dds-iconbtn" aria-label="Call">
28
+ <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor"
29
+ stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
30
+ <!-- icons.phone.body -->
31
+ </svg>
32
+ </button>
33
+ ```
34
+
35
+ ## Two sets
36
+
37
+ - **core** (`svg/*.svg`, stroke 1.6) — product UI. Names are function-shaped
38
+ (`chevron-down`, `external-link`); the 22 names inherited from the AskLinq
39
+ widget keep their exact spelling, because renaming them would break live
40
+ card icons.
41
+ - **site** (`svg/site/site-*.svg`, stroke 1.8) — devslab.kr only, drawn for
42
+ 32–40px marketing display. The `site-` prefix is part of the name; the
43
+ folder is only organization.
44
+
45
+ ## Rules (enforced by `scripts/check-icons.mjs`, so CI fails, not review)
46
+
47
+ - `viewBox="0 0 24 24"`, `width`/`height` 24
48
+ - `fill="none"`, `stroke="currentColor"`, round cap and join
49
+ - no color literal anywhere in the file, and no `stroke`/`fill`/`style`
50
+ overrides in the body — color and weight are inherited, always
51
+ - stroke width is the set's (1.6 core / 1.8 site); a third value means an
52
+ icon was dropped in from somewhere else
53
+ - lowercase kebab-case names, no size or color in the name
54
+
55
+ ## Not here on purpose
56
+
57
+ No React/Vue/RN components are generated. Per spec §2 a framework package
58
+ exists only once that framework's product does; a map of path data is what
59
+ every consumer can build from today.
60
+
61
+ Live gallery: `preview/icons.html` (run `pnpm build` first).
@@ -0,0 +1,15 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "cssClass": "dds-icon--directional",
4
+ "mirrorInRtl": [
5
+ "arrow-left",
6
+ "arrow-right",
7
+ "chevron-left",
8
+ "chevron-right"
9
+ ],
10
+ "keepDirection": [
11
+ "external-link",
12
+ "download",
13
+ "upload"
14
+ ]
15
+ }
@@ -0,0 +1,63 @@
1
+ /* Generated by @devslab/dds-icons — do not edit. Source: svg/*.svg */
2
+ export interface DdsIcon {
3
+ viewBox: string;
4
+ strokeWidth: string;
5
+ set: "core" | "site";
6
+ /** inner SVG markup — paths only, no <svg> wrapper */
7
+ body: string;
8
+ }
9
+ export type DdsIconName =
10
+ | "alert"
11
+ | "arrow-left"
12
+ | "arrow-right"
13
+ | "calendar"
14
+ | "cart"
15
+ | "chat"
16
+ | "check"
17
+ | "chevron-down"
18
+ | "chevron-left"
19
+ | "chevron-right"
20
+ | "chevron-up"
21
+ | "clock"
22
+ | "close"
23
+ | "doc"
24
+ | "download"
25
+ | "edit"
26
+ | "external-link"
27
+ | "gift"
28
+ | "home"
29
+ | "info"
30
+ | "key"
31
+ | "location"
32
+ | "mail"
33
+ | "menu"
34
+ | "minus"
35
+ | "more-horizontal"
36
+ | "parking"
37
+ | "payment"
38
+ | "phone"
39
+ | "plus"
40
+ | "refresh"
41
+ | "search"
42
+ | "site-check-simple"
43
+ | "site-growth"
44
+ | "site-mobile"
45
+ | "site-moon"
46
+ | "site-spark"
47
+ | "site-strategy"
48
+ | "site-sun"
49
+ | "star"
50
+ | "tag"
51
+ | "team"
52
+ | "tool"
53
+ | "trash"
54
+ | "truck"
55
+ | "upload"
56
+ | "user";
57
+ export declare const icons: Record<DdsIconName, DdsIcon>;
58
+ export declare const directionPolicy: {
59
+ readonly schemaVersion: 1;
60
+ readonly cssClass: string;
61
+ readonly mirrorInRtl: readonly DdsIconName[];
62
+ readonly keepDirection: readonly DdsIconName[];
63
+ };
package/dist/icons.js ADDED
@@ -0,0 +1,66 @@
1
+ /* Generated by @devslab/dds-icons — do not edit. Source: svg/*.svg */
2
+ export const icons = {
3
+ "alert": { viewBox: "0 0 24 24", strokeWidth: "1.6", set: "core", body: "<path d=\"M10.3 3.9 1.9 18a2 2 0 0 0 1.7 3h16.8a2 2 0 0 0 1.7-3L13.7 3.9a2 2 0 0 0-3.4 0z\"></path><path d=\"M12 9v4\"></path><path d=\"M12 17h.01\"></path>" },
4
+ "arrow-left": { viewBox: "0 0 24 24", strokeWidth: "1.6", set: "core", body: "<path d=\"M19 12H5\"></path><path d=\"m11 18-6-6 6-6\"></path>" },
5
+ "arrow-right": { viewBox: "0 0 24 24", strokeWidth: "1.6", set: "core", body: "<path d=\"M5 12h14\"></path><path d=\"m13 6 6 6-6 6\"></path>" },
6
+ "calendar": { viewBox: "0 0 24 24", strokeWidth: "1.6", set: "core", body: "<path d=\"M19 5H5a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2z\"></path><path d=\"M16 3v4M8 3v4M3 11h18\"></path>" },
7
+ "cart": { viewBox: "0 0 24 24", strokeWidth: "1.6", set: "core", body: "<path d=\"M6 6h15l-1.6 8.6a2 2 0 0 1-2 1.6H9.2a2 2 0 0 1-2-1.7L5.5 4.2A1 1 0 0 0 4.5 3.4H3\"></path><path d=\"M9 20.5a1 1 0 1 0 0-2 1 1 0 0 0 0 2zM18 20.5a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"></path>" },
8
+ "chat": { viewBox: "0 0 24 24", strokeWidth: "1.6", set: "core", body: "<path d=\"M21 11.5a8 8 0 0 1-11.6 7.1L3 20.5l1.9-6.3A8 8 0 1 1 21 11.5z\"></path>" },
9
+ "check": { viewBox: "0 0 24 24", strokeWidth: "1.6", set: "core", body: "<path d=\"M12 21a9 9 0 1 0 0-18 9 9 0 0 0 0 18z\"></path><path d=\"m8.5 12.2 2.4 2.4 4.6-4.9\"></path>" },
10
+ "chevron-down": { viewBox: "0 0 24 24", strokeWidth: "1.6", set: "core", body: "<path d=\"m6 9 6 6 6-6\"></path>" },
11
+ "chevron-left": { viewBox: "0 0 24 24", strokeWidth: "1.6", set: "core", body: "<path d=\"m15 6-6 6 6 6\"></path>" },
12
+ "chevron-right": { viewBox: "0 0 24 24", strokeWidth: "1.6", set: "core", body: "<path d=\"m9 6 6 6-6 6\"></path>" },
13
+ "chevron-up": { viewBox: "0 0 24 24", strokeWidth: "1.6", set: "core", body: "<path d=\"m6 15 6-6 6 6\"></path>" },
14
+ "clock": { viewBox: "0 0 24 24", strokeWidth: "1.6", set: "core", body: "<path d=\"M12 21a9 9 0 1 0 0-18 9 9 0 0 0 0 18z\"></path><path d=\"M12 7v5l3 2\"></path>" },
15
+ "close": { viewBox: "0 0 24 24", strokeWidth: "1.6", set: "core", body: "<path d=\"M6 6l12 12\"></path><path d=\"M18 6 6 18\"></path>" },
16
+ "doc": { viewBox: "0 0 24 24", strokeWidth: "1.6", set: "core", body: "<path d=\"M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z\"></path><path d=\"M14 3v5h5\"></path><path d=\"M9 13h6M9 17h4\"></path>" },
17
+ "download": { viewBox: "0 0 24 24", strokeWidth: "1.6", set: "core", body: "<path d=\"M12 4v11\"></path><path d=\"m7.5 10.5 4.5 4.5 4.5-4.5\"></path><path d=\"M5 20h14\"></path>" },
18
+ "edit": { viewBox: "0 0 24 24", strokeWidth: "1.6", set: "core", body: "<path d=\"M4 20h4L19.4 8.6a2.3 2.3 0 0 0-3.2-3.2L4.8 16.8 4 20z\"></path><path d=\"m14.5 6.5 3.2 3.2\"></path>" },
19
+ "external-link": { viewBox: "0 0 24 24", strokeWidth: "1.6", set: "core", body: "<path d=\"M14 4h6v6\"></path><path d=\"M20 4 11.5 12.5\"></path><path d=\"M18 14.5V19a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 4 19V7.5A1.5 1.5 0 0 1 5.5 6H10\"></path>" },
20
+ "gift": { viewBox: "0 0 24 24", strokeWidth: "1.6", set: "core", body: "<path d=\"M20 12v9H4v-9\"></path><path d=\"M22 7H2v5h20V7z\"></path><path d=\"M12 21V7\"></path><path d=\"M12 7H7.5a2.5 2.5 0 0 1 0-5C11 2 12 7 12 7zM12 7h4.5a2.5 2.5 0 0 0 0-5C13 2 12 7 12 7z\"></path>" },
21
+ "home": { viewBox: "0 0 24 24", strokeWidth: "1.6", set: "core", body: "<path d=\"m3 10 9-7 9 7v10a1 1 0 0 1-1 1h-5v-6H9v6H4a1 1 0 0 1-1-1z\"></path>" },
22
+ "info": { viewBox: "0 0 24 24", strokeWidth: "1.6", set: "core", body: "<path d=\"M12 21a9 9 0 1 0 0-18 9 9 0 0 0 0 18z\"></path><path d=\"M12 11v5\"></path><path d=\"M12 8h.01\"></path>" },
23
+ "key": { viewBox: "0 0 24 24", strokeWidth: "1.6", set: "core", body: "<path d=\"M14.5 12a5 5 0 1 0-4.7-3.3L3 15.5V21h5.5v-2.5H11V16h2.5l1.3-1.3c-.2-.5-.3-1.1-.3-1.7z\"></path><path d=\"M17.5 8.5h.01\"></path>" },
24
+ "location": { viewBox: "0 0 24 24", strokeWidth: "1.6", set: "core", body: "<path d=\"M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0z\"></path><path d=\"M12 12.5a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5z\"></path>" },
25
+ "mail": { viewBox: "0 0 24 24", strokeWidth: "1.6", set: "core", body: "<path d=\"M4 5h16a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1z\"></path><path d=\"m3.5 6.5 8.5 6 8.5-6\"></path>" },
26
+ "menu": { viewBox: "0 0 24 24", strokeWidth: "1.6", set: "core", body: "<path d=\"M4 7h16\"></path><path d=\"M4 12h16\"></path><path d=\"M4 17h16\"></path>" },
27
+ "minus": { viewBox: "0 0 24 24", strokeWidth: "1.6", set: "core", body: "<path d=\"M5 12h14\"></path>" },
28
+ "more-horizontal": { viewBox: "0 0 24 24", strokeWidth: "1.6", set: "core", body: "<path d=\"M6 12h.01\"></path><path d=\"M12 12h.01\"></path><path d=\"M18 12h.01\"></path>" },
29
+ "parking": { viewBox: "0 0 24 24", strokeWidth: "1.6", set: "core", body: "<path d=\"M19 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2z\"></path><path d=\"M9.5 17V7h3.2a3 3 0 0 1 0 6H9.5\"></path>" },
30
+ "payment": { viewBox: "0 0 24 24", strokeWidth: "1.6", set: "core", body: "<path d=\"M21 6H3a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1z\"></path><path d=\"M2 10h20\"></path><path d=\"M6 14.5h3\"></path>" },
31
+ "phone": { viewBox: "0 0 24 24", strokeWidth: "1.6", set: "core", body: "<path d=\"M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2 4.2 2 2 0 0 1 4 2h3a2 2 0 0 1 2 1.7c.1.9.4 1.8.7 2.6a2 2 0 0 1-.5 2.1L8.1 9.6a16 16 0 0 0 6 6l1.2-1.1a2 2 0 0 1 2.1-.5c.8.3 1.7.6 2.6.7a2 2 0 0 1 1.7 2z\"></path>" },
32
+ "plus": { viewBox: "0 0 24 24", strokeWidth: "1.6", set: "core", body: "<path d=\"M12 5v14\"></path><path d=\"M5 12h14\"></path>" },
33
+ "refresh": { viewBox: "0 0 24 24", strokeWidth: "1.6", set: "core", body: "<path d=\"M20 12a8 8 0 1 1-2.4-5.7\"></path><path d=\"M20.5 4v4.5H16\"></path>" },
34
+ "search": { viewBox: "0 0 24 24", strokeWidth: "1.6", set: "core", body: "<path d=\"M11 18a7 7 0 1 0 0-14 7 7 0 0 0 0 14z\"></path><path d=\"m16.2 16.2 4.3 4.3\"></path>" },
35
+ "site-check-simple": { viewBox: "0 0 24 24", strokeWidth: "1.8", set: "site", body: "<path d=\"M5 12.5L9.5 17L19 7.5\"></path>" },
36
+ "site-growth": { viewBox: "0 0 24 24", strokeWidth: "1.8", set: "site", body: "<path d=\"M4 18V6\"></path><path d=\"M4 18H20\"></path><path d=\"M8 14L11 11L14 13L19 8\"></path>" },
37
+ "site-mobile": { viewBox: "0 0 24 24", strokeWidth: "1.8", set: "site", body: "<rect x=\"7\" y=\"3\" width=\"10\" height=\"18\" rx=\"2\"></rect><path d=\"M11 18H13\"></path>" },
38
+ "site-moon": { viewBox: "0 0 24 24", strokeWidth: "1.8", set: "site", body: "<path d=\"M20 14.5C19.1 18.1 15.8 20.7 12 20.7C7.4 20.7 3.7 17 3.7 12.4C3.7 8.6 6.3 5.3 9.9 4.4C8.9 5.6 8.3 7.1 8.3 8.8C8.3 12.7 11.5 15.9 15.4 15.9C17.2 15.9 18.8 15.3 20 14.5Z\"></path>" },
39
+ "site-spark": { viewBox: "0 0 24 24", strokeWidth: "1.8", set: "site", body: "<path d=\"M12 3L14.5 9.5L21 12L14.5 14.5L12 21L9.5 14.5L3 12L9.5 9.5L12 3Z\"></path>" },
40
+ "site-strategy": { viewBox: "0 0 24 24", strokeWidth: "1.8", set: "site", body: "<path d=\"M4 18L10 12L14 16L20 8\"></path><path d=\"M16 8H20V12\"></path>" },
41
+ "site-sun": { viewBox: "0 0 24 24", strokeWidth: "1.8", set: "site", body: "<circle cx=\"12\" cy=\"12\" r=\"4\"></circle><path d=\"M12 2V4.5M12 19.5V22M2 12H4.5M19.5 12H22M4.8 4.8L6.6 6.6M17.4 17.4L19.2 19.2M4.8 19.2L6.6 17.4M17.4 6.6L19.2 4.8\"></path>" },
42
+ "star": { viewBox: "0 0 24 24", strokeWidth: "1.6", set: "core", body: "<path d=\"m12 3 2.8 5.7 6.2.9-4.5 4.4 1 6.2-5.5-2.9-5.5 2.9 1-6.2L3 9.6l6.2-.9z\"></path>" },
43
+ "tag": { viewBox: "0 0 24 24", strokeWidth: "1.6", set: "core", body: "<path d=\"M20.6 13.4 12 22l-9-9V4a1 1 0 0 1 1-1h9l7.6 7.6a2 2 0 0 1 0 2.8z\"></path><path d=\"M7.5 7.5h.01\"></path>" },
44
+ "team": { viewBox: "0 0 24 24", strokeWidth: "1.6", set: "core", body: "<path d=\"M17 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2\"></path><path d=\"M9.5 11a4 4 0 1 0 0-8 4 4 0 0 0 0 8z\"></path><path d=\"M22 21v-2a4 4 0 0 0-3-3.9\"></path><path d=\"M16 3.1a4 4 0 0 1 0 7.8\"></path>" },
45
+ "tool": { viewBox: "0 0 24 24", strokeWidth: "1.6", set: "core", body: "<path d=\"M14.7 6.3a4 4 0 0 0 5.2 5.2L21 12l-8 8a3 3 0 0 1-4.2-4.2l8-8z\"></path><path d=\"M6 6l3 3\"></path>" },
46
+ "trash": { viewBox: "0 0 24 24", strokeWidth: "1.6", set: "core", body: "<path d=\"M4 7h16\"></path><path d=\"M10 7V5.5a1.5 1.5 0 0 1 1.5-1.5h1A1.5 1.5 0 0 1 14 5.5V7\"></path><path d=\"M6.5 7l.9 12.1a2 2 0 0 0 2 1.9h5.2a2 2 0 0 0 2-1.9L17.5 7\"></path>" },
47
+ "truck": { viewBox: "0 0 24 24", strokeWidth: "1.6", set: "core", body: "<path d=\"M3 6h11v10H3z\"></path><path d=\"M14 9h4l3 3v4h-7z\"></path><path d=\"M7.5 19a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zM17.5 19a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z\"></path>" },
48
+ "upload": { viewBox: "0 0 24 24", strokeWidth: "1.6", set: "core", body: "<path d=\"M12 20V9\"></path><path d=\"m7.5 13.5 4.5-4.5 4.5 4.5\"></path><path d=\"M5 4h14\"></path>" },
49
+ "user": { viewBox: "0 0 24 24", strokeWidth: "1.6", set: "core", body: "<path d=\"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2\"></path><path d=\"M12 11a4 4 0 1 0 0-8 4 4 0 0 0 0 8z\"></path>" },
50
+ };
51
+
52
+ export const directionPolicy = {
53
+ "schemaVersion": 1,
54
+ "cssClass": "dds-icon--directional",
55
+ "mirrorInRtl": [
56
+ "arrow-left",
57
+ "arrow-right",
58
+ "chevron-left",
59
+ "chevron-right"
60
+ ],
61
+ "keepDirection": [
62
+ "external-link",
63
+ "download",
64
+ "upload"
65
+ ]
66
+ };
package/dist/icons.svg ADDED
@@ -0,0 +1,50 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" style="display:none">
2
+ <!-- Generated by @devslab/dds-icons — do not edit. -->
3
+ <symbol id="dds-alert" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M10.3 3.9 1.9 18a2 2 0 0 0 1.7 3h16.8a2 2 0 0 0 1.7-3L13.7 3.9a2 2 0 0 0-3.4 0z"></path><path d="M12 9v4"></path><path d="M12 17h.01"></path></symbol>
4
+ <symbol id="dds-arrow-left" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M19 12H5"></path><path d="m11 18-6-6 6-6"></path></symbol>
5
+ <symbol id="dds-arrow-right" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14"></path><path d="m13 6 6 6-6 6"></path></symbol>
6
+ <symbol id="dds-calendar" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M19 5H5a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2z"></path><path d="M16 3v4M8 3v4M3 11h18"></path></symbol>
7
+ <symbol id="dds-cart" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M6 6h15l-1.6 8.6a2 2 0 0 1-2 1.6H9.2a2 2 0 0 1-2-1.7L5.5 4.2A1 1 0 0 0 4.5 3.4H3"></path><path d="M9 20.5a1 1 0 1 0 0-2 1 1 0 0 0 0 2zM18 20.5a1 1 0 1 0 0-2 1 1 0 0 0 0 2z"></path></symbol>
8
+ <symbol id="dds-chat" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M21 11.5a8 8 0 0 1-11.6 7.1L3 20.5l1.9-6.3A8 8 0 1 1 21 11.5z"></path></symbol>
9
+ <symbol id="dds-check" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M12 21a9 9 0 1 0 0-18 9 9 0 0 0 0 18z"></path><path d="m8.5 12.2 2.4 2.4 4.6-4.9"></path></symbol>
10
+ <symbol id="dds-chevron-down" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"></path></symbol>
11
+ <symbol id="dds-chevron-left" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="m15 6-6 6 6 6"></path></symbol>
12
+ <symbol id="dds-chevron-right" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="m9 6 6 6-6 6"></path></symbol>
13
+ <symbol id="dds-chevron-up" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="m6 15 6-6 6 6"></path></symbol>
14
+ <symbol id="dds-clock" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M12 21a9 9 0 1 0 0-18 9 9 0 0 0 0 18z"></path><path d="M12 7v5l3 2"></path></symbol>
15
+ <symbol id="dds-close" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M6 6l12 12"></path><path d="M18 6 6 18"></path></symbol>
16
+ <symbol id="dds-doc" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z"></path><path d="M14 3v5h5"></path><path d="M9 13h6M9 17h4"></path></symbol>
17
+ <symbol id="dds-download" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M12 4v11"></path><path d="m7.5 10.5 4.5 4.5 4.5-4.5"></path><path d="M5 20h14"></path></symbol>
18
+ <symbol id="dds-edit" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M4 20h4L19.4 8.6a2.3 2.3 0 0 0-3.2-3.2L4.8 16.8 4 20z"></path><path d="m14.5 6.5 3.2 3.2"></path></symbol>
19
+ <symbol id="dds-external-link" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M14 4h6v6"></path><path d="M20 4 11.5 12.5"></path><path d="M18 14.5V19a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 4 19V7.5A1.5 1.5 0 0 1 5.5 6H10"></path></symbol>
20
+ <symbol id="dds-gift" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M20 12v9H4v-9"></path><path d="M22 7H2v5h20V7z"></path><path d="M12 21V7"></path><path d="M12 7H7.5a2.5 2.5 0 0 1 0-5C11 2 12 7 12 7zM12 7h4.5a2.5 2.5 0 0 0 0-5C13 2 12 7 12 7z"></path></symbol>
21
+ <symbol id="dds-home" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="m3 10 9-7 9 7v10a1 1 0 0 1-1 1h-5v-6H9v6H4a1 1 0 0 1-1-1z"></path></symbol>
22
+ <symbol id="dds-info" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M12 21a9 9 0 1 0 0-18 9 9 0 0 0 0 18z"></path><path d="M12 11v5"></path><path d="M12 8h.01"></path></symbol>
23
+ <symbol id="dds-key" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M14.5 12a5 5 0 1 0-4.7-3.3L3 15.5V21h5.5v-2.5H11V16h2.5l1.3-1.3c-.2-.5-.3-1.1-.3-1.7z"></path><path d="M17.5 8.5h.01"></path></symbol>
24
+ <symbol id="dds-location" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0z"></path><path d="M12 12.5a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5z"></path></symbol>
25
+ <symbol id="dds-mail" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M4 5h16a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1z"></path><path d="m3.5 6.5 8.5 6 8.5-6"></path></symbol>
26
+ <symbol id="dds-menu" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M4 7h16"></path><path d="M4 12h16"></path><path d="M4 17h16"></path></symbol>
27
+ <symbol id="dds-minus" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14"></path></symbol>
28
+ <symbol id="dds-more-horizontal" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M6 12h.01"></path><path d="M12 12h.01"></path><path d="M18 12h.01"></path></symbol>
29
+ <symbol id="dds-parking" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M19 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2z"></path><path d="M9.5 17V7h3.2a3 3 0 0 1 0 6H9.5"></path></symbol>
30
+ <symbol id="dds-payment" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M21 6H3a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1z"></path><path d="M2 10h20"></path><path d="M6 14.5h3"></path></symbol>
31
+ <symbol id="dds-phone" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2 4.2 2 2 0 0 1 4 2h3a2 2 0 0 1 2 1.7c.1.9.4 1.8.7 2.6a2 2 0 0 1-.5 2.1L8.1 9.6a16 16 0 0 0 6 6l1.2-1.1a2 2 0 0 1 2.1-.5c.8.3 1.7.6 2.6.7a2 2 0 0 1 1.7 2z"></path></symbol>
32
+ <symbol id="dds-plus" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M12 5v14"></path><path d="M5 12h14"></path></symbol>
33
+ <symbol id="dds-refresh" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M20 12a8 8 0 1 1-2.4-5.7"></path><path d="M20.5 4v4.5H16"></path></symbol>
34
+ <symbol id="dds-search" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M11 18a7 7 0 1 0 0-14 7 7 0 0 0 0 14z"></path><path d="m16.2 16.2 4.3 4.3"></path></symbol>
35
+ <symbol id="dds-site-check-simple" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12.5L9.5 17L19 7.5"></path></symbol>
36
+ <symbol id="dds-site-growth" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M4 18V6"></path><path d="M4 18H20"></path><path d="M8 14L11 11L14 13L19 8"></path></symbol>
37
+ <symbol id="dds-site-mobile" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><rect x="7" y="3" width="10" height="18" rx="2"></rect><path d="M11 18H13"></path></symbol>
38
+ <symbol id="dds-site-moon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M20 14.5C19.1 18.1 15.8 20.7 12 20.7C7.4 20.7 3.7 17 3.7 12.4C3.7 8.6 6.3 5.3 9.9 4.4C8.9 5.6 8.3 7.1 8.3 8.8C8.3 12.7 11.5 15.9 15.4 15.9C17.2 15.9 18.8 15.3 20 14.5Z"></path></symbol>
39
+ <symbol id="dds-site-spark" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3L14.5 9.5L21 12L14.5 14.5L12 21L9.5 14.5L3 12L9.5 9.5L12 3Z"></path></symbol>
40
+ <symbol id="dds-site-strategy" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M4 18L10 12L14 16L20 8"></path><path d="M16 8H20V12"></path></symbol>
41
+ <symbol id="dds-site-sun" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="4"></circle><path d="M12 2V4.5M12 19.5V22M2 12H4.5M19.5 12H22M4.8 4.8L6.6 6.6M17.4 17.4L19.2 19.2M4.8 19.2L6.6 17.4M17.4 6.6L19.2 4.8"></path></symbol>
42
+ <symbol id="dds-star" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="m12 3 2.8 5.7 6.2.9-4.5 4.4 1 6.2-5.5-2.9-5.5 2.9 1-6.2L3 9.6l6.2-.9z"></path></symbol>
43
+ <symbol id="dds-tag" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M20.6 13.4 12 22l-9-9V4a1 1 0 0 1 1-1h9l7.6 7.6a2 2 0 0 1 0 2.8z"></path><path d="M7.5 7.5h.01"></path></symbol>
44
+ <symbol id="dds-team" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M17 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"></path><path d="M9.5 11a4 4 0 1 0 0-8 4 4 0 0 0 0 8z"></path><path d="M22 21v-2a4 4 0 0 0-3-3.9"></path><path d="M16 3.1a4 4 0 0 1 0 7.8"></path></symbol>
45
+ <symbol id="dds-tool" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M14.7 6.3a4 4 0 0 0 5.2 5.2L21 12l-8 8a3 3 0 0 1-4.2-4.2l8-8z"></path><path d="M6 6l3 3"></path></symbol>
46
+ <symbol id="dds-trash" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M4 7h16"></path><path d="M10 7V5.5a1.5 1.5 0 0 1 1.5-1.5h1A1.5 1.5 0 0 1 14 5.5V7"></path><path d="M6.5 7l.9 12.1a2 2 0 0 0 2 1.9h5.2a2 2 0 0 0 2-1.9L17.5 7"></path></symbol>
47
+ <symbol id="dds-truck" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M3 6h11v10H3z"></path><path d="M14 9h4l3 3v4h-7z"></path><path d="M7.5 19a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zM17.5 19a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z"></path></symbol>
48
+ <symbol id="dds-upload" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M12 20V9"></path><path d="m7.5 13.5 4.5-4.5 4.5 4.5"></path><path d="M5 4h14"></path></symbol>
49
+ <symbol id="dds-user" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"></path><path d="M12 11a4 4 0 1 0 0-8 4 4 0 0 0 0 8z"></path></symbol>
50
+ </svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M10.3 3.9 1.9 18a2 2 0 0 0 1.7 3h16.8a2 2 0 0 0 1.7-3L13.7 3.9a2 2 0 0 0-3.4 0z"></path><path d="M12 9v4"></path><path d="M12 17h.01"></path></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M19 12H5"></path><path d="m11 18-6-6 6-6"></path></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14"></path><path d="m13 6 6 6-6 6"></path></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M19 5H5a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2z"></path><path d="M16 3v4M8 3v4M3 11h18"></path></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M6 6h15l-1.6 8.6a2 2 0 0 1-2 1.6H9.2a2 2 0 0 1-2-1.7L5.5 4.2A1 1 0 0 0 4.5 3.4H3"></path><path d="M9 20.5a1 1 0 1 0 0-2 1 1 0 0 0 0 2zM18 20.5a1 1 0 1 0 0-2 1 1 0 0 0 0 2z"></path></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M21 11.5a8 8 0 0 1-11.6 7.1L3 20.5l1.9-6.3A8 8 0 1 1 21 11.5z"></path></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M12 21a9 9 0 1 0 0-18 9 9 0 0 0 0 18z"></path><path d="m8.5 12.2 2.4 2.4 4.6-4.9"></path></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"></path></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="m15 6-6 6 6 6"></path></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="m9 6 6 6-6 6"></path></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="m6 15 6-6 6 6"></path></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M12 21a9 9 0 1 0 0-18 9 9 0 0 0 0 18z"></path><path d="M12 7v5l3 2"></path></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M6 6l12 12"></path><path d="M18 6 6 18"></path></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z"></path><path d="M14 3v5h5"></path><path d="M9 13h6M9 17h4"></path></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M12 4v11"></path><path d="m7.5 10.5 4.5 4.5 4.5-4.5"></path><path d="M5 20h14"></path></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M4 20h4L19.4 8.6a2.3 2.3 0 0 0-3.2-3.2L4.8 16.8 4 20z"></path><path d="m14.5 6.5 3.2 3.2"></path></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M14 4h6v6"></path><path d="M20 4 11.5 12.5"></path><path d="M18 14.5V19a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 4 19V7.5A1.5 1.5 0 0 1 5.5 6H10"></path></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M20 12v9H4v-9"></path><path d="M22 7H2v5h20V7z"></path><path d="M12 21V7"></path><path d="M12 7H7.5a2.5 2.5 0 0 1 0-5C11 2 12 7 12 7zM12 7h4.5a2.5 2.5 0 0 0 0-5C13 2 12 7 12 7z"></path></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="m3 10 9-7 9 7v10a1 1 0 0 1-1 1h-5v-6H9v6H4a1 1 0 0 1-1-1z"></path></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M12 21a9 9 0 1 0 0-18 9 9 0 0 0 0 18z"></path><path d="M12 11v5"></path><path d="M12 8h.01"></path></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M14.5 12a5 5 0 1 0-4.7-3.3L3 15.5V21h5.5v-2.5H11V16h2.5l1.3-1.3c-.2-.5-.3-1.1-.3-1.7z"></path><path d="M17.5 8.5h.01"></path></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0z"></path><path d="M12 12.5a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5z"></path></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M4 5h16a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1z"></path><path d="m3.5 6.5 8.5 6 8.5-6"></path></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M4 7h16"></path><path d="M4 12h16"></path><path d="M4 17h16"></path></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14"></path></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M6 12h.01"></path><path d="M12 12h.01"></path><path d="M18 12h.01"></path></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M19 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2z"></path><path d="M9.5 17V7h3.2a3 3 0 0 1 0 6H9.5"></path></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M21 6H3a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1z"></path><path d="M2 10h20"></path><path d="M6 14.5h3"></path></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2 4.2 2 2 0 0 1 4 2h3a2 2 0 0 1 2 1.7c.1.9.4 1.8.7 2.6a2 2 0 0 1-.5 2.1L8.1 9.6a16 16 0 0 0 6 6l1.2-1.1a2 2 0 0 1 2.1-.5c.8.3 1.7.6 2.6.7a2 2 0 0 1 1.7 2z"></path></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M12 5v14"></path><path d="M5 12h14"></path></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M20 12a8 8 0 1 1-2.4-5.7"></path><path d="M20.5 4v4.5H16"></path></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M11 18a7 7 0 1 0 0-14 7 7 0 0 0 0 14z"></path><path d="m16.2 16.2 4.3 4.3"></path></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12.5L9.5 17L19 7.5"></path></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M4 18V6"></path><path d="M4 18H20"></path><path d="M8 14L11 11L14 13L19 8"></path></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><rect x="7" y="3" width="10" height="18" rx="2"></rect><path d="M11 18H13"></path></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M20 14.5C19.1 18.1 15.8 20.7 12 20.7C7.4 20.7 3.7 17 3.7 12.4C3.7 8.6 6.3 5.3 9.9 4.4C8.9 5.6 8.3 7.1 8.3 8.8C8.3 12.7 11.5 15.9 15.4 15.9C17.2 15.9 18.8 15.3 20 14.5Z"></path></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3L14.5 9.5L21 12L14.5 14.5L12 21L9.5 14.5L3 12L9.5 9.5L12 3Z"></path></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M4 18L10 12L14 16L20 8"></path><path d="M16 8H20V12"></path></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="4"></circle><path d="M12 2V4.5M12 19.5V22M2 12H4.5M19.5 12H22M4.8 4.8L6.6 6.6M17.4 17.4L19.2 19.2M4.8 19.2L6.6 17.4M17.4 6.6L19.2 4.8"></path></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="m12 3 2.8 5.7 6.2.9-4.5 4.4 1 6.2-5.5-2.9-5.5 2.9 1-6.2L3 9.6l6.2-.9z"></path></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M20.6 13.4 12 22l-9-9V4a1 1 0 0 1 1-1h9l7.6 7.6a2 2 0 0 1 0 2.8z"></path><path d="M7.5 7.5h.01"></path></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M17 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"></path><path d="M9.5 11a4 4 0 1 0 0-8 4 4 0 0 0 0 8z"></path><path d="M22 21v-2a4 4 0 0 0-3-3.9"></path><path d="M16 3.1a4 4 0 0 1 0 7.8"></path></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M14.7 6.3a4 4 0 0 0 5.2 5.2L21 12l-8 8a3 3 0 0 1-4.2-4.2l8-8z"></path><path d="M6 6l3 3"></path></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M4 7h16"></path><path d="M10 7V5.5a1.5 1.5 0 0 1 1.5-1.5h1A1.5 1.5 0 0 1 14 5.5V7"></path><path d="M6.5 7l.9 12.1a2 2 0 0 0 2 1.9h5.2a2 2 0 0 0 2-1.9L17.5 7"></path></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M3 6h11v10H3z"></path><path d="M14 9h4l3 3v4h-7z"></path><path d="M7.5 19a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zM17.5 19a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z"></path></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M12 20V9"></path><path d="m7.5 13.5 4.5-4.5 4.5 4.5"></path><path d="M5 4h14"></path></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"></path><path d="M12 11a4 4 0 1 0 0-8 4 4 0 0 0 0 8z"></path></svg>
package/package.json ADDED
@@ -0,0 +1,36 @@
1
+ {
2
+ "name": "@devslab/dds-icons",
3
+ "version": "0.3.0",
4
+ "description": "DDS icon set — one SVG source (24 grid, currentColor), shipped as files, a sprite and a path-data map",
5
+ "type": "module",
6
+ "license": "SEE LICENSE IN LICENSE",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "https://github.com/devslab-kr/dds.git",
10
+ "directory": "packages/dds-icons"
11
+ },
12
+ "publishConfig": {
13
+ "registry": "https://registry.npmjs.org",
14
+ "access": "public",
15
+ "provenance": true
16
+ },
17
+ "files": [
18
+ "dist",
19
+ "direction-policy.json"
20
+ ],
21
+ "main": "./dist/icons.js",
22
+ "types": "./dist/icons.d.ts",
23
+ "exports": {
24
+ ".": {
25
+ "types": "./dist/icons.d.ts",
26
+ "default": "./dist/icons.js"
27
+ },
28
+ "./icons.svg": "./dist/icons.svg",
29
+ "./direction-policy.json": "./direction-policy.json",
30
+ "./svg/*": "./dist/svg/*"
31
+ },
32
+ "scripts": {
33
+ "build": "node build.mjs",
34
+ "check": "node scripts/check-icons.mjs"
35
+ }
36
+ }