sellmate-design-system-react 0.10.0 → 0.11.0

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
@@ -4,6 +4,7 @@ export type { Rule } from './lib/form';
4
4
  export * from './components/SIcon';
5
5
  export * from './components/SBadge';
6
6
  export * from './components/SCard';
7
+ export * from './components/SExpansionItem';
7
8
  export * from './components/SDivider';
8
9
  export * from './components/SScrollArea';
9
10
  export * from './components/STag';
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { clsx } from 'clsx';
3
3
  import { extendTailwindMerge } from 'tailwind-merge';
4
- import { forwardRef, useState, useEffect, useRef, useCallback, createContext, useImperativeHandle, useMemo, useContext, useId, useLayoutEffect, useSyncExternalStore, Fragment as Fragment$1 } from 'react';
4
+ import { forwardRef, useState, Children, useId, useEffect, useRef, useCallback, createContext, useImperativeHandle, useMemo, useContext, useLayoutEffect, useSyncExternalStore, Fragment as Fragment$1 } from 'react';
5
5
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
6
6
  import { createPortal } from 'react-dom';
7
7
  import { createRoot } from 'react-dom/client';
@@ -2892,6 +2892,76 @@ var SCard = forwardRef(function SCard2({ bordered = false, className, children,
2892
2892
  }
2893
2893
  );
2894
2894
  });
