@sia.soul/sia-react-ui 0.1.35 → 0.1.37

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
@@ -7119,16 +7119,24 @@ fieldset:disabled .sia-input-number__floating-placeholder {
7119
7119
  grid-column: 2 / -1;
7120
7120
  font-size: 12px;
7121
7121
  }
7122
- .sia-upload__item > .sia-upload__remove {
7122
+ .sia-upload__actions {
7123
+ display: inline-flex;
7123
7124
  grid-column: 3;
7124
7125
  grid-row: 1;
7125
- width: 28px;
7126
- 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;
7127
7135
  }
7128
7136
  .sia-upload__item--error {
7129
7137
  border-color: var(--sia-color-error);
7130
7138
  }
7131
- .sia-upload__item--error > .sia-upload__remove {
7139
+ .sia-upload__item--error .sia-upload__remove {
7132
7140
  color: var(--sia-color-error);
7133
7141
  }
7134
7142
  .sia-upload__thumbnail.sia-button {
@@ -7177,8 +7185,8 @@ fieldset:disabled .sia-input-number__floating-placeholder {
7177
7185
  .sia-upload--picture-card .sia-upload__item,
7178
7186
  .sia-upload--picture-card .sia-upload__choose {
7179
7187
  box-sizing: border-box;
7180
- width: 112px;
7181
- height: 112px;
7188
+ width: var(--sia-upload-card-width, 112px);
7189
+ height: var(--sia-upload-card-height, 112px);
7182
7190
  border: 1px solid var(--sia-color-border);
7183
7191
  border-radius: 9px;
7184
7192
  }
@@ -7188,7 +7196,7 @@ fieldset:disabled .sia-input-number__floating-placeholder {
7188
7196
  justify-content: center;
7189
7197
  padding: 8px;
7190
7198
  gap: 4px;
7191
- overflow: hidden;
7199
+ overflow: visible;
7192
7200
  }
7193
7201
  .sia-upload--picture-card .sia-upload__choose {
7194
7202
  display: flex;
@@ -7208,6 +7216,7 @@ fieldset:disabled .sia-input-number__floating-placeholder {
7208
7216
  height: 70px;
7209
7217
  min-height: 0;
7210
7218
  flex: 1 1 auto;
7219
+ overflow: hidden;
7211
7220
  }
7212
7221
  .sia-upload--picture-card .sia-upload__name {
7213
7222
  display: block;
@@ -7216,18 +7225,50 @@ fieldset:disabled .sia-input-number__floating-placeholder {
7216
7225
  font-size: 12px;
7217
7226
  flex: 0 0 auto;
7218
7227
  }
7219
- .sia-upload--picture-card .sia-upload__remove {
7228
+ .sia-upload--picture-card .sia-upload__actions {
7220
7229
  position: absolute;
7221
- right: 3px;
7222
- 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;
7223
7237
  background: var(--sia-color-surface);
7224
- border-radius: 50%;
7238
+ box-shadow: 0 2px 8px rgb(0 0 0 / 15%);
7225
7239
  opacity: 0;
7226
- z-index: 1;
7240
+ pointer-events: none;
7241
+ transform: translate(-50%, -50%);
7242
+ transition: opacity 150ms ease;
7227
7243
  }
7228
- .sia-upload--picture-card .sia-upload__item:hover .sia-upload__remove,
7229
- .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 {
7230
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;
7231
7272
  }
7232
7273
  .sia-upload--picture-card .sia-upload__item--error {
7233
7274
  border-color: var(--sia-color-error);
@@ -7272,8 +7313,14 @@ fieldset:disabled .sia-input-number__floating-placeholder {
7272
7313
  cursor: not-allowed;
7273
7314
  }
7274
7315
  @media (hover: none) {
7275
- .sia-upload--picture-card .sia-upload__remove {
7316
+ .sia-upload--picture-card .sia-upload__actions {
7276
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;
7277
7324
  }
7278
7325
  }
7279
7326
  .sia-form > fieldset {
@@ -7295,7 +7342,7 @@ fieldset:disabled .sia-input-number__floating-placeholder {
7295
7342
  text-align: right;
7296
7343
  line-height: 1.45;
7297
7344
  }
7298
- .sia-form-item__label > span {
7345
+ .sia-form-item__required-mark {
7299
7346
  margin-right: 4px;
7300
7347
  color: var(--sia-color-error);
7301
7348
  }
@@ -8845,31 +8892,81 @@ button.sia-pagination__total:disabled {
8845
8892
  position: fixed;
8846
8893
  z-index: 1500;
8847
8894
  inset: 0;
8848
- display: grid;
8849
- place-items: center;
8850
- padding: 56px;
8895
+ box-sizing: border-box;
8851
8896
  background: rgb(0 0 0 / 78%);
8852
8897
  animation: sia-fade-in 180ms ease;
8853
8898
  }
8854
- .sia-image-preview > img {
8855
- max-width: 100%;
8856
- max-height: 100%;
8857
- object-fit: contain;
8858
- }
8859
- .sia-image-preview > button {
8899
+ .sia-image-preview__stage {
8860
8900
  position: absolute;
8861
- top: 18px;
8862
- right: 18px;
8901
+ inset: 64px 24px 92px;
8863
8902
  display: grid;
8903
+ grid-template: minmax(0, 1fr) / minmax(0, 1fr);
8864
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;
8865
8923
  width: 38px;
8866
8924
  height: 38px;
8925
+ padding: 0;
8867
8926
  color: #fff;
8868
- cursor: pointer;
8869
8927
  background: rgb(255 255 255 / 12%);
8870
8928
  border: 0;
8871
8929
  border-radius: 50%;
8872
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
+ }
8873
8970
  body > .sia-popup-portal[data-sia-popup-layer] {
8874
8971
  position: fixed;
8875
8972
  z-index: 1080;
package/dist/index.d.cts CHANGED
@@ -1,5 +1,5 @@
1
- import { T as TagStatus, B as BadgeProps } from './core-_Qemc1Z1.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-_Qemc1Z1.cjs';
1
+ import { T as TagStatus, B as BadgeProps } from './core-BzBVS9md.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-BzBVS9md.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-BHKtSaTU.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-BHKtSaTU.js';
1
+ import { T as TagStatus, B as BadgeProps } from './core-CBURAp9W.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-CBURAp9W.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-DQ7WGTKA.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.35",
3
+ "version": "0.1.37",
4
4
  "description": "Sia Design components and tokens for React",
5
5
  "publishConfig": {
6
6
  "access": "public",