@vuu-ui/vuu-ui-controls 0.8.97 → 0.8.98

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 (79) hide show
  1. package/cjs/index.js +2 -8
  2. package/cjs/index.js.map +1 -1
  3. package/cjs/{instrument-search → table-search}/SearchCell.js +0 -4
  4. package/cjs/table-search/SearchCell.js.map +1 -0
  5. package/cjs/table-search/TableSearch.css.js +6 -0
  6. package/cjs/table-search/TableSearch.css.js.map +1 -0
  7. package/cjs/{instrument-search/InstrumentSearch.js → table-search/TableSearch.js} +13 -13
  8. package/cjs/table-search/TableSearch.js.map +1 -0
  9. package/cjs/{instrument-search/useInstrumentSearch.js → table-search/useTableSearch.js} +4 -4
  10. package/cjs/table-search/useTableSearch.js.map +1 -0
  11. package/esm/index.js +1 -4
  12. package/esm/index.js.map +1 -1
  13. package/esm/{instrument-search → table-search}/SearchCell.js +0 -4
  14. package/esm/table-search/SearchCell.js.map +1 -0
  15. package/esm/table-search/TableSearch.css.js +4 -0
  16. package/esm/table-search/TableSearch.css.js.map +1 -0
  17. package/esm/{instrument-search/InstrumentSearch.js → table-search/TableSearch.js} +12 -12
  18. package/esm/table-search/TableSearch.js.map +1 -0
  19. package/esm/{instrument-search/useInstrumentSearch.js → table-search/useTableSearch.js} +4 -4
  20. package/esm/table-search/useTableSearch.js.map +1 -0
  21. package/package.json +7 -7
  22. package/types/index.d.ts +1 -3
  23. package/types/table-search/TableSearch.d.ts +11 -0
  24. package/types/table-search/index.d.ts +1 -0
  25. package/types/table-search/useTableSearch.d.ts +13 -0
  26. package/types/utils/deprecated-types.d.ts +2 -0
  27. package/types/utils/index.d.ts +1 -0
  28. package/cjs/date-popup/DatePopup.js +0 -88
  29. package/cjs/date-popup/DatePopup.js.map +0 -1
  30. package/cjs/date-popup/useDatePopup.js +0 -77
  31. package/cjs/date-popup/useDatePopup.js.map +0 -1
  32. package/cjs/dropdown-base/DropdownBase.css.js +0 -6
  33. package/cjs/dropdown-base/DropdownBase.css.js.map +0 -1
  34. package/cjs/dropdown-base/DropdownBase.js +0 -121
  35. package/cjs/dropdown-base/DropdownBase.js.map +0 -1
  36. package/cjs/dropdown-base/useClickAway.js +0 -66
  37. package/cjs/dropdown-base/useClickAway.js.map +0 -1
  38. package/cjs/dropdown-base/useDropdownBase.js +0 -168
  39. package/cjs/dropdown-base/useDropdownBase.js.map +0 -1
  40. package/cjs/instrument-search/InstrumentSearch.css.js +0 -6
  41. package/cjs/instrument-search/InstrumentSearch.css.js.map +0 -1
  42. package/cjs/instrument-search/InstrumentSearch.js.map +0 -1
  43. package/cjs/instrument-search/SearchCell.js.map +0 -1
  44. package/cjs/instrument-search/useInstrumentSearch.js.map +0 -1
  45. package/esm/date-popup/DatePopup.js +0 -86
  46. package/esm/date-popup/DatePopup.js.map +0 -1
  47. package/esm/date-popup/useDatePopup.js +0 -75
  48. package/esm/date-popup/useDatePopup.js.map +0 -1
  49. package/esm/dropdown-base/DropdownBase.css.js +0 -4
  50. package/esm/dropdown-base/DropdownBase.css.js.map +0 -1
  51. package/esm/dropdown-base/DropdownBase.js +0 -119
  52. package/esm/dropdown-base/DropdownBase.js.map +0 -1
  53. package/esm/dropdown-base/useClickAway.js +0 -63
  54. package/esm/dropdown-base/useClickAway.js.map +0 -1
  55. package/esm/dropdown-base/useDropdownBase.js +0 -166
  56. package/esm/dropdown-base/useDropdownBase.js.map +0 -1
  57. package/esm/instrument-search/InstrumentSearch.css.js +0 -4
  58. package/esm/instrument-search/InstrumentSearch.css.js.map +0 -1
  59. package/esm/instrument-search/InstrumentSearch.js.map +0 -1
  60. package/esm/instrument-search/SearchCell.js.map +0 -1
  61. package/esm/instrument-search/useInstrumentSearch.js.map +0 -1
  62. package/types/date-popup/DatePopup.d.ts +0 -12
  63. package/types/date-popup/index.d.ts +0 -1
  64. package/types/date-popup/useDatePopup.d.ts +0 -20
  65. package/types/dropdown-base/DropdownBase.d.ts +0 -9
  66. package/types/dropdown-base/dropdownTypes.d.ts +0 -51
  67. package/types/dropdown-base/index.d.ts +0 -3
  68. package/types/dropdown-base/useClickAway.d.ts +0 -10
  69. package/types/dropdown-base/useDropdownBase.d.ts +0 -2
  70. package/types/instrument-search/InstrumentSearch.d.ts +0 -11
  71. package/types/instrument-search/index.d.ts +0 -1
  72. package/types/instrument-search/useDataSource.d.ts +0 -6
  73. package/types/instrument-search/useInstrumentSearch.d.ts +0 -13
  74. /package/cjs/{instrument-search → table-search}/SearchCell.css.js +0 -0
  75. /package/cjs/{instrument-search → table-search}/SearchCell.css.js.map +0 -0
  76. /package/esm/{instrument-search → table-search}/SearchCell.css.js +0 -0
  77. /package/esm/{instrument-search → table-search}/SearchCell.css.js.map +0 -0
  78. /package/types/{instrument-search → table-search}/SearchCell.d.ts +0 -0
  79. /package/types/{instrument-search → table-search}/moving-window.d.ts +0 -0
package/cjs/index.js CHANGED
@@ -22,16 +22,13 @@ var DragDropState = require('./drag-drop/DragDropState.js');
22
22
  var useDragDrop = require('./drag-drop/useDragDrop.js');
23
23
  var dropTargetUtils = require('./drag-drop/drop-target-utils.js');
24
24
  var useGlobalDragDrop = require('./drag-drop/useGlobalDragDrop.js');
25
- var DatePopup = require('./date-popup/DatePopup.js');
26
- var DropdownBase = require('./dropdown-base/DropdownBase.js');
27
- var useDropdownBase = require('./dropdown-base/useDropdownBase.js');
28
25
  var useEditableText = require('./editable/useEditableText.js');
29
26
  var EditableLabel = require('./editable-label/EditableLabel.js');
30
27
  var ExpandoInput = require('./expando-input/ExpandoInput.js');
31
28
  var Icon = require('./icon-button/Icon.js');
32
29
  var IconButton = require('./icon-button/IconButton.js');
33
30
  var TablePicker = require('./instrument-picker/TablePicker.js');
34
- var InstrumentSearch = require('./instrument-search/InstrumentSearch.js');
31
+ var TableSearch = require('./table-search/TableSearch.js');
35
32
  var keyUtils = require('./list/common-hooks/keyUtils.js');
36
33
  var useCollapsibleGroups = require('./list/common-hooks/useCollapsibleGroups.js');
