@commenda/pathfinder 0.1.0 → 0.2.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.
Files changed (133) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/components/accordion/AccordionSection.js +9 -3
  3. package/dist/components/address-input/AddressInput.js +1 -1
  4. package/dist/components/artifact-card/ArtifactCard.js +1 -1
  5. package/dist/components/artifact-panel/ArtifactPanel.js +81 -55
  6. package/dist/components/attachment/Attachment.d.ts +2 -6
  7. package/dist/components/attachment/Attachment.js +59 -36
  8. package/dist/components/attachment/AttachmentCard.d.ts +1 -1
  9. package/dist/components/attachment/AttachmentCard.js +56 -43
  10. package/dist/components/attachment/attachment-class-names.d.ts +1 -1
  11. package/dist/components/attachment/attachment-class-names.js +1 -1
  12. package/dist/components/attachment-group/AttachmentGroup.js +1 -1
  13. package/dist/components/avatar/avatar-helper.d.ts +1 -1
  14. package/dist/components/banner/Banner.js +5 -2
  15. package/dist/components/button/Button.js +1 -1
  16. package/dist/components/calendar/CalendarAgenda.js +1 -1
  17. package/dist/components/calendar/CalendarArtwork.js +16 -22
  18. package/dist/components/calendar/CalendarEventContent.js +2 -2
  19. package/dist/components/calendar/CalendarPopup.js +102 -82
  20. package/dist/components/calendar/CalendarToolbar.js +10 -10
  21. package/dist/components/card/Card.js +47 -41
  22. package/dist/components/checkbox/Checkbox.js +31 -13
  23. package/dist/components/choices/choice-motion.d.ts +12 -0
  24. package/dist/components/choices/choice-motion.js +22 -0
  25. package/dist/components/code-block/CodeBlock.js +3 -2
  26. package/dist/components/controls/control-class-names.d.ts +1 -0
  27. package/dist/components/controls/control-class-names.js +8 -8
  28. package/dist/components/controls/useHoverHighlight.d.ts +12 -0
  29. package/dist/components/controls/useHoverHighlight.js +51 -0
  30. package/dist/components/controls/useSelectionIndicator.d.ts +3 -4
  31. package/dist/components/controls/useSelectionIndicator.js +43 -28
  32. package/dist/components/data-grid/DataGrid.js +7 -7
  33. package/dist/components/data-grid/DataGridHeaders.js +1 -1
  34. package/dist/components/date-picker/DateCalendar.js +3 -3
  35. package/dist/components/date-picker/DatePicker.js +10 -10
  36. package/dist/components/date-picker/field/DateField.js +1 -1
  37. package/dist/components/description-list/DescriptionList.js +2 -2
  38. package/dist/components/dialog/ConfirmDialog.js +1 -1
  39. package/dist/components/dialog/Dialog.js +1 -1
  40. package/dist/components/distribution-bar/DistributionBar.js +45 -35
  41. package/dist/components/drag-handle/DragHandle.d.ts +1 -1
  42. package/dist/components/dropdown/Dropdown.js +27 -26
  43. package/dist/components/dropdown/MenuContent.js +100 -69
  44. package/dist/components/dropdown/dropdown-types.d.ts +1 -0
  45. package/dist/components/dropdown/menu-motion.d.ts +2 -0
  46. package/dist/components/dropdown/menu-motion.js +4 -0
  47. package/dist/components/feedback/FeedbackIcon.d.ts +2 -1
  48. package/dist/components/feedback/FeedbackIcon.js +4 -4
  49. package/dist/components/feedback/FeedbackSurface.d.ts +3 -3
  50. package/dist/components/feedback/FeedbackSurface.js +49 -21
  51. package/dist/components/fields/FieldAction.d.ts +1 -0
  52. package/dist/components/fields/FieldAction.js +2 -2
  53. package/dist/components/icon-button/IconButton.js +37 -37
  54. package/dist/components/icons/index.js +776 -776
  55. package/dist/components/inline-reference/InlineReference.js +1 -8
  56. package/dist/components/list/List.js +2 -2
  57. package/dist/components/list/ListGroup.js +35 -30
  58. package/dist/components/list/ListTask.js +1 -1
  59. package/dist/components/list/SettingRow.js +1 -1
  60. package/dist/components/markdown/Markdown.js +11 -10
  61. package/dist/components/markdown/MarkdownTable.d.ts +1 -1
  62. package/dist/components/markdown/MarkdownTable.js +71 -54
  63. package/dist/components/otp/OTP.js +44 -43
  64. package/dist/components/output-sections/OutputRow.js +2 -3
  65. package/dist/components/overlays/OverlayFrame.js +2 -2
  66. package/dist/components/overlays/overlay-class-names.d.ts +3 -3
  67. package/dist/components/overlays/overlay-class-names.js +1 -1
  68. package/dist/components/phone-input/CountryPicker.js +11 -8
  69. package/dist/components/popover/Popover.js +2 -2
  70. package/dist/components/question-card/QuestionOptions.js +3 -3
  71. package/dist/components/radio-group/RadioGroup.js +59 -50
  72. package/dist/components/search/Search.js +51 -47
  73. package/dist/components/segmented-control/SegmentedControl.js +7 -6
  74. package/dist/components/selection/ChoiceField.js +1 -1
  75. package/dist/components/selection/ChoiceList.js +2 -1
  76. package/dist/components/selection/SearchableChoice.js +129 -114
  77. package/dist/components/selection/SelectedTags.js +1 -1
  78. package/dist/components/selection/SimpleChoice.js +95 -77
  79. package/dist/components/selection/choice-styles.d.ts +2 -2
  80. package/dist/components/selection/choice-styles.js +1 -1
  81. package/dist/components/sheet/Sheet.js +7 -7
  82. package/dist/components/side-nav/SideNav.d.ts +2 -5
  83. package/dist/components/side-nav/SideNav.js +98 -56
  84. package/dist/components/side-nav/SideNavItemView.d.ts +1 -1
  85. package/dist/components/side-nav/SideNavItemView.js +83 -98
  86. package/dist/components/side-nav/index.d.ts +2 -0
  87. package/dist/components/side-nav/index.js +1 -1
  88. package/dist/components/split-button/SplitButton.js +3 -2
  89. package/dist/components/stepper/StepMarker.js +32 -28
  90. package/dist/components/stepper/Stepper.js +30 -22
  91. package/dist/components/suggested-prompt/SuggestedPrompt.js +1 -1
  92. package/dist/components/switch/Switch.d.ts +1 -1
  93. package/dist/components/switch/Switch.js +38 -28
  94. package/dist/components/table/Table.js +134 -110
  95. package/dist/components/table/TableColumnHeader.js +20 -2
  96. package/dist/components/table/TableColumnResize.js +1 -1
  97. package/dist/components/table/TableColumnsMenu.js +1 -0
  98. package/dist/components/table/TableFilterChip.js +1 -1
  99. package/dist/components/table/TableFilterEditor.js +6 -6
  100. package/dist/components/table/TableFilters.js +1 -0
  101. package/dist/components/table/TableOptionMenu.d.ts +1 -1
  102. package/dist/components/table/TableOptionMenu.js +16 -17
  103. package/dist/components/table/TablePagination.js +1 -0
  104. package/dist/components/table/TableSelectionBar.js +4 -1
  105. package/dist/components/table/index.js +6 -6
  106. package/dist/components/table/table-column-style.js +0 -1
  107. package/dist/components/table/table-types.d.ts +5 -0
  108. package/dist/components/table/useTableData.js +2 -2
  109. package/dist/components/tabs/Tabs.js +61 -53
  110. package/dist/components/tabs/tab-class-names.d.ts +1 -1
  111. package/dist/components/tabs/tab-class-names.js +1 -1
  112. package/dist/components/tabular/TableEditCell.js +3 -1
  113. package/dist/components/tabular/tabular-class-names.d.ts +1 -0
  114. package/dist/components/tabular/tabular-class-names.js +1 -0
  115. package/dist/components/tabular/useCellEdit.js +1 -1
  116. package/dist/components/tabular/useTabularPinning.js +7 -6
  117. package/dist/components/tag/Tag.js +1 -1
  118. package/dist/components/tag-input/TagInput.js +64 -53
  119. package/dist/components/tag-input/useTagMotion.d.ts +6 -0
  120. package/dist/components/tag-input/useTagMotion.js +36 -0
  121. package/dist/components/text-area/TextArea.js +2 -1
  122. package/dist/components/thread/ThreadReply.js +10 -7
  123. package/dist/components/tool-call/ToolCall.js +2 -2
  124. package/dist/components/tree/TreeItemView.js +3 -3
  125. package/dist/index.d.ts +2 -2
  126. package/dist/index.js +37 -37
  127. package/dist/styles.css +1 -1
  128. package/package.json +5 -1
  129. package/dist/_virtual/_rolldown/runtime.js +0 -11
  130. package/dist/components/date-picker/date-values.d.ts +0 -23
  131. package/dist/components/date-picker/date-values.js +0 -52
  132. package/dist/components/table/TableHeaderPin.d.ts +0 -6
  133. package/dist/components/table/TableHeaderPin.js +0 -66