2895
+ var SExpansionItem = forwardRef(
2896
+ function SExpansionItem2({
2897
+ title,
2898
+ depth = 1,
2899
+ leading,
2900
+ trailing,
2901
+ bodyPadding = true,
2902
+ expanded,
2903
+ defaultExpanded = false,
2904
+ dense = false,
2905
+ disabled = false,
2906
+ onToggle,
2907
+ className,
2908
+ children,
2909
+ ...rest
2910
+ }, ref) {
2911
+ const [internalExpanded, setInternalExpanded] = useState(defaultExpanded);
2912
+ const isExpanded = expanded ?? internalExpanded;
2913
+ const hasBody = Children.toArray(children).some(
2914
+ (child) => child !== null && child !== void 0 && (typeof child !== "string" || child.trim() !== "")
2915
+ );
2916
+ const leadingNode = typeof leading === "function" ? leading({ expanded: isExpanded, disabled }) : leading;
2917
+ const id = useId();
2918
+ return /* @__PURE__ */ jsxs(
2919
+ "div",
2920
+ {
2921
+ ref,
2922
+ className: cn(
2923
+ "group overflow-hidden bg-[var(--cmp-expansionItem-title-bg-default)]",
2924
+ className
2925
+ ),
2926
+ ...rest,
2927
+ children: [
2928
+ /* @__PURE__ */ jsxs(
2929
+ "button",
2930
+ {
2931
+ type: "button",
2932
+ disabled,
2933
+ "aria-expanded": isExpanded,
2934
+ "aria-controls": id,
2935
+ onClick: (event) => {
2936
+ if (disabled) return;
2937
+ const next = !isExpanded;
2938
+ if (expanded === void 0) setInternalExpanded(next);
2939
+ onToggle?.(next, event);
2940
+ },
2941
+ className: cn(
2942
+ "flex w-full items-center justify-between border-0 text-left text-[14px] font-bold leading-[24px] text-[var(--cmp-expansionItem-title-text-default)] focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--sys-color-border-accent)] disabled:cursor-not-allowed disabled:text-[var(--sys-color-disabled-text)] cursor-pointer",
2943
+ isExpanded && "border-b border-[var(--cmp-expansionItem-title-border)]",
2944
+ !isExpanded && "hover:bg-[var(--cmp-expansionItem-title-bg-hover)]",
2945
+ dense ? "min-h-8 py-[var(--cmp-expansionItem-title-paddingY-dense)]" : "min-h-10 py-[var(--cmp-expansionItem-title-paddingY-normal)]",
2946
+ "gap-[var(--cmp-expansionItem-title-gap)]",
2947
+ "pr-[var(--cmp-expansionItem-title-paddingX)]",
2948
+ depth === 2 ? "pl-[calc(var(--cmp-expansionItem-title-paddingX)+32px)]" : depth === 3 ? "pl-[calc(var(--cmp-expansionItem-title-paddingX)+64px)]" : "pl-[var(--cmp-expansionItem-title-paddingX)]",
2949
+ isExpanded && "bg-[var(--cmp-expansionItem-title-bg-expanded)] text-[var(--cmp-expansionItem-title-text-expanded)]"
2950
+ ),
2951
+ children: [
2952
+ !leading && hasBody && /* @__PURE__ */ jsx(SIcon, { name: isExpanded ? "caretUp" : "caretDown", size: 12 }),
2953
+ leadingNode,
2954
+ /* @__PURE__ */ jsx("span", { className: "flex min-w-0 flex-1 flex-col", children: /* @__PURE__ */ jsx("span", { children: title }) }),
2955
+ trailing
2956
+ ]
2957
+ }
2958
+ ),
2959
+ /* @__PURE__ */ jsx("div", { id, hidden: !isExpanded, className: "bg-[var(--cmp-expansionItem-body-bg)]", children: /* @__PURE__ */ jsx("div", { className: bodyPadding ? "p-[var(--cmp-expansionItem-body-padding)]" : void 0, children }) })
2960
+ ]
2961
+ }
2962
+ );
2963
+ }
2964
+ );
2895
2965
  var SDivider = forwardRef(function SDivider2({ vertical = false, className, style, ...rest }, ref) {
2896
2966
  return /* @__PURE__ */ jsx(
2897
2967
  "hr",
@@ -11489,6 +11559,6 @@ function STimeRangePicker({
11489
11559
  );
11490
11560
  }
11491
11561
 
11492
- export { BADGE_COLORS, BUTTON_COLORS, BUTTON_SIZES, COLOR_KEYS, GNB_COLORS, GNB_COMMON, GNB_FOLD_MS, GNB_HEADER, GNB_MENU, GNB_MENU_WIDTH, GNB_RAIL, GNB_RAIL_WIDTH, ICONS, PAGE_BACKGROUNDS, SActionModal, SBadge, SBarcodeInput, SButton, SCROLL_AREA_AXES, SCalendar, SCallout, SCard, SCheckbox, SChip, SChipInput, SCircleProgress, SConfirmModal, SDatePicker, SDateRangePicker, SDivider, SDropdownButton, SField, SFilePicker, SForm, SGhostButton, SGnb, SGuide, SIcon, SInput, SKeyValueTable, SLayout, SLayoutContext, SLinearProgress, SLoadingContainer, SLoadingModal, SLoadingViewport, SNumberInput, SPage, SPagination, SPopover, SPopup, SPortal, SRadio, SRadioButton, SRadioGroup, SScrollArea, SSelect, SStepper, SSwitch, STEPPER_SIZES, STable, STabs, STag, STextLink, STextarea, STimePicker, STimeRangePicker, SToast, SToastContainer, SToggle, STooltip, TAG_COLORS, TAG_SHAPES, TAG_SIZES, TIMEPICKER_SIZES, TIMEPICKER_SIZE_CONFIG, buttonPreset, cn, findGnbAncestors, findGnbRailValue, isColorKey, loading, resolveColor, useSLayout };
11562
+ export { BADGE_COLORS, BUTTON_COLORS, BUTTON_SIZES, COLOR_KEYS, GNB_COLORS, GNB_COMMON, GNB_FOLD_MS, GNB_HEADER, GNB_MENU, GNB_MENU_WIDTH, GNB_RAIL, GNB_RAIL_WIDTH, ICONS, PAGE_BACKGROUNDS, SActionModal, SBadge, SBarcodeInput, SButton, SCROLL_AREA_AXES, SCalendar, SCallout, SCard, SCheckbox, SChip, SChipInput, SCircleProgress, SConfirmModal, SDatePicker, SDateRangePicker, SDivider, SDropdownButton, SExpansionItem, SField, SFilePicker, SForm, SGhostButton, SGnb, SGuide, SIcon, SInput, SKeyValueTable, SLayout, SLayoutContext, SLinearProgress, SLoadingContainer, SLoadingModal, SLoadingViewport, SNumberInput, SPage, SPagination, SPopover, SPopup, SPortal, SRadio, SRadioButton, SRadioGroup, SScrollArea, SSelect, SStepper, SSwitch, STEPPER_SIZES, STable, STabs, STag, STextLink, STextarea, STimePicker, STimeRangePicker, SToast, SToastContainer, SToggle, STooltip, TAG_COLORS, TAG_SHAPES, TAG_SIZES, TIMEPICKER_SIZES, TIMEPICKER_SIZE_CONFIG, buttonPreset, cn, findGnbAncestors, findGnbRailValue, isColorKey, loading, resolveColor, useSLayout };
11493
11563
  //# sourceMappingURL=index.js.map
11494
11564
  //# sourceMappingURL=index.js.map