@decoda-ui/web 0.0.0-stage → 0.1.1
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/Button.module.css.js +3 -0
- package/dist/Card.module.css.js +3 -0
- package/dist/Catalog.module.css.js +3 -0
- package/dist/ShareBar.module.css.js +3 -0
- package/dist/chart.d.ts +13 -0
- package/dist/chart.js +45 -0
- package/dist/components.css +1 -0
- package/dist/icons.d.ts +18 -0
- package/dist/icons.js +19 -0
- package/dist/index.d.ts +22 -0
- package/dist/index.js +23 -0
- package/dist/theme.css +228 -0
- package/dist/theme.css.d.ts +89 -0
- package/package.json +35 -3
- package/README.md +0 -3
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
var button = {"root":"dui_Button-module__root__CbGH4","primary":"dui_Button-module__primary__CQ8bX","secondary":"dui_Button-module__secondary__wviPm","ghost":"dui_Button-module__ghost__2oIHL","destructive":"dui_Button-module__destructive__DHvi7","small":"dui_Button-module__small__5NNzM","medium":"dui_Button-module__medium__a-asN","large":"dui_Button-module__large__h29o-"};
|
|
2
|
+
|
|
3
|
+
export { button as default };
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
var catalog = {"stack":"dui_Catalog-module__stack__rChQJ","row":"dui_Catalog-module__row__xLx-P","grid":"dui_Catalog-module__grid__2rCan","label":"dui_Catalog-module__label__V1yxt","hint":"dui_Catalog-module__hint__mppWN","field":"dui_Catalog-module__field__vL57B","select":"dui_Catalog-module__select__mPh7s dui_Catalog-module__field__vL57B","check":"dui_Catalog-module__check__8wWll","radio":"dui_Catalog-module__radio__oE5-J","switch":"dui_Catalog-module__switch__-ZBy3","iconButton":"dui_Catalog-module__iconButton__c612U","tab":"dui_Catalog-module__tab__vDTnc","invalid":"dui_Catalog-module__invalid__5gd31","error":"dui_Catalog-module__error__msJNX","choice":"dui_Catalog-module__choice__uMRGN","tabs":"dui_Catalog-module__tabs__2BA7V","tabActive":"dui_Catalog-module__tabActive__fPMBa","tabPill":"dui_Catalog-module__tabPill__RUW1u","icon":"dui_Catalog-module__icon__AJg25","avatar":"dui_Catalog-module__avatar__seEYl","badge":"dui_Catalog-module__badge__KJep6","badgeSuccess":"dui_Catalog-module__badgeSuccess__F60aF","badgeWarning":"dui_Catalog-module__badgeWarning__bjkmd","metricLabel":"dui_Catalog-module__metricLabel__aVoG5","metricValue":"dui_Catalog-module__metricValue__EFR2u","summaryCard":"dui_Catalog-module__summaryCard__O44Sm","metricNote":"dui_Catalog-module__metricNote__5Xq3Z","summaryMain":"dui_Catalog-module__summaryMain__CGt3k","summaryColumn":"dui_Catalog-module__summaryColumn__xT-8Q","summaryTitle":"dui_Catalog-module__summaryTitle__1KAfg","summarySpent":"dui_Catalog-module__summarySpent__KupfN","summarySpentValue":"dui_Catalog-module__summarySpentValue__cYCxD","summaryFooter":"dui_Catalog-module__summaryFooter__uXYlh","summaryTopline":"dui_Catalog-module__summaryTopline__guFnA","summaryChartHeading":"dui_Catalog-module__summaryChartHeading__51mke","pageHeading":"dui_Catalog-module__pageHeading__f79eD","pageTitle":"dui_Catalog-module__pageTitle__IGwN-","callout":"dui_Catalog-module__callout__BPScX","chartCard":"dui_Catalog-module__chartCard__Gxo6d","cifraNav":"dui_Catalog-module__cifraNav__E09ha","cifraNavTabs":"dui_Catalog-module__cifraNavTabs__jrF9l","eyebrow":"dui_Catalog-module__eyebrow__XEzqz","calloutSuccess":"dui_Catalog-module__calloutSuccess__5t0FQ","tableWrap":"dui_Catalog-module__tableWrap__RI-0b","table":"dui_Catalog-module__table__0iTne","numeric":"dui_Catalog-module__numeric__KjeSJ","status":"dui_Catalog-module__status__6zORi","statusPending":"dui_Catalog-module__statusPending__76Tkt","spinner":"dui_Catalog-module__spinner__2PSZp","dui-spin":"dui_Catalog-module__dui-spin__KdEdK","skeleton":"dui_Catalog-module__skeleton__T9pSY","dui-shimmer":"dui_Catalog-module__dui-shimmer__yBnX-","dialogBackdrop":"dui_Catalog-module__dialogBackdrop__snQ8t","dialog":"dui_Catalog-module__dialog__h5uNq","sheet":"dui_Catalog-module__sheet__aht46","dialogTitle":"dui_Catalog-module__dialogTitle__8QxO7","dialogActions":"dui_Catalog-module__dialogActions__Sp14s","sheetHandle":"dui_Catalog-module__sheetHandle__gGGA3","chartReading":"dui_Catalog-module__chartReading__gJu1J","chartReadingValue":"dui_Catalog-module__chartReadingValue__1IM0x","chartAxis":"dui_Catalog-module__chartAxis__UW0Id","stackedBar":"dui_Catalog-module__stackedBar__7At1p","stackedSegment":"dui_Catalog-module__stackedSegment__FaQwj","monthlyBars":"dui_Catalog-module__monthlyBars__uZngI","monthlyBar":"dui_Catalog-module__monthlyBar__ISmMb","monthlyBarFill":"dui_Catalog-module__monthlyBarFill__5hYQ5","monthlyBarTick":"dui_Catalog-module__monthlyBarTick__sHKNC","chartState":"dui_Catalog-module__chartState__1OHWg","chartInteractive":"dui_Catalog-module__chartInteractive__5IYhQ","sparkDot":"dui_Catalog-module__sparkDot__OtXXW","chartLegend":"dui_Catalog-module__chartLegend__TUJRd","annualBar":"dui_Catalog-module__annualBar__zkTiD","annualBilledHit":"dui_Catalog-module__annualBilledHit__vSmlF","annualSpentHit":"dui_Catalog-module__annualSpentHit__-iEtu","annualBarDetail":"dui_Catalog-module__annualBarDetail__53s7V","chartKey":"dui_Catalog-module__chartKey__9vf8e","chartKeyDashed":"dui_Catalog-module__chartKeyDashed__b1-ps"};
|
|
2
|
+
|
|
3
|
+
export { catalog as default };
|
package/dist/chart.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export type ChartPoint = readonly [x: number, y: number];
|
|
2
|
+
/** Fit values into a fixed SVG viewBox while reserving time after the latest datum. */
|
|
3
|
+
export declare function chartPoints(values: readonly number[], { span, min, max, width, height }?: {
|
|
4
|
+
span?: number;
|
|
5
|
+
min?: number;
|
|
6
|
+
max?: number;
|
|
7
|
+
width?: number;
|
|
8
|
+
height?: number;
|
|
9
|
+
}): ChartPoint[];
|
|
10
|
+
/** Normalise two currencies independently when no conversion rate is known. */
|
|
11
|
+
export declare function shareOfFinal(values: readonly number[]): number[];
|
|
12
|
+
/** Monotone cubic interpolation: a cumulative series never visually overshoots. */
|
|
13
|
+
export declare function smoothChartPath(points: readonly ChartPoint[]): string;
|
package/dist/chart.js
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/** Fit values into a fixed SVG viewBox while reserving time after the latest datum. */
|
|
2
|
+
function chartPoints(values, { span = values.length, min = 0, max = Math.max(0, ...values), width = 100, height = 32 } = {}) {
|
|
3
|
+
const domain = max - min || 1;
|
|
4
|
+
const last = Math.max(1, span - 1, values.length - 1);
|
|
5
|
+
return values.map((value, index) => [
|
|
6
|
+
(index / last) * width,
|
|
7
|
+
height - 1 - ((value - min) / domain) * (height - 2)
|
|
8
|
+
]);
|
|
9
|
+
}
|
|
10
|
+
/** Normalise two currencies independently when no conversion rate is known. */
|
|
11
|
+
function shareOfFinal(values) {
|
|
12
|
+
const final = values[values.length - 1] ?? 0;
|
|
13
|
+
return values.map((value) => final > 0 ? value / final : 0);
|
|
14
|
+
}
|
|
15
|
+
/** Monotone cubic interpolation: a cumulative series never visually overshoots. */
|
|
16
|
+
function smoothChartPath(points) {
|
|
17
|
+
const format = (value) => value.toFixed(2);
|
|
18
|
+
if (points.length === 0)
|
|
19
|
+
return '';
|
|
20
|
+
if (points.length < 3)
|
|
21
|
+
return points.map(([x, y], index) => `${index ? 'L' : 'M'}${format(x)},${format(y)}`).join(' ');
|
|
22
|
+
const dx = points.slice(1).map(([x], index) => x - points[index][0]);
|
|
23
|
+
const slopes = points.slice(1).map(([, y], index) => (y - points[index][1]) / dx[index]);
|
|
24
|
+
const tangents = points.map((_, index) => {
|
|
25
|
+
if (index === 0)
|
|
26
|
+
return slopes[0];
|
|
27
|
+
if (index === points.length - 1)
|
|
28
|
+
return slopes[slopes.length - 1];
|
|
29
|
+
const before = slopes[index - 1];
|
|
30
|
+
const after = slopes[index];
|
|
31
|
+
return before * after <= 0 ? 0 : 3 * (dx[index - 1] + dx[index]) /
|
|
32
|
+
((2 * dx[index] + dx[index - 1]) / before + (dx[index] + 2 * dx[index - 1]) / after);
|
|
33
|
+
});
|
|
34
|
+
let path = `M${format(points[0][0])},${format(points[0][1])}`;
|
|
35
|
+
for (let index = 0; index < points.length - 1; index++) {
|
|
36
|
+
const [x0, y0] = points[index];
|
|
37
|
+
const [x1, y1] = points[index + 1];
|
|
38
|
+
const handle = dx[index] / 3;
|
|
39
|
+
path += ` C${format(x0 + handle)},${format(y0 + tangents[index] * handle)} ` +
|
|
40
|
+
`${format(x1 - handle)},${format(y1 - tangents[index + 1] * handle)} ${format(x1)},${format(y1)}`;
|
|
41
|
+
}
|
|
42
|
+
return path;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export { chartPoints, shareOfFinal, smoothChartPath };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.dui_Button-module__root__CbGH4{align-items:center;border:1px solid transparent;border-radius:var(--dui-radius-md);cursor:pointer;display:inline-flex;font:600 16px/1 var(--dui-font-family-body),sans-serif;gap:10px;justify-content:center;min-height:var(--dui-control-size-lg);padding:0 34px;transition:background-color var(--dui-duration-normal),box-shadow var(--dui-duration-normal),color var(--dui-duration-normal),border-color var(--dui-duration-normal);user-select:none}.dui_Button-module__root__CbGH4:active:not(:disabled){transform:translateY(1px)}.dui_Button-module__root__CbGH4:focus-visible{outline:2px solid var(--dui-color-ring);outline-offset:3px}.dui_Button-module__root__CbGH4:disabled:not([aria-busy=true]){cursor:not-allowed;opacity:.5}.dui_Button-module__primary__CQ8bX{background-image:linear-gradient(110deg,var(--dui-color-brand-gradient-start),var(--dui-color-brand-gradient-end));border-color:var(--dui-color-brand-gradient-border);box-shadow:0 5px 30px #078cff12,inset 0 1px 0 #c3f6ff33;color:var(--dui-color-brand-foreground)}.dui_Button-module__primary__CQ8bX:hover:not(:disabled){background-image:linear-gradient(110deg,var(--dui-color-brand-gradient-hover-start),var(--dui-color-brand-gradient-hover-end));box-shadow:0 8px 30px #27b7ef30}.dui_Button-module__primary__CQ8bX:disabled:not([aria-busy=true]){background:var(--dui-color-muted);border-color:var(--dui-color-border);box-shadow:none;color:var(--dui-color-muted-foreground);opacity:1}.dui_Button-module__secondary__wviPm{background:var(--dui-color-secondary);border-color:var(--dui-color-secondary-border);color:var(--dui-color-secondary-foreground)}.dui_Button-module__secondary__wviPm:hover:not(:disabled){background:var(--dui-color-secondary-hover);border-color:var(--dui-color-primary)}.dui_Button-module__ghost__2oIHL{background:transparent;color:var(--dui-color-muted-foreground)}.dui_Button-module__ghost__2oIHL:hover:not(:disabled){background:var(--dui-color-accent);color:var(--dui-color-foreground)}.dui_Button-module__destructive__DHvi7{background:color-mix(in srgb,var(--dui-color-destructive) 10%,transparent);border-color:color-mix(in srgb,var(--dui-color-destructive) 40%,transparent);color:var(--dui-color-destructive)}.dui_Button-module__destructive__DHvi7:hover:not(:disabled){background:color-mix(in srgb,var(--dui-color-destructive) 20%,transparent)}.dui_Button-module__small__5NNzM{font-size:15px;min-height:var(--dui-control-size-touch);padding-inline:24px}.dui_Button-module__medium__a-asN{min-height:var(--dui-control-size-lg)}.dui_Button-module__large__h29o-{min-height:var(--dui-control-size-xl);padding-inline:var(--dui-space-xl)}@media (prefers-reduced-motion:reduce){.dui_Button-module__root__CbGH4{transition:none}}.dui_Card-module__root__iRlmZ{background:var(--dui-color-card);border:1px solid var(--dui-color-border);border-radius:var(--dui-radius-xl);color:var(--dui-color-card-foreground);padding:var(--dui-space-xl)}.dui_ShareBar-module__track__sqVsW{background:var(--dui-color-muted);border-radius:var(--dui-radius-pill);height:8px;overflow:visible;position:relative}.dui_ShareBar-module__fill__klcFo{background:var(--dui-color-warning);border-radius:inherit;height:100%}.dui_ShareBar-module__covered__T8yfR{background:var(--dui-color-success)}.dui_ShareBar-module__tick__eVgaz{background:var(--dui-color-foreground);border-radius:1px;height:16px;position:absolute;top:-4px;transform:translateX(-50%);width:2px}.dui_Catalog-module__stack__rChQJ{display:grid;gap:var(--dui-space-lg)}.dui_Catalog-module__row__xLx-P{align-items:center;display:flex;flex-wrap:wrap;gap:var(--dui-space-md)}.dui_Catalog-module__grid__2rCan{display:grid;gap:var(--dui-space-lg);grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.dui_Catalog-module__label__V1yxt{color:var(--dui-color-foreground);display:grid;font-size:13px;font-weight:500;gap:var(--dui-space-sm)}.dui_Catalog-module__hint__mppWN{color:var(--dui-color-muted-foreground);font-size:12px;line-height:1.5}.dui_Catalog-module__field__vL57B{background:var(--dui-color-card);border:1px solid var(--dui-color-input);border-radius:var(--dui-radius-md);box-sizing:border-box;color:var(--dui-color-foreground);font:inherit;min-height:var(--dui-control-size-touch);padding:0 var(--dui-space-md);width:100%}.dui_Catalog-module__field__vL57B::placeholder{color:var(--dui-color-muted-foreground)}.dui_Catalog-module__check__8wWll:focus-visible,.dui_Catalog-module__field__vL57B:focus-visible,.dui_Catalog-module__iconButton__c612U:focus-visible,.dui_Catalog-module__radio__oE5-J:focus-visible,.dui_Catalog-module__select__mPh7s:focus-visible,.dui_Catalog-module__switch__-ZBy3:focus-visible,.dui_Catalog-module__tab__vDTnc:focus-visible{outline:2px solid var(--dui-color-ring);outline-offset:2px}.dui_Catalog-module__field__vL57B:disabled,.dui_Catalog-module__select__mPh7s:disabled{cursor:not-allowed;opacity:.5}.dui_Catalog-module__field__vL57B[aria-invalid=true],.dui_Catalog-module__invalid__5gd31,.dui_Catalog-module__select__mPh7s[aria-invalid=true]{border-color:var(--dui-color-destructive)}.dui_Catalog-module__error__msJNX{color:var(--dui-color-destructive);font-size:12px}.dui_Catalog-module__select__mPh7s{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--dui-color-muted-foreground) 50%),linear-gradient(135deg,var(--dui-color-muted-foreground) 50%,transparent 50%);background-position:calc(100% - 18px) 19px,calc(100% - 13px) 19px;background-repeat:no-repeat;background-size:5px 5px;padding-right:36px}.dui_Catalog-module__choice__uMRGN{align-items:center;color:var(--dui-color-foreground);cursor:pointer;display:inline-flex;gap:var(--dui-space-sm);min-height:var(--dui-control-size-touch)}.dui_Catalog-module__choice__uMRGN:has(:disabled){cursor:not-allowed;opacity:.5}.dui_Catalog-module__check__8wWll,.dui_Catalog-module__radio__oE5-J{appearance:none;background:var(--dui-color-card);border:2px solid var(--dui-color-input);cursor:pointer;flex:none;height:22px;margin:0;width:22px}.dui_Catalog-module__check__8wWll{border-radius:6px}.dui_Catalog-module__check__8wWll:checked{background:var(--dui-color-primary);border-color:var(--dui-color-primary)}.dui_Catalog-module__check__8wWll:checked:after{border:solid var(--dui-color-primary-foreground);border-width:0 2px 2px 0;content:"";display:block;height:11px;transform:translate(6px,2px) rotate(45deg);width:6px}.dui_Catalog-module__radio__oE5-J{border-radius:50%}.dui_Catalog-module__radio__oE5-J:checked{border:6px solid var(--dui-color-primary)}.dui_Catalog-module__switch__-ZBy3{appearance:none;background:var(--dui-color-muted);border:1px solid var(--dui-color-input);border-radius:999px;cursor:pointer;flex:none;height:26px;margin:0;position:relative;transition:background var(--dui-duration-fast);width:44px}.dui_Catalog-module__switch__-ZBy3:before{background:var(--dui-color-card);border-radius:50%;box-shadow:0 1px 3px var(--dui-color-overlay);content:"";height:20px;left:2px;position:absolute;top:2px;transition:transform var(--dui-duration-fast);width:20px}.dui_Catalog-module__switch__-ZBy3:checked{background:linear-gradient(110deg,var(--dui-color-brand-gradient-start),var(--dui-color-brand-gradient-end));border-color:var(--dui-color-brand-gradient-border)}.dui_Catalog-module__switch__-ZBy3:checked:before{transform:translateX(18px)}.dui_Catalog-module__check__8wWll:disabled,.dui_Catalog-module__radio__oE5-J:disabled,.dui_Catalog-module__switch__-ZBy3:disabled{cursor:not-allowed;opacity:.5}.dui_Catalog-module__tabs__2BA7V{align-items:stretch;border-bottom:1px solid var(--dui-color-border);display:flex;flex-wrap:wrap;gap:var(--dui-space-lg)}.dui_Catalog-module__tab__vDTnc{background:transparent;border:0;color:var(--dui-color-muted-foreground);cursor:pointer;font:inherit;min-height:var(--dui-control-size-touch);padding:0 var(--dui-space-xs);position:relative}.dui_Catalog-module__tab__vDTnc:hover{color:var(--dui-color-foreground)}.dui_Catalog-module__tabActive__fPMBa{color:var(--dui-color-primary)}.dui_Catalog-module__tabActive__fPMBa:after{background:var(--dui-color-primary);border-radius:999px;bottom:-1px;box-shadow:0 0 10px var(--dui-color-primary);content:"";height:2px;left:0;position:absolute;width:34px}.dui_Catalog-module__tabPill__RUW1u{border-radius:var(--dui-radius-lg);color:var(--dui-color-primary);outline:1px solid var(--dui-color-primary);outline-offset:-1px}.dui_Catalog-module__iconButton__c612U{background:var(--dui-color-card);border:1px solid var(--dui-color-border);border-radius:var(--dui-radius-lg);color:var(--dui-color-foreground);cursor:pointer;display:inline-grid;height:var(--dui-control-size-touch);padding:0;place-items:center;width:var(--dui-control-size-touch)}.dui_Catalog-module__iconButton__c612U:hover{border-color:var(--dui-color-primary);color:var(--dui-color-primary)}.dui_Catalog-module__iconButton__c612U:disabled{cursor:not-allowed;opacity:.5}.dui_Catalog-module__icon__AJg25{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;height:20px;width:20px}.dui_Catalog-module__avatar__seEYl{background:var(--dui-color-warning);border:2px solid var(--dui-color-primary);border-radius:50%;color:var(--dui-color-background);display:inline-grid;font-size:12px;font-weight:600;height:34px;place-items:center;width:34px}.dui_Catalog-module__badge__KJep6{align-items:center;background:var(--dui-color-accent);border-radius:999px;color:var(--dui-color-accent-foreground);display:inline-flex;font-size:12px;font-weight:600;min-height:22px;padding:0 8px}.dui_Catalog-module__badgeSuccess__F60aF{background:var(--dui-color-success);color:var(--dui-color-primary-foreground)}.dui_Catalog-module__badgeWarning__bjkmd{background:var(--dui-color-warning);color:var(--dui-color-background)}.dui_Catalog-module__metricLabel__aVoG5{color:var(--dui-color-muted-foreground);font:11px/1.5 var(--dui-font-family-mono),monospace;letter-spacing:.14em;text-transform:uppercase}.dui_Catalog-module__metricValue__EFR2u{color:var(--dui-color-success);font:500 clamp(24px,2.4vw,40px)/1.15 var(--dui-font-family-mono),monospace;font-variant-numeric:tabular-nums;letter-spacing:-.055em;margin:4px 0;white-space:nowrap}.dui_Catalog-module__summaryCard__O44Sm .dui_Catalog-module__metricValue__EFR2u{font-size:clamp(30px,4vw,48px)}.dui_Catalog-module__metricNote__5Xq3Z{color:var(--dui-color-muted-foreground);font-size:12px}.dui_Catalog-module__summaryCard__O44Sm{background:var(--dui-color-card);border:1px solid var(--dui-color-border);border-radius:var(--dui-radius-xl);color:var(--dui-color-card-foreground);padding:var(--dui-space-2xl)}.dui_Catalog-module__summaryMain__CGt3k{display:grid;gap:var(--dui-space-3xl);grid-template-columns:minmax(0,2fr) minmax(0,3fr)}.dui_Catalog-module__summaryColumn__xT-8Q{min-width:0}.dui_Catalog-module__summaryTitle__1KAfg{color:var(--dui-color-muted-foreground);font:11px/1.5 var(--dui-font-family-mono),monospace;letter-spacing:.15em;margin:0 0 var(--dui-space-xl);text-transform:uppercase}.dui_Catalog-module__summarySpent__KupfN{border-left:2px dashed var(--dui-color-chart-other);margin:var(--dui-space-lg) 0;padding-left:var(--dui-space-md)}.dui_Catalog-module__summarySpentValue__cYCxD{font:500 clamp(22px,2.8vw,30px)/1.2 var(--dui-font-family-mono),monospace;font-variant-numeric:tabular-nums;margin:2px 0 0}.dui_Catalog-module__summaryFooter__uXYlh{border-top:1px solid var(--dui-color-border);margin-top:var(--dui-space-2xl);padding-top:var(--dui-space-xl)}.dui_Catalog-module__summaryTopline__guFnA{display:flex;flex-wrap:wrap;font-size:13px;gap:var(--dui-space-md);justify-content:space-between;margin-bottom:var(--dui-space-sm)}.dui_Catalog-module__summaryChartHeading__51mke{align-items:flex-start;display:flex;gap:var(--dui-space-md);justify-content:space-between;min-height:64px}.dui_Catalog-module__pageHeading__f79eD{align-items:flex-end;display:flex;flex-wrap:wrap;gap:var(--dui-space-lg);justify-content:space-between;margin:var(--dui-space-3xl) 0 var(--dui-space-2xl)}.dui_Catalog-module__pageTitle__IGwN-{font-size:clamp(24px,3vw,30px);font-weight:600;letter-spacing:-.035em;line-height:1.2;margin:6px 0 2px}.dui_Catalog-module__callout__BPScX strong,.dui_Catalog-module__chartCard__Gxo6d strong,.dui_Catalog-module__summaryFooter__uXYlh strong{font-weight:600}.dui_Catalog-module__cifraNav__E09ha{align-items:center;display:flex;gap:24px;justify-content:space-between}.dui_Catalog-module__cifraNavTabs__jrF9l{border-bottom:0;flex:1;flex-wrap:nowrap;min-width:0;overflow-x:auto;scrollbar-width:none}.dui_Catalog-module__cifraNavTabs__jrF9l::-webkit-scrollbar{display:none}.dui_Catalog-module__cifraNavTabs__jrF9l .dui_Catalog-module__tab__vDTnc{flex:none}.dui_Catalog-module__eyebrow__XEzqz{color:var(--dui-color-primary);font:10px/1.4 var(--dui-font-family-mono),monospace;letter-spacing:.2em;text-transform:uppercase}.dui_Catalog-module__callout__BPScX{background:color-mix(in srgb,var(--dui-color-warning) 12%,var(--dui-color-card));border:1px solid var(--dui-color-warning);border-radius:var(--dui-radius-lg);color:var(--dui-color-foreground);line-height:1.5;padding:var(--dui-space-lg)}.dui_Catalog-module__calloutSuccess__5t0FQ{background:color-mix(in srgb,var(--dui-color-success) 12%,var(--dui-color-card));border-color:var(--dui-color-success)}.dui_Catalog-module__tableWrap__RI-0b{background:var(--dui-color-card);border:1px solid var(--dui-color-border);border-radius:var(--dui-radius-lg);overflow-x:auto;width:100%}.dui_Catalog-module__table__0iTne{border-collapse:collapse;color:var(--dui-color-foreground);font-size:14px;width:100%}.dui_Catalog-module__table__0iTne td,.dui_Catalog-module__table__0iTne th{border-bottom:1px solid var(--dui-color-border);padding:14px 16px;text-align:left;white-space:nowrap}.dui_Catalog-module__table__0iTne th{color:var(--dui-color-muted-foreground);font:500 11px/1.4 var(--dui-font-family-mono),monospace;letter-spacing:.14em;text-transform:uppercase}.dui_Catalog-module__table__0iTne tr:last-child td{border-bottom:0}.dui_Catalog-module__table__0iTne tbody tr:hover{background:var(--dui-color-accent)}.dui_Catalog-module__numeric__KjeSJ{font-family:var(--dui-font-family-mono),monospace;font-variant-numeric:tabular-nums;text-align:right!important}.dui_Catalog-module__status__6zORi{align-items:center;display:inline-flex;gap:6px}.dui_Catalog-module__status__6zORi:before{background:var(--dui-color-success);border-radius:50%;content:"";height:7px;width:7px}.dui_Catalog-module__statusPending__76Tkt:before{background:var(--dui-color-warning)}.dui_Catalog-module__spinner__2PSZp{animation:dui_Catalog-module__dui-spin__KdEdK .7s linear infinite;border:3px solid var(--dui-color-muted);border-radius:50%;border-top-color:var(--dui-color-primary);box-sizing:border-box;height:24px;width:24px}.dui_Catalog-module__skeleton__T9pSY{animation:dui_Catalog-module__dui-shimmer__yBnX- 1.4s ease-in-out infinite;background:linear-gradient(90deg,var(--dui-color-muted),var(--dui-color-accent),var(--dui-color-muted));background-size:200% 100%;border-radius:var(--dui-radius-sm);height:16px}.dui_Catalog-module__dialogBackdrop__snQ8t{background:var(--dui-color-overlay);display:grid;inset:0;padding:16px;place-items:center;position:fixed;z-index:100}.dui_Catalog-module__dialog__h5uNq{background:var(--dui-color-popover);border:1px solid var(--dui-color-border);border-radius:var(--dui-radius-2xl);box-shadow:0 18px 60px var(--dui-color-overlay);box-sizing:border-box;color:var(--dui-color-popover-foreground);padding:var(--dui-space-2xl);width:min(100%,420px)}.dui_Catalog-module__dialog__h5uNq::backdrop,.dui_Catalog-module__sheet__aht46::backdrop{background:var(--dui-color-overlay)}.dui_Catalog-module__dialogTitle__8QxO7{font-size:20px;line-height:1.3;margin:0 0 8px}.dui_Catalog-module__dialogActions__Sp14s{display:flex;flex-wrap:wrap;gap:var(--dui-space-sm);justify-content:flex-end;margin-top:var(--dui-space-2xl)}.dui_Catalog-module__sheet__aht46{background:var(--dui-color-popover);border:1px solid var(--dui-color-border);border-radius:var(--dui-radius-2xl) var(--dui-radius-2xl) 0 0;box-shadow:0 -12px 48px var(--dui-color-overlay);box-sizing:border-box;color:var(--dui-color-popover-foreground);padding:var(--dui-space-2xl);width:min(100%,420px)}.dui_Catalog-module__sheetHandle__gGGA3{background:var(--dui-color-input);border-radius:999px;height:4px;margin:-8px auto 20px;width:36px}.dui_Catalog-module__chartCard__Gxo6d{background:var(--dui-color-card);border:1px solid var(--dui-color-border);border-radius:var(--dui-radius-xl);color:var(--dui-color-card-foreground);padding:var(--dui-space-2xl)}.dui_Catalog-module__chartReading__gJu1J{align-items:flex-start;display:flex;gap:var(--dui-space-lg);justify-content:space-between;min-height:62px}.dui_Catalog-module__chartReadingValue__1IM0x{font:500 18px/1.25 var(--dui-font-family-mono),monospace;font-variant-numeric:tabular-nums;margin:4px 0 2px}.dui_Catalog-module__chartAxis__UW0Id{color:var(--dui-color-muted-foreground);display:flex;font:10px/1.4 var(--dui-font-family-mono),monospace;gap:var(--dui-space-sm);justify-content:space-between;margin-top:4px}.dui_Catalog-module__stackedBar__7At1p{background:var(--dui-color-muted);border-radius:999px;display:flex;gap:2px;height:10px;overflow:hidden;width:100%}.dui_Catalog-module__stackedSegment__FaQwj{border:0;cursor:pointer;height:100%;min-width:2px;opacity:.8;padding:0;transition:opacity var(--dui-duration-normal)}.dui_Catalog-module__stackedSegment__FaQwj:focus-visible,.dui_Catalog-module__stackedSegment__FaQwj:hover,.dui_Catalog-module__stackedSegment__FaQwj[aria-pressed=true]{opacity:1;outline:2px solid var(--dui-color-ring);outline-offset:-2px}.dui_Catalog-module__monthlyBars__uZngI{align-items:flex-end;display:flex;gap:4px;height:120px}.dui_Catalog-module__monthlyBar__ISmMb{align-items:flex-end;align-self:stretch;background:transparent;border:0;border-radius:3px;cursor:pointer;display:flex;flex:1;justify-content:center;min-width:0;padding:0;position:relative}.dui_Catalog-module__monthlyBarFill__5hYQ5{background:var(--dui-color-success);border-radius:3px 3px 0 0;display:block;min-height:2px;opacity:.45;width:100%}.dui_Catalog-module__monthlyBar__ISmMb:hover .dui_Catalog-module__monthlyBarFill__5hYQ5,.dui_Catalog-module__monthlyBar__ISmMb[aria-pressed=true] .dui_Catalog-module__monthlyBarFill__5hYQ5{opacity:1}.dui_Catalog-module__monthlyBarTick__sHKNC{border-top:1.5px dashed var(--dui-color-chart-other);left:0;position:absolute;right:0}.dui_Catalog-module__monthlyBar__ISmMb:focus-visible{outline:2px solid var(--dui-color-ring);outline-offset:2px}.dui_Catalog-module__chartState__1OHWg{border:1px dashed var(--dui-color-border);border-radius:var(--dui-radius-md);color:var(--dui-color-muted-foreground);display:grid;min-height:144px;padding:var(--dui-space-lg);place-items:center;text-align:center}.dui_Catalog-module__chartInteractive__5IYhQ{border-bottom:1px solid var(--dui-color-border);border-radius:var(--dui-radius-sm);cursor:crosshair;height:144px;outline:none;position:relative;touch-action:pan-y;width:100%}.dui_Catalog-module__chartInteractive__5IYhQ:focus-visible{outline:2px solid var(--dui-color-ring);outline-offset:3px}.dui_Catalog-module__chartInteractive__5IYhQ svg{display:block;height:100%;overflow:visible;width:100%}.dui_Catalog-module__sparkDot__OtXXW{background:var(--dui-series-color);border:2px solid var(--dui-color-card);border-radius:50%;box-shadow:0 0 10px 3px var(--dui-series-color);height:9px;pointer-events:none;position:absolute;transform:translate(-50%,-50%);width:9px}.dui_Catalog-module__chartLegend__TUJRd{color:var(--dui-color-muted-foreground);display:flex;flex-wrap:wrap;font-size:12px;gap:var(--dui-space-lg);justify-content:flex-end;margin-top:var(--dui-space-sm)}.dui_Catalog-module__annualBar__zkTiD{padding:8px 0;position:relative}.dui_Catalog-module__annualBilledHit__vSmlF,.dui_Catalog-module__annualSpentHit__-iEtu{background:transparent;border:0;cursor:pointer;height:24px;padding:0;position:absolute;top:0}.dui_Catalog-module__annualBilledHit__vSmlF{left:0;min-width:24px}.dui_Catalog-module__annualSpentHit__-iEtu{transform:translateX(-50%);width:24px}.dui_Catalog-module__annualSpentHit__-iEtu:after{background:var(--dui-color-foreground);border-radius:2px;bottom:4px;content:"";left:11px;position:absolute;top:4px;width:2px}.dui_Catalog-module__annualBilledHit__vSmlF:focus-visible,.dui_Catalog-module__annualBilledHit__vSmlF:hover,.dui_Catalog-module__annualBilledHit__vSmlF[aria-pressed=true],.dui_Catalog-module__annualSpentHit__-iEtu:focus-visible,.dui_Catalog-module__annualSpentHit__-iEtu:hover,.dui_Catalog-module__annualSpentHit__-iEtu[aria-pressed=true]{border-radius:5px;outline:1px solid var(--dui-color-ring);outline-offset:2px}.dui_Catalog-module__annualBarDetail__53s7V{background:var(--dui-color-popover);border:1px solid var(--dui-color-border);border-radius:var(--dui-radius-sm);color:var(--dui-color-popover-foreground);font-size:12px;margin-top:5px;padding:5px 8px;width:fit-content}.dui_Catalog-module__chartKey__9vf8e{align-items:center;display:inline-flex;gap:6px}.dui_Catalog-module__chartKey__9vf8e:before{background:var(--dui-series-color);border-radius:50%;content:"";display:inline-block;height:8px;width:8px}.dui_Catalog-module__chartKeyDashed__b1-ps:before{background:none;border-radius:0;border-top:1.5px dashed var(--dui-series-color);height:0;width:14px}@keyframes dui_Catalog-module__dui-spin__KdEdK{to{transform:rotate(1turn)}}@keyframes dui_Catalog-module__dui-shimmer__yBnX-{to{background-position-x:-200%}}@media (prefers-reduced-motion:reduce){.dui_Catalog-module__skeleton__T9pSY,.dui_Catalog-module__spinner__2PSZp{animation:none}}@media (max-width:600px){.dui_Catalog-module__tabs__2BA7V{gap:var(--dui-space-md)}.dui_Catalog-module__table__0iTne td,.dui_Catalog-module__table__0iTne th{padding:12px}}@media (max-width:767px){.dui_Catalog-module__summaryMain__CGt3k{gap:var(--dui-space-2xl);grid-template-columns:1fr}.dui_Catalog-module__summaryCard__O44Sm{padding:var(--dui-space-lg)}.dui_Catalog-module__summaryTopline__guFnA{display:grid}.dui_Catalog-module__pageHeading__f79eD{align-items:flex-start;margin-top:var(--dui-space-2xl)}.dui_Catalog-module__cifraNav__E09ha{display:grid;gap:8px;grid-template-columns:1fr auto}.dui_Catalog-module__cifraNavTabs__jrF9l{grid-column:1/-1;grid-row:2;width:100%}.dui_Catalog-module__cifraNavTabs__jrF9l .dui_Catalog-module__tab__vDTnc{min-height:38px}}
|
package/dist/icons.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/** 24 × 24 outline paths. Render with SVG in any web framework. */
|
|
2
|
+
export declare const iconPaths: {
|
|
3
|
+
readonly bell: "M18 8a6 6 0 0 0-12 0c0 7-3 7-3 9h18c0-2-3-2-3-9M10 21h4";
|
|
4
|
+
readonly sparkles: "m12 3 1.9 5.1L19 10l-5.1 1.9L12 17l-1.9-5.1L5 10l5.1-1.9L12 3Zm7 12 .8 2.2L22 18l-2.2.8L19 21l-.8-2.2L16 18l2.2-.8L19 15ZM4 2l.6 1.4L6 4l-1.4.6L4 6l-.6-1.4L2 4l1.4-.6L4 2Z";
|
|
5
|
+
readonly chevronDown: "m6 9 6 6 6-6";
|
|
6
|
+
readonly chevronLeft: "m15 18-6-6 6-6";
|
|
7
|
+
readonly chevronRight: "m9 18 6-6-6-6";
|
|
8
|
+
readonly check: "m5 12 4 4L19 6";
|
|
9
|
+
readonly close: "M18 6 6 18M6 6l12 12";
|
|
10
|
+
readonly search: "M11 19a8 8 0 1 0 0-16 8 8 0 0 0 0 16Zm6-2 4 4";
|
|
11
|
+
readonly trendUp: "m3 17 6-6 4 4 8-8M15 7h6v6";
|
|
12
|
+
readonly trendDown: "m3 7 6 6 4-4 8 8M15 17h6v-6";
|
|
13
|
+
readonly wallet: "M3 7V5a2 2 0 0 1 2-2h14v4H5a2 2 0 0 0 0 4h16v12H5a2 2 0 0 1-2-2V7Zm13 6h5";
|
|
14
|
+
readonly calendar: "M4 5h16v16H4V5Zm4-2v4m8-4v4M4 10h16";
|
|
15
|
+
readonly menu: "M4 6h16M4 12h16M4 18h16";
|
|
16
|
+
readonly info: "M12 22a10 10 0 1 0 0-20 10 10 0 0 0 0 20Zm0-11v6m0-10h.01";
|
|
17
|
+
};
|
|
18
|
+
export type IconName = keyof typeof iconPaths;
|
package/dist/icons.js
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/** 24 × 24 outline paths. Render with SVG in any web framework. */
|
|
2
|
+
const iconPaths = {
|
|
3
|
+
bell: 'M18 8a6 6 0 0 0-12 0c0 7-3 7-3 9h18c0-2-3-2-3-9M10 21h4',
|
|
4
|
+
sparkles: 'm12 3 1.9 5.1L19 10l-5.1 1.9L12 17l-1.9-5.1L5 10l5.1-1.9L12 3Zm7 12 .8 2.2L22 18l-2.2.8L19 21l-.8-2.2L16 18l2.2-.8L19 15ZM4 2l.6 1.4L6 4l-1.4.6L4 6l-.6-1.4L2 4l1.4-.6L4 2Z',
|
|
5
|
+
chevronDown: 'm6 9 6 6 6-6',
|
|
6
|
+
chevronLeft: 'm15 18-6-6 6-6',
|
|
7
|
+
chevronRight: 'm9 18 6-6-6-6',
|
|
8
|
+
check: 'm5 12 4 4L19 6',
|
|
9
|
+
close: 'M18 6 6 18M6 6l12 12',
|
|
10
|
+
search: 'M11 19a8 8 0 1 0 0-16 8 8 0 0 0 0 16Zm6-2 4 4',
|
|
11
|
+
trendUp: 'm3 17 6-6 4 4 8-8M15 7h6v6',
|
|
12
|
+
trendDown: 'm3 7 6 6 4-4 8 8M15 17h6v-6',
|
|
13
|
+
wallet: 'M3 7V5a2 2 0 0 1 2-2h14v4H5a2 2 0 0 0 0 4h16v12H5a2 2 0 0 1-2-2V7Zm13 6h5',
|
|
14
|
+
calendar: 'M4 5h16v16H4V5Zm4-2v4m8-4v4M4 10h16',
|
|
15
|
+
menu: 'M4 6h16M4 12h16M4 18h16',
|
|
16
|
+
info: 'M12 22a10 10 0 1 0 0-20 10 10 0 0 0 0 20Zm0-11v6m0-10h.01'
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export { iconPaths };
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import './theme.css';
|
|
2
|
+
export type ButtonTone = 'primary' | 'secondary' | 'ghost' | 'destructive';
|
|
3
|
+
export type ButtonSize = 'small' | 'medium' | 'large';
|
|
4
|
+
/** Framework-neutral class contracts; consumers import the two CSS exports once. */
|
|
5
|
+
export declare function buttonClass(options?: {
|
|
6
|
+
tone?: ButtonTone;
|
|
7
|
+
size?: ButtonSize;
|
|
8
|
+
}): string;
|
|
9
|
+
export declare const cardClass: string | undefined;
|
|
10
|
+
export declare const shareBarClasses: {
|
|
11
|
+
readonly track: string | undefined;
|
|
12
|
+
readonly fill: string | undefined;
|
|
13
|
+
readonly covered: string | undefined;
|
|
14
|
+
readonly tick: string | undefined;
|
|
15
|
+
};
|
|
16
|
+
/** Framework-neutral styling for controls, navigation, data and feedback. */
|
|
17
|
+
export declare const catalogClasses: Record<string, string>;
|
|
18
|
+
export { iconPaths } from './icons.js';
|
|
19
|
+
export type { IconName } from './icons.js';
|
|
20
|
+
export { sharePercent } from '@decoda-ui/tokens';
|
|
21
|
+
export { chartPoints, shareOfFinal, smoothChartPath } from './chart.js';
|
|
22
|
+
export type { ChartPoint } from './chart.js';
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import button from './Button.module.css.js';
|
|
2
|
+
import card from './Card.module.css.js';
|
|
3
|
+
import shareBar from './ShareBar.module.css.js';
|
|
4
|
+
import catalog from './Catalog.module.css.js';
|
|
5
|
+
export { iconPaths } from './icons.js';
|
|
6
|
+
export { sharePercent } from '@decoda-ui/tokens';
|
|
7
|
+
export { chartPoints, shareOfFinal, smoothChartPath } from './chart.js';
|
|
8
|
+
|
|
9
|
+
/** Framework-neutral class contracts; consumers import the two CSS exports once. */
|
|
10
|
+
function buttonClass(options = {}) {
|
|
11
|
+
return [button.root, button[options.tone ?? 'primary'], button[options.size ?? 'medium']].join(' ');
|
|
12
|
+
}
|
|
13
|
+
const cardClass = card.root;
|
|
14
|
+
const shareBarClasses = {
|
|
15
|
+
track: shareBar.track,
|
|
16
|
+
fill: shareBar.fill,
|
|
17
|
+
covered: shareBar.covered,
|
|
18
|
+
tick: shareBar.tick
|
|
19
|
+
};
|
|
20
|
+
/** Framework-neutral styling for controls, navigation, data and feedback. */
|
|
21
|
+
const catalogClasses = catalog;
|
|
22
|
+
|
|
23
|
+
export { buttonClass, cardClass, catalogClasses, shareBarClasses };
|
package/dist/theme.css
ADDED
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
--dui-color-background: #f3f7fa;
|
|
3
|
+
--dui-color-foreground: #0a1820;
|
|
4
|
+
--dui-color-card: #ffffff;
|
|
5
|
+
--dui-color-card-foreground: #0a1820;
|
|
6
|
+
--dui-color-popover: #ffffff;
|
|
7
|
+
--dui-color-popover-foreground: #0a1820;
|
|
8
|
+
--dui-color-primary: #086f94;
|
|
9
|
+
--dui-color-primary-foreground: #ffffff;
|
|
10
|
+
--dui-color-brand-primary: #086f94;
|
|
11
|
+
--dui-color-brand-gradient-start: #55d8ee;
|
|
12
|
+
--dui-color-brand-gradient-end: #2794ff;
|
|
13
|
+
--dui-color-brand-gradient-hover-start: #88e7f6;
|
|
14
|
+
--dui-color-brand-gradient-hover-end: #50aeff;
|
|
15
|
+
--dui-color-brand-gradient-border: #2f9fdc;
|
|
16
|
+
--dui-color-brand-foreground: #061721;
|
|
17
|
+
--dui-color-secondary: #ffffff;
|
|
18
|
+
--dui-color-secondary-foreground: #0a1820;
|
|
19
|
+
--dui-color-secondary-border: #7a95a3;
|
|
20
|
+
--dui-color-secondary-hover: #e9f1f6;
|
|
21
|
+
--dui-color-muted: #e6eef3;
|
|
22
|
+
--dui-color-muted-foreground: #4f6a79;
|
|
23
|
+
--dui-color-accent: #e2edf3;
|
|
24
|
+
--dui-color-accent-foreground: #0a1820;
|
|
25
|
+
--dui-color-destructive: #b91c1c;
|
|
26
|
+
--dui-color-destructive-surface: #fbeeee;
|
|
27
|
+
--dui-color-destructive-border: #e9a7a7;
|
|
28
|
+
--dui-color-success: #15803d;
|
|
29
|
+
--dui-color-warning: #8a5a05;
|
|
30
|
+
--dui-color-caution: #b45309;
|
|
31
|
+
--dui-color-caution-foreground: #ffffff;
|
|
32
|
+
--dui-color-border: rgb(23 84 110 / 0.2);
|
|
33
|
+
--dui-color-input: rgb(23 84 110 / 0.62);
|
|
34
|
+
--dui-color-ring: #086f94;
|
|
35
|
+
--dui-color-chart1: #1f7fb8;
|
|
36
|
+
--dui-color-chart2: #e0602c;
|
|
37
|
+
--dui-color-chart3: #4a3aa7;
|
|
38
|
+
--dui-color-chart4: #138a60;
|
|
39
|
+
--dui-color-chart5: #a87400;
|
|
40
|
+
--dui-color-chart6: #c9457d;
|
|
41
|
+
--dui-color-chart7: #b463f6;
|
|
42
|
+
--dui-color-chart-other: #7d8f9b;
|
|
43
|
+
--dui-color-line-soft: #d5e2ea;
|
|
44
|
+
--dui-color-overlay: rgb(10 24 32 / 0.4);
|
|
45
|
+
--dui-space-none: 0px;
|
|
46
|
+
--dui-space-xxs: 2px;
|
|
47
|
+
--dui-space-xs: 4px;
|
|
48
|
+
--dui-space-sm: 8px;
|
|
49
|
+
--dui-space-md: 12px;
|
|
50
|
+
--dui-space-lg: 16px;
|
|
51
|
+
--dui-space-xl: 20px;
|
|
52
|
+
--dui-space-2xl: 24px;
|
|
53
|
+
--dui-space-3xl: 32px;
|
|
54
|
+
--dui-space-4xl: 40px;
|
|
55
|
+
--dui-space-5xl: 48px;
|
|
56
|
+
--dui-space-6xl: 64px;
|
|
57
|
+
--dui-radius-none: 0px;
|
|
58
|
+
--dui-radius-xs: 4px;
|
|
59
|
+
--dui-radius-sm: 8px;
|
|
60
|
+
--dui-radius-md: 9px;
|
|
61
|
+
--dui-radius-lg: 12px;
|
|
62
|
+
--dui-radius-xl: 14px;
|
|
63
|
+
--dui-radius-2xl: 20px;
|
|
64
|
+
--dui-radius-pill: 999px;
|
|
65
|
+
--dui-control-size-sm: 32px;
|
|
66
|
+
--dui-control-size-md: 40px;
|
|
67
|
+
--dui-control-size-touch: 44px;
|
|
68
|
+
--dui-control-size-lg: 50px;
|
|
69
|
+
--dui-control-size-xl: 56px;
|
|
70
|
+
--dui-font-family-body: Manrope;
|
|
71
|
+
--dui-font-family-mono: IBM Plex Mono;
|
|
72
|
+
--dui-font-family-display: Biysk;
|
|
73
|
+
--dui-duration-fast: 120ms;
|
|
74
|
+
--dui-duration-normal: 200ms;
|
|
75
|
+
--dui-duration-slow: 300ms;
|
|
76
|
+
}
|
|
77
|
+
[data-dui-theme="light"] {
|
|
78
|
+
--dui-color-background: #f3f7fa;
|
|
79
|
+
--dui-color-foreground: #0a1820;
|
|
80
|
+
--dui-color-card: #ffffff;
|
|
81
|
+
--dui-color-card-foreground: #0a1820;
|
|
82
|
+
--dui-color-popover: #ffffff;
|
|
83
|
+
--dui-color-popover-foreground: #0a1820;
|
|
84
|
+
--dui-color-primary: #086f94;
|
|
85
|
+
--dui-color-primary-foreground: #ffffff;
|
|
86
|
+
--dui-color-brand-primary: #086f94;
|
|
87
|
+
--dui-color-brand-gradient-start: #55d8ee;
|
|
88
|
+
--dui-color-brand-gradient-end: #2794ff;
|
|
89
|
+
--dui-color-brand-gradient-hover-start: #88e7f6;
|
|
90
|
+
--dui-color-brand-gradient-hover-end: #50aeff;
|
|
91
|
+
--dui-color-brand-gradient-border: #2f9fdc;
|
|
92
|
+
--dui-color-brand-foreground: #061721;
|
|
93
|
+
--dui-color-secondary: #ffffff;
|
|
94
|
+
--dui-color-secondary-foreground: #0a1820;
|
|
95
|
+
--dui-color-secondary-border: #7a95a3;
|
|
96
|
+
--dui-color-secondary-hover: #e9f1f6;
|
|
97
|
+
--dui-color-muted: #e6eef3;
|
|
98
|
+
--dui-color-muted-foreground: #4f6a79;
|
|
99
|
+
--dui-color-accent: #e2edf3;
|
|
100
|
+
--dui-color-accent-foreground: #0a1820;
|
|
101
|
+
--dui-color-destructive: #b91c1c;
|
|
102
|
+
--dui-color-destructive-surface: #fbeeee;
|
|
103
|
+
--dui-color-destructive-border: #e9a7a7;
|
|
104
|
+
--dui-color-success: #15803d;
|
|
105
|
+
--dui-color-warning: #8a5a05;
|
|
106
|
+
--dui-color-caution: #b45309;
|
|
107
|
+
--dui-color-caution-foreground: #ffffff;
|
|
108
|
+
--dui-color-border: rgb(23 84 110 / 0.2);
|
|
109
|
+
--dui-color-input: rgb(23 84 110 / 0.62);
|
|
110
|
+
--dui-color-ring: #086f94;
|
|
111
|
+
--dui-color-chart1: #1f7fb8;
|
|
112
|
+
--dui-color-chart2: #e0602c;
|
|
113
|
+
--dui-color-chart3: #4a3aa7;
|
|
114
|
+
--dui-color-chart4: #138a60;
|
|
115
|
+
--dui-color-chart5: #a87400;
|
|
116
|
+
--dui-color-chart6: #c9457d;
|
|
117
|
+
--dui-color-chart7: #b463f6;
|
|
118
|
+
--dui-color-chart-other: #7d8f9b;
|
|
119
|
+
--dui-color-line-soft: #d5e2ea;
|
|
120
|
+
--dui-color-overlay: rgb(10 24 32 / 0.4);
|
|
121
|
+
--dui-space-none: 0px;
|
|
122
|
+
--dui-space-xxs: 2px;
|
|
123
|
+
--dui-space-xs: 4px;
|
|
124
|
+
--dui-space-sm: 8px;
|
|
125
|
+
--dui-space-md: 12px;
|
|
126
|
+
--dui-space-lg: 16px;
|
|
127
|
+
--dui-space-xl: 20px;
|
|
128
|
+
--dui-space-2xl: 24px;
|
|
129
|
+
--dui-space-3xl: 32px;
|
|
130
|
+
--dui-space-4xl: 40px;
|
|
131
|
+
--dui-space-5xl: 48px;
|
|
132
|
+
--dui-space-6xl: 64px;
|
|
133
|
+
--dui-radius-none: 0px;
|
|
134
|
+
--dui-radius-xs: 4px;
|
|
135
|
+
--dui-radius-sm: 8px;
|
|
136
|
+
--dui-radius-md: 9px;
|
|
137
|
+
--dui-radius-lg: 12px;
|
|
138
|
+
--dui-radius-xl: 14px;
|
|
139
|
+
--dui-radius-2xl: 20px;
|
|
140
|
+
--dui-radius-pill: 999px;
|
|
141
|
+
--dui-control-size-sm: 32px;
|
|
142
|
+
--dui-control-size-md: 40px;
|
|
143
|
+
--dui-control-size-touch: 44px;
|
|
144
|
+
--dui-control-size-lg: 50px;
|
|
145
|
+
--dui-control-size-xl: 56px;
|
|
146
|
+
--dui-font-family-body: Manrope;
|
|
147
|
+
--dui-font-family-mono: IBM Plex Mono;
|
|
148
|
+
--dui-font-family-display: Biysk;
|
|
149
|
+
--dui-duration-fast: 120ms;
|
|
150
|
+
--dui-duration-normal: 200ms;
|
|
151
|
+
--dui-duration-slow: 300ms;
|
|
152
|
+
}
|
|
153
|
+
[data-dui-theme="dark"] {
|
|
154
|
+
--dui-color-background: #060c10;
|
|
155
|
+
--dui-color-foreground: #f1f7fc;
|
|
156
|
+
--dui-color-card: #0b151c;
|
|
157
|
+
--dui-color-card-foreground: #f1f7fc;
|
|
158
|
+
--dui-color-popover: #0b151c;
|
|
159
|
+
--dui-color-popover-foreground: #f1f7fc;
|
|
160
|
+
--dui-color-primary: #60d9f5;
|
|
161
|
+
--dui-color-primary-foreground: #061721;
|
|
162
|
+
--dui-color-brand-primary: #60d9f5;
|
|
163
|
+
--dui-color-brand-gradient-start: #55d8ee;
|
|
164
|
+
--dui-color-brand-gradient-end: #2794ff;
|
|
165
|
+
--dui-color-brand-gradient-hover-start: #88e7f6;
|
|
166
|
+
--dui-color-brand-gradient-hover-end: #50aeff;
|
|
167
|
+
--dui-color-brand-gradient-border: #4dbdf9;
|
|
168
|
+
--dui-color-brand-foreground: #061721;
|
|
169
|
+
--dui-color-secondary: #0b141a;
|
|
170
|
+
--dui-color-secondary-foreground: #f1f7fc;
|
|
171
|
+
--dui-color-secondary-border: #2b3a45;
|
|
172
|
+
--dui-color-secondary-hover: #14232b;
|
|
173
|
+
--dui-color-muted: #0f1b22;
|
|
174
|
+
--dui-color-muted-foreground: #94aaba;
|
|
175
|
+
--dui-color-accent: #14232b;
|
|
176
|
+
--dui-color-accent-foreground: #f1f7fc;
|
|
177
|
+
--dui-color-destructive: #f87171;
|
|
178
|
+
--dui-color-destructive-surface: #2b171a;
|
|
179
|
+
--dui-color-destructive-border: #88424a;
|
|
180
|
+
--dui-color-success: #4ade80;
|
|
181
|
+
--dui-color-warning: #f2b23a;
|
|
182
|
+
--dui-color-caution: #fbbf24;
|
|
183
|
+
--dui-color-caution-foreground: #1a1204;
|
|
184
|
+
--dui-color-border: rgb(113 186 214 / 0.18);
|
|
185
|
+
--dui-color-input: rgb(113 186 214 / 0.55);
|
|
186
|
+
--dui-color-ring: #60d9f5;
|
|
187
|
+
--dui-color-chart1: #2f9fd6;
|
|
188
|
+
--dui-color-chart2: #d95926;
|
|
189
|
+
--dui-color-chart3: #9085e9;
|
|
190
|
+
--dui-color-chart4: #199e70;
|
|
191
|
+
--dui-color-chart5: #c98500;
|
|
192
|
+
--dui-color-chart6: #d55181;
|
|
193
|
+
--dui-color-chart7: #993ccf;
|
|
194
|
+
--dui-color-chart-other: #5f7684;
|
|
195
|
+
--dui-color-line-soft: #1c303b;
|
|
196
|
+
--dui-color-overlay: rgb(6 12 16 / 0.7);
|
|
197
|
+
--dui-space-none: 0px;
|
|
198
|
+
--dui-space-xxs: 2px;
|
|
199
|
+
--dui-space-xs: 4px;
|
|
200
|
+
--dui-space-sm: 8px;
|
|
201
|
+
--dui-space-md: 12px;
|
|
202
|
+
--dui-space-lg: 16px;
|
|
203
|
+
--dui-space-xl: 20px;
|
|
204
|
+
--dui-space-2xl: 24px;
|
|
205
|
+
--dui-space-3xl: 32px;
|
|
206
|
+
--dui-space-4xl: 40px;
|
|
207
|
+
--dui-space-5xl: 48px;
|
|
208
|
+
--dui-space-6xl: 64px;
|
|
209
|
+
--dui-radius-none: 0px;
|
|
210
|
+
--dui-radius-xs: 4px;
|
|
211
|
+
--dui-radius-sm: 8px;
|
|
212
|
+
--dui-radius-md: 9px;
|
|
213
|
+
--dui-radius-lg: 12px;
|
|
214
|
+
--dui-radius-xl: 14px;
|
|
215
|
+
--dui-radius-2xl: 20px;
|
|
216
|
+
--dui-radius-pill: 999px;
|
|
217
|
+
--dui-control-size-sm: 32px;
|
|
218
|
+
--dui-control-size-md: 40px;
|
|
219
|
+
--dui-control-size-touch: 44px;
|
|
220
|
+
--dui-control-size-lg: 50px;
|
|
221
|
+
--dui-control-size-xl: 56px;
|
|
222
|
+
--dui-font-family-body: Manrope;
|
|
223
|
+
--dui-font-family-mono: IBM Plex Mono;
|
|
224
|
+
--dui-font-family-display: Biysk;
|
|
225
|
+
--dui-duration-fast: 120ms;
|
|
226
|
+
--dui-duration-normal: 200ms;
|
|
227
|
+
--dui-duration-slow: 300ms;
|
|
228
|
+
}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/** Public variable names let Angular, Svelte and plain CSS use the same theme. */
|
|
2
|
+
export declare const vars: {
|
|
3
|
+
color: {
|
|
4
|
+
background: `var(--${string})`;
|
|
5
|
+
foreground: `var(--${string})`;
|
|
6
|
+
card: `var(--${string})`;
|
|
7
|
+
cardForeground: `var(--${string})`;
|
|
8
|
+
popover: `var(--${string})`;
|
|
9
|
+
popoverForeground: `var(--${string})`;
|
|
10
|
+
primary: `var(--${string})`;
|
|
11
|
+
primaryForeground: `var(--${string})`;
|
|
12
|
+
brandPrimary: `var(--${string})`;
|
|
13
|
+
brandGradientStart: `var(--${string})`;
|
|
14
|
+
brandGradientEnd: `var(--${string})`;
|
|
15
|
+
brandGradientHoverStart: `var(--${string})`;
|
|
16
|
+
brandGradientHoverEnd: `var(--${string})`;
|
|
17
|
+
brandGradientBorder: `var(--${string})`;
|
|
18
|
+
brandForeground: `var(--${string})`;
|
|
19
|
+
secondary: `var(--${string})`;
|
|
20
|
+
secondaryForeground: `var(--${string})`;
|
|
21
|
+
secondaryBorder: `var(--${string})`;
|
|
22
|
+
secondaryHover: `var(--${string})`;
|
|
23
|
+
muted: `var(--${string})`;
|
|
24
|
+
mutedForeground: `var(--${string})`;
|
|
25
|
+
accent: `var(--${string})`;
|
|
26
|
+
accentForeground: `var(--${string})`;
|
|
27
|
+
destructive: `var(--${string})`;
|
|
28
|
+
destructiveSurface: `var(--${string})`;
|
|
29
|
+
destructiveBorder: `var(--${string})`;
|
|
30
|
+
success: `var(--${string})`;
|
|
31
|
+
warning: `var(--${string})`;
|
|
32
|
+
caution: `var(--${string})`;
|
|
33
|
+
cautionForeground: `var(--${string})`;
|
|
34
|
+
border: `var(--${string})`;
|
|
35
|
+
input: `var(--${string})`;
|
|
36
|
+
ring: `var(--${string})`;
|
|
37
|
+
chart1: `var(--${string})`;
|
|
38
|
+
chart2: `var(--${string})`;
|
|
39
|
+
chart3: `var(--${string})`;
|
|
40
|
+
chart4: `var(--${string})`;
|
|
41
|
+
chart5: `var(--${string})`;
|
|
42
|
+
chart6: `var(--${string})`;
|
|
43
|
+
chart7: `var(--${string})`;
|
|
44
|
+
chartOther: `var(--${string})`;
|
|
45
|
+
lineSoft: `var(--${string})`;
|
|
46
|
+
overlay: `var(--${string})`;
|
|
47
|
+
};
|
|
48
|
+
space: {
|
|
49
|
+
readonly none: `var(--${string})`;
|
|
50
|
+
readonly xxs: `var(--${string})`;
|
|
51
|
+
readonly xs: `var(--${string})`;
|
|
52
|
+
readonly sm: `var(--${string})`;
|
|
53
|
+
readonly md: `var(--${string})`;
|
|
54
|
+
readonly lg: `var(--${string})`;
|
|
55
|
+
readonly xl: `var(--${string})`;
|
|
56
|
+
readonly '2xl': `var(--${string})`;
|
|
57
|
+
readonly '3xl': `var(--${string})`;
|
|
58
|
+
readonly '4xl': `var(--${string})`;
|
|
59
|
+
readonly '5xl': `var(--${string})`;
|
|
60
|
+
readonly '6xl': `var(--${string})`;
|
|
61
|
+
};
|
|
62
|
+
radius: {
|
|
63
|
+
readonly none: `var(--${string})`;
|
|
64
|
+
readonly xs: `var(--${string})`;
|
|
65
|
+
readonly sm: `var(--${string})`;
|
|
66
|
+
readonly md: `var(--${string})`;
|
|
67
|
+
readonly lg: `var(--${string})`;
|
|
68
|
+
readonly xl: `var(--${string})`;
|
|
69
|
+
readonly '2xl': `var(--${string})`;
|
|
70
|
+
readonly pill: `var(--${string})`;
|
|
71
|
+
};
|
|
72
|
+
controlSize: {
|
|
73
|
+
readonly sm: `var(--${string})`;
|
|
74
|
+
readonly md: `var(--${string})`;
|
|
75
|
+
readonly touch: `var(--${string})`;
|
|
76
|
+
readonly lg: `var(--${string})`;
|
|
77
|
+
readonly xl: `var(--${string})`;
|
|
78
|
+
};
|
|
79
|
+
fontFamily: {
|
|
80
|
+
readonly body: `var(--${string})`;
|
|
81
|
+
readonly mono: `var(--${string})`;
|
|
82
|
+
readonly display: `var(--${string})`;
|
|
83
|
+
};
|
|
84
|
+
duration: {
|
|
85
|
+
readonly fast: `var(--${string})`;
|
|
86
|
+
readonly normal: `var(--${string})`;
|
|
87
|
+
readonly slow: `var(--${string})`;
|
|
88
|
+
};
|
|
89
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,38 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@decoda-ui/web",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"
|
|
5
|
-
"
|
|
3
|
+
"version": "0.1.1",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"publishConfig": {
|
|
6
|
+
"access": "public"
|
|
7
|
+
},
|
|
8
|
+
"sideEffects": [
|
|
9
|
+
"**/*.css"
|
|
10
|
+
],
|
|
11
|
+
"exports": {
|
|
12
|
+
".": {
|
|
13
|
+
"types": "./dist/index.d.ts",
|
|
14
|
+
"import": "./dist/index.js"
|
|
15
|
+
},
|
|
16
|
+
"./theme.css": "./dist/theme.css",
|
|
17
|
+
"./components.css": "./dist/components.css"
|
|
18
|
+
},
|
|
19
|
+
"files": [
|
|
20
|
+
"dist"
|
|
21
|
+
],
|
|
22
|
+
"dependencies": {
|
|
23
|
+
"@decoda-ui/tokens": "0.1.0"
|
|
24
|
+
},
|
|
25
|
+
"devDependencies": {
|
|
26
|
+
"@rollup/plugin-node-resolve": "latest",
|
|
27
|
+
"@rollup/plugin-typescript": "latest",
|
|
28
|
+
"@vanilla-extract/css": "latest",
|
|
29
|
+
"@vanilla-extract/rollup-plugin": "latest",
|
|
30
|
+
"rollup": "latest",
|
|
31
|
+
"rollup-plugin-postcss": "latest",
|
|
32
|
+
"tslib": "latest"
|
|
33
|
+
},
|
|
34
|
+
"scripts": {
|
|
35
|
+
"build": "rollup -c && tsc -p tsconfig.build.json --emitDeclarationOnly",
|
|
36
|
+
"typecheck": "tsc -p tsconfig.json --noEmit"
|
|
37
|
+
}
|
|
6
38
|
}
|
package/README.md
DELETED