@@ -2,30 +2,38 @@
2
2
  import { controlFocusClassNames as e } from "../controls/control-class-names.js";
3
3
  import { StepMarker as t } from "./StepMarker.js";
4
4
  import n from "clsx";
5
- import { Fragment as r, forwardRef as i } from "react";
6
- import { Fragment as a, jsx as o, jsxs as s } from "react/jsx-runtime";
5
+ import { Fragment as r, forwardRef as i, useEffect as a, useRef as o } from "react";
6
+ import { Fragment as s, jsx as c, jsxs as l } from "react/jsx-runtime";
7
7
  //#region src/components/stepper/Stepper.tsx
8
- var c = i(function({ label: i, items: c, orientation: l = "horizontal", navigationConfig: u, stateLabels: d, className: f, ...p }, m) {
9
- return /* @__PURE__ */ o("ol", {
10
- ...p,
11
- ref: m,
8
+ var u = i(function({ label: i, items: u, orientation: d = "horizontal", navigationConfig: f, stateLabels: p, className: m, ...h }, g) {
9
+ let _ = o(null);
10
+ return a(() => {
11
+ let e = () => _.current?.setAttribute("data-motion", "pointer"), t = () => _.current?.removeAttribute("data-motion");
12
+ return document.addEventListener("pointerdown", e, !0), document.addEventListener("keydown", t, !0), () => {
13
+ document.removeEventListener("pointerdown", e, !0), document.removeEventListener("keydown", t, !0);
14
+ };
15
+ }, []), /* @__PURE__ */ c("ol", {
16
+ ...h,
17
+ ref: (e) => {
18
+ _.current = e, typeof g == "function" ? g(e) : g && (g.current = e);
19
+ },
12
20
  "aria-label": i,
13
- className: n("pf:flex pf:min-w-0 pf:max-w-full pf:p-0 pf:m-0 pf:list-none pf:font-body", l === "vertical" ? "pf:w-[240px] pf:flex-col pf:gap-xxs" : "pf:w-full pf:items-start pf:gap-lg", f),
14
- children: c.map((i, f) => {
15
- let p = i.state === "done" && u, m = n("pf:flex pf:min-w-0 pf:items-start pf:font-body pf:text-start pf:border-0 pf:bg-transparent pf:text-label-13 pf:wrap-anywhere", l === "vertical" ? "pf:w-full pf:gap-lg pf:p-md pf:rounded-md" : "pf:flex-col pf:gap-md pf:p-0 pf:rounded-xs", i.state === "disabled" ? "pf:text-soft-pearl-600" : i.state === "upcoming" ? "pf:text-soft-pearl-800" : "pf:text-soft-pearl-1000", l === "vertical" && i.state === "current" && "pf:bg-soft-pearl-200", p && "pf:cursor-pointer", p && l === "vertical" && "pf:hover:bg-soft-pearl-200", e), h = /* @__PURE__ */ s(a, { children: [/* @__PURE__ */ o(t, {
21
+ className: n("pf:group/stepper pf:flex pf:min-w-0 pf:max-w-full pf:p-0 pf:m-0 pf:list-none pf:font-body", d === "vertical" ? "pf:w-[240px] pf:flex-col pf:gap-xxs" : "pf:w-full pf:items-start pf:gap-lg", m),
22
+ children: u.map((i, a) => {
23
+ let o = i.state === "done" && f, m = n("pf:flex pf:min-w-0 pf:items-start pf:font-body pf:text-start pf:border-0 pf:bg-transparent pf:text-label-13 pf:wrap-anywhere", d === "vertical" ? "pf:w-full pf:gap-lg pf:p-md pf:rounded-md" : "pf:flex-col pf:gap-md pf:p-0 pf:rounded-xs", i.state === "disabled" ? "pf:text-soft-pearl-600" : i.state === "upcoming" ? "pf:text-soft-pearl-800" : "pf:text-soft-pearl-1000", d === "vertical" && i.state === "current" && "pf:bg-soft-pearl-200", o && "pf:cursor-pointer", o && d === "vertical" && "pf:hover:bg-soft-pearl-200", e), h = /* @__PURE__ */ l(s, { children: [/* @__PURE__ */ c(t, {
16
24
  state: i.state,
17
- number: f + 1
18
- }), /* @__PURE__ */ s("span", {
25
+ number: a + 1
26
+ }), /* @__PURE__ */ l("span", {
19
27
  className: "pf:flex pf:flex-col pf:min-w-0 pf:gap-xxs",
20
28
  children: [
21
- /* @__PURE__ */ o("span", { children: i.label }),
22
- i.description && /* @__PURE__ */ o("span", {
29
+ /* @__PURE__ */ c("span", { children: i.label }),
30
+ i.description && /* @__PURE__ */ c("span", {
23
31
  className: "pf:text-copy-12 pf:text-soft-pearl-800",
24
32
  children: i.description
25
33
  }),
26
- /* @__PURE__ */ o("span", {
34
+ /* @__PURE__ */ c("span", {
27
35
  className: "pf:sr-only",
28
- children: d?.[i.state] ?? {
36
+ children: p?.[i.state] ?? {
29
37
  upcoming: "Upcoming",
30
38
  current: "Current step",
31
39
  done: "Completed",
@@ -34,22 +42,22 @@ var c = i(function({ label: i, items: c, orientation: l = "horizontal", navigati
34
42
  })
35
43
  ]
36
44
  })] });
37
- return /* @__PURE__ */ s(r, { children: [/* @__PURE__ */ o("li", {
45
+ return /* @__PURE__ */ l(r, { children: [/* @__PURE__ */ c("li", {
38
46
  "aria-current": i.state === "current" ? "step" : void 0,
39
47
  "aria-disabled": i.state === "disabled" || void 0,
40
- className: "pf:min-w-0",
41
- children: p ? /* @__PURE__ */ o("button", {
48
+ className: n("pf:relative pf:min-w-0", d === "vertical" && a < u.length - 1 && "pf:after:absolute pf:after:start-[18px] pf:after:top-[32px] pf:after:bottom-[-6px] pf:after:w-px pf:after:bg-soft-pearl-300 pf:after:pointer-events-none"),
49
+ children: o ? /* @__PURE__ */ c("button", {
42
50
  type: "button",
43
51
  className: m,
44
52
  onClick: () => {
45
- u.onStepChange(i.id);
53
+ f.onStepChange(i.id);
46
54
  },
47
55
  children: h
48
- }) : /* @__PURE__ */ o("div", {
56
+ }) : /* @__PURE__ */ c("div", {
49
57
  className: m,
50
58
  children: h
51
59
  })
52
- }), l === "horizontal" && f < c.length - 1 && /* @__PURE__ */ o("li", {
60
+ }), d === "horizontal" && a < u.length - 1 && /* @__PURE__ */ c("li", {
53
61
  role: "presentation",
54
62
  "aria-hidden": "true",
55
63
  className: "pf:flex-1 pf:min-w-[12px] pf:mt-[10px] pf:h-[0.5px] pf:bg-soft-pearl-300"
@@ -58,4 +66,4 @@ var c = i(function({ label: i, items: c, orientation: l = "horizontal", navigati
58
66
  });
59
67
  });
60
68
  //#endregion
61
- export { c as Stepper };
69
+ export { u as Stepper };
@@ -12,7 +12,7 @@ var r = t(function({ label: t, prompt: r, onSelect: i, className: a, ...o }, s)
12
12
  onClick: () => {
13
13
  i(r ?? t);
14
14
  },
15
- className: e("pf:box-border pf:inline-flex pf:min-w-0 pf:max-w-full pf:min-h-[32px] pf:items-center pf:rounded-full pf:border-[0.5px] pf:border-solid pf:border-soft-pearl-300 pf:bg-soft-pearl-200 pf:px-lg pf:py-sm pf:font-body pf:text-copy-13 pf:text-soft-pearl-1000 pf:text-start pf:cursor-pointer pf:enabled:hover:bg-soft-pearl-300 pf:focus-visible:outline-2 pf:focus-visible:outline-offset-2 pf:focus-visible:outline-blue-700 pf:disabled:opacity-50 pf:disabled:cursor-not-allowed", a),
15
+ className: e("pf:box-border pf:inline-flex pf:min-w-0 pf:max-w-full pf:min-h-[32px] pf:items-center pf:rounded-full pf:border-[0.5px] pf:border-solid pf:border-soft-pearl-300 pf:bg-soft-pearl-200 pf:px-lg pf:py-sm pf:font-body pf:text-copy-13 pf:text-soft-pearl-1000 pf:text-start pf:cursor-pointer pf:enabled:hover:bg-soft-pearl-300 pf:transition-colors pf:duration-120 pf:ease-[cubic-bezier(0.23,1,0.32,1)] pf:focus-visible:transition-none pf:motion-reduce:transition-none pf:focus-visible:outline-2 pf:focus-visible:outline-offset-2 pf:focus-visible:outline-blue-700 pf:disabled:opacity-50 pf:disabled:cursor-not-allowed", a),
16
16
  children: /* @__PURE__ */ n("span", {
17
17
  className: "pf:min-w-0 pf:truncate",
18
18
  children: t
@@ -11,7 +11,7 @@ export interface SwitchProps extends Omit<BaseSwitch.Root.Props, 'children' | 'c
11
11
  * Figma 199:4, 200:5083.
12
12
  * SWITCH-01: Applies immediately; use Checkbox for changes saved with a form.
13
13
  * SWITCH-02: Keep the setting's label stable; the application reverts and explains failed saves.
14
- * SWITCH-03: Track 36×20, thumb 16 with 2px inset; 200ms ease-out, no motion when reduced.
14
+ * SWITCH-03: Track 36×20, thumb 16 with 2px inset; 180ms pointer slide with thumb press feedback; keyboard/reduced motion is immediate.
15
15
  * Never use a Switch to choose between two non-boolean options.
16
16
  */
17
17
  export declare const Switch: import("react").ForwardRefExoticComponent<Omit<SwitchProps, "ref"> & import("react").RefAttributes<HTMLElement>>;
@@ -1,36 +1,46 @@
1
1
  "use client";
2
2
  import { getChoiceClassNames as e } from "../choices/choice-class-names.js";
3
- import { ChoiceText as t } from "../choices/ChoiceText.js";
4
- import n from "clsx";
5
- import { forwardRef as r, useId as i } from "react";
6
- import { jsx as a, jsxs as o } from "react/jsx-runtime";
7
- import { useDirection as s } from "@base-ui/react/direction-provider";
8
- import { Switch as c } from "@base-ui/react/switch";
3
+ import { choiceMotionProps as t } from "../choices/choice-motion.js";
4
+ import { ChoiceText as n } from "../choices/ChoiceText.js";
5
+ import r from "clsx";
6
+ import { forwardRef as i, useId as a } from "react";
7
+ import { jsx as o, jsxs as s } from "react/jsx-runtime";
8
+ import { useDirection as c } from "@base-ui/react/direction-provider";
9
+ import { Switch as l } from "@base-ui/react/switch";
9
10
  //#region src/components/switch/Switch.tsx
10
- var l = r(function({ label: r, hideLabel: l, description: u, disabledReason: d, disabled: f, className: p, onCheckedChange: m, "aria-describedby": h, ...g }, _) {
11
- let v = i(), y = s(), b = f ? d : void 0;
12
- return /* @__PURE__ */ o(c.Root, {
13
- ...g,
14
- ref: _,
15
- "data-direction": y,
16
- disabled: f,
17
- onCheckedChange: (e) => m?.(e),
18
- "aria-label": r,
19
- "aria-describedby": [h, u || b ? v : void 0].filter(Boolean).join(" ") || void 0,
20
- className: n("pf-choice pf-switch", e(), "pf:[&_.pf-choice-text]:pt-xxs pf:pointer-coarse:[&_.pf-choice-text]:pt-xs", p),
21
- children: [/* @__PURE__ */ a("span", {
22
- className: n("pf-switch-track pf:box-border pf:relative pf:flex-none pf:w-[36px] pf:h-[20px] pf:rounded-full", "pf:bg-soft-pearl-400 pf:group-data-checked/choice:group-not-data-disabled/choice:bg-blue-700", "pf:group-focus-visible/choice:shadow-[0_0_0_2px_var(--pf-color-background),0_0_0_4px_var(--pf-color-blue-700)]", "pf:group-data-disabled/choice:bg-soft-pearl-100", "pf:group-data-disabled/choice:shadow-[inset_0_0_0_1px_var(--pf-color-soft-pearl-300)]", "pf:group-data-disabled/choice:group-data-checked/choice:bg-soft-pearl-300", "pf:group-not-data-disabled/choice:group-not-data-readonly/choice:group-hover/choice:bg-soft-pearl-500", "pf:group-not-data-disabled/choice:group-not-data-readonly/choice:group-data-checked/choice:group-hover/choice:bg-blue-800"),
11
+ var u = i(function({ label: i, hideLabel: u, description: d, disabledReason: f, disabled: p, className: m, onCheckedChange: h, "aria-describedby": g, ..._ }, v) {
12
+ let y = a(), b = c(), x = p ? f : void 0;
13
+ return /* @__PURE__ */ s(l.Root, {
14
+ ..._,
15
+ onPointerDownCapture: (e) => {
16
+ t.onPointerDownCapture(e), _.onPointerDownCapture?.(e);
17
+ },
18
+ onKeyDownCapture: (e) => {
19
+ t.onKeyDownCapture(e), _.onKeyDownCapture?.(e);
20
+ },
21
+ ref: v,
22
+ "data-direction": b,
23
+ disabled: p,
24
+ onCheckedChange: (e) => h?.(e),
25
+ "aria-label": i,
26
+ "aria-describedby": [g, d || x ? y : void 0].filter(Boolean).join(" ") || void 0,
27
+ className: r("pf-choice pf-switch", e(), "pf:[&_.pf-choice-text]:pt-xxs pf:pointer-coarse:[&_.pf-choice-text]:pt-xs", m),
28
+ children: [/* @__PURE__ */ o("span", {
29
+ className: r("pf-switch-track pf:box-border pf:relative pf:flex-none pf:w-[36px] pf:h-[20px] pf:rounded-full", "pf:bg-soft-pearl-400 pf:group-data-checked/choice:group-not-data-disabled/choice:bg-blue-700", "pf:group-focus-visible/choice:shadow-[0_0_0_2px_var(--pf-color-background),0_0_0_4px_var(--pf-color-blue-700)]", "pf:group-data-disabled/choice:bg-soft-pearl-100", "pf:group-data-disabled/choice:shadow-[inset_0_0_0_1px_var(--pf-color-soft-pearl-300)]", "pf:group-data-disabled/choice:group-data-checked/choice:bg-soft-pearl-300", "pf:group-not-data-disabled/choice:group-not-data-readonly/choice:group-hover/choice:bg-soft-pearl-500", "pf:group-not-data-disabled/choice:group-not-data-readonly/choice:group-data-checked/choice:group-hover/choice:bg-blue-800"),
23
30
  "aria-hidden": "true",
24
- children: /* @__PURE__ */ a(c.Thumb, { className: n("pf-switch-thumb pf:absolute pf:top-[2px] pf:start-[2px] pf:size-[16px] pf:rounded-full pf:bg-background", "pf:shadow-control pf:transition-transform pf:duration-(--pf-duration-base) pf:ease-[ease-out]", "pf:group-data-checked/choice:translate-x-[16px]", "pf:group-data-[direction=rtl]/choice:group-data-checked/choice:-translate-x-[16px]", "pf:group-data-disabled/choice:bg-soft-pearl-200 pf:group-data-disabled/choice:shadow-none", "pf:motion-reduce:transition-none") })
25
- }), /* @__PURE__ */ a(t, {
26
- label: r,
27
- hideLabel: l,
28
- description: u,
29
- descriptionId: v,
30
- disabledReason: b
31
+ children: /* @__PURE__ */ o(l.Thumb, {
32
+ className: r("pf-switch-thumb pf:absolute pf:top-[2px] pf:start-[2px] pf:size-[16px] pf:rounded-full", "pf:transition-none pf:motion-safe:group-data-[motion=pointer]/choice:transition-transform pf:duration-180 pf:ease-[cubic-bezier(0.23,1,0.32,1)]", "pf:group-data-checked/choice:translate-x-[16px]", "pf:group-data-[direction=rtl]/choice:group-data-checked/choice:-translate-x-[16px]", "pf:motion-reduce:transition-none"),
33
+ children: /* @__PURE__ */ o("span", { className: "pf:block pf:size-full pf:rounded-full pf:bg-background pf:shadow-control pf:origin-left pf:group-data-checked/choice:origin-right pf:rtl:origin-right pf:rtl:group-data-checked/choice:origin-left pf:transition-none pf:motion-safe:group-data-[motion=pointer]/choice:transition-transform pf:duration-100 pf:group-active/choice:duration-150 pf:ease-[cubic-bezier(0.23,1,0.32,1)] pf:motion-safe:group-data-[motion=pointer]/choice:group-not-data-disabled/choice:group-not-data-readonly/choice:group-active/choice:scale-x-[1.25] pf:group-data-disabled/choice:bg-soft-pearl-200 pf:group-data-disabled/choice:shadow-none" })
34
+ })
35
+ }), /* @__PURE__ */ o(n, {
36
+ label: i,
37
+ hideLabel: u,
38
+ description: d,
39
+ descriptionId: y,
40
+ disabledReason: x
31
41
  })]
32
42
  });
33
43
  });
34
- l.displayName = "PathfinderSwitch";
44
+ u.displayName = "PathfinderSwitch";
35
45
  //#endregion
36
- export { l as Switch };
46
+ export { u as Switch };
@@ -32,7 +32,7 @@ function w(w) {
32
32
  "aria-label": w.label,
33
33
  className: y(i.shell, "pf:@container/table", (w.container ?? "card") === "card" && i.card, w.className),
34
34
  children: [
35
- /* @__PURE__ */ S(h, {
35
+ w.controlsConfig?.toolbar !== !1 && /* @__PURE__ */ S(h, {
36
36
  props: w,
37
37
  state: E
38
38
  }),
@@ -45,117 +45,141 @@ function w(w) {
45
45
  className: "pf:m-0 pf:px-lg pf:py-sm pf:text-copy-12 pf:text-soft-pearl-800",
46
46
  children: "Pinned columns scroll with the table at this width. Widen the table or unpin columns to keep them fixed."
47
47
  }),
48
- /* @__PURE__ */ S("div", {
49
- ref: P,
50
- className: i.scroll,
51
- tabIndex: 0,
52
- role: "region",
53
- "aria-label": `${w.label} scroll area`,
54
- children: /* @__PURE__ */ C("table", {
55
- "aria-label": w.label,
56
- "aria-busy": k || void 0,
57
- className: i.table,
58
- style: {
59
- minWidth: N,
60
- width: w.viewConfig?.columnWidths || A.some((e) => e.pin) ? N : void 0
61
- },
62
- children: [
63
- /* @__PURE__ */ C("colgroup", { children: [
64
- w.selectionConfig && /* @__PURE__ */ S("col", { style: { width: 40 } }),
65
- A.map((e) => /* @__PURE__ */ S("col", { style: { width: e.width ?? 160 } }, e.id)),
66
- w.rowConfig.menu && /* @__PURE__ */ S("col", { style: { width: 48 } })
67
- ] }),
68
- /* @__PURE__ */ S("thead", { children: /* @__PURE__ */ C("tr", { children: [
69
- w.selectionConfig && /* @__PURE__ */ S("th", {
70
- scope: "col",
71
- className: y(i.header, "pf:text-start pf:align-middle pf:bg-background"),
72
- style: F && A.some((e) => e.pin === "start") ? {
73
- position: "sticky",
74
- insetInlineStart: 0,
75
- zIndex: 3
76
- } : void 0,
77
- children: /* @__PURE__ */ S(n, {
78
- className: "pf:align-middle",
79
- hideLabel: !0,
80
- label: "Select current page",
81
- checked: O.allPage,
82
- indeterminate: O.somePage,
83
- disabled: O.pageDisabled || k,
84
- onCheckedChange: O.togglePage
85
- })
86
- }),
87
- A.map((e) => {
88
- let t = E.sort?.columnId === e.id ? E.sort.direction : null;
89
- return /* @__PURE__ */ C("th", {
90
- style: F ? s(e, A, j, M) : void 0,
91
- scope: "col",
92
- "aria-sort": t === "asc" ? "ascending" : t === "desc" ? "descending" : void 0,
93
- className: y(i.header, "pf:relative", e.pin && "pf:bg-background", r[e.align ?? "start"]),
94
- children: [/* @__PURE__ */ S(c, {
95
- label: e.header,
96
- pin: e.pin,
97
- active: F,
98
- description: e.description,
99
- align: e.align,
100
- sorted: t,
101
- onSort: e.sortable ? (t) => {
102
- E.changeSort(e.id, t);
48
+ /* @__PURE__ */ C("div", {
49
+ className: "pf:relative pf:group/scroll",
50
+ children: [
51
+ /* @__PURE__ */ S("div", {
52
+ ref: P,
53
+ className: i.scroll,
54
+ tabIndex: 0,
55
+ role: "region",
56
+ "aria-label": `${w.label} scroll area`,
57
+ children: /* @__PURE__ */ C("table", {
58
+ "aria-label": w.label,
59
+ "aria-busy": k || void 0,
60
+ className: i.table,
61
+ style: {
62
+ minWidth: N,
63
+ width: w.viewConfig?.columnWidths || A.some((e) => e.pin) ? N : void 0
64
+ },
65
+ children: [
66
+ /* @__PURE__ */ C("colgroup", { children: [
67
+ w.selectionConfig && /* @__PURE__ */ S("col", { style: { width: 40 } }),
68
+ A.map((e) => /* @__PURE__ */ S("col", { style: { width: e.width ?? 160 } }, e.id)),
69
+ w.rowConfig.menu && /* @__PURE__ */ S("col", { style: { width: 48 } })
70
+ ] }),
71
+ /* @__PURE__ */ S("thead", { children: /* @__PURE__ */ C("tr", { children: [
72
+ w.selectionConfig && /* @__PURE__ */ S("th", {
73
+ scope: "col",
74
+ className: y(i.header, "pf:text-start pf:align-middle pf:bg-background"),
75
+ style: F && A.some((e) => e.pin === "start") ? {
76
+ position: "sticky",
77
+ insetInlineStart: 0,
78
+ zIndex: 6
103
79
  } : void 0,
104
- onChange: w.viewConfig?.columnPinning && e.pinnable !== !1 ? (t) => {
105
- E.setPin(e.id, t);
106
- } : void 0
107
- }), w.viewConfig?.columnWidths && e.resizable !== !1 && /* @__PURE__ */ S(l, {
108
- column: e,
109
- resetWidth: w.columns.find((t) => t.id === e.id)?.width ?? 160,
110
- onChange: E.setWidth
111
- })]
112
- }, e.id);
113
- }),
114
- w.rowConfig.menu && /* @__PURE__ */ S("th", {
115
- scope: "col",
116
- className: y(i.header, "pf:bg-background"),
117
- style: F && A.some((e) => e.pin === "end") ? {
118
- position: "sticky",
119
- insetInlineEnd: 0,
120
- zIndex: 3
121
- } : void 0,
122
- children: /* @__PURE__ */ S("span", {
123
- className: "pf:sr-only",
124
- children: "Actions"
80
+ children: /* @__PURE__ */ S(n, {
81
+ className: "pf:align-middle",
82
+ hideLabel: !0,
83
+ label: "Select current page",
84
+ checked: O.allPage,
85
+ indeterminate: O.somePage,
86
+ disabled: O.pageDisabled || k,
87
+ onCheckedChange: O.togglePage
88
+ })
89
+ }),
90
+ A.map((e) => {
91
+ let t = E.sort?.columnId === e.id ? E.sort.direction : null;
92
+ return /* @__PURE__ */ C("th", {
93
+ style: F ? {
94
+ ...s(e, A, j, M),
95
+ zIndex: e.pin ? 5 : 4
96
+ } : void 0,
97
+ scope: "col",
98
+ "aria-sort": t === "asc" ? "ascending" : t === "desc" ? "descending" : void 0,
99
+ className: y(i.header, "pf:relative pf:z-[4]", e.pin && "pf:bg-background", r[e.align ?? "start"]),
100
+ children: [/* @__PURE__ */ S(c, {
101
+ label: e.header,
102
+ pin: e.pin,
103
+ active: F,
104
+ description: e.description,
105
+ align: e.align,
106
+ sorted: t,
107
+ onSort: e.sortable ? (t) => {
108
+ E.changeSort(e.id, t);
109
+ } : void 0,
110
+ onChange: w.viewConfig?.columnPinning && e.pinnable !== !1 ? (t) => {
111
+ E.setPin(e.id, t);
112
+ } : void 0
113
+ }), w.viewConfig?.columnWidths && e.resizable !== !1 && /* @__PURE__ */ S(l, {
114
+ column: e,
115
+ resetWidth: w.columns.find((t) => t.id === e.id)?.width ?? 160,
116
+ onChange: E.setWidth
117
+ })]
118
+ }, e.id);
119
+ }),
120
+ w.rowConfig.menu && /* @__PURE__ */ S("th", {
121
+ scope: "col",
122
+ className: y(i.header, "pf:bg-background"),
123
+ style: F && A.some((e) => e.pin === "end") ? {
124
+ position: "sticky",
125
+ insetInlineEnd: 0,
126
+ zIndex: 6
127
+ } : void 0,
128
+ children: /* @__PURE__ */ S("span", {
129
+ className: "pf:sr-only",
130
+ children: "Actions"
131
+ })
132
+ })
133
+ ] }) }),
134
+ /* @__PURE__ */ S("tbody", { children: k ? Array.from({ length: Math.min(5, E.page.pageSize) }, (t, n) => /* @__PURE__ */ S("tr", { children: Array.from({ length: A.length + +!!j + +!!M }, (t, n) => /* @__PURE__ */ S("td", {
135
+ className: y(i.cell, V),
136
+ children: /* @__PURE__ */ S(e, { width: "80%" })
137
+ }, n)) }, n)) : !z && D.groups.map((e) => /* @__PURE__ */ C(b, { children: [w.groupingConfig && /* @__PURE__ */ S(d, {
138
+ label: w.groupingConfig.getLabel(e.id),
139
+ count: e.rows.length,
140
+ leading: w.groupingConfig.leading?.(e.id),
141
+ summary: w.groupingConfig.summary?.(e.id, e.rows),
142
+ collapsed: D.collapsed.includes(e.id),
143
+ onToggle: () => {
144
+ D.toggle(e.id);
145
+ },
146
+ colSpan: A.length + Number(!!j) + Number(!!M),
147
+ density: E.density
148
+ }), (!w.groupingConfig || !D.collapsed.includes(e.id)) && e.rows.map((e) => /* @__PURE__ */ S(p, {
149
+ props: w,
150
+ row: e,
151
+ columns: A,
152
+ selection: O,
153
+ canPin: F,
154
+ rowHeight: V
155
+ }, w.rowConfig.getId(e)))] }, e.id)) }),
156
+ !k && !z && /* @__PURE__ */ S(u, {
157
+ config: w.footerConfig,
158
+ columns: A,
159
+ selection: !!w.selectionConfig,
160
+ actions: !!w.rowConfig.menu,
161
+ canPin: F
125
162
  })
126
- })
127
- ] }) }),
128
- /* @__PURE__ */ S("tbody", { children: k ? Array.from({ length: Math.min(5, E.page.pageSize) }, (t, n) => /* @__PURE__ */ S("tr", { children: Array.from({ length: A.length + +!!j + +!!M }, (t, n) => /* @__PURE__ */ S("td", {
129
- className: y(i.cell, V),
130
- children: /* @__PURE__ */ S(e, { width: "80%" })
131
- }, n)) }, n)) : !z && D.groups.map((e) => /* @__PURE__ */ C(b, { children: [w.groupingConfig && /* @__PURE__ */ S(d, {
132
- label: w.groupingConfig.getLabel(e.id),
133
- count: e.rows.length,
134
- leading: w.groupingConfig.leading?.(e.id),
135
- summary: w.groupingConfig.summary?.(e.id, e.rows),
136
- collapsed: D.collapsed.includes(e.id),
137
- onToggle: () => {
138
- D.toggle(e.id);
139
- },
140
- colSpan: A.length + Number(!!j) + Number(!!M),
141
- density: E.density
142
- }), (!w.groupingConfig || !D.collapsed.includes(e.id)) && e.rows.map((e) => /* @__PURE__ */ S(p, {
143
- props: w,
144
- row: e,
145
- columns: A,
146
- selection: O,
147
- canPin: F,
148
- rowHeight: V
149
- }, w.rowConfig.getId(e)))] }, e.id)) }),
150
- !k && !z && /* @__PURE__ */ S(u, {
151
- config: w.footerConfig,
152
- columns: A,
153
- selection: !!w.selectionConfig,
154
- actions: !!w.rowConfig.menu,
155
- canPin: F
163
+ ]
156
164
  })
157
- ]
158
- })
165
+ }),
166
+ /* @__PURE__ */ S("div", {
167
+ "aria-hidden": "true",
168
+ style: {
169
+ backgroundImage: "linear-gradient(to right, rgba(0,0,0,0) 0%, rgba(0,0,0,.04) 6%, rgba(0,0,0,.07) 12%, rgba(0,0,0,.05) 25%, rgba(0,0,0,.02) 50%, rgba(0,0,0,.007) 75%, rgba(0,0,0,0) 100%)",
170
+ insetInlineStart: F && A.some((e) => e.pin === "start") ? j + A.filter((e) => e.pin === "start").reduce((e, t) => e + (t.width ?? 160), 0) : 0
171
+ },
172
+ className: "pf:pointer-events-none pf:absolute pf:inset-y-0 pf:w-[24px] pf:z-[7] pf:opacity-0 pf:transition-opacity pf:duration-150 pf:ease-out pf:motion-reduce:transition-none pf:rtl:rotate-180 pf:group-data-scroll-start/scroll:group-hover/scroll:opacity-100 pf:group-data-scroll-start/scroll:group-focus-within/scroll:opacity-100"
173
+ }),
174
+ /* @__PURE__ */ S("div", {
175
+ "aria-hidden": "true",
176
+ style: {
177
+ backgroundImage: "linear-gradient(to left, rgba(0,0,0,0) 0%, rgba(0,0,0,.04) 6%, rgba(0,0,0,.07) 12%, rgba(0,0,0,.05) 25%, rgba(0,0,0,.02) 50%, rgba(0,0,0,.007) 75%, rgba(0,0,0,0) 100%)",
178
+ insetInlineEnd: F && A.some((e) => e.pin === "end") ? M + A.filter((e) => e.pin === "end").reduce((e, t) => e + (t.width ?? 160), 0) : 0
179
+ },
180
+ className: "pf:pointer-events-none pf:absolute pf:inset-y-0 pf:w-[24px] pf:z-[7] pf:opacity-0 pf:transition-opacity pf:duration-150 pf:ease-out pf:motion-reduce:transition-none pf:rtl:rotate-180 pf:group-data-scroll-end/scroll:group-hover/scroll:opacity-100 pf:group-data-scroll-end/scroll:group-focus-within/scroll:opacity-100"
181
+ })
182
+ ]
159
183
  }),
160
184
  !k && (z || E.rows.length === 0) && /* @__PURE__ */ S(t, {
161
185
  kind: z ? "error" : L ? "no-results" : "first-use",
@@ -172,7 +196,7 @@ function w(w) {
172
196
  onClick: R.action.onAction
173
197
  } : void 0
174
198
  }),
175
- /* @__PURE__ */ S(f, {
199
+ w.controlsConfig?.pagination !== !1 && /* @__PURE__ */ S(f, {
176
200
  page: E.page,
177
201
  total: E.total,
178
202
  visibleCount: E.rows.length,
@@ -63,7 +63,16 @@ function m({ label: m, pin: h, active: g, description: _, align: v, sorted: y, o
63
63
  id: e.id,
64
64
  type: "action",
65
65
  label: e.label,
66
- leadingIcon: y === e.value ? /* @__PURE__ */ f(t, { size: 16 }) : void 0,
66
+ trailingIcon: y === e.value ? /* @__PURE__ */ f("span", {
67
+ className: "pf:text-blue-700",
68
+ children: /* @__PURE__ */ f(t, {
69
+ size: 16,
70
+ tone: "inherit"
71
+ })
72
+ }) : /* @__PURE__ */ f("span", {
73
+ "aria-hidden": "true",
74
+ className: "pf:size-[16px]"
75
+ }),
67
76
  onClick: () => {
68
77
  C(!1), b(e.value);
69
78
  }
@@ -91,7 +100,16 @@ function m({ label: m, pin: h, active: g, description: _, align: v, sorted: y, o
91
100
  id: e.id,
92
101
  type: "action",
93
102
  label: e.label,
94
- leadingIcon: (h ?? null) === e.value ? /* @__PURE__ */ f(t, { size: 16 }) : void 0,
103
+ trailingIcon: (h ?? null) === e.value ? /* @__PURE__ */ f("span", {
104
+ className: "pf:text-blue-700",
105
+ children: /* @__PURE__ */ f(t, {
106
+ size: 16,
107
+ tone: "inherit"
108
+ })
109
+ }) : /* @__PURE__ */ f("span", {
110
+ "aria-hidden": "true",
111
+ className: "pf:size-[16px]"
112
+ }),
95
113
  onClick: () => {
96
114
  C(!1), x(e.value);
97
115
  }
@@ -14,7 +14,7 @@ function n({ column: n, resetWidth: r, onChange: i }) {
14
14
  onValueChange: (e) => {
15
15
  i(n.id, e);
16
16
  },
17
- className: "pf:absolute pf:inset-y-0 pf:end-0 pf:z-[4]"
17
+ className: "pf:absolute pf:inset-y-0 pf:end-0 pf:z-[4] pf:[&>span]:absolute pf:[&>span]:end-0 pf:[&>span]:top-0 pf:[&>span]:h-[var(--pf-table-height)]"
18
18
  });
19
19
  }
20
20
  //#endregion
@@ -19,6 +19,7 @@ function o({ props: o, state: s }) {
19
19
  children: /* @__PURE__ */ a(n, {})
20
20
  }),
21
21
  children: o.columns.filter((e) => e.hideable !== !1).map((e) => /* @__PURE__ */ a(t, {
22
+ className: "pf:select-none",
22
23
  label: e.header,
23
24
  checked: !s.hidden.includes(e.id),
24
25
  disabled: s.columns.length === 1 && !s.hidden.includes(e.id),
@@ -83,7 +83,7 @@ function l({ filter: l, values: u, fields: d, onFieldChange: f, operator: p, onO
83
83
  onClick: () => {
84
84
  h([]);
85
85
  },
86
- className: "pf:shrink-0 pf:self-center",
86
+ className: "pf:shrink-0 pf:self-stretch pf:[&.pf-icon-button]:h-auto pf:[&.pf-icon-button]:w-[28px] pf:[&.pf-icon-button]:rounded-none pf:[&.pf-icon-button]:rounded-e-sm",
87
87
  children: /* @__PURE__ */ o(t, { size: 16 })
88
88
  })
89
89
  ]
@@ -2,8 +2,8 @@ import { CheckIcon as e } from "../icons/CheckIcon.js";
2
2
  import { Button as t } from "../button/Button.js";
3
3
  import { Input as n } from "../input/Input.js";
4
4
  import { Checkbox as r } from "../checkbox/Checkbox.js";
5
- import { DateCalendar as i } from "../date-picker/DateCalendar.js";
6
- import { Search as a } from "../search/Search.js";
5
+ import { Search as i } from "../search/Search.js";
6
+ import { DateCalendar as a } from "../date-picker/DateCalendar.js";
7
7
  import { useState as o } from "react";
8
8
  import { Fragment as s, jsx as c, jsxs as l } from "react/jsx-runtime";
9
9
  //#region src/components/table/TableFilterEditor.tsx
@@ -16,7 +16,7 @@ function u({ filter: u, values: d, operator: f, onChange: p, onClose: m }) {
16
16
  },
17
17
  children: ["Clear ", u.label]
18
18
  });
19
- if (u.type === "date") return /* @__PURE__ */ l(s, { children: [/* @__PURE__ */ c(i, {
19
+ if (u.type === "date") return /* @__PURE__ */ l(s, { children: [/* @__PURE__ */ c(a, {
20
20
  config: {
21
21
  mode: "range",
22
22
  label: u.label,
@@ -74,7 +74,7 @@ function u({ filter: u, values: d, operator: f, onChange: p, onClose: m }) {
74
74
  });
75
75
  let S = [...u.options].filter((e) => e.label.toLocaleLowerCase().includes(h.toLocaleLowerCase())).sort((e, t) => Number(d.includes(t.value)) - Number(d.includes(e.value))), C = u.type === "single" || f === "is";
76
76
  return /* @__PURE__ */ l(s, { children: [
77
- (u.searchable || u.options.length > 8) && /* @__PURE__ */ c(a, {
77
+ (u.searchable || u.options.length > 8) && /* @__PURE__ */ c(i, {
78
78
  label: `Search ${u.label} options`,
79
79
  hideLabel: !0,
80
80
  value: h,
@@ -103,13 +103,13 @@ function u({ filter: u, values: d, operator: f, onChange: p, onClose: m }) {
103
103
  })
104
104
  ]
105
105
  }, t.value) : /* @__PURE__ */ l("div", {
106
- className: "pf:relative pf:flex pf:items-center pf:gap-sm pf:rounded-sm pf:hover:bg-soft-pearl-200 pf:min-h-[36px] pf:px-md pf:py-sm",
106
+ className: "pf:relative pf:select-none pf:flex pf:items-center pf:gap-sm pf:rounded-sm pf:hover:bg-soft-pearl-200 pf:min-h-[36px] pf:px-md pf:py-sm",
107
107
  children: [/* @__PURE__ */ c(r, {
108
108
  label: t.label,
109
109
  hideLabel: !!t.leading,
110
110
  disabled: t.disabled,
111
111
  checked: d.includes(t.value),
112
- className: "pf:before:absolute pf:before:inset-0 pf:before:content-['']",
112
+ className: "pf:[&.pf-checkbox]:static pf:before:absolute pf:before:inset-0 pf:before:content-['']",
113
113
  onCheckedChange: (e) => {
114
114
  p(e ? [...d, t.value] : d.filter((e) => e !== t.value));
115
115
  }
@@ -53,6 +53,7 @@ function m({ config: m, operators: h, onOperatorChange: g, onChange: _, tools: v
53
53
  }), t.filter((e) => e.label.toLocaleLowerCase().includes(N.toLocaleLowerCase())).map((t) => /* @__PURE__ */ p(e, {
54
54
  size: "sm",
55
55
  variant: "tertiary",
56
+ className: "pf:[&.pf-button]:justify-start pf:text-start",
56
57
  "aria-label": `Add ${t.label} filter`,
57
58
  onClick: () => {
58
59
  S([.../* @__PURE__ */ new Set([...x, t.id])]), M(t.id);
@@ -1,4 +1,4 @@
1
- import type { ReactElement, ReactNode } from 'react';
1
+ import { type ReactElement, type ReactNode } from 'react';
2
2
  interface TableOptionMenuProps {
3
3
  label: string;
4
4
  trigger: ReactElement;
@@ -1,22 +1,21 @@
1
- import { jsx as e, jsxs as t } from "react/jsx-runtime";
2
- import { Popover as n } from "@base-ui/react/popover";
1
+ import { Popover as e } from "../popover/Popover.js";
2
+ import { useState as t } from "react";
3
+ import { jsx as n } from "react/jsx-runtime";
3
4
  //#region src/components/table/TableOptionMenu.tsx
4
5
  function r({ label: r, trigger: i, children: a, open: o, onOpenChange: s, wide: c }) {
5
- return /* @__PURE__ */ t(n.Root, {
6
- open: o,
7
- onOpenChange: s,
8
- children: [/* @__PURE__ */ e(n.Trigger, { render: i }), /* @__PURE__ */ e(n.Portal, { children: /* @__PURE__ */ e(n.Positioner, {
9
- sideOffset: 4,
10
- align: "start",
11
- collisionPadding: 8,
12
- className: "pf:z-[60]",
13
- children: /* @__PURE__ */ e(n.Popup, {
14
- "aria-label": r,
15
- style: { width: c ? "max-content" : 240 },
16
- className: "pf:box-border pf:max-w-[calc(100vw-16px)] pf:max-h-[var(--available-height)] pf:overflow-auto pf:p-md pf:bg-background pf:border-[0.5px] pf:border-solid pf:border-soft-pearl-300 pf:rounded-[10px] pf:shadow-menu pf:font-body pf:text-label-13 pf:flex pf:flex-col pf:gap-md",
17
- children: a
18
- })
19
- }) })]
6
+ let [l, u] = t(!1);
7
+ return /* @__PURE__ */ n(e, {
8
+ open: o ?? l,
9
+ onOpenChange: (e) => {
10
+ u(e), s?.(e);
11
+ },
12
+ trigger: i,
13
+ title: r,
14
+ className: c ? "pf:w-max" : "pf:w-[240px]",
15
+ children: /* @__PURE__ */ n("div", {
16
+ className: "pf:flex pf:flex-col pf:gap-md",
17
+ children: a
18
+ })
20
19
  });
21
20
  }
22
21
  //#endregion