@sia.soul/sia-react-ui 0.1.68 → 0.1.70

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.
@@ -5,11 +5,11 @@ import {
5
5
  Popover,
6
6
  Tooltip,
7
7
  useOverlayLifecycle
8
- } from "./chunk-B42RCR7O.js";
8
+ } from "./chunk-L3OY6MWS.js";
9
9
  import {
10
10
  Dropdown,
11
11
  Icon
12
- } from "./chunk-IUZ2RSI5.js";
12
+ } from "./chunk-MKGTIW56.js";
13
13
  import {
14
14
  Button
15
15
  } from "./chunk-IKAMZNCK.js";
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  FloatingScrollbarProvider,
3
3
  Select
4
- } from "./chunk-B42RCR7O.js";
4
+ } from "./chunk-L3OY6MWS.js";
5
5
  import {
6
6
  Icon
7
- } from "./chunk-IUZ2RSI5.js";
7
+ } from "./chunk-MKGTIW56.js";
8
8
  import {
9
9
  PopupPortal,
10
10
  useControlSize,
@@ -2,7 +2,7 @@ import {
2
2
  Dropdown,
3
3
  Icon,
4
4
  Input
5
- } from "./chunk-IUZ2RSI5.js";
5
+ } from "./chunk-MKGTIW56.js";
6
6
  import {
7
7
  Button
8
8
  } from "./chunk-IKAMZNCK.js";
@@ -2,7 +2,7 @@ import {
2
2
  Dropdown,
3
3
  Icon,
4
4
  Input
5
- } from "./chunk-IUZ2RSI5.js";
5
+ } from "./chunk-MKGTIW56.js";
6
6
  import {
7
7
  Button
8
8
  } from "./chunk-IKAMZNCK.js";
