@grasp-labs/ds-react-components 1.1.2 → 1.1.4

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.
@@ -1,4 +1,4 @@
1
- import { j as o } from "./index-BLcXInK2.js";
1
+ import { j as o } from "./index-DnAYLZ11.js";
2
2
  import { useState as G, useEffect as Oe, createContext as Xt, useRef as ce, useContext as Zt, useMemo as le, useCallback as Ie } from "react";
3
3
  const Be = (e, t, n, r, a) => {
4
4
  if (!r) throw new Error(a ?? `Invalid property path: ${t}
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { aj as o, A as e, c as n, ak as c, al as t, am as r, an as I, B as l, a as i, ao as d, af as b, e as C, ap as g, f as u, aq as B, C as T, ar as D, V as p, as as L, h, i as w, at as P, au as S, av as f, aw as F, ax as y, ay as x, k as E, az as m, aA as k, aB as A, aC as H, aD as v, aE as R, ai as M, aF as N, aG as U, D as O, aH as G, aI as W, l as _, m as J, n as K, o as V, G as Y, aJ as q, aK as z, E as Q, aL as X, p as Z, aM as $, aO as j, F as aa, r as sa, w as oa, q as ea, u as na, s as ca, x as ta, t as ra, aN as Ia, aP as la, y as ia, aQ as da, aa as ba, ab as Ca, ac as ga, ad as ua, ae as Ba, aR as Ta, I as Da, aS as pa, aT as La, J as ha, K as wa, ag as Pa, aU as Sa, aV as fa, L as Fa, z as ya, aW as xa, H as Ea, M as ma, aX as ka, N as Aa, aY as Ha, aZ as va, Z as Ra, P as Ma, a_ as Na, a$ as Ua, O as Oa, Q as Ga, b0 as Wa, R as _a, b1 as Ja, b2 as Ka, b3 as Va, b4 as Ya, b5 as qa, U as za, b6 as Qa, S as Xa, W as Za, X as $a, Y as ja, b7 as as, a1 as ss, a2 as os, _ as es, $ as ns, a0 as cs, b8 as ts, a3 as rs, a4 as Is, a5 as ls, a6 as is, a7 as ds, a8 as bs, a9 as Cs, T as gs, ah as us, b9 as Bs, ba as Ts, bb as Ds, b as ps, d as Ls, g as hs, bc as ws, bd as Ps, v as Ss } from "./index-BLcXInK2.js";
1
+ import { ak as o, A as e, c as n, al as c, am as t, an as r, ao as I, B as l, a as i, ap as d, ag as b, e as C, aq as g, f as u, ar as B, C as T, as as D, W as p, at as L, h as S, i as h, au as w, av as P, aw as f, ax as F, ay as y, az as x, k as E, aA as m, aB as H, aC as k, aD as A, aE as v, aF as R, aj as M, aG as N, aH as U, D as O, aI as G, aJ as W, l as _, m as J, n as K, o as V, G as Y, aK as q, aL as z, E as Q, aM as X, p as Z, aN as $, aP as j, F as aa, r as sa, w as oa, q as ea, u as na, s as ca, x as ta, t as ra, aO as Ia, aQ as la, y as ia, aR as da, ab as ba, ac as Ca, ad as ga, ae as ua, af as Ba, aS as Ta, I as Da, aT as pa, aU as La, J as Sa, K as ha, ah as wa, aV as Pa, aW as fa, L as Fa, z as ya, aX as xa, H as Ea, M as ma, N as Ha, aY as ka, O as Aa, aZ as va, a_ as Ra, _ as Ma, P as Na, a$ as Ua, b0 as Oa, Q as Ga, R as Wa, b1 as _a, U as Ja, b2 as Ka, b3 as Va, b4 as Ya, b5 as qa, b6 as za, V as Qa, b7 as Xa, S as Za, X as $a, Y as ja, Z as as, b8 as ss, a2 as os, a3 as es, $ as ns, a0 as cs, a1 as ts, b9 as rs, a4 as Is, a5 as ls, a6 as is, a7 as ds, a8 as bs, a9 as Cs, aa as gs, T as us, ai as Bs, ba as Ts, bb as Ds, bc as ps, b as Ls, d as Ss, g as hs, bd as ws, be as Ps, v as fs } from "./index-DnAYLZ11.js";
2
2
  export {
3
3
  o as AddressIcon,
4
4
  e as Alert,
@@ -19,19 +19,19 @@ export {
19
19
  D as CautionIcon,
20
20
  p as CenteredSpinner,
21
21
  L as CheckIcon,
22
- h as Checkbox,
23
- w as CheckboxIcon,
24
- P as ChevronDoubleLeftIcon,
25
- S as ChevronDoubleRightIcon,
22
+ S as Checkbox,
23
+ h as CheckboxIcon,
24
+ w as ChevronDoubleLeftIcon,
25
+ P as ChevronDoubleRightIcon,
26
26
  f as CircleIcon,
27
27
  F as ClockIcon,
28
28
  y as CloseIcon,
29
29
  x as CogWheelIcon,
30
30
  E as ConfirmationDialog,
31
31
  m as ConnectionIcon,
32
- k as CopyIcon,
33
- A as CorrectIcon,
34
- H as DashIcon,
32
+ H as CopyIcon,
33
+ k as CorrectIcon,
34
+ A as DashIcon,
35
35
  v as DashboardIcon,
36
36
  R as DatabaseIcon,
37
37
  M as DatePicker,
@@ -73,62 +73,63 @@ export {
73
73
  Da as IconButton,
74
74
  pa as IdeaIcon,
75
75
  La as InfoIcon,
76
- ha as JsonEditor,
77
- wa as KeyValueList,
78
- Pa as Label,
79
- Sa as LeftBarIcon,
76
+ Sa as JsonEditor,
77
+ ha as KeyValueList,
78
+ wa as Label,
79
+ Pa as LeftBarIcon,
80
80
  fa as LeftIcon,
81
81
  Fa as Link,
82
82
  ya as List,
83
83
  xa as ListIcon,
84
84
  Ea as ListItem,
85
- ma as Logo,
85
+ ma as ListSectionHeader,
86
+ Ha as Logo,
86
87
  ka as MoreIcon,
87
88
  Aa as MultiSelect,
88
- Ha as NotepadIcon,
89
- va as NotesIcon,
90
- Ra as Pagination,
91
- Ma as PasswordTextBox,
92
- Na as PlayIcon,
93
- Ua as PlusIcon,
94
- Oa as Popover,
95
- Ga as Portal,
96
- Wa as ProfileIcon,
97
- _a as RadioButton,
98
- Ja as RecycleIcon,
99
- Ka as ReloadIcon,
100
- Va as RightIcon,
101
- Ya as SaveIcon,
102
- qa as SearchIcon,
103
- za as Select,
104
- Qa as ServerIcon,
105
- Xa as Sidebar,
106
- Za as Spinner,
107
- $a as Step,
108
- ja as Stepper,
109
- as as SuccessIcon,
110
- ss as Tab,
111
- os as TabPanel,
112
- es as Table,
113
- ns as TableCell,
114
- cs as TableHeaderCell,
115
- ts as TableIcon,
116
- rs as Tag,
117
- Is as TagList,
118
- ls as TextBox,
119
- is as Toast,
120
- ds as Toaster,
121
- bs as ToggleButton,
122
- Cs as ToggleButtonTrack,
123
- gs as Tooltip,
124
- us as UnstyledButton,
125
- Bs as UpIcon,
126
- Ts as UserIcon,
127
- Ds as WarningIcon,
128
- ps as baseClasses,
129
- Ls as disabledClasses,
89
+ va as NotepadIcon,
90
+ Ra as NotesIcon,
91
+ Ma as Pagination,
92
+ Na as PasswordTextBox,
93
+ Ua as PlayIcon,
94
+ Oa as PlusIcon,
95
+ Ga as Popover,
96
+ Wa as Portal,
97
+ _a as ProfileIcon,
98
+ Ja as RadioButton,
99
+ Ka as RecycleIcon,
100
+ Va as ReloadIcon,
101
+ Ya as RightIcon,
102
+ qa as SaveIcon,
103
+ za as SearchIcon,
104
+ Qa as Select,
105
+ Xa as ServerIcon,
106
+ Za as Sidebar,
107
+ $a as Spinner,
108
+ ja as Step,
109
+ as as Stepper,
110
+ ss as SuccessIcon,
111
+ os as Tab,
112
+ es as TabPanel,
113
+ ns as Table,
114
+ cs as TableCell,
115
+ ts as TableHeaderCell,
116
+ rs as TableIcon,
117
+ Is as Tag,
118
+ ls as TagList,
119
+ is as TextBox,
120
+ ds as Toast,
121
+ bs as Toaster,
122
+ Cs as ToggleButton,
123
+ gs as ToggleButtonTrack,
124
+ us as Tooltip,
125
+ Bs as UnstyledButton,
126
+ Ts as UpIcon,
127
+ Ds as UserIcon,
128
+ ps as WarningIcon,
129
+ Ls as baseClasses,
130
+ Ss as disabledClasses,
130
131
  hs as getBaseButtonClassName,
131
132
  ws as icons,
132
133
  Ps as useDropdownPosition,
133
- Ss as variantClasses
134
+ fs as variantClasses
134
135
  };
@@ -8,4 +8,11 @@ export type BaseOption = {
8
8
  label: BaseOptionLabel;
9
9
  disabled?: boolean;
10
10
  };
11
+ export type OptionSection<Option extends BaseOption = BaseOption> = {
12
+ type: "section";
13
+ id: string | number;
14
+ label: string;
15
+ options: Option[];
16
+ };
17
+ export type OptionNode<Option extends BaseOption = BaseOption> = Option | OptionSection<Option>;
11
18
  export {};
@@ -1 +1,2 @@
1
1
  export * from './getOptionTextLabel';
2
+ export * from './normalizeOptionNodes';
@@ -0,0 +1,18 @@
1
+ import { BaseOption, OptionNode, OptionSection } from '../types';
2
+ export type OptionRenderRow<Option extends BaseOption = BaseOption> = {
3
+ kind: "section";
4
+ key: string;
5
+ section: OptionSection<Option>;
6
+ } | {
7
+ kind: "option";
8
+ key: string;
9
+ option: Option;
10
+ optionIndex: number;
11
+ };
12
+ export type NormalizedOptionNodes<Option extends BaseOption = BaseOption> = {
13
+ flatOptions: Option[];
14
+ rows: OptionRenderRow<Option>[];
15
+ };
16
+ export declare const isOptionSection: <Option extends BaseOption>(node: OptionNode<Option>) => node is OptionSection<Option>;
17
+ export declare const normalizeOptionNodes: <Option extends BaseOption>(options: OptionNode<Option>[]) => NormalizedOptionNodes<Option>;
18
+ export declare const filterOptionNodesByLabel: <Option extends BaseOption>(options: OptionNode<Option>[], query: string) => OptionNode<Option>[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@grasp-labs/ds-react-components",
3
- "version": "1.1.2",
3
+ "version": "1.1.4",
4
4
  "private": false,
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -35,6 +35,7 @@
35
35
  "format": "prettier --write \"**/*.{js,jsx,ts,tsx,json,css,md}\"",
36
36
  "format:check": "prettier --check \"**/*.{js,jsx,ts,tsx,json,css,md}\"",
37
37
  "test": "vitest run",
38
+ "check": "npm run lint && npm run format:check && npm run test",
38
39
  "test:watch": "vitest",
39
40
  "test:storybook": "vitest --project=storybook run",
40
41
  "test:coverage": "vitest run --coverage"