@pibit.ai/cure-design-system 0.3.20 → 0.3.23

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 (61) hide show
  1. package/README.md +1 -0
  2. package/dist/applications/schedule-calendar/schedule-calendar.d.ts.map +1 -1
  3. package/dist/applications/schedule-calendar/schedule-calendar.js +24 -22
  4. package/dist/applications/schedule-calendar/utils.d.ts +13 -3
  5. package/dist/applications/schedule-calendar/utils.d.ts.map +1 -1
  6. package/dist/applications/schedule-calendar/utils.js +136 -117
  7. package/dist/index.d.ts +1 -0
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +92 -88
  10. package/dist/patterns/table/TableWrapper.d.ts.map +1 -1
  11. package/dist/patterns/table/TableWrapper.js +784 -665
  12. package/dist/patterns/table/index.d.ts +1 -1
  13. package/dist/patterns/table/index.d.ts.map +1 -1
  14. package/dist/patterns/table/storyHelpers/useMockTableState.d.ts.map +1 -1
  15. package/dist/patterns/table/table.d.ts.map +1 -1
  16. package/dist/patterns/table/table.js +44 -43
  17. package/dist/patterns/table/toolbar/AlignDropdown.d.ts.map +1 -1
  18. package/dist/patterns/table/toolbar/AlignDropdown.js +19 -25
  19. package/dist/patterns/table/toolbar/ColumnHeaderMenu.d.ts +9 -0
  20. package/dist/patterns/table/toolbar/ColumnHeaderMenu.d.ts.map +1 -1
  21. package/dist/patterns/table/toolbar/ColumnHeaderMenu.js +115 -81
  22. package/dist/patterns/table/toolbar/GroupByDropdown.d.ts.map +1 -1
  23. package/dist/patterns/table/toolbar/GroupByDropdown.js +48 -43
  24. package/dist/patterns/table/toolbar/SummaryFooter.d.ts.map +1 -1
  25. package/dist/patterns/table/toolbar/SummaryFooter.js +34 -27
  26. package/dist/patterns/table/toolbar/TableToolbar.d.ts +2 -0
  27. package/dist/patterns/table/toolbar/TableToolbar.d.ts.map +1 -1
  28. package/dist/patterns/table/toolbar/TableToolbar.js +2 -1
  29. package/dist/patterns/table/toolbar/index.d.ts +2 -2
  30. package/dist/patterns/table/toolbar/index.d.ts.map +1 -1
  31. package/dist/patterns/table/toolbar/tableToolbarHelpers.d.ts +10 -1
  32. package/dist/patterns/table/toolbar/tableToolbarHelpers.d.ts.map +1 -1
  33. package/dist/patterns/table/toolbar/tableToolbarHelpers.js +117 -117
  34. package/dist/patterns/table/types.d.ts +1 -0
  35. package/dist/patterns/table/types.d.ts.map +1 -1
  36. package/dist/primitives/multi-chips-select/MultiChipsSelect.d.ts +20 -0
  37. package/dist/primitives/multi-chips-select/MultiChipsSelect.d.ts.map +1 -0
  38. package/dist/primitives/multi-chips-select/MultiChipsSelect.js +233 -0
  39. package/dist/primitives/multi-chips-select/index.d.ts +3 -0
  40. package/dist/primitives/multi-chips-select/index.d.ts.map +1 -0
  41. package/dist/primitives/multi-chips-select/tagKeyFromLabel.d.ts +3 -0
  42. package/dist/primitives/multi-chips-select/tagKeyFromLabel.d.ts.map +1 -0
  43. package/dist/primitives/multi-chips-select/tagKeyFromLabel.js +6 -0
  44. package/dist/primitives/select/ExpandableSearchInput.d.ts +3 -1
  45. package/dist/primitives/select/ExpandableSearchInput.d.ts.map +1 -1
  46. package/dist/primitives/select/ExpandableSearchInput.js +100 -78
  47. package/dist/primitives/select/SearchInput.d.ts +5 -1
  48. package/dist/primitives/select/SearchInput.d.ts.map +1 -1
  49. package/dist/primitives/select/SearchInput.js +94 -74
  50. package/dist/primitives/select/searchable-select.d.ts +5 -3
  51. package/dist/primitives/select/searchable-select.d.ts.map +1 -1
  52. package/dist/primitives/select/searchable-select.js +196 -177
  53. package/dist/primitives/select/select-item.d.ts.map +1 -1
  54. package/dist/primitives/select/select-item.js +70 -54
  55. package/dist/primitives/select/select.d.ts +7 -2
  56. package/dist/primitives/select/select.d.ts.map +1 -1
  57. package/dist/primitives/select/select.js +161 -137
  58. package/dist/primitives/tooltip/ellipsis-content.d.ts.map +1 -1
  59. package/dist/primitives/tooltip/ellipsis-content.js +46 -43
  60. package/dist/styles/components.css +1 -1
  61. package/package.json +1 -1
