@vuu-ui/vuu-filters 0.8.69 → 0.8.71

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,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var quickFiltersCss = ".vuuQuickFilters {\n --saltFormField-width: 150px;\n --saltInput-background: transparent;\n --saltInput-height: 18px;\n --saltInput-minHeight: 18px;\n border: solid 1px var(--salt-editable-borderColor);\n border-radius: 2px;\n display: flex;\n height: 43px;\n width: fit-content;\n\n .saltFormField {\n padding: 2px var(--salt-spacing-200);\n }\n\n .saltFormField:not(:last-child) {\n border-right: solid 1px var(--salt-editable-borderColor);\n }\n\n\n}";
3
+ var quickFiltersCss = ".vuuQuickFilters {\n --saltFormField-width: 150px;\n --saltInput-background: transparent;\n --saltInput-height: 18px;\n --saltInput-minHeight: 18px;\n\n display: flex;\n gap: var(--salt-spacing-100);\n align-items: end;\n width: fit-content;\n\n .vuuQuickFilters-filter-container {\n background-color: var(--salt-container-primary-background);\n border: solid 1px var(--salt-editable-borderColor);\n border-radius: 2px;\n display: flex;\n height: 43px;\n }\n\n .saltFormField {\n padding: 2px var(--salt-spacing-200);\n }\n\n .saltFormField:not(:last-child) {\n border-right: solid 1px var(--salt-editable-borderColor);\n }\n\n .vuuTypeaheadInput {\n .saltPillInput-endAdornmentContainer {\n .saltButton {\n border-style: none;\n }\n }\n }\n}\n";
4
4
 
5
5
  module.exports = quickFiltersCss;
6
6
  //# sourceMappingURL=QuickFilters.css.js.map