@@ -1314,17 +1314,19 @@ function DropdownButton({
1314
1314
  buttonProps,
1315
1315
  onClick,
1316
1316
  disabled,
1317
+ buttonDisabled,
1318
+ dropdownDisabled,
1317
1319
  trigger = ["click"],
1318
1320
  ...dropdownProps
1319
1321
  }) {
1320
1322
  return /* @__PURE__ */ jsxs4("span", { className: `sia-dropdown-button ${className}`.trim(), children: [
1321
- /* @__PURE__ */ jsx4(Button, { ...buttonProps, disabled, onClick, children }),
1322
- /* @__PURE__ */ jsx4(DropdownRoot, { ...dropdownProps, disabled, trigger, showTriggerIcon: false, children: /* @__PURE__ */ jsx4(
1323
+ /* @__PURE__ */ jsx4(Button, { ...buttonProps, disabled: disabled || buttonDisabled, onClick, children }),
1324
+ /* @__PURE__ */ jsx4(DropdownRoot, { ...dropdownProps, disabled: disabled || dropdownDisabled, trigger, showTriggerIcon: false, children: /* @__PURE__ */ jsx4(
1323
1325
  Button,
1324
1326
  {
1325
1327
  ...buttonProps,
1326
1328
  className: `sia-dropdown-button__arrow ${buttonProps?.className ?? ""}`.trim(),
1327
- disabled,
1329
+ disabled: disabled || dropdownDisabled,
1328
1330
  icon: /* @__PURE__ */ jsx4(Icon, { name: "chevron-down", size: 14 }),
1329
1331
  "aria-label": "\u5C55\u5F00\u4E0B\u62C9\u83DC\u5355"
1330
1332
  }
@@ -874,10 +874,14 @@ interface DropdownButtonProps extends Omit<DropdownProps, "children" | "classNam
874
874
  className?: string;
875
875
  /** 透传给触发按钮的 Button 属性,可配置样式、尺寸和事件。 */
876
876
  buttonProps?: Omit<ButtonProps, "children" | "onClick" | "disabled">;
877
+ /** 仅禁用主操作按钮;整组 disabled 为 true 时仍优先禁用两侧。 */
878
+ buttonDisabled?: boolean;
879
+ /** 仅禁用下拉入口;用于主操作与菜单具有不同业务权限的场景。 */
880
+ dropdownDisabled?: boolean;
877
881
  /** 点击时触发,参数为当前点击事件或项目上下文。 */
878
882
  onClick?: ButtonProps["onClick"];
879
883
  }
880
- declare function DropdownButton({ children, className, buttonProps, onClick, disabled, trigger, ...dropdownProps }: DropdownButtonProps): react.JSX.Element;
884
+ declare function DropdownButton({ children, className, buttonProps, onClick, disabled, buttonDisabled, dropdownDisabled, trigger, ...dropdownProps }: DropdownButtonProps): react.JSX.Element;
881
885
  /** 下拉菜单组件。 */
882
886
  declare const Dropdown: typeof DropdownRoot & {
883
887
  /** 组合主操作按钮与下拉菜单的按钮组件。 */
@@ -874,10 +874,14 @@ interface DropdownButtonProps extends Omit<DropdownProps, "children" | "classNam
874
874
  className?: string;
875
875
  /** 透传给触发按钮的 Button 属性,可配置样式、尺寸和事件。 */
876
876
  buttonProps?: Omit<ButtonProps, "children" | "onClick" | "disabled">;
877
+ /** 仅禁用主操作按钮;整组 disabled 为 true 时仍优先禁用两侧。 */
878
+ buttonDisabled?: boolean;
879
+ /** 仅禁用下拉入口;用于主操作与菜单具有不同业务权限的场景。 */
880
+ dropdownDisabled?: boolean;
877
881
  /** 点击时触发,参数为当前点击事件或项目上下文。 */
878
882
  onClick?: ButtonProps["onClick"];
879
883
  }
880
- declare function DropdownButton({ children, className, buttonProps, onClick, disabled, trigger, ...dropdownProps }: DropdownButtonProps): react.JSX.Element;
884
+ declare function DropdownButton({ children, className, buttonProps, onClick, disabled, buttonDisabled, dropdownDisabled, trigger, ...dropdownProps }: DropdownButtonProps): react.JSX.Element;
881
885
  /** 下拉菜单组件。 */
882
886
  declare const Dropdown: typeof DropdownRoot & {
883
887
  /** 组合主操作按钮与下拉菜单的按钮组件。 */
package/dist/core.cjs CHANGED
@@ -1663,17 +1663,19 @@ function DropdownButton({
1663
1663
  buttonProps,
1664
1664
  onClick,
1665
1665
  disabled,
1666
+ buttonDisabled,
1667
+ dropdownDisabled,
1666
1668
  trigger = ["click"],
1667
1669
  ...dropdownProps
1668
1670
  }) {
1669
1671
  return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("span", { className: `sia-dropdown-button ${className}`.trim(), children: [
1670
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Button, { ...buttonProps, disabled, onClick, children }),
1671
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(DropdownRoot, { ...dropdownProps, disabled, trigger, showTriggerIcon: false, children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
1672
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Button, { ...buttonProps, disabled: disabled || buttonDisabled, onClick, children }),
1673
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(DropdownRoot, { ...dropdownProps, disabled: disabled || dropdownDisabled, trigger, showTriggerIcon: false, children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
1672
1674
  Button,
1673
1675
  {
1674
1676
  ...buttonProps,
1675
1677
  className: `sia-dropdown-button__arrow ${buttonProps?.className ?? ""}`.trim(),
1676
- disabled,
1678
+ disabled: disabled || dropdownDisabled,
1677
1679
  icon: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Icon, { name: "chevron-down", size: 14 }),
1678
1680
  "aria-label": "\u5C55\u5F00\u4E0B\u62C9\u83DC\u5355"
1679
1681
  }
package/dist/core.css CHANGED
@@ -6868,33 +6868,16 @@ fieldset:disabled .sia-input-number__floating-placeholder {
6868
6868
  height: 32px;
6869
6869
  }
6870
6870
  .sia-date-panel__cell.is-in-range {
6871
- background: color-mix(in srgb, var(--sia-color-primary) 12%, transparent);
6872
- }
6873
- .sia-date-panel__cell.is-range-start {
6874
- background:
6875
- linear-gradient(
6876
- 90deg,
6877
- transparent 50%,
6878
- color-mix(in srgb, var(--sia-color-primary) 12%, transparent) 50%);
6871
+ background: var(--sia-color-primary);
6879
6872
  }
6873
+ .sia-date-panel__cell.is-range-start,
6880
6874
  .sia-date-panel__cell.is-range-end {
6881
- background:
6882
- linear-gradient(
6883
- 90deg,
6884
- color-mix(in srgb, var(--sia-color-primary) 12%, transparent) 50%,
6885
- transparent 50%);
6886
- }
6887
- .sia-date-panel__cell.is-range-start.is-range-end {
6888
6875
  background: transparent;
6889
6876
  }
6890
- .sia-date-panel__cell.is-range-start button {
6891
- border-radius: 7px 0 0 7px;
6892
- }
6877
+ .sia-date-panel__cell.is-in-range button,
6878
+ .sia-date-panel__cell.is-range-start button,
6893
6879
  .sia-date-panel__cell.is-range-end button {
6894
- border-radius: 0 7px 7px 0;
6895
- }
6896
- .sia-date-panel__cell.is-range-start.is-range-end button {
6897
- border-radius: 7px;
6880
+ border-radius: 0;
6898
6881
  }
6899
6882
  .sia-date-panel__cell button {
6900
6883
  position: relative;
@@ -6922,6 +6905,12 @@ fieldset:disabled .sia-input-number__floating-placeholder {
6922
6905
  color: var(--sia-color-primary-text);
6923
6906
  border-color: var(--sia-color-primary);
6924
6907
  }
6908
+ .sia-date-panel__cell.is-today:not(.is-selected):not(.is-in-range):not(.is-range-start):not(.is-range-end) button {
6909
+ width: 32px;
6910
+ height: 32px;
6911
+ border-radius: 50%;
6912
+ }
6913
+ .sia-date-panel__cell.is-in-range button,
6925
6914
  .sia-date-panel__cell.is-selected button,
6926
6915
  .sia-date-panel__cell.is-range-start button,
6927
6916
  .sia-date-panel__cell.is-range-end button {
package/dist/core.d.cts CHANGED
@@ -1,4 +1,4 @@
1
- export { d as Breadcrumb, e as BreadcrumbItem, f as BreadcrumbProps, h as Card, i as CardAccent, j as CardProps, n as Collapse, o as CollapseItem, p as CollapseKey, q as CollapseProps, x as FilledIconName, y as FloatButton, z as FloatButtonBackTopProps, A as FloatButtonGroupProps, E as FloatButtonProps, G as FloatButtonShape, K as Icon, L as IconName, M as IconProps, N as IconVariant, U as Input, V as InputProps, a0 as MessageConfig, a1 as MessageHandle, a2 as MessageKey, a3 as MessageType, ab as Progress, ac as ProgressProps, ad as ProgressStatus, ag as Segmented, ah as SegmentedOption, ai as SegmentedProps, aj as SegmentedValue, aq as TabItem, ar as Tabs, at as TabsOrientation, au as TabsPosition, av as TabsProps, aw as TabsType, ax as Tag, ay as TagProps, az as TagSize, T as TagStatus, aA as TagVariant, aE as Toolbar, aF as ToolbarItem, aG as ToolbarProps, aR as Typography, aS as TypographyLinkProps, aT as TypographyProps, aU as TypographyTitleProps, aV as TypographyType, aW as Upload, aX as UploadChangeInfo, aY as UploadDraggerProps, aZ as UploadFile, a_ as UploadFileStatus, b1 as UploadProps, b5 as UploadRequestOptions, b9 as message } from './core-CpTb8gcB.cjs';
1
+ export { d as Breadcrumb, e as BreadcrumbItem, f as BreadcrumbProps, h as Card, i as CardAccent, j as CardProps, n as Collapse, o as CollapseItem, p as CollapseKey, q as CollapseProps, x as FilledIconName, y as FloatButton, z as FloatButtonBackTopProps, A as FloatButtonGroupProps, E as FloatButtonProps, G as FloatButtonShape, K as Icon, L as IconName, M as IconProps, N as IconVariant, U as Input, V as InputProps, a0 as MessageConfig, a1 as MessageHandle, a2 as MessageKey, a3 as MessageType, ab as Progress, ac as ProgressProps, ad as ProgressStatus, ag as Segmented, ah as SegmentedOption, ai as SegmentedProps, aj as SegmentedValue, aq as TabItem, ar as Tabs, at as TabsOrientation, au as TabsPosition, av as TabsProps, aw as TabsType, ax as Tag, ay as TagProps, az as TagSize, T as TagStatus, aA as TagVariant, aE as Toolbar, aF as ToolbarItem, aG as ToolbarProps, aR as Typography, aS as TypographyLinkProps, aT as TypographyProps, aU as TypographyTitleProps, aV as TypographyType, aW as Upload, aX as UploadChangeInfo, aY as UploadDraggerProps, aZ as UploadFile, a_ as UploadFileStatus, b1 as UploadProps, b5 as UploadRequestOptions, b9 as message } from './core-WhigQGy_.cjs';
2
2
  export { f as Button, B as ButtonProps, e as ButtonSize, g as ButtonVariant, h as Modal, d as ModalActionResult, M as ModalOpenConfig, i as ModalProps, j as ModalType, a as OverlayApiHandle, k as Select, S as SelectOption, c as SelectProps, m as SelectValue } from './Select-DBw1N_mj.cjs';
3
3
  import 'react';
4
4
  import './shared-Bx4B28Wh.cjs';
package/dist/core.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { d as Breadcrumb, e as BreadcrumbItem, f as BreadcrumbProps, h as Card, i as CardAccent, j as CardProps, n as Collapse, o as CollapseItem, p as CollapseKey, q as CollapseProps, x as FilledIconName, y as FloatButton, z as FloatButtonBackTopProps, A as FloatButtonGroupProps, E as FloatButtonProps, G as FloatButtonShape, K as Icon, L as IconName, M as IconProps, N as IconVariant, U as Input, V as InputProps, a0 as MessageConfig, a1 as MessageHandle, a2 as MessageKey, a3 as MessageType, ab as Progress, ac as ProgressProps, ad as ProgressStatus, ag as Segmented, ah as SegmentedOption, ai as SegmentedProps, aj as SegmentedValue, aq as TabItem, ar as Tabs, at as TabsOrientation, au as TabsPosition, av as TabsProps, aw as TabsType, ax as Tag, ay as TagProps, az as TagSize, T as TagStatus, aA as TagVariant, aE as Toolbar, aF as ToolbarItem, aG as ToolbarProps, aR as Typography, aS as TypographyLinkProps, aT as TypographyProps, aU as TypographyTitleProps, aV as TypographyType, aW as Upload, aX as UploadChangeInfo, aY as UploadDraggerProps, aZ as UploadFile, a_ as UploadFileStatus, b1 as UploadProps, b5 as UploadRequestOptions, b9 as message } from './core-dKWMNd2C.js';
1
+ export { d as Breadcrumb, e as BreadcrumbItem, f as BreadcrumbProps, h as Card, i as CardAccent, j as CardProps, n as Collapse, o as CollapseItem, p as CollapseKey, q as CollapseProps, x as FilledIconName, y as FloatButton, z as FloatButtonBackTopProps, A as FloatButtonGroupProps, E as FloatButtonProps, G as FloatButtonShape, K as Icon, L as IconName, M as IconProps, N as IconVariant, U as Input, V as InputProps, a0 as MessageConfig, a1 as MessageHandle, a2 as MessageKey, a3 as MessageType, ab as Progress, ac as ProgressProps, ad as ProgressStatus, ag as Segmented, ah as SegmentedOption, ai as SegmentedProps, aj as SegmentedValue, aq as TabItem, ar as Tabs, at as TabsOrientation, au as TabsPosition, av as TabsProps, aw as TabsType, ax as Tag, ay as TagProps, az as TagSize, T as TagStatus, aA as TagVariant, aE as Toolbar, aF as ToolbarItem, aG as ToolbarProps, aR as Typography, aS as TypographyLinkProps, aT as TypographyProps, aU as TypographyTitleProps, aV as TypographyType, aW as Upload, aX as UploadChangeInfo, aY as UploadDraggerProps, aZ as UploadFile, a_ as UploadFileStatus, b1 as UploadProps, b5 as UploadRequestOptions, b9 as message } from './core-Bv6nXYgH.js';
2
2
  export { f as Button, B as ButtonProps, e as ButtonSize, g as ButtonVariant, h as Modal, d as ModalActionResult, M as ModalOpenConfig, i as ModalProps, j as ModalType, a as OverlayApiHandle, k as Select, S as SelectOption, c as SelectProps, m as SelectValue } from './Select-DxrU73F5.js';
3
3
  import 'react';
4
4
  import './shared-Bx4B28Wh.js';
package/dist/core.js CHANGED
@@ -10,17 +10,17 @@ import {
10
10
  Typography,
11
11
  Upload,
12
12
  message
13
- } from "./chunk-NKSPPR2A.js";
13
+ } from "./chunk-5IOLMU5Q.js";
14
14
  import "./chunk-SMCYEPBL.js";
15
15
  import {
16
16
  Modal,
17
17
  Select
18
- } from "./chunk-B42RCR7O.js";
18
+ } from "./chunk-L3OY6MWS.js";
19
19
  import {
20
20
  Icon,
21
21
  Input,
22
22
  Segmented
23
- } from "./chunk-IUZ2RSI5.js";
23
+ } from "./chunk-MKGTIW56.js";
24
24
  import {
25
25
  Button
26
26
  } from "./chunk-IKAMZNCK.js";
package/dist/index.cjs CHANGED
@@ -1832,17 +1832,19 @@ function DropdownButton({
1832
1832
  buttonProps,
1833
1833
  onClick,
1834
1834
  disabled,
1835
+ buttonDisabled,
1836
+ dropdownDisabled,
1835
1837
  trigger = ["click"],
1836
1838
  ...dropdownProps
1837
1839
  }) {
1838
1840
  return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("span", { className: `sia-dropdown-button ${className}`.trim(), children: [
1839
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Button, { ...buttonProps, disabled, onClick, children }),
1840
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(DropdownRoot, { ...dropdownProps, disabled, trigger, showTriggerIcon: false, children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
1841
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Button, { ...buttonProps, disabled: disabled || buttonDisabled, onClick, children }),
1842
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(DropdownRoot, { ...dropdownProps, disabled: disabled || dropdownDisabled, trigger, showTriggerIcon: false, children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
1841
1843
  Button,
1842
1844
  {
1843
1845
  ...buttonProps,
1844
1846
  className: `sia-dropdown-button__arrow ${buttonProps?.className ?? ""}`.trim(),
1845
- disabled,
1847
+ disabled: disabled || dropdownDisabled,
1846
1848
  icon: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Icon, { name: "chevron-down", size: 14 }),
1847
1849
  "aria-label": "\u5C55\u5F00\u4E0B\u62C9\u83DC\u5355"
1848
1850
  }
@@ -23537,7 +23539,7 @@ function QueryForm({
23537
23539
  collapsible = true,
23538
23540
  collapsed: controlledCollapsed,
23539
23541
  defaultCollapsed = false,
23540
- collapsedCount = 3,
23542
+ collapsedCount = Infinity,
23541
23543
  onCollapsedChange,
23542
23544
  quickQueries = [],
23543
23545
  quickQuerySize = "small",
@@ -23618,17 +23620,15 @@ function QueryForm({
23618
23620
  allFields.length > 0 && requiredWidth > row.clientWidth + 0.5
23619
23621
  );
23620
23622
  if (toggle) toggle.hidden = Boolean(toggleHidden);
23623
+ row.classList.toggle("is-collapsed", wasCollapsed);
23624
+ const widths = collapsed ? allFields.slice(0, limit).map((field) => field.getBoundingClientRect().width) : [];
23625
+ let remaining = row.clientWidth - actions.getBoundingClientRect().width;
23621
23626
  hiddenFields.forEach((field) => {
23622
23627
  field.hidden = true;
23623
23628
  });
23624
- row.classList.toggle("is-collapsed", wasCollapsed);
23625
23629
  if (!collapsed) return;
23626
- let remaining = row.clientWidth - actions.getBoundingClientRect().width;
23627
23630
  let count = 0;
23628
- for (const field of Array.from(
23629
- row.querySelectorAll(":scope > .sia-query-form__field")
23630
- ).slice(0, limit)) {
23631
- const width = parseFloat(getComputedStyle(field).width) || 220;
23631
+ for (const width of widths) {
23632
23632
  if (remaining + 0.5 < width + gap) break;
23633
23633
  remaining -= width + gap;
23634
23634
  count++;
package/dist/index.css CHANGED
@@ -6868,33 +6868,16 @@ fieldset:disabled .sia-input-number__floating-placeholder {
6868
6868
  height: 32px;
6869
6869
  }
6870
6870
  .sia-date-panel__cell.is-in-range {
6871
- background: color-mix(in srgb, var(--sia-color-primary) 12%, transparent);
6872
- }
6873
- .sia-date-panel__cell.is-range-start {
6874
- background:
6875
- linear-gradient(
6876
- 90deg,
6877
- transparent 50%,
6878
- color-mix(in srgb, var(--sia-color-primary) 12%, transparent) 50%);
6871
+ background: var(--sia-color-primary);
6879
6872
  }
6873
+ .sia-date-panel__cell.is-range-start,
6880
6874
  .sia-date-panel__cell.is-range-end {
6881
- background:
6882
- linear-gradient(
6883
- 90deg,
6884
- color-mix(in srgb, var(--sia-color-primary) 12%, transparent) 50%,
6885
- transparent 50%);
6886
- }
6887
- .sia-date-panel__cell.is-range-start.is-range-end {
6888
6875
  background: transparent;
6889
6876
  }
6890
- .sia-date-panel__cell.is-range-start button {
6891
- border-radius: 7px 0 0 7px;
6892
- }
6877
+ .sia-date-panel__cell.is-in-range button,
6878
+ .sia-date-panel__cell.is-range-start button,
6893
6879
  .sia-date-panel__cell.is-range-end button {
6894
- border-radius: 0 7px 7px 0;
6895
- }
6896
- .sia-date-panel__cell.is-range-start.is-range-end button {
6897
- border-radius: 7px;
6880
+ border-radius: 0;
6898
6881
  }
6899
6882
  .sia-date-panel__cell button {
6900
6883
  position: relative;
@@ -6922,6 +6905,12 @@ fieldset:disabled .sia-input-number__floating-placeholder {
6922
6905
  color: var(--sia-color-primary-text);
6923
6906
  border-color: var(--sia-color-primary);
6924
6907
  }
6908
+ .sia-date-panel__cell.is-today:not(.is-selected):not(.is-in-range):not(.is-range-start):not(.is-range-end) button {
6909
+ width: 32px;
6910
+ height: 32px;
6911
+ border-radius: 50%;
6912
+ }
6913
+ .sia-date-panel__cell.is-in-range button,
6925
6914
  .sia-date-panel__cell.is-selected button,
6926
6915
  .sia-date-panel__cell.is-range-start button,
6927
6916
  .sia-date-panel__cell.is-range-end button {
package/dist/index.d.cts CHANGED
@@ -1,5 +1,5 @@
1
- import { T as TagStatus, B as BadgeProps } from './core-CpTb8gcB.cjs';
2
- export { a as Badge, b as BadgeRibbonProps, c as BadgeStatus, d as Breadcrumb, e as BreadcrumbItem, f as BreadcrumbProps, C as Calendar, g as CalendarProps, h as Card, i as CardAccent, j as CardProps, k as Carousel, l as CarouselProps, m as CarouselRef, n as Collapse, o as CollapseItem, p as CollapseKey, q as CollapseProps, D as Dropdown, r as DropdownButtonProps, s as DropdownMenuProps, t as DropdownOpenSource, u as DropdownPlacement, v as DropdownProps, w as DropdownTrigger, F as FILLED_ICON_NAMES, x as FilledIconName, y as FloatButton, z as FloatButtonBackTopProps, A as FloatButtonGroupProps, E as FloatButtonProps, G as FloatButtonShape, H as FloatingPlacement, I as FloatingTrigger, J as ICON_NAMES, K as Icon, L as IconName, M as IconProps, N as IconVariant, O as Image, P as ImagePreview, Q as ImagePreviewConfig, R as ImagePreviewProps, S as ImageProps, U as Input, V as InputProps, W as Menu, X as MenuClickInfo, Y as MenuItem, Z as MenuMode, _ as MenuProps, $ as MenuTheme, a0 as MessageConfig, a1 as MessageHandle, a2 as MessageKey, a3 as MessageType, a4 as NotificationConfig, a5 as NotificationPlacement, a6 as NotificationType, a7 as Popconfirm, a8 as PopconfirmProps, a9 as Popover, aa as PopoverProps, ab as Progress, ac as ProgressProps, ad as ProgressStatus, ae as Rate, af as RateProps, ag as Segmented, ah as SegmentedOption, ai as SegmentedProps, aj as SegmentedValue, ak as Spin, al as SpinProps, am as StepItem, an as StepStatus, ao as Steps, ap as StepsProps, aq as TabItem, ar as Tabs, as as TabsContextMenuClickInfo, at as TabsOrientation, au as TabsPosition, av as TabsProps, aw as TabsType, ax as Tag, ay as TagProps, az as TagSize, aA as TagVariant, aB as Timeline, aC as TimelineItem, aD as TimelineProps, aE as Toolbar, aF as ToolbarItem, aG as ToolbarProps, aH as Tooltip, aI as TooltipProps, aJ as Tour, aK as TourProps, aL as TourStep, aM as Tree, aN as TreeDropPosition, aO as TreeKey, aP as TreeNode, aQ as TreeProps, aR as Typography, aS as TypographyLinkProps, aT as TypographyProps, aU as TypographyTitleProps, aV as TypographyType, aW as Upload, aX as UploadChangeInfo, aY as UploadDraggerProps, aZ as UploadFile, a_ as UploadFileStatus, a$ as UploadHttpRequest, b0 as UploadItemActions, b1 as UploadProps, b2 as UploadRef, b3 as UploadRejectInfo, b4 as UploadRequestHandle, b5 as UploadRequestOptions, b6 as Watermark, b7 as WatermarkFont, b8 as WatermarkProps, b9 as message, ba as notification } from './core-CpTb8gcB.cjs';
1
+ import { T as TagStatus, B as BadgeProps } from './core-WhigQGy_.cjs';
2
+ export { a as Badge, b as BadgeRibbonProps, c as BadgeStatus, d as Breadcrumb, e as BreadcrumbItem, f as BreadcrumbProps, C as Calendar, g as CalendarProps, h as Card, i as CardAccent, j as CardProps, k as Carousel, l as CarouselProps, m as CarouselRef, n as Collapse, o as CollapseItem, p as CollapseKey, q as CollapseProps, D as Dropdown, r as DropdownButtonProps, s as DropdownMenuProps, t as DropdownOpenSource, u as DropdownPlacement, v as DropdownProps, w as DropdownTrigger, F as FILLED_ICON_NAMES, x as FilledIconName, y as FloatButton, z as FloatButtonBackTopProps, A as FloatButtonGroupProps, E as FloatButtonProps, G as FloatButtonShape, H as FloatingPlacement, I as FloatingTrigger, J as ICON_NAMES, K as Icon, L as IconName, M as IconProps, N as IconVariant, O as Image, P as ImagePreview, Q as ImagePreviewConfig, R as ImagePreviewProps, S as ImageProps, U as Input, V as InputProps, W as Menu, X as MenuClickInfo, Y as MenuItem, Z as MenuMode, _ as MenuProps, $ as MenuTheme, a0 as MessageConfig, a1 as MessageHandle, a2 as MessageKey, a3 as MessageType, a4 as NotificationConfig, a5 as NotificationPlacement, a6 as NotificationType, a7 as Popconfirm, a8 as PopconfirmProps, a9 as Popover, aa as PopoverProps, ab as Progress, ac as ProgressProps, ad as ProgressStatus, ae as Rate, af as RateProps, ag as Segmented, ah as SegmentedOption, ai as SegmentedProps, aj as SegmentedValue, ak as Spin, al as SpinProps, am as StepItem, an as StepStatus, ao as Steps, ap as StepsProps, aq as TabItem, ar as Tabs, as as TabsContextMenuClickInfo, at as TabsOrientation, au as TabsPosition, av as TabsProps, aw as TabsType, ax as Tag, ay as TagProps, az as TagSize, aA as TagVariant, aB as Timeline, aC as TimelineItem, aD as TimelineProps, aE as Toolbar, aF as ToolbarItem, aG as ToolbarProps, aH as Tooltip, aI as TooltipProps, aJ as Tour, aK as TourProps, aL as TourStep, aM as Tree, aN as TreeDropPosition, aO as TreeKey, aP as TreeNode, aQ as TreeProps, aR as Typography, aS as TypographyLinkProps, aT as TypographyProps, aU as TypographyTitleProps, aV as TypographyType, aW as Upload, aX as UploadChangeInfo, aY as UploadDraggerProps, aZ as UploadFile, a_ as UploadFileStatus, a$ as UploadHttpRequest, b0 as UploadItemActions, b1 as UploadProps, b2 as UploadRef, b3 as UploadRejectInfo, b4 as UploadRequestHandle, b5 as UploadRequestOptions, b6 as Watermark, b7 as WatermarkFont, b8 as WatermarkProps, b9 as message, ba as notification } from './core-WhigQGy_.cjs';
3
3
  import * as react from 'react';
4
4
  import { HTMLAttributes, ReactNode, CSSProperties, ElementType, FormHTMLAttributes, InputHTMLAttributes, ChangeEvent, TextareaHTMLAttributes, MouseEvent, Key, PointerEvent, Ref, ReactElement, ButtonHTMLAttributes, RefObject } from 'react';
5
5
  import { C as ControlSize, I as InputPlaceholderMode, a as ControlStatus } from './shared-Bx4B28Wh.cjs';
@@ -3134,8 +3134,8 @@ interface QueryFormProps<T extends FormValues = FormValues> extends Omit<FormPro
3134
3134
  */
3135
3135
  defaultCollapsed?: boolean;
3136
3136
  /**
3137
- * 需要折叠时最多保留的字段数;实际数量会根据可用宽度减少,以保持单行。全部字段能单行显示时不限制字段数。
3138
- * @defaultValue 3
3137
+ * 收起时最多保留的字段数;默认按可用宽度自动填满一行,并预留操作区宽度。显式指定时作为数量上限,空间不足会进一步减少;全部字段能单行显示时不限制字段数。
3138
+ * @defaultValue Infinity
3139
3139
  */
3140
3140
  collapsedCount?: number;
3141
3141
  /** 收起状态变化回调 */
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { T as TagStatus, B as BadgeProps } from './core-dKWMNd2C.js';
2
- export { a as Badge, b as BadgeRibbonProps, c as BadgeStatus, d as Breadcrumb, e as BreadcrumbItem, f as BreadcrumbProps, C as Calendar, g as CalendarProps, h as Card, i as CardAccent, j as CardProps, k as Carousel, l as CarouselProps, m as CarouselRef, n as Collapse, o as CollapseItem, p as CollapseKey, q as CollapseProps, D as Dropdown, r as DropdownButtonProps, s as DropdownMenuProps, t as DropdownOpenSource, u as DropdownPlacement, v as DropdownProps, w as DropdownTrigger, F as FILLED_ICON_NAMES, x as FilledIconName, y as FloatButton, z as FloatButtonBackTopProps, A as FloatButtonGroupProps, E as FloatButtonProps, G as FloatButtonShape, H as FloatingPlacement, I as FloatingTrigger, J as ICON_NAMES, K as Icon, L as IconName, M as IconProps, N as IconVariant, O as Image, P as ImagePreview, Q as ImagePreviewConfig, R as ImagePreviewProps, S as ImageProps, U as Input, V as InputProps, W as Menu, X as MenuClickInfo, Y as MenuItem, Z as MenuMode, _ as MenuProps, $ as MenuTheme, a0 as MessageConfig, a1 as MessageHandle, a2 as MessageKey, a3 as MessageType, a4 as NotificationConfig, a5 as NotificationPlacement, a6 as NotificationType, a7 as Popconfirm, a8 as PopconfirmProps, a9 as Popover, aa as PopoverProps, ab as Progress, ac as ProgressProps, ad as ProgressStatus, ae as Rate, af as RateProps, ag as Segmented, ah as SegmentedOption, ai as SegmentedProps, aj as SegmentedValue, ak as Spin, al as SpinProps, am as StepItem, an as StepStatus, ao as Steps, ap as StepsProps, aq as TabItem, ar as Tabs, as as TabsContextMenuClickInfo, at as TabsOrientation, au as TabsPosition, av as TabsProps, aw as TabsType, ax as Tag, ay as TagProps, az as TagSize, aA as TagVariant, aB as Timeline, aC as TimelineItem, aD as TimelineProps, aE as Toolbar, aF as ToolbarItem, aG as ToolbarProps, aH as Tooltip, aI as TooltipProps, aJ as Tour, aK as TourProps, aL as TourStep, aM as Tree, aN as TreeDropPosition, aO as TreeKey, aP as TreeNode, aQ as TreeProps, aR as Typography, aS as TypographyLinkProps, aT as TypographyProps, aU as TypographyTitleProps, aV as TypographyType, aW as Upload, aX as UploadChangeInfo, aY as UploadDraggerProps, aZ as UploadFile, a_ as UploadFileStatus, a$ as UploadHttpRequest, b0 as UploadItemActions, b1 as UploadProps, b2 as UploadRef, b3 as UploadRejectInfo, b4 as UploadRequestHandle, b5 as UploadRequestOptions, b6 as Watermark, b7 as WatermarkFont, b8 as WatermarkProps, b9 as message, ba as notification } from './core-dKWMNd2C.js';
1
+ import { T as TagStatus, B as BadgeProps } from './core-Bv6nXYgH.js';
2
+ export { a as Badge, b as BadgeRibbonProps, c as BadgeStatus, d as Breadcrumb, e as BreadcrumbItem, f as BreadcrumbProps, C as Calendar, g as CalendarProps, h as Card, i as CardAccent, j as CardProps, k as Carousel, l as CarouselProps, m as CarouselRef, n as Collapse, o as CollapseItem, p as CollapseKey, q as CollapseProps, D as Dropdown, r as DropdownButtonProps, s as DropdownMenuProps, t as DropdownOpenSource, u as DropdownPlacement, v as DropdownProps, w as DropdownTrigger, F as FILLED_ICON_NAMES, x as FilledIconName, y as FloatButton, z as FloatButtonBackTopProps, A as FloatButtonGroupProps, E as FloatButtonProps, G as FloatButtonShape, H as FloatingPlacement, I as FloatingTrigger, J as ICON_NAMES, K as Icon, L as IconName, M as IconProps, N as IconVariant, O as Image, P as ImagePreview, Q as ImagePreviewConfig, R as ImagePreviewProps, S as ImageProps, U as Input, V as InputProps, W as Menu, X as MenuClickInfo, Y as MenuItem, Z as MenuMode, _ as MenuProps, $ as MenuTheme, a0 as MessageConfig, a1 as MessageHandle, a2 as MessageKey, a3 as MessageType, a4 as NotificationConfig, a5 as NotificationPlacement, a6 as NotificationType, a7 as Popconfirm, a8 as PopconfirmProps, a9 as Popover, aa as PopoverProps, ab as Progress, ac as ProgressProps, ad as ProgressStatus, ae as Rate, af as RateProps, ag as Segmented, ah as SegmentedOption, ai as SegmentedProps, aj as SegmentedValue, ak as Spin, al as SpinProps, am as StepItem, an as StepStatus, ao as Steps, ap as StepsProps, aq as TabItem, ar as Tabs, as as TabsContextMenuClickInfo, at as TabsOrientation, au as TabsPosition, av as TabsProps, aw as TabsType, ax as Tag, ay as TagProps, az as TagSize, aA as TagVariant, aB as Timeline, aC as TimelineItem, aD as TimelineProps, aE as Toolbar, aF as ToolbarItem, aG as ToolbarProps, aH as Tooltip, aI as TooltipProps, aJ as Tour, aK as TourProps, aL as TourStep, aM as Tree, aN as TreeDropPosition, aO as TreeKey, aP as TreeNode, aQ as TreeProps, aR as Typography, aS as TypographyLinkProps, aT as TypographyProps, aU as TypographyTitleProps, aV as TypographyType, aW as Upload, aX as UploadChangeInfo, aY as UploadDraggerProps, aZ as UploadFile, a_ as UploadFileStatus, a$ as UploadHttpRequest, b0 as UploadItemActions, b1 as UploadProps, b2 as UploadRef, b3 as UploadRejectInfo, b4 as UploadRequestHandle, b5 as UploadRequestOptions, b6 as Watermark, b7 as WatermarkFont, b8 as WatermarkProps, b9 as message, ba as notification } from './core-Bv6nXYgH.js';
3
3
  import * as react from 'react';
4
4
  import { HTMLAttributes, ReactNode, CSSProperties, ElementType, FormHTMLAttributes, InputHTMLAttributes, ChangeEvent, TextareaHTMLAttributes, MouseEvent, Key, PointerEvent, Ref, ReactElement, ButtonHTMLAttributes, RefObject } from 'react';
5
5
  import { C as ControlSize, I as InputPlaceholderMode, a as ControlStatus } from './shared-Bx4B28Wh.js';
@@ -3134,8 +3134,8 @@ interface QueryFormProps<T extends FormValues = FormValues> extends Omit<FormPro
3134
3134
  */
3135
3135
  defaultCollapsed?: boolean;
3136
3136
  /**
3137
- * 需要折叠时最多保留的字段数;实际数量会根据可用宽度减少,以保持单行。全部字段能单行显示时不限制字段数。
3138
- * @defaultValue 3
3137
+ * 收起时最多保留的字段数;默认按可用宽度自动填满一行,并预留操作区宽度。显式指定时作为数量上限,空间不足会进一步减少;全部字段能单行显示时不限制字段数。
3138
+ * @defaultValue Infinity
3139
3139
  */
3140
3140
  collapsedCount?: number;
3141
3141
  /** 收起状态变化回调 */
package/dist/index.js CHANGED
@@ -80,7 +80,7 @@ import {
80
80
  Watermark,
81
81
  message,
82
82
  notification
83
- } from "./chunk-NKSPPR2A.js";
83
+ } from "./chunk-5IOLMU5Q.js";
84
84
  import {
85
85
  TextArea
86
86
  } from "./chunk-SMCYEPBL.js";
@@ -90,12 +90,12 @@ import {
90
90
  import {
91
91
  RichTextContent,
92
92
  RichTextEditor
93
- } from "./chunk-DTZUBD2O.js";
93
+ } from "./chunk-JPSNW2GV.js";
94
94
  import {
95
95
  DatePicker,
96
96
  SelectDateRange,
97
97
  TimePanel
98
- } from "./chunk-VGIGEDUP.js";
98
+ } from "./chunk-FIYHM6JU.js";
99
99
  import {
100
100
  Checkbox,
101
101
  FloatingScrollbarProvider,
@@ -110,7 +110,7 @@ import {
110
110
  Tree,
111
111
  useOverlayLifecycle,
112
112
  useScrollbarProximity
113
- } from "./chunk-B42RCR7O.js";
113
+ } from "./chunk-L3OY6MWS.js";
114
114
  import {
115
115
  Dropdown,
116
116
  FILLED_ICON_NAMES,
@@ -120,7 +120,7 @@ import {
120
120
  Menu,
121
121
  Segmented,
122
122
  Steps
123
- } from "./chunk-IUZ2RSI5.js";
123
+ } from "./chunk-MKGTIW56.js";
124
124
  import {
125
125
  Button
126
126
  } from "./chunk-IKAMZNCK.js";
@@ -8583,7 +8583,7 @@ function QueryForm({
8583
8583
  collapsible = true,
8584
8584
  collapsed: controlledCollapsed,
8585
8585
  defaultCollapsed = false,
8586
- collapsedCount = 3,
8586
+ collapsedCount = Infinity,
8587
8587
  onCollapsedChange,
8588
8588
  quickQueries = [],
8589
8589
  quickQuerySize = "small",
@@ -8664,17 +8664,15 @@ function QueryForm({
8664
8664
  allFields.length > 0 && requiredWidth > row.clientWidth + 0.5
8665
8665
  );
8666
8666
  if (toggle) toggle.hidden = Boolean(toggleHidden);
8667
+ row.classList.toggle("is-collapsed", wasCollapsed);
8668
+ const widths = collapsed ? allFields.slice(0, limit).map((field) => field.getBoundingClientRect().width) : [];
8669
+ let remaining = row.clientWidth - actions.getBoundingClientRect().width;
8667
8670
  hiddenFields.forEach((field) => {
8668
8671
  field.hidden = true;
8669
8672
  });
8670
- row.classList.toggle("is-collapsed", wasCollapsed);
8671
8673
  if (!collapsed) return;
8672
- let remaining = row.clientWidth - actions.getBoundingClientRect().width;
8673
8674
  let count = 0;
8674
- for (const field of Array.from(
8675
- row.querySelectorAll(":scope > .sia-query-form__field")
8676
- ).slice(0, limit)) {
8677
- const width = parseFloat(getComputedStyle(field).width) || 220;
8675
+ for (const width of widths) {
8678
8676
  if (remaining + 0.5 < width + gap) break;
8679
8677
  remaining -= width + gap;
8680
8678
  count++;
@@ -1666,17 +1666,19 @@ function DropdownButton({
1666
1666
  buttonProps,
1667
1667
  onClick,
1668
1668
  disabled,
1669
+ buttonDisabled,
1670
+ dropdownDisabled,
1669
1671
  trigger = ["click"],
1670
1672
  ...dropdownProps
1671
1673
  }) {
1672
1674
  return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("span", { className: `sia-dropdown-button ${className}`.trim(), children: [
1673
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Button, { ...buttonProps, disabled, onClick, children }),
1674
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(DropdownRoot, { ...dropdownProps, disabled, trigger, showTriggerIcon: false, children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
1675
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Button, { ...buttonProps, disabled: disabled || buttonDisabled, onClick, children }),
1676
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(DropdownRoot, { ...dropdownProps, disabled: disabled || dropdownDisabled, trigger, showTriggerIcon: false, children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
1675
1677
  Button,
1676
1678
  {
1677
1679
  ...buttonProps,
1678
1680
  className: `sia-dropdown-button__arrow ${buttonProps?.className ?? ""}`.trim(),
1679
- disabled,
1681
+ disabled: disabled || dropdownDisabled,
1680
1682
  icon: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Icon, { name: "chevron-down", size: 14 }),
1681
1683
  "aria-label": "\u5C55\u5F00\u4E0B\u62C9\u83DC\u5355"
1682
1684
  }
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  RichTextContent,
3
3
  RichTextEditor
4
- } from "./chunk-DTZUBD2O.js";
5
- import "./chunk-IUZ2RSI5.js";
4
+ } from "./chunk-JPSNW2GV.js";
5
+ import "./chunk-MKGTIW56.js";
6
6
  import "./chunk-IKAMZNCK.js";
7
7
  import "./chunk-H7IAG72O.js";
8
8
  export {
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  SelectDateRange
3
- } from "./chunk-VGIGEDUP.js";
4
- import "./chunk-B42RCR7O.js";
5
- import "./chunk-IUZ2RSI5.js";
3
+ } from "./chunk-FIYHM6JU.js";
4
+ import "./chunk-L3OY6MWS.js";
5
+ import "./chunk-MKGTIW56.js";
6
6
  import "./chunk-IKAMZNCK.js";
7
7
  import "./chunk-H7IAG72O.js";
8
8
  export {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sia.soul/sia-react-ui",
3
- "version": "0.1.68",
3
+ "version": "0.1.70",
4
4
  "description": "Sia Design components and tokens for React",
5
5
  "publishConfig": {
6
6
  "access": "public",