@keke1933/vibe-dictionary-mcp 0.3.0 → 0.5.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/dist/index.js +391 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -7,6 +7,183 @@ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"
|
|
|
7
7
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
8
8
|
import * as z from "zod/v4";
|
|
9
9
|
|
|
10
|
+
// ../../packages/catalog/src/additions/graphic-studio.ts
|
|
11
|
+
var GRAPHIC_STUDIO_ADDITIONS = [
|
|
12
|
+
{
|
|
13
|
+
id: "mg-halftone-dot-shading",
|
|
14
|
+
domain: "motion",
|
|
15
|
+
category: "graphic",
|
|
16
|
+
titleKo: "\uD558\uD504\uD1A4 \uB3C4\uD2B8 \uC74C\uC601",
|
|
17
|
+
titleEn: "Halftone Dot Shading",
|
|
18
|
+
summary: "\uC810\uC758 \uAC04\uACA9\uC740 \uC720\uC9C0\uD558\uACE0 \uBC18\uC9C0\uB984\uC744 \uC790\uB3D9\uC73C\uB85C \uBC14\uAFD4 \uAD6C\uCCB4\uC758 \uBE5B\uACFC \uC74C\uC601\uC744 \uD45C\uD604\uD558\uB294 \uBCA1\uD130 \uD558\uD504\uD1A4",
|
|
19
|
+
vibeTag: "\uC791\uC740 \uC810\uC73C\uB85C \uB9CC\uB4DC\uB294 \uAE4A\uC740 \uC74C\uC601",
|
|
20
|
+
vibeKeywords: ["\uD558\uD504\uD1A4", "\uB3C4\uD2B8 \uC74C\uC601", "\uB9DD\uC810", "\uC778\uC1C4 \uADF8\uB798\uD53D"],
|
|
21
|
+
promptSnippet: "\uC9C0\uC815\uD55C \uC601\uC5ED\uC5D0 SVG \uD558\uD504\uD1A4 \uAD6C\uCCB4\uB97C \uB9CC\uB4E4\uC5B4 \uC918. viewBox 260\xD7132\uC5D0 21\uC5F4\xD711\uD589\uC758 \uC810\uC744 10 \uAC04\uACA9\uC73C\uB85C \uBC30\uCE58\uD558\uACE0, \uC911\uC2EC (130,66)\xB7\uAC00\uB85C \uBC18\uACBD 96\xB7\uC138\uB85C \uBC18\uACBD 54\uC778 \uD0C0\uC6D0 \uBC16\uC740 \uBC18\uC9C0\uB984 0.5\uC758 \uC605\uC740 \uC810\uC73C\uB85C \uB0A8\uACA8 \uC918. \uC548\uCABD\uC740 nx=(x-130)/96, ny=(y-66)/54, light=max(0,1-hypot(nx+0.35,ny+0.4)/1.8), r=0.9+(1-light)^(1.9-contrast/70)\xD73.6\uC73C\uB85C \uBC18\uC9C0\uB984\uC744 \uACC4\uC0B0\uD574 \uC67C\uCABD \uC704\uC5D0\uC11C \uBE5B\uC744 \uBC1B\uC740 \uB4EF \uD45C\uD604\uD574 \uC918. \uC810 \uB300\uBE44\uB294 \uCD08\uAE30 55\uC5D0\uC11C \uC99D\uAC00\uD558\uBA70 0~100 \uC0AC\uC774\uB97C \uC655\uBCF5\uD558\uACE0 8\uCD08\uB9C8\uB2E4 \uCC98\uC74C \uAC12\uC73C\uB85C \uB3CC\uC544\uC624\uB294 \uC5F0\uC18D \uC790\uB3D9 \uC2DC\uC5F0\uC73C\uB85C \uC810 \uD06C\uAE30\uB9CC \uAC31\uC2E0\uD574 \uC918. \uBCF4\uB77C\uC0C9 \uC810\uC740 \uB2E4\uD06C \uBAA8\uB4DC\uC5D0\uC11C \uBC1D\uAC8C \uBC14\uAFB8\uACE0 \uAC04\uACA9\xB7\uC704\uCE58\uB294 \uC720\uC9C0\uD574 \uC918. \uACE0\uC815 \uC218\uC2DD\uC73C\uB85C \uADF8\uB9B0 \uB3C4\uD615\uC774\uBA70 \uC774\uBBF8\uC9C0 \uC5C5\uB85C\uB4DC\xB7\uD53D\uC140 \uBD84\uC11D\uC740 \uC5C6\uC5B4. \uC2AC\uB77C\uC774\uB354\uB294 \uB450\uC9C0 \uB9D0\uACE0 \uB370\uBAA8 \uD074\uB9AD \uC2DC \uC774\uC804 \uC2DC\uACC4\uB97C \uCD08\uAE30\uD654\uD574 \uCC98\uC74C\uBD80\uD130 \uC7AC\uC0DD\uD574 \uC918. \uD654\uBA74 \uBC16\xB7\uC228\uACA8\uC9C4 \uD0ED\uC5D0\uC11C\uB294 \uC2DC\uACC4\uB97C \uBA48\uCD94\uACE0 \uBAA8\uC158 \uAC10\uC18C \uC124\uC815\uC5D0\uC11C\uB294 \uCD08\uAE30 \uC815\uC9C0 \uD654\uBA74\uC744 \uBCF4\uC5EC \uC918. \uC811\uADFC\uC131 \uC774\uB984\xB7\uC591\uD14C\uB9C8\xB7\uC881\uC740 \uD3ED\uC744 \uC9C0\uC6D0\uD574 \uC918."
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
id: "mg-isometric-voxel-landscape",
|
|
25
|
+
domain: "motion",
|
|
26
|
+
category: "graphic",
|
|
27
|
+
titleKo: "\uC544\uC774\uC18C\uBA54\uD2B8\uB9AD \uBCF5\uC140 \uC9C0\uD615",
|
|
28
|
+
titleEn: "Isometric Voxel Landscape",
|
|
29
|
+
summary: "\uC791\uC740 \uBE14\uB85D 36\uAC1C\uC758 \uB192\uC774\uAC00 \uC790\uB3D9\uC73C\uB85C \uC624\uB974\uB0B4\uB9AC\uBA70 \uD3C9\uD3C9\uD55C \uD0C0\uC77C\uBD80\uD130 \uBD09\uC6B0\uB9AC\uAE4C\uC9C0 \uBC14\uB00C\uB294 SVG \uC9C0\uD615",
|
|
30
|
+
vibeTag: "\uD3C9\uBA74 \uC704\uC5D0 \uC313\uC544 \uC62C\uB9B0 \uC791\uC740 \uC138\uACC4",
|
|
31
|
+
vibeKeywords: ["\uBCF5\uC140", "\uC544\uC774\uC18C\uBA54\uD2B8\uB9AD \uC9C0\uD615", "\uB4F1\uAC01 \uBE14\uB85D", "\uBE14\uB85D \uC9C0\uD615"],
|
|
32
|
+
promptSnippet: "\uC9C0\uC815\uD55C \uC601\uC5ED\uC5D0 SVG\uB85C 6\xD76 \uC544\uC774\uC18C\uBA54\uD2B8\uB9AD \uBE14\uB85D \uC9C0\uD615\uC744 \uB9CC\uB4E4\uC5B4 \uC918. viewBox 260\xD7132\uC5D0\uC11C row,col 0~5\uB97C x=130+(col-row)\xD717, y=34+(col+row)\xD78\uC5D0 \uD22C\uC601\uD558\uACE0 row+col \uC624\uB984\uCC28\uC21C\uC73C\uB85C \uB4A4\uC5D0\uC11C \uC55E\uC73C\uB85C \uADF8\uB824 \uC918. \uAC01 \uBE14\uB85D\uC758 \uB192\uC774\uB294 4+height/100\xD7(8+37\xD7exp(-((col-2.5)^2+(row-2.5)^2)/4))\uB85C \uC911\uC2EC\uC774 \uC19F\uAC8C \uACC4\uC0B0\uD574 \uC918. \uBC18\uD3ED 17\xB7\uBC18\uB192\uC774 8\uC758 \uB9C8\uB984\uBAA8 \uC717\uBA74\uACFC \uB450 \uC606\uBA74\uC744 \uB530\uB85C \uADF8\uB9AC\uACE0 \uC88C\uBA74 \uC9C4\uD55C \uCCAD\uB85D\xB7\uC6B0\uBA74 \uD30C\uB791\xB7\uC717\uBA74 \uBC1D\uC740 \uBBFC\uD2B8\uB85C \uAD6C\uBD84\uD574 \uC918. \uC9C0\uD615 \uB192\uC774\uB294 \uCD08\uAE30 65\uC5D0\uC11C \uC99D\uAC00\uD558\uBA70 0~100 \uC0AC\uC774\uB97C \uC655\uBCF5\uD558\uACE0 8\uCD08\uB9C8\uB2E4 \uCC98\uC74C \uAC12\uC73C\uB85C \uB3CC\uC544\uC624\uB3C4\uB85D \uBAA8\uB4E0 \uBA74 \uC88C\uD45C\uB97C \uC790\uB3D9 \uAC31\uC2E0\uD574 \uC918. 0\uC5D0\uC11C\uB3C4 \uAE30\uBCF8 \uB450\uAED8 4\uB97C \uC720\uC9C0\uD574 \uC918. \uC2E4\uC81C 3D \uC5D4\uC9C4\xB7\uCE74\uBA54\uB77C \uD68C\uC804\xB7\uC678\uBD80 \uC9C0\uB3C4 \uB370\uC774\uD130\uB294 \uC5C6\uB294 2D \uBCA1\uD130 \uB370\uBAA8\uC57C. \uC2AC\uB77C\uC774\uB354 \uC5C6\uC774 \uC790\uB3D9 \uC2DC\uC5F0\uD558\uACE0 \uB370\uBAA8 \uD074\uB9AD \uC2DC \uC774\uC804 \uC2DC\uACC4\uB97C \uCD08\uAE30\uD654\uD574 \uCC98\uC74C\uBD80\uD130 \uC7AC\uC0DD\uD574 \uC918. \uD654\uBA74 \uBC16\xB7\uC228\uACA8\uC9C4 \uD0ED\uC5D0\uC11C\uB294 \uBA48\uCD94\uACE0 \uBAA8\uC158 \uAC10\uC18C \uC124\uC815\uC5D0\uC11C\uB294 \uCD08\uAE30 \uC815\uC9C0 \uD654\uBA74\uC744 \uBCF4\uC5EC \uC918. \uC591\uD14C\uB9C8\xB7\uC811\uADFC\uC131 \uC774\uB984\xB7\uC881\uC740 \uD654\uBA74\uC744 \uC9C0\uC6D0\uD574 \uC918."
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
id: "mg-ribbon-over-under-weave",
|
|
36
|
+
domain: "motion",
|
|
37
|
+
category: "graphic",
|
|
38
|
+
titleKo: "\uAD50\uCC28 \uB9AC\uBCF8 \uC9C1\uC870",
|
|
39
|
+
titleEn: "Over Under Ribbon Weave",
|
|
40
|
+
summary: "\uAC00\uB85C\xB7\uC138\uB85C \uB9AC\uBCF8\uC774 \uAD50\uCC28\uC810\uB9C8\uB2E4 \uC704\uC544\uB798\uB85C \uBC88\uAC08\uC544 \uC9C0\uB098\uAC00\uBA70 4\uCD08\uB9C8\uB2E4 \uC9C1\uC870 \uC21C\uC11C\uAC00 \uC790\uB3D9 \uBC18\uC804",
|
|
41
|
+
vibeTag: "\uACB9\uCE58\uB294 \uC21C\uC11C\uB9CC\uC73C\uB85C \uC0B4\uC544\uB098\uB294 \uC9DC\uC784",
|
|
42
|
+
vibeKeywords: ["\uB9AC\uBCF8 \uC9C1\uC870", "\uAD50\uCC28 \uD328\uD134", "\uC704\uC544\uB798 \uACB9\uCE68", "\uC9C1\uBB3C \uADF8\uB798\uD53D"],
|
|
43
|
+
promptSnippet: "\uC9C0\uC815\uD55C \uC601\uC5ED\uC5D0 \uBCF4\uB77C\uC0C9 \uAC00\uB85C \uB9AC\uBCF8 4\uAC1C\uC640 \uAE08\uC0C9 \uC138\uB85C \uB9AC\uBCF8 4\uAC1C\uAC00 \uAD50\uCC28\uD558\uB294 SVG \uC9C1\uC870 \uADF8\uB798\uD53D\uC744 \uB9CC\uB4E4\uC5B4 \uC918. viewBox 260\xD7132, \uB9AC\uBCF8 \uD3ED 17, \uC138\uB85C \uB9AC\uBCF8 x=81+col\xD727, \uAC00\uB85C \uB9AC\uBCF8 y=20+row\xD726\uC73C\uB85C \uBC30\uCE58\uD558\uACE0 \uC804\uCCB4\uB97C \uC911\uC2EC (130,66)\uC5D0\uC11C -12\uB3C4 \uD68C\uC804\uD574 \uC918. \uC138\uB85C \uB9AC\uBCF8\uC744 \uBA3C\uC800 \uADF8\uB9AC\uACE0 \uAC00\uB85C \uB9AC\uBCF8\uC744 \uACB9\uCE5C \uB2E4\uC74C (row+col)%2\uAC00 0\uC778 \uAD50\uCC28\uC810\uB9CC \uAE08\uC0C9 \uB36E\uAC1C\uC640 \uC587\uC740 \uD558\uC774\uB77C\uC774\uD2B8\xB7\uC591\uC606 \uADF8\uB9BC\uC790\uB97C \uC5B9\uC5B4 \uC138\uB85C\uAC00 \uC704\uB97C \uD1B5\uACFC\uD558\uAC8C \uD574 \uC918. \uBC18\uC804 \uBC84\uD2BC \uC5C6\uC774 4\uCD08\uB9C8\uB2E4 \uC9DD\uC218\xB7\uD640\uC218 \uAD50\uCC28 \uC870\uAC74\uC744 \uC804\uD658\uD558\uACE0 8\uCD08\uB9C8\uB2E4 \uC6D0\uB798 \uC9DC\uC784\uC73C\uB85C \uB3CC\uC544\uC624\uAC8C \uD574 \uC918. \uB370\uBAA8 \uD074\uB9AD \uC2DC \uC774\uC804 \uC2DC\uACC4\uB97C \uCD08\uAE30\uD654\uD574 \uC9DD\uC218 \uAD50\uCC28\uBD80\uD130 \uB2E4\uC2DC \uC7AC\uC0DD\uD574 \uC918. \uD654\uBA74 \uBC16\xB7\uC228\uACA8\uC9C4 \uD0ED\uC5D0\uC11C\uB294 \uBA48\uCD94\uACE0 \uBAA8\uC158 \uAC10\uC18C \uC124\uC815\uC5D0\uC11C\uB294 \uCD08\uAE30 \uC9DC\uC784\uC744 \uC815\uC9C0 \uC0C1\uD0DC\uB85C \uBCF4\uC5EC \uC918. \uB4DC\uB798\uADF8\xB7\uBB3C\uB9AC \uC2DC\uBBAC\uB808\uC774\uC158\uC740 \uC5C6\uC5B4. \uC811\uADFC\uC131 \uC774\uB984\xB7\uC591\uD14C\uB9C8\xB7\uBAA8\uBC14\uC77C \uD3ED\uC744 \uC9C0\uC6D0\uD574 \uC918."
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
id: "mg-guilloche-curve-engraving",
|
|
47
|
+
domain: "motion",
|
|
48
|
+
category: "graphic",
|
|
49
|
+
titleKo: "\uAE30\uC694\uC170 \uACE1\uC120 \uBB38\uC591",
|
|
50
|
+
titleEn: "Guilloche Curve Engraving",
|
|
51
|
+
summary: "\uAC00\uB290\uB2E4\uB780 \uD3D0\uACE1\uC120\uC744 \uD06C\uAE30\uC640 \uAC01\uB3C4\uB97C \uC870\uAE08\uC529 \uB2EC\uB9AC\uD574 \uACB9\uCE58\uACE0 \uAD74\uACE1 \uAC1C\uC218\uAC00 \uC790\uB3D9 \uBCC0\uD654\uD558\uB294 \uC815\uAD50\uD55C \uBB38\uC591",
|
|
52
|
+
vibeTag: "\uC778\uC99D\uC11C\uC640 \uD328\uD0A4\uC9C0\uC5D0 \uC5B4\uC6B8\uB9AC\uB294 \uACE1\uC120 \uAC01\uC778",
|
|
53
|
+
vibeKeywords: ["\uAE30\uC694\uC170", "\uAE38\uB85C\uC170", "\uACE1\uC120 \uAC01\uC778", "\uC778\uC99D\uC11C \uBB38\uC591"],
|
|
54
|
+
promptSnippet: "\uC9C0\uC815\uD55C \uC601\uC5ED\uC5D0 SVG \uAE30\uC694\uC170 \uBB38\uC591\uC744 \uB9CC\uB4E4\uC5B4 \uC918. viewBox 260\xD7132\uC5D0\uC11C t=0~2\u03C0\uB97C 1440\uAD6C\uAC04\uC73C\uB85C \uC0D8\uD50C\uB9C1\uD558\uACE0 r=41+16\xD7cos(lobes\xD7t), x=130+1.8\xD7r\xD7cos(t), y=66+r\xD7sin(t)\uB85C \uB2EB\uD78C \uACE1\uC120\uC744 \uC0DD\uC131\uD574 \uC918. \uC774 \uACE1\uC120\uC744 9\uACB9 \uADF8\uB9AC\uB418 i\uBC88\uC9F8\uB294 \uC911\uC2EC (130,66) \uAE30\uC900 \uBC30\uC728 1-i\xD70.035\xB7\uD68C\uC804 i\xD71.5\uB3C4\xB7\uBD88\uD22C\uBA85\uB3C4 1-i\xD70.055\uB97C \uC801\uC6A9\uD574 \uC918. \uCC44\uC6C0 \uC5C6\uC774 0.65 \uB450\uAED8\uC758 \uCCAD\uB85D\u2192\uBCF4\uB77C \uC120\uD615 \uADF8\uB77C\uB370\uC774\uC158 \uC120\uC744 \uC0AC\uC6A9\uD558\uACE0 SVG \uADF8\uB77C\uB370\uC774\uC158 ID\uB294 \uC778\uC2A4\uD134\uC2A4\uBCC4\uB85C \uBD84\uB9AC\uD574 \uC918. \uAD74\uACE1 \uAC1C\uC218\uB294 \uCD08\uAE30 9\uC5D0\uC11C \uC99D\uAC00\uD558\uBA70 \uC815\uC218 5~14 \uC0AC\uC774\uB97C \uC655\uBCF5\uD558\uACE0 8\uCD08\uB9C8\uB2E4 \uCC98\uC74C \uAC12\uC73C\uB85C \uB3CC\uC544\uC624\uB3C4\uB85D \uACE1\uC120\uC744 \uC790\uB3D9 \uAC31\uC2E0\uD574 \uC918. \uC5F0\uC18D \uC655\uBCF5\uAC12\uC744 \uAC00\uC7A5 \uAC00\uAE4C\uC6B4 \uC815\uC218\uB85C \uBC18\uC62C\uB9BC\uD574 \uB2EB\uD78C \uACE1\uC120\uC744 \uC720\uC9C0\uD574 \uC918. \uC7A5\uC2DD\uC6A9 \uBB38\uC591\uC73C\uB85C \uC704\uC870 \uBC29\uC9C0 \uBCF4\uC548 \uAE30\uB2A5\uC740 \uC5C6\uC5B4. \uC2AC\uB77C\uC774\uB354 \uC5C6\uC774 \uC790\uB3D9 \uC2DC\uC5F0\uD558\uACE0 \uB370\uBAA8 \uD074\uB9AD \uC2DC \uC774\uC804 \uC2DC\uACC4\uB97C \uCD08\uAE30\uD654\uD574 \uCC98\uC74C\uBD80\uD130 \uC7AC\uC0DD\uD574 \uC918. \uD654\uBA74 \uBC16\xB7\uC228\uACA8\uC9C4 \uD0ED\uC5D0\uC11C\uB294 \uBA48\uCD94\uACE0 \uBAA8\uC158 \uAC10\uC18C \uC124\uC815\uC5D0\uC11C\uB294 \uCD08\uAE30 \uC815\uC9C0 \uBB38\uC591\uC744 \uBCF4\uC5EC \uC918. \uC811\uADFC\uC131 \uC774\uB984\xB7\uC591\uD14C\uB9C8\xB7\uC881\uC740 \uD3ED\uC744 \uC9C0\uC6D0\uD574 \uC918."
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
id: "mg-gradient-stroke-ribbon",
|
|
58
|
+
domain: "motion",
|
|
59
|
+
category: "graphic",
|
|
60
|
+
titleKo: "\uADF8\uB77C\uB370\uC774\uC158 \uACE1\uC120 \uB9AC\uBCF8",
|
|
61
|
+
titleEn: "Gradient Stroke Ribbon",
|
|
62
|
+
summary: "\uCCAD\uB85D\xB7\uBCF4\uB77C\xB7\uBD84\uD64D \uC0C9 \uD750\uB984\uACFC \uD558\uC774\uB77C\uC774\uD2B8\uB97C \uAC00\uC9C4 \uB450\uAEBC\uC6B4 \uACE1\uC120\uC774 \uC790\uB3D9\uC73C\uB85C \uAD7D\uD600\uC9C0\uB294 \uBCA1\uD130 \uB9AC\uBCF8",
|
|
63
|
+
vibeTag: "\uD55C \uC904\uC758 \uACE1\uC120\uC73C\uB85C \uB9CC\uB4DC\uB294 \uCEEC\uB7EC \uC624\uBE0C\uC81D\uD2B8",
|
|
64
|
+
vibeKeywords: ["\uADF8\uB77C\uB370\uC774\uC158 \uB9AC\uBCF8", "\uACE1\uC120 \uC2A4\uD2B8\uB85C\uD06C", "\uCEEC\uB7EC \uB9AC\uBCF8", "\uBE0C\uB79C\uB4DC \uADF8\uB798\uD53D"],
|
|
65
|
+
promptSnippet: "\uC9C0\uC815\uD55C \uC601\uC5ED\uC5D0 SVG \uADF8\uB77C\uB370\uC774\uC158 \uB9AC\uBCF8\uC744 \uB9CC\uB4E4\uC5B4 \uC918. viewBox 260\xD7132\uC5D0\uC11C \uC2DC\uC791 (35,98), \uB05D (225,34), \uC81C\uC5B4\uC810 (65+bend/3,98-bend\xD71.25)\uC640 (185-bend/3,34+bend\xD71.25)\uC758 3\uCC28 \uBCA0\uC9C0\uC5B4 \uACE1\uC120\uC744 \uC0AC\uC6A9\uD574 \uC918. \uCC44\uC6C0 \uC5C6\uC774 \uB450\uAED8 28\xB7\uB465\uADFC \uB05D\uC73C\uB85C \uADF8\uB9AC\uACE0 userSpaceOnUse \uC120\uD615 \uADF8\uB77C\uB370\uC774\uC158\uC744 \uC591 \uB05D \uC88C\uD45C\uC5D0 \uACE0\uC815\uD574 \uCCAD\uB85D\u2192\uBCF4\uB77C\u2192\uBD84\uD64D\uC73C\uB85C \uCE60\uD574 \uC918. \uAC19\uC740 \uACBD\uB85C\uB97C \uC544\uB798 7 \uC774\uB3D9\xB7\uBD88\uD22C\uBA85\uB3C4 0.18\uC758 \uBCF4\uB77C \uADF8\uB9BC\uC790\uB85C \uAE54\uACE0, \uC704 7 \uC774\uB3D9\xB7\uB450\uAED8 1.5\xB7\uBD88\uD22C\uBA85\uB3C4 0.5\uC758 \uD770 \uD558\uC774\uB77C\uC774\uD2B8\uB97C \uC5B9\uC5B4 \uC918. \uB450 \uB05D\uC5D0\uB294 \uBC1D\uC740 \uBC18\uC9C0\uB984 4 \uC6D0\uC744 \uD45C\uC2DC\uD574 \uC918. \uB9AC\uBCF8 \uAD7D\uD798\uC740 \uCD08\uAE30 60\uC5D0\uC11C \uC99D\uAC00\uD558\uBA70 0~100 \uC0AC\uC774\uB97C \uC655\uBCF5\uD558\uACE0 8\uCD08\uB9C8\uB2E4 \uCC98\uC74C \uAC12\uC73C\uB85C \uB3CC\uC544\uC624\uB3C4\uB85D \uC81C\uC5B4\uC810\uB9CC \uC790\uB3D9 \uAC31\uC2E0\uD558\uACE0 \uB05D\uC810\uC740 \uC720\uC9C0\uD574 \uC918. \uADF8\uB77C\uB370\uC774\uC158 ID\uB294 \uC778\uC2A4\uD134\uC2A4\uBCC4\uB85C \uBD84\uB9AC\uD574 \uC918. \uC2AC\uB77C\uC774\uB354 \uC5C6\uC774 \uC790\uB3D9 \uC2DC\uC5F0\uD558\uACE0 \uB370\uBAA8 \uD074\uB9AD \uC2DC \uC774\uC804 \uC2DC\uACC4\uB97C \uCD08\uAE30\uD654\uD574 \uCC98\uC74C\uBD80\uD130 \uC7AC\uC0DD\uD574 \uC918. \uD654\uBA74 \uBC16\xB7\uC228\uACA8\uC9C4 \uD0ED\uC5D0\uC11C\uB294 \uBA48\uCD94\uACE0 \uBAA8\uC158 \uAC10\uC18C \uC124\uC815\uC5D0\uC11C\uB294 \uCD08\uAE30 \uC815\uC9C0 \uD654\uBA74\uC744 \uBCF4\uC5EC \uC918. \uC2E4\uC81C 3D \uC7AC\uC9C8\xB7\uBB3C\uB9AC \uC2DC\uBBAC\uB808\uC774\uC158\uC740 \uC5C6\uC5B4. \uC811\uADFC\uC131 \uC774\uB984\xB7\uC591\uD14C\uB9C8\xB7\uC881\uC740 \uD3ED\uC744 \uC9C0\uC6D0\uD574 \uC918."
|
|
66
|
+
}
|
|
67
|
+
];
|
|
68
|
+
|
|
69
|
+
// ../../packages/catalog/src/additions/workflows.ts
|
|
70
|
+
var WORKFLOW_ADDITIONS = [
|
|
71
|
+
{
|
|
72
|
+
id: "billing-cycle-pricing-card",
|
|
73
|
+
domain: "ui",
|
|
74
|
+
category: "card",
|
|
75
|
+
titleKo: "\uC6D4\uAC04\xB7\uC5F0\uAC04 \uC694\uAE08 \uBE44\uAD50 \uCE74\uB4DC",
|
|
76
|
+
titleEn: "Billing Cycle Pricing Card",
|
|
77
|
+
summary: "\uACB0\uC81C \uC8FC\uAE30 \uBC84\uD2BC\uC744 \uB204\uB974\uBA74 \uC6D4 \uD658\uC0B0 \uAC00\uACA9\xB7\uC2E4\uC81C \uCCAD\uAD6C \uAE08\uC561\xB7\uC5F0\uAC04 \uC808\uC57D\uC561\uC774 \uD568\uAED8 \uBC14\uB00C\uB294 \uC694\uAE08 \uCE74\uB4DC",
|
|
78
|
+
vibeTag: "\uAC00\uACA9\uACFC \uACB0\uC81C \uC870\uAC74\uC744 \uD55C\uB208\uC5D0",
|
|
79
|
+
vibeKeywords: ["\uC694\uAE08\uC81C", "\uACB0\uC81C \uC8FC\uAE30", "\uC5F0\uAC04 \uD560\uC778", "\uAC00\uACA9 \uBE44\uAD50 \uCE74\uB4DC"],
|
|
80
|
+
promptSnippet: "\uC9C0\uC815\uD55C \uC601\uC5ED\uC5D0 Studio \uC694\uAE08 \uCE74\uB4DC\uC640 \uC6D4\uAC04\xB7\uC5F0\uAC04 \uB450 \uBC84\uD2BC\uC744 \uB9CC\uB4E4\uC5B4 \uC918. \uC6D4\uAC04\uC744 \uCD08\uAE30 \uC120\uD0DD\uD558\uACE0 \uC6D4 $20\xB7\uB9E4\uC6D4 $20 \uCCAD\uAD6C\uB97C \uD45C\uC2DC\uD574 \uC918. \uC5F0\uAC04 \uC120\uD0DD \uC2DC \uC6D4 \uD658\uC0B0 $16\xB7\uC5F0 $192 \uCCAD\uAD6C\xB7\uC5F0 $48 \uC808\uC57D\uC73C\uB85C \uD568\uAED8 \uBC14\uAFD4 \uC918. \uC0C1\uB2E8\uC5D0\uB294 \uC5F0\uAC04 20% \uC808\uC57D \uBC30\uC9C0\uB97C \uB450\uACE0 \uC6D4 \uD658\uC0B0\uC561\uACFC \uC2E4\uC81C \uCCAD\uAD6C \uC8FC\uAE30\uB97C \uAD6C\uBD84\uD574 \uC918. \uC120\uD0DD \uBC84\uD2BC\uC758 aria-pressed\uC640 \uBC1D\uC740 \uD544 \uBC30\uACBD\uC744 \uB3D9\uAE30\uD654\uD558\uACE0 \uAC00\uACA9\uC740 aria-live polite\uB85C \uC54C\uB824 \uC918. \uBC84\uD2BC\uC740 Enter\xB7Space\uB85C \uC791\uB3D9\uD558\uBA70 \uC120\uD0DD\uC740 \uC790\uB3D9\uC73C\uB85C \uBC14\uB00C\uC9C0 \uC54A\uC544. \uB370\uBAA8\uC6A9 USD \uACE0\uC815 \uAE08\uC561\uC774\uBA70 \uC2E4\uC81C \uACB0\uC81C\xB7\uAC00\uC785\xB7\uD658\uC728\xB7\uC138\uAE08 \uACC4\uC0B0\uC740 \uC5C6\uC5B4. \uC881\uC740 \uCE74\uB4DC\xB7\uD55C\uC601 \uBB38\uAD6C\xB7\uB77C\uC774\uD2B8/\uB2E4\uD06C \uB300\uBE44\uC640 \uD3EC\uCEE4\uC2A4 \uC724\uACFD\uC744 \uC9C0\uC6D0\uD574 \uC918."
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
id: "faceted-filter-chips",
|
|
84
|
+
domain: "ui",
|
|
85
|
+
category: "control",
|
|
86
|
+
titleKo: "\uB2E4\uC911 \uC870\uAC74 \uD544\uD130 \uCE69",
|
|
87
|
+
titleEn: "Faceted Filter Chips",
|
|
88
|
+
summary: "\uB514\uC790\uC778\xB7\uC900\uBE44 \uC644\uB8CC \uC870\uAC74\uC744 \uC870\uD569\uD558\uBA74 \uBAA9\uB85D\uACFC \uACB0\uACFC \uAC1C\uC218\uAC00 \uBC14\uB00C\uACE0 \uCE69 \uC7AC\uD074\uB9AD\uC774\uB098 \uCD08\uAE30\uD654\uB85C \uC870\uAC74\uC744 \uD574\uC81C",
|
|
89
|
+
vibeTag: "\uD544\uC694\uD55C \uC870\uAC74\uB9CC \uB0A8\uAE30\uB294 \uC791\uC740 \uCE69",
|
|
90
|
+
vibeKeywords: ["\uD544\uD130 \uCE69", "\uB2E4\uC911 \uC870\uAC74", "\uD328\uC2EF \uAC80\uC0C9", "\uD544\uD130 \uCD08\uAE30\uD654"],
|
|
91
|
+
promptSnippet: "\uC9C0\uC815\uD55C \uCE74\uB4DC\uC5D0 \uC790\uB8CC \uBAA9\uB85D\xB7\uACB0\uACFC \uAC1C\uC218\xB7\uB514\uC790\uC778\uACFC \uC900\uBE44 \uC644\uB8CC \uD544\uD130 \uCE69\uC744 \uB9CC\uB4E4\uC5B4 \uC918. \uCD08\uAE30\uC5D0\uB294 \uC870\uAC74 \uC5C6\uC774 \uBE0C\uB79C\uB4DC \uAE30\uD68D\uC11C(\uB514\uC790\uC778\xB7\uC900\uBE44 \uC644\uB8CC), \uC0AC\uC6A9\uC790 \uC870\uC0AC(\uC900\uBE44 \uC644\uB8CC), \uC544\uC774\uCF58 \uC5D0\uC14B(\uB514\uC790\uC778\xB7\uCD08\uC548) \uC138 \uD589\uC744 \uBCF4\uC5EC \uC918. \uB450 \uD544\uD130\uB294 \uB3C5\uB9BD boolean\uC774\uBA70 \uB3D9\uC2DC\uC5D0 \uCF1C\uBA74 AND \uC870\uAC74\uC73C\uB85C \uBE0C\uB79C\uB4DC \uAE30\uD68D\uC11C\uB9CC \uB0A8\uACA8 \uC918. \uD65C\uC131 \uCE69\uC740 \uC0C9\uC0C1\xB7\uD14C\uB450\uB9AC\xB7X \uC544\uC774\uCF58\uACFC aria-pressed\uB85C \uD45C\uC2DC\uD558\uACE0 \uCE69 \uC804\uCCB4 \uC7AC\uD074\uB9AD\uC73C\uB85C \uD574\uB2F9 \uC870\uAC74\uC744 \uD574\uC81C\uD574 \uC918. \uC804\uCCB4 \uCD08\uAE30\uD654\uB294 \uB450 \uC870\uAC74\uC744 \uB044\uACE0 \uC870\uAC74\uC774 \uC5C6\uC73C\uBA74 \uBE44\uD65C\uC131\uD654\uD574 \uC918. \uACB0\uACFC \uAC1C\uC218\uB294 aria-live polite\uB85C \uC54C\uB9AC\uACE0 \uD589\uC5D0\uB294 \uC0C1\uD0DC \uC810\uC758 \uC811\uADFC\uC131 \uC774\uB984\uC744 \uC81C\uACF5\uD574 \uC918. \uBAA9\uB85D \uACF5\uAC04\uC744 \uC720\uC9C0\uD574 \uCE74\uB4DC\uAC00 \uD280\uC9C0 \uC54A\uAC8C \uD558\uBA70 \uBC84\uD2BC\uC740 \uD0A4\uBCF4\uB4DC\uB85C \uC870\uC791 \uAC00\uB2A5\uD558\uAC8C \uD574 \uC918. \uB85C\uCEEC \uACE0\uC815 \uB370\uC774\uD130\uB9CC \uC0AC\uC6A9\uD558\uBA70 \uB124\uD2B8\uC6CC\uD06C \uAC80\uC0C9\xB7\uC790\uB3D9 \uD544\uD130 \uBCC0\uACBD\uC740 \uC5C6\uC5B4. \uC591\uD14C\uB9C8\uC640 \uBAA8\uBC14\uC77C \uD3ED\uC744 \uC9C0\uC6D0\uD574 \uC918."
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
id: "bulk-selection-action-bar",
|
|
95
|
+
domain: "layout",
|
|
96
|
+
category: "panel",
|
|
97
|
+
titleKo: "\uC120\uD0DD \uD56D\uBAA9 \uC77C\uAD04 \uC791\uC5C5 \uBC14",
|
|
98
|
+
titleEn: "Bulk Selection Action Bar",
|
|
99
|
+
summary: "\uBB38\uC11C\uB97C \uC120\uD0DD\uD558\uBA74 \uC120\uD0DD \uAC1C\uC218\uC640 \uBCF4\uAD00 \uBC84\uD2BC\uC774 \uB098\uD0C0\uB098\uBA70 \uC77C\uBD80 \uC120\uD0DD\xB7\uC804\uCCB4 \uC120\uD0DD\xB7\uC791\uC5C5 \uD6C4 \uC120\uD0DD \uD574\uC81C\uB97C \uC5F0\uACB0",
|
|
100
|
+
vibeTag: "\uC120\uD0DD\uD55C \uD56D\uBAA9\uC5D0\uB9CC \uB098\uD0C0\uB098\uB294 \uC791\uC5C5 \uB3C4\uAD6C",
|
|
101
|
+
vibeKeywords: ["\uC77C\uAD04 \uC791\uC5C5", "\uB2E4\uC911 \uC120\uD0DD", "\uC120\uD0DD \uC561\uC158 \uBC14", "\uC77C\uAD04 \uBCF4\uAD00"],
|
|
102
|
+
promptSnippet: "\uC9C0\uC815\uD55C \uC601\uC5ED\uC5D0 \uBB38\uC11C \uC138 \uD589\uACFC \uB124\uC774\uD2F0\uBE0C \uCCB4\uD06C\uBC15\uC2A4, \uC804\uCCB4 \uC120\uD0DD \uCCB4\uD06C\uBC15\uC2A4\uB97C \uB9CC\uB4E4\uC5B4 \uC918. \uCD08\uAE30\uC5D0\uB294 \uC120\uD0DD\uC774 \uC5C6\uC73C\uBA70 \uC77C\uBD80 \uC120\uD0DD \uC2DC \uC804\uCCB4 \uCCB4\uD06C\uBC15\uC2A4\uC758 indeterminate\uB97C \uC124\uC815\uD558\uACE0 \uBAA8\uB450 \uC120\uD0DD \uC2DC checked\uB97C \uCF1C \uC918. \uD558\uB098 \uC774\uC0C1 \uC120\uD0DD\uD558\uBA74 \uC544\uB798 \uC608\uC57D \uACF5\uAC04\uC5D0 \uC120\uD0DD \uAC1C\uC218\uC640 \uBCF4\uAD00 \uBC84\uD2BC\uC744 \uAC00\uC9C4 \uC561\uC158 \uBC14\uB97C opacity 0\xB7translateY(5px)\uC5D0\uC11C 180ms ease-out\uC73C\uB85C \uB098\uD0C0\uB0B4 \uC918. \uBCF4\uAD00\uC740 \uC120\uD0DD\uD55C \uD589\uB9CC \uB85C\uCEEC \uBAA9\uB85D\uC5D0\uC11C \uC81C\uAC70\uD558\uACE0 \uB204\uC801 \uBCF4\uAD00 \uAC1C\uC218\uB97C \uC54C\uB9AC\uBA70 \uC120\uD0DD\uC744 \uBE44\uC6CC \uC561\uC158 \uBC14\uB97C \uAC10\uCDB0 \uC918. \uBCF4\uAD00 \uD6C4 \uC804\uCCB4 \uC120\uD0DD\uC73C\uB85C \uD3EC\uCEE4\uC2A4\uB97C \uC62E\uAE30\uACE0 \uBE48 \uBAA9\uB85D\uC774\uBA74 \uCD08\uAE30\uD654 \uBC84\uD2BC\uC73C\uB85C \uC62E\uACA8 \uC918. \uC120\uD0DD\uC774 \uC5C6\uC73C\uBA74 \uC791\uC5C5\uC744 \uCC28\uB2E8\uD558\uACE0 \uBE48 \uBAA9\uB85D\uC758 \uC804\uCCB4 \uC120\uD0DD\uC744 \uBE44\uD65C\uC131\uD654\uD574 \uC918. \uCD08\uAE30\uD654\uB294 \uC6D0\uB798 \uC138 \uD589\xB7\uC120\uD0DD \uC5C6\uC74C\xB7\uBCF4\uAD00 0\uC73C\uB85C \uBCF5\uADC0\uD574 \uC918. \uC11C\uBC84 \uBCF4\uAD00\xB7\uC601\uC18D \uC800\uC7A5\xB7\uC790\uB3D9 \uC120\uD0DD\uC740 \uC5C6\uC5B4. \uB124\uC774\uD2F0\uBE0C \uD0A4\uBCF4\uB4DC \uC870\uC791, status \uC548\uB0B4, \uB77C\uC774\uD2B8/\uB2E4\uD06C, \uC881\uC740 \uD3ED\uACFC \uBAA8\uC158 \uAC10\uC18C\uB97C \uC9C0\uC6D0\uD574 \uC918."
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
id: "undo-delete-snackbar",
|
|
106
|
+
domain: "ui",
|
|
107
|
+
category: "feedback",
|
|
108
|
+
titleKo: "\uC2E4\uD589 \uCDE8\uC18C \uC2A4\uB0B5\uBC14",
|
|
109
|
+
titleEn: "Undo Delete Snackbar",
|
|
110
|
+
summary: "\uBB38\uC11C\uB97C \uC0AD\uC81C\uD558\uBA74 \uC2E4\uD589 \uCDE8\uC18C \uC561\uC158\uC774 \uB098\uD0C0\uB098\uACE0 \uB9C8\uC9C0\uB9C9\uC73C\uB85C \uC0AD\uC81C\uD55C \uD56D\uBAA9\uC744 \uC6D0\uB798 \uC21C\uC11C\uB85C \uBCF5\uAD6C",
|
|
111
|
+
vibeTag: "\uC2E4\uC218\uD55C \uC21C\uAC04 \uBC14\uB85C \uB418\uB3CC\uB9B4 \uC218 \uC788\uAC8C",
|
|
112
|
+
vibeKeywords: ["\uC2E4\uD589 \uCDE8\uC18C", "\uC0AD\uC81C \uBCF5\uAD6C", "\uC2A4\uB0B5\uBC14", "\uB418\uB3CC\uB9AC\uAE30 \uC54C\uB9BC"],
|
|
113
|
+
promptSnippet: "\uC9C0\uC815\uD55C \uCE74\uB4DC\uC5D0 \uBE0C\uB79C\uB4DC \uAE30\uD68D\uC11C\xB7\uC0AC\uC6A9\uC790 \uC870\uC0AC\xB7\uC544\uC774\uCF58 \uC5D0\uC14B \uC138 \uD589\uACFC \uAC01\uAC01 \uC0AD\uC81C \uBC84\uD2BC\uC744 \uB9CC\uB4E4\uC5B4 \uC918. \uC0AD\uC81C\uB294 \uB85C\uCEEC \uBAA9\uB85D\uC5D0\uC11C \uD574\uB2F9 \uD589\uC744 \uC81C\uAC70\uD558\uACE0 \uCE74\uB4DC \uC544\uB798 \uC608\uC57D \uACF5\uAC04\uC5D0 \uC0AD\uC81C \uBB38\uC11C \uC774\uB984\uACFC \uC2E4\uD589 \uCDE8\uC18C \uBC84\uD2BC\uC744 \uAC00\uC9C4 \uC2A4\uB0B5\uBC14\uB97C \uBCF4\uC5EC \uC918. \uC2A4\uB0B5\uBC14\uB294 180ms ease-out\uC73C\uB85C opacity 0\xB7\uC544\uB798 5px\uC5D0\uC11C \uB4F1\uC7A5\uD558\uBA70 \uC0AD\uC81C \uD6C4 \uC2E4\uD589 \uCDE8\uC18C \uBC84\uD2BC\uC73C\uB85C \uD3EC\uCEE4\uC2A4\uB97C \uC62E\uACA8 \uC918. \uB9C8\uC9C0\uB9C9 \uC0AD\uC81C ID \uD558\uB098\uB9CC \uBCF4\uAD00\uD558\uACE0 \uB2E4\uC74C \uC0AD\uC81C\uAC00 \uC774\uC804 \uBCF5\uAD6C \uB300\uC0C1\uC744 \uB300\uCCB4\uD574 \uC918. \uC2E4\uD589 \uCDE8\uC18C\uB294 \uADF8 \uD56D\uBAA9\uB9CC \uC6D0\uB798 \uC21C\uC11C\uB85C \uBCF5\uAD6C\uD558\uACE0 \uC2A4\uB0B5\uBC14\uB97C \uB2EB\uC740 \uB4A4 \uCD08\uAE30\uD654 \uBC84\uD2BC\uC5D0 \uD3EC\uCEE4\uC2A4\uB97C \uC62E\uACA8 \uC918. \uC790\uB3D9 \uB9CC\uB8CC \uD0C0\uC774\uBA38\uB294 \uC5C6\uACE0 \uCD08\uAE30\uD654\uB294 \uBAA8\uB4E0 \uD589\uACFC \uC0AD\uC81C \uAE30\uB85D\uC744 \uC6D0\uB798\uB300\uB85C \uB3CC\uB824 \uC918. \uC0AD\uC81C \uC548\uB0B4\uB294 role status\uB85C \uC77D\uACE0 \uBC84\uD2BC \uC774\uB984\uC5D0\uB294 \uBB38\uC11C \uC774\uB984\uC744 \uD3EC\uD568\uD574 \uC918. \uC2E4\uC81C \uD30C\uC77C \uC0AD\uC81C\xB7\uC11C\uBC84 \uC694\uCCAD\xB7\uC601\uC18D \uC800\uC7A5\uC740 \uC5C6\uC5B4. \uD0A4\uBCF4\uB4DC\xB7\uC591\uD14C\uB9C8\xB7\uC881\uC740 \uD3ED\xB7\uBAA8\uC158 \uAC10\uC18C\uB97C \uC9C0\uC6D0\uD574 \uC918."
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
id: "onboarding-progress-checklist",
|
|
117
|
+
domain: "ui",
|
|
118
|
+
category: "layout",
|
|
119
|
+
titleKo: "\uC628\uBCF4\uB529 \uC9C4\uD589 \uCCB4\uD06C\uB9AC\uC2A4\uD2B8",
|
|
120
|
+
titleEn: "Onboarding Progress Checklist",
|
|
121
|
+
summary: "\uC2DC\uC791 \uB2E8\uACC4\uB9C8\uB2E4 \uC644\uB8CC \uD45C\uC2DC\uB97C \uD1A0\uAE00\uD558\uBA74 \uC9C4\uD589 \uB9C9\uB300\uC640 \uC644\uB8CC \uAC1C\uC218\uAC00 \uD568\uAED8 \uBC14\uB00C\uACE0 \uBAA8\uB450 \uB9C8\uCE58\uBA74 \uC644\uB8CC \uC548\uB0B4",
|
|
122
|
+
vibeTag: "\uCC98\uC74C \uC2DC\uC791\uD558\uB294 \uACFC\uC815\uC744 \uC791\uC740 \uC131\uCDE8\uB85C",
|
|
123
|
+
vibeKeywords: ["\uC628\uBCF4\uB529 \uCCB4\uD06C\uB9AC\uC2A4\uD2B8", "\uC2DC\uC791 \uAC00\uC774\uB4DC", "\uC124\uC815 \uC9C4\uD589\uB960", "\uC644\uB8CC \uB2E8\uACC4"],
|
|
124
|
+
promptSnippet: "\uC9C0\uC815\uD55C \uC601\uC5ED\uC5D0 \uC2DC\uC791\uD558\uAE30 \uCE74\uB4DC, \uC644\uB8CC \uAC1C\uC218 \uBC30\uC9C0, \uB124\uC774\uD2F0\uBE0C progress \uB9C9\uB300, \uD504\uB85C\uD544 \uC124\uC815\xB7\uD300\uC6D0 \uCD08\uB300\xB7\uCCAB \uD504\uB85C\uC81D\uD2B8 \uC138 \uB2E8\uACC4 \uBC84\uD2BC\uC744 \uB9CC\uB4E4\uC5B4 \uC918. \uCD08\uAE30\uC5D0\uB294 0/3\uC774\uBA70 \uC21C\uC11C \uC81C\uD55C \uC5C6\uC774 \uBC84\uD2BC\uC744 \uB204\uB974\uBA74 \uC644\uB8CC ID\uB97C \uCD94\uAC00\xB7\uC81C\uAC70\uD574 \uC918. \uC644\uB8CC \uB2E8\uACC4\uB294 \uC22B\uC790 \uC6D0\uC744 \uCCB4\uD06C \uC6D0\uC73C\uB85C \uBC14\uAFB8\uACE0 \uBB38\uAD6C\uC5D0 \uCDE8\uC18C\uC120\uC744 \uD45C\uC2DC\uD558\uBA70 aria-pressed\uB97C \uB9DE\uCDB0 \uC918. progress\uC758 max\uB294 3, value\uB294 \uC644\uB8CC \uAC1C\uC218\uB85C \uB450\uACE0 \uCC44\uC6C0 \uB108\uBE44\uB294 200ms\uB85C \uC804\uD658\uD574 \uC918. 3/3\uC774\uBA74 \uC900\uBE44 \uC644\uB8CC \uC548\uB0B4\uB97C \uD45C\uC2DC\uD558\uACE0 \uD558\uB098\uB77C\uB3C4 \uD574\uC81C\uD558\uBA74 \uB2E8\uACC4 \uC120\uD0DD \uC548\uB0B4\uB85C \uB3CC\uC544\uAC00 \uC918. \uC9C4\uD589 \uBC30\uC9C0\uC640 \uC644\uB8CC \uC548\uB0B4\uB97C \uC811\uADFC\uC131 \uB77C\uC774\uBE0C \uC601\uC5ED\uC73C\uB85C \uC81C\uACF5\uD558\uBA70 \uC790\uB3D9 \uC9C4\uD589\uC740 \uC5C6\uC5B4. \uB370\uBAA8\uC5D0\uC11C \uC9C1\uC811 \uC644\uB8CC \uD45C\uC2DC\uB9CC \uBC14\uAFB8\uBA70 \uC2E4\uC81C \uD504\uB85C\uD544 \uBCC0\uACBD\xB7\uCD08\uB300 \uBC1C\uC1A1\xB7\uD504\uB85C\uC81D\uD2B8 \uC0DD\uC131\xB7\uC601\uC18D \uC800\uC7A5\uC740 \uC5C6\uC5B4. \uB77C\uC774\uD2B8/\uB2E4\uD06C, \uBAA8\uBC14\uC77C, \uD0A4\uBCF4\uB4DC \uD3EC\uCEE4\uC2A4\uC640 \uBAA8\uC158 \uAC10\uC18C\uB97C \uC9C0\uC6D0\uD574 \uC918."
|
|
125
|
+
}
|
|
126
|
+
];
|
|
127
|
+
|
|
128
|
+
// ../../packages/catalog/src/additions/patterns.ts
|
|
129
|
+
var PATTERN_ADDITIONS = [
|
|
130
|
+
{
|
|
131
|
+
id: "zoom-lightbox-gallery",
|
|
132
|
+
domain: "ui",
|
|
133
|
+
category: "card",
|
|
134
|
+
titleKo: "\uC90C \uB77C\uC774\uD2B8\uBC15\uC2A4 \uAC24\uB7EC\uB9AC",
|
|
135
|
+
titleEn: "Zoom Lightbox Gallery",
|
|
136
|
+
summary: "\uC378\uB124\uC77C\uC744 \uB204\uB974\uBA74 \uCE74\uB4DC \uC548\uC5D0 \uC774\uBBF8\uC9C0 \uBDF0\uC5B4\uAC00 \uD3BC\uCCD0\uC9C0\uACE0 \uD655\uB300\xB7\uB4DC\uB798\uADF8\xB7\uC774\uC804 \uB2E4\uC74C \uD0D0\uC0C9\uC73C\uB85C \uC774\uC5B4\uC9C0\uB294 \uAC24\uB7EC\uB9AC",
|
|
137
|
+
vibeTag: "\uC791\uC740 \uC0AC\uC9C4\uC5D0\uC11C \uBAB0\uC785\uD615 \uC774\uBBF8\uC9C0 \uBCF4\uAE30\uB85C",
|
|
138
|
+
vibeKeywords: ["\uB77C\uC774\uD2B8\uBC15\uC2A4", "\uC774\uBBF8\uC9C0 \uD655\uB300", "\uC0AC\uC9C4 \uAC24\uB7EC\uB9AC", "\uC0C1\uD488 \uC774\uBBF8\uC9C0"],
|
|
139
|
+
promptSnippet: "\uC9C0\uC815\uD55C \uC601\uC5ED\uC5D0 \uD574\uC548\xB7\uC0AC\uB9C9\xB7\uB2A5\uC120\uC758 SVG \uC774\uBBF8\uC9C0 \uC138 \uC7A5\uACFC \uC774\uB984\uC744 \uAC00\uC9C4 \uC378\uB124\uC77C \uAC24\uB7EC\uB9AC\uB97C \uB9CC\uB4E4\uC5B4 \uC918. \uC378\uB124\uC77C \uD074\uB9AD\xB7Enter\xB7Space\uB85C \uAC19\uC740 \uCE74\uB4DC \uC548\uC5D0 \uD070 \uC774\uBBF8\uC9C0 \uBDF0\uC5B4\uB97C \uC5F4\uACE0 380ms cubic-bezier(.2,.8,.2,1)\uC758 scale(.78)\xB7opacity(.3)\uC5D0\uC11C \uC6D0\uB798 \uD06C\uAE30\xB7\uBD88\uD22C\uBA85\uB3C4\uB85C \uB4F1\uC7A5\uD574 \uC918. \uBDF0\uC5B4\uB97C \uC5F4\uBA74 \uC774\uC804 \uC774\uBBF8\uC9C0 \uBC84\uD2BC\uC73C\uB85C \uD3EC\uCEE4\uC2A4\uB97C \uC62E\uACA8 \uC918. \uC774\uC804\xB7\uB2E4\uC74C \uBC84\uD2BC\uACFC \uC88C\uC6B0 \uBC29\uD5A5\uD0A4\uB85C \uC138 \uC774\uBBF8\uC9C0\uB97C \uC21C\uD658\uD558\uBA70 \uD655\uB300 \uBC84\uD2BC\uC73C\uB85C \uC911\uC2EC \uAE30\uC900 1\uBC30/1.65\uBC30\uB97C \uC804\uD658\uD574 \uC918. \uC774\uBBF8\uC9C0 \uC804\uD658 \uC2DC \uBC30\uC728\uACFC \uC774\uB3D9\uC744 \uCD08\uAE30\uD654\uD574 \uC918. \uD655\uB300 \uC0C1\uD0DC\uC5D0\uC11C \uC8FC \uD3EC\uC778\uD130 \uB4DC\uB798\uADF8\uB97C capture\uD558\uACE0 \uC774\uB3D9\uC744 \uAC00\uB85C \xB135px\xB7\uC138\uB85C \xB120px\uB85C \uC81C\uD55C\uD574 \uC918. \uD655\uB300\uD558\uC9C0 \uC54A\uC558\uC744 \uB54C \uAC00\uB85C 35px \uCD08\uACFC \uC2A4\uC640\uC774\uD504\uB294 \uC774\uC804\xB7\uB2E4\uC74C \uC774\uBBF8\uC9C0\uB97C \uC120\uD0DD\uD574 \uC918. \uCDE8\uC18C\xB7capture \uC720\uC2E4\uC740 \uB4DC\uB798\uADF8 \uCC38\uC870\uB97C \uC815\uB9AC\uD574 \uC918. \uB2EB\uAE30\xB7Escape\uB294 \uC378\uB124\uC77C\uB85C \uB3CC\uC544\uAC00\uBA70 Escape\uB294 \uCCAB \uC378\uB124\uC77C\uB85C \uD3EC\uCEE4\uC2A4\uB97C \uBCF5\uADC0\uD574 \uC918. \uBDF0\uC5B4\uB294 \uD398\uC774\uC9C0 \uC804\uCCB4 \uBAA8\uB2EC\uC774 \uC544\uB2CC \uCE74\uB4DC \uB0B4\uBD80\uC774\uBA70 \uD540\uCE58 \uC90C\xB7\uC678\uBD80 \uC774\uBBF8\uC9C0 \uC694\uCCAD\uC740 \uC5C6\uC5B4. \uC790\uB3D9\uC73C\uB85C \uC5F4\uAC70\uB098 \uC774\uBBF8\uC9C0\uB97C \uBC14\uAFB8\uC9C0 \uB9D0\uACE0 \uC0AC\uC6A9\uC790\uAC00 \uC120\uD0DD\uD55C \uBDF0\uC5B4 \uC0C1\uD0DC\uB97C \uC720\uC9C0\uD574 \uC918. \uC591\uD14C\uB9C8\xB7\uBAA8\uBC14\uC77C\xB7\uD3EC\uCEE4\uC2A4 \uC724\uACFD\xB7\uBAA8\uC158 \uAC10\uC18C\uB97C \uC9C0\uC6D0\uD574 \uC918."
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
id: "selection-bubble-toolbar",
|
|
143
|
+
domain: "ui",
|
|
144
|
+
category: "text",
|
|
145
|
+
titleKo: "\uD14D\uC2A4\uD2B8 \uC120\uD0DD \uBC84\uBE14 \uD234\uBC14",
|
|
146
|
+
titleEn: "Text Selection Bubble Toolbar",
|
|
147
|
+
summary: "\uAE00\uC790\uB97C \uC120\uD0DD\uD55C \uC704\uCE58\uC5D0 \uC791\uC740 \uC11C\uC2DD \uD234\uBC14\uAC00 \uB5A0\uC624\uB974\uACE0 \uC120\uD0DD\uD55C \uBD80\uBD84\uC5D0 \uAD75\uC740 \uAE00\uC528\uB97C \uC801\uC6A9",
|
|
148
|
+
vibeTag: "\uC120\uD0DD\uD55C \uBB38\uC7A5 \uBC14\uB85C \uC704\uC5D0 \uD544\uC694\uD55C \uB3C4\uAD6C\uAC00",
|
|
149
|
+
vibeKeywords: ["\uD14D\uC2A4\uD2B8 \uC120\uD0DD", "\uBC84\uBE14 \uD234\uBC14", "\uD50C\uB85C\uD305 \uC11C\uC2DD", "\uBB38\uC11C \uC5D0\uB514\uD130"],
|
|
150
|
+
promptSnippet: "\uC9C0\uC815\uD55C \uBB38\uB2E8\uC5D0\uC11C \uC2E4\uC81C \uBE0C\uB77C\uC6B0\uC800 \uD14D\uC2A4\uD2B8 \uC120\uD0DD\uC744 \uC77D\uC5B4 \uC120\uD0DD \uC601\uC5ED \uBC14\uB85C \uC704\uC5D0 \uAD75\uAC8C \uBC84\uD2BC \uD558\uB098\uB97C \uAC00\uC9C4 \uBC84\uBE14 \uD234\uBC14\uB97C \uBCF4\uC5EC \uC918. \uD3EC\uC778\uD130 \uC120\uD0DD \uC885\uB8CC\uC640 \uD0A4\uBCF4\uB4DC \uC120\uD0DD \uBCC0\uACBD\uC744 \uBAA8\uB450 \uCC98\uB9AC\uD558\uACE0 \uBB38\uB2E8 \uBC16 \uC120\uD0DD\xB7\uBE48 \uC120\uD0DD\uC5D0\uC11C\uB294 \uC228\uACA8 \uC918. \uD234\uBC14\uB294 \uC120\uD0DD \uC601\uC5ED\uC758 \uAC00\uB85C \uC911\uC2EC\uC744 \uBB38\uB2E8 \uD3ED 25~75% \uC548\uC5D0 \uC81C\uD55C\uD558\uACE0 \uC704\uCABD \uACBD\uACC4\uB97C \uB118\uC9C0 \uC54A\uAC8C \uBC30\uCE58\uD574 \uC918. 180ms \uC544\uB798 5px\xB7\uD22C\uBA85\uC5D0\uC11C \uC6D0\uC704\uCE58\uB85C \uB4F1\uC7A5\uD558\uBA70 \uC791\uC740 \uC0BC\uAC01 \uAF2C\uB9AC\uB97C \uB2EC\uC544 \uC918. \uBC84\uD2BC\uC744 \uB204\uB97C \uB54C \uD3EC\uC778\uD130 \uAE30\uBCF8 \uB3D9\uC791\uC73C\uB85C \uC120\uD0DD\uC774 \uC0AC\uB77C\uC9C0\uC9C0 \uC54A\uAC8C \uD558\uACE0 \uC120\uD0DD\uD55C \uBB38\uC790\uC5F4\uC5D0\uB9CC \uAD75\uC740 \uC11C\uC2DD\uC744 \uC801\uC6A9\uD55C \uB4A4 \uD234\uBC14\uB97C \uB2EB\uC544 \uC918. \uC2E4\uC81C\uB85C \uBB38\uAD6C\uB97C \uC120\uD0DD\uD558\uAE30 \uC804\uC5D0\uB294 \uD234\uBC14\uB97C \uD45C\uC2DC\uD558\uC9C0 \uB9D0\uACE0 \uC790\uB3D9 \uC120\uD0DD\xB7\uC11C\uC2DD \uC2DC\uC5F0\uC744 \uD558\uC9C0 \uC54A\uC544. \uB9C1\uD06C\xB7\uB313\uAE00\xB7\uC2E4\uC81C \uD3B8\uC9D1\uAE30 \uC5F0\uB3D9\uC740 \uCD94\uAC00\uD558\uC9C0 \uB9D0\uC544 \uC918. \uB77C\uC774\uD2B8\xB7\uB2E4\uD06C \uB300\uBE44, \uC881\uC740 \uD3ED, \uD0A4\uBCF4\uB4DC \uC870\uC791\uACFC \uBAA8\uC158 \uAC10\uC18C\uB97C \uC9C0\uC6D0\uD574 \uC918."
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
id: "ly-collapsing-scroll-header",
|
|
154
|
+
domain: "layout",
|
|
155
|
+
category: "scroll",
|
|
156
|
+
titleKo: "\uC2A4\uD06C\uB864 \uC555\uCD95 \uD5E4\uB354",
|
|
157
|
+
titleEn: "Collapsing Scroll Header",
|
|
158
|
+
summary: "\uC2A4\uD06C\uB864 \uC9C4\uD589\uC744 \uC790\uB3D9 \uC2DC\uBBAC\uB808\uC774\uC158\uD574 \uD070 \uCEE4\uBC84\uC640 \uC81C\uBAA9\uC774 \uC791\uC740 \uC0C1\uB2E8 \uBC14\uB85C \uC555\uCD95\uB410\uB2E4\uAC00 \uB2E4\uC2DC \uD3BC\uCCD0\uC9C0\uB294 \uD6A8\uACFC",
|
|
159
|
+
vibeTag: "\uD070 \uC81C\uBAA9\uC774 \uC791\uC740 \uC0C1\uB2E8 \uBC14\uB85C \uC790\uC5F0\uC2A4\uB7FD\uAC8C",
|
|
160
|
+
vibeKeywords: ["\uC811\uD788\uB294 \uD5E4\uB354", "\uC2A4\uD06C\uB864 \uD5E4\uB354", "\uCD95\uC18C \uB0B4\uBE44\uAC8C\uC774\uC158", "\uD070 \uC81C\uBAA9 \uC804\uD658"],
|
|
161
|
+
promptSnippet: "\uC9C0\uC815\uD55C \uCE74\uB4DC \uC548\uC5D0 \uB192\uC774 110px\uC758 \uC5EC\uD589 \uC0C1\uC138 \uBBF8\uB9AC\uBCF4\uAE30\uB97C \uB9CC\uB4E4\uC5B4 \uC918. \uCEE4\uBC84 \uADF8\uB9BC\xB7\uD070 \uC81C\uBAA9\xB7\uB4A4\uB85C \uD654\uC0B4\uD45C\xB7\uBCF8\uBB38 \uC120 \uC138 \uAC1C\uB97C \uBC30\uCE58\uD558\uACE0 \uC9C4\uD589\uB960 p\uB97C 0~1\uB85C \uC655\uBCF5\uC2DC\uCF1C \uC2A4\uD06C\uB864 \uC555\uCD95\uC744 \uC2DC\uC5F0\uD574 \uC918. p\uC5D0 \uB530\uB77C \uD5E4\uB354 \uB192\uC774\uB294 82\u219238px, \uC81C\uBAA9 \uAE00\uAF34\uC740 23\u219213px, \uC81C\uBAA9 translate\uB294 (26,40)\u2192(24,5)px\uB85C \uBC14\uAFD4 \uC918. \uCEE4\uBC84\uB294 \uC704\uB85C 48px \uC774\uB3D9\uD558\uBA70 opacity\uAC00 1\u2192.2, \uBCF8\uBB38 \uC120\uC740 \uC704\uB85C 28px \uC774\uB3D9\uD558\uACE0 \uD5E4\uB354 \uD45C\uBA74\uC740 \uD22C\uBA85\uC5D0\uC11C \uD14C\uB9C8 \uD45C\uBA74\uC73C\uB85C \uCC44\uC6CC\uC838 \uC918. \uC0AC\uC804\uC5D0\uC11C\uB294 8\uCD08 \uB3D9\uC548 0\u21921\u21920\uC744 \uC790\uB3D9 \uBC18\uBCF5\uD558\uACE0 \uD074\uB9AD\xB7Enter\xB7Space\uB294 \uC774\uC804 \uC7AC\uC0DD\uC744 \uCDE8\uC18C\uD55C \uB4A4 \uCC98\uC74C\uBD80\uD130 \uD55C \uBC88\uB9CC \uB2E4\uC2DC \uC2DC\uC791\uD574 \uC918. \uC2E4\uC81C \uC2A4\uD06C\uB864\uBC14\uB098 range \uC785\uB825 \uC5C6\uC774 \uD6A8\uACFC\uB97C \uBCF4\uC5EC \uC8FC\uB294 \uC9C4\uD589\uB960 \uC2DC\uBBAC\uB808\uC774\uC158\uC774\uBA70 \uC2E4\uC81C \uD398\uC774\uC9C0 \uC2A4\uD06C\uB864 \uAC10\uC9C0\xB7\uB4A4\uB85C \uC774\uB3D9\uC740 \uC5C6\uC5B4. \uCE74\uB4DC \uACBD\uACC4\xB7\uC0C1\uB2E8 \uB3C4\uAD6C \uC5EC\uBC31\xB7\uB77C\uC774\uD2B8/\uB2E4\uD06C\xB7\uBAA8\uBC14\uC77C\xB7\uD3EC\uCEE4\uC2A4 \uC724\uACFD\uC744 \uC720\uC9C0\uD558\uACE0 \uBAA8\uC158 \uAC10\uC18C\uC5D0\uC11C\uB294 \uC790\uB3D9 \uC6C0\uC9C1\uC784\uACFC \uC804\uD658\uC744 \uC5C6\uC560 \uC918."
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
id: "rich-hover-preview",
|
|
165
|
+
domain: "ui",
|
|
166
|
+
category: "card",
|
|
167
|
+
titleKo: "\uB9AC\uCE58 \uD638\uBC84 \uD504\uB9AC\uBDF0",
|
|
168
|
+
titleEn: "Rich Hover Preview",
|
|
169
|
+
summary: "\uC791\uC131\uC790 \uC774\uB984\uC5D0 \uD638\uBC84\xB7\uD3EC\uCEE4\uC2A4\uD558\uAC70\uB098 \uB204\uB974\uBA74 \uBC30\uB108\xB7\uC544\uBC14\uD0C0\xB7\uC18C\uAC1C\uB97C \uB2F4\uC740 \uD504\uB85C\uD544 \uBBF8\uB9AC\uBCF4\uAE30\uAC00 \uB098\uD0C0\uB0A8",
|
|
170
|
+
vibeTag: "\uC774\uB3D9\uD558\uAE30 \uC804\uC5D0 \uB0B4\uC6A9\uC744 \uC0B4\uC9DD \uB4E4\uC5EC\uB2E4\uBCF4\uB294",
|
|
171
|
+
vibeKeywords: ["\uD638\uBC84 \uCE74\uB4DC", "\uD504\uB85C\uD544 \uBBF8\uB9AC\uBCF4\uAE30", "\uB9C1\uD06C \uD504\uB9AC\uBDF0", "\uB9AC\uCE58 \uD234\uD301"],
|
|
172
|
+
promptSnippet: "\uC9C0\uC815\uD55C \uC601\uC5ED\uC5D0 \uB9CC\uB4E0 \uC0AC\uB78C \uB77C\uBCA8\uACFC \uC791\uC131\uC790 \uC774\uB984 button\uC744 \uB450\uACE0, \uADF8 \uC544\uB798\uC5D0 \uD504\uB85C\uD544 \uBBF8\uB9AC\uBCF4\uAE30 \uCE74\uB4DC\uB97C \uBC30\uCE58\uD574 \uC918. \uCE74\uB4DC\uB294 \uADF8\uB77C\uB370\uC774\uC158 \uBC30\uB108, \uACB9\uCCD0\uC9C4 \uC6D0\uD615 \uC544\uBC14\uD0C0, \uC774\uB984, \uC9C1\uBB34, \uD55C \uC904 \uC18C\uAC1C\uB97C \uB2F4\uC544 \uC918. \uC774\uB984 \uD638\uBC84\xB7\uD0A4\uBCF4\uB4DC \uD3EC\uCEE4\uC2A4\uC5D0\uC11C \uC5F4\uACE0 \uD074\uB9AD\xB7\uD130\uCE58\uB294 \uC5F4\uAE30/\uB2EB\uAE30\uB97C \uD1A0\uAE00\uD574 \uC918. \uD3EC\uC778\uD130\uAC00 \uC774\uB984\uC5D0\uC11C \uBBF8\uB9AC\uBCF4\uAE30 \uCE74\uB4DC\uB85C \uC774\uB3D9\uD574\uB3C4 \uC720\uC9C0\uD558\uACE0 \uC804\uCCB4 \uC601\uC5ED \uC774\uD0C8\uC774\uB098 \uC678\uBD80\uB85C \uD3EC\uCEE4\uC2A4\uAC00 \uC774\uB3D9\uD558\uBA74 \uB2EB\uC544 \uC918. \uB2EB\uD78C \uCE74\uB4DC\uB294 hidden\uC73C\uB85C \uAC10\uCD94\uBA70 button\uC758 aria-expanded\uB97C \uB9DE\uCDB0 \uC918. 200ms opacity 0\xB7\uC544\uB798 5px\uC5D0\uC11C \uC6D0\uC704\uCE58\uB85C \uB4F1\uC7A5\uD574 \uC918. \uC0AC\uC6A9\uC790 \uC785\uB825 \uC804\uC5D0\uB294 \uB2EB\uD78C \uC0C1\uD0DC\uB97C \uC720\uC9C0\uD558\uACE0 \uC790\uB3D9\uC73C\uB85C \uC5F4\uAC70\uB098 \uC2E4\uC81C \uD3EC\uCEE4\uC2A4\uB97C \uC774\uB3D9\uD558\uC9C0 \uC54A\uC544. \uC2E4\uC81C \uD504\uB85C\uD544 \uC870\uD68C\xB7\uC678\uBD80 \uB9C1\uD06C\xB7\uD314\uB85C\uC6B0\xB7\uC11C\uBC84 \uD638\uCD9C\uC740 \uC5C6\uC5B4. \uB77C\uC774\uD2B8/\uB2E4\uD06C \uD45C\uBA74\xB7\uBB38\uC790 \uB300\uBE44\uC640 \uC881\uC740 \uD3ED\xB7\uD3EC\uCEE4\uC2A4 \uC724\uACFD\xB7\uBAA8\uC158 \uAC10\uC18C\uB97C \uC9C0\uC6D0\uD574 \uC918."
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
id: "inline-edit-field",
|
|
176
|
+
domain: "ui",
|
|
177
|
+
category: "control",
|
|
178
|
+
titleKo: "\uC81C\uC790\uB9AC \uD3B8\uC9D1 \uD544\uB4DC",
|
|
179
|
+
titleEn: "Inline Edit Field",
|
|
180
|
+
summary: "\uD504\uB85C\uC81D\uD2B8 \uC774\uB984\uC744 \uB204\uB974\uBA74 \uAC19\uC740 \uC790\uB9AC\uC758 \uC785\uB825\uCC3D\uC73C\uB85C \uBC14\uB00C\uACE0 \uC800\uC7A5\xB7\uCDE8\uC18C \uD6C4 \uD14D\uC2A4\uD2B8\uB85C \uB3CC\uC544\uC624\uB294 \uD750\uB984",
|
|
181
|
+
vibeTag: "\uD654\uBA74\uC744 \uB5A0\uB098\uC9C0 \uC54A\uACE0 \uBC14\uB85C \uACE0\uCE58\uB294",
|
|
182
|
+
vibeKeywords: ["\uC778\uB77C\uC778 \uD3B8\uC9D1", "\uC81C\uC790\uB9AC \uC218\uC815", "\uC774\uB984 \uBCC0\uACBD", "\uD3B8\uC9D1 \uC800\uC7A5 \uCDE8\uC18C"],
|
|
183
|
+
promptSnippet: "\uC9C0\uC815\uD55C \uCE74\uB4DC\uC5D0 \uD504\uB85C\uC81D\uD2B8 \uC774\uB984 \uB77C\uBCA8\uACFC \uC774\uB984\xB7\uC5F0\uD544 \uC544\uC774\uCF58\uC744 \uB2F4\uC740 \uD3B8\uC9D1 button\uC744 \uB9CC\uB4E4\uC5B4 \uC918. \uCD08\uAE30 \uC774\uB984\uC740 \uC0C8\uB85C\uC6B4 \uD504\uB85C\uC81D\uD2B8\uC774\uBA70 \uB204\uB974\uBA74 \uAC19\uC740 \uC790\uB9AC\uC5D0 \uC785\uB825\uCC3D\xB7\uC800\uC7A5\xB7\uCDE8\uC18C \uBC84\uD2BC\uC744 \uBCF4\uC5EC \uC918. \uC2E4\uC81C \uC785\uB825\uAC12\uC744 \uC784\uC2DC \uC0C1\uD0DC\uB85C \uAD00\uB9AC\uD558\uACE0 \uC800\uC7A5 \uBC84\uD2BC\uC774\uB098 Enter\uB294 \uC55E\uB4A4 \uACF5\uBC31\uC744 \uC81C\uAC70\uD55C \uC774\uB984\uC744 \uB85C\uCEEC \uC0C1\uD0DC\uC5D0 \uC800\uC7A5\uD55C \uB4A4 \uC77D\uAE30 \uBAA8\uB4DC\uB85C \uB3CC\uC544\uAC00 \uC918. \uACF5\uBC31\uBFD0\uC774\uBA74 \uC800\uC7A5\uC744 \uBE44\uD65C\uC131\uD654\uD558\uACE0 \uD578\uB4E4\uB7EC\uC5D0\uC11C\uB3C4 \uCC28\uB2E8\uD574 \uC918. \uCDE8\uC18C\xB7Escape\uB294 \uC784\uC2DC\uAC12\uC744 \uBC84\uB9AC\uACE0 \uAE30\uC874 \uC774\uB984\uC744 \uC720\uC9C0\uD574 \uC918. \uC790\uB3D9\uC73C\uB85C \uD3B8\uC9D1 \uBAA8\uB4DC\uC5D0 \uB4E4\uC5B4\uAC00\uAC70\uB098 \uAC12\uC744 \uBCC0\uACBD\uD558\uC9C0 \uB9D0\uACE0 \uC0AC\uC6A9\uC790\uAC00 \uC785\uB825\uD55C \uC784\uC2DC\uAC12\uACFC \uC800\uC7A5\uD55C \uC774\uB984\uC744 \uC720\uC9C0\uD574 \uC918. \uC11C\uBC84 \uC800\uC7A5\xB7\uC601\uC18D \uC800\uC7A5\xB7\uAC00\uC9DC \uC694\uCCAD \uC131\uACF5 \uC548\uB0B4\uB294 \uC5C6\uC5B4. \uB77C\uC774\uD2B8/\uB2E4\uD06C \uB300\uBE44, \uC881\uC740 \uD3ED\uC5D0\uC11C \uC785\uB825\uACFC \uBC84\uD2BC \uACBD\uACC4, \uD0A4\uBCF4\uB4DC\uC640 \uD3EC\uCEE4\uC2A4 \uC724\uACFD\xB7\uBAA8\uC158 \uAC10\uC18C\uB97C \uC9C0\uC6D0\uD574 \uC918."
|
|
184
|
+
}
|
|
185
|
+
];
|
|
186
|
+
|
|
10
187
|
// ../../packages/catalog/src/additions/hover.ts
|
|
11
188
|
var HOVER_ADDITIONS = [
|
|
12
189
|
{
|
|
@@ -2900,6 +3077,9 @@ var CATEGORY_LABEL_MAP = Object.fromEntries(
|
|
|
2900
3077
|
].map((c) => [c.id, c.label])
|
|
2901
3078
|
);
|
|
2902
3079
|
var TECHNIQUES = [
|
|
3080
|
+
...WORKFLOW_ADDITIONS,
|
|
3081
|
+
...GRAPHIC_STUDIO_ADDITIONS,
|
|
3082
|
+
...PATTERN_ADDITIONS,
|
|
2903
3083
|
...TACTILE_ADDITIONS,
|
|
2904
3084
|
...RETRO_ADDITIONS,
|
|
2905
3085
|
...SCIFI_ADDITIONS,
|
|
@@ -4340,6 +4520,74 @@ var TECHNIQUES = [
|
|
|
4340
4520
|
}
|
|
4341
4521
|
];
|
|
4342
4522
|
|
|
4523
|
+
// ../../packages/catalog/src/translations/additions/graphic-studio.ts
|
|
4524
|
+
var EN_GRAPHIC_STUDIO_TECHNIQUES = {
|
|
4525
|
+
"mg-halftone-dot-shading": {
|
|
4526
|
+
summary: "Fixed-spacing dots automatically vary in radius to animate the shading of a vector sphere.",
|
|
4527
|
+
vibeTag: "Depth made from tiny dots",
|
|
4528
|
+
vibeKeywords: ["halftone", "dot shading", "print dots", "print graphics"],
|
|
4529
|
+
promptSnippet: "Create an SVG halftone sphere in the specified area. Use a 260\xD7132 viewBox with 21 columns and 11 rows of dots spaced by 10. Outside an ellipse centered at (130,66) with radii 96 and 54, keep faint dots of radius 0.5. Inside it use nx=(x-130)/96, ny=(y-66)/54, light=max(0,1-hypot(nx+0.35,ny+0.4)/1.8), and r=0.9+(1-light)^(1.9-contrast/70)\xD73.6 to suggest upper-left lighting. Animate contrast from 55 upward, bouncing between 0 and 100 and returning to its starting value every 8 seconds; update dot radii while keeping positions and spacing fixed. Use purple dots, brightened in dark mode. This is a formula-based shape, without image upload or pixel analysis. Omit sliders. Clicking the demo resets its previous clock and restarts from the initial state. Pause offscreen and in hidden tabs; show the initial still frame for reduced motion. Support accessible names, both themes and narrow widths."
|
|
4530
|
+
},
|
|
4531
|
+
"mg-isometric-voxel-landscape": {
|
|
4532
|
+
summary: "The heights of 36 blocks automatically rise and fall between a flat tile field and an isometric hill.",
|
|
4533
|
+
vibeTag: "A tiny world built on a flat canvas",
|
|
4534
|
+
vibeKeywords: ["voxel", "isometric terrain", "isometric blocks", "block landscape"],
|
|
4535
|
+
promptSnippet: "Create a 6\xD76 SVG isometric block terrain in the specified area. In a 260\xD7132 viewBox project row,col 0\u20135 to x=130+(col-row)\xD717, y=34+(col+row)\xD78. Paint back to front in ascending row+col order. Compute block height as 4+height/100\xD7(8+37\xD7exp(-((col-2.5)^2+(row-2.5)^2)/4)) for a central hill. Draw a diamond top with half-width 17 and half-height 8 plus separate side faces: dark teal left, blue right, bright mint top. Animate terrain height from 65 upward, bouncing between 0 and 100 and returning to its starting value every 8 seconds; recalculate all face coordinates. Keep base thickness 4 at zero. This is a 2D vector demo without a 3D engine, camera rotation or external map data. Omit sliders and autoplay the terrain. Clicking the demo resets its previous clock and restarts from the initial state. Pause offscreen and in hidden tabs; show the initial still frame for reduced motion. Support accessible names, both themes and narrow screens."
|
|
4536
|
+
},
|
|
4537
|
+
"mg-ribbon-over-under-weave": {
|
|
4538
|
+
summary: "Alternate over and under at each ribbon intersection, automatically reversing the weave every 4 seconds.",
|
|
4539
|
+
vibeTag: "Interlacing created by paint order",
|
|
4540
|
+
vibeKeywords: ["ribbon weave", "interlacing pattern", "over under", "woven graphics"],
|
|
4541
|
+
promptSnippet: "Create an SVG weave of four purple horizontal and four gold vertical ribbons in the specified area. Use a 260\xD7132 viewBox, width 17, vertical x=81+col\xD727 and horizontal y=20+row\xD726. Rotate the group -12 degrees around (130,66). Paint vertical ribbons first, then horizontal ribbons; at crossings where (row+col)%2 equals 0, repaint a gold cover with a thin highlight and side shadows so vertical ribbons pass above. Without a reversal button, switch between even and odd intersections every 4 seconds and return to the original weave every 8 seconds. Clicking the demo resets its previous clock and restarts at even crossings. Pause offscreen and in hidden tabs; show the initial still weave for reduced motion. Omit dragging and physics simulation. Support accessible names, both themes and mobile widths."
|
|
4542
|
+
},
|
|
4543
|
+
"mg-guilloche-curve-engraving": {
|
|
4544
|
+
summary: "Layer thin closed curves at slightly different scales and angles while their lobe count changes automatically.",
|
|
4545
|
+
vibeTag: "Fine engraved curves for certificates and packaging",
|
|
4546
|
+
vibeKeywords: ["guilloche", "curve engraving", "certificate ornament", "fine line pattern"],
|
|
4547
|
+
promptSnippet: "Create an SVG guilloche ornament in the specified area. In a 260\xD7132 viewBox sample t=0\u20132\u03C0 in 1440 intervals, with r=41+16\xD7cos(lobes\xD7t), x=130+1.8\xD7r\xD7cos(t), y=66+r\xD7sin(t), and close the path. Draw nine copies. For copy i, scale by 1-i\xD70.035 and rotate i\xD71.5 degrees about (130,66), with opacity 1-i\xD70.055. Use no fill and a 0.65-width teal-to-purple linear-gradient stroke, with a unique gradient ID per instance. Animate the lobe count from 9 upward, bouncing between 5 and 14 and returning to its starting value every 8 seconds. Round the continuous value to the nearest integer to keep the curves closed. This is decorative artwork without anti-counterfeiting security. Omit sliders and autoplay the ornament. Clicking the demo resets its previous clock and restarts from the initial state. Pause offscreen and in hidden tabs; show the initial still ornament for reduced motion. Support accessible names, both themes and narrow widths."
|
|
4548
|
+
},
|
|
4549
|
+
"mg-gradient-stroke-ribbon": {
|
|
4550
|
+
summary: "A thick cyan, purple and pink curve with a highlight and shadow bends automatically.",
|
|
4551
|
+
vibeTag: "A colorful object from a single curve",
|
|
4552
|
+
vibeKeywords: ["gradient ribbon", "curved stroke", "color ribbon", "brand graphics"],
|
|
4553
|
+
promptSnippet: "Create an SVG gradient ribbon in the specified area. Use a 260\xD7132 viewBox and a cubic Bezier from (35,98) to (225,34), with control points (65+bend/3,98-bend\xD71.25) and (185-bend/3,34+bend\xD71.25). Draw with no fill, stroke width 28 and round caps. Fix a userSpaceOnUse cyan-to-purple-to-pink linear gradient to the endpoint coordinates. Paint the same curve beneath it, translated down 7 with purple at opacity 0.18 as a shadow. Overlay a white highlight translated up 7, width 1.5 and opacity 0.5. Mark each endpoint with a bright circle of radius 4. Animate bend from 60 upward, bouncing between 0 and 100 and returning to its starting value every 8 seconds; update control points while preserving endpoints. Give each instance a unique gradient ID. Omit sliders and autoplay the ribbon. Clicking the demo resets its previous clock and restarts from the initial state. Pause offscreen and in hidden tabs; show the initial still frame for reduced motion. Omit real 3D materials and physics simulation. Support accessible names, both themes and narrow widths."
|
|
4554
|
+
}
|
|
4555
|
+
};
|
|
4556
|
+
|
|
4557
|
+
// ../../packages/catalog/src/translations/additions/workflows.ts
|
|
4558
|
+
var EN_WORKFLOW_TECHNIQUES = {
|
|
4559
|
+
"billing-cycle-pricing-card": {
|
|
4560
|
+
summary: "Switch billing periods to update the monthly equivalent, actual bill, and annual savings together.",
|
|
4561
|
+
vibeTag: "Price and billing terms at a glance",
|
|
4562
|
+
vibeKeywords: ["pricing card", "billing cycle", "annual discount", "subscription pricing"],
|
|
4563
|
+
promptSnippet: "Build a Studio pricing card with Monthly and Annual buttons in the target area. Start on Monthly: $20 per month, billed $20 monthly. Annual shows a $16 monthly equivalent, $192 billed yearly, and $48 annual savings. Keep an annual 20% savings badge above and distinguish the monthly equivalent from the actual billing period. Synchronize aria-pressed and a raised pill background with selection, and announce price changes with aria-live polite. Support Enter and Space without automatic switching. These are fixed demo USD amounts; do not implement checkout, signup, currency conversion, or tax calculations. Support narrow cards, Korean and English text, light/dark contrast, and visible keyboard focus."
|
|
4564
|
+
},
|
|
4565
|
+
"faceted-filter-chips": {
|
|
4566
|
+
summary: "Combine Design and Ready filters to update results and counts, then remove individual conditions or reset all.",
|
|
4567
|
+
vibeTag: "Small chips that narrow the list",
|
|
4568
|
+
vibeKeywords: ["filter chips", "faceted filtering", "multiple filters", "clear filters"],
|
|
4569
|
+
promptSnippet: "Build a resource list with a result count and Design and Ready filter chips. Initially show Brand brief (design and ready), User research (ready), and Icon assets (design and draft). Keep the two filters as independent booleans; combine active conditions with AND so both leave only Brand brief. Mark active chips with a tinted background, border, X icon, and aria-pressed. Clicking the entire chip again removes that condition. Reset clears both and is disabled when neither is active. Announce result counts with aria-live polite and give status dots accessible names. Reserve list height to avoid card jumps, and use keyboard-operable buttons. Use fixed local data without network search or automatic filtering. Support both themes and mobile widths."
|
|
4570
|
+
},
|
|
4571
|
+
"bulk-selection-action-bar": {
|
|
4572
|
+
summary: "Selecting documents reveals an action bar with a count and Archive action, including mixed and select-all states.",
|
|
4573
|
+
vibeTag: "Actions appear for the selected items",
|
|
4574
|
+
vibeKeywords: ["bulk actions", "multi select", "selection toolbar", "batch archive"],
|
|
4575
|
+
promptSnippet: "Build three document rows with native checkboxes and a select-all checkbox. Start with no selection. Set the header checkbox indeterminate for partial selection and checked when all visible rows are selected. When at least one is selected, reveal a reserved bottom action bar with the count and Archive button, using opacity 0 and translateY(5px) to normal over 180ms ease-out. Archive removes only selected rows from local state, announces the cumulative archived count, clears selection, and hides the bar. Move focus to select-all after archiving, or to Reset if the list is empty. Guard against empty selection and disable select-all for an empty list. Reset restores all three rows, no selection, and zero archived count. Do not use server storage, persistence, or automatic selection. Support native keyboard controls, status announcements, light/dark themes, narrow widths, and reduced motion."
|
|
4576
|
+
},
|
|
4577
|
+
"undo-delete-snackbar": {
|
|
4578
|
+
summary: "Deleting a document reveals an Undo action that restores the most recently deleted item in its original order.",
|
|
4579
|
+
vibeTag: "A quick way back after a mistake",
|
|
4580
|
+
vibeKeywords: ["undo delete", "snackbar", "restore item", "undo notification"],
|
|
4581
|
+
promptSnippet: "Build Brand brief, User research, and Icon assets rows with individual Delete buttons. Delete removes that row from local state and shows a snackbar in reserved bottom space with the document name and Undo. Animate from opacity 0 and translateY(5px) over 180ms ease-out and move focus to Undo after deletion. Store only the last deleted ID; another deletion replaces the previous recovery target. Undo restores only that item in original order, closes the snackbar, and focuses Reset. There is no expiration timer. Reset restores all rows and clears deletion history. Announce deletion with role status and include document names in Delete button labels. Do not delete actual files, make server requests, or persist state. Support keyboard use, both themes, narrow widths, and reduced motion."
|
|
4582
|
+
},
|
|
4583
|
+
"onboarding-progress-checklist": {
|
|
4584
|
+
summary: "Toggle setup steps to update a progress bar and completion count, with a finished message when every step is checked.",
|
|
4585
|
+
vibeTag: "Turn getting started into small wins",
|
|
4586
|
+
vibeKeywords: ["onboarding checklist", "getting started", "setup progress", "completion steps"],
|
|
4587
|
+
promptSnippet: "Build a Get started card with a completion badge, native progress bar, and Set up profile, Invite teammates, and First project buttons. Start at 0/3. Allow steps in any order and toggle completed IDs on click. Replace each completed step number with a check icon, strike through its label, and synchronize aria-pressed. Set progress max to 3 and value to the completed count; transition fill width over 200ms. At 3/3 show a ready message; unchecking any step restores the selection hint. Provide accessible live announcements for the badge and completion message. Do not auto-progress. This demo only toggles completion markers; it does not change profiles, send invites, create projects, or persist state. Support light/dark themes, mobile widths, keyboard focus, and reduced motion."
|
|
4588
|
+
}
|
|
4589
|
+
};
|
|
4590
|
+
|
|
4343
4591
|
// ../../packages/catalog/src/translations/additions/broadcast.ts
|
|
4344
4592
|
var EN_BROADCAST_TECHNIQUES = {
|
|
4345
4593
|
"vd-word-highlight-subtitles": {
|
|
@@ -6169,9 +6417,46 @@ var EN_VFX_TECHNIQUES = {
|
|
|
6169
6417
|
}
|
|
6170
6418
|
};
|
|
6171
6419
|
|
|
6420
|
+
// ../../packages/catalog/src/translations/additions/patterns.ts
|
|
6421
|
+
var EN_PATTERN_TECHNIQUES = {
|
|
6422
|
+
"zoom-lightbox-gallery": {
|
|
6423
|
+
summary: "Open an image viewer inside the card, then zoom, drag, or move between three images.",
|
|
6424
|
+
vibeTag: "From tiny thumbnails to an immersive image view",
|
|
6425
|
+
vibeKeywords: ["lightbox", "image zoom", "photo gallery", "product images"],
|
|
6426
|
+
promptSnippet: "Build a gallery with three named SVG landscape thumbnails: Coast, Dunes, and Peaks. Click, Enter, or Space opens a larger image viewer inside the same card with a 380ms cubic-bezier(.2,.8,.2,1) entrance from scale .78 and opacity .3 to full size and opacity. On opening, focus the Previous image button. Previous/next buttons and Left/Right keys cycle through the images. A zoom button toggles center scale 1/1.65. Changing images resets zoom and pan. Capture the primary pointer to pan a zoomed image within \xB135px horizontally and \xB120px vertically. Without zoom, a horizontal swipe exceeding 35px selects the next/previous image. Clear drag references on cancellation or lost capture. Close and Escape restore the thumbnail gallery; Escape returns focus to the first thumbnail. This is an in-card viewer, not a page modal, and has no pinch zoom or external image requests. Do not open or change images automatically; retain the viewer state chosen by the user. Support light/dark themes, narrow screens, focus outlines, and reduced motion."
|
|
6427
|
+
},
|
|
6428
|
+
"selection-bubble-toolbar": {
|
|
6429
|
+
summary: "A small formatting bubble appears above selected text and applies bold to the selected substring.",
|
|
6430
|
+
vibeTag: "The tools appear right above your selection",
|
|
6431
|
+
vibeKeywords: ["text selection", "bubble toolbar", "floating formatting", "document editor"],
|
|
6432
|
+
promptSnippet: "Read actual browser text selection inside the specified paragraph and show a bubble with one Bold button above the selected range. Handle pointer selection end and keyboard selection changes; hide for empty or outside selection. Clamp its horizontal center within 25\u201375% of the paragraph width and keep it inside the top boundary. Enter over 180ms from 5px below and opacity zero, with a small triangular tail. Prevent pointer defaults on the toolbar button from clearing selection. Apply bold only to the selected substring, then hide the bubble. Keep the toolbar hidden until real text is selected; do not simulate selection or formatting automatically. Do not add link/comment actions or a full editor integration. Support light/dark contrast, narrow widths, keyboard operation, and reduced motion."
|
|
6433
|
+
},
|
|
6434
|
+
"ly-collapsing-scroll-header": {
|
|
6435
|
+
summary: "An automatic simulation compresses a large cover and title into a small top bar, then expands them again.",
|
|
6436
|
+
vibeTag: "A large title smoothly becomes a compact top bar",
|
|
6437
|
+
vibeKeywords: ["collapsing header", "scroll header", "shrinking navigation", "large title transition"],
|
|
6438
|
+
promptSnippet: "Build a 110px-tall travel-detail preview inside the specified card. Include cover artwork, a large title, a back arrow, and three body lines. Animate a progress value p between 0 and 1 to simulate scroll compression. Interpolate header height from 82 to 38px, title font size from 23 to 13px, and title translation from (26,40) to (24,5)px. Move the cover up 48px while opacity goes from 1 to .2, move body lines up 28px, and fill the header from transparent to the themed surface. In the dictionary, loop 0\u21921\u21920 over 8 seconds. Click, Enter, or Space cancels the previous playback and restarts once from the beginning. Show the effect without scrollbars or range inputs. This is a progress simulation, not real page scroll detection or back navigation. Preserve card boundaries, top-toolbar spacing, light/dark themes, narrow layouts, and focus outlines. Disable automatic movement and transitions for reduced motion."
|
|
6439
|
+
},
|
|
6440
|
+
"rich-hover-preview": {
|
|
6441
|
+
summary: "Hover, focus, or press an author name to reveal a profile preview with a banner, avatar, and short biography.",
|
|
6442
|
+
vibeTag: "A quick peek before you navigate away",
|
|
6443
|
+
vibeKeywords: ["hover card", "profile preview", "link preview", "rich tooltip"],
|
|
6444
|
+
promptSnippet: "Place a Created by label and author-name button above a profile preview card in the specified area. Include a gradient banner, overlapping circular avatar, name, role, and one-line biography. Open on name hover or keyboard focus; click and touch toggle it. Keep it open while the pointer moves from the name into the preview. Close when the pointer leaves the entire area or focus moves outside. Hide closed content with hidden and match the trigger aria-expanded state. Enter over 200ms from 5px below and opacity zero. Keep the preview closed before user input; do not open it or move real focus automatically. No actual profile lookup, external link, follow action, or server call is performed. Support light/dark surface and text contrast, narrow widths, focus outlines, and reduced motion."
|
|
6445
|
+
},
|
|
6446
|
+
"inline-edit-field": {
|
|
6447
|
+
summary: "Press a project name to replace it with an input in the same place, then save or cancel back to text.",
|
|
6448
|
+
vibeTag: "Edit in place without leaving the screen",
|
|
6449
|
+
vibeKeywords: ["inline edit", "edit in place", "rename", "save cancel field"],
|
|
6450
|
+
promptSnippet: "Build a card with a Project name label and an edit button containing the name and a pencil icon. Start with New project. Pressing it replaces the value in place with an input plus Save and Cancel buttons. Keep draft text separate from the saved name. Save or Enter trims whitespace and stores the name in local state before returning to read mode. Disable Save for whitespace-only input and guard the handler too. Cancel or Escape discards the draft and keeps the saved name. Do not enter edit mode or change values automatically. Retain the draft and saved name entered by the user. There is no server persistence, durable storage, or fake request-success message. Support light/dark contrast, narrow input/button boundaries, keyboard operation, focus outlines, and reduced motion."
|
|
6451
|
+
}
|
|
6452
|
+
};
|
|
6453
|
+
|
|
6172
6454
|
// ../../packages/catalog/src/translations/en.ts
|
|
6173
6455
|
var text = (summary, vibeTag, keywords, promptSnippet) => ({ summary, vibeTag, vibeKeywords: keywords.split("|"), promptSnippet });
|
|
6174
6456
|
var ENGLISH_TECHNIQUES = {
|
|
6457
|
+
...EN_WORKFLOW_TECHNIQUES,
|
|
6458
|
+
...EN_GRAPHIC_STUDIO_TECHNIQUES,
|
|
6459
|
+
...EN_PATTERN_TECHNIQUES,
|
|
6175
6460
|
...EN_BROADCAST_TECHNIQUES,
|
|
6176
6461
|
...EN_CAMERA_TECHNIQUES,
|
|
6177
6462
|
...EN_CARD_TECHNIQUES,
|
|
@@ -6974,6 +7259,108 @@ var DOMAIN_NAMES = {
|
|
|
6974
7259
|
en: { ui: "UI", motion: "Graphics", layout: "Layout", style: "Style", video: "Motion video" }
|
|
6975
7260
|
};
|
|
6976
7261
|
|
|
7262
|
+
// ../../packages/catalog/src/search-metadata/additions/graphic-studio.ts
|
|
7263
|
+
var GRAPHIC_STUDIO_SEARCH_METADATA = {
|
|
7264
|
+
"mg-halftone-dot-shading": {
|
|
7265
|
+
targets: ["shape", "image", "background"],
|
|
7266
|
+
triggers: ["auto", "click"],
|
|
7267
|
+
useCases: { ko: ["\uD3EC\uC2A4\uD130\uC640 \uC778\uC1C4\uD48D \uBC30\uACBD\uC5D0\uC11C \uC810 \uD06C\uAE30\uB85C \uBA85\uC554\uC744 \uD45C\uD604\uD560 \uB54C"], en: ["Shade poster artwork and print-inspired backgrounds using dot sizes"] },
|
|
7268
|
+
aliases: { ko: ["\uD558\uD504\uD1A4 \uC74C\uC601", "\uB9DD\uC810 \uC74C\uC601", "\uC810 \uD06C\uAE30 \uBA85\uC554"], en: ["halftone dot shading", "dot size shading", "screen tone"] }
|
|
7269
|
+
},
|
|
7270
|
+
"mg-isometric-voxel-landscape": {
|
|
7271
|
+
targets: ["scene", "shape"],
|
|
7272
|
+
triggers: ["auto", "click"],
|
|
7273
|
+
useCases: { ko: ["\uAC8C\uC784 \uC18C\uAC1C\uB098 \uB370\uC774\uD130 \uD50C\uB7AB\uD3FC \uD788\uC5B4\uB85C\uC5D0 \uC791\uC740 \uBE14\uB85D \uC9C0\uD615\uC744 \uB123\uC744 \uB54C"], en: ["Build a block terrain illustration for game or data platform hero areas"] },
|
|
7274
|
+
aliases: { ko: ["\uC544\uC774\uC18C\uBA54\uD2B8\uB9AD \uBCF5\uC140", "\uB4F1\uAC01 \uBE14\uB85D \uC9C0\uD615", "\uBCF5\uC140 \uD48D\uACBD"], en: ["isometric voxel landscape", "voxel terrain", "isometric block hill"] }
|
|
7275
|
+
},
|
|
7276
|
+
"mg-ribbon-over-under-weave": {
|
|
7277
|
+
targets: ["shape", "background", "logo"],
|
|
7278
|
+
triggers: ["auto", "click"],
|
|
7279
|
+
useCases: { ko: ["\uBE0C\uB79C\uB4DC \uC7A5\uC2DD\uACFC \uC9C1\uBB3C \uC18C\uAC1C\uC5D0\uC11C \uB9AC\uBCF8\uC774 \uC5EE\uC774\uB294 \uD328\uD134\uC744 \uBCF4\uC5EC \uC904 \uB54C"], en: ["Show interlacing ribbons in brand ornaments and textile presentations"] },
|
|
7280
|
+
aliases: { ko: ["\uAD50\uCC28 \uB9AC\uBCF8 \uC9C1\uC870", "\uC704\uC544\uB798 \uC9C1\uC870", "\uB9AC\uBCF8 \uC9DC\uC784"], en: ["over under ribbon weave", "interlaced ribbons", "woven ribbon pattern"] }
|
|
7281
|
+
},
|
|
7282
|
+
"mg-guilloche-curve-engraving": {
|
|
7283
|
+
targets: ["shape", "background"],
|
|
7284
|
+
triggers: ["auto", "click"],
|
|
7285
|
+
useCases: { ko: ["\uC778\uC99D\uC11C\uC640 \uD328\uD0A4\uC9C0\uC5D0 \uAC00\uB294 \uACE1\uC120 \uC7A5\uC2DD \uBB38\uC591\uC744 \uB123\uC744 \uB54C"], en: ["Add fine decorative curve engraving to certificates and packaging"] },
|
|
7286
|
+
aliases: { ko: ["\uAE30\uC694\uC170 \uACE1\uC120", "\uAE38\uB85C\uC170 \uBB38\uC591", "\uC778\uC99D\uC11C \uACE1\uC120 \uC7A5\uC2DD"], en: ["guilloche curve engraving", "guilloche ornament", "certificate linework"] }
|
|
7287
|
+
},
|
|
7288
|
+
"mg-gradient-stroke-ribbon": {
|
|
7289
|
+
targets: ["shape", "logo", "background"],
|
|
7290
|
+
triggers: ["auto", "click"],
|
|
7291
|
+
useCases: { ko: ["\uBE0C\uB79C\uB4DC \uD788\uC5B4\uB85C\uC640 \uBC30\uB108\uC5D0 \uBD80\uB4DC\uB7EC\uC6B4 \uCEEC\uB7EC \uB9AC\uBCF8 \uC624\uBE0C\uC81D\uD2B8\uB97C \uB123\uC744 \uB54C"], en: ["Create a colorful ribbon object for brand heroes and banners"] },
|
|
7292
|
+
aliases: { ko: ["\uADF8\uB77C\uB370\uC774\uC158 \uACE1\uC120 \uB9AC\uBCF8", "\uCEEC\uB7EC \uC2A4\uD2B8\uB85C\uD06C", "\uBCA0\uC9C0\uC5B4 \uB9AC\uBCF8"], en: ["gradient stroke ribbon", "color ribbon curve", "bezier ribbon"] }
|
|
7293
|
+
}
|
|
7294
|
+
};
|
|
7295
|
+
|
|
7296
|
+
// ../../packages/catalog/src/search-metadata/additions/workflows.ts
|
|
7297
|
+
var WORKFLOW_SEARCH_METADATA = {
|
|
7298
|
+
"billing-cycle-pricing-card": {
|
|
7299
|
+
targets: ["card"],
|
|
7300
|
+
triggers: ["click"],
|
|
7301
|
+
useCases: { ko: ["\uAD6C\uB3C5 \uC11C\uBE44\uC2A4\uC758 \uC6D4\uAC04 \uC694\uAE08\uACFC \uC5F0\uAC04 \uD560\uC778\xB7\uCCAD\uAD6C\uC561\uC744 \uBE44\uAD50\uD560 \uB54C"], en: ["Compare monthly and annual subscription billing with transparent savings"] },
|
|
7302
|
+
aliases: { ko: ["\uC694\uAE08 \uBE44\uAD50 \uCE74\uB4DC", "\uC6D4\uAC04 \uC5F0\uAC04 \uC694\uAE08", "\uACB0\uC81C \uC8FC\uAE30 \uD1A0\uAE00"], en: ["billing cycle pricing", "monthly yearly pricing", "pricing toggle"] }
|
|
7303
|
+
},
|
|
7304
|
+
"faceted-filter-chips": {
|
|
7305
|
+
targets: ["list", "input"],
|
|
7306
|
+
triggers: ["click"],
|
|
7307
|
+
useCases: { ko: ["\uC790\uB8CC \uBAA9\uB85D\uC5D0 \uC5EC\uB7EC \uC870\uAC74\uC744 \uC870\uD569\uD558\uACE0 \uD544\uD130\uB97C \uAC1C\uBCC4 \uD574\uC81C\uD560 \uB54C"], en: ["Combine resource filters and clear conditions individually"] },
|
|
7308
|
+
aliases: { ko: ["\uB2E4\uC911 \uC870\uAC74 \uD544\uD130", "\uD544\uD130 \uCE69", "\uD328\uC2EF \uD544\uD130"], en: ["faceted filter chips", "filter chips", "faceted search"] }
|
|
7309
|
+
},
|
|
7310
|
+
"bulk-selection-action-bar": {
|
|
7311
|
+
targets: ["list", "panel"],
|
|
7312
|
+
triggers: ["click", "input"],
|
|
7313
|
+
useCases: { ko: ["\uBB38\uC11C\uB97C \uC5EC\uB7EC \uAC1C \uC120\uD0DD\uD574 \uD55C \uBC88\uC5D0 \uBCF4\uAD00\uD558\uACE0 \uC120\uD0DD \uAC1C\uC218\uB97C \uC54C\uB9B4 \uB54C"], en: ["Select documents and archive them together using a contextual action bar"] },
|
|
7314
|
+
aliases: { ko: ["\uC77C\uAD04 \uC791\uC5C5 \uBC14", "\uB2E4\uC911 \uC120\uD0DD \uD234\uBC14", "\uC77C\uAD04 \uBCF4\uAD00"], en: ["bulk selection action bar", "bulk actions", "batch archive toolbar"] }
|
|
7315
|
+
},
|
|
7316
|
+
"undo-delete-snackbar": {
|
|
7317
|
+
targets: ["list", "panel"],
|
|
7318
|
+
triggers: ["click"],
|
|
7319
|
+
useCases: { ko: ["\uBAA9\uB85D\uC5D0\uC11C \uC2E4\uC218\uB85C \uC0AD\uC81C\uD55C \uB9C8\uC9C0\uB9C9 \uD56D\uBAA9\uC744 \uC6D0\uB798 \uC704\uCE58\uC5D0 \uBCF5\uAD6C\uD560 \uB54C"], en: ["Undo the last accidental deletion and restore original list order"] },
|
|
7320
|
+
aliases: { ko: ["\uC2E4\uD589 \uCDE8\uC18C \uC2A4\uB0B5\uBC14", "\uC0AD\uC81C \uBCF5\uAD6C", "\uB418\uB3CC\uB9AC\uAE30 \uC54C\uB9BC"], en: ["undo delete snackbar", "undo snackbar", "restore deleted item"] }
|
|
7321
|
+
},
|
|
7322
|
+
"onboarding-progress-checklist": {
|
|
7323
|
+
targets: ["card", "list"],
|
|
7324
|
+
triggers: ["click"],
|
|
7325
|
+
useCases: { ko: ["\uCD08\uAE30 \uC124\uC815 \uB2E8\uACC4\uB97C \uC644\uB8CC \uD45C\uC2DC\uD558\uACE0 \uB0A8\uC740 \uC9C4\uD589 \uC0C1\uD669\uC744 \uD655\uC778\uD560 \uB54C"], en: ["Mark onboarding steps complete and see remaining setup progress"] },
|
|
7326
|
+
aliases: { ko: ["\uC628\uBCF4\uB529 \uCCB4\uD06C\uB9AC\uC2A4\uD2B8", "\uC2DC\uC791\uD558\uAE30 \uBAA9\uB85D", "\uC124\uC815 \uC9C4\uD589\uB960"], en: ["onboarding checklist", "setup checklist", "getting started checklist"] }
|
|
7327
|
+
}
|
|
7328
|
+
};
|
|
7329
|
+
|
|
7330
|
+
// ../../packages/catalog/src/search-metadata/additions/patterns.ts
|
|
7331
|
+
var PATTERN_SEARCH_METADATA = {
|
|
7332
|
+
"zoom-lightbox-gallery": {
|
|
7333
|
+
targets: ["image", "card"],
|
|
7334
|
+
triggers: ["click", "drag"],
|
|
7335
|
+
useCases: { ko: ["\uC0C1\uD488 \uC0AC\uC9C4\uC774\uB098 \uD3EC\uD2B8\uD3F4\uB9AC\uC624 \uC774\uBBF8\uC9C0\uB97C \uD06C\uAC8C \uBCF4\uACE0 \uB118\uAE30\uAC70\uB098 \uD655\uB300 \uC774\uB3D9\uD560 \uB54C"], en: ["Browse, enlarge, and pan product or portfolio images inside a viewer"] },
|
|
7336
|
+
aliases: { ko: ["\uB77C\uC774\uD2B8\uBC15\uC2A4 \uAC24\uB7EC\uB9AC", "\uC0AC\uC9C4 \uD655\uB300 \uBDF0\uC5B4"], en: ["lightbox gallery", "image viewer", "zoom pan gallery"] }
|
|
7337
|
+
},
|
|
7338
|
+
"selection-bubble-toolbar": {
|
|
7339
|
+
targets: ["text", "panel"],
|
|
7340
|
+
triggers: ["drag", "click"],
|
|
7341
|
+
useCases: { ko: ["\uBB38\uC11C\uC5D0\uC11C \uC120\uD0DD\uD55C \uAE00\uC790 \uBC14\uB85C \uC704\uC5D0 \uC11C\uC2DD \uB3C4\uAD6C\uB97C \uD45C\uC2DC\uD560 \uB54C"], en: ["Show formatting controls directly above selected document text"] },
|
|
7342
|
+
aliases: { ko: ["\uC120\uD0DD \uD234\uBC14", "\uBC84\uBE14 \uBA54\uB274", "\uD50C\uB85C\uD305 \uC11C\uC2DD \uD234\uBC14"], en: ["bubble menu", "selection toolbar", "floating formatting toolbar"] }
|
|
7343
|
+
},
|
|
7344
|
+
"ly-collapsing-scroll-header": {
|
|
7345
|
+
targets: ["navigation", "text"],
|
|
7346
|
+
triggers: ["auto", "click"],
|
|
7347
|
+
useCases: { ko: ["\uD070 \uC81C\uBAA9\uC774 \uC0C1\uB2E8 \uBC14\uB85C \uC555\uCD95\uB418\uB294 \uD6A8\uACFC\uB97C \uC2A4\uD06C\uB864\uBC14 \uC5C6\uC774 \uC790\uB3D9 \uC2DC\uBBAC\uB808\uC774\uC158\uD560 \uB54C"], en: ["Automatically simulate a large title collapsing into a compact top bar without a scrollbar"] },
|
|
7348
|
+
aliases: { ko: ["\uC2A4\uD06C\uB864 \uC555\uCD95 \uD5E4\uB354", "\uC811\uD788\uB294 \uC0C1\uB2E8 \uBC14", "\uD070 \uC81C\uBAA9 \uCD95\uC18C"], en: ["collapsing app bar", "shrinking header", "large title collapse"] }
|
|
7349
|
+
},
|
|
7350
|
+
"rich-hover-preview": {
|
|
7351
|
+
targets: ["card", "text"],
|
|
7352
|
+
triggers: ["hover", "click"],
|
|
7353
|
+
useCases: { ko: ["\uC791\uC131\uC790 \uC774\uB984\uC5D0\uC11C \uC774\uB3D9\uD558\uAE30 \uC804\uC5D0 \uD504\uB85C\uD544 \uC815\uBCF4\uB97C \uBBF8\uB9AC \uD655\uC778\uD560 \uB54C"], en: ["Preview an author profile before leaving the current content"] },
|
|
7354
|
+
aliases: { ko: ["\uD638\uBC84 \uCE74\uB4DC", "\uD504\uB85C\uD544 \uBBF8\uB9AC\uBCF4\uAE30", "\uB9AC\uCE58 \uB9C1\uD06C \uD504\uB9AC\uBDF0"], en: ["hover card", "profile preview", "rich link preview"] }
|
|
7355
|
+
},
|
|
7356
|
+
"inline-edit-field": {
|
|
7357
|
+
targets: ["input", "text"],
|
|
7358
|
+
triggers: ["click", "input"],
|
|
7359
|
+
useCases: { ko: ["\uD504\uB85C\uC81D\uD2B8 \uC774\uB984\uC744 \uAC19\uC740 \uC790\uB9AC\uC5D0\uC11C \uD3B8\uC9D1\uD558\uACE0 \uC800\uC7A5\uD558\uAC70\uB098 \uCDE8\uC18C\uD560 \uB54C"], en: ["Edit a project name in place with save and cancel actions"] },
|
|
7360
|
+
aliases: { ko: ["\uC778\uB77C\uC778 \uD3B8\uC9D1", "\uC81C\uC790\uB9AC \uD3B8\uC9D1", "\uC989\uC2DC \uC774\uB984 \uBCC0\uACBD"], en: ["inline edit", "editable text", "in-place editing"] }
|
|
7361
|
+
}
|
|
7362
|
+
};
|
|
7363
|
+
|
|
6977
7364
|
// ../../packages/catalog/src/search-metadata/additions/broadcast.ts
|
|
6978
7365
|
var BROADCAST_SEARCH_METADATA = {
|
|
6979
7366
|
"vd-word-highlight-subtitles": {
|
|
@@ -9651,6 +10038,9 @@ var m = (targets, triggers, ko, en, aliasesKo = "", aliasesEn = "") => ({
|
|
|
9651
10038
|
aliases: { ko: aliasesKo ? aliasesKo.split("|") : [], en: aliasesEn ? aliasesEn.split("|") : [] }
|
|
9652
10039
|
});
|
|
9653
10040
|
var SEARCH_METADATA = {
|
|
10041
|
+
...WORKFLOW_SEARCH_METADATA,
|
|
10042
|
+
...GRAPHIC_STUDIO_SEARCH_METADATA,
|
|
10043
|
+
...PATTERN_SEARCH_METADATA,
|
|
9654
10044
|
...BROADCAST_SEARCH_METADATA,
|
|
9655
10045
|
...CAMERA_SEARCH_METADATA,
|
|
9656
10046
|
...CARD_SEARCH_METADATA,
|
|
@@ -9990,7 +10380,7 @@ function searchTechniques(options = {}) {
|
|
|
9990
10380
|
// package.json
|
|
9991
10381
|
var package_default = {
|
|
9992
10382
|
name: "@keke1933/vibe-dictionary-mcp",
|
|
9993
|
-
version: "0.
|
|
10383
|
+
version: "0.5.0",
|
|
9994
10384
|
license: "MIT",
|
|
9995
10385
|
author: "leejh96",
|
|
9996
10386
|
description: "Read-only local MCP for searching Vibe Dictionary techniques and retrieving implementation prompts",
|
package/package.json
CHANGED