@@ -40,33 +40,37 @@ const QuickFilters = ({
40
40
  ({ name }) => quickFilters?.includes(name)
41
41
  );
42
42
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: classBase, ref: rootRef, children: [
43
- /* @__PURE__ */ jsxRuntime.jsxs(core.FormField, { "data-field": "find", children: [
44
- /* @__PURE__ */ jsxRuntime.jsx(core.FormFieldLabel, { children: "Find" }),
45
- /* @__PURE__ */ jsxRuntime.jsx(
46
- vuuUiControls.VuuInput,
47
- {
48
- inputProps: {
49
- onChange
50
- },
43
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `${classBase}-filter-container`, children: [
44
+ /* @__PURE__ */ jsxRuntime.jsxs(core.FormField, { "data-embedded": true, "data-field": "find", children: [
45
+ /* @__PURE__ */ jsxRuntime.jsx(core.FormFieldLabel, { children: "Find" }),
46
+ /* @__PURE__ */ jsxRuntime.jsx(
47
+ vuuUiControls.VuuInput,
48
+ {
49
+ inputProps: {
50
+ onChange
51
+ },
52
+ onCommit,
53
+ startAdornment: searchIcon,
54
+ variant: "secondary"
55
+ }
56
+ )
57
+ ] }),
58
+ filterColumns?.map((column) => /* @__PURE__ */ jsxRuntime.jsxs(core.FormField, { "data-field": column.name, children: [
59
+ /* @__PURE__ */ jsxRuntime.jsx(core.FormFieldLabel, { children: column.label ?? column.name }),
60
+ vuuDataReact.getDataItemEditControl({
61
+ column,
51
62
  onCommit,
52
- startAdornment: searchIcon,
53
- variant: "secondary"
54
- }
55
- )
63
+ suggestionProvider,
64
+ table: tableSchema?.table
65
+ })
66
+ ] }, column.label ?? column.name))
56
67
  ] }),
57
- filterColumns?.map((column) => /* @__PURE__ */ jsxRuntime.jsxs(core.FormField, { "data-field": column.name, children: [
58
- /* @__PURE__ */ jsxRuntime.jsx(core.FormFieldLabel, { children: column.label ?? column.name }),
59
- vuuDataReact.getDataItemEditControl({
60
- column,
61
- onCommit,
62
- suggestionProvider,
63
- table: tableSchema?.table
64
- })
65
- ] }, column.label ?? column.name)),
66
68
  /* @__PURE__ */ jsxRuntime.jsx(
67
69
  vuuUiControls.ColumnPicker,
68
70
  {
69
71
  columns: availableColumnNames,
72
+ icon: "more-horiz",
73
+ iconSize: 16,
70
74
  onSelectionChange: onColumnsSelectionChange,
71
75
  selected: quickFilters
72
76
  }
@@ -1 +1 @@
1
- {"version":3,"file":"QuickFilters.js","sources":["../../src/quick-filters/QuickFilters.tsx"],"sourcesContent":["import { getDataItemEditControl } from \"@vuu-ui/vuu-data-react\";\nimport type { ColumnDescriptor } from \"@vuu-ui/vuu-table-types\";\nimport { ColumnPicker, Icon, VuuInput } from \"@vuu-ui/vuu-ui-controls\";\nimport { FormField, FormFieldLabel } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport type { HTMLAttributes } from \"react\";\nimport { FilterBarProps } from \"../filter-bar\";\nimport { useQuickFilters } from \"./useQuickFilters\";\n\nimport quickFiltersCss from \"./QuickFilters.css\";\n\nconst classBase = \"vuuQuickFilters\";\n\nexport interface QuickFilterProps\n extends HTMLAttributes<HTMLDivElement>,\n Pick<\n FilterBarProps,\n \"onApplyFilter\" | \"suggestionProvider\" | \"tableSchema\"\n > {\n availableColumns: ColumnDescriptor[];\n quickFilterColumns?: string[];\n}\n\nexport const QuickFilters = ({\n availableColumns,\n onApplyFilter,\n quickFilterColumns,\n suggestionProvider,\n tableSchema,\n}: QuickFilterProps) => {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"vuu-quick-filters\",\n css: quickFiltersCss,\n window: targetWindow,\n });\n\n const searchIcon = <Icon name=\"search\" size={18} />;\n\n const {\n availableColumnNames,\n onChange,\n onColumnsSelectionChange,\n onCommit,\n rootRef,\n quickFilters,\n } = useQuickFilters({\n availableColumns,\n onApplyFilter,\n quickFilterColumns,\n });\n\n const filterColumns = availableColumns.filter(({ name }) =>\n quickFilters?.includes(name)\n );\n\n return (\n <div className={classBase} ref={rootRef}>\n <FormField data-field=\"find\">\n <FormFieldLabel>Find</FormFieldLabel>\n <VuuInput\n inputProps={{\n onChange,\n }}\n onCommit={onCommit}\n startAdornment={searchIcon}\n variant=\"secondary\"\n />\n </FormField>\n {filterColumns?.map((column) => (\n <FormField key={column.label ?? column.name} data-field={column.name}>\n <FormFieldLabel>{column.label ?? column.name}</FormFieldLabel>\n {getDataItemEditControl({\n column,\n onCommit,\n suggestionProvider,\n table: tableSchema?.table,\n })}\n </FormField>\n ))}\n <ColumnPicker\n columns={availableColumnNames}\n onSelectionChange={onColumnsSelectionChange}\n selected={quickFilters}\n />\n </div>\n );\n};\n"],"names":["useWindow","useComponentCssInjection","quickFiltersCss","jsx","Icon","useQuickFilters","jsxs","FormField","FormFieldLabel","VuuInput","getDataItemEditControl","ColumnPicker"],"mappings":";;;;;;;;;;;AAYA,MAAM,SAAY,GAAA,iBAAA,CAAA;AAYX,MAAM,eAAe,CAAC;AAAA,EAC3B,gBAAA;AAAA,EACA,aAAA;AAAA,EACA,kBAAA;AAAA,EACA,kBAAA;AAAA,EACA,WAAA;AACF,CAAwB,KAAA;AACtB,EAAA,MAAM,eAAeA,gBAAU,EAAA,CAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,mBAAA;AAAA,IACR,GAAK,EAAAC,cAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AAED,EAAA,MAAM,6BAAcC,cAAA,CAAAC,kBAAA,EAAA,EAAK,IAAK,EAAA,QAAA,EAAS,MAAM,EAAI,EAAA,CAAA,CAAA;AAEjD,EAAM,MAAA;AAAA,IACJ,oBAAA;AAAA,IACA,QAAA;AAAA,IACA,wBAAA;AAAA,IACA,QAAA;AAAA,IACA,OAAA;AAAA,IACA,YAAA;AAAA,MACEC,+BAAgB,CAAA;AAAA,IAClB,gBAAA;AAAA,IACA,aAAA;AAAA,IACA,kBAAA;AAAA,GACD,CAAA,CAAA;AAED,EAAA,MAAM,gBAAgB,gBAAiB,CAAA,MAAA;AAAA,IAAO,CAAC,EAAE,IAAA,EAC/C,KAAA,YAAA,EAAc,SAAS,IAAI,CAAA;AAAA,GAC7B,CAAA;AAEA,EAAA,uBACGC,eAAA,CAAA,KAAA,EAAA,EAAI,SAAW,EAAA,SAAA,EAAW,KAAK,OAC9B,EAAA,QAAA,EAAA;AAAA,oBAACA,eAAA,CAAAC,cAAA,EAAA,EAAU,cAAW,MACpB,EAAA,QAAA,EAAA;AAAA,sBAAAJ,cAAA,CAACK,uBAAe,QAAI,EAAA,MAAA,EAAA,CAAA;AAAA,sBACpBL,cAAA;AAAA,QAACM,sBAAA;AAAA,QAAA;AAAA,UACC,UAAY,EAAA;AAAA,YACV,QAAA;AAAA,WACF;AAAA,UACA,QAAA;AAAA,UACA,cAAgB,EAAA,UAAA;AAAA,UAChB,OAAQ,EAAA,WAAA;AAAA,SAAA;AAAA,OACV;AAAA,KACF,EAAA,CAAA;AAAA,IACC,aAAA,EAAe,IAAI,CAAC,MAAA,qCAClBF,cAA4C,EAAA,EAAA,YAAA,EAAY,OAAO,IAC9D,EAAA,QAAA,EAAA;AAAA,sBAAAJ,cAAA,CAACK,mBAAgB,EAAA,EAAA,QAAA,EAAA,MAAA,CAAO,KAAS,IAAA,MAAA,CAAO,IAAK,EAAA,CAAA;AAAA,MAC5CE,mCAAuB,CAAA;AAAA,QACtB,MAAA;AAAA,QACA,QAAA;AAAA,QACA,kBAAA;AAAA,QACA,OAAO,WAAa,EAAA,KAAA;AAAA,OACrB,CAAA;AAAA,KAAA,EAAA,EAPa,MAAO,CAAA,KAAA,IAAS,MAAO,CAAA,IAQvC,CACD,CAAA;AAAA,oBACDP,cAAA;AAAA,MAACQ,0BAAA;AAAA,MAAA;AAAA,QACC,OAAS,EAAA,oBAAA;AAAA,QACT,iBAAmB,EAAA,wBAAA;AAAA,QACnB,QAAU,EAAA,YAAA;AAAA,OAAA;AAAA,KACZ;AAAA,GACF,EAAA,CAAA,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"QuickFilters.js","sources":["../../src/quick-filters/QuickFilters.tsx"],"sourcesContent":["import { getDataItemEditControl } from \"@vuu-ui/vuu-data-react\";\nimport type { ColumnDescriptor } from \"@vuu-ui/vuu-table-types\";\nimport { ColumnPicker, Icon, VuuInput } from \"@vuu-ui/vuu-ui-controls\";\nimport { FormField, FormFieldLabel } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport type { HTMLAttributes } from \"react\";\nimport { FilterBarProps } from \"../filter-bar\";\nimport { useQuickFilters } from \"./useQuickFilters\";\n\nimport quickFiltersCss from \"./QuickFilters.css\";\n\nconst classBase = \"vuuQuickFilters\";\n\nexport interface QuickFilterProps\n extends HTMLAttributes<HTMLDivElement>,\n Pick<\n FilterBarProps,\n \"onApplyFilter\" | \"suggestionProvider\" | \"tableSchema\"\n > {\n availableColumns: ColumnDescriptor[];\n quickFilterColumns?: string[];\n}\n\nexport const QuickFilters = ({\n availableColumns,\n onApplyFilter,\n quickFilterColumns,\n suggestionProvider,\n tableSchema,\n}: QuickFilterProps) => {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"vuu-quick-filters\",\n css: quickFiltersCss,\n window: targetWindow,\n });\n\n const searchIcon = <Icon name=\"search\" size={18} />;\n\n const {\n availableColumnNames,\n onChange,\n onColumnsSelectionChange,\n onCommit,\n rootRef,\n quickFilters,\n } = useQuickFilters({\n availableColumns,\n onApplyFilter,\n quickFilterColumns,\n });\n\n const filterColumns = availableColumns.filter(({ name }) =>\n quickFilters?.includes(name)\n );\n\n return (\n <div className={classBase} ref={rootRef}>\n <div className={`${classBase}-filter-container`}>\n <FormField data-embedded data-field=\"find\">\n <FormFieldLabel>Find</FormFieldLabel>\n <VuuInput\n inputProps={{\n onChange,\n }}\n onCommit={onCommit}\n startAdornment={searchIcon}\n variant=\"secondary\"\n />\n </FormField>\n {filterColumns?.map((column) => (\n <FormField key={column.label ?? column.name} data-field={column.name}>\n <FormFieldLabel>{column.label ?? column.name}</FormFieldLabel>\n {getDataItemEditControl({\n column,\n onCommit,\n suggestionProvider,\n table: tableSchema?.table,\n })}\n </FormField>\n ))}\n </div>\n <ColumnPicker\n columns={availableColumnNames}\n icon=\"more-horiz\"\n iconSize={16}\n onSelectionChange={onColumnsSelectionChange}\n selected={quickFilters}\n />\n </div>\n );\n};\n"],"names":["useWindow","useComponentCssInjection","quickFiltersCss","jsx","Icon","useQuickFilters","jsxs","FormField","FormFieldLabel","VuuInput","getDataItemEditControl","ColumnPicker"],"mappings":";;;;;;;;;;;AAYA,MAAM,SAAY,GAAA,iBAAA,CAAA;AAYX,MAAM,eAAe,CAAC;AAAA,EAC3B,gBAAA;AAAA,EACA,aAAA;AAAA,EACA,kBAAA;AAAA,EACA,kBAAA;AAAA,EACA,WAAA;AACF,CAAwB,KAAA;AACtB,EAAA,MAAM,eAAeA,gBAAU,EAAA,CAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,mBAAA;AAAA,IACR,GAAK,EAAAC,cAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AAED,EAAA,MAAM,6BAAcC,cAAA,CAAAC,kBAAA,EAAA,EAAK,IAAK,EAAA,QAAA,EAAS,MAAM,EAAI,EAAA,CAAA,CAAA;AAEjD,EAAM,MAAA;AAAA,IACJ,oBAAA;AAAA,IACA,QAAA;AAAA,IACA,wBAAA;AAAA,IACA,QAAA;AAAA,IACA,OAAA;AAAA,IACA,YAAA;AAAA,MACEC,+BAAgB,CAAA;AAAA,IAClB,gBAAA;AAAA,IACA,aAAA;AAAA,IACA,kBAAA;AAAA,GACD,CAAA,CAAA;AAED,EAAA,MAAM,gBAAgB,gBAAiB,CAAA,MAAA;AAAA,IAAO,CAAC,EAAE,IAAA,EAC/C,KAAA,YAAA,EAAc,SAAS,IAAI,CAAA;AAAA,GAC7B,CAAA;AAEA,EAAA,uBACGC,eAAA,CAAA,KAAA,EAAA,EAAI,SAAW,EAAA,SAAA,EAAW,KAAK,OAC9B,EAAA,QAAA,EAAA;AAAA,oBAAAA,eAAA,CAAC,KAAI,EAAA,EAAA,SAAA,EAAW,CAAG,EAAA,SAAS,CAC1B,iBAAA,CAAA,EAAA,QAAA,EAAA;AAAA,sBAAAA,eAAA,CAACC,cAAU,EAAA,EAAA,eAAA,EAAa,IAAC,EAAA,YAAA,EAAW,MAClC,EAAA,QAAA,EAAA;AAAA,wBAAAJ,cAAA,CAACK,uBAAe,QAAI,EAAA,MAAA,EAAA,CAAA;AAAA,wBACpBL,cAAA;AAAA,UAACM,sBAAA;AAAA,UAAA;AAAA,YACC,UAAY,EAAA;AAAA,cACV,QAAA;AAAA,aACF;AAAA,YACA,QAAA;AAAA,YACA,cAAgB,EAAA,UAAA;AAAA,YAChB,OAAQ,EAAA,WAAA;AAAA,WAAA;AAAA,SACV;AAAA,OACF,EAAA,CAAA;AAAA,MACC,aAAA,EAAe,IAAI,CAAC,MAAA,qCAClBF,cAA4C,EAAA,EAAA,YAAA,EAAY,OAAO,IAC9D,EAAA,QAAA,EAAA;AAAA,wBAAAJ,cAAA,CAACK,mBAAgB,EAAA,EAAA,QAAA,EAAA,MAAA,CAAO,KAAS,IAAA,MAAA,CAAO,IAAK,EAAA,CAAA;AAAA,QAC5CE,mCAAuB,CAAA;AAAA,UACtB,MAAA;AAAA,UACA,QAAA;AAAA,UACA,kBAAA;AAAA,UACA,OAAO,WAAa,EAAA,KAAA;AAAA,SACrB,CAAA;AAAA,OAAA,EAAA,EAPa,MAAO,CAAA,KAAA,IAAS,MAAO,CAAA,IAQvC,CACD,CAAA;AAAA,KACH,EAAA,CAAA;AAAA,oBACAP,cAAA;AAAA,MAACQ,0BAAA;AAAA,MAAA;AAAA,QACC,OAAS,EAAA,oBAAA;AAAA,QACT,IAAK,EAAA,YAAA;AAAA,QACL,QAAU,EAAA,EAAA;AAAA,QACV,iBAAmB,EAAA,wBAAA;AAAA,QACnB,QAAU,EAAA,YAAA;AAAA,OAAA;AAAA,KACZ;AAAA,GACF,EAAA,CAAA,CAAA;AAEJ;;;;"}
@@ -1,4 +1,4 @@
1
- var quickFiltersCss = ".vuuQuickFilters {\n --saltFormField-width: 150px;\n --saltInput-background: transparent;\n --saltInput-height: 18px;\n --saltInput-minHeight: 18px;\n border: solid 1px var(--salt-editable-borderColor);\n border-radius: 2px;\n display: flex;\n height: 43px;\n width: fit-content;\n\n .saltFormField {\n padding: 2px var(--salt-spacing-200);\n }\n\n .saltFormField:not(:last-child) {\n border-right: solid 1px var(--salt-editable-borderColor);\n }\n\n\n}";
1
+ var quickFiltersCss = ".vuuQuickFilters {\n --saltFormField-width: 150px;\n --saltInput-background: transparent;\n --saltInput-height: 18px;\n --saltInput-minHeight: 18px;\n\n display: flex;\n gap: var(--salt-spacing-100);\n align-items: end;\n width: fit-content;\n\n .vuuQuickFilters-filter-container {\n background-color: var(--salt-container-primary-background);\n border: solid 1px var(--salt-editable-borderColor);\n border-radius: 2px;\n display: flex;\n height: 43px;\n }\n\n .saltFormField {\n padding: 2px var(--salt-spacing-200);\n }\n\n .saltFormField:not(:last-child) {\n border-right: solid 1px var(--salt-editable-borderColor);\n }\n\n .vuuTypeaheadInput {\n .saltPillInput-endAdornmentContainer {\n .saltButton {\n border-style: none;\n }\n }\n }\n}\n";
2
2
 
3
3
  export { quickFiltersCss as default };
4
4
  //# sourceMappingURL=QuickFilters.css.js.map
@@ -38,33 +38,37 @@ const QuickFilters = ({
38
38
  ({ name }) => quickFilters?.includes(name)
39
39
  );
40
40
  return /* @__PURE__ */ jsxs("div", { className: classBase, ref: rootRef, children: [
41
- /* @__PURE__ */ jsxs(FormField, { "data-field": "find", children: [
42
- /* @__PURE__ */ jsx(FormFieldLabel, { children: "Find" }),
43
- /* @__PURE__ */ jsx(
44
- VuuInput,
45
- {
46
- inputProps: {
47
- onChange
48
- },
41
+ /* @__PURE__ */ jsxs("div", { className: `${classBase}-filter-container`, children: [
42
+ /* @__PURE__ */ jsxs(FormField, { "data-embedded": true, "data-field": "find", children: [
43
+ /* @__PURE__ */ jsx(FormFieldLabel, { children: "Find" }),
44
+ /* @__PURE__ */ jsx(
45
+ VuuInput,
46
+ {
47
+ inputProps: {
48
+ onChange
49
+ },
50
+ onCommit,
51
+ startAdornment: searchIcon,
52
+ variant: "secondary"
53
+ }
54
+ )
55
+ ] }),
56
+ filterColumns?.map((column) => /* @__PURE__ */ jsxs(FormField, { "data-field": column.name, children: [
57
+ /* @__PURE__ */ jsx(FormFieldLabel, { children: column.label ?? column.name }),
58
+ getDataItemEditControl({
59
+ column,
49
60
  onCommit,
50
- startAdornment: searchIcon,
51
- variant: "secondary"
52
- }
53
- )
61
+ suggestionProvider,
62
+ table: tableSchema?.table
63
+ })
64
+ ] }, column.label ?? column.name))
54
65
  ] }),
55
- filterColumns?.map((column) => /* @__PURE__ */ jsxs(FormField, { "data-field": column.name, children: [
56
- /* @__PURE__ */ jsx(FormFieldLabel, { children: column.label ?? column.name }),
57
- getDataItemEditControl({
58
- column,
59
- onCommit,
60
- suggestionProvider,
61
- table: tableSchema?.table
62
- })
63
- ] }, column.label ?? column.name)),
64
66
  /* @__PURE__ */ jsx(
65
67
  ColumnPicker,
66
68
  {
67
69
  columns: availableColumnNames,
70
+ icon: "more-horiz",
71
+ iconSize: 16,
68
72
  onSelectionChange: onColumnsSelectionChange,
69
73
  selected: quickFilters
70
74
  }
@@ -1 +1 @@
1
- {"version":3,"file":"QuickFilters.js","sources":["../../src/quick-filters/QuickFilters.tsx"],"sourcesContent":["import { getDataItemEditControl } from \"@vuu-ui/vuu-data-react\";\nimport type { ColumnDescriptor } from \"@vuu-ui/vuu-table-types\";\nimport { ColumnPicker, Icon, VuuInput } from \"@vuu-ui/vuu-ui-controls\";\nimport { FormField, FormFieldLabel } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport type { HTMLAttributes } from \"react\";\nimport { FilterBarProps } from \"../filter-bar\";\nimport { useQuickFilters } from \"./useQuickFilters\";\n\nimport quickFiltersCss from \"./QuickFilters.css\";\n\nconst classBase = \"vuuQuickFilters\";\n\nexport interface QuickFilterProps\n extends HTMLAttributes<HTMLDivElement>,\n Pick<\n FilterBarProps,\n \"onApplyFilter\" | \"suggestionProvider\" | \"tableSchema\"\n > {\n availableColumns: ColumnDescriptor[];\n quickFilterColumns?: string[];\n}\n\nexport const QuickFilters = ({\n availableColumns,\n onApplyFilter,\n quickFilterColumns,\n suggestionProvider,\n tableSchema,\n}: QuickFilterProps) => {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"vuu-quick-filters\",\n css: quickFiltersCss,\n window: targetWindow,\n });\n\n const searchIcon = <Icon name=\"search\" size={18} />;\n\n const {\n availableColumnNames,\n onChange,\n onColumnsSelectionChange,\n onCommit,\n rootRef,\n quickFilters,\n } = useQuickFilters({\n availableColumns,\n onApplyFilter,\n quickFilterColumns,\n });\n\n const filterColumns = availableColumns.filter(({ name }) =>\n quickFilters?.includes(name)\n );\n\n return (\n <div className={classBase} ref={rootRef}>\n <FormField data-field=\"find\">\n <FormFieldLabel>Find</FormFieldLabel>\n <VuuInput\n inputProps={{\n onChange,\n }}\n onCommit={onCommit}\n startAdornment={searchIcon}\n variant=\"secondary\"\n />\n </FormField>\n {filterColumns?.map((column) => (\n <FormField key={column.label ?? column.name} data-field={column.name}>\n <FormFieldLabel>{column.label ?? column.name}</FormFieldLabel>\n {getDataItemEditControl({\n column,\n onCommit,\n suggestionProvider,\n table: tableSchema?.table,\n })}\n </FormField>\n ))}\n <ColumnPicker\n columns={availableColumnNames}\n onSelectionChange={onColumnsSelectionChange}\n selected={quickFilters}\n />\n </div>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;AAYA,MAAM,SAAY,GAAA,iBAAA,CAAA;AAYX,MAAM,eAAe,CAAC;AAAA,EAC3B,gBAAA;AAAA,EACA,aAAA;AAAA,EACA,kBAAA;AAAA,EACA,kBAAA;AAAA,EACA,WAAA;AACF,CAAwB,KAAA;AACtB,EAAA,MAAM,eAAe,SAAU,EAAA,CAAA;AAC/B,EAAyB,wBAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,mBAAA;AAAA,IACR,GAAK,EAAA,eAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AAED,EAAA,MAAM,6BAAc,GAAA,CAAA,IAAA,EAAA,EAAK,IAAK,EAAA,QAAA,EAAS,MAAM,EAAI,EAAA,CAAA,CAAA;AAEjD,EAAM,MAAA;AAAA,IACJ,oBAAA;AAAA,IACA,QAAA;AAAA,IACA,wBAAA;AAAA,IACA,QAAA;AAAA,IACA,OAAA;AAAA,IACA,YAAA;AAAA,MACE,eAAgB,CAAA;AAAA,IAClB,gBAAA;AAAA,IACA,aAAA;AAAA,IACA,kBAAA;AAAA,GACD,CAAA,CAAA;AAED,EAAA,MAAM,gBAAgB,gBAAiB,CAAA,MAAA;AAAA,IAAO,CAAC,EAAE,IAAA,EAC/C,KAAA,YAAA,EAAc,SAAS,IAAI,CAAA;AAAA,GAC7B,CAAA;AAEA,EAAA,uBACG,IAAA,CAAA,KAAA,EAAA,EAAI,SAAW,EAAA,SAAA,EAAW,KAAK,OAC9B,EAAA,QAAA,EAAA;AAAA,oBAAC,IAAA,CAAA,SAAA,EAAA,EAAU,cAAW,MACpB,EAAA,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,kBAAe,QAAI,EAAA,MAAA,EAAA,CAAA;AAAA,sBACpB,GAAA;AAAA,QAAC,QAAA;AAAA,QAAA;AAAA,UACC,UAAY,EAAA;AAAA,YACV,QAAA;AAAA,WACF;AAAA,UACA,QAAA;AAAA,UACA,cAAgB,EAAA,UAAA;AAAA,UAChB,OAAQ,EAAA,WAAA;AAAA,SAAA;AAAA,OACV;AAAA,KACF,EAAA,CAAA;AAAA,IACC,aAAA,EAAe,IAAI,CAAC,MAAA,0BAClB,SAA4C,EAAA,EAAA,YAAA,EAAY,OAAO,IAC9D,EAAA,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,cAAgB,EAAA,EAAA,QAAA,EAAA,MAAA,CAAO,KAAS,IAAA,MAAA,CAAO,IAAK,EAAA,CAAA;AAAA,MAC5C,sBAAuB,CAAA;AAAA,QACtB,MAAA;AAAA,QACA,QAAA;AAAA,QACA,kBAAA;AAAA,QACA,OAAO,WAAa,EAAA,KAAA;AAAA,OACrB,CAAA;AAAA,KAAA,EAAA,EAPa,MAAO,CAAA,KAAA,IAAS,MAAO,CAAA,IAQvC,CACD,CAAA;AAAA,oBACD,GAAA;AAAA,MAAC,YAAA;AAAA,MAAA;AAAA,QACC,OAAS,EAAA,oBAAA;AAAA,QACT,iBAAmB,EAAA,wBAAA;AAAA,QACnB,QAAU,EAAA,YAAA;AAAA,OAAA;AAAA,KACZ;AAAA,GACF,EAAA,CAAA,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"QuickFilters.js","sources":["../../src/quick-filters/QuickFilters.tsx"],"sourcesContent":["import { getDataItemEditControl } from \"@vuu-ui/vuu-data-react\";\nimport type { ColumnDescriptor } from \"@vuu-ui/vuu-table-types\";\nimport { ColumnPicker, Icon, VuuInput } from \"@vuu-ui/vuu-ui-controls\";\nimport { FormField, FormFieldLabel } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport type { HTMLAttributes } from \"react\";\nimport { FilterBarProps } from \"../filter-bar\";\nimport { useQuickFilters } from \"./useQuickFilters\";\n\nimport quickFiltersCss from \"./QuickFilters.css\";\n\nconst classBase = \"vuuQuickFilters\";\n\nexport interface QuickFilterProps\n extends HTMLAttributes<HTMLDivElement>,\n Pick<\n FilterBarProps,\n \"onApplyFilter\" | \"suggestionProvider\" | \"tableSchema\"\n > {\n availableColumns: ColumnDescriptor[];\n quickFilterColumns?: string[];\n}\n\nexport const QuickFilters = ({\n availableColumns,\n onApplyFilter,\n quickFilterColumns,\n suggestionProvider,\n tableSchema,\n}: QuickFilterProps) => {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"vuu-quick-filters\",\n css: quickFiltersCss,\n window: targetWindow,\n });\n\n const searchIcon = <Icon name=\"search\" size={18} />;\n\n const {\n availableColumnNames,\n onChange,\n onColumnsSelectionChange,\n onCommit,\n rootRef,\n quickFilters,\n } = useQuickFilters({\n availableColumns,\n onApplyFilter,\n quickFilterColumns,\n });\n\n const filterColumns = availableColumns.filter(({ name }) =>\n quickFilters?.includes(name)\n );\n\n return (\n <div className={classBase} ref={rootRef}>\n <div className={`${classBase}-filter-container`}>\n <FormField data-embedded data-field=\"find\">\n <FormFieldLabel>Find</FormFieldLabel>\n <VuuInput\n inputProps={{\n onChange,\n }}\n onCommit={onCommit}\n startAdornment={searchIcon}\n variant=\"secondary\"\n />\n </FormField>\n {filterColumns?.map((column) => (\n <FormField key={column.label ?? column.name} data-field={column.name}>\n <FormFieldLabel>{column.label ?? column.name}</FormFieldLabel>\n {getDataItemEditControl({\n column,\n onCommit,\n suggestionProvider,\n table: tableSchema?.table,\n })}\n </FormField>\n ))}\n </div>\n <ColumnPicker\n columns={availableColumnNames}\n icon=\"more-horiz\"\n iconSize={16}\n onSelectionChange={onColumnsSelectionChange}\n selected={quickFilters}\n />\n </div>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;AAYA,MAAM,SAAY,GAAA,iBAAA,CAAA;AAYX,MAAM,eAAe,CAAC;AAAA,EAC3B,gBAAA;AAAA,EACA,aAAA;AAAA,EACA,kBAAA;AAAA,EACA,kBAAA;AAAA,EACA,WAAA;AACF,CAAwB,KAAA;AACtB,EAAA,MAAM,eAAe,SAAU,EAAA,CAAA;AAC/B,EAAyB,wBAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,mBAAA;AAAA,IACR,GAAK,EAAA,eAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AAED,EAAA,MAAM,6BAAc,GAAA,CAAA,IAAA,EAAA,EAAK,IAAK,EAAA,QAAA,EAAS,MAAM,EAAI,EAAA,CAAA,CAAA;AAEjD,EAAM,MAAA;AAAA,IACJ,oBAAA;AAAA,IACA,QAAA;AAAA,IACA,wBAAA;AAAA,IACA,QAAA;AAAA,IACA,OAAA;AAAA,IACA,YAAA;AAAA,MACE,eAAgB,CAAA;AAAA,IAClB,gBAAA;AAAA,IACA,aAAA;AAAA,IACA,kBAAA;AAAA,GACD,CAAA,CAAA;AAED,EAAA,MAAM,gBAAgB,gBAAiB,CAAA,MAAA;AAAA,IAAO,CAAC,EAAE,IAAA,EAC/C,KAAA,YAAA,EAAc,SAAS,IAAI,CAAA;AAAA,GAC7B,CAAA;AAEA,EAAA,uBACG,IAAA,CAAA,KAAA,EAAA,EAAI,SAAW,EAAA,SAAA,EAAW,KAAK,OAC9B,EAAA,QAAA,EAAA;AAAA,oBAAA,IAAA,CAAC,KAAI,EAAA,EAAA,SAAA,EAAW,CAAG,EAAA,SAAS,CAC1B,iBAAA,CAAA,EAAA,QAAA,EAAA;AAAA,sBAAA,IAAA,CAAC,SAAU,EAAA,EAAA,eAAA,EAAa,IAAC,EAAA,YAAA,EAAW,MAClC,EAAA,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,kBAAe,QAAI,EAAA,MAAA,EAAA,CAAA;AAAA,wBACpB,GAAA;AAAA,UAAC,QAAA;AAAA,UAAA;AAAA,YACC,UAAY,EAAA;AAAA,cACV,QAAA;AAAA,aACF;AAAA,YACA,QAAA;AAAA,YACA,cAAgB,EAAA,UAAA;AAAA,YAChB,OAAQ,EAAA,WAAA;AAAA,WAAA;AAAA,SACV;AAAA,OACF,EAAA,CAAA;AAAA,MACC,aAAA,EAAe,IAAI,CAAC,MAAA,0BAClB,SAA4C,EAAA,EAAA,YAAA,EAAY,OAAO,IAC9D,EAAA,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,cAAgB,EAAA,EAAA,QAAA,EAAA,MAAA,CAAO,KAAS,IAAA,MAAA,CAAO,IAAK,EAAA,CAAA;AAAA,QAC5C,sBAAuB,CAAA;AAAA,UACtB,MAAA;AAAA,UACA,QAAA;AAAA,UACA,kBAAA;AAAA,UACA,OAAO,WAAa,EAAA,KAAA;AAAA,SACrB,CAAA;AAAA,OAAA,EAAA,EAPa,MAAO,CAAA,KAAA,IAAS,MAAO,CAAA,IAQvC,CACD,CAAA;AAAA,KACH,EAAA,CAAA;AAAA,oBACA,GAAA;AAAA,MAAC,YAAA;AAAA,MAAA;AAAA,QACC,OAAS,EAAA,oBAAA;AAAA,QACT,IAAK,EAAA,YAAA;AAAA,QACL,QAAU,EAAA,EAAA;AAAA,QACV,iBAAmB,EAAA,wBAAA;AAAA,QACnB,QAAU,EAAA,YAAA;AAAA,OAAA;AAAA,KACZ;AAAA,GACF,EAAA,CAAA,CAAA;AAEJ;;;;"}
package/package.json CHANGED
@@ -1,22 +1,22 @@
1
1
  {
2
- "version": "0.8.69",
2
+ "version": "0.8.71",
3
3
  "author": "heswell",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "devDependencies": {
7
- "@vuu-ui/vuu-data-types": "0.8.69",
8
- "@vuu-ui/vuu-protocol-types": "0.8.69",
9
- "@vuu-ui/vuu-table-types": "0.8.69",
10
- "@vuu-ui/vuu-filter-types": "0.8.69",
7
+ "@vuu-ui/vuu-data-types": "0.8.71",
8
+ "@vuu-ui/vuu-protocol-types": "0.8.71",
9
+ "@vuu-ui/vuu-table-types": "0.8.71",
10
+ "@vuu-ui/vuu-filter-types": "0.8.71",
11
11
  "@types/uuid": "^9.0.2"
12
12
  },
13
13
  "dependencies": {
14
- "@vuu-ui/vuu-data-react": "0.8.69",
15
- "@vuu-ui/vuu-filter-parser": "0.8.69",
16
- "@vuu-ui/vuu-popups": "0.8.69",
17
- "@vuu-ui/vuu-ui-controls": "0.8.69",
18
- "@vuu-ui/vuu-table": "0.8.69",
19
- "@vuu-ui/vuu-utils": "0.8.69",
14
+ "@vuu-ui/vuu-data-react": "0.8.71",
15
+ "@vuu-ui/vuu-filter-parser": "0.8.71",
16
+ "@vuu-ui/vuu-popups": "0.8.71",
17
+ "@vuu-ui/vuu-ui-controls": "0.8.71",
18
+ "@vuu-ui/vuu-table": "0.8.71",
19
+ "@vuu-ui/vuu-utils": "0.8.71",
20
20
  "@salt-ds/core": "1.27.1",
21
21
  "@salt-ds/styles": "0.2.1",
22
22
  "@salt-ds/window": "0.1.1",