@deepnoid/ui 0.1.178 → 0.1.179

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.
Files changed (36) hide show
  1. package/.turbo/turbo-build.log +155 -155
  2. package/dist/{chunk-OYTZBYUK.mjs → chunk-6URI74K3.mjs} +1 -1
  3. package/dist/{chunk-2ESBWN3O.mjs → chunk-MU6QDNYC.mjs} +1 -1
  4. package/dist/{chunk-BACPWE37.mjs → chunk-Q2AFTLDT.mjs} +1 -1
  5. package/dist/{chunk-Q5GWHMDY.mjs → chunk-SRCCJ4CV.mjs} +42 -4
  6. package/dist/components/breadcrumb/breadcrumb.mjs +1 -1
  7. package/dist/components/breadcrumb/index.mjs +1 -1
  8. package/dist/components/button/button.d.mts +1 -0
  9. package/dist/components/button/button.d.ts +1 -0
  10. package/dist/components/button/button.js +42 -4
  11. package/dist/components/button/button.mjs +1 -1
  12. package/dist/components/button/index.js +42 -4
  13. package/dist/components/button/index.mjs +1 -1
  14. package/dist/components/fileUpload/fileUpload.js +42 -4
  15. package/dist/components/fileUpload/fileUpload.mjs +2 -2
  16. package/dist/components/fileUpload/index.js +42 -4
  17. package/dist/components/fileUpload/index.mjs +2 -2
  18. package/dist/components/modal/index.js +42 -4
  19. package/dist/components/modal/index.mjs +2 -2
  20. package/dist/components/modal/modal.js +42 -4
  21. package/dist/components/modal/modal.mjs +2 -2
  22. package/dist/components/picker/datePicker.js +42 -4
  23. package/dist/components/picker/datePicker.mjs +2 -2
  24. package/dist/components/picker/index.js +42 -4
  25. package/dist/components/picker/index.mjs +2 -2
  26. package/dist/components/table/index.mjs +2 -2
  27. package/dist/components/table/table-body.mjs +2 -2
  28. package/dist/components/table/table-head.mjs +2 -2
  29. package/dist/components/table/table.mjs +2 -2
  30. package/dist/components/toast/index.mjs +2 -2
  31. package/dist/components/toast/use-toast.mjs +2 -2
  32. package/dist/index.js +42 -4
  33. package/dist/index.mjs +26 -26
  34. package/package.json +1 -1
  35. package/dist/{chunk-ROXKJQSJ.mjs → chunk-4SDPS5R2.mjs} +3 -3
  36. package/dist/{chunk-5S4NCYZF.mjs → chunk-HOQAQVDA.mjs} +3 -3
@@ -14,7 +14,7 @@ import {
14
14
  } from "./chunk-4LUASWAN.mjs";
15
15
  import {
16
16
  button_default
17
- } from "./chunk-Q5GWHMDY.mjs";
17
+ } from "./chunk-SRCCJ4CV.mjs";
18
18
  import {
19
19
  icon_button_default
20
20
  } from "./chunk-YCU6NNLR.mjs";
@@ -24,17 +24,44 @@ import {
24
24
  cloneElement
25
25
  } from "react";
