sellmate-design-system-react 0.8.0 → 0.8.2

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.
@@ -6,7 +6,7 @@ export interface SKeyValueField {
6
6
  type?: SKeyValueFieldType;
7
7
  options?: Record<string, any>;
8
8
  required?: boolean;
9
- helpText?: string;
9
+ helpText?: string[];
10
10
  hideTh?: boolean;
11
11
  thRowSpan?: number;
12
12
  thColSpan?: number;
@@ -4248,6 +4248,7 @@ function SPortal({
4248
4248
  viewportPadding = 0,
4249
4249
  onOpenAutoFocus,
4250
4250
  onCloseAutoFocus,
4251
+ onPointerDownOutside,
4251
4252
  children,
4252
4253
  className,
4253
4254
  style,
@@ -4276,7 +4277,9 @@ function SPortal({
4276
4277
  onPointerDownOutside: (e) => {
4277
4278
  if (persistent || anchorRef.current?.contains(e.target)) {
4278
4279
  e.preventDefault();
4280
+ return;
4279
4281
  }
4282
+ onPointerDownOutside?.(e);
4280
4283
  },
4281
4284
  onFocusOutside: (e) => {
4282
4285
  if (persistent || anchorRef.current?.contains(e.target)) {
@@ -4381,6 +4384,7 @@ var SSelect = forwardRef(function SSelect2({
4381
4384
  const triggerRef = useRef(null);
4382
4385
  const searchInputRef = useRef(null);
4383
4386
  const listRef = useRef(null);
4387
+ const dismissedByPointerRef = useRef(false);
4384
4388
  const flat = useMemo(() => flattenOptions(options), [options]);
4385
4389
  const selectable = useMemo(() => selectableOptions(flat), [flat]);
4386
4390
  const hasLeaf = useMemo(() => flat.some((o) => !o.isGroup), [flat]);
@@ -4410,7 +4414,9 @@ var SSelect = forwardRef(function SSelect2({
4410
4414
  const commitOpen = (next) => {
4411
4415
  setOpen(next);
4412
4416
  onOpenChange?.(next);
4413
- if (!next) {
4417
+ if (next) {
4418
+ dismissedByPointerRef.current = false;
4419
+ } else {
4414
4420
  setPendingOpen(false);
4415
4421
  setSearch("");
4416
4422
  if (rules && rules.length > 0) {
@@ -4634,8 +4640,12 @@ var SSelect = forwardRef(function SSelect2({
4634
4640
  event.preventDefault();
4635
4641
  requestAnimationFrame(() => searchInputRef.current?.focus());
4636
4642
  },
4643
+ onPointerDownOutside: () => {
4644
+ dismissedByPointerRef.current = true;
4645
+ },
4637
4646
  onCloseAutoFocus: (event) => {
4638
4647
  event.preventDefault();
4648
+ if (dismissedByPointerRef.current) return;
4639
4649
  triggerRef.current?.focus();
4640
4650
  },
4641
4651
  className: "rounded-[var(--cmp-listBox-radius)] bg-[var(--cmp-listBox-bg)] shadow-[2px_2px_12px_2px_rgba(0,0,0,0.1)]",
@@ -6385,14 +6395,14 @@ function SKeyValueTable({
6385
6395
  /* @__PURE__ */ jsx("span", { className: "text-[12px] font-bold leading-[20px] text-[color:var(--sys-color-fg-primary)]", children: f.label }),
6386
6396
  f.required && /* @__PURE__ */ jsx(SIcon, { name: "star", size: 12, color: "var(--sys-color-fg-accent)" })
6387
6397
  ] }),
6388
- f.helpText && /* @__PURE__ */ jsx(
6398
+ f.helpText && f.helpText.length > 0 && /* @__PURE__ */ jsx(
6389
6399
  STooltip,
6390
6400
  {
6391
6401
  trigger: "hover",
6392
6402
  icon: "helpOutline",
6393
6403
  iconSize: 16,
6394
6404
  color: "var(--sys-color-fg-success)",
6395
- message: [f.helpText]
6405
+ message: f.helpText
6396
6406
  }
6397
6407
  )
6398
6408
  ] })