@sia.soul/sia-react-ui 0.1.34 → 0.1.36

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.css CHANGED
@@ -3219,7 +3219,7 @@ fieldset:disabled .sia-input-number__floating-placeholder {
3219
3219
  }
3220
3220
  .sia-tabs--tech-line > .sia-tabs__header {
3221
3221
  min-height: 50px;
3222
- padding: 0 28px;
3222
+ padding: 0 12px;
3223
3223
  background: var(--sia-tabs-line-surface);
3224
3224
  gap: 28px;
3225
3225
  }
@@ -3377,7 +3377,6 @@ fieldset:disabled .sia-input-number__floating-placeholder {
3377
3377
  .sia-tabs--tech-line.sia-tabs--horizontal > .sia-tabs__header {
3378
3378
  flex-wrap: wrap;
3379
3379
  gap: 0;
3380
- padding-inline: 16px;
3381
3380
  }
3382
3381
  .sia-tabs--tech-line.sia-tabs--horizontal > .sia-tabs__header .sia-tabs__title {
3383
3382
  flex-basis: 100%;
@@ -7120,16 +7119,24 @@ fieldset:disabled .sia-input-number__floating-placeholder {
7120
7119
  grid-column: 2 / -1;
7121
7120
  font-size: 12px;
7122
7121
  }
7123
- .sia-upload__item > .sia-upload__remove {
7122
+ .sia-upload__actions {
7123
+ display: inline-flex;
7124
7124
  grid-column: 3;
7125
7125
  grid-row: 1;
7126
- width: 28px;
7127
- height: 28px;
7126
+ align-items: center;
7127
+ gap: 2px;
7128
+ flex: 0 0 auto;
7129
+ }
7130
+ .sia-upload__actions > .sia-button {
7131
+ width: 26px;
7132
+ height: 26px;
7133
+ min-width: 0;
7134
+ padding: 0;
7128
7135
  }
7129
7136
  .sia-upload__item--error {
7130
7137
  border-color: var(--sia-color-error);
7131
7138
  }
7132
- .sia-upload__item--error > .sia-upload__remove {
7139
+ .sia-upload__item--error .sia-upload__remove {
7133
7140
  color: var(--sia-color-error);
7134
7141
  }
7135
7142
  .sia-upload__thumbnail.sia-button {
@@ -7178,8 +7185,8 @@ fieldset:disabled .sia-input-number__floating-placeholder {
7178
7185
  .sia-upload--picture-card .sia-upload__item,
7179
7186
  .sia-upload--picture-card .sia-upload__choose {
7180
7187
  box-sizing: border-box;
7181
- width: 112px;
7182
- height: 112px;
7188
+ width: var(--sia-upload-card-width, 112px);
7189
+ height: var(--sia-upload-card-height, 112px);
7183
7190
  border: 1px solid var(--sia-color-border);
7184
7191
  border-radius: 9px;
7185
7192
  }
@@ -7189,7 +7196,7 @@ fieldset:disabled .sia-input-number__floating-placeholder {
7189
7196
  justify-content: center;
7190
7197
  padding: 8px;
7191
7198
  gap: 4px;
7192
- overflow: hidden;
7199
+ overflow: visible;
7193
7200
  }
7194
7201
  .sia-upload--picture-card .sia-upload__choose {
7195
7202
  display: flex;
@@ -7209,6 +7216,7 @@ fieldset:disabled .sia-input-number__floating-placeholder {
7209
7216
  height: 70px;
7210
7217
  min-height: 0;
7211
7218
  flex: 1 1 auto;
7219
+ overflow: hidden;
7212
7220
  }
7213
7221
  .sia-upload--picture-card .sia-upload__name {
7214
7222
  display: block;
@@ -7217,18 +7225,50 @@ fieldset:disabled .sia-input-number__floating-placeholder {
7217
7225
  font-size: 12px;
7218
7226
  flex: 0 0 auto;
7219
7227
  }
7220
- .sia-upload--picture-card .sia-upload__remove {
7228
+ .sia-upload--picture-card .sia-upload__actions {
7221
7229
  position: absolute;
7222
- right: 3px;
7223
- top: 3px;
7230
+ z-index: 1;
7231
+ top: 50%;
7232
+ left: 50%;
7233
+ width: max-content;
7234
+ justify-content: center;
7235
+ padding: 3px;
7236
+ border-radius: 6px;
7224
7237
  background: var(--sia-color-surface);
7225
- border-radius: 50%;
7238
+ box-shadow: 0 2px 8px rgb(0 0 0 / 15%);
7226
7239
  opacity: 0;
7227
- z-index: 1;
7240
+ pointer-events: none;
7241
+ transform: translate(-50%, -50%);
7242
+ transition: opacity 150ms ease;
7228
7243
  }
7229
- .sia-upload--picture-card .sia-upload__item:hover .sia-upload__remove,
7230
- .sia-upload--picture-card .sia-upload__item:focus-within .sia-upload__remove {
7244
+ .sia-upload--picture-card .sia-upload__item:hover .sia-upload__actions,
7245
+ .sia-upload--picture-card .sia-upload__item:has(:focus-visible) .sia-upload__actions {
7231
7246
  opacity: 1;
7247
+ pointer-events: auto;
7248
+ }
7249
+ .sia-upload--picture-card .sia-upload__item:hover,
7250
+ .sia-upload--picture-card .sia-upload__item:has(:focus-visible) {
7251
+ z-index: 2;
7252
+ }
7253
+ .sia-upload--compact-card .sia-upload__name,
7254
+ .sia-upload--compact-card .sia-upload__choose > span > span:not(.sia-icon) {
7255
+ display: none;
7256
+ }
7257
+ .sia-upload--compact-card .sia-upload__choose > span {
7258
+ gap: 0;
7259
+ }
7260
+ .sia-upload--compact-card .sia-upload__error {
7261
+ position: absolute;
7262
+ inset: auto 0 0;
7263
+ border-radius: 0 0 8px 8px;
7264
+ text-align: center;
7265
+ background: var(--sia-color-surface);
7266
+ }
7267
+ .sia-upload--compact-card .sia-upload__uploading {
7268
+ padding: 4px;
7269
+ gap: 4px;
7270
+ font-size: 10px;
7271
+ border-radius: inherit;
7232
7272
  }
7233
7273
  .sia-upload--picture-card .sia-upload__item--error {
7234
7274
  border-color: var(--sia-color-error);
@@ -7273,8 +7313,14 @@ fieldset:disabled .sia-input-number__floating-placeholder {
7273
7313
  cursor: not-allowed;
7274
7314
  }
7275
7315
  @media (hover: none) {
7276
- .sia-upload--picture-card .sia-upload__remove {
7316
+ .sia-upload--picture-card .sia-upload__actions {
7277
7317
  opacity: 1;
7318
+ pointer-events: auto;
7319
+ }
7320
+ }
7321
+ @media (prefers-reduced-motion: reduce) {
7322
+ .sia-upload--picture-card .sia-upload__actions {
7323
+ transition: none;
7278
7324
  }
7279
7325
  }
7280
7326
  .sia-form > fieldset {
@@ -7296,7 +7342,7 @@ fieldset:disabled .sia-input-number__floating-placeholder {
7296
7342
  text-align: right;
7297
7343
  line-height: 1.45;
7298
7344
  }
7299
- .sia-form-item__label > span {
7345
+ .sia-form-item__required-mark {
7300
7346
  margin-right: 4px;
7301
7347
  color: var(--sia-color-error);
7302
7348
  }
@@ -8846,31 +8892,81 @@ button.sia-pagination__total:disabled {
8846
8892
  position: fixed;
8847
8893
  z-index: 1500;
8848
8894
  inset: 0;
8849
- display: grid;
8850
- place-items: center;
8851
- padding: 56px;
8895
+ box-sizing: border-box;
8852
8896
  background: rgb(0 0 0 / 78%);
8853
8897
  animation: sia-fade-in 180ms ease;
8854
8898
  }
8855
- .sia-image-preview > img {
8856
- max-width: 100%;
8857
- max-height: 100%;
8858
- object-fit: contain;
8859
- }
8860
- .sia-image-preview > button {
8899
+ .sia-image-preview__stage {
8861
8900
  position: absolute;
8862
- top: 18px;
8863
- right: 18px;
8901
+ inset: 64px 24px 92px;
8864
8902
  display: grid;
8903
+ grid-template: minmax(0, 1fr) / minmax(0, 1fr);
8865
8904
  place-items: center;
8905
+ overflow: hidden;
8906
+ }
8907
+ .sia-image-preview__stage > img {
8908
+ display: block;
8909
+ max-width: none;
8910
+ max-height: none;
8911
+ object-fit: contain;
8912
+ user-select: none;
8913
+ touch-action: none;
8914
+ cursor: grab;
8915
+ }
8916
+ .sia-image-preview__stage > img:active {
8917
+ cursor: grabbing;
8918
+ }
8919
+ .sia-image-preview .sia-image-preview__close {
8920
+ position: absolute;
8921
+ top: 16px;
8922
+ right: 16px;
8866
8923
  width: 38px;
8867
8924
  height: 38px;
8925
+ padding: 0;
8868
8926
  color: #fff;
8869
- cursor: pointer;
8870
8927
  background: rgb(255 255 255 / 12%);
8871
8928
  border: 0;
8872
8929
  border-radius: 50%;
8873
8930
  }
8931
+ .sia-image-preview__toolbar {
8932
+ position: absolute;
8933
+ bottom: 24px;
8934
+ left: 50%;
8935
+ display: flex;
8936
+ box-sizing: border-box;
8937
+ align-items: center;
8938
+ gap: 6px;
8939
+ max-width: calc(100% - 24px);
8940
+ padding: 6px 12px;
8941
+ border-radius: 28px;
8942
+ background: rgb(45 45 45 / 90%);
8943
+ transform: translateX(-50%);
8944
+ }
8945
+ .sia-image-preview__scale {
8946
+ flex: 0 0 48px;
8947
+ color: #fff;
8948
+ text-align: center;
8949
+ font-size: 14px;
8950
+ font-variant-numeric: tabular-nums;
8951
+ white-space: nowrap;
8952
+ }
8953
+ .sia-image-preview__toolbar > .sia-button {
8954
+ flex: 0 1 36px;
8955
+ width: 36px;
8956
+ min-width: 0;
8957
+ height: 36px;
8958
+ padding: 0;
8959
+ color: #fff;
8960
+ }
8961
+ .sia-image-preview__toolbar > .sia-button:hover:not(:disabled) {
8962
+ background: rgb(255 255 255 / 16%);
8963
+ }
8964
+ .sia-image-preview__toolbar > .sia-button:disabled {
8965
+ color: rgb(255 255 255 / 30%);
8966
+ }
8967
+ .sia-image-preview__error {
8968
+ color: #fff;
8969
+ }
8874
8970
  body > .sia-popup-portal[data-sia-popup-layer] {
8875
8971
  position: fixed;
8876
8972
  z-index: 1080;
package/dist/index.d.cts CHANGED
@@ -1,5 +1,5 @@
1
- import { T as TagStatus, B as BadgeProps } from './core-CIj-Xevv.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-CIj-Xevv.cjs';
1
+ import { T as TagStatus, B as BadgeProps } from './core-CLt6U7oH.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-CLt6U7oH.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';
@@ -765,11 +765,11 @@ interface FormProps extends Omit<FormHTMLAttributes<HTMLFormElement>, "onSubmit"
765
765
  onValuesChange?: (changedValues: FormValues, values: FormValues) => void;
766
766
  }
767
767
  declare function FormRoot({ form, initialValues, layout, size: sizeProp, placeholderMode, disabled, requiredMark, className, onFinish, onFinishFailed, onValuesChange, children, ...props }: FormProps): react.JSX.Element;
768
- /** 表单项的属性配置。根节点默认保留 6px 下外边距,适用于水平、垂直和行内布局,可通过 className 对应的样式覆盖。 */
768
+ /** 表单项的字段绑定、标签、校验及内容配置。 */
769
769
  interface FormItemProps {
770
770
  /** 绑定到表单值的字段名或嵌套路径,例如 ["user", "name"]。 */
771
771
  name?: NamePath;
772
- /** 展示给用户的名称,可传入文本或 React 节点。 */
772
+ /** 字段标签,支持文本或 React 节点。 */
773
773
  label?: ReactNode;
774
774
  /**
775
775
  * 字段的校验规则,按配置执行。
@@ -849,7 +849,7 @@ declare function FormErrorList({ errors }: {
849
849
  }): react.JSX.Element | null;
850
850
  /** 表单组件。 */
851
851
  declare const Form: typeof FormRoot & {
852
- /** 表单字段,负责字段值绑定、校验和标签布局;默认下外边距为 6px。 */
852
+ /** 表单字段,负责字段值绑定、校验和标签布局。 */
853
853
  Item: typeof FormItem;
854
854
  /** 动态表单列表,提供字段索引以及新增、删除、移动操作。 */
855
855
  List: typeof FormList;
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { T as TagStatus, B as BadgeProps } from './core-Cj9bxBwT.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-Cj9bxBwT.js';
1
+ import { T as TagStatus, B as BadgeProps } from './core-vIHbXa6s.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-vIHbXa6s.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';
@@ -765,11 +765,11 @@ interface FormProps extends Omit<FormHTMLAttributes<HTMLFormElement>, "onSubmit"
765
765
  onValuesChange?: (changedValues: FormValues, values: FormValues) => void;
766
766
  }
767
767
  declare function FormRoot({ form, initialValues, layout, size: sizeProp, placeholderMode, disabled, requiredMark, className, onFinish, onFinishFailed, onValuesChange, children, ...props }: FormProps): react.JSX.Element;
768
- /** 表单项的属性配置。根节点默认保留 6px 下外边距,适用于水平、垂直和行内布局,可通过 className 对应的样式覆盖。 */
768
+ /** 表单项的字段绑定、标签、校验及内容配置。 */
769
769
  interface FormItemProps {
770
770
  /** 绑定到表单值的字段名或嵌套路径,例如 ["user", "name"]。 */
771
771
  name?: NamePath;
772
- /** 展示给用户的名称,可传入文本或 React 节点。 */
772
+ /** 字段标签,支持文本或 React 节点。 */
773
773
  label?: ReactNode;
774
774
  /**
775
775
  * 字段的校验规则,按配置执行。
@@ -849,7 +849,7 @@ declare function FormErrorList({ errors }: {
849
849
  }): react.JSX.Element | null;
850
850
  /** 表单组件。 */
851
851
  declare const Form: typeof FormRoot & {
852
- /** 表单字段,负责字段值绑定、校验和标签布局;默认下外边距为 6px。 */
852
+ /** 表单字段,负责字段值绑定、校验和标签布局。 */
853
853
  Item: typeof FormItem;
854
854
  /** 动态表单列表,提供字段索引以及新增、删除、移动操作。 */
855
855
  List: typeof FormList;
package/dist/index.js CHANGED
@@ -80,7 +80,7 @@ import {
80
80
  Watermark,
81
81
  message,
82
82
  notification
83
- } from "./chunk-Z63VYNCR.js";
83
+ } from "./chunk-7CPIEYS2.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-MHUYOGCG.js";
93
+ } from "./chunk-ZDC7PMZN.js";
94
94
  import {
95
95
  DatePicker,
96
96
  SelectDateRange,
97
97
  TimePanel
98
- } from "./chunk-BR2SD6RD.js";
98
+ } from "./chunk-6TLANQVX.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-QAVQEBIS.js";
113
+ } from "./chunk-ZTJUFVJO.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-HOU5JLNJ.js";
123
+ } from "./chunk-XCVAVCIO.js";
124
124
  import {
125
125
  Button
126
126
  } from "./chunk-IKAMZNCK.js";
@@ -1752,7 +1752,7 @@ function FormItem({
1752
1752
  const hasError = status === "error" && Boolean(helpContent);
1753
1753
  return /* @__PURE__ */ jsxs9("div", { ref: itemRef, className: `sia-form-item${status ? ` sia-form-item--${status}` : ""} ${className}`.trim(), "data-sia-form-field": key || void 0, children: [
1754
1754
  label ? /* @__PURE__ */ jsxs9("div", { id: labelId, className: "sia-form-item__label", children: [
1755
- ruleRequired ? /* @__PURE__ */ jsx9("span", { "aria-hidden": "true", children: "*" }) : null,
1755
+ ruleRequired ? /* @__PURE__ */ jsx9("span", { className: "sia-form-item__required-mark", "aria-hidden": "true", children: "*" }) : null,
1756
1756
  label
1757
1757
  ] }) : null,
1758
1758
  /* @__PURE__ */ jsxs9("div", { className: "sia-form-item__control", children: [
@@ -1806,7 +1806,7 @@ function FormErrorList({ errors = [] }) {
1806
1806
  return errors.length ? /* @__PURE__ */ jsx9("div", { className: "sia-form-error-list", children: errors.map((error, index) => /* @__PURE__ */ jsx9("div", { children: error }, index)) }) : null;
1807
1807
  }
1808
1808
  var Form = Object.assign(FormRoot, {
1809
- /** 表单字段,负责字段值绑定、校验和标签布局;默认下外边距为 6px。 */
1809
+ /** 表单字段,负责字段值绑定、校验和标签布局。 */
1810
1810
  Item: FormItem,
1811
1811
  /** 动态表单列表,提供字段索引以及新增、删除、移动操作。 */
1812
1812
  List: FormList,
@@ -1001,6 +1001,17 @@ var coreIconPaths = {
1001
1001
  /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("circle", { cx: "10.8", cy: "10.8", r: "6.8" }),
1002
1002
  /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("path", { d: "m15.8 15.8 5.2 5.2M7.8 10.8h6" })
1003
1003
  ] }),
1004
+ // 图片变换工具使用独立图标,便于在预览及其他编辑界面复用。
1005
+ "flip-horizontal": /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_jsx_runtime6.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("path", { d: "M12 3v18M3 6h5v12H3zM16 6h5v12h-5z" }) }),
1006
+ "flip-vertical": /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_jsx_runtime6.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("path", { d: "M3 12h18M6 3h12v5H6zM6 16h12v5H6z" }) }),
1007
+ "rotate-left": /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(import_jsx_runtime6.Fragment, { children: [
1008
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("path", { d: "M4 9a8 8 0 1 1 0 6M4 3v6h6" }),
1009
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("rect", { x: "9", y: "9", width: "6", height: "6", rx: "1" })
1010
+ ] }),
1011
+ "rotate-right": /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(import_jsx_runtime6.Fragment, { children: [
1012
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("path", { d: "M20 9a8 8 0 1 0 0 6M20 3v6h-6" }),
1013
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("rect", { x: "9", y: "9", width: "6", height: "6", rx: "1" })
1014
+ ] }),
1004
1015
  download: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_jsx_runtime6.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("path", { d: "M12 3v12M7 10l5 5 5-5M4 20h16" }) }),
1005
1016
  upload: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_jsx_runtime6.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("path", { d: "M12 16V4M7 9l5-5 5 5M4 20h16" }) }),
1006
1017
  refresh: /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(import_jsx_runtime6.Fragment, { children: [
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  RichTextContent,
3
3
  RichTextEditor
4
- } from "./chunk-MHUYOGCG.js";
5
- import "./chunk-HOU5JLNJ.js";
4
+ } from "./chunk-ZDC7PMZN.js";
5
+ import "./chunk-XCVAVCIO.js";
6
6
  import "./chunk-IKAMZNCK.js";
7
7
  import "./chunk-H7IAG72O.js";
8
8
  export {
@@ -918,6 +918,17 @@ var coreIconPaths = {
918
918
  /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("circle", { cx: "10.8", cy: "10.8", r: "6.8" }),
919
919
  /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "m15.8 15.8 5.2 5.2M7.8 10.8h6" })
920
920
  ] }),
921
+ // 图片变换工具使用独立图标,便于在预览及其他编辑界面复用。
922
+ "flip-horizontal": /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_jsx_runtime5.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M12 3v18M3 6h5v12H3zM16 6h5v12h-5z" }) }),
923
+ "flip-vertical": /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_jsx_runtime5.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M3 12h18M6 3h12v5H6zM6 16h12v5H6z" }) }),
924
+ "rotate-left": /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
925
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M4 9a8 8 0 1 1 0 6M4 3v6h6" }),
926
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("rect", { x: "9", y: "9", width: "6", height: "6", rx: "1" })
927
+ ] }),
928
+ "rotate-right": /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
929
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M20 9a8 8 0 1 0 0 6M20 3v6h-6" }),
930
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("rect", { x: "9", y: "9", width: "6", height: "6", rx: "1" })
931
+ ] }),
921
932
  download: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_jsx_runtime5.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M12 3v12M7 10l5 5 5-5M4 20h16" }) }),
922
933
  upload: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_jsx_runtime5.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M12 16V4M7 9l5-5 5 5M4 20h16" }) }),
923
934
  refresh: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  SelectDateRange
3
- } from "./chunk-BR2SD6RD.js";
4
- import "./chunk-QAVQEBIS.js";
5
- import "./chunk-HOU5JLNJ.js";
3
+ } from "./chunk-6TLANQVX.js";
4
+ import "./chunk-ZTJUFVJO.js";
5
+ import "./chunk-XCVAVCIO.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.34",
3
+ "version": "0.1.36",
4
4
  "description": "Sia Design components and tokens for React",
5
5
  "publishConfig": {
6
6
  "access": "public",