sellmate-design-system-react 9.0.0-beta.28 → 9.0.0-beta.29

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.d.ts CHANGED
@@ -54,6 +54,7 @@ export * from './components/SField';
54
54
  export * from './components/SCheckbox';
55
55
  export * from './components/SRadio';
56
56
  export * from './components/SRadioButton';
57
+ export * from './components/SRadioCard';
57
58
  export * from './components/SInput';
58
59
  export * from './components/SSearchInput';
59
60
  export * from './components/STextarea';
package/dist/index.js CHANGED
@@ -15437,6 +15437,145 @@ function SRadioButton({
15437
15437
  }
15438
15438
  );
15439
15439
  }
15440
+ function SRadioCard({
15441
+ val,
15442
+ value,
15443
+ label,
15444
+ subtitle,
15445
+ tag,
15446
+ disabled = false,
15447
+ name,
15448
+ onValueChange,
15449
+ className,
15450
+ style
15451
+ }) {
15452
+ const valStr = String(val);
15453
+ const checked = value === val;
15454
+ const select = () => {
15455
+ if (!disabled && !checked) onValueChange?.(val);
15456
+ };
15457
+ const native = name != null && name !== "";
15458
+ const cardInteractiveProps = native ? {} : {
15459
+ "role": "radio",
15460
+ "aria-checked": checked,
15461
+ "tabIndex": disabled ? -1 : 0,
15462
+ "onClick": select,
15463
+ "onKeyDown": (e) => {
15464
+ if (e.key === " " || e.key === "Enter") {
15465
+ e.preventDefault();
15466
+ select();
15467
+ }
15468
+ }
15469
+ };
15470
+ const textColor = disabled ? "text-(--sys-color-disabled-text)" : null;
15471
+ return /* @__PURE__ */ jsxs(
15472
+ "label",
15473
+ {
15474
+ ...cardInteractiveProps,
15475
+ "aria-disabled": disabled || void 0,
15476
+ className: cn(
15477
+ "box-border flex w-full flex-col rounded-(--cmp-radioCard-radius) border-(length:--cmp-radioCard-border-width) border-solid px-(--cmp-radioCard-paddingX) py-(--cmp-radioCard-paddingY) transition-colors",
15478
+ disabled ? "cursor-not-allowed border-(--cmp-radioCard-border-default) bg-(--cmp-radioCard-bg-disabled)" : checked ? "cursor-pointer border-(--cmp-radioCard-border-selected) bg-(--cmp-radioCard-bg-selected)" : "cursor-pointer border-(--cmp-radioCard-border-default) bg-(--cmp-radioCard-bg-default) hover:border-(--cmp-radioCard-border-hover) hover:bg-(--cmp-radioCard-bg-hover)",
15479
+ className
15480
+ ),
15481
+ style,
15482
+ children: [
15483
+ /* @__PURE__ */ jsxs("span", { className: "flex items-center gap-(--cmp-radioCard-gap)", children: [
15484
+ native && /* @__PURE__ */ jsx(
15485
+ "input",
15486
+ {
15487
+ type: "radio",
15488
+ name,
15489
+ value: valStr,
15490
+ checked,
15491
+ disabled,
15492
+ onChange: () => onValueChange?.(val),
15493
+ className: "sr-only"
15494
+ }
15495
+ ),
15496
+ /* @__PURE__ */ jsx(
15497
+ "span",
15498
+ {
15499
+ className: "flex h-(--cmp-radio-size) w-(--cmp-radio-size) shrink-0 items-center justify-center rounded-(--cmp-radio-radius) border-(length:--cmp-radio-borderWidth) border-solid border-(--rc-dot-border) bg-(--rc-dot-bg)",
15500
+ style: {
15501
+ "--rc-dot-bg": disabled ? "var(--cmp-radio-bg-disabled)" : "var(--cmp-radio-bg-default)",
15502
+ "--rc-dot-border": disabled ? "var(--cmp-radio-border-disabled)" : checked ? "var(--cmp-radio-border-active)" : "var(--cmp-radio-border-default)"
15503
+ },
15504
+ children: checked && /* @__PURE__ */ jsx(
15505
+ "span",
15506
+ {
15507
+ className: "h-(--cmp-radio-dot-size) w-(--cmp-radio-dot-size) rounded-(--cmp-radio-radius) bg-(--rc-dot-fill)",
15508
+ style: {
15509
+ "--rc-dot-fill": disabled ? "var(--cmp-radio-dot-disabled)" : "var(--cmp-radio-dot-default)"
15510
+ }
15511
+ }
15512
+ )
15513
+ }
15514
+ ),
15515
+ /* @__PURE__ */ jsxs("span", { className: cn("grid min-w-0", textColor ?? "text-(--cmp-radioCard-label-color)"), children: [
15516
+ /* @__PURE__ */ jsx("span", { "aria-hidden": true, className: "typo-body-md-bold invisible", style: { gridArea: "1 / 1" }, children: label }),
15517
+ /* @__PURE__ */ jsx(
15518
+ "span",
15519
+ {
15520
+ className: checked ? "typo-body-md-bold" : "typo-body-md-semibold",
15521
+ style: { gridArea: "1 / 1" },
15522
+ children: label
15523
+ }
15524
+ )
15525
+ ] }),
15526
+ tag && /* @__PURE__ */ jsx(STag, { ...tag, size: "xs", className: "ml-auto" })
15527
+ ] }),
15528
+ subtitle && /* @__PURE__ */ jsx(
15529
+ "span",
15530
+ {
15531
+ className: cn(
15532
+ "typo-body-sm-default pl-(--cmp-radioCard-subtitle-paddingLeft)",
15533
+ textColor ?? "text-(--cmp-radioCard-subtitle-color)"
15534
+ ),
15535
+ children: subtitle
15536
+ }
15537
+ )
15538
+ ]
15539
+ }
15540
+ );
15541
+ }
15542
+ function SRadioCardGroup({
15543
+ options = [],
15544
+ value,
15545
+ direction = "vertical",
15546
+ disabled = false,
15547
+ groupName,
15548
+ onValueChange,
15549
+ className,
15550
+ style
15551
+ }) {
15552
+ return /* @__PURE__ */ jsx(
15553
+ "div",
15554
+ {
15555
+ role: "radiogroup",
15556
+ className: cn(
15557
+ "flex gap-(--cmp-radioCard-group-gap)",
15558
+ direction === "vertical" ? "flex-col" : "flex-row",
15559
+ className
15560
+ ),
15561
+ style,
15562
+ children: options.map((o) => /* @__PURE__ */ jsx(
15563
+ SRadioCard,
15564
+ {
15565
+ val: o.value,
15566
+ value,
15567
+ label: o.label,
15568
+ subtitle: o.subtitle,
15569
+ tag: o.tag,
15570
+ name: groupName,
15571
+ disabled: disabled || o.disabled,
15572
+ onValueChange
15573
+ },
15574
+ String(o.value)
15575
+ ))
15576
+ }
15577
+ );
15578
+ }
15440
15579
  var Frame = ({ size = 16, children, ...rest }) => /* @__PURE__ */ jsx(
15441
15580
  "svg",
15442
15581
  {
@@ -17727,6 +17866,7 @@ var SChipFilter = /* @__PURE__ */ forwardRef(function SChipFilter2({
17727
17866
  const pendingOpenKeyRef = useRef(null);
17728
17867
  const triggerRefs = useRef(/* @__PURE__ */ new Map());
17729
17868
  const initializedDefaultsRef = useRef(/* @__PURE__ */ new Set());
17869
+ const pendingDefaultRef = useRef(/* @__PURE__ */ new Set());
17730
17870
  const misuseWarningSignatureRef = useRef(null);
17731
17871
  const prevOpenKeyRef = useRef(null);
17732
17872
  const valuesRef = useRef(values);
@@ -17777,15 +17917,18 @@ var SChipFilter = /* @__PURE__ */ forwardRef(function SChipFilter2({
17777
17917
  const patch = {};
17778
17918
  let changed = false;
17779
17919
  fields.forEach((field) => {
17780
- if (initializedDefaultsRef.current.has(field.key)) return;
17781
17920
  if (!isEmptyValue(values[field.key])) {
17782
17921
  initializedDefaultsRef.current.add(field.key);
17922
+ pendingDefaultRef.current.delete(field.key);
17783
17923
  return;
17784
17924
  }
17925
+ if (!field.required && initializedDefaultsRef.current.has(field.key)) return;
17926
+ if (field.required && pendingDefaultRef.current.has(field.key)) return;
17785
17927
  const def = resolveFieldDefault(field);
17786
17928
  if (def === void 0) return;
17787
17929
  patch[field.key] = def;
17788
17930
  initializedDefaultsRef.current.add(field.key);
17931
+ pendingDefaultRef.current.add(field.key);
17789
17932
  changed = true;
17790
17933
  });
17791
17934
  if (changed) onValueChange?.({ ...values, ...patch });
@@ -20569,6 +20712,6 @@ function STimeRangePicker({
20569
20712
  );
20570
20713
  }
20571
20714
 
20572
- export { BADGE_COLORS, BUTTON_COLORS, BUTTON_SIZES, COLOR_KEYS, FIELD_WIDTH_GRADES, GNB_COLORS, GNB_COMMON, GNB_FOLD_MS, GNB_FULL_LOGO_WIDTH, GNB_HEADER, GNB_MENU, GNB_MENU_WIDTH, GNB_RAIL, GNB_RAIL_WIDTH, ICONS, IMAGE_FITS, PAGE_BACKGROUNDS, PAGE_CONTENT_HEIGHTS, RangeCalendar, SActionModal, SBadge, SBarcodeInput, SButton, SCROLL_AREA_AXES, SCalendar, SCallout, SCard, SCheckbox, SChip2 as SChip, SChipFilter, SChipInput, SCircleProgress, SConfirmModal, SDatePicker, SDatePickerMonthListbox, SDatePickerYearListbox, SDateRangePicker, SDivider, SDraggableGroup, SDraggableItem2 as SDraggableItem, SDraggableList, SDraggableProvider, SDrawer, SDropdownButton2 as SDropdownButton, SEDITOR_DEFAULT_FONT_SIZE, SEDITOR_HEADING_LABELS, SEDITOR_HEADING_LEVELS, SEditor, SExpansionItem, SExpansionList2 as SExpansionList, SField, SFilePicker, SForm, SGhostButton, SGnb, SGuide, SIcon, SImage, SInput, SKeyValueTable, SLAYOUT_MIN_WIDTH, SLayout, SLayoutContext, SLinearProgress, SList2 as SList, SListItem2 as SListItem, SLoadingContainer, SLoadingModal, SLoadingViewport, SModal, SModalOutlet, SNumberInput, SPage, SPagination, SPopover, SPopup, SPortal, SRadio, SRadioButton, SRadioGroup, SSPLITTER_UNITS, SScrollArea, SSearchInput, SSectionHeaderCard2 as SSectionHeaderCard, SSelect2 as SSelect, SSplitter2 as SSplitter, SStepper, SSwitch, SSystemActionButton, STEPPER_SIZES, STable, STableBar, STabs, STag, STextLink, STextarea, STimePicker, STimeRangePicker, SToast, SToastContainer, SToggle, STooltip2 as STooltip, STree2 as STree, STreeItem2 as STreeItem, SYSTEM_ACTION_BUTTON_COLORS, SYSTEM_ACTION_BUTTON_COLOR_CONFIG, SYSTEM_ACTION_BUTTON_LAYOUT, SYSTEM_ACTION_BUTTON_TYPES, SYSTEM_ACTION_BUTTON_TYPE_CONFIG, TAG_COLORS, TAG_SHAPES, TAG_SIZES, TIMEPICKER_SIZES, TIMEPICKER_SIZE_CONFIG, buttonPreset, cn, fieldWidthValue, findGnbAncestors, findGnbRailValue, isColorKey, isFieldWidthGrade, loading, resolveColor, useSLayout };
20715
+ export { BADGE_COLORS, BUTTON_COLORS, BUTTON_SIZES, COLOR_KEYS, FIELD_WIDTH_GRADES, GNB_COLORS, GNB_COMMON, GNB_FOLD_MS, GNB_FULL_LOGO_WIDTH, GNB_HEADER, GNB_MENU, GNB_MENU_WIDTH, GNB_RAIL, GNB_RAIL_WIDTH, ICONS, IMAGE_FITS, PAGE_BACKGROUNDS, PAGE_CONTENT_HEIGHTS, RangeCalendar, SActionModal, SBadge, SBarcodeInput, SButton, SCROLL_AREA_AXES, SCalendar, SCallout, SCard, SCheckbox, SChip2 as SChip, SChipFilter, SChipInput, SCircleProgress, SConfirmModal, SDatePicker, SDatePickerMonthListbox, SDatePickerYearListbox, SDateRangePicker, SDivider, SDraggableGroup, SDraggableItem2 as SDraggableItem, SDraggableList, SDraggableProvider, SDrawer, SDropdownButton2 as SDropdownButton, SEDITOR_DEFAULT_FONT_SIZE, SEDITOR_HEADING_LABELS, SEDITOR_HEADING_LEVELS, SEditor, SExpansionItem, SExpansionList2 as SExpansionList, SField, SFilePicker, SForm, SGhostButton, SGnb, SGuide, SIcon, SImage, SInput, SKeyValueTable, SLAYOUT_MIN_WIDTH, SLayout, SLayoutContext, SLinearProgress, SList2 as SList, SListItem2 as SListItem, SLoadingContainer, SLoadingModal, SLoadingViewport, SModal, SModalOutlet, SNumberInput, SPage, SPagination, SPopover, SPopup, SPortal, SRadio, SRadioButton, SRadioCard, SRadioCardGroup, SRadioGroup, SSPLITTER_UNITS, SScrollArea, SSearchInput, SSectionHeaderCard2 as SSectionHeaderCard, SSelect2 as SSelect, SSplitter2 as SSplitter, SStepper, SSwitch, SSystemActionButton, STEPPER_SIZES, STable, STableBar, STabs, STag, STextLink, STextarea, STimePicker, STimeRangePicker, SToast, SToastContainer, SToggle, STooltip2 as STooltip, STree2 as STree, STreeItem2 as STreeItem, SYSTEM_ACTION_BUTTON_COLORS, SYSTEM_ACTION_BUTTON_COLOR_CONFIG, SYSTEM_ACTION_BUTTON_LAYOUT, SYSTEM_ACTION_BUTTON_TYPES, SYSTEM_ACTION_BUTTON_TYPE_CONFIG, TAG_COLORS, TAG_SHAPES, TAG_SIZES, TIMEPICKER_SIZES, TIMEPICKER_SIZE_CONFIG, buttonPreset, cn, fieldWidthValue, findGnbAncestors, findGnbRailValue, isColorKey, isFieldWidthGrade, loading, resolveColor, useSLayout };
20573
20716
  //# sourceMappingURL=index.js.map
20574
20717
  //# sourceMappingURL=index.js.map