37
34
  var listDomUtils = require('./list/common-hooks/list-dom-utils.js');
@@ -126,9 +123,6 @@ exports.measureElementSizeAndPosition = dropTargetUtils.measureElementSizeAndPos
126
123
  exports.mutateDropTargetsSwitchDropTargetPosition = dropTargetUtils.mutateDropTargetsSwitchDropTargetPosition;
127
124
  exports.removeDraggedItem = dropTargetUtils.removeDraggedItem;
128
125
  exports.useGlobalDragDrop = useGlobalDragDrop.useGlobalDragDrop;
129
- exports.DatePopup = DatePopup.DatePopup;
130
- exports.DropdownBase = DropdownBase.DropdownBase;
131
- exports.useDropdownBase = useDropdownBase.useDropdownBase;
132
126
  exports.WarnCommit = useEditableText.WarnCommit;
133
127
  exports.useEditableText = useEditableText.useEditableText;
134
128
  exports.EditableLabel = EditableLabel.EditableLabel;
@@ -137,7 +131,7 @@ exports.ExpandoInput = ExpandoInput.ExpandoInput;
137
131
  exports.Icon = Icon.Icon;
138
132
  exports.IconButton = IconButton.IconButton;
139
133
  exports.TablePicker = TablePicker.TablePicker;
140
- exports.InstrumentSearch = InstrumentSearch.InstrumentSearch;
134
+ exports.TableSearch = TableSearch.TableSearch;
141
135
  exports.ArrowDown = keyUtils.ArrowDown;
142
136
  exports.ArrowLeft = keyUtils.ArrowLeft;
143
137
  exports.ArrowRight = keyUtils.ArrowRight;
package/cjs/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -3,7 +3,6 @@
3
3
  var jsxRuntime = require('react/jsx-runtime');
4
4
  var styles = require('@salt-ds/styles');
5
5
  var window = require('@salt-ds/window');
6
- var vuuUtils = require('@vuu-ui/vuu-utils');
7
6
  var SearchCell$1 = require('./SearchCell.css.js');
8
7
 
9
8
  const classBase = "vuuSearchCell";
@@ -25,9 +24,6 @@ const SearchCell = ({
25
24
  value
26
25
  ] });
27
26
  };
28
- vuuUtils.registerComponent("search-cell", SearchCell, "cell-renderer", {
29
- serverDataType: "private"
30
- });
31
27
 
32
28
  exports.SearchCell = SearchCell;
33
29
  //# sourceMappingURL=SearchCell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchCell.js","sources":["../../src/table-search/SearchCell.tsx"],"sourcesContent":["import { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { TableCellRendererProps } from \"@vuu-ui/vuu-table-types\";\n\nimport searchCellCss from \"./SearchCell.css\";\n\nconst classBase = \"vuuSearchCell\";\n\n// export to avoid tree shaking, component is not consumed directly\nexport const SearchCell = ({\n column,\n columnMap,\n row,\n}: TableCellRendererProps) => {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"vuu-search-cell\",\n css: searchCellCss,\n window: targetWindow,\n });\n\n //TODO what about click handling\n\n const key = columnMap[column.name];\n const value = row[key];\n\n return (\n <div className={classBase} tabIndex={-1}>\n <span data-icon=\"draggable\" />\n {value}\n </div>\n );\n};\n"],"names":["useWindow","useComponentCssInjection","searchCellCss","jsxs","jsx"],"mappings":";;;;;;;AAMA,MAAM,SAAY,GAAA,eAAA,CAAA;AAGX,MAAM,aAAa,CAAC;AAAA,EACzB,MAAA;AAAA,EACA,SAAA;AAAA,EACA,GAAA;AACF,CAA8B,KAAA;AAC5B,EAAA,MAAM,eAAeA,gBAAU,EAAA,CAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,iBAAA;AAAA,IACR,GAAK,EAAAC,YAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AAID,EAAM,MAAA,GAAA,GAAM,SAAU,CAAA,MAAA,CAAO,IAAI,CAAA,CAAA;AACjC,EAAM,MAAA,KAAA,GAAQ,IAAI,GAAG,CAAA,CAAA;AAErB,EAAA,uBACGC,eAAA,CAAA,KAAA,EAAA,EAAI,SAAW,EAAA,SAAA,EAAW,UAAU,CACnC,CAAA,EAAA,QAAA,EAAA;AAAA,oBAACC,cAAA,CAAA,MAAA,EAAA,EAAK,aAAU,WAAY,EAAA,CAAA;AAAA,IAC3B,KAAA;AAAA,GACH,EAAA,CAAA,CAAA;AAEJ;;;;"}
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ var instrumentSearchCss = ".vuuTableSearch {\n height: 100%;\n padding: var(--vuuTableSearch-padding, 12px);\n display: flex;\n flex-direction: column;\n}\n\n.vuuTableSearch-inputField {\n --vuu-icon-size: 16px;\n flex: 0 0 40px;\n padding: 0 12px;\n}\n.vuuTableSearch-list {\n --vuuMeasuredContainer-flex: 1 1 1px;\n background-color: var(--salt-container-primary-background);\n flex: 1 1 auto;\n}\n\n.vuuTableSearch .vuuTableCell {\n padding: 0;\n}\n";
4
+
5
+ module.exports = instrumentSearchCss;
6
+ //# sourceMappingURL=TableSearch.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableSearch.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -9,13 +9,10 @@ var window = require('@salt-ds/window');
9
9
  var cx = require('clsx');
10
10
  var React = require('react');
11
11
  var SearchCell = require('./SearchCell.js');
12
- var useInstrumentSearch = require('./useInstrumentSearch.js');
13
- var InstrumentSearch$1 = require('./InstrumentSearch.css.js');
12
+ var useTableSearch = require('./useTableSearch.js');
13
+ var TableSearch$1 = require('./TableSearch.css.js');
14
14
 
