ss6-futuristic-component 1.0.0 → 1.0.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/index.d.mts +15 -4
- package/dist/index.d.ts +15 -4
- package/dist/index.js +61 -32
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +60 -32
- package/dist/index.mjs.map +1 -1
- package/dist/styles.css +174 -91
- package/package.json +1 -1
- package/readme.md +7 -1
package/dist/index.d.mts
CHANGED
|
@@ -132,11 +132,11 @@ declare function ThemeToggle(attr: Readonly<React.InputHTMLAttributes<HTMLInputE
|
|
|
132
132
|
|
|
133
133
|
declare function Dashboard(): React.JSX.Element;
|
|
134
134
|
|
|
135
|
-
declare function Badge({ text, type, className, }: {
|
|
135
|
+
declare function Badge({ text, type, className, }: Readonly<{
|
|
136
136
|
text: string;
|
|
137
137
|
type: "success" | "danger" | "warning" | "info";
|
|
138
138
|
className?: string;
|
|
139
|
-
}): React.JSX.Element;
|
|
139
|
+
}>): React.JSX.Element;
|
|
140
140
|
|
|
141
141
|
declare function Skeleton({ className }: {
|
|
142
142
|
className?: string;
|
|
@@ -155,6 +155,7 @@ declare namespace Navigation {
|
|
|
155
155
|
}) => React.JSX.Element;
|
|
156
156
|
}
|
|
157
157
|
|
|
158
|
+
type ConfirmationType = "info" | "warning" | "danger" | "success";
|
|
158
159
|
declare function Confirmation({ type, text, title, secondaryAction, secondaryLabel, mainAction, mainLabel, }: {
|
|
159
160
|
mainAction: () => void;
|
|
160
161
|
secondaryAction?: () => void;
|
|
@@ -162,7 +163,17 @@ declare function Confirmation({ type, text, title, secondaryAction, secondaryLab
|
|
|
162
163
|
secondaryLabel?: string;
|
|
163
164
|
title: string;
|
|
164
165
|
text: string;
|
|
165
|
-
type?:
|
|
166
|
+
type?: ConfirmationType;
|
|
166
167
|
}): React.JSX.Element;
|
|
167
168
|
|
|
168
|
-
|
|
169
|
+
type ProgressBar = {
|
|
170
|
+
value: number;
|
|
171
|
+
max?: number;
|
|
172
|
+
label?: string;
|
|
173
|
+
showValue?: boolean;
|
|
174
|
+
color?: "primary" | "info" | "success" | "warning" | "danger";
|
|
175
|
+
className?: string;
|
|
176
|
+
};
|
|
177
|
+
declare function ProgressBar({ value, max, label, showValue, color, className, }: Readonly<ProgressBar>): React.JSX.Element;
|
|
178
|
+
|
|
179
|
+
export { Badge, Button, Card, Confirmation, Dashboard, Expandable, MultiSelect, NavTabClient, Navigation, ProgressBar, SingleSelect, Skeleton, Slider, TextInput, ThemeToggle, Toast, Tooltip };
|
package/dist/index.d.ts
CHANGED
|
@@ -132,11 +132,11 @@ declare function ThemeToggle(attr: Readonly<React.InputHTMLAttributes<HTMLInputE
|
|
|
132
132
|
|
|
133
133
|
declare function Dashboard(): React.JSX.Element;
|
|
134
134
|
|
|
135
|
-
declare function Badge({ text, type, className, }: {
|
|
135
|
+
declare function Badge({ text, type, className, }: Readonly<{
|
|
136
136
|
text: string;
|
|
137
137
|
type: "success" | "danger" | "warning" | "info";
|
|
138
138
|
className?: string;
|
|
139
|
-
}): React.JSX.Element;
|
|
139
|
+
}>): React.JSX.Element;
|
|
140
140
|
|
|
141
141
|
declare function Skeleton({ className }: {
|
|
142
142
|
className?: string;
|
|
@@ -155,6 +155,7 @@ declare namespace Navigation {
|
|
|
155
155
|
}) => React.JSX.Element;
|
|
156
156
|
}
|
|
157
157
|
|
|
158
|
+
type ConfirmationType = "info" | "warning" | "danger" | "success";
|
|
158
159
|
declare function Confirmation({ type, text, title, secondaryAction, secondaryLabel, mainAction, mainLabel, }: {
|
|
159
160
|
mainAction: () => void;
|
|
160
161
|
secondaryAction?: () => void;
|
|
@@ -162,7 +163,17 @@ declare function Confirmation({ type, text, title, secondaryAction, secondaryLab
|
|
|
162
163
|
secondaryLabel?: string;
|
|
163
164
|
title: string;
|
|
164
165
|
text: string;
|
|
165
|
-
type?:
|
|
166
|
+
type?: ConfirmationType;
|
|
166
167
|
}): React.JSX.Element;
|
|
167
168
|
|
|
168
|
-
|
|
169
|
+
type ProgressBar = {
|
|
170
|
+
value: number;
|
|
171
|
+
max?: number;
|
|
172
|
+
label?: string;
|
|
173
|
+
showValue?: boolean;
|
|
174
|
+
color?: "primary" | "info" | "success" | "warning" | "danger";
|
|
175
|
+
className?: string;
|
|
176
|
+
};
|
|
177
|
+
declare function ProgressBar({ value, max, label, showValue, color, className, }: Readonly<ProgressBar>): React.JSX.Element;
|
|
178
|
+
|
|
179
|
+
export { Badge, Button, Card, Confirmation, Dashboard, Expandable, MultiSelect, NavTabClient, Navigation, ProgressBar, SingleSelect, Skeleton, Slider, TextInput, ThemeToggle, Toast, Tooltip };
|
package/dist/index.js
CHANGED
|
@@ -68,6 +68,7 @@ __export(index_exports, {
|
|
|
68
68
|
MultiSelect: () => MultiSelect,
|
|
69
69
|
NavTabClient: () => NavTabClient,
|
|
70
70
|
Navigation: () => Navigation,
|
|
71
|
+
ProgressBar: () => ProgressBar,
|
|
71
72
|
SingleSelect: () => SingleSelect,
|
|
72
73
|
Skeleton: () => Skeleton,
|
|
73
74
|
Slider: () => Slider,
|
|
@@ -431,7 +432,7 @@ var icon_success_default = 'data:image/svg+xml,<svg xmlns="http://www.w3.org/200
|
|
|
431
432
|
|
|
432
433
|
// src/components/Toast.tsx
|
|
433
434
|
var import_react_fontawesome6 = require("@fortawesome/react-fontawesome");
|
|
434
|
-
var
|
|
435
|
+
var statusIcons = {
|
|
435
436
|
info: icon_info_default,
|
|
436
437
|
warning: icon_warning_default,
|
|
437
438
|
success: icon_success_default,
|
|
@@ -443,7 +444,7 @@ function Toast({
|
|
|
443
444
|
type = "info",
|
|
444
445
|
className
|
|
445
446
|
}) {
|
|
446
|
-
return /* @__PURE__ */ import_react8.default.createElement("div", { className: `toast__wrapper ft ft--${type} ${className != null ? className : ""}` }, /* @__PURE__ */ import_react8.default.createElement("span", { className: "ft__corner ft__corner--tl", "aria-hidden": "true" }), /* @__PURE__ */ import_react8.default.createElement("span", { className: "ft__corner ft__corner--tr", "aria-hidden": "true" }), /* @__PURE__ */ import_react8.default.createElement("div", { className: "ft__body" }, /* @__PURE__ */ import_react8.default.createElement("img", { src:
|
|
447
|
+
return /* @__PURE__ */ import_react8.default.createElement("div", { className: `toast__wrapper ft ft--${type} ${className != null ? className : ""}` }, /* @__PURE__ */ import_react8.default.createElement("span", { className: "ft__corner ft__corner--tl", "aria-hidden": "true" }), /* @__PURE__ */ import_react8.default.createElement("span", { className: "ft__corner ft__corner--tr", "aria-hidden": "true" }), /* @__PURE__ */ import_react8.default.createElement("div", { className: "ft__body" }, /* @__PURE__ */ import_react8.default.createElement("img", { src: statusIcons[type], alt: "", className: "ft__icon" }), /* @__PURE__ */ import_react8.default.createElement("div", null, /* @__PURE__ */ import_react8.default.createElement("p", { className: "ft__title" }, title), /* @__PURE__ */ import_react8.default.createElement("p", { className: "ft__desc" }, description))), /* @__PURE__ */ import_react8.default.createElement("p", { className: "ft__bar toast-bar-animate" }));
|
|
447
448
|
}
|
|
448
449
|
var Inline = ({
|
|
449
450
|
className,
|
|
@@ -451,7 +452,7 @@ var Inline = ({
|
|
|
451
452
|
type,
|
|
452
453
|
icon = void 0
|
|
453
454
|
}) => {
|
|
454
|
-
return /* @__PURE__ */ import_react8.default.createElement("div", { className: `ft-inline ft--${type} ${className != null ? className : ""}` }, icon ? /* @__PURE__ */ import_react8.default.createElement(import_react_fontawesome6.FontAwesomeIcon, { icon, className: "ft-inline__fa" }) : /* @__PURE__ */ import_react8.default.createElement("img", { src:
|
|
455
|
+
return /* @__PURE__ */ import_react8.default.createElement("div", { className: `ft-inline ft--${type} ${className != null ? className : ""}` }, icon ? /* @__PURE__ */ import_react8.default.createElement(import_react_fontawesome6.FontAwesomeIcon, { icon, className: "ft-inline__fa" }) : /* @__PURE__ */ import_react8.default.createElement("img", { src: statusIcons[type], alt: "", className: "ft-inline__icon" }), /* @__PURE__ */ import_react8.default.createElement("p", null, text));
|
|
455
456
|
};
|
|
456
457
|
Toast.Inline = Inline;
|
|
457
458
|
|
|
@@ -593,16 +594,7 @@ function Badge({
|
|
|
593
594
|
type,
|
|
594
595
|
className
|
|
595
596
|
}) {
|
|
596
|
-
return /* @__PURE__ */ import_react13.default.createElement("div", { className: "badge__wrapper" }, /* @__PURE__ */ import_react13.default.createElement(
|
|
597
|
-
"span",
|
|
598
|
-
{
|
|
599
|
-
style: {
|
|
600
|
-
background: `var(--ss6f-color-${type})`
|
|
601
|
-
},
|
|
602
|
-
className: `badge ${className}`
|
|
603
|
-
},
|
|
604
|
-
text
|
|
605
|
-
));
|
|
597
|
+
return /* @__PURE__ */ import_react13.default.createElement("div", { className: "badge__wrapper" }, /* @__PURE__ */ import_react13.default.createElement("span", { className: `fb ft--${type} ${className != null ? className : ""}` }, text));
|
|
606
598
|
}
|
|
607
599
|
|
|
608
600
|
// src/components/Skeleton.tsx
|
|
@@ -637,6 +629,12 @@ Navigation.URL = URLNavigation;
|
|
|
637
629
|
|
|
638
630
|
// src/components/Confirmation.tsx
|
|
639
631
|
var import_react16 = __toESM(require("react"));
|
|
632
|
+
var buttonColor = {
|
|
633
|
+
info: "info",
|
|
634
|
+
warning: "warn",
|
|
635
|
+
danger: "danger",
|
|
636
|
+
success: "success"
|
|
637
|
+
};
|
|
640
638
|
function Confirmation({
|
|
641
639
|
type = "warning",
|
|
642
640
|
text,
|
|
@@ -646,30 +644,60 @@ function Confirmation({
|
|
|
646
644
|
mainAction,
|
|
647
645
|
mainLabel = "Ya"
|
|
648
646
|
}) {
|
|
649
|
-
return /* @__PURE__ */ import_react16.default.createElement("div", { className: "confirmation__outer" }, /* @__PURE__ */ import_react16.default.createElement(
|
|
650
|
-
|
|
647
|
+
return /* @__PURE__ */ import_react16.default.createElement("div", { className: "confirmation__outer" }, /* @__PURE__ */ import_react16.default.createElement(
|
|
648
|
+
Card,
|
|
651
649
|
{
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
className: "
|
|
655
|
-
|
|
650
|
+
title,
|
|
651
|
+
cardClass: "fc",
|
|
652
|
+
footer: /* @__PURE__ */ import_react16.default.createElement("div", { className: "fc__actions" }, secondaryAction && /* @__PURE__ */ import_react16.default.createElement(
|
|
653
|
+
Button,
|
|
654
|
+
{
|
|
655
|
+
type: "button",
|
|
656
|
+
btnType: "outline",
|
|
657
|
+
color: buttonColor[type],
|
|
658
|
+
label: secondaryLabel,
|
|
659
|
+
onClick: secondaryAction
|
|
660
|
+
}
|
|
661
|
+
), /* @__PURE__ */ import_react16.default.createElement(
|
|
662
|
+
Button,
|
|
663
|
+
{
|
|
664
|
+
type: "button",
|
|
665
|
+
btnType: "primary",
|
|
666
|
+
color: buttonColor[type],
|
|
667
|
+
label: mainLabel,
|
|
668
|
+
onClick: mainAction
|
|
669
|
+
}
|
|
670
|
+
))
|
|
656
671
|
},
|
|
657
|
-
|
|
658
|
-
)
|
|
659
|
-
|
|
672
|
+
/* @__PURE__ */ import_react16.default.createElement("div", { className: "fc__content" }, /* @__PURE__ */ import_react16.default.createElement("img", { src: statusIcons[type], alt: "", className: "fc__icon" }), /* @__PURE__ */ import_react16.default.createElement("p", null, text))
|
|
673
|
+
));
|
|
674
|
+
}
|
|
675
|
+
|
|
676
|
+
// src/components/ProgressBar.tsx
|
|
677
|
+
var import_react17 = __toESM(require("react"));
|
|
678
|
+
function ProgressBar({
|
|
679
|
+
value,
|
|
680
|
+
max = 100,
|
|
681
|
+
label,
|
|
682
|
+
showValue = true,
|
|
683
|
+
color = "primary",
|
|
684
|
+
className = ""
|
|
685
|
+
}) {
|
|
686
|
+
const percent = Math.min(100, Math.max(0, Math.round(value / max * 100)));
|
|
687
|
+
const colorClass = color === "primary" ? "" : `ft--${color}`;
|
|
688
|
+
return /* @__PURE__ */ import_react17.default.createElement("div", { className: `fp ${colorClass} ${className}` }, (label || showValue) && /* @__PURE__ */ import_react17.default.createElement("div", { className: "fp__head" }, /* @__PURE__ */ import_react17.default.createElement("span", { className: "fp__label" }, label), showValue && /* @__PURE__ */ import_react17.default.createElement("span", { className: "fp__value" }, percent, "%")), /* @__PURE__ */ import_react17.default.createElement(
|
|
689
|
+
"div",
|
|
660
690
|
{
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
691
|
+
role: "progressbar",
|
|
692
|
+
"aria-label": label,
|
|
693
|
+
"aria-valuemin": 0,
|
|
694
|
+
"aria-valuemax": 100,
|
|
695
|
+
className: "fp__track",
|
|
696
|
+
"aria-valuenow": percent
|
|
667
697
|
},
|
|
668
|
-
|
|
669
|
-
))
|
|
698
|
+
/* @__PURE__ */ import_react17.default.createElement("div", { className: "fp__fill", style: { width: `${percent}%` } })
|
|
699
|
+
));
|
|
670
700
|
}
|
|
671
|
-
var wrapper = "pt-[0.5rem] pb-[1rem] px-[1.8rem] grid items-center gap-[1.5rem]";
|
|
672
|
-
var confirmation__text = "mt-[0.7rem] w-[90%] text-[var(--ss6f-color-text-secondary)]";
|
|
673
701
|
// Annotate the CommonJS export names for ESM import in node:
|
|
674
702
|
0 && (module.exports = {
|
|
675
703
|
Badge,
|
|
@@ -681,6 +709,7 @@ var confirmation__text = "mt-[0.7rem] w-[90%] text-[var(--ss6f-color-text-second
|
|
|
681
709
|
MultiSelect,
|
|
682
710
|
NavTabClient,
|
|
683
711
|
Navigation,
|
|
712
|
+
ProgressBar,
|
|
684
713
|
SingleSelect,
|
|
685
714
|
Skeleton,
|
|
686
715
|
Slider,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/components/Button.tsx","../src/components/TextInput.tsx","../src/components/Slider.tsx","../src/components/SingleSelect.tsx","../src/components/Tooltip.tsx","../src/components/NavTabClient.tsx","../src/components/Card.tsx","../src/components/Toast.tsx","../src/components/Expandable.tsx","../src/components/MultiSelect.tsx","../src/components/ThemeToggle.tsx","../src/components/Dashboard.tsx","../src/components/Badge.tsx","../src/components/Skeleton.tsx","../src/components/Navigation.tsx","../src/components/Confirmation.tsx"],"sourcesContent":["export { default as Button } from \"./components/Button\";\nexport { default as TextInput } from \"./components/TextInput\";\nexport { default as Slider } from \"./components/Slider\";\nexport { default as SingleSelect } from \"./components/SingleSelect\";\nexport { default as Tooltip } from \"./components/Tooltip\";\nexport { default as NavTabClient } from \"./components/NavTabClient\";\nexport { default as Card } from \"./components/Card\";\nexport { default as Toast } from \"./components/Toast\";\nexport { default as Expandable } from \"./components/Expandable\";\nexport { default as MultiSelect } from \"./components/MultiSelect\";\nexport { default as ThemeToggle } from \"./components/ThemeToggle\";\nexport { default as Dashboard } from \"./components/Dashboard\";\nexport { default as Badge } from \"./components/Badge\";\nexport { default as Skeleton } from \"./components/Skeleton\";\nexport { default as Navigation } from \"./components/Navigation\";\nexport { default as Confirmation } from \"./components/Confirmation\";\n","import React from \"react\";\nimport { IconProp } from \"@fortawesome/fontawesome-svg-core\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faCircleNotch } from \"@fortawesome/free-solid-svg-icons\";\n\ntype Button = Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, \"color\"> & {\n label?: string;\n icon?: IconProp;\n isnotif?: boolean;\n isLoading?: boolean;\n color?: \"primary\" | \"danger\" | \"warn\" | \"info\" | \"success\";\n btnType?: \"outline\" | \"primary\" | \"muted\";\n};\n\nexport default function Button({\n label,\n icon,\n isLoading,\n btnType = \"primary\",\n color = \"primary\",\n className = \"\",\n ...rest\n}: Readonly<Button>) {\n const disabled = rest.disabled || isLoading;\n const buttonIcon = isLoading ? faCircleNotch : icon;\n const loadingLabel = label && isLoading ? \"Memproses ...\" : \"\";\n\n return (\n <button\n {...rest}\n disabled={disabled}\n className={`fx fx--${disabled ? \"muted\" : btnType} fx--color-${color} ${className}`}\n >\n <span className=\"fx__face flex gap-2\">\n {buttonIcon && (isLoading || icon) && (\n <FontAwesomeIcon\n icon={buttonIcon}\n className={`text-[1.2rem] ${label && \"mr-[0.3rem]\"} ${\n isLoading ? \"animate-spin\" : \"\"\n }`}\n />\n )}\n {isLoading ? loadingLabel : label}\n </span>\n </button>\n );\n}\n\nconst IconButton = ({\n label,\n icon,\n isLoading,\n btnType: _btnType,\n isnotif: _isnotif,\n color = \"primary\",\n className = \"\",\n ...rest\n}: Readonly<Button>) => {\n const disabled = rest.disabled || isLoading;\n const btnIcon = isLoading ? faCircleNotch : icon;\n return (\n <button\n {...rest}\n disabled={disabled}\n className={`fx fx--rounded fx--${disabled ? \"muted\" : \"soft\"} fx--color-${color} ${className}`}\n >\n <span className={`fx__face gap-4 ${label ? \"\" : \"fx__face--icon\"}`}>\n {btnIcon && (\n <FontAwesomeIcon\n icon={btnIcon}\n className={isLoading ? \"animate-spin\" : \"\"}\n />\n )}\n {label}\n </span>\n </button>\n );\n};\n\nconst IconButtonGroup = ({ list }: { list: Button[] }) => {\n return (\n <div className=\"fg\">\n <span className=\"fg__glow fg__glow--tl\" aria-hidden=\"true\"></span>\n <span className=\"fg__glow fg__glow--br\" aria-hidden=\"true\"></span>\n {list.map(\n (\n {\n icon,\n isLoading,\n isnotif,\n label: _label,\n btnType: _btnType,\n color: _color,\n className = \"\",\n ...rest\n },\n idx,\n ) => {\n const btnIcon = isLoading ? faCircleNotch : icon;\n return (\n <button\n type=\"button\"\n {...rest}\n key={idx + 1}\n disabled={rest.disabled || isLoading}\n className={`fg__item ${className}`}\n >\n {btnIcon && (\n <FontAwesomeIcon\n icon={btnIcon}\n className={isLoading ? \"animate-spin\" : \"\"}\n />\n )}\n {isnotif && <span className=\"btn__notif_badge\"></span>}\n </button>\n );\n },\n )}\n </div>\n );\n};\n\nButton.IconButton = IconButton;\nButton.IconButtonGroup = IconButtonGroup;\n","import React from \"react\";\nimport { IconProp } from \"@fortawesome/fontawesome-svg-core\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\n\nexport default function TextInput({\n label,\n labelFor,\n icon,\n outerclass,\n inputclass,\n ...attr\n}: Readonly<\n React.InputHTMLAttributes<HTMLInputElement> & {\n label?: string;\n labelFor?: string;\n icon?: IconProp;\n outerclass?: string;\n inputclass?: string;\n }\n>) {\n return (\n <div className={`${outerclass} w-full`}>\n {label && (\n <label htmlFor={labelFor} className=\"text-input__label fi__label\">\n {label}\n </label>\n )}\n <div className={`fi fi--text ${attr.className ?? \"\"}`}>\n <span className=\"fi__glow\" aria-hidden=\"true\"></span>\n {icon && <FontAwesomeIcon icon={icon} className=\"fi__lead\" />}\n <input\n {...attr}\n className={`text-input w-full ${icon ? \"!pl-[0.6rem]\" : \"\"} ${inputclass ?? \"\"}`}\n />\n </div>\n </div>\n );\n}\n","import React from \"react\";\nimport { faCircle, faPowerOff } from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\n\nexport default function Slider(\n attr: Readonly<React.InputHTMLAttributes<HTMLInputElement>>,\n) {\n return (\n <div className=\"flex items-center h-[3rem]\">\n <label className=\"fs\">\n <input type=\"checkbox\" className=\"fs__input\" {...attr} />\n <span className=\"fs__track\" aria-hidden=\"true\">\n <span className=\"fs__knob\"></span>\n <FontAwesomeIcon icon={faCircle} className=\"fs__icon fs__icon--off\" />\n <FontAwesomeIcon\n icon={faPowerOff}\n className=\"fs__icon fs__icon--on\"\n />\n </span>\n </label>\n </div>\n );\n}\n","import React, { useEffect, useMemo, useState } from \"react\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faCaretRight, faCheck } from \"@fortawesome/free-solid-svg-icons\";\n\ntype Option = { label: string; value: string };\n\ntype SingleSelect = React.InputHTMLAttributes<HTMLInputElement> & {\n label?: string;\n labelHtml?: string;\n placeholder?: string;\n outerclass?: string;\n options?: Option[];\n stringOptions?: string[];\n stateaction?: (param: string | Option) => void;\n};\n\nexport default function SingleSelect(attr: Readonly<SingleSelect>) {\n const { options = [], stringOptions = [], ...attrInput } = attr;\n const inputValue = attrInput.value;\n const [keyword, setKeyword] = useState(\"\");\n const [selected, setSelected] = useState<{ label: string; value: any }>({\n label: \"\",\n value: \"\",\n });\n\n function selectItem(\n { label, value }: { label: string; value: any },\n e: React.MouseEvent<HTMLButtonElement>,\n ) {\n const triggerManual = attrInput.onChange;\n if (triggerManual) {\n triggerManual?.({\n target: { value, name: attrInput.name },\n } as React.ChangeEvent<HTMLInputElement>);\n }\n setSelected({ label, value });\n\n if (attr.stateaction) {\n if (options?.length > 0) attr.stateaction({ label, value });\n if (stringOptions?.length > 0) attr.stateaction(value);\n }\n\n setKeyword(\"\");\n e.currentTarget.blur();\n }\n\n function autoUpdateValue(updatedValue: string) {\n if (updatedValue) {\n const filtered = availableOptions.find(\n ({ value }) => value == updatedValue,\n );\n if (filtered) setSelected(filtered);\n }\n }\n\n const availableOptions = useMemo(() => {\n let defaultOptions = options && options.length > 0;\n if (!defaultOptions)\n return stringOptions.map((opt) => ({ label: opt, value: opt }));\n return options;\n }, [options, stringOptions]);\n\n const filteredOptions = useMemo(() => {\n return availableOptions.filter(\n ({ label, value }) =>\n (label + \"\").toLowerCase().includes(keyword.toLowerCase()) ||\n (value + \"\").toLowerCase().includes(keyword.toLowerCase()),\n );\n }, [keyword, availableOptions]);\n\n useEffect(() => {\n inputValue && autoUpdateValue(inputValue as string);\n }, [inputValue, availableOptions]);\n\n return (\n <div className={`w-full ${attr.outerclass}`}>\n {attrInput.label && (\n <label\n className=\"text-input__label fi__label\"\n htmlFor={attrInput.labelHtml}\n >\n {attrInput.label}\n </label>\n )}\n <div className={`fi ${attrInput.className ?? \"\"}`}>\n <span className=\"fi__glow\" aria-hidden=\"true\"></span>\n <input\n type=\"hidden\"\n {...attrInput}\n {...(attrInput.onChange ? { onChange: attrInput.onChange } : {})}\n value={attrInput.value ?? selected.value}\n />\n <input\n type=\"search\"\n value={keyword}\n autoComplete=\"off\"\n onChange={(e) => setKeyword(e.target.value)}\n className={`${attrInput.name}-keyword ${input} ${selected.value ? \"fi__input--filled\" : \"\"}`}\n placeholder={selected.value ? selected.label : attrInput.placeholder}\n />\n <div className=\"select-item__wrapper fi__menu\">\n {filteredOptions.length == 0 && keyword != \"\" && (\n <button disabled className=\"select-item fi__empty\">\n Tidak ada Item\n </button>\n )}\n {filteredOptions.map(({ label, value }) => (\n <button\n key={value}\n type=\"button\"\n className=\"select-item fi__item\"\n onClick={(e) => selectItem({ label, value }, e)}\n >\n {label}\n {selected.value == value && (\n <FontAwesomeIcon icon={faCheck} className=\"fi__check\" />\n )}\n </button>\n ))}\n </div>\n <FontAwesomeIcon icon={faCaretRight} className=\"fi__icon\" />\n </div>\n </div>\n );\n}\n\nSingleSelect.autoFill = autoFillInput;\n\nfunction autoFillInput(\n value: string,\n elName: string,\n list: { label: string; value: string }[],\n) {\n const inp = document.querySelector(`[name=\"${elName}\"]`) as HTMLInputElement;\n inp.value = `${value || \"\"}`;\n const filtered = list.find((item) => item.value == value);\n const el = document.querySelector(`.${elName}-keyword`);\n el?.setAttribute(\"placeholder\", `${filtered?.label}`);\n}\n\nconst input = \"text-input peer w-full\";\n","import React from \"react\";\n\ntype Tooltip = {\n children: React.ReactNode;\n text: string;\n position: \"top\" | \"bottom\" | \"right\" | \"left\";\n};\n\nexport default function Tooltip({\n children,\n text,\n position = \"top\",\n}: Readonly<Tooltip>) {\n function getAccent() {\n const mapping = {\n top,\n bottom,\n left,\n right,\n };\n return mapping[position];\n }\n return (\n <div className=\"relative\">\n <div className=\"peer\">{children}</div>\n <span className={`tooltip-text ${getAccent()}`}>{text}</span>\n </div>\n );\n}\n\nconst top =\n \"bottom-full translate-y-[-0.3rem] right-0 after:bottom-0 after:translate-y-[0.25rem] \";\nconst bottom =\n \"right-0 top-full translate-y-[0.3rem] after:top-[-0.4rem] after:translate-y-[0.2rem] \";\nconst right =\n \"left-full w-[max-content] translate-x-[0.6rem] after:left-[-0.2rem] top-[-0.2rem] after:top-[0.6rem]\";\nconst left =\n \"right-full w-[max-content] translate-x-[-0.6rem] top-[-0.2rem] after:right-[-0.2rem] after:top-[0.6rem]\";\n","import React from \"react\";\n\ntype Option = {\n label: string;\n value: string;\n};\n\nexport default function NavTabClient({\n items,\n state,\n}: Readonly<{\n items: Option[];\n state: {\n active: string;\n setActive: (val: string) => void;\n };\n}>) {\n return (\n <nav className=\"fn\" role=\"tablist\">\n {items.map(({ label, value }) => (\n <button\n role=\"tab\"\n key={value}\n type=\"button\"\n aria-selected={state.active == value}\n className={`fn__item ${state.active == value ? \"fn__item--active\" : \"\"}`}\n onClick={() => state.setActive(value)}\n >\n {label}\n </button>\n ))}\n </nav>\n );\n}\n","import { IconProp } from \"@fortawesome/fontawesome-svg-core\";\nimport { faCaretRight } from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport React from \"react\";\n\ntype Card = {\n cardClass?: string;\n title?: string;\n icon?: IconProp;\n footer?: React.ReactNode;\n titleChild?: React.ReactNode;\n children: React.ReactNode;\n};\n\n/* frame is pure CSS (see .nc in futuristic.css), so Card renders on the server */\nexport default function Card({\n title,\n icon,\n footer,\n children,\n cardClass = \"\",\n titleChild,\n}: Readonly<Card>) {\n return (\n <article className={`nc ${cardClass}`}>\n <div className=\"nc__edge\" aria-hidden=\"true\"></div>\n <div className=\"nc__glass\" aria-hidden=\"true\"></div>\n <span className=\"nc__corner nc__corner--tl\" aria-hidden=\"true\"></span>\n <span className=\"nc__corner nc__corner--br\" aria-hidden=\"true\"></span>\n <span className=\"nc__notch\" aria-hidden=\"true\"></span>\n <span className=\"nc__bars\" aria-hidden=\"true\">\n <i className=\"on\"></i>\n <i className=\"on\"></i>\n <i className=\"on\"></i>\n <i className=\"on\"></i>\n <i></i>\n <i></i>\n </span>\n <div className=\"nc__header\">\n <div className=\"nc__head-row\">\n <div className=\"nc__title-wrap\">\n {icon && <FontAwesomeIcon icon={faCaretRight} />}\n <h3 className=\"nc__title\">{title}</h3>\n </div>\n {titleChild}\n </div>\n <div className=\"nc__rule mt-4\"></div>\n </div>\n <div className=\"nc__body\">{children}</div>\n {footer && <div className=\"nc__footer\">{footer}</div>}\n </article>\n );\n}\n\nconst SimpleCard = ({\n icon,\n title,\n footer,\n children,\n titleChild,\n cardClass = \"\",\n}: Card) => {\n return (\n <article className={`nc nc--simple ${cardClass}`}>\n <div className=\"nc__edge\" aria-hidden=\"true\"></div>\n <div className=\"nc__glass\" aria-hidden=\"true\"></div>\n <span className=\"nc__corner nc__corner--tl\" aria-hidden=\"true\"></span>\n <span className=\"nc__corner nc__corner--br\" aria-hidden=\"true\"></span>\n {(title || titleChild) && (\n <div className=\"nc__header\">\n <div className=\"nc__head-row\">\n <div className=\"nc__title-wrap\">\n {icon && <FontAwesomeIcon icon={faCaretRight} />}\n <h3 className=\"nc__title\">{title}</h3>\n </div>\n {titleChild}\n </div>\n <div className=\"nc__rule mt-4\"></div>\n </div>\n )}\n <div className=\"nc__body pt-0!\">{children}</div>\n {footer && <div className=\"nc__footer\">{footer}</div>}\n </article>\n );\n};\n\nCard.Simple = SimpleCard;\n\nconst Footer = ({\n className,\n children,\n}: {\n className?: string;\n children?: React.ReactNode;\n}) => {\n return (\n <div\n className={`${className} border-t border-t-[var(--ss6f-color-border)]`}\n >\n {children}\n </div>\n );\n};\n\nCard.Footer = Footer;\n","import React from \"react\";\nimport iconInfo from \"../../assets/icon-info.svg\";\nimport iconError from \"../../assets/icon-error.svg\";\nimport iconWarning from \"../../assets/icon-warning.svg\";\nimport iconSuccess from \"../../assets/icon-success.svg\";\nimport { IconProp } from \"@fortawesome/fontawesome-svg-core\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\n\ntype ToastType = \"warning\" | \"success\" | \"info\" | \"danger\";\ntype Toast = {\n title: string;\n className?: string;\n description: string;\n type: ToastType;\n};\n\nconst icons: Record<ToastType, string> = {\n info: iconInfo,\n warning: iconWarning,\n success: iconSuccess,\n danger: iconError,\n};\n\nexport default function Toast({\n title,\n description,\n type = \"info\",\n className,\n}: Readonly<Toast>) {\n return (\n <div className={`toast__wrapper ft ft--${type} ${className ?? \"\"}`}>\n <span className=\"ft__corner ft__corner--tl\" aria-hidden=\"true\"></span>\n <span className=\"ft__corner ft__corner--tr\" aria-hidden=\"true\"></span>\n <div className=\"ft__body\">\n <img src={icons[type]} alt=\"\" className=\"ft__icon\" />\n <div>\n <p className=\"ft__title\">{title}</p>\n <p className=\"ft__desc\">{description}</p>\n </div>\n </div>\n <p className=\"ft__bar toast-bar-animate\"></p>\n </div>\n );\n}\n\nconst Inline = ({\n className,\n text,\n type,\n icon = undefined,\n}: {\n className?: string;\n text: string;\n type: ToastType;\n icon?: IconProp;\n}) => {\n return (\n <div className={`ft-inline ft--${type} ${className ?? \"\"}`}>\n {icon ? (\n <FontAwesomeIcon icon={icon} className=\"ft-inline__fa\" />\n ) : (\n <img src={icons[type]} alt=\"\" className=\"ft-inline__icon\" />\n )}\n <p>{text}</p>\n </div>\n );\n};\n\nToast.Inline = Inline;\n","import React from \"react\";\nimport { faCaretRight } from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\n\ntype Expandable = {\n children: React.ReactNode;\n title: string;\n className?: string;\n isOpen?: boolean;\n};\n\nexport default function Expandable({\n children,\n title,\n className,\n isOpen,\n}: Readonly<Expandable>) {\n const name = title.replace(/\\s+/g, \"\");\n return (\n <div className={`expandable fe ${className ?? \"\"}`}>\n <span className=\"fe__glow\" aria-hidden=\"true\"></span>\n <input\n id={name}\n type=\"checkbox\"\n defaultChecked={isOpen}\n className=\"opacity-[0] peer absolute top-0 ex-title\"\n />\n <FontAwesomeIcon icon={faCaretRight} className=\"expandable__icon\" />\n <label htmlFor={name} className=\"expandable__title\">\n {title}\n </label>\n <div className=\"expandable__body\">\n <div className=\"p-[0.75rem] px-[1rem]\">{children}</div>\n </div>\n </div>\n );\n}\n","import React, { useCallback, useMemo, useState } from \"react\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faCheck, faListCheck } from \"@fortawesome/free-solid-svg-icons\";\n\ntype Option = {\n value: string;\n label: string;\n};\n\ntype MultiSelect = {\n label?: string;\n labelHtml?: string;\n outerclass?: string;\n options?: Option[];\n stringOptions?: string[];\n state: {\n value: Option[];\n select: React.Dispatch<React.SetStateAction<Option[]>>;\n };\n};\n\nexport default function MultiSelect({\n state,\n label,\n labelHtml,\n ...attr\n}: Readonly<MultiSelect>) {\n const { options = [], stringOptions = [] } = attr;\n const [keyword, setKeyword] = useState(\"\");\n\n const availableOptions = useMemo(() => {\n const isDefaultOption = options && options.length > 0;\n if (!isDefaultOption)\n return stringOptions.map((opt) => ({ label: opt, value: opt }));\n return options;\n }, [options, stringOptions]);\n\n function getFiltered() {\n return availableOptions.filter(\n ({ label, value }) =>\n (label + \"\").toLowerCase().includes(keyword.toLowerCase()) ||\n (value + \"\").toLowerCase().includes(keyword.toLowerCase()),\n );\n }\n\n function selectItem({ label, value }: { label: string; value: string }) {\n state.select((prev) => {\n const isItemExist = prev.some((item: Option) => item.value == value);\n if (isItemExist) {\n return prev.filter((item: Option) => item.value != value);\n }\n return [...prev, { label, value }];\n });\n }\n\n function isItemExist(value: string) {\n return state.value.find((item: any) => item.value == value);\n }\n\n const selectUnSelectAll = useCallback(() => {\n const isAllSelected = state.value.length == availableOptions.length;\n state.select(isAllSelected ? [] : availableOptions);\n }, [state.value, availableOptions]);\n\n return (\n <div className={`w-full ${attr.outerclass}`}>\n {label && (\n <label htmlFor={labelHtml} className=\"text-input__label fi__label\">\n {label}\n </label>\n )}\n <div className=\"fi\">\n <span className=\"fi__glow\" aria-hidden=\"true\"></span>\n <input\n type=\"search\"\n value={keyword}\n autoComplete=\"off\"\n className={`${input} ${state.value.length > 0 ? \"fi__input--filled\" : \"\"}`}\n onChange={(e) => setKeyword(e.target.value)}\n placeholder={`${state.value.length} Dipilih`}\n />\n <div className=\"select-item__wrapper select-multiple__wrapper fi__menu\">\n {getFiltered().length == 0 && keyword != \"\" && (\n <button disabled className=\"select-item fi__empty\">\n Tidak ada Item\n </button>\n )}\n {getFiltered().map(({ label, value }) => (\n <button\n key={value}\n type=\"button\"\n onClick={() => selectItem({ label, value })}\n className=\"select-item fi__item\"\n >\n {label}\n {isItemExist(value) && (\n <FontAwesomeIcon icon={faCheck} className=\"fi__check\" />\n )}\n </button>\n ))}\n </div>\n <button type=\"button\" className=\"fi__icon\" onClick={selectUnSelectAll}>\n <FontAwesomeIcon icon={faListCheck} />\n </button>\n </div>\n </div>\n );\n}\nconst input = \"text-input peer w-full\";\n","import React from \"react\";\nimport { faMoon, faSun } from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\n\nexport default function ThemeToggle(\n attr: Readonly<React.InputHTMLAttributes<HTMLInputElement>>,\n) {\n return (\n <div className=\"flex items-center h-[3rem]\">\n <label className=\"fs fs--theme\">\n <input type=\"checkbox\" className=\"fs__input\" {...attr} />\n <span className=\"fs__track\" aria-hidden=\"true\">\n <span className=\"fs__knob\">\n <FontAwesomeIcon icon={faMoon} className=\"fs__moon\" />\n <FontAwesomeIcon icon={faSun} className=\"fs__sun\" />\n </span>\n </span>\n </label>\n </div>\n );\n}\n","import React, { useState } from \"react\";\nimport MultiSelect from \"./MultiSelect\";\nimport SingleSelect from \"./SingleSelect\";\n\nconst list = [\n { label: \"Option 1\", value: \"option1\" },\n { label: \"Option 2\", value: \"option2\" },\n { label: \"Option 3\", value: \"option3\" },\n];\nconst stringList = [\"option1\", \"option2\", \"option3\"];\n\nexport default function Dashboard() {\n const [selectedItem, setSelectedItem] = useState<\n { label: string; value: string }[]\n >([]);\n const [sel, setSel] = useState({ label: \"\", value: \"\" });\n\n function updateState(item: string) {\n const filtered = list.find(({ value }) => value == item);\n filtered && setSel(filtered);\n }\n\n return (\n <div className=\"flex items-center gap-[1rem]\">\n <MultiSelect\n label=\"Multi Select\"\n stringOptions={stringList}\n state={{ value: selectedItem, select: setSelectedItem }}\n />\n <SingleSelect\n label=\"Single Select\"\n name=\"newinput\"\n stringOptions={stringList}\n placeholder=\"-- Pilih Status --\"\n value={sel.value}\n />\n </div>\n );\n}\n","import React from \"react\";\nexport default function Badge({\n text,\n type,\n className,\n}: {\n text: string;\n type: \"success\" | \"danger\" | \"warning\" | \"info\";\n className?: string;\n}) {\n return (\n <div className=\"badge__wrapper\">\n <span\n style={{\n background: `var(--ss6f-color-${type})`,\n }}\n className={`badge ${className}`}\n >\n {text}\n </span>\n </div>\n );\n}\n","import React from \"react\";\nexport default function Skeleton({ className }: { className?: string }) {\n return (\n <div className={`${className} skeleton`}>\n <span className=\"skeleton__item skeleton-slide\"></span>\n </div>\n );\n}\n","import React from \"react\";\n\nexport default function Navigation() {\n return <nav></nav>;\n}\n\nconst URLNavigation = (props: {\n list: { label: string; href: string }[];\n activeUrl: string;\n outerclass?: string;\n CustomComponent?: React.ElementType;\n}) => {\n const Component = props.CustomComponent || \"a\";\n\n return (\n <nav className={`fnav ${props.outerclass ?? \"\"}`}>\n <span className=\"fnav__glow fnav__glow--tr\" aria-hidden=\"true\"></span>\n <span className=\"fnav__glow fnav__glow--bl\" aria-hidden=\"true\"></span>\n {props.list.map(({ label, href }) => {\n const isActive = href === props.activeUrl;\n return (\n <Component\n key={href}\n href={href}\n aria-current={isActive ? \"page\" : undefined}\n className={`fnav__item ${isActive ? \"fnav__item--active\" : \"\"}`}\n >\n {label}\n </Component>\n );\n })}\n </nav>\n );\n};\n\nNavigation.URL = URLNavigation;\n","import React from \"react\";\n\nexport default function Confirmation({\n type = \"warning\",\n text,\n title,\n secondaryAction,\n secondaryLabel = \"Tidak\",\n mainAction,\n mainLabel = \"Ya\",\n}: {\n mainAction: () => void;\n secondaryAction?: () => void;\n mainLabel?: string;\n secondaryLabel?: string;\n title: string;\n text: string;\n type?: \"info\" | \"warning\" | \"danger\" | \"success\";\n}) {\n return (\n <div className=\"confirmation__outer\">\n <div className=\"confirmation__card\">\n <div className={wrapper}>\n <div className={`baloon__${type} baloon`}></div>\n <div>\n <h3 className=\"font-semibold\">{title}</h3>\n <p className={confirmation__text}>{text}</p>\n </div>\n </div>\n <div className=\"confirmation__footer\">\n {secondaryAction && (\n <button\n onClick={secondaryAction}\n type=\"button\"\n className=\"cursor-pointer\"\n style={{ color: `var(--ss6f-color-${type})` }}\n >\n {secondaryLabel}\n </button>\n )}\n <button\n onClick={mainAction}\n className=\"cursor-pointer btn__primary min-w-[8rem]\"\n style={{\n background: `var(--ss6f-color-${type})`,\n border: `1px solid var(--ss6f-color-${type})`,\n }}\n >\n {mainLabel}\n </button>\n </div>\n </div>\n </div>\n );\n}\n\nconst wrapper =\n \"pt-[0.5rem] pb-[1rem] px-[1.8rem] grid items-center gap-[1.5rem]\";\nconst confirmation__text =\n \"mt-[0.7rem] w-[90%] text-[var(--ss6f-color-text-secondary)]\";\n"],"mappings":"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","names":["React","list","import_react","import_react_fontawesome","_a","React","import_react","import_free_solid_svg_icons","import_react_fontawesome","React","import_react","import_react_fontawesome","import_free_solid_svg_icons","React","list","import_react","React","import_react","React","import_free_solid_svg_icons","import_react_fontawesome","import_react","React","import_react","import_react_fontawesome","React","import_react","import_free_solid_svg_icons","import_react_fontawesome","React","import_react","import_react_fontawesome","import_free_solid_svg_icons","label","isItemExist","React","input","import_react","import_free_solid_svg_icons","import_react_fontawesome","React","import_react","React","import_react","React","import_react","React","import_react","React","import_react","React"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/components/Button.tsx","../src/components/TextInput.tsx","../src/components/Slider.tsx","../src/components/SingleSelect.tsx","../src/components/Tooltip.tsx","../src/components/NavTabClient.tsx","../src/components/Card.tsx","../src/components/Toast.tsx","../src/components/Expandable.tsx","../src/components/MultiSelect.tsx","../src/components/ThemeToggle.tsx","../src/components/Dashboard.tsx","../src/components/Badge.tsx","../src/components/Skeleton.tsx","../src/components/Navigation.tsx","../src/components/Confirmation.tsx","../src/components/ProgressBar.tsx"],"sourcesContent":["export { default as Button } from \"./components/Button\";\nexport { default as TextInput } from \"./components/TextInput\";\nexport { default as Slider } from \"./components/Slider\";\nexport { default as SingleSelect } from \"./components/SingleSelect\";\nexport { default as Tooltip } from \"./components/Tooltip\";\nexport { default as NavTabClient } from \"./components/NavTabClient\";\nexport { default as Card } from \"./components/Card\";\nexport { default as Toast } from \"./components/Toast\";\nexport { default as Expandable } from \"./components/Expandable\";\nexport { default as MultiSelect } from \"./components/MultiSelect\";\nexport { default as ThemeToggle } from \"./components/ThemeToggle\";\nexport { default as Dashboard } from \"./components/Dashboard\";\nexport { default as Badge } from \"./components/Badge\";\nexport { default as Skeleton } from \"./components/Skeleton\";\nexport { default as Navigation } from \"./components/Navigation\";\nexport { default as Confirmation } from \"./components/Confirmation\";\nexport { default as ProgressBar } from \"./components/ProgressBar\";\n","import React from \"react\";\nimport { IconProp } from \"@fortawesome/fontawesome-svg-core\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faCircleNotch } from \"@fortawesome/free-solid-svg-icons\";\n\ntype Button = Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, \"color\"> & {\n label?: string;\n icon?: IconProp;\n isnotif?: boolean;\n isLoading?: boolean;\n color?: \"primary\" | \"danger\" | \"warn\" | \"info\" | \"success\";\n btnType?: \"outline\" | \"primary\" | \"muted\";\n};\n\nexport default function Button({\n label,\n icon,\n isLoading,\n btnType = \"primary\",\n color = \"primary\",\n className = \"\",\n ...rest\n}: Readonly<Button>) {\n const disabled = rest.disabled || isLoading;\n const buttonIcon = isLoading ? faCircleNotch : icon;\n const loadingLabel = label && isLoading ? \"Memproses ...\" : \"\";\n\n return (\n <button\n {...rest}\n disabled={disabled}\n className={`fx fx--${disabled ? \"muted\" : btnType} fx--color-${color} ${className}`}\n >\n <span className=\"fx__face flex gap-2\">\n {buttonIcon && (isLoading || icon) && (\n <FontAwesomeIcon\n icon={buttonIcon}\n className={`text-[1.2rem] ${label && \"mr-[0.3rem]\"} ${\n isLoading ? \"animate-spin\" : \"\"\n }`}\n />\n )}\n {isLoading ? loadingLabel : label}\n </span>\n </button>\n );\n}\n\nconst IconButton = ({\n label,\n icon,\n isLoading,\n btnType: _btnType,\n isnotif: _isnotif,\n color = \"primary\",\n className = \"\",\n ...rest\n}: Readonly<Button>) => {\n const disabled = rest.disabled || isLoading;\n const btnIcon = isLoading ? faCircleNotch : icon;\n return (\n <button\n {...rest}\n disabled={disabled}\n className={`fx fx--rounded fx--${disabled ? \"muted\" : \"soft\"} fx--color-${color} ${className}`}\n >\n <span className={`fx__face gap-4 ${label ? \"\" : \"fx__face--icon\"}`}>\n {btnIcon && (\n <FontAwesomeIcon\n icon={btnIcon}\n className={isLoading ? \"animate-spin\" : \"\"}\n />\n )}\n {label}\n </span>\n </button>\n );\n};\n\nconst IconButtonGroup = ({ list }: { list: Button[] }) => {\n return (\n <div className=\"fg\">\n <span className=\"fg__glow fg__glow--tl\" aria-hidden=\"true\"></span>\n <span className=\"fg__glow fg__glow--br\" aria-hidden=\"true\"></span>\n {list.map(\n (\n {\n icon,\n isLoading,\n isnotif,\n label: _label,\n btnType: _btnType,\n color: _color,\n className = \"\",\n ...rest\n },\n idx,\n ) => {\n const btnIcon = isLoading ? faCircleNotch : icon;\n return (\n <button\n type=\"button\"\n {...rest}\n key={idx + 1}\n disabled={rest.disabled || isLoading}\n className={`fg__item ${className}`}\n >\n {btnIcon && (\n <FontAwesomeIcon\n icon={btnIcon}\n className={isLoading ? \"animate-spin\" : \"\"}\n />\n )}\n {isnotif && <span className=\"btn__notif_badge\"></span>}\n </button>\n );\n },\n )}\n </div>\n );\n};\n\nButton.IconButton = IconButton;\nButton.IconButtonGroup = IconButtonGroup;\n","import React from \"react\";\nimport { IconProp } from \"@fortawesome/fontawesome-svg-core\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\n\nexport default function TextInput({\n label,\n labelFor,\n icon,\n outerclass,\n inputclass,\n ...attr\n}: Readonly<\n React.InputHTMLAttributes<HTMLInputElement> & {\n label?: string;\n labelFor?: string;\n icon?: IconProp;\n outerclass?: string;\n inputclass?: string;\n }\n>) {\n return (\n <div className={`${outerclass} w-full`}>\n {label && (\n <label htmlFor={labelFor} className=\"text-input__label fi__label\">\n {label}\n </label>\n )}\n <div className={`fi fi--text ${attr.className ?? \"\"}`}>\n <span className=\"fi__glow\" aria-hidden=\"true\"></span>\n {icon && <FontAwesomeIcon icon={icon} className=\"fi__lead\" />}\n <input\n {...attr}\n className={`text-input w-full ${icon ? \"!pl-[0.6rem]\" : \"\"} ${inputclass ?? \"\"}`}\n />\n </div>\n </div>\n );\n}\n","import React from \"react\";\nimport { faCircle, faPowerOff } from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\n\nexport default function Slider(\n attr: Readonly<React.InputHTMLAttributes<HTMLInputElement>>,\n) {\n return (\n <div className=\"flex items-center h-[3rem]\">\n <label className=\"fs\">\n <input type=\"checkbox\" className=\"fs__input\" {...attr} />\n <span className=\"fs__track\" aria-hidden=\"true\">\n <span className=\"fs__knob\"></span>\n <FontAwesomeIcon icon={faCircle} className=\"fs__icon fs__icon--off\" />\n <FontAwesomeIcon\n icon={faPowerOff}\n className=\"fs__icon fs__icon--on\"\n />\n </span>\n </label>\n </div>\n );\n}\n","import React, { useEffect, useMemo, useState } from \"react\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faCaretRight, faCheck } from \"@fortawesome/free-solid-svg-icons\";\n\ntype Option = { label: string; value: string };\n\ntype SingleSelect = React.InputHTMLAttributes<HTMLInputElement> & {\n label?: string;\n labelHtml?: string;\n placeholder?: string;\n outerclass?: string;\n options?: Option[];\n stringOptions?: string[];\n stateaction?: (param: string | Option) => void;\n};\n\nexport default function SingleSelect(attr: Readonly<SingleSelect>) {\n const { options = [], stringOptions = [], ...attrInput } = attr;\n const inputValue = attrInput.value;\n const [keyword, setKeyword] = useState(\"\");\n const [selected, setSelected] = useState<{ label: string; value: any }>({\n label: \"\",\n value: \"\",\n });\n\n function selectItem(\n { label, value }: { label: string; value: any },\n e: React.MouseEvent<HTMLButtonElement>,\n ) {\n const triggerManual = attrInput.onChange;\n if (triggerManual) {\n triggerManual?.({\n target: { value, name: attrInput.name },\n } as React.ChangeEvent<HTMLInputElement>);\n }\n setSelected({ label, value });\n\n if (attr.stateaction) {\n if (options?.length > 0) attr.stateaction({ label, value });\n if (stringOptions?.length > 0) attr.stateaction(value);\n }\n\n setKeyword(\"\");\n e.currentTarget.blur();\n }\n\n function autoUpdateValue(updatedValue: string) {\n if (updatedValue) {\n const filtered = availableOptions.find(\n ({ value }) => value == updatedValue,\n );\n if (filtered) setSelected(filtered);\n }\n }\n\n const availableOptions = useMemo(() => {\n let defaultOptions = options && options.length > 0;\n if (!defaultOptions)\n return stringOptions.map((opt) => ({ label: opt, value: opt }));\n return options;\n }, [options, stringOptions]);\n\n const filteredOptions = useMemo(() => {\n return availableOptions.filter(\n ({ label, value }) =>\n (label + \"\").toLowerCase().includes(keyword.toLowerCase()) ||\n (value + \"\").toLowerCase().includes(keyword.toLowerCase()),\n );\n }, [keyword, availableOptions]);\n\n useEffect(() => {\n inputValue && autoUpdateValue(inputValue as string);\n }, [inputValue, availableOptions]);\n\n return (\n <div className={`w-full ${attr.outerclass}`}>\n {attrInput.label && (\n <label\n className=\"text-input__label fi__label\"\n htmlFor={attrInput.labelHtml}\n >\n {attrInput.label}\n </label>\n )}\n <div className={`fi ${attrInput.className ?? \"\"}`}>\n <span className=\"fi__glow\" aria-hidden=\"true\"></span>\n <input\n type=\"hidden\"\n {...attrInput}\n {...(attrInput.onChange ? { onChange: attrInput.onChange } : {})}\n value={attrInput.value ?? selected.value}\n />\n <input\n type=\"search\"\n value={keyword}\n autoComplete=\"off\"\n onChange={(e) => setKeyword(e.target.value)}\n className={`${attrInput.name}-keyword ${input} ${selected.value ? \"fi__input--filled\" : \"\"}`}\n placeholder={selected.value ? selected.label : attrInput.placeholder}\n />\n <div className=\"select-item__wrapper fi__menu\">\n {filteredOptions.length == 0 && keyword != \"\" && (\n <button disabled className=\"select-item fi__empty\">\n Tidak ada Item\n </button>\n )}\n {filteredOptions.map(({ label, value }) => (\n <button\n key={value}\n type=\"button\"\n className=\"select-item fi__item\"\n onClick={(e) => selectItem({ label, value }, e)}\n >\n {label}\n {selected.value == value && (\n <FontAwesomeIcon icon={faCheck} className=\"fi__check\" />\n )}\n </button>\n ))}\n </div>\n <FontAwesomeIcon icon={faCaretRight} className=\"fi__icon\" />\n </div>\n </div>\n );\n}\n\nSingleSelect.autoFill = autoFillInput;\n\nfunction autoFillInput(\n value: string,\n elName: string,\n list: { label: string; value: string }[],\n) {\n const inp = document.querySelector(`[name=\"${elName}\"]`) as HTMLInputElement;\n inp.value = `${value || \"\"}`;\n const filtered = list.find((item) => item.value == value);\n const el = document.querySelector(`.${elName}-keyword`);\n el?.setAttribute(\"placeholder\", `${filtered?.label}`);\n}\n\nconst input = \"text-input peer w-full\";\n","import React from \"react\";\n\ntype Tooltip = {\n children: React.ReactNode;\n text: string;\n position: \"top\" | \"bottom\" | \"right\" | \"left\";\n};\n\nexport default function Tooltip({\n children,\n text,\n position = \"top\",\n}: Readonly<Tooltip>) {\n function getAccent() {\n const mapping = {\n top,\n bottom,\n left,\n right,\n };\n return mapping[position];\n }\n return (\n <div className=\"relative\">\n <div className=\"peer\">{children}</div>\n <span className={`tooltip-text ${getAccent()}`}>{text}</span>\n </div>\n );\n}\n\nconst top =\n \"bottom-full translate-y-[-0.3rem] right-0 after:bottom-0 after:translate-y-[0.25rem] \";\nconst bottom =\n \"right-0 top-full translate-y-[0.3rem] after:top-[-0.4rem] after:translate-y-[0.2rem] \";\nconst right =\n \"left-full w-[max-content] translate-x-[0.6rem] after:left-[-0.2rem] top-[-0.2rem] after:top-[0.6rem]\";\nconst left =\n \"right-full w-[max-content] translate-x-[-0.6rem] top-[-0.2rem] after:right-[-0.2rem] after:top-[0.6rem]\";\n","import React from \"react\";\n\ntype Option = {\n label: string;\n value: string;\n};\n\nexport default function NavTabClient({\n items,\n state,\n}: Readonly<{\n items: Option[];\n state: {\n active: string;\n setActive: (val: string) => void;\n };\n}>) {\n return (\n <nav className=\"fn\" role=\"tablist\">\n {items.map(({ label, value }) => (\n <button\n role=\"tab\"\n key={value}\n type=\"button\"\n aria-selected={state.active == value}\n className={`fn__item ${state.active == value ? \"fn__item--active\" : \"\"}`}\n onClick={() => state.setActive(value)}\n >\n {label}\n </button>\n ))}\n </nav>\n );\n}\n","import { IconProp } from \"@fortawesome/fontawesome-svg-core\";\nimport { faCaretRight } from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport React from \"react\";\n\ntype Card = {\n cardClass?: string;\n title?: string;\n icon?: IconProp;\n footer?: React.ReactNode;\n titleChild?: React.ReactNode;\n children: React.ReactNode;\n};\n\n/* frame is pure CSS (see .nc in futuristic.css), so Card renders on the server */\nexport default function Card({\n title,\n icon,\n footer,\n children,\n cardClass = \"\",\n titleChild,\n}: Readonly<Card>) {\n return (\n <article className={`nc ${cardClass}`}>\n <div className=\"nc__edge\" aria-hidden=\"true\"></div>\n <div className=\"nc__glass\" aria-hidden=\"true\"></div>\n <span className=\"nc__corner nc__corner--tl\" aria-hidden=\"true\"></span>\n <span className=\"nc__corner nc__corner--br\" aria-hidden=\"true\"></span>\n <span className=\"nc__notch\" aria-hidden=\"true\"></span>\n <span className=\"nc__bars\" aria-hidden=\"true\">\n <i className=\"on\"></i>\n <i className=\"on\"></i>\n <i className=\"on\"></i>\n <i className=\"on\"></i>\n <i></i>\n <i></i>\n </span>\n <div className=\"nc__header\">\n <div className=\"nc__head-row\">\n <div className=\"nc__title-wrap\">\n {icon && <FontAwesomeIcon icon={faCaretRight} />}\n <h3 className=\"nc__title\">{title}</h3>\n </div>\n {titleChild}\n </div>\n <div className=\"nc__rule mt-4\"></div>\n </div>\n <div className=\"nc__body\">{children}</div>\n {footer && <div className=\"nc__footer\">{footer}</div>}\n </article>\n );\n}\n\nconst SimpleCard = ({\n icon,\n title,\n footer,\n children,\n titleChild,\n cardClass = \"\",\n}: Card) => {\n return (\n <article className={`nc nc--simple ${cardClass}`}>\n <div className=\"nc__edge\" aria-hidden=\"true\"></div>\n <div className=\"nc__glass\" aria-hidden=\"true\"></div>\n <span className=\"nc__corner nc__corner--tl\" aria-hidden=\"true\"></span>\n <span className=\"nc__corner nc__corner--br\" aria-hidden=\"true\"></span>\n {(title || titleChild) && (\n <div className=\"nc__header\">\n <div className=\"nc__head-row\">\n <div className=\"nc__title-wrap\">\n {icon && <FontAwesomeIcon icon={faCaretRight} />}\n <h3 className=\"nc__title\">{title}</h3>\n </div>\n {titleChild}\n </div>\n <div className=\"nc__rule mt-4\"></div>\n </div>\n )}\n <div className=\"nc__body pt-0!\">{children}</div>\n {footer && <div className=\"nc__footer\">{footer}</div>}\n </article>\n );\n};\n\nCard.Simple = SimpleCard;\n\nconst Footer = ({\n className,\n children,\n}: {\n className?: string;\n children?: React.ReactNode;\n}) => {\n return (\n <div\n className={`${className} border-t border-t-[var(--ss6f-color-border)]`}\n >\n {children}\n </div>\n );\n};\n\nCard.Footer = Footer;\n","import React from \"react\";\nimport iconInfo from \"../../assets/icon-info.svg\";\nimport iconError from \"../../assets/icon-error.svg\";\nimport iconWarning from \"../../assets/icon-warning.svg\";\nimport iconSuccess from \"../../assets/icon-success.svg\";\nimport { IconProp } from \"@fortawesome/fontawesome-svg-core\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\n\ntype ToastType = \"warning\" | \"success\" | \"info\" | \"danger\";\ntype Toast = {\n title: string;\n className?: string;\n description: string;\n type: ToastType;\n};\n\nexport const statusIcons: Record<ToastType, string> = {\n info: iconInfo,\n warning: iconWarning,\n success: iconSuccess,\n danger: iconError,\n};\n\nexport default function Toast({\n title,\n description,\n type = \"info\",\n className,\n}: Readonly<Toast>) {\n return (\n <div className={`toast__wrapper ft ft--${type} ${className ?? \"\"}`}>\n <span className=\"ft__corner ft__corner--tl\" aria-hidden=\"true\"></span>\n <span className=\"ft__corner ft__corner--tr\" aria-hidden=\"true\"></span>\n <div className=\"ft__body\">\n <img src={statusIcons[type]} alt=\"\" className=\"ft__icon\" />\n <div>\n <p className=\"ft__title\">{title}</p>\n <p className=\"ft__desc\">{description}</p>\n </div>\n </div>\n <p className=\"ft__bar toast-bar-animate\"></p>\n </div>\n );\n}\n\nconst Inline = ({\n className,\n text,\n type,\n icon = undefined,\n}: {\n className?: string;\n text: string;\n type: ToastType;\n icon?: IconProp;\n}) => {\n return (\n <div className={`ft-inline ft--${type} ${className ?? \"\"}`}>\n {icon ? (\n <FontAwesomeIcon icon={icon} className=\"ft-inline__fa\" />\n ) : (\n <img src={statusIcons[type]} alt=\"\" className=\"ft-inline__icon\" />\n )}\n <p>{text}</p>\n </div>\n );\n};\n\nToast.Inline = Inline;\n","import React from \"react\";\nimport { faCaretRight } from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\n\ntype Expandable = {\n children: React.ReactNode;\n title: string;\n className?: string;\n isOpen?: boolean;\n};\n\nexport default function Expandable({\n children,\n title,\n className,\n isOpen,\n}: Readonly<Expandable>) {\n const name = title.replace(/\\s+/g, \"\");\n return (\n <div className={`expandable fe ${className ?? \"\"}`}>\n <span className=\"fe__glow\" aria-hidden=\"true\"></span>\n <input\n id={name}\n type=\"checkbox\"\n defaultChecked={isOpen}\n className=\"opacity-[0] peer absolute top-0 ex-title\"\n />\n <FontAwesomeIcon icon={faCaretRight} className=\"expandable__icon\" />\n <label htmlFor={name} className=\"expandable__title\">\n {title}\n </label>\n <div className=\"expandable__body\">\n <div className=\"p-[0.75rem] px-[1rem]\">{children}</div>\n </div>\n </div>\n );\n}\n","import React, { useCallback, useMemo, useState } from \"react\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faCheck, faListCheck } from \"@fortawesome/free-solid-svg-icons\";\n\ntype Option = {\n value: string;\n label: string;\n};\n\ntype MultiSelect = {\n label?: string;\n labelHtml?: string;\n outerclass?: string;\n options?: Option[];\n stringOptions?: string[];\n state: {\n value: Option[];\n select: React.Dispatch<React.SetStateAction<Option[]>>;\n };\n};\n\nexport default function MultiSelect({\n state,\n label,\n labelHtml,\n ...attr\n}: Readonly<MultiSelect>) {\n const { options = [], stringOptions = [] } = attr;\n const [keyword, setKeyword] = useState(\"\");\n\n const availableOptions = useMemo(() => {\n const isDefaultOption = options && options.length > 0;\n if (!isDefaultOption)\n return stringOptions.map((opt) => ({ label: opt, value: opt }));\n return options;\n }, [options, stringOptions]);\n\n function getFiltered() {\n return availableOptions.filter(\n ({ label, value }) =>\n (label + \"\").toLowerCase().includes(keyword.toLowerCase()) ||\n (value + \"\").toLowerCase().includes(keyword.toLowerCase()),\n );\n }\n\n function selectItem({ label, value }: { label: string; value: string }) {\n state.select((prev) => {\n const isItemExist = prev.some((item: Option) => item.value == value);\n if (isItemExist) {\n return prev.filter((item: Option) => item.value != value);\n }\n return [...prev, { label, value }];\n });\n }\n\n function isItemExist(value: string) {\n return state.value.find((item: any) => item.value == value);\n }\n\n const selectUnSelectAll = useCallback(() => {\n const isAllSelected = state.value.length == availableOptions.length;\n state.select(isAllSelected ? [] : availableOptions);\n }, [state.value, availableOptions]);\n\n return (\n <div className={`w-full ${attr.outerclass}`}>\n {label && (\n <label htmlFor={labelHtml} className=\"text-input__label fi__label\">\n {label}\n </label>\n )}\n <div className=\"fi\">\n <span className=\"fi__glow\" aria-hidden=\"true\"></span>\n <input\n type=\"search\"\n value={keyword}\n autoComplete=\"off\"\n className={`${input} ${state.value.length > 0 ? \"fi__input--filled\" : \"\"}`}\n onChange={(e) => setKeyword(e.target.value)}\n placeholder={`${state.value.length} Dipilih`}\n />\n <div className=\"select-item__wrapper select-multiple__wrapper fi__menu\">\n {getFiltered().length == 0 && keyword != \"\" && (\n <button disabled className=\"select-item fi__empty\">\n Tidak ada Item\n </button>\n )}\n {getFiltered().map(({ label, value }) => (\n <button\n key={value}\n type=\"button\"\n onClick={() => selectItem({ label, value })}\n className=\"select-item fi__item\"\n >\n {label}\n {isItemExist(value) && (\n <FontAwesomeIcon icon={faCheck} className=\"fi__check\" />\n )}\n </button>\n ))}\n </div>\n <button type=\"button\" className=\"fi__icon\" onClick={selectUnSelectAll}>\n <FontAwesomeIcon icon={faListCheck} />\n </button>\n </div>\n </div>\n );\n}\nconst input = \"text-input peer w-full\";\n","import React from \"react\";\nimport { faMoon, faSun } from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\n\nexport default function ThemeToggle(\n attr: Readonly<React.InputHTMLAttributes<HTMLInputElement>>,\n) {\n return (\n <div className=\"flex items-center h-[3rem]\">\n <label className=\"fs fs--theme\">\n <input type=\"checkbox\" className=\"fs__input\" {...attr} />\n <span className=\"fs__track\" aria-hidden=\"true\">\n <span className=\"fs__knob\">\n <FontAwesomeIcon icon={faMoon} className=\"fs__moon\" />\n <FontAwesomeIcon icon={faSun} className=\"fs__sun\" />\n </span>\n </span>\n </label>\n </div>\n );\n}\n","import React, { useState } from \"react\";\nimport MultiSelect from \"./MultiSelect\";\nimport SingleSelect from \"./SingleSelect\";\n\nconst list = [\n { label: \"Option 1\", value: \"option1\" },\n { label: \"Option 2\", value: \"option2\" },\n { label: \"Option 3\", value: \"option3\" },\n];\nconst stringList = [\"option1\", \"option2\", \"option3\"];\n\nexport default function Dashboard() {\n const [selectedItem, setSelectedItem] = useState<\n { label: string; value: string }[]\n >([]);\n const [sel, setSel] = useState({ label: \"\", value: \"\" });\n\n function updateState(item: string) {\n const filtered = list.find(({ value }) => value == item);\n filtered && setSel(filtered);\n }\n\n return (\n <div className=\"flex items-center gap-[1rem]\">\n <MultiSelect\n label=\"Multi Select\"\n stringOptions={stringList}\n state={{ value: selectedItem, select: setSelectedItem }}\n />\n <SingleSelect\n label=\"Single Select\"\n name=\"newinput\"\n stringOptions={stringList}\n placeholder=\"-- Pilih Status --\"\n value={sel.value}\n />\n </div>\n );\n}\n","import React from \"react\";\nexport default function Badge({\n text,\n type,\n className,\n}: Readonly<{\n text: string;\n type: \"success\" | \"danger\" | \"warning\" | \"info\";\n className?: string;\n}>) {\n return (\n <div className=\"badge__wrapper\">\n {/* ft--{type} supplies the status color (--t), shared with Toast */}\n <span className={`fb ft--${type} ${className ?? \"\"}`}>{text}</span>\n </div>\n );\n}\n","import React from \"react\";\nexport default function Skeleton({ className }: { className?: string }) {\n return (\n <div className={`${className} skeleton`}>\n <span className=\"skeleton__item skeleton-slide\"></span>\n </div>\n );\n}\n","import React from \"react\";\n\nexport default function Navigation() {\n return <nav></nav>;\n}\n\nconst URLNavigation = (props: {\n list: { label: string; href: string }[];\n activeUrl: string;\n outerclass?: string;\n CustomComponent?: React.ElementType;\n}) => {\n const Component = props.CustomComponent || \"a\";\n\n return (\n <nav className={`fnav ${props.outerclass ?? \"\"}`}>\n <span className=\"fnav__glow fnav__glow--tr\" aria-hidden=\"true\"></span>\n <span className=\"fnav__glow fnav__glow--bl\" aria-hidden=\"true\"></span>\n {props.list.map(({ label, href }) => {\n const isActive = href === props.activeUrl;\n return (\n <Component\n key={href}\n href={href}\n aria-current={isActive ? \"page\" : undefined}\n className={`fnav__item ${isActive ? \"fnav__item--active\" : \"\"}`}\n >\n {label}\n </Component>\n );\n })}\n </nav>\n );\n};\n\nNavigation.URL = URLNavigation;\n","import React from \"react\";\nimport Card from \"./Card\";\nimport Button from \"./Button\";\nimport { statusIcons } from \"./Toast\";\n\ntype ConfirmationType = \"info\" | \"warning\" | \"danger\" | \"success\";\n\nconst buttonColor = {\n info: \"info\",\n warning: \"warn\",\n danger: \"danger\",\n success: \"success\",\n} as const;\n\nexport default function Confirmation({\n type = \"warning\",\n text,\n title,\n secondaryAction,\n secondaryLabel = \"Tidak\",\n mainAction,\n mainLabel = \"Ya\",\n}: {\n mainAction: () => void;\n secondaryAction?: () => void;\n mainLabel?: string;\n secondaryLabel?: string;\n title: string;\n text: string;\n type?: ConfirmationType;\n}) {\n return (\n <div className=\"confirmation__outer\">\n <Card\n title={title}\n cardClass=\"fc\"\n footer={\n <div className=\"fc__actions\">\n {secondaryAction && (\n <Button\n type=\"button\"\n btnType=\"outline\"\n color={buttonColor[type]}\n label={secondaryLabel}\n onClick={secondaryAction}\n />\n )}\n <Button\n type=\"button\"\n btnType=\"primary\"\n color={buttonColor[type]}\n label={mainLabel}\n onClick={mainAction}\n />\n </div>\n }\n >\n <div className=\"fc__content\">\n <img src={statusIcons[type]} alt=\"\" className=\"fc__icon\" />\n <p>{text}</p>\n </div>\n </Card>\n </div>\n );\n}\n","import React from \"react\";\n\ntype ProgressBar = {\n value: number;\n max?: number;\n label?: string;\n showValue?: boolean;\n color?: \"primary\" | \"info\" | \"success\" | \"warning\" | \"danger\";\n className?: string;\n};\n\nexport default function ProgressBar({\n value,\n max = 100,\n label,\n showValue = true,\n color = \"primary\",\n className = \"\",\n}: Readonly<ProgressBar>) {\n const percent = Math.min(100, Math.max(0, Math.round((value / max) * 100)));\n // non-primary colors reuse the status palette (ft--{type} sets --t), shared with Toast/Badge\n const colorClass = color === \"primary\" ? \"\" : `ft--${color}`;\n\n return (\n <div className={`fp ${colorClass} ${className}`}>\n {(label || showValue) && (\n <div className=\"fp__head\">\n <span className=\"fp__label\">{label}</span>\n {showValue && <span className=\"fp__value\">{percent}%</span>}\n </div>\n )}\n <div\n role=\"progressbar\"\n aria-label={label}\n aria-valuemin={0}\n aria-valuemax={100}\n className=\"fp__track\"\n aria-valuenow={percent}\n >\n <div className=\"fp__fill\" style={{ width: `${percent}%` }}></div>\n </div>\n </div>\n );\n}\n"],"mappings":"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","names":["React","list","import_react","import_react_fontawesome","_a","React","import_react","import_free_solid_svg_icons","import_react_fontawesome","React","import_react","import_react_fontawesome","import_free_solid_svg_icons","React","list","import_react","React","import_react","React","import_free_solid_svg_icons","import_react_fontawesome","import_react","React","import_react","import_react_fontawesome","React","import_react","import_free_solid_svg_icons","import_react_fontawesome","React","import_react","import_react_fontawesome","import_free_solid_svg_icons","label","isItemExist","React","input","import_react","import_free_solid_svg_icons","import_react_fontawesome","React","import_react","React","import_react","React","import_react","React","import_react","React","import_react","React","import_react","React"]}
|