@octavius2929-personal/design-system 1.2.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -844,10 +844,15 @@ function states(map) {
844
844
  var import_react12 = require("react");
845
845
 
846
846
  // src/components/button/use-styles.css.ts
847
- var full = "use-styles_full__1pbtill4";
847
+ var content = "use-styles_content__1pbtillg";
848
+ var contentHidden = "use-styles_contentHidden__1pbtillh";
849
+ var full = "use-styles_full__1pbtill5";
850
+ var loadingRoot = "use-styles_loadingRoot__1pbtill1";
848
851
  var root = "use-styles_root__1pbtill0";
849
- var size = { sm: "use-styles_size_sm__1pbtill1", md: "use-styles_size_md__1pbtill2", lg: "use-styles_size_lg__1pbtill3" };
850
- var tone = { filledInk: "use-styles_tone_filledInk__1pbtill5", filledAccent: "use-styles_tone_filledAccent__1pbtill6", outlineInk: "use-styles_tone_outlineInk__1pbtill7", outlineAccent: "use-styles_tone_outlineAccent__1pbtill8", ghostInk: "use-styles_tone_ghostInk__1pbtill9", ghostAccent: "use-styles_tone_ghostAccent__1pbtilla", filledDanger: "use-styles_tone_filledDanger__1pbtillb", outlineDanger: "use-styles_tone_outlineDanger__1pbtillc", ghostDanger: "use-styles_tone_ghostDanger__1pbtilld" };
852
+ var selected = "use-styles_selected__1pbtillf";
853
+ var size = { sm: "use-styles_size_sm__1pbtill2", md: "use-styles_size_md__1pbtill3", lg: "use-styles_size_lg__1pbtill4" };
854
+ var spinner = "use-styles_spinner__1pbtillj";
855
+ var tone = { filledInk: "use-styles_tone_filledInk__1pbtill6", filledAccent: "use-styles_tone_filledAccent__1pbtill7", outlineInk: "use-styles_tone_outlineInk__1pbtill8", outlineAccent: "use-styles_tone_outlineAccent__1pbtill9", ghostInk: "use-styles_tone_ghostInk__1pbtilla", ghostAccent: "use-styles_tone_ghostAccent__1pbtillb", filledDanger: "use-styles_tone_filledDanger__1pbtillc", outlineDanger: "use-styles_tone_outlineDanger__1pbtilld", ghostDanger: "use-styles_tone_ghostDanger__1pbtille" };
851
856
 
852
857
  // src/components/button/use-styles.ts
853
858
  function toneKey(variant2, tone4) {
@@ -859,7 +864,9 @@ function useStyles4({
859
864
  tone: tone4 = "ink",
860
865
  size: size3 = "md",
861
866
  full: full2,
862
- className
867
+ className,
868
+ selected: selected4,
869
+ loading
863
870
  }) {
864
871
  const { themeClass } = useTheme();
865
872
  const container = (0, import_react12.useMemo)(
@@ -867,13 +874,19 @@ function useStyles4({
867
874
  themeClass,
868
875
  root,
869
876
  size[size3],
870
- tone[toneKey(variant2, tone4)],
877
+ // `selected` pisa el tono en vez de combinarse con él (ver comentario en use-styles.css.ts).
878
+ selected4 ? selected : tone[toneKey(variant2, tone4)],
871
879
  full2 && full,
880
+ loading && loadingRoot,
872
881
  className
873
882
  ].filter(Boolean).join(" "),
874
- [themeClass, variant2, tone4, size3, full2, className]
883
+ [themeClass, variant2, tone4, size3, full2, loading, selected4, className]
875
884
  );
876
- return { container };
885
+ return {
886
+ container,
887
+ content: loading ? contentHidden : content,
888
+ spinner
889
+ };
877
890
  }
878
891
 
879
892
  // src/components/button/index.tsx
@@ -889,12 +902,27 @@ var Button = (0, import_react13.forwardRef)(function Button2({
889
902
  className,
890
903
  type = "button",
891
904
  testId,
905
+ loading,
906
+ selected: selected4,
892
907
  children,
908
+ onClick,
893
909
  ...rest
894
910
  }, ref) {
895
- const { container } = useStyles4({ variant: variant2, tone: tone4, size: size3, full: full2, className });
896
- const { testId: dataTestId } = useTestId("button", testId);
911
+ const { container, content: content4, spinner: spinner3 } = useStyles4({
912
+ variant: variant2,
913
+ tone: tone4,
914
+ size: size3,
915
+ full: full2,
916
+ className,
917
+ selected: selected4,
918
+ loading
919
+ });
920
+ const { testId: dataTestId, slot } = useTestId("button", testId);
897
921
  const iconSize = ICON_SIZE[size3];
922
+ const handleClick = (event) => {
923
+ if (loading) return;
924
+ onClick?.(event);
925
+ };
898
926
  return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(
899
927
  "button",
900
928
  {
@@ -902,12 +930,19 @@ var Button = (0, import_react13.forwardRef)(function Button2({
902
930
  type,
903
931
  className: container,
904
932
  "data-testid": dataTestId,
905
- "data-state": states({ disabled: rest.disabled }),
933
+ "data-state": states({ disabled: rest.disabled, loading, selected: selected4 }),
934
+ "aria-busy": loading || void 0,
935
+ "aria-disabled": loading || void 0,
936
+ "aria-pressed": selected4 === void 0 ? void 0 : selected4,
937
+ onClick: handleClick,
906
938
  ...rest,
907
939
  children: [
908
- StartIcon && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(StartIcon, { size: iconSize }),
909
- children,
910
- EndIcon && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(EndIcon, { size: iconSize })
940
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("span", { className: content4, children: [
941
+ StartIcon && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(StartIcon, { size: iconSize }),
942
+ children,
943
+ EndIcon && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(EndIcon, { size: iconSize })
944
+ ] }),
945
+ loading && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { className: spinner3, "aria-hidden": "true", "data-testid": slot("spinner") })
911
946
  ]
912
947
  }
913
948
  );
@@ -1041,7 +1076,7 @@ var import_react20 = require("react");
1041
1076
  // src/components/progress/use-styles.css.ts
1042
1077
  var bar = "use-styles_bar__kbop7v3";
1043
1078
  var indeterminate = "use-styles_indeterminate__kbop7v4";
1044
- var spinner = "use-styles_spinner__kbop7v5";
1079
+ var spinner2 = "use-styles_spinner__kbop7v5";
1045
1080
  var track = "use-styles_track__kbop7v2";
1046
1081
 
1047
1082
  // src/components/progress/use-styles.ts
@@ -1055,7 +1090,7 @@ function useStyles8({
1055
1090
  return (0, import_react20.useMemo)(() => {
1056
1091
  const root24 = (...classes) => [themeClass, ...classes, className].filter(Boolean).join(" ");
1057
1092
  if (variant2 === "circular") {
1058
- return { track: "", bar: "", spinner: root24(spinner) };
1093
+ return { track: "", bar: "", spinner: root24(spinner2) };
1059
1094
  }
1060
1095
  return {
1061
1096
  track: root24(track),
@@ -1068,7 +1103,7 @@ function useStyles8({
1068
1103
  // src/components/progress/index.tsx
1069
1104
  var import_jsx_runtime10 = require("react/jsx-runtime");
1070
1105
  var Progress = (0, import_react21.forwardRef)(function Progress2({ variant: variant2 = "linear", value, size: size3 = 20, className, testId, ...rest }, ref) {
1071
- const { track: track4, bar: bar2, spinner: spinner2 } = useStyles8({ variant: variant2, value, className });
1106
+ const { track: track4, bar: bar2, spinner: spinner3 } = useStyles8({ variant: variant2, value, className });
1072
1107
  const indeterminate2 = value === void 0;
1073
1108
  const { testId: dataTestId, slot } = useTestId("media", testId);
1074
1109
  if (variant2 === "circular") {
@@ -1076,7 +1111,7 @@ var Progress = (0, import_react21.forwardRef)(function Progress2({ variant: vari
1076
1111
  "span",
1077
1112
  {
1078
1113
  ref,
1079
- className: spinner2,
1114
+ className: spinner3,
1080
1115
  role: "progressbar",
1081
1116
  "aria-valuenow": indeterminate2 ? void 0 : value,
1082
1117
  "aria-valuemin": indeterminate2 ? void 0 : 0,
@@ -1147,12 +1182,12 @@ var import_react22 = require("react");
1147
1182
  var clickable = "use-styles_clickable__1axilf44";
1148
1183
  var deleteBtn = "use-styles_deleteBtn__1axilf45";
1149
1184
  var root5 = "use-styles_root__1axilf40";
1150
- var selected = "use-styles_selected__1axilf43";
1185
+ var selected2 = "use-styles_selected__1axilf43";
1151
1186
  var tone3 = { ink: "use-styles_tone_ink__1axilf41", accent: "use-styles_tone_accent__1axilf42" };
1152
1187
 
1153
1188
  // src/components/chip/use-styles.ts
1154
1189
  function useStyles9({
1155
- selected: selected3,
1190
+ selected: selected4,
1156
1191
  tone: tone4 = "ink",
1157
1192
  clickable: clickable2
1158
1193
  }) {
@@ -1161,10 +1196,10 @@ function useStyles9({
1161
1196
  () => [
1162
1197
  themeClass,
1163
1198
  root5,
1164
- selected3 ? selected : tone3[tone4],
1199
+ selected4 ? selected2 : tone3[tone4],
1165
1200
  clickable2 && clickable
1166
1201
  ].filter(Boolean).join(" "),
1167
- [themeClass, selected3, tone4, clickable2]
1202
+ [themeClass, selected4, tone4, clickable2]
1168
1203
  );
1169
1204
  return { root: root24, deleteBtn };
1170
1205
  }
@@ -1172,9 +1207,9 @@ function useStyles9({
1172
1207
  // src/components/chip/index.tsx
1173
1208
  var import_jsx_runtime12 = require("react/jsx-runtime");
1174
1209
  var ICON_SIZE2 = 13;
1175
- var Chip = (0, import_react23.forwardRef)(function Chip2({ selected: selected3, tone: tone4, onDelete, onClick, startIcon: StartIcon, children, testId, ...rest }, ref) {
1210
+ var Chip = (0, import_react23.forwardRef)(function Chip2({ selected: selected4, tone: tone4, onDelete, onClick, startIcon: StartIcon, children, testId, ...rest }, ref) {
1176
1211
  const clickable2 = Boolean(onClick);
1177
- const { root: root24, deleteBtn: deleteBtn2 } = useStyles9({ selected: selected3, tone: tone4, clickable: clickable2 });
1212
+ const { root: root24, deleteBtn: deleteBtn2 } = useStyles9({ selected: selected4, tone: tone4, clickable: clickable2 });
1178
1213
  const { testId: dataTestId, slot } = useTestId("media", testId);
1179
1214
  const handleDelete = (event) => {
1180
1215
  event.stopPropagation();
@@ -1187,7 +1222,7 @@ var Chip = (0, import_react23.forwardRef)(function Chip2({ selected: selected3,
1187
1222
  className: root24,
1188
1223
  onClick,
1189
1224
  "data-testid": dataTestId,
1190
- "data-state": states({ selected: selected3 }),
1225
+ "data-state": states({ selected: selected4 }),
1191
1226
  ...rest,
1192
1227
  children: [
1193
1228
  StartIcon ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(StartIcon, { size: ICON_SIZE2 }) : null,
@@ -1945,7 +1980,7 @@ function TriangleAlertIcon({ size: size3 = 20, strokeWidth = 1.75, title, ...res
1945
1980
  var import_react40 = require("react");
1946
1981
 
1947
1982
  // src/components/alert/use-styles.css.ts
1948
- var content = "use-styles_content__ivsh6u6";
1983
+ var content2 = "use-styles_content__ivsh6u6";
1949
1984
  var iconSlot = "use-styles_iconSlot__ivsh6u5";
1950
1985
  var root12 = "use-styles_root__ivsh6u0";
1951
1986
  var severity = { info: "use-styles_severity_info__ivsh6u1", ok: "use-styles_severity_ok__ivsh6u2", warn: "use-styles_severity_warn__ivsh6u3", danger: "use-styles_severity_danger__ivsh6u4" };
@@ -1963,7 +1998,7 @@ function useStyles17({
1963
1998
  return {
1964
1999
  root: root24,
1965
2000
  iconSlot,
1966
- content
2001
+ content: content2
1967
2002
  };
1968
2003
  }
1969
2004
 
@@ -2156,7 +2191,7 @@ function useStyles19({
2156
2191
  placeholder,
2157
2192
  chevron: chevron3,
2158
2193
  menu,
2159
- optionClass: (selected3, active2) => [option, selected3 && optionSelected, active2 && optionActive].filter(Boolean).join(" ")
2194
+ optionClass: (selected4, active2) => [option, selected4 && optionSelected, active2 && optionActive].filter(Boolean).join(" ")
2160
2195
  };
2161
2196
  }, [themeClass, open]);
2162
2197
  }
@@ -2205,7 +2240,7 @@ var Select = (0, import_react45.forwardRef)(function Select2({
2205
2240
  document.addEventListener("mousedown", onPointerDown);
2206
2241
  return () => document.removeEventListener("mousedown", onPointerDown);
2207
2242
  }, [open]);
2208
- const selected3 = options.find((option2) => option2.value === value);
2243
+ const selected4 = options.find((option2) => option2.value === value);
2209
2244
  const selectAt = (index) => {
2210
2245
  const option2 = options[index];
2211
2246
  if (option2) onChange?.(option2.value);
@@ -2278,7 +2313,7 @@ var Select = (0, import_react45.forwardRef)(function Select2({
2278
2313
  },
2279
2314
  onKeyDown: handleKeyDown,
2280
2315
  children: [
2281
- selected3 ? selected3.label : /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: placeholderClass, children: placeholder2 }),
2316
+ selected4 ? selected4.label : /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: placeholderClass, children: placeholder2 }),
2282
2317
  /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: chevron3, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(ChevronDownIcon, { size: 18 }) })
2283
2318
  ]
2284
2319
  }
@@ -3301,29 +3336,29 @@ var import_react69 = require("react");
3301
3336
  var import_react68 = require("react");
3302
3337
 
3303
3338
  // src/components/list-item/use-styles.css.ts
3304
- var content2 = "use-styles_content__kbreq13";
3339
+ var content3 = "use-styles_content__kbreq13";
3305
3340
  var leading = "use-styles_leading__kbreq12";
3306
3341
  var root23 = "use-styles_root__kbreq10";
3307
- var selected2 = "use-styles_selected__kbreq11";
3342
+ var selected3 = "use-styles_selected__kbreq11";
3308
3343
  var trailing = "use-styles_trailing__kbreq14";
3309
3344
 
3310
3345
  // src/components/list-item/use-styles.ts
3311
3346
  function useStyles31({
3312
- selected: selected3,
3347
+ selected: selected4,
3313
3348
  className
3314
3349
  }) {
3315
3350
  const { themeClass } = useTheme();
3316
3351
  const root24 = (0, import_react68.useMemo)(
3317
- () => [themeClass, root23, selected3 && selected2, className].filter(Boolean).join(" "),
3318
- [themeClass, selected3, className]
3352
+ () => [themeClass, root23, selected4 && selected3, className].filter(Boolean).join(" "),
3353
+ [themeClass, selected4, className]
3319
3354
  );
3320
- return { root: root24, leading, content: content2, trailing };
3355
+ return { root: root24, leading, content: content3, trailing };
3321
3356
  }
3322
3357
 
3323
3358
  // src/components/list-item/index.tsx
3324
3359
  var import_jsx_runtime46 = require("react/jsx-runtime");
3325
- var ListItem = (0, import_react69.forwardRef)(function ListItem2({ leading: leading2, trailing: trailing2, selected: selected3, className, testId, children, ...rest }, ref) {
3326
- const styles = useStyles31({ selected: selected3, className });
3360
+ var ListItem = (0, import_react69.forwardRef)(function ListItem2({ leading: leading2, trailing: trailing2, selected: selected4, className, testId, children, ...rest }, ref) {
3361
+ const styles = useStyles31({ selected: selected4, className });
3327
3362
  const { testId: dataTestId, slot } = useTestId("list", testId);
3328
3363
  return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
3329
3364
  "div",
@@ -3331,7 +3366,7 @@ var ListItem = (0, import_react69.forwardRef)(function ListItem2({ leading: lead
3331
3366
  ref,
3332
3367
  className: styles.root,
3333
3368
  "data-testid": dataTestId,
3334
- "data-state": states({ selected: selected3 }),
3369
+ "data-state": states({ selected: selected4 }),
3335
3370
  ...rest,
3336
3371
  children: [
3337
3372
  leading2 != null && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { className: styles.leading, "data-testid": slot("leading"), children: leading2 }),