@chayns-ui/core 0.8.0 → 0.9.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/avatar.css CHANGED
@@ -37,7 +37,7 @@
37
37
  .chayns-avatar--large {
38
38
  inline-size: var(--k52);
39
39
  block-size: var(--k52);
40
- font-size: var(--fs-subtitle);
40
+ font-size: var(--fs-micro);
41
41
  }
42
42
 
43
43
  .chayns-avatar__image {
@@ -0,0 +1,4 @@
1
+ import type { ProgressProps } from './Progress.types.js';
2
+ declare const Progress: import("react").ForwardRefExoticComponent<Omit<ProgressProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
3
+ export default Progress;
4
+ //# sourceMappingURL=Progress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Progress.d.ts","sourceRoot":"","sources":["../../../src/components/progress/Progress.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAkBzD,QAAA,MAAM,QAAQ,uHA+DZ,CAAC;AAEH,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,50 @@
1
+ import { forwardRef, useId } from "react";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ //#region src/components/progress/Progress.tsx
4
+ function normalizeValue(value) {
5
+ if (Number.isNaN(value)) return 0;
6
+ if (value === Infinity) return 100;
7
+ if (value === -Infinity) return 0;
8
+ return Math.min(100, Math.max(0, Math.round(value)));
9
+ }
10
+ var Progress = forwardRef(function Progress({ "aria-label": _ariaLabel, "aria-labelledby": _ariaLabelledBy, "aria-valuemax": _ariaValueMax, "aria-valuemin": _ariaValueMin, "aria-valuenow": _ariaValueNow, "aria-valuetext": _ariaValueText, children: _children, className, label, role: _role, rootProps, tabIndex: _tabIndex, value, ...progressbarProps }, ref) {
11
+ const labelId = useId();
12
+ const normalizedValue = normalizeValue(value);
13
+ const valueText = `${normalizedValue} %`;
14
+ const { className: rootClassName, ...remainingRootProps } = rootProps ?? {};
15
+ const resolvedRootClassName = ["chayns-progress", rootClassName].filter(Boolean).join(" ");
16
+ const resolvedProgressbarClassName = ["chayns-progress__bar", className].filter(Boolean).join(" ");
17
+ return /* @__PURE__ */ jsxs("div", {
18
+ ...remainingRootProps,
19
+ className: resolvedRootClassName,
20
+ children: [/* @__PURE__ */ jsxs("div", {
21
+ className: "chayns-progress__label-row",
22
+ children: [/* @__PURE__ */ jsx("span", {
23
+ id: labelId,
24
+ children: label
25
+ }), /* @__PURE__ */ jsx("span", {
26
+ "aria-hidden": "true",
27
+ children: valueText
28
+ })]
29
+ }), /* @__PURE__ */ jsx("div", {
30
+ ...progressbarProps,
31
+ "aria-labelledby": labelId,
32
+ "aria-valuemax": 100,
33
+ "aria-valuemin": 0,
34
+ "aria-valuenow": normalizedValue,
35
+ "aria-valuetext": valueText,
36
+ className: resolvedProgressbarClassName,
37
+ ref,
38
+ role: "progressbar",
39
+ children: /* @__PURE__ */ jsx("div", {
40
+ "aria-hidden": "true",
41
+ className: "chayns-progress__fill",
42
+ style: { width: `${normalizedValue}%` }
43
+ })
44
+ })]
45
+ });
46
+ });
47
+ //#endregion
48
+ export { Progress as default };
49
+
50
+ //# sourceMappingURL=Progress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Progress.js","names":[],"sources":["../../../src/components/progress/Progress.tsx"],"sourcesContent":["import { forwardRef, useId } from 'react';\n\nimport type { ProgressProps } from './Progress.types.js';\n\nfunction normalizeValue(value: number) {\n if (Number.isNaN(value)) {\n return 0;\n }\n\n if (value === Infinity) {\n return 100;\n }\n\n if (value === -Infinity) {\n return 0;\n }\n\n return Math.min(100, Math.max(0, Math.round(value)));\n}\n\nconst Progress = forwardRef<HTMLDivElement, ProgressProps>(function Progress(\n {\n 'aria-label': _ariaLabel,\n 'aria-labelledby': _ariaLabelledBy,\n 'aria-valuemax': _ariaValueMax,\n 'aria-valuemin': _ariaValueMin,\n 'aria-valuenow': _ariaValueNow,\n 'aria-valuetext': _ariaValueText,\n children: _children,\n className,\n label,\n role: _role,\n rootProps,\n tabIndex: _tabIndex,\n value,\n ...progressbarProps\n },\n ref,\n) {\n void _ariaLabel;\n void _ariaLabelledBy;\n void _ariaValueMax;\n void _ariaValueMin;\n void _ariaValueNow;\n void _ariaValueText;\n void _children;\n void _role;\n void _tabIndex;\n\n const labelId = useId();\n const normalizedValue = normalizeValue(value);\n const valueText = `${normalizedValue} %`;\n const { className: rootClassName, ...remainingRootProps } = rootProps ?? {};\n const resolvedRootClassName = ['chayns-progress', rootClassName].filter(Boolean).join(' ');\n const resolvedProgressbarClassName = ['chayns-progress__bar', className]\n .filter(Boolean)\n .join(' ');\n\n return (\n <div {...remainingRootProps} className={resolvedRootClassName}>\n <div className=\"chayns-progress__label-row\">\n <span id={labelId}>{label}</span>\n <span aria-hidden=\"true\">{valueText}</span>\n </div>\n <div\n {...progressbarProps}\n aria-labelledby={labelId}\n aria-valuemax={100}\n aria-valuemin={0}\n aria-valuenow={normalizedValue}\n aria-valuetext={valueText}\n className={resolvedProgressbarClassName}\n ref={ref}\n role=\"progressbar\"\n >\n <div\n aria-hidden=\"true\"\n className=\"chayns-progress__fill\"\n style={{ width: `${normalizedValue}%` }}\n />\n </div>\n </div>\n );\n});\n\nexport default Progress;\n"],"mappings":";;;AAIA,SAAS,eAAe,OAAe;CACrC,IAAI,OAAO,MAAM,KAAK,GACpB,OAAO;CAGT,IAAI,UAAU,UACZ,OAAO;CAGT,IAAI,UAAU,WACZ,OAAO;CAGT,OAAO,KAAK,IAAI,KAAK,KAAK,IAAI,GAAG,KAAK,MAAM,KAAK,CAAC,CAAC;AACrD;AAEA,IAAM,WAAW,WAA0C,SAAS,SAClE,EACE,cAAc,YACd,mBAAmB,iBACnB,iBAAiB,eACjB,iBAAiB,eACjB,iBAAiB,eACjB,kBAAkB,gBAClB,UAAU,WACV,WACA,OACA,MAAM,OACN,WACA,UAAU,WACV,OACA,GAAG,oBAEL,KACA;CAWA,MAAM,UAAU,MAAM;CACtB,MAAM,kBAAkB,eAAe,KAAK;CAC5C,MAAM,YAAY,GAAG,gBAAgB;CACrC,MAAM,EAAE,WAAW,eAAe,GAAG,uBAAuB,aAAa,CAAC;CAC1E,MAAM,wBAAwB,CAAC,mBAAmB,aAAa,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,KAAK,GAAG;CACzF,MAAM,+BAA+B,CAAC,wBAAwB,SAAS,CAAC,CACrE,OAAO,OAAO,CAAC,CACf,KAAK,GAAG;CAEX,OACE,qBAAC,OAAD;EAAK,GAAI;EAAoB,WAAW;EAAxC,UAAA,CACE,qBAAC,OAAD;GAAK,WAAU;GAAf,UAAA,CACE,oBAAC,QAAD;IAAM,IAAI;IAAU,UAAA;GAAY,CAAA,GAChC,oBAAC,QAAD;IAAM,eAAY;IAAQ,UAAA;GAAgB,CAAA,CACvC;EACL,CAAA,GAAA,oBAAC,OAAD;GACE,GAAI;GACJ,mBAAiB;GACjB,iBAAe;GACf,iBAAe;GACf,iBAAe;GACf,kBAAgB;GAChB,WAAW;GACN;GACL,MAAK;GAEL,UAAA,oBAAC,OAAD;IACE,eAAY;IACZ,WAAU;IACV,OAAO,EAAE,OAAO,GAAG,gBAAgB,GAAG;GACvC,CAAA;EACE,CAAA,CACF;;AAET,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { ComponentPropsWithRef } from 'react';
2
+ type ProgressbarAriaProps = 'aria-label' | 'aria-labelledby' | 'aria-valuemax' | 'aria-valuemin' | 'aria-valuenow' | 'aria-valuetext';
3
+ export interface ProgressProps extends Omit<ComponentPropsWithRef<'div'>, ProgressbarAriaProps | 'children' | 'role' | 'tabIndex'> {
4
+ label: string;
5
+ rootProps?: Omit<ComponentPropsWithRef<'div'>, 'children'>;
6
+ value: number;
7
+ children?: never;
8
+ role?: never;
9
+ tabIndex?: never;
10
+ 'aria-label'?: never;
11
+ 'aria-labelledby'?: never;
12
+ 'aria-valuemax'?: never;
13
+ 'aria-valuemin'?: never;
14
+ 'aria-valuenow'?: never;
15
+ 'aria-valuetext'?: never;
16
+ }
17
+ export {};
18
+ //# sourceMappingURL=Progress.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Progress.types.d.ts","sourceRoot":"","sources":["../../../src/components/progress/Progress.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,OAAO,CAAC;AAEnD,KAAK,oBAAoB,GACrB,YAAY,GACZ,iBAAiB,GACjB,eAAe,GACf,eAAe,GACf,eAAe,GACf,gBAAgB,CAAC;AAErB,MAAM,WAAW,aAAc,SAAQ,IAAI,CACzC,qBAAqB,CAAC,KAAK,CAAC,EAC5B,oBAAoB,GAAG,UAAU,GAAG,MAAM,GAAG,UAAU,CACxD;IACC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,CAAC;IAC3D,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,iBAAiB,CAAC,EAAE,KAAK,CAAC;IAC1B,eAAe,CAAC,EAAE,KAAK,CAAC;IACxB,eAAe,CAAC,EAAE,KAAK,CAAC;IACxB,eAAe,CAAC,EAAE,KAAK,CAAC;IACxB,gBAAgB,CAAC,EAAE,KAAK,CAAC;CAC1B"}
@@ -0,0 +1,4 @@
1
+ import type { SpinnerProps } from './Spinner.types.js';
2
+ declare const Spinner: import("react").ForwardRefExoticComponent<Omit<SpinnerProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
3
+ export default Spinner;
4
+ //# sourceMappingURL=Spinner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Spinner.d.ts","sourceRoot":"","sources":["../../../src/components/spinner/Spinner.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,QAAA,MAAM,OAAO,sHAmBX,CAAC;AAEH,eAAe,OAAO,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { forwardRef } from "react";
2
+ import { jsx } from "react/jsx-runtime";
3
+ //#region src/components/spinner/Spinner.tsx
4
+ var Spinner = forwardRef(function Spinner({ "aria-hidden": _ariaHidden, children: _children, className, role: _role, tabIndex: _tabIndex, ...divProps }, ref) {
5
+ const resolvedClassName = ["chayns-spinner", className].filter(Boolean).join(" ");
6
+ return /* @__PURE__ */ jsx("div", {
7
+ ...divProps,
8
+ "aria-hidden": "true",
9
+ className: resolvedClassName,
10
+ ref
11
+ });
12
+ });
13
+ //#endregion
14
+ export { Spinner as default };
15
+
16
+ //# sourceMappingURL=Spinner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Spinner.js","names":[],"sources":["../../../src/components/spinner/Spinner.tsx"],"sourcesContent":["import { forwardRef } from 'react';\n\nimport type { SpinnerProps } from './Spinner.types.js';\n\nconst Spinner = forwardRef<HTMLDivElement, SpinnerProps>(function Spinner(\n {\n 'aria-hidden': _ariaHidden,\n children: _children,\n className,\n role: _role,\n tabIndex: _tabIndex,\n ...divProps\n },\n ref,\n) {\n void _ariaHidden;\n void _children;\n void _role;\n void _tabIndex;\n\n const resolvedClassName = ['chayns-spinner', className].filter(Boolean).join(' ');\n\n return <div {...divProps} aria-hidden=\"true\" className={resolvedClassName} ref={ref} />;\n});\n\nexport default Spinner;\n"],"mappings":";;;AAIA,IAAM,UAAU,WAAyC,SAAS,QAChE,EACE,eAAe,aACf,UAAU,WACV,WACA,MAAM,OACN,UAAU,WACV,GAAG,YAEL,KACA;CAMA,MAAM,oBAAoB,CAAC,kBAAkB,SAAS,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,KAAK,GAAG;CAEhF,OAAO,oBAAC,OAAD;EAAK,GAAI;EAAU,eAAY;EAAO,WAAW;EAAwB;CAAM,CAAA;AACxF,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { ComponentPropsWithRef } from 'react';
2
+ export interface SpinnerProps extends Omit<ComponentPropsWithRef<'div'>, 'aria-hidden' | 'children' | 'role' | 'tabIndex'> {
3
+ children?: never;
4
+ role?: never;
5
+ tabIndex?: never;
6
+ 'aria-hidden'?: never;
7
+ }
8
+ //# sourceMappingURL=Spinner.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Spinner.types.d.ts","sourceRoot":"","sources":["../../../src/components/spinner/Spinner.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,OAAO,CAAC;AAEnD,MAAM,WAAW,YAAa,SAAQ,IAAI,CACxC,qBAAqB,CAAC,KAAK,CAAC,EAC5B,aAAa,GAAG,UAAU,GAAG,MAAM,GAAG,UAAU,CACjD;IACC,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,aAAa,CAAC,EAAE,KAAK,CAAC;CACvB"}
package/dist/index.d.ts CHANGED
@@ -9,6 +9,10 @@ export type { BadgeProps, BadgeSize, BadgeTone } from './components/badge/Badge.
9
9
  export { default as Skeleton } from './components/skeleton/Skeleton.js';
10
10
  export { SKELETON_SHAPES } from './components/skeleton/Skeleton.types.js';
11
11
  export type { SkeletonProps, SkeletonShape } from './components/skeleton/Skeleton.types.js';
12
+ export { default as Spinner } from './components/spinner/Spinner.js';
13
+ export type { SpinnerProps } from './components/spinner/Spinner.types.js';
14
+ export { default as Progress } from './components/progress/Progress.js';
15
+ export type { ProgressProps } from './components/progress/Progress.types.js';
12
16
  export { default as Banner } from './components/banner/Banner.js';
13
17
  export { BANNER_TONES } from './components/banner/Banner.types.js';
14
18
  export type { BannerProps, BannerTone, ClosableBannerProps, StaticBannerProps, } from './components/banner/Banner.types.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,wCAAwC,CAAC;AAC/E,YAAY,EACV,aAAa,EACb,UAAU,EACV,WAAW,EACX,aAAa,GACd,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,YAAY,EACV,mBAAmB,EACnB,eAAe,GAChB,MAAM,8CAA8C,CAAC;AAEtD,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAC7E,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAE1F,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC1E,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAE5F,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,iCAAiC,CAAC;AACrE,YAAY,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAE1E,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AACxE,YAAY,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAE7E,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACnE,YAAY,EACV,WAAW,EACX,UAAU,EACV,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AACzE,YAAY,EACV,qBAAqB,EACrB,mBAAmB,EACnB,aAAa,EACb,mBAAmB,GACpB,MAAM,0CAA0C,CAAC;AAElD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAC5E,YAAY,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAEjF,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,iDAAiD,CAAC;AAC5F,OAAO,EACL,sBAAsB,EACtB,6BAA6B,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,GAC/B,MAAM,uDAAuD,CAAC;AAE/D,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AACzE,YAAY,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAE9E,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AACxE,YAAY,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAE7E,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAClE,YAAY,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAEvE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,wCAAwC,CAAC;AAC/E,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,8CAA8C,CAAC;AAEhG,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oDAAoD,CAAC;AACjG,YAAY,EACV,qBAAqB,EACrB,YAAY,GACb,MAAM,0DAA0D,CAAC;AAElE,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACvE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAEnG,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0CAA0C,CAAC;AAClF,YAAY,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AAEvF,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAC5D,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAElF,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0CAA0C,CAAC;AAClF,YAAY,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AACvE,YAAY,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AAEvF,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAC5D,YAAY,EACV,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,mBAAmB,EACnB,SAAS,GACV,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,gDAAgD,CAAC;AAC3F,OAAO,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAClF,YAAY,EACV,mBAAmB,EACnB,qBAAqB,EACrB,yBAAyB,EACzB,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,2CAA2C,CAAC"}
package/dist/index.js CHANGED
@@ -5,6 +5,8 @@ import Badge from "./components/badge/Badge.js";
5
5
  import { BADGE_SIZES, BADGE_TONES } from "./components/badge/Badge.types.js";
6
6
  import Skeleton from "./components/skeleton/Skeleton.js";
7
7
  import { SKELETON_SHAPES } from "./components/skeleton/Skeleton.types.js";
8
+ import Spinner from "./components/spinner/Spinner.js";
9
+ import Progress from "./components/progress/Progress.js";
8
10
  import Banner from "./components/banner/Banner.js";
9
11
  import { BANNER_TONES } from "./components/banner/Banner.types.js";
10
12
  import ComboBox from "./components/combo-box/ComboBox.js";
@@ -26,4 +28,4 @@ import List from "./components/list/List.js";
26
28
  import Accordion from "./components/accordion/Accordion.js";
27
29
  import AccordionGroup from "./components/accordion-group/AccordionGroup.js";
28
30
  import { ACCORDION_APPEARANCES } from "./components/accordion/Accordion.types.js";
29
- export { ACCORDION_APPEARANCES, Accordion, AccordionGroup, Avatar, AvatarGroup, BADGE_SIZES, BADGE_TONES, BANNER_TONES, BUTTON_VARIANTS, Badge, Banner, Button, Card, Checkbox, ComboBox, DATE_TIME_PICKER_MINUTE_STEPS, DATE_TIME_PICKER_MODES, DateTimePicker, IconButton, List, Popup_default as Popup, PopupList, RadioGroup, SKELETON_SHAPES, SegmentedControl, Skeleton, SplitButton, Switch, TextArea, TextField };
31
+ export { ACCORDION_APPEARANCES, Accordion, AccordionGroup, Avatar, AvatarGroup, BADGE_SIZES, BADGE_TONES, BANNER_TONES, BUTTON_VARIANTS, Badge, Banner, Button, Card, Checkbox, ComboBox, DATE_TIME_PICKER_MINUTE_STEPS, DATE_TIME_PICKER_MODES, DateTimePicker, IconButton, List, Popup_default as Popup, PopupList, Progress, RadioGroup, SKELETON_SHAPES, SegmentedControl, Skeleton, Spinner, SplitButton, Switch, TextArea, TextField };
@@ -0,0 +1,28 @@
1
+ @layer chayns.components {
2
+ .chayns-progress {
3
+ display: block;
4
+ width: 100%;
5
+ }
6
+
7
+ .chayns-progress__label-row {
8
+ display: flex;
9
+ justify-content: space-between;
10
+ margin-bottom: 7px;
11
+ color: var(--muted);
12
+ font-size: var(--fs-meta);
13
+ }
14
+
15
+ .chayns-progress__bar {
16
+ width: 100%;
17
+ height: 8px;
18
+ overflow: hidden;
19
+ border-radius: 999px;
20
+ background: var(--surface-alt);
21
+ }
22
+
23
+ .chayns-progress__fill {
24
+ height: 100%;
25
+ border-radius: inherit;
26
+ background: var(--accent);
27
+ }
28
+ }
@@ -0,0 +1,24 @@
1
+ @layer chayns.components {
2
+ .chayns-spinner {
3
+ box-sizing: border-box;
4
+ display: block;
5
+ width: var(--k30);
6
+ height: var(--k30);
7
+ border: 3px solid var(--surface-alt);
8
+ border-top-color: var(--accent);
9
+ border-radius: 50%;
10
+ animation: chayns-spinner-spin 0.8s linear infinite;
11
+ }
12
+
13
+ @keyframes chayns-spinner-spin {
14
+ 100% {
15
+ transform: rotate(360deg);
16
+ }
17
+ }
18
+
19
+ @media (prefers-reduced-motion: reduce) {
20
+ .chayns-spinner {
21
+ animation: none;
22
+ }
23
+ }
24
+ }
package/dist/styles.css CHANGED
@@ -1,6 +1,8 @@
1
1
  @import url('./button.css');
2
2
  @import url('./badge.css');
3
3
  @import url('./skeleton.css');
4
+ @import url('./spinner.css');
5
+ @import url('./progress.css');
4
6
  @import url('./banner.css');
5
7
  @import url('./combo-box.css');
6
8
  @import url('./card.css');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chayns-ui/core",
3
- "version": "0.8.0",
3
+ "version": "0.9.1",
4
4
  "description": "Accessible React core components for chayns UI",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -25,6 +25,8 @@
25
25
  "./button.css": "./dist/button.css",
26
26
  "./badge.css": "./dist/badge.css",
27
27
  "./skeleton.css": "./dist/skeleton.css",
28
+ "./spinner.css": "./dist/spinner.css",
29
+ "./progress.css": "./dist/progress.css",
28
30
  "./banner.css": "./dist/banner.css",
29
31
  "./combo-box.css": "./dist/combo-box.css",
30
32
  "./card.css": "./dist/card.css",