15
- const classBase = "vuuInstrumentSearch";
16
- if (typeof SearchCell.SearchCell !== "function") {
17
- console.warn("Instrument Search: SearchCell module not loaded ");
18
- }
15
+ const classBase = "vuuTableSearch";
19
16
  const defaultTableConfig = {
20
17
  columns: [
21
18
  { name: "bbg", hidden: true },
@@ -33,7 +30,7 @@ const defaultTableConfig = {
33
30
  rowSeparators: true
34
31
  };
35
32
  const searchIcon = /* @__PURE__ */ jsxRuntime.jsx("span", { "data-icon": "search" });
36
- const InstrumentSearch = ({
33
+ const TableSearch = ({
37
34
  TableProps: TableProps2,
38
35
  autoFocus = false,
39
36
  className,
@@ -44,11 +41,11 @@ const InstrumentSearch = ({
44
41
  }) => {
45
42
  const targetWindow = window.useWindow();
46
43
  styles.useComponentCssInjection({
47
- testId: "vuu-instrument-search",
48
- css: InstrumentSearch$1,
44
+ testId: "vuu-table-search",
45
+ css: TableSearch$1,
49
46
  window: targetWindow
50
47
  });
51
- const { dataSource, onChange, searchState } = useInstrumentSearch.useInstrumentSearch({
48
+ const { dataSource, onChange, searchState } = useTableSearch.useTableSearch({
52
49
  dataSource: dataSourceProp,
53
50
  searchColumns
54
51
  });
@@ -90,7 +87,10 @@ const InstrumentSearch = ({
90
87
  ) : null
91
88
  ] });
92
89
  };
93
- vuuUtils.registerComponent?.("InstrumentSearch", InstrumentSearch, "view");
90
+ vuuUtils.registerComponent("search-cell", SearchCell.SearchCell, "cell-renderer", {
91
+ serverDataType: "private"
92
+ });
93
+ vuuUtils.registerComponent?.("TableSearch", TableSearch, "view");
94
94
 
95
- exports.InstrumentSearch = InstrumentSearch;
96
- //# sourceMappingURL=InstrumentSearch.js.map
95
+ exports.TableSearch = TableSearch;
96
+ //# sourceMappingURL=TableSearch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableSearch.js","sources":["../../src/table-search/TableSearch.tsx"],"sourcesContent":["import { DataSource } from \"@vuu-ui/vuu-data-types\";\nimport {\n Table,\n TableProps,\n useControlledTableNavigation,\n} from \"@vuu-ui/vuu-table\";\nimport { TableConfig } from \"@vuu-ui/vuu-table-types\";\nimport { registerComponent } from \"@vuu-ui/vuu-utils\";\nimport { Input } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport cx from \"clsx\";\nimport { HTMLAttributes, RefCallback, useCallback } from \"react\";\nimport { SearchCell } from \"./SearchCell\";\nimport { useTableSearch } from \"./useTableSearch\";\n\nimport instrumentSearchCss from \"./TableSearch.css\";\n\nconst classBase = \"vuuTableSearch\";\n\nconst defaultTableConfig: TableConfig = {\n columns: [\n { name: \"bbg\", hidden: true },\n {\n name: \"description\",\n width: 200,\n type: {\n name: \"string\",\n renderer: {\n name: \"search-cell\",\n },\n },\n },\n ],\n rowSeparators: true,\n};\n\nexport interface TableSearchProps extends HTMLAttributes<HTMLDivElement> {\n TableProps?: Partial<TableProps>;\n autoFocus?: boolean;\n dataSource: DataSource;\n placeHolder?: string;\n searchColumns: string[];\n}\n\nconst searchIcon = <span data-icon=\"search\" />;\n\nexport const TableSearch = ({\n TableProps,\n autoFocus = false,\n className,\n dataSource: dataSourceProp,\n placeHolder,\n searchColumns,\n ...htmlAttributes\n}: TableSearchProps) => {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"vuu-table-search\",\n css: instrumentSearchCss,\n window: targetWindow,\n });\n\n const { dataSource, onChange, searchState } = useTableSearch({\n dataSource: dataSourceProp,\n searchColumns,\n });\n\n const { highlightedIndexRef, onHighlight, onKeyDown, tableRef } =\n useControlledTableNavigation(-1, dataSource?.size ?? 0);\n\n const searchCallbackRef = useCallback<RefCallback<HTMLElement>>((el) => {\n setTimeout(() => {\n el?.querySelector(\"input\")?.focus();\n }, 100);\n }, []);\n\n return (\n <div {...htmlAttributes} className={cx(classBase, className)}>\n <div className={`${classBase}-inputField`}>\n <Input\n inputProps={{ onKeyDown }}\n endAdornment={searchIcon}\n placeholder={placeHolder}\n ref={autoFocus ? searchCallbackRef : null}\n value={searchState.searchText}\n onChange={onChange}\n />\n </div>\n\n {dataSource ? (\n <Table\n disableFocus\n id=\"instrument-search\"\n rowHeight={25}\n config={defaultTableConfig}\n highlightedIndex={highlightedIndexRef.current}\n renderBufferSize={100}\n {...TableProps}\n className={`${classBase}-list`}\n dataSource={dataSource}\n navigationStyle=\"row\"\n onHighlight={onHighlight}\n ref={tableRef}\n showColumnHeaders={false}\n />\n ) : null}\n </div>\n );\n};\n\nregisterComponent(\"search-cell\", SearchCell, \"cell-renderer\", {\n serverDataType: \"private\",\n});\n\nregisterComponent?.(\"TableSearch\", TableSearch, \"view\");\n"],"names":["jsx","TableProps","useWindow","useComponentCssInjection","instrumentSearchCss","useTableSearch","useControlledTableNavigation","useCallback","jsxs","Input","Table","registerComponent","SearchCell"],"mappings":"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"}
@@ -2,9 +2,9 @@
2
2
 
3
3
  var React = require('react');
4
4
 
5
- const useInstrumentSearch = ({
5
+ const useTableSearch = ({
6
6
  dataSource,
7
- searchColumns = ["description"]
7
+ searchColumns
8
8
  }) => {
9
9
  const [searchState, setSearchState] = React.useState({ searchText: "", filter: "" });
10
10
  const baseFilterPattern = React.useMemo(
@@ -35,5 +35,5 @@ const useInstrumentSearch = ({
35
35
  };
36
36
  };
37
37
 
38
- exports.useInstrumentSearch = useInstrumentSearch;
39
- //# sourceMappingURL=useInstrumentSearch.js.map
38
+ exports.useTableSearch = useTableSearch;
39
+ //# sourceMappingURL=useTableSearch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTableSearch.js","sources":["../../src/table-search/useTableSearch.ts"],"sourcesContent":["import { FormEventHandler, useCallback, useMemo, useState } from \"react\";\nimport { TableSearchProps } from \"./TableSearch\";\n\nexport interface TableSearchHookProps\n extends Pick<TableSearchProps, \"dataSource\" | \"searchColumns\"> {\n label?: string;\n}\n\nexport const useTableSearch = ({\n dataSource,\n searchColumns,\n}: TableSearchHookProps) => {\n const [searchState, setSearchState] = useState<{\n searchText: string;\n filter: string;\n }>({ searchText: \"\", filter: \"\" });\n\n const baseFilterPattern = useMemo(\n // TODO make this contains once server supports it\n () => searchColumns.map((col) => `${col} starts \"__VALUE__\"`).join(\" or \"),\n [searchColumns],\n );\n\n const handleChange = useCallback<FormEventHandler>(\n (evt) => {\n const { value } = evt.target as HTMLInputElement;\n const filter = baseFilterPattern.replaceAll(\"__VALUE__\", value);\n setSearchState({\n searchText: value,\n filter,\n });\n if (dataSource) {\n dataSource.filter = {\n filter,\n };\n }\n },\n [baseFilterPattern, dataSource],\n );\n\n return {\n dataSource,\n onChange: handleChange,\n searchState,\n };\n};\n"],"names":["useState","useMemo","useCallback"],"mappings":";;;;AAQO,MAAM,iBAAiB,CAAC;AAAA,EAC7B,UAAA;AAAA,EACA,aAAA;AACF,CAA4B,KAAA;AAC1B,EAAM,MAAA,CAAC,WAAa,EAAA,cAAc,CAAI,GAAAA,cAAA,CAGnC,EAAE,UAAY,EAAA,EAAA,EAAI,MAAQ,EAAA,EAAA,EAAI,CAAA,CAAA;AAEjC,EAAA,MAAM,iBAAoB,GAAAC,aAAA;AAAA;AAAA,IAExB,MAAM,aAAc,CAAA,GAAA,CAAI,CAAC,GAAA,KAAQ,GAAG,GAAG,CAAA,mBAAA,CAAqB,CAAE,CAAA,IAAA,CAAK,MAAM,CAAA;AAAA,IACzE,CAAC,aAAa,CAAA;AAAA,GAChB,CAAA;AAEA,EAAA,MAAM,YAAe,GAAAC,iBAAA;AAAA,IACnB,CAAC,GAAQ,KAAA;AACP,MAAM,MAAA,EAAE,KAAM,EAAA,GAAI,GAAI,CAAA,MAAA,CAAA;AACtB,MAAA,MAAM,MAAS,GAAA,iBAAA,CAAkB,UAAW,CAAA,WAAA,EAAa,KAAK,CAAA,CAAA;AAC9D,MAAe,cAAA,CAAA;AAAA,QACb,UAAY,EAAA,KAAA;AAAA,QACZ,MAAA;AAAA,OACD,CAAA,CAAA;AACD,MAAA,IAAI,UAAY,EAAA;AACd,QAAA,UAAA,CAAW,MAAS,GAAA;AAAA,UAClB,MAAA;AAAA,SACF,CAAA;AAAA,OACF;AAAA,KACF;AAAA,IACA,CAAC,mBAAmB,UAAU,CAAA;AAAA,GAChC,CAAA;AAEA,EAAO,OAAA;AAAA,IACL,UAAA;AAAA,IACA,QAAU,EAAA,YAAA;AAAA,IACV,WAAA;AAAA,GACF,CAAA;AACF;;;;"}
package/esm/index.js CHANGED
@@ -20,16 +20,13 @@ export { DragDropState } from './drag-drop/DragDropState.js';
20
20
  export { useDragDrop } from './drag-drop/useDragDrop.js';
21
21
  export { NOT_HIDDEN, NOT_OVERFLOWED, cloneElement, constrainRect, dimensions, dropTargetsDebugString, getIndexOfDraggedItem, getItemById, getItemParentContainer, getNextDropTarget, getScrollableContainer, isContainerScrollable, measureDropTargets, measureElementSizeAndPosition, mutateDropTargetsSwitchDropTargetPosition, removeDraggedItem } from './drag-drop/drop-target-utils.js';
22
22
  export { useGlobalDragDrop } from './drag-drop/useGlobalDragDrop.js';
23
- export { DatePopup } from './date-popup/DatePopup.js';
24
- export { DropdownBase } from './dropdown-base/DropdownBase.js';
25
- export { useDropdownBase } from './dropdown-base/useDropdownBase.js';
26
23
  export { WarnCommit, useEditableText } from './editable/useEditableText.js';
27
24
  export { EditableLabel, NullEditAPI } from './editable-label/EditableLabel.js';
28
25
  export { ExpandoInput } from './expando-input/ExpandoInput.js';
29
26
  export { Icon } from './icon-button/Icon.js';
30
27
  export { IconButton } from './icon-button/IconButton.js';
31
28
  export { TablePicker } from './instrument-picker/TablePicker.js';
32
- export { InstrumentSearch } from './instrument-search/InstrumentSearch.js';
29
+ export { TableSearch } from './table-search/TableSearch.js';
33
30
  export { ArrowDown, ArrowLeft, ArrowRight, ArrowUp, End, Enter, Escape, Home, PageDown, PageUp, Space, isCharacterKey, isNavigationKey } from './list/common-hooks/keyUtils.js';
34
31
  export { useCollapsibleGroups } from './list/common-hooks/useCollapsibleGroups.js';
35
32
  export { closestListItemId, closestListItemIndex, listItemElement, listItemId, listItemIndex } from './list/common-hooks/list-dom-utils.js';
package/esm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,7 +1,6 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { useComponentCssInjection } from '@salt-ds/styles';
3
3
  import { useWindow } from '@salt-ds/window';
4
- import { registerComponent } from '@vuu-ui/vuu-utils';
5
4
  import searchCellCss from './SearchCell.css.js';
6
5
 
7
6
  const classBase = "vuuSearchCell";
@@ -23,9 +22,6 @@ const SearchCell = ({
23
22
  value
24
23
  ] });
25
24
  };
26
- registerComponent("search-cell", SearchCell, "cell-renderer", {
27
- serverDataType: "private"
28
- });
29
25
 
30
26
  export { SearchCell };
31
27
  //# sourceMappingURL=SearchCell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchCell.js","sources":["../../src/table-search/SearchCell.tsx"],"sourcesContent":["import { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { TableCellRendererProps } from \"@vuu-ui/vuu-table-types\";\n\nimport searchCellCss from \"./SearchCell.css\";\n\nconst classBase = \"vuuSearchCell\";\n\n// export to avoid tree shaking, component is not consumed directly\nexport const SearchCell = ({\n column,\n columnMap,\n row,\n}: TableCellRendererProps) => {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"vuu-search-cell\",\n css: searchCellCss,\n window: targetWindow,\n });\n\n //TODO what about click handling\n\n const key = columnMap[column.name];\n const value = row[key];\n\n return (\n <div className={classBase} tabIndex={-1}>\n <span data-icon=\"draggable\" />\n {value}\n </div>\n );\n};\n"],"names":[],"mappings":";;;;;AAMA,MAAM,SAAY,GAAA,eAAA,CAAA;AAGX,MAAM,aAAa,CAAC;AAAA,EACzB,MAAA;AAAA,EACA,SAAA;AAAA,EACA,GAAA;AACF,CAA8B,KAAA;AAC5B,EAAA,MAAM,eAAe,SAAU,EAAA,CAAA;AAC/B,EAAyB,wBAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,iBAAA;AAAA,IACR,GAAK,EAAA,aAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AAID,EAAM,MAAA,GAAA,GAAM,SAAU,CAAA,MAAA,CAAO,IAAI,CAAA,CAAA;AACjC,EAAM,MAAA,KAAA,GAAQ,IAAI,GAAG,CAAA,CAAA;AAErB,EAAA,uBACG,IAAA,CAAA,KAAA,EAAA,EAAI,SAAW,EAAA,SAAA,EAAW,UAAU,CACnC,CAAA,EAAA,QAAA,EAAA;AAAA,oBAAC,GAAA,CAAA,MAAA,EAAA,EAAK,aAAU,WAAY,EAAA,CAAA;AAAA,IAC3B,KAAA;AAAA,GACH,EAAA,CAAA,CAAA;AAEJ;;;;"}
@@ -0,0 +1,4 @@
1
+ var instrumentSearchCss = ".vuuTableSearch {\n height: 100%;\n padding: var(--vuuTableSearch-padding, 12px);\n display: flex;\n flex-direction: column;\n}\n\n.vuuTableSearch-inputField {\n --vuu-icon-size: 16px;\n flex: 0 0 40px;\n padding: 0 12px;\n}\n.vuuTableSearch-list {\n --vuuMeasuredContainer-flex: 1 1 1px;\n background-color: var(--salt-container-primary-background);\n flex: 1 1 auto;\n}\n\n.vuuTableSearch .vuuTableCell {\n padding: 0;\n}\n";
2
+
3
+ export { instrumentSearchCss as default };
4
+ //# sourceMappingURL=TableSearch.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableSearch.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -7,13 +7,10 @@ import { useWindow } from '@salt-ds/window';
7
7
  import cx from 'clsx';
8
8
  import { useCallback } from 'react';
9
9
  import { SearchCell } from './SearchCell.js';
10
- import { useInstrumentSearch } from './useInstrumentSearch.js';
11
- import instrumentSearchCss from './InstrumentSearch.css.js';
10
+ import { useTableSearch } from './useTableSearch.js';
11
+ import instrumentSearchCss from './TableSearch.css.js';
12
12
 
13
- const classBase = "vuuInstrumentSearch";
14
- if (typeof SearchCell !== "function") {
15
- console.warn("Instrument Search: SearchCell module not loaded ");
16
- }
13
+ const classBase = "vuuTableSearch";
17
14
  const defaultTableConfig = {
18
15
  columns: [
19
16
  { name: "bbg", hidden: true },
@@ -31,7 +28,7 @@ const defaultTableConfig = {
31
28
  rowSeparators: true
32
29
  };
33
30
  const searchIcon = /* @__PURE__ */ jsx("span", { "data-icon": "search" });
34
- const InstrumentSearch = ({
31
+ const TableSearch = ({
35
32
  TableProps: TableProps2,
36
33
  autoFocus = false,
37
34
  className,
@@ -42,11 +39,11 @@ const InstrumentSearch = ({
42
39
  }) => {
43
40
  const targetWindow = useWindow();
44
41
  useComponentCssInjection({
45
- testId: "vuu-instrument-search",
42
+ testId: "vuu-table-search",
46
43
  css: instrumentSearchCss,
47
44
  window: targetWindow
48
45
  });
49
- const { dataSource, onChange, searchState } = useInstrumentSearch({
46
+ const { dataSource, onChange, searchState } = useTableSearch({
50
47
  dataSource: dataSourceProp,
51
48
  searchColumns
52
49
  });
@@ -88,7 +85,10 @@ const InstrumentSearch = ({
88
85
  ) : null
89
86
  ] });
90
87
  };
91
- registerComponent?.("InstrumentSearch", InstrumentSearch, "view");
88
+ registerComponent("search-cell", SearchCell, "cell-renderer", {
89
+ serverDataType: "private"
90
+ });
91
+ registerComponent?.("TableSearch", TableSearch, "view");
92
92
 
93
- export { InstrumentSearch };
94
- //# sourceMappingURL=InstrumentSearch.js.map
93
+ export { TableSearch };
94
+ //# sourceMappingURL=TableSearch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableSearch.js","sources":["../../src/table-search/TableSearch.tsx"],"sourcesContent":["import { DataSource } from \"@vuu-ui/vuu-data-types\";\nimport {\n Table,\n TableProps,\n useControlledTableNavigation,\n} from \"@vuu-ui/vuu-table\";\nimport { TableConfig } from \"@vuu-ui/vuu-table-types\";\nimport { registerComponent } from \"@vuu-ui/vuu-utils\";\nimport { Input } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport cx from \"clsx\";\nimport { HTMLAttributes, RefCallback, useCallback } from \"react\";\nimport { SearchCell } from \"./SearchCell\";\nimport { useTableSearch } from \"./useTableSearch\";\n\nimport instrumentSearchCss from \"./TableSearch.css\";\n\nconst classBase = \"vuuTableSearch\";\n\nconst defaultTableConfig: TableConfig = {\n columns: [\n { name: \"bbg\", hidden: true },\n {\n name: \"description\",\n width: 200,\n type: {\n name: \"string\",\n renderer: {\n name: \"search-cell\",\n },\n },\n },\n ],\n rowSeparators: true,\n};\n\nexport interface TableSearchProps extends HTMLAttributes<HTMLDivElement> {\n TableProps?: Partial<TableProps>;\n autoFocus?: boolean;\n dataSource: DataSource;\n placeHolder?: string;\n searchColumns: string[];\n}\n\nconst searchIcon = <span data-icon=\"search\" />;\n\nexport const TableSearch = ({\n TableProps,\n autoFocus = false,\n className,\n dataSource: dataSourceProp,\n placeHolder,\n searchColumns,\n ...htmlAttributes\n}: TableSearchProps) => {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"vuu-table-search\",\n css: instrumentSearchCss,\n window: targetWindow,\n });\n\n const { dataSource, onChange, searchState } = useTableSearch({\n dataSource: dataSourceProp,\n searchColumns,\n });\n\n const { highlightedIndexRef, onHighlight, onKeyDown, tableRef } =\n useControlledTableNavigation(-1, dataSource?.size ?? 0);\n\n const searchCallbackRef = useCallback<RefCallback<HTMLElement>>((el) => {\n setTimeout(() => {\n el?.querySelector(\"input\")?.focus();\n }, 100);\n }, []);\n\n return (\n <div {...htmlAttributes} className={cx(classBase, className)}>\n <div className={`${classBase}-inputField`}>\n <Input\n inputProps={{ onKeyDown }}\n endAdornment={searchIcon}\n placeholder={placeHolder}\n ref={autoFocus ? searchCallbackRef : null}\n value={searchState.searchText}\n onChange={onChange}\n />\n </div>\n\n {dataSource ? (\n <Table\n disableFocus\n id=\"instrument-search\"\n rowHeight={25}\n config={defaultTableConfig}\n highlightedIndex={highlightedIndexRef.current}\n renderBufferSize={100}\n {...TableProps}\n className={`${classBase}-list`}\n dataSource={dataSource}\n navigationStyle=\"row\"\n onHighlight={onHighlight}\n ref={tableRef}\n showColumnHeaders={false}\n />\n ) : null}\n </div>\n );\n};\n\nregisterComponent(\"search-cell\", SearchCell, \"cell-renderer\", {\n serverDataType: \"private\",\n});\n\nregisterComponent?.(\"TableSearch\", TableSearch, \"view\");\n"],"names":["TableProps"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { useState, useMemo, useCallback } from 'react';
2
2
 
3
- const useInstrumentSearch = ({
3
+ const useTableSearch = ({
4
4
  dataSource,
5
- searchColumns = ["description"]
5
+ searchColumns
6
6
  }) => {
7
7
  const [searchState, setSearchState] = useState({ searchText: "", filter: "" });
8
8
  const baseFilterPattern = useMemo(
@@ -33,5 +33,5 @@ const useInstrumentSearch = ({
33
33
  };
34
34
  };
35
35
 
36
- export { useInstrumentSearch };
37
- //# sourceMappingURL=useInstrumentSearch.js.map
36
+ export { useTableSearch };
37
+ //# sourceMappingURL=useTableSearch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTableSearch.js","sources":["../../src/table-search/useTableSearch.ts"],"sourcesContent":["import { FormEventHandler, useCallback, useMemo, useState } from \"react\";\nimport { TableSearchProps } from \"./TableSearch\";\n\nexport interface TableSearchHookProps\n extends Pick<TableSearchProps, \"dataSource\" | \"searchColumns\"> {\n label?: string;\n}\n\nexport const useTableSearch = ({\n dataSource,\n searchColumns,\n}: TableSearchHookProps) => {\n const [searchState, setSearchState] = useState<{\n searchText: string;\n filter: string;\n }>({ searchText: \"\", filter: \"\" });\n\n const baseFilterPattern = useMemo(\n // TODO make this contains once server supports it\n () => searchColumns.map((col) => `${col} starts \"__VALUE__\"`).join(\" or \"),\n [searchColumns],\n );\n\n const handleChange = useCallback<FormEventHandler>(\n (evt) => {\n const { value } = evt.target as HTMLInputElement;\n const filter = baseFilterPattern.replaceAll(\"__VALUE__\", value);\n setSearchState({\n searchText: value,\n filter,\n });\n if (dataSource) {\n dataSource.filter = {\n filter,\n };\n }\n },\n [baseFilterPattern, dataSource],\n );\n\n return {\n dataSource,\n onChange: handleChange,\n searchState,\n };\n};\n"],"names":[],"mappings":";;AAQO,MAAM,iBAAiB,CAAC;AAAA,EAC7B,UAAA;AAAA,EACA,aAAA;AACF,CAA4B,KAAA;AAC1B,EAAM,MAAA,CAAC,WAAa,EAAA,cAAc,CAAI,GAAA,QAAA,CAGnC,EAAE,UAAY,EAAA,EAAA,EAAI,MAAQ,EAAA,EAAA,EAAI,CAAA,CAAA;AAEjC,EAAA,MAAM,iBAAoB,GAAA,OAAA;AAAA;AAAA,IAExB,MAAM,aAAc,CAAA,GAAA,CAAI,CAAC,GAAA,KAAQ,GAAG,GAAG,CAAA,mBAAA,CAAqB,CAAE,CAAA,IAAA,CAAK,MAAM,CAAA;AAAA,IACzE,CAAC,aAAa,CAAA;AAAA,GAChB,CAAA;AAEA,EAAA,MAAM,YAAe,GAAA,WAAA;AAAA,IACnB,CAAC,GAAQ,KAAA;AACP,MAAM,MAAA,EAAE,KAAM,EAAA,GAAI,GAAI,CAAA,MAAA,CAAA;AACtB,MAAA,MAAM,MAAS,GAAA,iBAAA,CAAkB,UAAW,CAAA,WAAA,EAAa,KAAK,CAAA,CAAA;AAC9D,MAAe,cAAA,CAAA;AAAA,QACb,UAAY,EAAA,KAAA;AAAA,QACZ,MAAA;AAAA,OACD,CAAA,CAAA;AACD,MAAA,IAAI,UAAY,EAAA;AACd,QAAA,UAAA,CAAW,MAAS,GAAA;AAAA,UAClB,MAAA;AAAA,SACF,CAAA;AAAA,OACF;AAAA,KACF;AAAA,IACA,CAAC,mBAAmB,UAAU,CAAA;AAAA,GAChC,CAAA;AAEA,EAAO,OAAA;AAAA,IACL,UAAA;AAAA,IACA,QAAU,EAAA,YAAA;AAAA,IACV,WAAA;AAAA,GACF,CAAA;AACF;;;;"}
package/package.json CHANGED
@@ -1,17 +1,17 @@
1
1
  {
2
- "version": "0.8.97",
2
+ "version": "0.8.98",
3
3
  "description": "VUU UI Controls",
4
4
  "author": "heswell",
5
5
  "license": "Apache-2.0",
6
6
  "devDependencies": {
7
- "@vuu-ui/vuu-data-types": "0.8.97",
8
- "@vuu-ui/vuu-table-types": "0.8.97"
7
+ "@vuu-ui/vuu-data-types": "0.8.98",
8
+ "@vuu-ui/vuu-table-types": "0.8.98"
9
9
  },
10
10
  "dependencies": {
11
- "@vuu-ui/vuu-layout": "0.8.97",
12
- "@vuu-ui/vuu-popups": "0.8.97",
13
- "@vuu-ui/vuu-table": "0.8.97",
14
- "@vuu-ui/vuu-utils": "0.8.97",
11
+ "@vuu-ui/vuu-layout": "0.8.98",
12
+ "@vuu-ui/vuu-popups": "0.8.98",
13
+ "@vuu-ui/vuu-table": "0.8.98",
14
+ "@vuu-ui/vuu-utils": "0.8.98",
15
15
  "@floating-ui/react": "^0.26.5",
16
16
  "@salt-ds/core": "1.34.0",
17
17
  "@salt-ds/icons": "1.12.1",
package/types/index.d.ts CHANGED
@@ -5,15 +5,13 @@ export * from "./cycle-state-button";
5
5
  export * from "./date-input";
6
6
  export * from "./date-picker";
7
7
  export * from "./drag-drop";
8
- export * from "./date-popup";
9
8
  export * from "./drag-drop";
10
- export * from "./dropdown-base";
11
9
  export * from "./editable";
12
10
  export * from "./editable-label";
13
11
  export * from "./expando-input";
14
12
  export * from "./icon-button";
15
13
  export * from "./instrument-picker";
16
- export * from "./instrument-search";
14
+ export * from "./table-search";
17
15
  export * from "./list";
18
16
  export * from "./measured-container";
19
17
  export * from "./overflow-container";
@@ -0,0 +1,11 @@
1
+ import { DataSource } from "@vuu-ui/vuu-data-types";
2
+ import { TableProps } from "@vuu-ui/vuu-table";
3
+ import { HTMLAttributes } from "react";
4
+ export interface TableSearchProps extends HTMLAttributes<HTMLDivElement> {
5
+ TableProps?: Partial<TableProps>;
6
+ autoFocus?: boolean;
7
+ dataSource: DataSource;
8
+ placeHolder?: string;
9
+ searchColumns: string[];
10
+ }
11
+ export declare const TableSearch: ({ TableProps, autoFocus, className, dataSource: dataSourceProp, placeHolder, searchColumns, ...htmlAttributes }: TableSearchProps) => JSX.Element;
@@ -0,0 +1 @@
1
+ export * from "./TableSearch";
@@ -0,0 +1,13 @@
1
+ import { FormEventHandler } from "react";
2
+ import { TableSearchProps } from "./TableSearch";
3
+ export interface TableSearchHookProps extends Pick<TableSearchProps, "dataSource" | "searchColumns"> {
4
+ label?: string;
5
+ }
6
+ export declare const useTableSearch: ({ dataSource, searchColumns, }: TableSearchHookProps) => {
7
+ dataSource: import("@vuu-ui/vuu-data-types").DataSource;
8
+ onChange: FormEventHandler;
9
+ searchState: {
10
+ searchText: string;
11
+ filter: string;
12
+ };
13
+ };
@@ -0,0 +1,2 @@
1
+ export type CloseReason = "blur" | "Escape" | "click-away" | "select" | "script" | "Tab" | "toggle";
2
+ export type OpenChangeHandler = <T extends boolean>(open: T, closeReason?: T extends false ? CloseReason : never) => void;
@@ -2,3 +2,4 @@ export * from "./escapeRegExp";
2
2
  export * from "./isOverflowElement";
3
3
  export * from "./isPlainObject";
4
4
  export * from "./forwardCallbackProps";
5
+ export * from "./deprecated-types";
@@ -1,88 +0,0 @@
1
- 'use strict';
2
-
3
- var jsxRuntime = require('react/jsx-runtime');
4
- var date = require('@internationalized/date');
5
- var core = require('@salt-ds/core');
6
- var cx = require('clsx');
7
- var React = require('react');
8
- var Calendar = require('../calendar/Calendar.js');
9
- require('../calendar/internal/CalendarContext.js');
10
- require('../calendar/internal/utils.js');
11
- require('../calendar/useSelection.js');
12
- var DropdownBase = require('../dropdown-base/DropdownBase.js');
13
- require('../common-hooks/collectionProvider.js');
14
- require('../common-hooks/use-resize-observer.js');
15
- require('@vuu-ui/vuu-utils');
16
- require('@salt-ds/styles');
17
- require('@salt-ds/window');
18
- var IconButton = require('../icon-button/IconButton.js');
19
- var useDatePopup = require('./useDatePopup.js');
20
-
21
- const classBase = "vuuDatePopup";
22
- const tz = date.getLocalTimeZone();
23
- const today = date.today(tz);
24
- const DatePopup = React.forwardRef(
25
- function DatePopup2({
26
- selectedDate,
27
- onChange,
28
- onPopupClose,
29
- onPopupOpen,
30
- selectionVariant,
31
- "data-embedded": dataEmbedded,
32
- ...htmlAttributes
33
- }, forwardedRef) {
34
- const {
35
- calendarRef,
36
- date,
37
- isOpen,
38
- onSelectedDateChange,
39
- onVisibleMonthChange,
40
- handleOpenChange,
41
- triggererRef,
42
- visibleMonth
43
- } = useDatePopup.useDatePopup({
44
- onChange,
45
- onPopupClose,
46
- onPopupOpen,
47
- selectedDate: selectedDate || today,
48
- selectionVariant
49
- });
50
- return /* @__PURE__ */ jsxRuntime.jsxs(
51
- DropdownBase.DropdownBase,
52
- {
53
- ...htmlAttributes,
54
- className: classBase,
55
- isOpen,
56
- placement: "below",
57
- onOpenChange: handleOpenChange,
58
- children: [
59
- /* @__PURE__ */ jsxRuntime.jsx(
60
- IconButton.IconButton,
61
- {
62
- "data-embedded": dataEmbedded,
63
- icon: "date",
64
- ref: core.useForkRef(forwardedRef, triggererRef),
65
- variant: "secondary",
66
- className: cx({ "saltButton-active": isOpen })
67
- }
68
- ),
69
- /* @__PURE__ */ jsxRuntime.jsx(
70
- Calendar.Calendar,
71
- {
72
- visibleMonth,
73
- ref: calendarRef,
74
- selectedDate: date,
75
- selectionVariant: "default",
76
- onSelectedDateChange,
77
- onVisibleMonthChange,
78
- className: `${classBase}-calendar`
79
- }
80
- )
81
- ]
82
- }
83
- );
84
- }
85
- );
86
-
87
- exports.DatePopup = DatePopup;
88
- //# sourceMappingURL=DatePopup.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DatePopup.js","sources":["../../src/date-popup/DatePopup.tsx"],"sourcesContent":["import {\n DateValue,\n getLocalTimeZone,\n today as getTodayDate,\n} from \"@internationalized/date\";\nimport { useForkRef } from \"@salt-ds/core\";\nimport cx from \"clsx\";\nimport { forwardRef, HTMLAttributes } from \"react\";\nimport { Calendar, CalendarProps } from \"../calendar\";\nimport { DropdownBase, DropdownCloseHandler } from \"../dropdown-base\";\nimport { IconButton } from \"../icon-button\";\nimport { useDatePopup } from \"./useDatePopup\";\n\nconst classBase = \"vuuDatePopup\";\n\nexport interface DatePopupProps\n extends Pick<CalendarProps, \"selectionVariant\">,\n Omit<HTMLAttributes<HTMLDivElement>, \"onChange\" | \"onKeyDown\"> {\n \"data-embedded\"?: boolean;\n selectedDate?: DateValue;\n onPopupClose?: DropdownCloseHandler;\n onPopupOpen?: () => void;\n onChange: (date: DateValue) => void;\n}\n\nconst tz = getLocalTimeZone();\nconst today = getTodayDate(tz);\n\nexport const DatePopup = forwardRef<HTMLButtonElement, DatePopupProps>(\n function DatePopup(\n {\n selectedDate,\n onChange,\n onPopupClose,\n onPopupOpen,\n selectionVariant,\n \"data-embedded\": dataEmbedded,\n ...htmlAttributes\n },\n forwardedRef\n ) {\n const {\n calendarRef,\n date,\n isOpen,\n onSelectedDateChange,\n onVisibleMonthChange,\n handleOpenChange,\n triggererRef,\n visibleMonth,\n } = useDatePopup({\n onChange,\n onPopupClose,\n onPopupOpen,\n selectedDate: selectedDate || today,\n selectionVariant,\n });\n\n return (\n <DropdownBase\n {...htmlAttributes}\n className={classBase}\n isOpen={isOpen}\n placement=\"below\"\n onOpenChange={handleOpenChange}\n >\n <IconButton\n data-embedded={dataEmbedded}\n icon=\"date\"\n ref={useForkRef(forwardedRef, triggererRef)}\n variant=\"secondary\"\n className={cx({ \"saltButton-active\": isOpen })}\n />\n <Calendar\n visibleMonth={visibleMonth}\n ref={calendarRef}\n selectedDate={date}\n selectionVariant=\"default\"\n onSelectedDateChange={onSelectedDateChange}\n onVisibleMonthChange={onVisibleMonthChange}\n className={`${classBase}-calendar`}\n />\n </DropdownBase>\n );\n }\n);\n"],"names":["getLocalTimeZone","getTodayDate","forwardRef","DatePopup","useDatePopup","jsxs","DropdownBase","jsx","IconButton","useForkRef","Calendar"],"mappings":";;;;;;;;;;;;;;;;;;;;AAaA,MAAM,SAAY,GAAA,cAAA,CAAA;AAYlB,MAAM,KAAKA,qBAAiB,EAAA,CAAA;AAC5B,MAAM,KAAA,GAAQC,WAAa,EAAE,CAAA,CAAA;AAEtB,MAAM,SAAY,GAAAC,gBAAA;AAAA,EACvB,SAASC,UACP,CAAA;AAAA,IACE,YAAA;AAAA,IACA,QAAA;AAAA,IACA,YAAA;AAAA,IACA,WAAA;AAAA,IACA,gBAAA;AAAA,IACA,eAAiB,EAAA,YAAA;AAAA,IACjB,GAAG,cAAA;AAAA,KAEL,YACA,EAAA;AACA,IAAM,MAAA;AAAA,MACJ,WAAA;AAAA,MACA,IAAA;AAAA,MACA,MAAA;AAAA,MACA,oBAAA;AAAA,MACA,oBAAA;AAAA,MACA,gBAAA;AAAA,MACA,YAAA;AAAA,MACA,YAAA;AAAA,QACEC,yBAAa,CAAA;AAAA,MACf,QAAA;AAAA,MACA,YAAA;AAAA,MACA,WAAA;AAAA,MACA,cAAc,YAAgB,IAAA,KAAA;AAAA,MAC9B,gBAAA;AAAA,KACD,CAAA,CAAA;AAED,IACE,uBAAAC,eAAA;AAAA,MAACC,yBAAA;AAAA,MAAA;AAAA,QACE,GAAG,cAAA;AAAA,QACJ,SAAW,EAAA,SAAA;AAAA,QACX,MAAA;AAAA,QACA,SAAU,EAAA,OAAA;AAAA,QACV,YAAc,EAAA,gBAAA;AAAA,QAEd,QAAA,EAAA;AAAA,0BAAAC,cAAA;AAAA,YAACC,qBAAA;AAAA,YAAA;AAAA,cACC,eAAe,EAAA,YAAA;AAAA,cACf,IAAK,EAAA,MAAA;AAAA,cACL,GAAA,EAAKC,eAAW,CAAA,YAAA,EAAc,YAAY,CAAA;AAAA,cAC1C,OAAQ,EAAA,WAAA;AAAA,cACR,SAAW,EAAA,EAAA,CAAG,EAAE,mBAAA,EAAqB,QAAQ,CAAA;AAAA,aAAA;AAAA,WAC/C;AAAA,0BACAF,cAAA;AAAA,YAACG,iBAAA;AAAA,YAAA;AAAA,cACC,YAAA;AAAA,cACA,GAAK,EAAA,WAAA;AAAA,cACL,YAAc,EAAA,IAAA;AAAA,cACd,gBAAiB,EAAA,SAAA;AAAA,cACjB,oBAAA;AAAA,cACA,oBAAA;AAAA,cACA,SAAA,EAAW,GAAG,SAAS,CAAA,SAAA,CAAA;AAAA,aAAA;AAAA,WACzB;AAAA,SAAA;AAAA,OAAA;AAAA,KACF,CAAA;AAAA,GAEJ;AACF;;;;"}
@@ -1,77 +0,0 @@
1
- 'use strict';
2
-
3
- var React = require('react');
4
-
5
- const SELECTED_DAY = ".saltCalendarDay-selected:not(.saltCalendarDay-outOfRange)";
6
- const useDatePopup = ({
7
- onChange,
8
- onPopupClose,
9
- onPopupOpen,
10
- selectedDate
11
- }) => {
12
- const [date, setDate] = React.useState(selectedDate);
13
- const [, forceUpdate] = React.useState({});
14
- const [isOpen, setIsOpen] = React.useState(false);
15
- const triggererRef = React.useRef(null);
16
- const calendarRef = React.useRef(null);
17
- const visibleMonthRef = React.useRef(selectedDate);
18
- const setVisibleMonth = React.useMemo(() => {
19
- const setValue = (v) => {
20
- if (v.toString() !== visibleMonthRef.current.toString()) {
21
- visibleMonthRef.current = v;
22
- forceUpdate({});
23
- }
24
- };
25
- setValue(selectedDate);
26
- return setValue;
27
- }, [selectedDate]);
28
- const handleOpenChange = React.useCallback(
29
- (open, reason) => {
30
- setIsOpen(open);
31
- if (open) {
32
- onPopupOpen?.();
33
- requestAnimationFrame(() => {
34
- const el = calendarRef.current?.querySelector(
35
- SELECTED_DAY
36
- );
37
- el?.focus();
38
- });
39
- } else {
40
- if (reason !== "Tab") {
41
- triggererRef.current?.focus();
42
- }
43
- onPopupClose?.(reason);
44
- }
45
- },
46
- [onPopupClose, onPopupOpen]
47
- );
48
- const handleDateSelection = React.useCallback(
49
- (e, date2) => {
50
- setDate(date2);
51
- console.log(date2.toString());
52
- visibleMonthRef.current = date2;
53
- handleOpenChange(false, "select");
54
- onChange(date2);
55
- },
56
- [handleOpenChange, onChange]
57
- );
58
- const handleVisibleMonthChange = React.useCallback(
59
- (e, date2) => {
60
- setVisibleMonth(date2);
61
- },
62
- [setVisibleMonth]
63
- );
64
- return {
65
- calendarRef,
66
- date,
67
- handleOpenChange,
68
- isOpen,
69
- onSelectedDateChange: handleDateSelection,
70
- onVisibleMonthChange: handleVisibleMonthChange,
71
- triggererRef,
72
- visibleMonth: visibleMonthRef.current
73
- };
74
- };
75
-
76
- exports.useDatePopup = useDatePopup;
77
- //# sourceMappingURL=useDatePopup.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useDatePopup.js","sources":["../../src/date-popup/useDatePopup.ts"],"sourcesContent":["import { useCallback, useMemo, useRef, useState } from \"react\";\nimport { OpenChangeHandler } from \"../dropdown-base\";\nimport { DateValue } from \"@internationalized/date\";\nimport { DatePopupProps } from \"./DatePopup\";\n\nconst SELECTED_DAY =\n \".saltCalendarDay-selected:not(.saltCalendarDay-outOfRange)\";\n\ntype WithRequired<T, K extends keyof T> = T & { [P in K]-?: T[P] };\n\nexport interface DatePopupHookProps\n extends Pick<DatePopupProps, \"onPopupClose\" | \"onPopupOpen\">,\n WithRequired<DatePopupProps, \"onChange\" | \"selectedDate\"> {}\n\nexport const useDatePopup = ({\n onChange,\n onPopupClose,\n onPopupOpen,\n selectedDate,\n}: // selectionVariant,\nDatePopupHookProps) => {\n const [date, setDate] = useState<DateValue>(selectedDate);\n const [, forceUpdate] = useState({});\n const [isOpen, setIsOpen] = useState<boolean>(false);\n const triggererRef = useRef<HTMLButtonElement>(null);\n const calendarRef = useRef<HTMLDivElement>(null);\n\n const visibleMonthRef = useRef<DateValue>(selectedDate);\n const setVisibleMonth = useMemo(() => {\n const setValue = (v: DateValue) => {\n if (v.toString() !== visibleMonthRef.current.toString()) {\n visibleMonthRef.current = v;\n forceUpdate({});\n }\n };\n setValue(selectedDate);\n return setValue;\n }, [selectedDate]);\n\n const handleOpenChange = useCallback<OpenChangeHandler>(\n (open, reason) => {\n setIsOpen(open);\n if (open) {\n onPopupOpen?.();\n requestAnimationFrame(() => {\n const el = calendarRef.current?.querySelector(\n SELECTED_DAY\n ) as HTMLElement;\n el?.focus();\n });\n } else {\n if (reason !== \"Tab\") {\n triggererRef.current?.focus();\n }\n onPopupClose?.(reason);\n }\n },\n [onPopupClose, onPopupOpen]\n );\n\n const handleDateSelection = useCallback(\n (e, date) => {\n setDate(date);\n console.log(date.toString());\n visibleMonthRef.current = date;\n handleOpenChange(false, \"select\");\n onChange(date);\n },\n [handleOpenChange, onChange]\n );\n\n const handleVisibleMonthChange = useCallback(\n (e, date) => {\n setVisibleMonth(date);\n },\n [setVisibleMonth]\n );\n\n return {\n calendarRef,\n date,\n handleOpenChange: handleOpenChange,\n isOpen,\n onSelectedDateChange: handleDateSelection,\n onVisibleMonthChange: handleVisibleMonthChange,\n triggererRef,\n visibleMonth: visibleMonthRef.current,\n };\n};\n"],"names":["useState","useRef","useMemo","useCallback","date"],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- 'use strict';
2
-
3
- var dropdownBaseCss = ".vuuDropdown {\n --saltIcon-margin: 2px 0 0 8px;\n --saltButton-height: var(--vuuDropdown-height);\n --saltButton-width : var(--vuuDropdown-width);\n\n line-height: 0;\n position: relative;\n\n}\n\n.vuuDropdownButton.saltButton-secondary {\n --saltButton-background: var(--salt-editable-background);\n --saltButton-color: var(--salt-editable-foreground);\n --saltButton-borderStyle: solid;\n --saltButton-borderColor: var(--salt-editable-borderColor);\n --saltButton-borderWidth: 1px;\n}\n\n.vuuDropdown-fullWidth {\n width: 100%;\n}\n\n.vuuDropdown-popup {\n background: var(--salt-container-primary-background);\n z-index: calc(var(--salt-zIndex-flyover) - 1);\n}\n\n.vuuDropdown-popup-component {\n --vuuList-borderStyle: none;\n}\n";
4
-
5
- module.exports = dropdownBaseCss;
6
- //# sourceMappingURL=DropdownBase.css.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DropdownBase.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}