@triptease/design-system-mcp 0.0.3
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/CHANGELOG.md +26 -0
- package/README.md +340 -0
- package/dist/package.json +41 -0
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.js +39 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/manifests/components/entries/badge.d.ts +27 -0
- package/dist/src/manifests/components/entries/badge.js +43 -0
- package/dist/src/manifests/components/entries/badge.js.map +1 -0
- package/dist/src/manifests/components/entries/barChart.d.ts +73 -0
- package/dist/src/manifests/components/entries/barChart.js +125 -0
- package/dist/src/manifests/components/entries/barChart.js.map +1 -0
- package/dist/src/manifests/components/entries/button.d.ts +40 -0
- package/dist/src/manifests/components/entries/button.js +59 -0
- package/dist/src/manifests/components/entries/button.js.map +1 -0
- package/dist/src/manifests/components/entries/card.d.ts +20 -0
- package/dist/src/manifests/components/entries/card.js +34 -0
- package/dist/src/manifests/components/entries/card.js.map +1 -0
- package/dist/src/manifests/components/entries/checkbox.d.ts +31 -0
- package/dist/src/manifests/components/entries/checkbox.js +64 -0
- package/dist/src/manifests/components/entries/checkbox.js.map +1 -0
- package/dist/src/manifests/components/entries/combobox.d.ts +64 -0
- package/dist/src/manifests/components/entries/combobox.js +176 -0
- package/dist/src/manifests/components/entries/combobox.js.map +1 -0
- package/dist/src/manifests/components/entries/datePicker.d.ts +34 -0
- package/dist/src/manifests/components/entries/datePicker.js +67 -0
- package/dist/src/manifests/components/entries/datePicker.js.map +1 -0
- package/dist/src/manifests/components/entries/dateRangePicker.d.ts +34 -0
- package/dist/src/manifests/components/entries/dateRangePicker.js +110 -0
- package/dist/src/manifests/components/entries/dateRangePicker.js.map +1 -0
- package/dist/src/manifests/components/entries/dialog.d.ts +38 -0
- package/dist/src/manifests/components/entries/dialog.js +73 -0
- package/dist/src/manifests/components/entries/dialog.js.map +1 -0
- package/dist/src/manifests/components/entries/lineChart.d.ts +76 -0
- package/dist/src/manifests/components/entries/lineChart.js +141 -0
- package/dist/src/manifests/components/entries/lineChart.js.map +1 -0
- package/dist/src/manifests/components/entries/numberinput.d.ts +52 -0
- package/dist/src/manifests/components/entries/numberinput.js +64 -0
- package/dist/src/manifests/components/entries/numberinput.js.map +1 -0
- package/dist/src/manifests/components/entries/radio.d.ts +31 -0
- package/dist/src/manifests/components/entries/radio.js +50 -0
- package/dist/src/manifests/components/entries/radio.js.map +1 -0
- package/dist/src/manifests/components/entries/select.d.ts +16 -0
- package/dist/src/manifests/components/entries/select.js +23 -0
- package/dist/src/manifests/components/entries/select.js.map +1 -0
- package/dist/src/manifests/components/entries/table.d.ts +16 -0
- package/dist/src/manifests/components/entries/table.js +43 -0
- package/dist/src/manifests/components/entries/table.js.map +1 -0
- package/dist/src/manifests/components/entries/textarea.d.ts +40 -0
- package/dist/src/manifests/components/entries/textarea.js +54 -0
- package/dist/src/manifests/components/entries/textarea.js.map +1 -0
- package/dist/src/manifests/components/entries/textinput.d.ts +40 -0
- package/dist/src/manifests/components/entries/textinput.js +53 -0
- package/dist/src/manifests/components/entries/textinput.js.map +1 -0
- package/dist/src/manifests/components/entries/toggle.d.ts +23 -0
- package/dist/src/manifests/components/entries/toggle.js +30 -0
- package/dist/src/manifests/components/entries/toggle.js.map +1 -0
- package/dist/src/manifests/components/entries/typography.d.ts +23 -0
- package/dist/src/manifests/components/entries/typography.js +32 -0
- package/dist/src/manifests/components/entries/typography.js.map +1 -0
- package/dist/src/manifests/components/index.d.ts +2 -0
- package/dist/src/manifests/components/index.js +39 -0
- package/dist/src/manifests/components/index.js.map +1 -0
- package/dist/src/manifests/components/types.d.ts +56 -0
- package/dist/src/manifests/components/types.js +2 -0
- package/dist/src/manifests/components/types.js.map +1 -0
- package/dist/src/tools/getCSSTokens/handler.d.ts +6 -0
- package/dist/src/tools/getCSSTokens/handler.js +29 -0
- package/dist/src/tools/getCSSTokens/handler.js.map +1 -0
- package/dist/src/tools/getCSSTokens/index.d.ts +12 -0
- package/dist/src/tools/getCSSTokens/index.js +14 -0
- package/dist/src/tools/getCSSTokens/index.js.map +1 -0
- package/dist/src/tools/getCSSTokens/utils.d.ts +5 -0
- package/dist/src/tools/getCSSTokens/utils.js +25 -0
- package/dist/src/tools/getCSSTokens/utils.js.map +1 -0
- package/dist/src/tools/getComponentDocs/handler.d.ts +6 -0
- package/dist/src/tools/getComponentDocs/handler.js +27 -0
- package/dist/src/tools/getComponentDocs/handler.js.map +1 -0
- package/dist/src/tools/getComponentDocs/index.d.ts +12 -0
- package/dist/src/tools/getComponentDocs/index.js +14 -0
- package/dist/src/tools/getComponentDocs/index.js.map +1 -0
- package/dist/src/tools/getSetupGuide/handler.d.ts +6 -0
- package/dist/src/tools/getSetupGuide/handler.js +50 -0
- package/dist/src/tools/getSetupGuide/handler.js.map +1 -0
- package/dist/src/tools/getSetupGuide/index.d.ts +12 -0
- package/dist/src/tools/getSetupGuide/index.js +17 -0
- package/dist/src/tools/getSetupGuide/index.js.map +1 -0
- package/dist/src/tools/getSetupGuide/setupGuides.d.ts +12 -0
- package/dist/src/tools/getSetupGuide/setupGuides.js +49 -0
- package/dist/src/tools/getSetupGuide/setupGuides.js.map +1 -0
- package/dist/src/tools/listCSSTokens/handler.d.ts +3 -0
- package/dist/src/tools/listCSSTokens/handler.js +20 -0
- package/dist/src/tools/listCSSTokens/handler.js.map +1 -0
- package/dist/src/tools/listCSSTokens/index.d.ts +8 -0
- package/dist/src/tools/listCSSTokens/index.js +10 -0
- package/dist/src/tools/listCSSTokens/index.js.map +1 -0
- package/dist/src/tools/listComponents/handler.d.ts +3 -0
- package/dist/src/tools/listComponents/handler.js +18 -0
- package/dist/src/tools/listComponents/handler.js.map +1 -0
- package/dist/src/tools/listComponents/index.d.ts +9 -0
- package/dist/src/tools/listComponents/index.js +11 -0
- package/dist/src/tools/listComponents/index.js.map +1 -0
- package/dist/src/tools/searchComponents/handler.d.ts +6 -0
- package/dist/src/tools/searchComponents/handler.js +29 -0
- package/dist/src/tools/searchComponents/handler.js.map +1 -0
- package/dist/src/tools/searchComponents/index.d.ts +12 -0
- package/dist/src/tools/searchComponents/index.js +14 -0
- package/dist/src/tools/searchComponents/index.js.map +1 -0
- package/dist/src/utils/buildCDNUrls.d.ts +3 -0
- package/dist/src/utils/buildCDNUrls.js +6 -0
- package/dist/src/utils/buildCDNUrls.js.map +1 -0
- package/package.json +43 -0
- package/src/index.ts +46 -0
- package/src/manifests/components/entries/badge.ts +45 -0
- package/src/manifests/components/entries/barChart.ts +132 -0
- package/src/manifests/components/entries/button.ts +61 -0
- package/src/manifests/components/entries/card.ts +35 -0
- package/src/manifests/components/entries/checkbox.ts +68 -0
- package/src/manifests/components/entries/combobox.ts +184 -0
- package/src/manifests/components/entries/datePicker.ts +73 -0
- package/src/manifests/components/entries/dateRangePicker.ts +118 -0
- package/src/manifests/components/entries/dialog.ts +77 -0
- package/src/manifests/components/entries/lineChart.ts +150 -0
- package/src/manifests/components/entries/numberinput.ts +66 -0
- package/src/manifests/components/entries/radio.ts +53 -0
- package/src/manifests/components/entries/select.ts +24 -0
- package/src/manifests/components/entries/table.ts +44 -0
- package/src/manifests/components/entries/textarea.ts +56 -0
- package/src/manifests/components/entries/textinput.ts +55 -0
- package/src/manifests/components/entries/toggle.ts +31 -0
- package/src/manifests/components/entries/typography.ts +33 -0
- package/src/manifests/components/index.ts +41 -0
- package/src/manifests/components/types.ts +64 -0
- package/src/tools/getCSSTokens/__snapshots__/handler.test.ts.snap +78 -0
- package/src/tools/getCSSTokens/handler.test.ts +39 -0
- package/src/tools/getCSSTokens/handler.ts +36 -0
- package/src/tools/getCSSTokens/index.ts +15 -0
- package/src/tools/getCSSTokens/utils.ts +31 -0
- package/src/tools/getComponentDocs/__snapshots__/handler.test.ts.snap +23 -0
- package/src/tools/getComponentDocs/handler.test.ts +14 -0
- package/src/tools/getComponentDocs/handler.ts +34 -0
- package/src/tools/getComponentDocs/index.ts +15 -0
- package/src/tools/getSetupGuide/__snapshots__/handler.test.ts.snap +34 -0
- package/src/tools/getSetupGuide/handler.test.ts +20 -0
- package/src/tools/getSetupGuide/handler.ts +59 -0
- package/src/tools/getSetupGuide/index.ts +20 -0
- package/src/tools/getSetupGuide/setupGuides.ts +62 -0
- package/src/tools/listCSSTokens/__snapshots__/handler.test.ts.snap +12 -0
- package/src/tools/listCSSTokens/handler.test.ts +9 -0
- package/src/tools/listCSSTokens/handler.ts +32 -0
- package/src/tools/listCSSTokens/index.ts +12 -0
- package/src/tools/listComponents/__snapshots__/handler.test.ts.snap +12 -0
- package/src/tools/listComponents/handler.test.ts +9 -0
- package/src/tools/listComponents/handler.ts +20 -0
- package/src/tools/listComponents/index.ts +12 -0
- package/src/tools/searchComponents/__snapshots__/handler.test.ts.snap +23 -0
- package/src/tools/searchComponents/handler.test.ts +14 -0
- package/src/tools/searchComponents/handler.ts +36 -0
- package/src/tools/searchComponents/index.ts +15 -0
- package/src/utils/buildCDNUrls.ts +7 -0
- package/tsconfig.json +12 -0
- package/vitest.config.ts +6 -0
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
'line-chart': {
|
|
3
|
+
name: string;
|
|
4
|
+
description: string;
|
|
5
|
+
ssrSafe: true;
|
|
6
|
+
element: string;
|
|
7
|
+
usageGuidance: {
|
|
8
|
+
whenToUse: string[];
|
|
9
|
+
avoid: string[];
|
|
10
|
+
};
|
|
11
|
+
installation: {
|
|
12
|
+
npm: ({
|
|
13
|
+
name: string;
|
|
14
|
+
includesTypes: true;
|
|
15
|
+
optional: false;
|
|
16
|
+
} | {
|
|
17
|
+
name: string;
|
|
18
|
+
includesTypes: true;
|
|
19
|
+
optional: true;
|
|
20
|
+
})[];
|
|
21
|
+
cdn: ({
|
|
22
|
+
name: string;
|
|
23
|
+
includesTypes: false;
|
|
24
|
+
optional: false;
|
|
25
|
+
pinnedVersionUrl: string;
|
|
26
|
+
pinnedMajorVersionUrl: string;
|
|
27
|
+
latestVersionUrl: string;
|
|
28
|
+
guidance: string;
|
|
29
|
+
} | {
|
|
30
|
+
name: string;
|
|
31
|
+
includesTypes: false;
|
|
32
|
+
optional: true;
|
|
33
|
+
pinnedVersionUrl: string;
|
|
34
|
+
pinnedMajorVersionUrl: string;
|
|
35
|
+
latestVersionUrl: string;
|
|
36
|
+
guidance: string;
|
|
37
|
+
})[];
|
|
38
|
+
};
|
|
39
|
+
attributes: {
|
|
40
|
+
width: {
|
|
41
|
+
type: string;
|
|
42
|
+
description: string;
|
|
43
|
+
};
|
|
44
|
+
height: {
|
|
45
|
+
type: string;
|
|
46
|
+
description: string;
|
|
47
|
+
};
|
|
48
|
+
'x-axis-title': {
|
|
49
|
+
type: string;
|
|
50
|
+
description: string;
|
|
51
|
+
};
|
|
52
|
+
'y-axis-title': {
|
|
53
|
+
type: string;
|
|
54
|
+
description: string;
|
|
55
|
+
};
|
|
56
|
+
loading: {
|
|
57
|
+
type: string;
|
|
58
|
+
description: string;
|
|
59
|
+
};
|
|
60
|
+
'hide-numbers': {
|
|
61
|
+
type: string;
|
|
62
|
+
description: string;
|
|
63
|
+
};
|
|
64
|
+
};
|
|
65
|
+
examples: ({
|
|
66
|
+
title: string;
|
|
67
|
+
code: string;
|
|
68
|
+
description?: undefined;
|
|
69
|
+
} | {
|
|
70
|
+
title: string;
|
|
71
|
+
description: string;
|
|
72
|
+
code: string;
|
|
73
|
+
})[];
|
|
74
|
+
};
|
|
75
|
+
};
|
|
76
|
+
export default _default;
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import { buildCDNUrl, buildMajorVersion } from '../../../utils/buildCDNUrls.js';
|
|
2
|
+
import packageJson from '../../../../package.json' with { type: 'json' };
|
|
3
|
+
const latestLineChartVersion = packageJson.dependencies['@triptease/tt-line-chart'];
|
|
4
|
+
const latestDatasetVersion = packageJson.dependencies['@triptease/tt-dataset'];
|
|
5
|
+
const latestDataPointVersion = packageJson.dependencies['@triptease/tt-data-point'];
|
|
6
|
+
const latestHighlightVersion = packageJson.dependencies['@triptease/tt-highlight'];
|
|
7
|
+
export default {
|
|
8
|
+
'line-chart': {
|
|
9
|
+
name: 'Line Chart - Web Component',
|
|
10
|
+
description: 'Line chart for visualizing trends over continuous data',
|
|
11
|
+
ssrSafe: true,
|
|
12
|
+
element: 'tt-line-chart',
|
|
13
|
+
usageGuidance: {
|
|
14
|
+
whenToUse: [
|
|
15
|
+
'To visualize trends along a continuous x-axis',
|
|
16
|
+
'To compare how multiple datasets for the same measure change relative to each other',
|
|
17
|
+
],
|
|
18
|
+
avoid: [
|
|
19
|
+
'When the x-axis does not represent a continuous range (use a bar chart instead)',
|
|
20
|
+
'When there are too few data points to form a meaningful trend (use a bar chart instead)',
|
|
21
|
+
'When comparing datasets that do not have a meaningful or explainable relationship',
|
|
22
|
+
],
|
|
23
|
+
},
|
|
24
|
+
installation: {
|
|
25
|
+
npm: [
|
|
26
|
+
{ name: '@triptease/tt-line-chart', includesTypes: true, optional: false },
|
|
27
|
+
{ name: '@triptease/tt-dataset', includesTypes: true, optional: false },
|
|
28
|
+
{ name: '@triptease/tt-data-point', includesTypes: true, optional: false },
|
|
29
|
+
{ name: '@triptease/tt-highlight', includesTypes: true, optional: true },
|
|
30
|
+
],
|
|
31
|
+
cdn: [
|
|
32
|
+
{
|
|
33
|
+
name: 'tt-line-chart',
|
|
34
|
+
includesTypes: false,
|
|
35
|
+
optional: false,
|
|
36
|
+
pinnedVersionUrl: buildCDNUrl('tt-line-chart', latestLineChartVersion),
|
|
37
|
+
pinnedMajorVersionUrl: buildCDNUrl('tt-line-chart', buildMajorVersion(latestLineChartVersion)),
|
|
38
|
+
latestVersionUrl: buildCDNUrl('tt-line-chart', 'latest'),
|
|
39
|
+
guidance: 'Prefer pinned major version URL to avoid unexpected breaking changes. Do not use latest version URL in production code.',
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
name: 'tt-dataset',
|
|
43
|
+
includesTypes: false,
|
|
44
|
+
optional: false,
|
|
45
|
+
pinnedVersionUrl: buildCDNUrl('tt-dataset', latestDatasetVersion),
|
|
46
|
+
pinnedMajorVersionUrl: buildCDNUrl('tt-dataset', buildMajorVersion(latestDatasetVersion)),
|
|
47
|
+
latestVersionUrl: buildCDNUrl('tt-dataset', 'latest'),
|
|
48
|
+
guidance: 'Prefer pinned major version URL to avoid unexpected breaking changes. Do not use latest version URL in production code.',
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
name: 'tt-data-point',
|
|
52
|
+
includesTypes: false,
|
|
53
|
+
optional: false,
|
|
54
|
+
pinnedVersionUrl: buildCDNUrl('tt-data-point', latestDataPointVersion),
|
|
55
|
+
pinnedMajorVersionUrl: buildCDNUrl('tt-data-point', buildMajorVersion(latestDataPointVersion)),
|
|
56
|
+
latestVersionUrl: buildCDNUrl('tt-data-point', 'latest'),
|
|
57
|
+
guidance: 'Prefer pinned major version URL to avoid unexpected breaking changes. Do not use latest version URL in production code.',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: 'tt-highlight',
|
|
61
|
+
includesTypes: false,
|
|
62
|
+
optional: true,
|
|
63
|
+
pinnedVersionUrl: buildCDNUrl('tt-highlight', latestHighlightVersion),
|
|
64
|
+
pinnedMajorVersionUrl: buildCDNUrl('tt-highlight', buildMajorVersion(latestHighlightVersion)),
|
|
65
|
+
latestVersionUrl: buildCDNUrl('tt-highlight', 'latest'),
|
|
66
|
+
guidance: 'Prefer pinned major version URL to avoid unexpected breaking changes. Do not use latest version URL in production code.',
|
|
67
|
+
},
|
|
68
|
+
],
|
|
69
|
+
},
|
|
70
|
+
attributes: {
|
|
71
|
+
width: {
|
|
72
|
+
type: 'string',
|
|
73
|
+
description: 'Width of chart (any CSS value). Defaults to 100% to fill container.',
|
|
74
|
+
},
|
|
75
|
+
height: {
|
|
76
|
+
type: 'string',
|
|
77
|
+
description: 'Height of chart (any CSS value). Defaults to 100% to fill container.',
|
|
78
|
+
},
|
|
79
|
+
'x-axis-title': {
|
|
80
|
+
type: 'string',
|
|
81
|
+
description: 'Title for x-axis. Use to clarify units of measurement. Keep concise.',
|
|
82
|
+
},
|
|
83
|
+
'y-axis-title': {
|
|
84
|
+
type: 'string',
|
|
85
|
+
description: 'Title for y-axis. Use to clarify units of measurement. Keep concise.',
|
|
86
|
+
},
|
|
87
|
+
loading: {
|
|
88
|
+
type: 'boolean',
|
|
89
|
+
description: 'Show loading state while data fetches. Component handles aria-busy automatically.',
|
|
90
|
+
},
|
|
91
|
+
'hide-numbers': {
|
|
92
|
+
type: 'boolean',
|
|
93
|
+
description: 'Hide y-axis numbers and tooltips. Use when numbers could mislead. Removes ARIA labels, so provide trend description.',
|
|
94
|
+
},
|
|
95
|
+
},
|
|
96
|
+
examples: [
|
|
97
|
+
{
|
|
98
|
+
title: 'Basic line chart',
|
|
99
|
+
code: `import '@triptease/tt-line-chart';
|
|
100
|
+
import '@triptease/tt-dataset';
|
|
101
|
+
import '@triptease/tt-data-point';
|
|
102
|
+
|
|
103
|
+
<tt-line-chart id="basic-chart">
|
|
104
|
+
<tt-dataset label="2024">
|
|
105
|
+
<tt-data-point label="Jan 1" value={45}></tt-data-point>
|
|
106
|
+
<tt-data-point label="Jan 2" value={48}></tt-data-point>
|
|
107
|
+
<tt-data-point label="Jan 3" value={52}></tt-data-point>
|
|
108
|
+
</tt-dataset>
|
|
109
|
+
</tt-line-chart>`,
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
title: 'Multiple datasets',
|
|
113
|
+
description: 'Use multiple datasets to compare trends of the same measure for different groups. Limit datasets to a maximum of 4, as more datasets make the chart difficult to read and compare. The component automatically uses symbols to help identify each dataset without relying on color.',
|
|
114
|
+
code: `<tt-line-chart id="multiple-datasets" height="20rem">
|
|
115
|
+
<tt-dataset label="2025">
|
|
116
|
+
<tt-data-point label="Jan 1" value={45}></tt-data-point>
|
|
117
|
+
<tt-data-point label="Jan 2" value={48}></tt-data-point>
|
|
118
|
+
</tt-dataset>
|
|
119
|
+
<tt-dataset label="2024">
|
|
120
|
+
<tt-data-point label="Jan 1" value={42}></tt-data-point>
|
|
121
|
+
<tt-data-point label="Jan 2" value={44}></tt-data-point>
|
|
122
|
+
</tt-dataset>
|
|
123
|
+
</tt-line-chart>`,
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
title: 'With highlighted regions',
|
|
127
|
+
description: 'Use highlighted regions to draw attention to and label significant intervals. Only use when something significant occurs that may have affected the data. Use sparingly and highlight only the most important intervals to avoid clutter. Avoid overlapping regions as this can make it difficult to see where each interval starts and ends. Do not use when displaying multiple datasets if the highlight applies to only one dataset, as users may assume it applies to all.',
|
|
128
|
+
code: `import '@triptease/tt-highlight';
|
|
129
|
+
|
|
130
|
+
<tt-line-chart id="highlighted-chart" height="20rem">
|
|
131
|
+
<tt-dataset label="2025">
|
|
132
|
+
<tt-data-point label="Jan 1" value={45}></tt-data-point>
|
|
133
|
+
<tt-data-point label="Jan 2" value={48}></tt-data-point>
|
|
134
|
+
</tt-dataset>
|
|
135
|
+
<tt-highlight label="Easter Boost" from="15 Mar" to="5 Apr"></tt-highlight>
|
|
136
|
+
</tt-line-chart>;`,
|
|
137
|
+
},
|
|
138
|
+
],
|
|
139
|
+
},
|
|
140
|
+
};
|
|
141
|
+
//# sourceMappingURL=lineChart.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lineChart.js","sourceRoot":"","sources":["../../../../../src/manifests/components/entries/lineChart.ts"],"names":[],"mappings":"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","sourcesContent":["import { ComponentManifest } from '@/manifests/components/types.js';\nimport { buildCDNUrl, buildMajorVersion } from '@/utils/buildCDNUrls.js';\nimport packageJson from '@/../package.json' with { type: 'json' };\n\nconst latestLineChartVersion = packageJson.dependencies['@triptease/tt-line-chart'];\nconst latestDatasetVersion = packageJson.dependencies['@triptease/tt-dataset'];\nconst latestDataPointVersion = packageJson.dependencies['@triptease/tt-data-point'];\nconst latestHighlightVersion = packageJson.dependencies['@triptease/tt-highlight'];\n\nexport default {\n 'line-chart': {\n name: 'Line Chart - Web Component',\n description: 'Line chart for visualizing trends over continuous data',\n ssrSafe: true,\n element: 'tt-line-chart',\n usageGuidance: {\n whenToUse: [\n 'To visualize trends along a continuous x-axis',\n 'To compare how multiple datasets for the same measure change relative to each other',\n ],\n avoid: [\n 'When the x-axis does not represent a continuous range (use a bar chart instead)',\n 'When there are too few data points to form a meaningful trend (use a bar chart instead)',\n 'When comparing datasets that do not have a meaningful or explainable relationship',\n ],\n },\n installation: {\n npm: [\n { name: '@triptease/tt-line-chart', includesTypes: true, optional: false },\n { name: '@triptease/tt-dataset', includesTypes: true, optional: false },\n { name: '@triptease/tt-data-point', includesTypes: true, optional: false },\n { name: '@triptease/tt-highlight', includesTypes: true, optional: true },\n ],\n cdn: [\n {\n name: 'tt-line-chart',\n includesTypes: false,\n optional: false,\n pinnedVersionUrl: buildCDNUrl('tt-line-chart', latestLineChartVersion),\n pinnedMajorVersionUrl: buildCDNUrl('tt-line-chart', buildMajorVersion(latestLineChartVersion)),\n latestVersionUrl: buildCDNUrl('tt-line-chart', 'latest'),\n guidance:\n 'Prefer pinned major version URL to avoid unexpected breaking changes. Do not use latest version URL in production code.',\n },\n {\n name: 'tt-dataset',\n includesTypes: false,\n optional: false,\n pinnedVersionUrl: buildCDNUrl('tt-dataset', latestDatasetVersion),\n pinnedMajorVersionUrl: buildCDNUrl('tt-dataset', buildMajorVersion(latestDatasetVersion)),\n latestVersionUrl: buildCDNUrl('tt-dataset', 'latest'),\n guidance:\n 'Prefer pinned major version URL to avoid unexpected breaking changes. Do not use latest version URL in production code.',\n },\n {\n name: 'tt-data-point',\n includesTypes: false,\n optional: false,\n pinnedVersionUrl: buildCDNUrl('tt-data-point', latestDataPointVersion),\n pinnedMajorVersionUrl: buildCDNUrl('tt-data-point', buildMajorVersion(latestDataPointVersion)),\n latestVersionUrl: buildCDNUrl('tt-data-point', 'latest'),\n guidance:\n 'Prefer pinned major version URL to avoid unexpected breaking changes. Do not use latest version URL in production code.',\n },\n {\n name: 'tt-highlight',\n includesTypes: false,\n optional: true,\n pinnedVersionUrl: buildCDNUrl('tt-highlight', latestHighlightVersion),\n pinnedMajorVersionUrl: buildCDNUrl('tt-highlight', buildMajorVersion(latestHighlightVersion)),\n latestVersionUrl: buildCDNUrl('tt-highlight', 'latest'),\n guidance:\n 'Prefer pinned major version URL to avoid unexpected breaking changes. Do not use latest version URL in production code.',\n },\n ],\n },\n attributes: {\n width: {\n type: 'string',\n description: 'Width of chart (any CSS value). Defaults to 100% to fill container.',\n },\n height: {\n type: 'string',\n description: 'Height of chart (any CSS value). Defaults to 100% to fill container.',\n },\n 'x-axis-title': {\n type: 'string',\n description: 'Title for x-axis. Use to clarify units of measurement. Keep concise.',\n },\n 'y-axis-title': {\n type: 'string',\n description: 'Title for y-axis. Use to clarify units of measurement. Keep concise.',\n },\n loading: {\n type: 'boolean',\n description: 'Show loading state while data fetches. Component handles aria-busy automatically.',\n },\n 'hide-numbers': {\n type: 'boolean',\n description:\n 'Hide y-axis numbers and tooltips. Use when numbers could mislead. Removes ARIA labels, so provide trend description.',\n },\n },\n examples: [\n {\n title: 'Basic line chart',\n code: `import '@triptease/tt-line-chart';\nimport '@triptease/tt-dataset';\nimport '@triptease/tt-data-point';\n\n<tt-line-chart id=\"basic-chart\">\n <tt-dataset label=\"2024\">\n <tt-data-point label=\"Jan 1\" value={45}></tt-data-point>\n <tt-data-point label=\"Jan 2\" value={48}></tt-data-point>\n <tt-data-point label=\"Jan 3\" value={52}></tt-data-point>\n </tt-dataset>\n</tt-line-chart>`,\n },\n {\n title: 'Multiple datasets',\n description:\n 'Use multiple datasets to compare trends of the same measure for different groups. Limit datasets to a maximum of 4, as more datasets make the chart difficult to read and compare. The component automatically uses symbols to help identify each dataset without relying on color.',\n code: `<tt-line-chart id=\"multiple-datasets\" height=\"20rem\">\n <tt-dataset label=\"2025\">\n <tt-data-point label=\"Jan 1\" value={45}></tt-data-point>\n <tt-data-point label=\"Jan 2\" value={48}></tt-data-point>\n </tt-dataset>\n <tt-dataset label=\"2024\">\n <tt-data-point label=\"Jan 1\" value={42}></tt-data-point>\n <tt-data-point label=\"Jan 2\" value={44}></tt-data-point>\n </tt-dataset>\n</tt-line-chart>`,\n },\n {\n title: 'With highlighted regions',\n description:\n 'Use highlighted regions to draw attention to and label significant intervals. Only use when something significant occurs that may have affected the data. Use sparingly and highlight only the most important intervals to avoid clutter. Avoid overlapping regions as this can make it difficult to see where each interval starts and ends. Do not use when displaying multiple datasets if the highlight applies to only one dataset, as users may assume it applies to all.',\n code: `import '@triptease/tt-highlight';\n\n<tt-line-chart id=\"highlighted-chart\" height=\"20rem\">\n <tt-dataset label=\"2025\">\n <tt-data-point label=\"Jan 1\" value={45}></tt-data-point>\n <tt-data-point label=\"Jan 2\" value={48}></tt-data-point>\n </tt-dataset>\n <tt-highlight label=\"Easter Boost\" from=\"15 Mar\" to=\"5 Apr\"></tt-highlight>\n</tt-line-chart>;`,\n },\n ],\n },\n} satisfies ComponentManifest;\n"]}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
numberinput: {
|
|
3
|
+
name: string;
|
|
4
|
+
description: string;
|
|
5
|
+
element: string;
|
|
6
|
+
usageGuidance: {
|
|
7
|
+
whenToUse: string[];
|
|
8
|
+
avoid: string[];
|
|
9
|
+
};
|
|
10
|
+
attributes: {
|
|
11
|
+
type: {
|
|
12
|
+
values: string[];
|
|
13
|
+
default: string;
|
|
14
|
+
};
|
|
15
|
+
'aria-invalid': {
|
|
16
|
+
type: string;
|
|
17
|
+
description: string;
|
|
18
|
+
};
|
|
19
|
+
disabled: {
|
|
20
|
+
type: string;
|
|
21
|
+
description: string;
|
|
22
|
+
};
|
|
23
|
+
placeholder: {
|
|
24
|
+
type: string;
|
|
25
|
+
description: string;
|
|
26
|
+
};
|
|
27
|
+
min: {
|
|
28
|
+
type: string;
|
|
29
|
+
description: string;
|
|
30
|
+
};
|
|
31
|
+
max: {
|
|
32
|
+
type: string;
|
|
33
|
+
description: string;
|
|
34
|
+
};
|
|
35
|
+
step: {
|
|
36
|
+
type: string;
|
|
37
|
+
description: string;
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
states: string[];
|
|
41
|
+
examples: ({
|
|
42
|
+
title: string;
|
|
43
|
+
code: string;
|
|
44
|
+
description?: undefined;
|
|
45
|
+
} | {
|
|
46
|
+
title: string;
|
|
47
|
+
description: string;
|
|
48
|
+
code: string;
|
|
49
|
+
})[];
|
|
50
|
+
};
|
|
51
|
+
};
|
|
52
|
+
export default _default;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
numberinput: {
|
|
3
|
+
name: 'Number Input',
|
|
4
|
+
description: 'Number input field with browser-provided increment/decrement controls',
|
|
5
|
+
element: "input[type='number']",
|
|
6
|
+
usageGuidance: {
|
|
7
|
+
whenToUse: [
|
|
8
|
+
'Collecting numeric data (age, quantity, price)',
|
|
9
|
+
'Values have clear min/max bounds',
|
|
10
|
+
'Users benefit from increment/decrement buttons',
|
|
11
|
+
],
|
|
12
|
+
avoid: [
|
|
13
|
+
'Numbers containing formatting (phone numbers, credit cards - use text input)',
|
|
14
|
+
'Complex number validation needed',
|
|
15
|
+
],
|
|
16
|
+
},
|
|
17
|
+
attributes: {
|
|
18
|
+
type: {
|
|
19
|
+
values: ['number'],
|
|
20
|
+
default: 'number',
|
|
21
|
+
},
|
|
22
|
+
'aria-invalid': {
|
|
23
|
+
type: 'boolean',
|
|
24
|
+
description: 'Marks input as invalid for error styling. Pair with aria-describedby to associate error messages.',
|
|
25
|
+
},
|
|
26
|
+
disabled: {
|
|
27
|
+
type: 'boolean',
|
|
28
|
+
description: 'Disables the input',
|
|
29
|
+
},
|
|
30
|
+
placeholder: {
|
|
31
|
+
type: 'string',
|
|
32
|
+
description: 'Placeholder text. Should not replace label - always provide visible label element.',
|
|
33
|
+
},
|
|
34
|
+
min: {
|
|
35
|
+
type: 'number',
|
|
36
|
+
description: 'Minimum allowed value',
|
|
37
|
+
},
|
|
38
|
+
max: {
|
|
39
|
+
type: 'number',
|
|
40
|
+
description: 'Maximum allowed value',
|
|
41
|
+
},
|
|
42
|
+
step: {
|
|
43
|
+
type: 'number',
|
|
44
|
+
description: 'Increment/decrement step size',
|
|
45
|
+
},
|
|
46
|
+
},
|
|
47
|
+
states: ['default', 'hover', 'focus', 'disabled', 'invalid'],
|
|
48
|
+
examples: [
|
|
49
|
+
{
|
|
50
|
+
title: 'Basic usage',
|
|
51
|
+
code: `<label for="hotel-count">Number of Hotels</label>
|
|
52
|
+
<input id="hotel-count" type="number" />`,
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
title: 'Error state',
|
|
56
|
+
description: 'Use aria-invalid with aria-describedby to associate error messages for screen readers',
|
|
57
|
+
code: `<label for="quantity">Quantity</label>
|
|
58
|
+
<input id="quantity" type="number" min="1" max="10" aria-invalid aria-describedby="quantity-error" />
|
|
59
|
+
<span id="quantity-error" class="text-error">Please enter a number between 1 and 10</span>`,
|
|
60
|
+
},
|
|
61
|
+
],
|
|
62
|
+
},
|
|
63
|
+
};
|
|
64
|
+
//# sourceMappingURL=numberinput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"numberinput.js","sourceRoot":"","sources":["../../../../../src/manifests/components/entries/numberinput.ts"],"names":[],"mappings":"AAEA,eAAe;IACb,WAAW,EAAE;QACX,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,uEAAuE;QACpF,OAAO,EAAE,sBAAsB;QAC/B,aAAa,EAAE;YACb,SAAS,EAAE;gBACT,gDAAgD;gBAChD,kCAAkC;gBAClC,gDAAgD;aACjD;YACD,KAAK,EAAE;gBACL,8EAA8E;gBAC9E,kCAAkC;aACnC;SACF;QACD,UAAU,EAAE;YACV,IAAI,EAAE;gBACJ,MAAM,EAAE,CAAC,QAAQ,CAAC;gBAClB,OAAO,EAAE,QAAQ;aAClB;YACD,cAAc,EAAE;gBACd,IAAI,EAAE,SAAS;gBACf,WAAW,EACT,mGAAmG;aACtG;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,oBAAoB;aAClC;YACD,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,oFAAoF;aAClG;YACD,GAAG,EAAE;gBACH,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,uBAAuB;aACrC;YACD,GAAG,EAAE;gBACH,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,uBAAuB;aACrC;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,+BAA+B;aAC7C;SACF;QACD,MAAM,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,CAAC;QAC5D,QAAQ,EAAE;YACR;gBACE,KAAK,EAAE,aAAa;gBACpB,IAAI,EAAE;yCAC2B;aAClC;YACD;gBACE,KAAK,EAAE,aAAa;gBACpB,WAAW,EAAE,uFAAuF;gBACpG,IAAI,EAAE;;2FAE6E;aACpF;SACF;KACF;CAC0B,CAAC","sourcesContent":["import { ComponentManifest } from '@/manifests/components/types.js';\n\nexport default {\n numberinput: {\n name: 'Number Input',\n description: 'Number input field with browser-provided increment/decrement controls',\n element: \"input[type='number']\",\n usageGuidance: {\n whenToUse: [\n 'Collecting numeric data (age, quantity, price)',\n 'Values have clear min/max bounds',\n 'Users benefit from increment/decrement buttons',\n ],\n avoid: [\n 'Numbers containing formatting (phone numbers, credit cards - use text input)',\n 'Complex number validation needed',\n ],\n },\n attributes: {\n type: {\n values: ['number'],\n default: 'number',\n },\n 'aria-invalid': {\n type: 'boolean',\n description:\n 'Marks input as invalid for error styling. Pair with aria-describedby to associate error messages.',\n },\n disabled: {\n type: 'boolean',\n description: 'Disables the input',\n },\n placeholder: {\n type: 'string',\n description: 'Placeholder text. Should not replace label - always provide visible label element.',\n },\n min: {\n type: 'number',\n description: 'Minimum allowed value',\n },\n max: {\n type: 'number',\n description: 'Maximum allowed value',\n },\n step: {\n type: 'number',\n description: 'Increment/decrement step size',\n },\n },\n states: ['default', 'hover', 'focus', 'disabled', 'invalid'],\n examples: [\n {\n title: 'Basic usage',\n code: `<label for=\"hotel-count\">Number of Hotels</label>\n<input id=\"hotel-count\" type=\"number\" />`,\n },\n {\n title: 'Error state',\n description: 'Use aria-invalid with aria-describedby to associate error messages for screen readers',\n code: `<label for=\"quantity\">Quantity</label>\n<input id=\"quantity\" type=\"number\" min=\"1\" max=\"10\" aria-invalid aria-describedby=\"quantity-error\" />\n<span id=\"quantity-error\" class=\"text-error\">Please enter a number between 1 and 10</span>`,\n },\n ],\n },\n} satisfies ComponentManifest;\n"]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
radio: {
|
|
3
|
+
name: string;
|
|
4
|
+
description: string;
|
|
5
|
+
element: string;
|
|
6
|
+
usageGuidance: {
|
|
7
|
+
whenToUse: string[];
|
|
8
|
+
avoid: string[];
|
|
9
|
+
};
|
|
10
|
+
attributes: {
|
|
11
|
+
name: {
|
|
12
|
+
type: string;
|
|
13
|
+
description: string;
|
|
14
|
+
};
|
|
15
|
+
checked: {
|
|
16
|
+
type: string;
|
|
17
|
+
description: string;
|
|
18
|
+
};
|
|
19
|
+
disabled: {
|
|
20
|
+
type: string;
|
|
21
|
+
description: string;
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
examples: {
|
|
25
|
+
title: string;
|
|
26
|
+
description: string;
|
|
27
|
+
code: string;
|
|
28
|
+
}[];
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
export default _default;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
radio: {
|
|
3
|
+
name: 'Radio',
|
|
4
|
+
description: 'Radio button for selecting exactly one option from mutually exclusive choices',
|
|
5
|
+
element: "input[type='radio']",
|
|
6
|
+
usageGuidance: {
|
|
7
|
+
whenToUse: [
|
|
8
|
+
'Only one option can be selected from a small set',
|
|
9
|
+
'All options need to be visible at once',
|
|
10
|
+
'Comparing options side-by-side is important',
|
|
11
|
+
'Default selection is recommended',
|
|
12
|
+
],
|
|
13
|
+
avoid: [
|
|
14
|
+
'Multiple selections allowed (use checkboxes)',
|
|
15
|
+
'Long lists of options (consider select dropdown or combobox)',
|
|
16
|
+
'Immediate action expected (use toggle or button)',
|
|
17
|
+
],
|
|
18
|
+
},
|
|
19
|
+
attributes: {
|
|
20
|
+
name: {
|
|
21
|
+
type: 'string',
|
|
22
|
+
description: 'Groups radio buttons together. All radio buttons in a group must have the same name.',
|
|
23
|
+
},
|
|
24
|
+
checked: {
|
|
25
|
+
type: 'boolean',
|
|
26
|
+
description: 'Marks radio button as selected by default. Only one radio in a group should be checked.',
|
|
27
|
+
},
|
|
28
|
+
disabled: {
|
|
29
|
+
type: 'boolean',
|
|
30
|
+
description: 'Disables the radio button. Can be applied to individual inputs or to parent fieldset to disable all radios.',
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
examples: [
|
|
34
|
+
{
|
|
35
|
+
title: 'Radio group',
|
|
36
|
+
description: 'Use fieldset and legend for grouped radio buttons. All radios must share the same name attribute.',
|
|
37
|
+
code: `<fieldset>
|
|
38
|
+
<legend>Choose a color:</legend>
|
|
39
|
+
<input type="radio" id="radio-red" name="color" value="red" />
|
|
40
|
+
<label for="radio-red">Red</label>
|
|
41
|
+
<input type="radio" id="radio-green" name="color" value="green" />
|
|
42
|
+
<label for="radio-green">Green</label>
|
|
43
|
+
<input type="radio" id="radio-blue" name="color" value="blue" />
|
|
44
|
+
<label for="radio-blue">Blue</label>
|
|
45
|
+
</fieldset>`,
|
|
46
|
+
},
|
|
47
|
+
],
|
|
48
|
+
},
|
|
49
|
+
};
|
|
50
|
+
//# sourceMappingURL=radio.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"radio.js","sourceRoot":"","sources":["../../../../../src/manifests/components/entries/radio.ts"],"names":[],"mappings":"AAEA,eAAe;IACb,KAAK,EAAE;QACL,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,+EAA+E;QAC5F,OAAO,EAAE,qBAAqB;QAC9B,aAAa,EAAE;YACb,SAAS,EAAE;gBACT,kDAAkD;gBAClD,wCAAwC;gBACxC,6CAA6C;gBAC7C,kCAAkC;aACnC;YACD,KAAK,EAAE;gBACL,8CAA8C;gBAC9C,8DAA8D;gBAC9D,kDAAkD;aACnD;SACF;QACD,UAAU,EAAE;YACV,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,sFAAsF;aACpG;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,yFAAyF;aACvG;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,SAAS;gBACf,WAAW,EACT,6GAA6G;aAChH;SACF;QACD,QAAQ,EAAE;YACR;gBACE,KAAK,EAAE,aAAa;gBACpB,WAAW,EACT,mGAAmG;gBACrG,IAAI,EAAE;;;;;;;;YAQF;aACL;SACF;KACF;CAC0B,CAAC","sourcesContent":["import { ComponentManifest } from '@/manifests/components/types.js';\n\nexport default {\n radio: {\n name: 'Radio',\n description: 'Radio button for selecting exactly one option from mutually exclusive choices',\n element: \"input[type='radio']\",\n usageGuidance: {\n whenToUse: [\n 'Only one option can be selected from a small set',\n 'All options need to be visible at once',\n 'Comparing options side-by-side is important',\n 'Default selection is recommended',\n ],\n avoid: [\n 'Multiple selections allowed (use checkboxes)',\n 'Long lists of options (consider select dropdown or combobox)',\n 'Immediate action expected (use toggle or button)',\n ],\n },\n attributes: {\n name: {\n type: 'string',\n description: 'Groups radio buttons together. All radio buttons in a group must have the same name.',\n },\n checked: {\n type: 'boolean',\n description: 'Marks radio button as selected by default. Only one radio in a group should be checked.',\n },\n disabled: {\n type: 'boolean',\n description:\n 'Disables the radio button. Can be applied to individual inputs or to parent fieldset to disable all radios.',\n },\n },\n examples: [\n {\n title: 'Radio group',\n description:\n 'Use fieldset and legend for grouped radio buttons. All radios must share the same name attribute.',\n code: `<fieldset>\n <legend>Choose a color:</legend>\n <input type=\"radio\" id=\"radio-red\" name=\"color\" value=\"red\" />\n <label for=\"radio-red\">Red</label>\n <input type=\"radio\" id=\"radio-green\" name=\"color\" value=\"green\" />\n <label for=\"radio-green\">Green</label>\n <input type=\"radio\" id=\"radio-blue\" name=\"color\" value=\"blue\" />\n <label for=\"radio-blue\">Blue</label>\n</fieldset>`,\n },\n ],\n },\n} satisfies ComponentManifest;\n"]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
select: {
|
|
3
|
+
name: string;
|
|
4
|
+
description: string;
|
|
5
|
+
element: string;
|
|
6
|
+
usageGuidance: {
|
|
7
|
+
whenToUse: string[];
|
|
8
|
+
avoid: string[];
|
|
9
|
+
};
|
|
10
|
+
examples: {
|
|
11
|
+
title: string;
|
|
12
|
+
code: string;
|
|
13
|
+
}[];
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
export default _default;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
select: {
|
|
3
|
+
name: 'Select Input',
|
|
4
|
+
description: 'Dropdown list for selecting a single option',
|
|
5
|
+
element: 'select',
|
|
6
|
+
usageGuidance: {
|
|
7
|
+
whenToUse: ['Selecting from a list of predefined options', 'Limited screen space'],
|
|
8
|
+
avoid: ['Multiple selections (use the Combobox webcomponent)'],
|
|
9
|
+
},
|
|
10
|
+
examples: [
|
|
11
|
+
{
|
|
12
|
+
title: 'Basic select',
|
|
13
|
+
code: `<label for="reports">Select report frequency</label>
|
|
14
|
+
<select name="reports">
|
|
15
|
+
<option value="daily">Daily Report</option>
|
|
16
|
+
<option value="weekly">Weekly Report</option>
|
|
17
|
+
<option value="monthly">Monthly Report</option>
|
|
18
|
+
</select>`,
|
|
19
|
+
},
|
|
20
|
+
],
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=select.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"select.js","sourceRoot":"","sources":["../../../../../src/manifests/components/entries/select.ts"],"names":[],"mappings":"AAEA,eAAe;IACb,MAAM,EAAE;QACN,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,6CAA6C;QAC1D,OAAO,EAAE,QAAQ;QACjB,aAAa,EAAE;YACb,SAAS,EAAE,CAAC,6CAA6C,EAAE,sBAAsB,CAAC;YAClF,KAAK,EAAE,CAAC,qDAAqD,CAAC;SAC/D;QACD,QAAQ,EAAE;YACR;gBACE,KAAK,EAAE,cAAc;gBACrB,IAAI,EAAE;;;;;UAKJ;aACH;SACF;KACF;CAC0B,CAAC","sourcesContent":["import { ComponentManifest } from '@/manifests/components/types.js';\n\nexport default {\n select: {\n name: 'Select Input',\n description: 'Dropdown list for selecting a single option',\n element: 'select',\n usageGuidance: {\n whenToUse: ['Selecting from a list of predefined options', 'Limited screen space'],\n avoid: ['Multiple selections (use the Combobox webcomponent)'],\n },\n examples: [\n {\n title: 'Basic select',\n code: `<label for=\"reports\">Select report frequency</label>\n<select name=\"reports\">\n <option value=\"daily\">Daily Report</option>\n <option value=\"weekly\">Weekly Report</option>\n <option value=\"monthly\">Monthly Report</option>\n</select>`,\n },\n ],\n },\n} satisfies ComponentManifest;\n"]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
table: {
|
|
3
|
+
name: string;
|
|
4
|
+
description: string;
|
|
5
|
+
element: string;
|
|
6
|
+
usageGuidance: {
|
|
7
|
+
whenToUse: string[];
|
|
8
|
+
avoid: string[];
|
|
9
|
+
};
|
|
10
|
+
examples: {
|
|
11
|
+
title: string;
|
|
12
|
+
code: string;
|
|
13
|
+
}[];
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
export default _default;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
table: {
|
|
3
|
+
name: 'Table',
|
|
4
|
+
description: 'Organize and display data in rows and columns',
|
|
5
|
+
element: 'table',
|
|
6
|
+
usageGuidance: {
|
|
7
|
+
whenToUse: [
|
|
8
|
+
'Display structured data with multiple attributes',
|
|
9
|
+
'Enable comparison across data rows',
|
|
10
|
+
'Present numerical or tabular information',
|
|
11
|
+
'Show data relationships clearly',
|
|
12
|
+
],
|
|
13
|
+
avoid: [
|
|
14
|
+
'For layout purposes (use CSS Grid or Flexbox)',
|
|
15
|
+
'When data is better visualized as a chart',
|
|
16
|
+
'For small amounts of data that could be in a list',
|
|
17
|
+
"On small screens where columns won't fit (consider alternative layouts)",
|
|
18
|
+
],
|
|
19
|
+
},
|
|
20
|
+
examples: [
|
|
21
|
+
{
|
|
22
|
+
title: 'Basic table',
|
|
23
|
+
code: `<table>
|
|
24
|
+
<thead>
|
|
25
|
+
<tr>
|
|
26
|
+
<th>Property Name</th>
|
|
27
|
+
<th>Impressions</th>
|
|
28
|
+
<th>Revenue</th>
|
|
29
|
+
</tr>
|
|
30
|
+
</thead>
|
|
31
|
+
<tbody>
|
|
32
|
+
<tr>
|
|
33
|
+
<td>Downtown Suites</td>
|
|
34
|
+
<td>12,450</td>
|
|
35
|
+
<td>$5,760.00</td>
|
|
36
|
+
</tr>
|
|
37
|
+
</tbody>
|
|
38
|
+
</table>`,
|
|
39
|
+
},
|
|
40
|
+
],
|
|
41
|
+
},
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=table.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table.js","sourceRoot":"","sources":["../../../../../src/manifests/components/entries/table.ts"],"names":[],"mappings":"AAEA,eAAe;IACb,KAAK,EAAE;QACL,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,+CAA+C;QAC5D,OAAO,EAAE,OAAO;QAChB,aAAa,EAAE;YACb,SAAS,EAAE;gBACT,kDAAkD;gBAClD,oCAAoC;gBACpC,0CAA0C;gBAC1C,iCAAiC;aAClC;YACD,KAAK,EAAE;gBACL,+CAA+C;gBAC/C,2CAA2C;gBAC3C,mDAAmD;gBACnD,yEAAyE;aAC1E;SACF;QACD,QAAQ,EAAE;YACR;gBACE,KAAK,EAAE,aAAa;gBACpB,IAAI,EAAE;;;;;;;;;;;;;;;SAeL;aACF;SACF;KACF;CAC0B,CAAC","sourcesContent":["import { ComponentManifest } from '@/manifests/components/types.js';\n\nexport default {\n table: {\n name: 'Table',\n description: 'Organize and display data in rows and columns',\n element: 'table',\n usageGuidance: {\n whenToUse: [\n 'Display structured data with multiple attributes',\n 'Enable comparison across data rows',\n 'Present numerical or tabular information',\n 'Show data relationships clearly',\n ],\n avoid: [\n 'For layout purposes (use CSS Grid or Flexbox)',\n 'When data is better visualized as a chart',\n 'For small amounts of data that could be in a list',\n \"On small screens where columns won't fit (consider alternative layouts)\",\n ],\n },\n examples: [\n {\n title: 'Basic table',\n code: `<table>\n <thead>\n <tr>\n <th>Property Name</th>\n <th>Impressions</th>\n <th>Revenue</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td>Downtown Suites</td>\n <td>12,450</td>\n <td>$5,760.00</td>\n </tr>\n </tbody>\n</table>`,\n },\n ],\n },\n} satisfies ComponentManifest;\n"]}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
textarea: {
|
|
3
|
+
name: string;
|
|
4
|
+
description: string;
|
|
5
|
+
element: string;
|
|
6
|
+
usageGuidance: {
|
|
7
|
+
whenToUse: string[];
|
|
8
|
+
avoid: string[];
|
|
9
|
+
};
|
|
10
|
+
attributes: {
|
|
11
|
+
'aria-invalid': {
|
|
12
|
+
type: string;
|
|
13
|
+
description: string;
|
|
14
|
+
};
|
|
15
|
+
disabled: {
|
|
16
|
+
type: string;
|
|
17
|
+
description: string;
|
|
18
|
+
};
|
|
19
|
+
placeholder: {
|
|
20
|
+
type: string;
|
|
21
|
+
description: string;
|
|
22
|
+
};
|
|
23
|
+
rows: {
|
|
24
|
+
type: string;
|
|
25
|
+
description: string;
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
states: string[];
|
|
29
|
+
examples: ({
|
|
30
|
+
title: string;
|
|
31
|
+
code: string;
|
|
32
|
+
description?: undefined;
|
|
33
|
+
} | {
|
|
34
|
+
title: string;
|
|
35
|
+
description: string;
|
|
36
|
+
code: string;
|
|
37
|
+
})[];
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
export default _default;
|