26
26
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
27
+ var extractTextFromChildren = (children) => {
28
+ if (typeof children === "string") {
29
+ return children;
30
+ }
31
+ if (typeof children === "number") {
32
+ return String(children);
33
+ }
34
+ if (isValidElement(children)) {
35
+ const childProps = children.props;
36
+ return extractTextFromChildren(childProps.children);
37
+ }
38
+ if (Array.isArray(children)) {
39
+ return children.map((child) => extractTextFromChildren(child)).join(" ");
40
+ }
41
+ return "";
42
+ };
27
43
  var Button = forwardRef((originalProps, ref) => {
28
44
  const [props, variantProps] = mapPropsVariants(originalProps, buttonStyle.variantKeys);
29
45
  const { classNames, startContent, endContent, disableRipple, asChild, children, ...buttonProps } = props;
30
46
  const slots = useMemo(() => buttonStyle({ ...variantProps }), [variantProps]);
31
47
  const { onPress: onRipplePressHandler, onClear: onClearRipple, ripples } = useRipple();
48
+ const autoAriaLabel = useMemo(() => {
49
+ if (originalProps["aria-label"] || originalProps["aria-labelledby"]) {
50
+ return void 0;
51
+ }
52
+ if (originalProps.isLoading) {
53
+ const baseText = extractTextFromChildren(children);
54
+ return baseText ? `${baseText} (loading)` : "loading";
55
+ }
56
+ const textContent = extractTextFromChildren(children);
57
+ return textContent || void 0;
58
+ }, [originalProps["aria-label"], originalProps["aria-labelledby"], originalProps.isLoading, children]);
32
59
  const handlePress = useCallback(
33
60
  (e) => {
34
61
  if (disableRipple || originalProps.disabled) return;
35
62
  onRipplePressHandler(e);
36
63
  },
37
- [disableRipple, originalProps.disabled, ref, onRipplePressHandler]
64
+ [disableRipple, originalProps.disabled, onRipplePressHandler]
38
65
  );
39
66
  const mouseDownHandler = useCallback(
40
67
  (e) => {
@@ -43,7 +70,7 @@ var Button = forwardRef((originalProps, ref) => {
43
70
  if (disableRipple || originalProps.disabled) return;
44
71
  handlePress(e);
45
72
  },
46
- [buttonProps.onMouseDown, disableRipple, originalProps.disabled, ref, onRipplePressHandler]
73
+ [buttonProps.onMouseDown, disableRipple, originalProps.disabled, handlePress]
47
74
  );
48
75
  const getRippleProps = useCallback(
49
76
  () => ({ ripples, onClear: onClearRipple }),
@@ -56,9 +83,20 @@ var Button = forwardRef((originalProps, ref) => {
56
83
  ref,
57
84
  disabled: originalProps.disabled || originalProps.isLoading,
58
85
  "data-loading": originalProps.isLoading,
59
- className: slots.base({ class: classNames == null ? void 0 : classNames.base })
86
+ className: slots.base({ class: classNames == null ? void 0 : classNames.base }),
87
+ "aria-label": originalProps["aria-label"] || autoAriaLabel
60
88
  }),
61
- [buttonProps, ref, originalProps.disabled, originalProps.isLoading, slots, classNames == null ? void 0 : classNames.base]
89
+ [
90
+ buttonProps,
91
+ mouseDownHandler,
92
+ ref,
93
+ originalProps.disabled,
94
+ originalProps.isLoading,
95
+ originalProps["aria-label"],
96
+ autoAriaLabel,
97
+ slots,
98
+ classNames == null ? void 0 : classNames.base
99
+ ]
62
100
  );
63
101
  const getContentProps = useCallback(
64
102
  () => ({
@@ -5,7 +5,7 @@ import {
5
5
  import "../../chunk-MY5U63QO.mjs";
6
6
  import "../../chunk-4LUASWAN.mjs";
7
7
  import "../../chunk-5VTYO3RF.mjs";
8
- import "../../chunk-Q5GWHMDY.mjs";
8
+ import "../../chunk-SRCCJ4CV.mjs";
9
9
  import "../../chunk-YCU6NNLR.mjs";
10
10
  import "../../chunk-6WSACUIB.mjs";
11
11
  import "../../chunk-LXHUO6VM.mjs";
@@ -6,7 +6,7 @@ import {
6
6
  import "../../chunk-MY5U63QO.mjs";
7
7
  import "../../chunk-4LUASWAN.mjs";
8
8
  import "../../chunk-5VTYO3RF.mjs";
9
- import "../../chunk-Q5GWHMDY.mjs";
9
+ import "../../chunk-SRCCJ4CV.mjs";
10
10
  import "../../chunk-YCU6NNLR.mjs";
11
11
  import "../../chunk-6WSACUIB.mjs";
12
12
  import "../../chunk-LXHUO6VM.mjs";
@@ -11,6 +11,7 @@ interface Props extends ButtonHTMLAttributes<HTMLButtonElement> {
11
11
  disableRipple?: boolean;
12
12
  classNames?: SlotsToClasses<ButtonSlots>;
13
13
  asChild?: boolean;
14
+ "aria-label"?: string;
14
15
  }
15
16
  type ButtonProps = Props & ButtonVariantProps;
16
17
  declare const Button: react.ForwardRefExoticComponent<Props & ButtonVariantProps & react.RefAttributes<HTMLButtonElement>>;
@@ -11,6 +11,7 @@ interface Props extends ButtonHTMLAttributes<HTMLButtonElement> {
11
11
  disableRipple?: boolean;
12
12
  classNames?: SlotsToClasses<ButtonSlots>;
13
13
  asChild?: boolean;
14
+ "aria-label"?: string;
14
15
  }
15
16
  type ButtonProps = Props & ButtonVariantProps;
16
17
  declare const Button: react.ForwardRefExoticComponent<Props & ButtonVariantProps & react.RefAttributes<HTMLButtonElement>>;
@@ -5173,17 +5173,44 @@ function useRipple(props = {}) {
5173
5173
 
5174
5174
  // src/components/button/button.tsx
5175
5175
  var import_jsx_runtime4 = require("react/jsx-runtime");
5176
+ var extractTextFromChildren = (children) => {
5177
+ if (typeof children === "string") {
5178
+ return children;
5179
+ }
5180
+ if (typeof children === "number") {
5181
+ return String(children);
5182
+ }
5183
+ if ((0, import_react2.isValidElement)(children)) {
5184
+ const childProps = children.props;
5185
+ return extractTextFromChildren(childProps.children);
5186
+ }
5187
+ if (Array.isArray(children)) {
5188
+ return children.map((child) => extractTextFromChildren(child)).join(" ");
5189
+ }
5190
+ return "";
5191
+ };
5176
5192
  var Button = (0, import_react2.forwardRef)((originalProps, ref) => {
5177
5193
  const [props, variantProps] = mapPropsVariants(originalProps, buttonStyle.variantKeys);
5178
5194
  const { classNames, startContent, endContent, disableRipple, asChild, children, ...buttonProps } = props;
5179
5195
  const slots = (0, import_react2.useMemo)(() => buttonStyle({ ...variantProps }), [variantProps]);
5180
5196
  const { onPress: onRipplePressHandler, onClear: onClearRipple, ripples } = useRipple();
5197
+ const autoAriaLabel = (0, import_react2.useMemo)(() => {
5198
+ if (originalProps["aria-label"] || originalProps["aria-labelledby"]) {
5199
+ return void 0;
5200
+ }
5201
+ if (originalProps.isLoading) {
5202
+ const baseText = extractTextFromChildren(children);
5203
+ return baseText ? `${baseText} (loading)` : "loading";
5204
+ }
5205
+ const textContent = extractTextFromChildren(children);
5206
+ return textContent || void 0;
5207
+ }, [originalProps["aria-label"], originalProps["aria-labelledby"], originalProps.isLoading, children]);
5181
5208
  const handlePress = (0, import_react2.useCallback)(
5182
5209
  (e) => {
5183
5210
  if (disableRipple || originalProps.disabled) return;
5184
5211
  onRipplePressHandler(e);
5185
5212
  },
5186
- [disableRipple, originalProps.disabled, ref, onRipplePressHandler]
5213
+ [disableRipple, originalProps.disabled, onRipplePressHandler]
5187
5214
  );
5188
5215
  const mouseDownHandler = (0, import_react2.useCallback)(
5189
5216
  (e) => {
@@ -5192,7 +5219,7 @@ var Button = (0, import_react2.forwardRef)((originalProps, ref) => {
5192
5219
  if (disableRipple || originalProps.disabled) return;
5193
5220
  handlePress(e);
5194
5221
  },
5195
- [buttonProps.onMouseDown, disableRipple, originalProps.disabled, ref, onRipplePressHandler]
5222
+ [buttonProps.onMouseDown, disableRipple, originalProps.disabled, handlePress]
5196
5223
  );
5197
5224
  const getRippleProps = (0, import_react2.useCallback)(
5198
5225
  () => ({ ripples, onClear: onClearRipple }),
@@ -5205,9 +5232,20 @@ var Button = (0, import_react2.forwardRef)((originalProps, ref) => {
5205
5232
  ref,
5206
5233
  disabled: originalProps.disabled || originalProps.isLoading,
5207
5234
  "data-loading": originalProps.isLoading,
5208
- className: slots.base({ class: classNames == null ? void 0 : classNames.base })
5235
+ className: slots.base({ class: classNames == null ? void 0 : classNames.base }),
5236
+ "aria-label": originalProps["aria-label"] || autoAriaLabel
5209
5237
  }),
5210
- [buttonProps, ref, originalProps.disabled, originalProps.isLoading, slots, classNames == null ? void 0 : classNames.base]
5238
+ [
5239
+ buttonProps,
5240
+ mouseDownHandler,
5241
+ ref,
5242
+ originalProps.disabled,
5243
+ originalProps.isLoading,
5244
+ originalProps["aria-label"],
5245
+ autoAriaLabel,
5246
+ slots,
5247
+ classNames == null ? void 0 : classNames.base
5248
+ ]
5211
5249
  );
5212
5250
  const getContentProps = (0, import_react2.useCallback)(
5213
5251
  () => ({
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import {
3
3
  button_default
4
- } from "../../chunk-Q5GWHMDY.mjs";
4
+ } from "../../chunk-SRCCJ4CV.mjs";
5
5
  import "../../chunk-6WSACUIB.mjs";
6
6
  import "../../chunk-LXHUO6VM.mjs";
7
7
  import "../../chunk-SZL743JC.mjs";
@@ -5178,17 +5178,44 @@ function useRipple(props = {}) {
5178
5178
 
5179
5179
  // src/components/button/button.tsx
5180
5180
  var import_jsx_runtime4 = require("react/jsx-runtime");
5181
+ var extractTextFromChildren = (children) => {
5182
+ if (typeof children === "string") {
5183
+ return children;
5184
+ }
5185
+ if (typeof children === "number") {
5186
+ return String(children);
5187
+ }
5188
+ if ((0, import_react2.isValidElement)(children)) {
5189
+ const childProps = children.props;
5190
+ return extractTextFromChildren(childProps.children);
5191
+ }
5192
+ if (Array.isArray(children)) {
5193
+ return children.map((child) => extractTextFromChildren(child)).join(" ");
5194
+ }
5195
+ return "";
5196
+ };
5181
5197
  var Button = (0, import_react2.forwardRef)((originalProps, ref) => {
5182
5198
  const [props, variantProps] = mapPropsVariants(originalProps, buttonStyle.variantKeys);
5183
5199
  const { classNames, startContent, endContent, disableRipple, asChild, children, ...buttonProps } = props;
5184
5200
  const slots = (0, import_react2.useMemo)(() => buttonStyle({ ...variantProps }), [variantProps]);
5185
5201
  const { onPress: onRipplePressHandler, onClear: onClearRipple, ripples } = useRipple();
5202
+ const autoAriaLabel = (0, import_react2.useMemo)(() => {
5203
+ if (originalProps["aria-label"] || originalProps["aria-labelledby"]) {
5204
+ return void 0;
5205
+ }
5206
+ if (originalProps.isLoading) {
5207
+ const baseText = extractTextFromChildren(children);
5208
+ return baseText ? `${baseText} (loading)` : "loading";
5209
+ }
5210
+ const textContent = extractTextFromChildren(children);
5211
+ return textContent || void 0;
5212
+ }, [originalProps["aria-label"], originalProps["aria-labelledby"], originalProps.isLoading, children]);
5186
5213
  const handlePress = (0, import_react2.useCallback)(
5187
5214
  (e) => {
5188
5215
  if (disableRipple || originalProps.disabled) return;
5189
5216
  onRipplePressHandler(e);
5190
5217
  },
5191
- [disableRipple, originalProps.disabled, ref, onRipplePressHandler]
5218
+ [disableRipple, originalProps.disabled, onRipplePressHandler]
5192
5219
  );
5193
5220
  const mouseDownHandler = (0, import_react2.useCallback)(
5194
5221
  (e) => {
@@ -5197,7 +5224,7 @@ var Button = (0, import_react2.forwardRef)((originalProps, ref) => {
5197
5224
  if (disableRipple || originalProps.disabled) return;
5198
5225
  handlePress(e);
5199
5226
  },
5200
- [buttonProps.onMouseDown, disableRipple, originalProps.disabled, ref, onRipplePressHandler]
5227
+ [buttonProps.onMouseDown, disableRipple, originalProps.disabled, handlePress]
5201
5228
  );
5202
5229
  const getRippleProps = (0, import_react2.useCallback)(
5203
5230
  () => ({ ripples, onClear: onClearRipple }),
@@ -5210,9 +5237,20 @@ var Button = (0, import_react2.forwardRef)((originalProps, ref) => {
5210
5237
  ref,
5211
5238
  disabled: originalProps.disabled || originalProps.isLoading,
5212
5239
  "data-loading": originalProps.isLoading,
5213
- className: slots.base({ class: classNames == null ? void 0 : classNames.base })
5240
+ className: slots.base({ class: classNames == null ? void 0 : classNames.base }),
5241
+ "aria-label": originalProps["aria-label"] || autoAriaLabel
5214
5242
  }),
5215
- [buttonProps, ref, originalProps.disabled, originalProps.isLoading, slots, classNames == null ? void 0 : classNames.base]
5243
+ [
5244
+ buttonProps,
5245
+ mouseDownHandler,
5246
+ ref,
5247
+ originalProps.disabled,
5248
+ originalProps.isLoading,
5249
+ originalProps["aria-label"],
5250
+ autoAriaLabel,
5251
+ slots,
5252
+ classNames == null ? void 0 : classNames.base
5253
+ ]
5216
5254
  );
5217
5255
  const getContentProps = (0, import_react2.useCallback)(
5218
5256
  () => ({
@@ -8,7 +8,7 @@ import {
8
8
  } from "../../chunk-5VTYO3RF.mjs";
9
9
  import {
10
10
  button_default
11
- } from "../../chunk-Q5GWHMDY.mjs";
11
+ } from "../../chunk-SRCCJ4CV.mjs";
12
12
  import {
13
13
  icon_button_default
14
14
  } from "../../chunk-YCU6NNLR.mjs";
@@ -5606,17 +5606,44 @@ function useRipple(props = {}) {
5606
5606
 
5607
5607
  // src/components/button/button.tsx
5608
5608
  var import_jsx_runtime5 = require("react/jsx-runtime");
5609
+ var extractTextFromChildren = (children) => {
5610
+ if (typeof children === "string") {
5611
+ return children;
5612
+ }
5613
+ if (typeof children === "number") {
5614
+ return String(children);
5615
+ }
5616
+ if ((0, import_react3.isValidElement)(children)) {
5617
+ const childProps = children.props;
5618
+ return extractTextFromChildren(childProps.children);
5619
+ }
5620
+ if (Array.isArray(children)) {
5621
+ return children.map((child) => extractTextFromChildren(child)).join(" ");
5622
+ }
5623
+ return "";
5624
+ };
5609
5625
  var Button = (0, import_react3.forwardRef)((originalProps, ref) => {
5610
5626
  const [props, variantProps] = mapPropsVariants(originalProps, buttonStyle.variantKeys);
5611
5627
  const { classNames, startContent, endContent, disableRipple, asChild, children, ...buttonProps } = props;
5612
5628
  const slots = (0, import_react3.useMemo)(() => buttonStyle({ ...variantProps }), [variantProps]);
5613
5629
  const { onPress: onRipplePressHandler, onClear: onClearRipple, ripples } = useRipple();
5630
+ const autoAriaLabel = (0, import_react3.useMemo)(() => {
5631
+ if (originalProps["aria-label"] || originalProps["aria-labelledby"]) {
5632
+ return void 0;
5633
+ }
5634
+ if (originalProps.isLoading) {
5635
+ const baseText = extractTextFromChildren(children);
5636
+ return baseText ? `${baseText} (loading)` : "loading";
5637
+ }
5638
+ const textContent = extractTextFromChildren(children);
5639
+ return textContent || void 0;
5640
+ }, [originalProps["aria-label"], originalProps["aria-labelledby"], originalProps.isLoading, children]);
5614
5641
  const handlePress = (0, import_react3.useCallback)(
5615
5642
  (e) => {
5616
5643
  if (disableRipple || originalProps.disabled) return;
5617
5644
  onRipplePressHandler(e);
5618
5645
  },
5619
- [disableRipple, originalProps.disabled, ref, onRipplePressHandler]
5646
+ [disableRipple, originalProps.disabled, onRipplePressHandler]
5620
5647
  );
5621
5648
  const mouseDownHandler = (0, import_react3.useCallback)(
5622
5649
  (e) => {
@@ -5625,7 +5652,7 @@ var Button = (0, import_react3.forwardRef)((originalProps, ref) => {
5625
5652
  if (disableRipple || originalProps.disabled) return;
5626
5653
  handlePress(e);
5627
5654
  },
5628
- [buttonProps.onMouseDown, disableRipple, originalProps.disabled, ref, onRipplePressHandler]
5655
+ [buttonProps.onMouseDown, disableRipple, originalProps.disabled, handlePress]
5629
5656
  );
5630
5657
  const getRippleProps = (0, import_react3.useCallback)(
5631
5658
  () => ({ ripples, onClear: onClearRipple }),
@@ -5638,9 +5665,20 @@ var Button = (0, import_react3.forwardRef)((originalProps, ref) => {
5638
5665
  ref,
5639
5666
  disabled: originalProps.disabled || originalProps.isLoading,
5640
5667
  "data-loading": originalProps.isLoading,
5641
- className: slots.base({ class: classNames == null ? void 0 : classNames.base })
5668
+ className: slots.base({ class: classNames == null ? void 0 : classNames.base }),
5669
+ "aria-label": originalProps["aria-label"] || autoAriaLabel
5642
5670
  }),
5643
- [buttonProps, ref, originalProps.disabled, originalProps.isLoading, slots, classNames == null ? void 0 : classNames.base]
5671
+ [
5672
+ buttonProps,
5673
+ mouseDownHandler,
5674
+ ref,
5675
+ originalProps.disabled,
5676
+ originalProps.isLoading,
5677
+ originalProps["aria-label"],
5678
+ autoAriaLabel,
5679
+ slots,
5680
+ classNames == null ? void 0 : classNames.base
5681
+ ]
5644
5682
  );
5645
5683
  const getContentProps = (0, import_react3.useCallback)(
5646
5684
  () => ({
@@ -3,7 +3,7 @@ import {
3
3
  FileUpload,
4
4
  fileUploadStyle,
5
5
  fileUpload_default
6
- } from "../../chunk-OYTZBYUK.mjs";
6
+ } from "../../chunk-6URI74K3.mjs";
7
7
  import "../../chunk-7VOQKIIK.mjs";
8
8
  import "../../chunk-KH63CD55.mjs";
9
9
  import "../../chunk-2GCSFWHD.mjs";
@@ -11,7 +11,7 @@ import "../../chunk-RXDRG6MC.mjs";
11
11
  import "../../chunk-MY5U63QO.mjs";
12
12
  import "../../chunk-4LUASWAN.mjs";
13
13
  import "../../chunk-5VTYO3RF.mjs";
14
- import "../../chunk-Q5GWHMDY.mjs";
14
+ import "../../chunk-SRCCJ4CV.mjs";
15
15
  import "../../chunk-YCU6NNLR.mjs";
16
16
  import "../../chunk-6WSACUIB.mjs";
17
17
  import "../../chunk-LXHUO6VM.mjs";
@@ -5606,17 +5606,44 @@ function useRipple(props = {}) {
5606
5606
 
5607
5607
  // src/components/button/button.tsx
5608
5608
  var import_jsx_runtime5 = require("react/jsx-runtime");
5609
+ var extractTextFromChildren = (children) => {
5610
+ if (typeof children === "string") {
5611
+ return children;
5612
+ }
5613
+ if (typeof children === "number") {
5614
+ return String(children);
5615
+ }
5616
+ if ((0, import_react3.isValidElement)(children)) {
5617
+ const childProps = children.props;
5618
+ return extractTextFromChildren(childProps.children);
5619
+ }
5620
+ if (Array.isArray(children)) {
5621
+ return children.map((child) => extractTextFromChildren(child)).join(" ");
5622
+ }
5623
+ return "";
5624
+ };
5609
5625
  var Button = (0, import_react3.forwardRef)((originalProps, ref) => {
5610
5626
  const [props, variantProps] = mapPropsVariants(originalProps, buttonStyle.variantKeys);
5611
5627
  const { classNames, startContent, endContent, disableRipple, asChild, children, ...buttonProps } = props;
5612
5628
  const slots = (0, import_react3.useMemo)(() => buttonStyle({ ...variantProps }), [variantProps]);
5613
5629
  const { onPress: onRipplePressHandler, onClear: onClearRipple, ripples } = useRipple();
5630
+ const autoAriaLabel = (0, import_react3.useMemo)(() => {
5631
+ if (originalProps["aria-label"] || originalProps["aria-labelledby"]) {
5632
+ return void 0;
5633
+ }
5634
+ if (originalProps.isLoading) {
5635
+ const baseText = extractTextFromChildren(children);
5636
+ return baseText ? `${baseText} (loading)` : "loading";
5637
+ }
5638
+ const textContent = extractTextFromChildren(children);
5639
+ return textContent || void 0;
5640
+ }, [originalProps["aria-label"], originalProps["aria-labelledby"], originalProps.isLoading, children]);
5614
5641
  const handlePress = (0, import_react3.useCallback)(
5615
5642
  (e) => {
5616
5643
  if (disableRipple || originalProps.disabled) return;
5617
5644
  onRipplePressHandler(e);
5618
5645
  },
5619
- [disableRipple, originalProps.disabled, ref, onRipplePressHandler]
5646
+ [disableRipple, originalProps.disabled, onRipplePressHandler]
5620
5647
  );
5621
5648
  const mouseDownHandler = (0, import_react3.useCallback)(
5622
5649
  (e) => {
@@ -5625,7 +5652,7 @@ var Button = (0, import_react3.forwardRef)((originalProps, ref) => {
5625
5652
  if (disableRipple || originalProps.disabled) return;
5626
5653
  handlePress(e);
5627
5654
  },
5628
- [buttonProps.onMouseDown, disableRipple, originalProps.disabled, ref, onRipplePressHandler]
5655
+ [buttonProps.onMouseDown, disableRipple, originalProps.disabled, handlePress]
5629
5656
  );
5630
5657
  const getRippleProps = (0, import_react3.useCallback)(
5631
5658
  () => ({ ripples, onClear: onClearRipple }),
@@ -5638,9 +5665,20 @@ var Button = (0, import_react3.forwardRef)((originalProps, ref) => {
5638
5665
  ref,
5639
5666
  disabled: originalProps.disabled || originalProps.isLoading,
5640
5667
  "data-loading": originalProps.isLoading,
5641
- className: slots.base({ class: classNames == null ? void 0 : classNames.base })
5668
+ className: slots.base({ class: classNames == null ? void 0 : classNames.base }),
5669
+ "aria-label": originalProps["aria-label"] || autoAriaLabel
5642
5670
  }),
5643
- [buttonProps, ref, originalProps.disabled, originalProps.isLoading, slots, classNames == null ? void 0 : classNames.base]
5671
+ [
5672
+ buttonProps,
5673
+ mouseDownHandler,
5674
+ ref,
5675
+ originalProps.disabled,
5676
+ originalProps.isLoading,
5677
+ originalProps["aria-label"],
5678
+ autoAriaLabel,
5679
+ slots,
5680
+ classNames == null ? void 0 : classNames.base
5681
+ ]
5644
5682
  );
5645
5683
  const getContentProps = (0, import_react3.useCallback)(
5646
5684
  () => ({
@@ -2,7 +2,7 @@
2
2
  import "../../chunk-RLXOHILK.mjs";
3
3
  import {
4
4
  fileUpload_default
5
- } from "../../chunk-OYTZBYUK.mjs";
5
+ } from "../../chunk-6URI74K3.mjs";
6
6
  import "../../chunk-7VOQKIIK.mjs";
7
7
  import "../../chunk-KH63CD55.mjs";
8
8
  import "../../chunk-2GCSFWHD.mjs";
@@ -10,7 +10,7 @@ import "../../chunk-RXDRG6MC.mjs";
10
10
  import "../../chunk-MY5U63QO.mjs";
11
11
  import "../../chunk-4LUASWAN.mjs";
12
12
  import "../../chunk-5VTYO3RF.mjs";
13
- import "../../chunk-Q5GWHMDY.mjs";
13
+ import "../../chunk-SRCCJ4CV.mjs";
14
14
  import "../../chunk-YCU6NNLR.mjs";
15
15
  import "../../chunk-6WSACUIB.mjs";
16
16
  import "../../chunk-LXHUO6VM.mjs";
@@ -5179,17 +5179,44 @@ function useRipple(props = {}) {
5179
5179
 
5180
5180
  // src/components/button/button.tsx
5181
5181
  var import_jsx_runtime4 = require("react/jsx-runtime");
5182
+ var extractTextFromChildren = (children) => {
5183
+ if (typeof children === "string") {
5184
+ return children;
5185
+ }
5186
+ if (typeof children === "number") {
5187
+ return String(children);
5188
+ }
5189
+ if ((0, import_react2.isValidElement)(children)) {
5190
+ const childProps = children.props;
5191
+ return extractTextFromChildren(childProps.children);
5192
+ }
5193
+ if (Array.isArray(children)) {
5194
+ return children.map((child) => extractTextFromChildren(child)).join(" ");
5195
+ }
5196
+ return "";
5197
+ };
5182
5198
  var Button = (0, import_react2.forwardRef)((originalProps, ref) => {
5183
5199
  const [props, variantProps] = mapPropsVariants(originalProps, buttonStyle.variantKeys);
5184
5200
  const { classNames, startContent, endContent, disableRipple, asChild, children, ...buttonProps } = props;
5185
5201
  const slots = (0, import_react2.useMemo)(() => buttonStyle({ ...variantProps }), [variantProps]);
5186
5202
  const { onPress: onRipplePressHandler, onClear: onClearRipple, ripples } = useRipple();
5203
+ const autoAriaLabel = (0, import_react2.useMemo)(() => {
5204
+ if (originalProps["aria-label"] || originalProps["aria-labelledby"]) {
5205
+ return void 0;
5206
+ }
5207
+ if (originalProps.isLoading) {
5208
+ const baseText = extractTextFromChildren(children);
5209
+ return baseText ? `${baseText} (loading)` : "loading";
5210
+ }
5211
+ const textContent = extractTextFromChildren(children);
5212
+ return textContent || void 0;
5213
+ }, [originalProps["aria-label"], originalProps["aria-labelledby"], originalProps.isLoading, children]);
5187
5214
  const handlePress = (0, import_react2.useCallback)(
5188
5215
  (e) => {
5189
5216
  if (disableRipple || originalProps.disabled) return;
5190
5217
  onRipplePressHandler(e);
5191
5218
  },
5192
- [disableRipple, originalProps.disabled, ref, onRipplePressHandler]
5219
+ [disableRipple, originalProps.disabled, onRipplePressHandler]
5193
5220
  );
5194
5221
  const mouseDownHandler = (0, import_react2.useCallback)(
5195
5222
  (e) => {
@@ -5198,7 +5225,7 @@ var Button = (0, import_react2.forwardRef)((originalProps, ref) => {
5198
5225
  if (disableRipple || originalProps.disabled) return;
5199
5226
  handlePress(e);
5200
5227
  },
5201
- [buttonProps.onMouseDown, disableRipple, originalProps.disabled, ref, onRipplePressHandler]
5228
+ [buttonProps.onMouseDown, disableRipple, originalProps.disabled, handlePress]
5202
5229
  );
5203
5230
  const getRippleProps = (0, import_react2.useCallback)(
5204
5231
  () => ({ ripples, onClear: onClearRipple }),
@@ -5211,9 +5238,20 @@ var Button = (0, import_react2.forwardRef)((originalProps, ref) => {
5211
5238
  ref,
5212
5239
  disabled: originalProps.disabled || originalProps.isLoading,
5213
5240
  "data-loading": originalProps.isLoading,
5214
- className: slots.base({ class: classNames == null ? void 0 : classNames.base })
5241
+ className: slots.base({ class: classNames == null ? void 0 : classNames.base }),
5242
+ "aria-label": originalProps["aria-label"] || autoAriaLabel
5215
5243
  }),
5216
- [buttonProps, ref, originalProps.disabled, originalProps.isLoading, slots, classNames == null ? void 0 : classNames.base]
5244
+ [
5245
+ buttonProps,
5246
+ mouseDownHandler,
5247
+ ref,
5248
+ originalProps.disabled,
5249
+ originalProps.isLoading,
5250
+ originalProps["aria-label"],
5251
+ autoAriaLabel,
5252
+ slots,
5253
+ classNames == null ? void 0 : classNames.base
5254
+ ]
5217
5255
  );
5218
5256
  const getContentProps = (0, import_react2.useCallback)(
5219
5257
  () => ({
@@ -2,13 +2,13 @@
2
2
  import "../../chunk-DJOG6Z35.mjs";
3
3
  import {
4
4
  modal_default
5
- } from "../../chunk-2ESBWN3O.mjs";
5
+ } from "../../chunk-MU6QDNYC.mjs";
6
6
  import "../../chunk-SE5TU755.mjs";
7
7
  import "../../chunk-IH3BJRTV.mjs";
8
8
  import "../../chunk-MY5U63QO.mjs";
9
9
  import "../../chunk-4LUASWAN.mjs";
10
10
  import "../../chunk-5VTYO3RF.mjs";
11
- import "../../chunk-Q5GWHMDY.mjs";
11
+ import "../../chunk-SRCCJ4CV.mjs";
12
12
  import "../../chunk-YCU6NNLR.mjs";
13
13
  import "../../chunk-6WSACUIB.mjs";
14
14
  import "../../chunk-LXHUO6VM.mjs";
@@ -5177,17 +5177,44 @@ function useRipple(props = {}) {
5177
5177
 
5178
5178
  // src/components/button/button.tsx
5179
5179
  var import_jsx_runtime4 = require("react/jsx-runtime");
5180
+ var extractTextFromChildren = (children) => {
5181
+ if (typeof children === "string") {
5182
+ return children;
5183
+ }
5184
+ if (typeof children === "number") {
5185
+ return String(children);
5186
+ }
5187
+ if ((0, import_react2.isValidElement)(children)) {
5188
+ const childProps = children.props;
5189
+ return extractTextFromChildren(childProps.children);
5190
+ }
5191
+ if (Array.isArray(children)) {
5192
+ return children.map((child) => extractTextFromChildren(child)).join(" ");
5193
+ }
5194
+ return "";
5195
+ };
5180
5196
  var Button = (0, import_react2.forwardRef)((originalProps, ref) => {
5181
5197
  const [props, variantProps] = mapPropsVariants(originalProps, buttonStyle.variantKeys);
5182
5198
  const { classNames, startContent, endContent, disableRipple, asChild, children, ...buttonProps } = props;
5183
5199
  const slots = (0, import_react2.useMemo)(() => buttonStyle({ ...variantProps }), [variantProps]);
5184
5200
  const { onPress: onRipplePressHandler, onClear: onClearRipple, ripples } = useRipple();
5201
+ const autoAriaLabel = (0, import_react2.useMemo)(() => {
5202
+ if (originalProps["aria-label"] || originalProps["aria-labelledby"]) {
5203
+ return void 0;
5204
+ }
5205
+ if (originalProps.isLoading) {
5206
+ const baseText = extractTextFromChildren(children);
5207
+ return baseText ? `${baseText} (loading)` : "loading";
5208
+ }
5209
+ const textContent = extractTextFromChildren(children);
5210
+ return textContent || void 0;
5211
+ }, [originalProps["aria-label"], originalProps["aria-labelledby"], originalProps.isLoading, children]);
5185
5212
  const handlePress = (0, import_react2.useCallback)(
5186
5213
  (e) => {
5187
5214
  if (disableRipple || originalProps.disabled) return;
5188
5215
  onRipplePressHandler(e);
5189
5216
  },
5190
- [disableRipple, originalProps.disabled, ref, onRipplePressHandler]
5217
+ [disableRipple, originalProps.disabled, onRipplePressHandler]
5191
5218
  );
5192
5219
  const mouseDownHandler = (0, import_react2.useCallback)(
5193
5220
  (e) => {
@@ -5196,7 +5223,7 @@ var Button = (0, import_react2.forwardRef)((originalProps, ref) => {
5196
5223
  if (disableRipple || originalProps.disabled) return;
5197
5224
  handlePress(e);
5198
5225
  },
5199
- [buttonProps.onMouseDown, disableRipple, originalProps.disabled, ref, onRipplePressHandler]
5226
+ [buttonProps.onMouseDown, disableRipple, originalProps.disabled, handlePress]
5200
5227
  );
5201
5228
  const getRippleProps = (0, import_react2.useCallback)(
5202
5229
  () => ({ ripples, onClear: onClearRipple }),
@@ -5209,9 +5236,20 @@ var Button = (0, import_react2.forwardRef)((originalProps, ref) => {
5209
5236
  ref,
5210
5237
  disabled: originalProps.disabled || originalProps.isLoading,
5211
5238
  "data-loading": originalProps.isLoading,
5212
- className: slots.base({ class: classNames == null ? void 0 : classNames.base })
5239
+ className: slots.base({ class: classNames == null ? void 0 : classNames.base }),
5240
+ "aria-label": originalProps["aria-label"] || autoAriaLabel
5213
5241
  }),
5214
- [buttonProps, ref, originalProps.disabled, originalProps.isLoading, slots, classNames == null ? void 0 : classNames.base]
5242
+ [
5243
+ buttonProps,
5244
+ mouseDownHandler,
5245
+ ref,
5246
+ originalProps.disabled,
5247
+ originalProps.isLoading,
5248
+ originalProps["aria-label"],
5249
+ autoAriaLabel,
5250
+ slots,
5251
+ classNames == null ? void 0 : classNames.base
5252
+ ]
5215
5253
  );
5216
5254
  const getContentProps = (0, import_react2.useCallback)(
5217
5255
  () => ({