@@ -1,76 +1,77 @@
1
- import { jsx as e, jsxs as u, Fragment as y } from "react/jsx-runtime";
2
- import { useCallback as h, useMemo as N } from "react";
3
- import { SearchMd as k, XClose as v } from "@untitledui/icons";
4
- import { ComboBox as w, Group as C, Input as I } from "react-aria-components";
5
- import { cx as n } from "../../utils/cn.js";
6
- import { sizes as b } from "./select.js";
7
- import { ButtonUtility as S } from "../button/button-utility.js";
8
- const z = {
1
+ import { jsx as n, jsxs as b, Fragment as N } from "react/jsx-runtime";
2
+ import { useRef as C, useCallback as f, useEffect as I, useMemo as E } from "react";
3
+ import { SearchMd as L, XClose as z } from "@untitledui/icons";
4
+ import { ComboBox as P, Group as R, Input as _ } from "react-aria-components";
5
+ import { cx as u } from "../../utils/cn.js";
6
+ import { sizes as x } from "./select.js";
7
+ import { ButtonUtility as j } from "../button/button-utility.js";
8
+ const q = {
9
9
  sm: "h-8",
10
10
  md: "h-9",
11
11
  lg: "h-11"
12
- }, _ = ({
12
+ }, B = ({
13
13
  size: i,
14
- shortcut: c,
15
- placeholder: s,
16
- shortcutClassName: m,
17
- onKeyDown: l,
18
- onClear: t,
14
+ shortcut: s,
15
+ placeholder: p,
16
+ shortcutClassName: d,
17
+ onKeyDown: m,
18
+ onClear: o,
19
19
  hasValue: r,
20
- className: o
21
- }) => /* @__PURE__ */ e(
22
- C,
20
+ className: l
21
+ }) => /* @__PURE__ */ n(
22
+ R,
23
23
  {
24
- className: ({ isFocusWithin: a, isDisabled: p }) => n(
24
+ className: ({ isFocusWithin: a, isDisabled: c }) => u(
25
25
  "relative flex w-full items-center gap-2 rounded-md bg-primary ring-1 ring-secondary outline-hidden transition-shadow duration-100 ease-linear ring-inset",
26
- p && "cursor-not-allowed bg-disabled_subtle",
26
+ c && "cursor-not-allowed bg-disabled_subtle",
27
27
  a && "ring-1 ring-brand",
28
- z[i],
29
- b[i].root,
30
- o
28
+ q[i],
29
+ x[i].root,
30
+ l
31
31
  ),
32
- children: ({ isDisabled: a }) => /* @__PURE__ */ u(y, { children: [
33
- /* @__PURE__ */ e(
34
- k,
32
+ children: ({ isDisabled: a }) => /* @__PURE__ */ b(N, { children: [
33
+ /* @__PURE__ */ n(
34
+ L,
35
35
  {
36
36
  color: "var(--color-utility-gray-300)",
37
37
  className: "pointer-events-none size-4 flex-shrink-0"
38
38
  }
39
39
  ),
40
- /* @__PURE__ */ e("div", { className: "relative flex w-full items-center gap-2", children: /* @__PURE__ */ e(
41
- I,
40
+ /* @__PURE__ */ n("div", { className: "relative flex w-full items-center gap-2", children: /* @__PURE__ */ n(
41
+ _,
42
42
  {
43
- placeholder: s,
44
- onKeyDown: l,
45
- className: n(
43
+ placeholder: p,
44
+ onKeyDown: m,
45
+ className: u(
46
46
  "z-10 w-full appearance-none bg-transparent text-sm text-primary caret-alpha-black/90 placeholder:text-placeholder_subtle focus:outline-hidden disabled:cursor-not-allowed disabled:text-disabled disabled:placeholder:text-disabled",
47
- r && "pr-6"
47
+ r && "pr-6",
48
+ s && !r && "pr-12"
48
49
  )
49
50
  }
50
51
  ) }),
51
- /* @__PURE__ */ u("div", { className: "flex-shrink-0", children: [
52
- r && !a && /* @__PURE__ */ e(
53
- S,
52
+ /* @__PURE__ */ b("div", { className: "flex-shrink-0", children: [
53
+ r && !a && /* @__PURE__ */ n(
54
+ j,
54
55
  {
55
- icon: /* @__PURE__ */ e(v, { size: 14 }),
56
+ icon: /* @__PURE__ */ n(z, { size: 14 }),
56
57
  color: "tertiary",
57
- onClick: t,
58
+ onClick: o,
58
59
  "aria-label": "Clear search"
59
60
  }
60
61
  ),
61
- c && !r && /* @__PURE__ */ e(
62
+ s && !r && /* @__PURE__ */ n(
62
63
  "div",
63
64
  {
64
- className: n(
65
+ className: u(
65
66
  "absolute inset-y-0.5 right-0.5 z-10 flex items-center rounded-r-[inherit] bg-linear-to-r from-transparent to-bg-primary to-40% pl-8",
66
67
  a && "to-bg-disabled_subtle",
67
- b[i].shortcut,
68
- m
68
+ x[i].shortcut,
69
+ d
69
70
  ),
70
- children: /* @__PURE__ */ e(
71
+ children: /* @__PURE__ */ n(
71
72
  "span",
72
73
  {
73
- className: n(
74
+ className: u(
74
75
  "pointer-events-none rounded px-1 py-px text-xs font-medium text-quaternary ring-1 ring-secondary select-none ring-inset",
75
76
  a && "bg-transparent text-disabled"
76
77
  ),
@@ -84,53 +85,72 @@ const z = {
84
85
  ] })
85
86
  }
86
87
  );
87
- function G({
88
+ function H({
88
89
  size: i = "sm",
89
- shortcut: c = !1,
90
- placeholder: s,
90
+ shortcut: s = !1,
91
+ registerShortcut: p,
92
+ placeholder: d,
91
93
  shortcutClassName: m,
92
- value: l,
93
- onChange: t,
94
- onKeyDown: r,
95
- className: o,
96
- "aria-label": a,
97
- ...p
94
+ value: o,
95
+ onChange: r,
96
+ onKeyDown: l,
97
+ className: a,
98
+ isDisabled: c = !1,
99
+ "aria-label": w,
100
+ ...k
98
101
  }) {
99
- const f = h(
100
- (d) => {
101
- d.key === "Enter" && (d.preventDefault(), d.stopPropagation()), r == null || r(d);
102
+ const h = C(null), y = p ?? s, g = f(() => {
103
+ var e, t;
104
+ (t = (e = h.current) == null ? void 0 : e.querySelector("input")) == null || t.focus();
105
+ }, []);
106
+ I(() => {
107
+ if (!y || c) return;
108
+ const e = (t) => {
109
+ (t.metaKey || t.ctrlKey) && !t.shiftKey && !t.altKey && t.key.toLowerCase() === "k" && (t.preventDefault(), t.stopPropagation(), g());
110
+ };
111
+ return window.addEventListener("keydown", e, { capture: !0 }), () => window.removeEventListener("keydown", e, { capture: !0 });
112
+ }, [y, c, g]);
113
+ const v = f(
114
+ (e) => {
115
+ if ((e.metaKey || e.ctrlKey) && !e.shiftKey && !e.altKey && e.key.toLowerCase() === "k") {
116
+ e.preventDefault(), e.stopPropagation();
117
+ return;
118
+ }
119
+ e.key === "Enter" && (e.preventDefault(), e.stopPropagation()), l == null || l(e);
102
120
  },
103
- [r]
104
- ), x = h(() => {
105
- t == null || t("");
106
- }, [t]), g = N(() => !!l && l.length > 0, [l]);
107
- return /* @__PURE__ */ e(
108
- w,
121
+ [l]
122
+ ), K = f(() => {
123
+ r == null || r("");
124
+ }, [r]), S = E(() => !!o && o.length > 0, [o]);
125
+ return /* @__PURE__ */ n(
126
+ P,
109
127
  {
110
- ...p,
111
- inputValue: l,
112
- onInputChange: t,
128
+ ...k,
129
+ ref: h,
130
+ inputValue: o,
131
+ onInputChange: r,
113
132
  menuTrigger: "manual",
114
133
  items: [],
115
134
  allowsCustomValue: !0,
116
- "aria-label": a || s || "Search",
117
- className: n("w-xs", o),
118
- children: () => /* @__PURE__ */ e(
119
- _,
135
+ isDisabled: c,
136
+ "aria-label": w || d || "Search",
137
+ className: u("w-xs", a),
138
+ children: () => /* @__PURE__ */ n(
139
+ B,
120
140
  {
121
141
  size: i,
122
- shortcut: c,
123
- placeholder: s,
142
+ shortcut: s,
143
+ placeholder: d,
124
144
  shortcutClassName: m,
125
- onKeyDown: f,
126
- onClear: x,
127
- hasValue: g,
128
- className: o
145
+ onKeyDown: v,
146
+ onClear: K,
147
+ hasValue: S,
148
+ className: a
129
149
  }
130
150
  )
131
151
  }
132
152
  );
133
153
  }
134
154
  export {
135
- G as default
155
+ H as default
136
156
  };
@@ -24,12 +24,14 @@ export interface SearchableSelectProps extends Omit<AriaSelectProps<SelectItemTy
24
24
  popoverClassName?: string;
25
25
  /** Custom text styles */
26
26
  textStyles?: string;
27
- /** Callback when selection changes */
28
- onSelectionChange?: (key: string) => void;
27
+ /** Callback when selection changes; `null` when cleared */
28
+ onSelectionChange?: (key: string | null) => void;
29
+ /** When true, clicking the already-selected option in the dropdown clears the selection. Default false. */
30
+ isDeselectable?: boolean;
29
31
  /** Placeholder for search input */
30
32
  searchPlaceholder?: string;
31
33
  /** Display text to show when selected item is not in items array */
32
34
  selectedDisplayValue?: string;
33
35
  }
34
- export declare const SearchableSelect: ({ placeholder, placeholderIcon, size, items, label, hint, tooltip, className, textStyles, popoverClassName, onSearchChange, onSelectionChange, isLoading, searchPlaceholder, selectedDisplayValue, ...rest }: SearchableSelectProps) => import("react/jsx-runtime").JSX.Element;
36
+ export declare const SearchableSelect: ({ placeholder, placeholderIcon, size, items, label, hint, tooltip, className, textStyles, popoverClassName, onSearchChange, onSelectionChange, isLoading, isDeselectable, searchPlaceholder, selectedDisplayValue, ...rest }: SearchableSelectProps) => import("react/jsx-runtime").JSX.Element;
35
37
  //# sourceMappingURL=searchable-select.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"searchable-select.d.ts","sourceRoot":"","sources":["../../../src/primitives/select/searchable-select.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,SAAS,EAAO,MAAM,OAAO,CAAC;AAGhD,OAAO,KAAK,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAY5E,OAAO,EAAmC,KAAK,cAAc,EAAE,MAAM,UAAU,CAAC;AAsBhF,MAAM,WAAW,qBAAsB,SAAQ,IAAI,CACjD,eAAe,CAAC,cAAc,CAAC,EAC/B,UAAU,GAAG,OAAO,GAAG,mBAAmB,CAC3C;IACC,iEAAiE;IACjE,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,oEAAoE;IACpE,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,wCAAwC;IACxC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iCAAiC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mBAAmB;IACnB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wCAAwC;IACxC,eAAe,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC;IACjC,gCAAgC;IAChC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,yBAAyB;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sCAAsC;IACtC,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,mCAAmC;IACnC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oEAAoE;IACpE,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAkHD,eAAO,MAAM,gBAAgB,GAAI,8MAiB9B,qBAAqB,4CAuIvB,CAAC"}
1
+ {"version":3,"file":"searchable-select.d.ts","sourceRoot":"","sources":["../../../src/primitives/select/searchable-select.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,SAAS,EAAO,MAAM,OAAO,CAAC;AAGhD,OAAO,KAAK,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAY5E,OAAO,EAAmC,KAAK,cAAc,EAAE,MAAM,UAAU,CAAC;AAsBhF,MAAM,WAAW,qBAAsB,SAAQ,IAAI,CACjD,eAAe,CAAC,cAAc,CAAC,EAC/B,UAAU,GAAG,OAAO,GAAG,mBAAmB,CAC3C;IACC,iEAAiE;IACjE,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,oEAAoE;IACpE,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,wCAAwC;IACxC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iCAAiC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mBAAmB;IACnB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wCAAwC;IACxC,eAAe,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC;IACjC,gCAAgC;IAChC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,yBAAyB;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2DAA2D;IAC3D,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACjD,2GAA2G;IAC3G,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,mCAAmC;IACnC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oEAAoE;IACpE,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAkHD,eAAO,MAAM,gBAAgB,GAAI,8NAkB9B,qBAAqB,4CAkKvB,CAAC"}