draft-components 1.7.1 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -14,7 +14,7 @@ const keyboardKeys = require('../../lib/keyboard-keys.cjs');
14
14
  const helpers = require('../../lib/helpers.cjs');
15
15
  const reactHelpers = require('../../lib/react-helpers.cjs');
16
16
 
17
- function FilteredSearch({ className, placeholder = 'Search and filter', applyButtonLabel = 'Apply', cancelButtonLabel = 'Cancel', clearButtonAccessibleName = 'Clear', removeFilterButtonAccessibleName = 'Remove filter', filtersConfig, filters, onChange, onMouseDown, ...props }) {
17
+ function FilteredSearch({ className, placeholder = 'Search and filter', applyButtonLabel = 'Apply', cancelButtonLabel = 'Cancel', clearButtonAccessibleName = 'Clear', removeFilterButtonAccessibleName = 'Remove filter', filtersConfig, filters, onChangeFilters, onMouseDown, ...props }) {
18
18
  const containerRef = react.useRef(null);
19
19
  const [query, setQuery] = react.useState('');
20
20
  const [hasFocus, setHasFocus] = react.useState(false);
@@ -39,18 +39,18 @@ function FilteredSearch({ className, placeholder = 'Search and filter', applyBut
39
39
  const addFilter = (config) => {
40
40
  const filter = createFilter(config);
41
41
  const textBoxElement = getTextBoxElement();
42
- onChange([...filters, filter]);
42
+ onChangeFilters([...filters, filter]);
43
43
  textBoxElement.blur();
44
44
  setQuery('');
45
45
  setActiveField(filter.field);
46
46
  };
47
47
  const changeFilter = (changedFilter) => {
48
48
  const newFilters = filters.map((filter) => (filter.field === changedFilter.field ? changedFilter : filter));
49
- onChange(newFilters);
49
+ onChangeFilters(newFilters);
50
50
  };
51
51
  const removeFilter = (filterToRemove) => {
52
52
  const newFilters = filters.filter((filter) => (filter.field !== filterToRemove.field));
53
- onChange(newFilters);
53
+ onChangeFilters(newFilters);
54
54
  };
55
55
  const onFilterEditStarted = (filter) => {
56
56
  setActiveField(filter.field);
@@ -133,7 +133,7 @@ function FilteredSearch({ className, placeholder = 'Search and filter', applyBut
133
133
  }
134
134
  else if (key === keyboardKeys.KeyboardKeys.Backspace) {
135
135
  if (query === '' && filters.length > 0) {
136
- onChange(filters.slice(0, -1));
136
+ onChangeFilters(filters.slice(0, -1));
137
137
  isHandled = true;
138
138
  }
139
139
  }
@@ -163,7 +163,7 @@ function FilteredSearch({ className, placeholder = 'Search and filter', applyBut
163
163
  };
164
164
  const onClearButtonPressed = (event) => {
165
165
  event.stopPropagation();
166
- onChange([]);
166
+ onChangeFilters([]);
167
167
  };
168
168
  const onContainerPressed = (event) => {
169
169
  if (event.currentTarget === event.target) {
@@ -24,9 +24,9 @@ const emptyState = require('./empty-state/empty-state.cjs');
24
24
  const filePicker = require('./file-picker/file-picker.cjs');
25
25
  const filterButtons = require('./filter-buttons/filter-buttons.cjs');
26
26
  const filterButton = require('./filter-buttons/filter-button.cjs');
27
+ const filteredSearch = require('./filtered-search/filtered-search.cjs');
27
28
  const stringFilter = require('./filtered-search/model/string-filter.cjs');
28
29
  const stringSetFilter = require('./filtered-search/model/string-set-filter.cjs');
29
- const filteredSearch = require('./filtered-search/filtered-search.cjs');
30
30
  const formField = require('./form-field/form-field.cjs');
31
31
  const label = require('./label/label.cjs');
32
32
  const menu = require('./menu/menu.cjs');
@@ -95,9 +95,9 @@ exports.EmptyState = emptyState.EmptyState;
95
95
  exports.FilePicker = filePicker.FilePicker;
96
96
  exports.FilterButtons = filterButtons.FilterButtons;
97
97
  exports.FilterButton = filterButton.FilterButton;
98
+ exports.FilteredSearch = filteredSearch.FilteredSearch;
98
99
  exports.StringFilter = stringFilter.StringFilter;
99
100
  exports.StringSetFilter = stringSetFilter.StringSetFilter;
100
- exports.FilteredSearch = filteredSearch.FilteredSearch;
101
101
  exports.FormField = formField.FormField;
102
102
  exports.Label = label.Label;
103
103
  exports.Menu = menu.Menu;
package/cjs/index.cjs CHANGED
@@ -31,9 +31,9 @@ const emptyState = require('./components/empty-state/empty-state.cjs');
31
31
  const filePicker = require('./components/file-picker/file-picker.cjs');
32
32
  const filterButtons = require('./components/filter-buttons/filter-buttons.cjs');
33
33
  const filterButton = require('./components/filter-buttons/filter-button.cjs');
34
+ const filteredSearch = require('./components/filtered-search/filtered-search.cjs');
34
35
  const stringFilter = require('./components/filtered-search/model/string-filter.cjs');
35
36
  const stringSetFilter = require('./components/filtered-search/model/string-set-filter.cjs');
36
- const filteredSearch = require('./components/filtered-search/filtered-search.cjs');
37
37
  const formField = require('./components/form-field/form-field.cjs');
38
38
  const label = require('./components/label/label.cjs');
39
39
  const menu = require('./components/menu/menu.cjs');
@@ -115,9 +115,9 @@ exports.EmptyState = emptyState.EmptyState;
115
115
  exports.FilePicker = filePicker.FilePicker;
116
116
  exports.FilterButtons = filterButtons.FilterButtons;
117
117
  exports.FilterButton = filterButton.FilterButton;
118
+ exports.FilteredSearch = filteredSearch.FilteredSearch;
118
119
  exports.StringFilter = stringFilter.StringFilter;
119
120
  exports.StringSetFilter = stringSetFilter.StringSetFilter;
120
- exports.FilteredSearch = filteredSearch.FilteredSearch;
121
121
  exports.FormField = formField.FormField;
122
122
  exports.Label = label.Label;
123
123
  exports.Menu = menu.Menu;
@@ -12,7 +12,7 @@ import { KeyboardKeys } from '../../lib/keyboard-keys.js';
12
12
  import { exhaustiveCheck } from '../../lib/helpers.js';
13
13
  import { classNames } from '../../lib/react-helpers.js';
14
14
 
15
- function FilteredSearch({ className, placeholder = 'Search and filter', applyButtonLabel = 'Apply', cancelButtonLabel = 'Cancel', clearButtonAccessibleName = 'Clear', removeFilterButtonAccessibleName = 'Remove filter', filtersConfig, filters, onChange, onMouseDown, ...props }) {
15
+ function FilteredSearch({ className, placeholder = 'Search and filter', applyButtonLabel = 'Apply', cancelButtonLabel = 'Cancel', clearButtonAccessibleName = 'Clear', removeFilterButtonAccessibleName = 'Remove filter', filtersConfig, filters, onChangeFilters, onMouseDown, ...props }) {
16
16
  const containerRef = useRef(null);
17
17
  const [query, setQuery] = useState('');
18
18
  const [hasFocus, setHasFocus] = useState(false);
@@ -37,18 +37,18 @@ function FilteredSearch({ className, placeholder = 'Search and filter', applyBut
37
37
  const addFilter = (config) => {
38
38
  const filter = createFilter(config);
39
39
  const textBoxElement = getTextBoxElement();
40
- onChange([...filters, filter]);
40
+ onChangeFilters([...filters, filter]);
41
41
  textBoxElement.blur();
42
42
  setQuery('');
43
43
  setActiveField(filter.field);
44
44
  };
45
45
  const changeFilter = (changedFilter) => {
46
46
  const newFilters = filters.map((filter) => (filter.field === changedFilter.field ? changedFilter : filter));
47
- onChange(newFilters);
47
+ onChangeFilters(newFilters);
48
48
  };
49
49
  const removeFilter = (filterToRemove) => {
50
50
  const newFilters = filters.filter((filter) => (filter.field !== filterToRemove.field));
51
- onChange(newFilters);
51
+ onChangeFilters(newFilters);
52
52
  };
53
53
  const onFilterEditStarted = (filter) => {
54
54
  setActiveField(filter.field);
@@ -131,7 +131,7 @@ function FilteredSearch({ className, placeholder = 'Search and filter', applyBut
131
131
  }
132
132
  else if (key === KeyboardKeys.Backspace) {
133
133
  if (query === '' && filters.length > 0) {
134
- onChange(filters.slice(0, -1));
134
+ onChangeFilters(filters.slice(0, -1));
135
135
  isHandled = true;
136
136
  }
137
137
  }
@@ -161,7 +161,7 @@ function FilteredSearch({ className, placeholder = 'Search and filter', applyBut
161
161
  };
162
162
  const onClearButtonPressed = (event) => {
163
163
  event.stopPropagation();
164
- onChange([]);
164
+ onChangeFilters([]);
165
165
  };
166
166
  const onContainerPressed = (event) => {
167
167
  if (event.currentTarget === event.target) {
@@ -22,9 +22,9 @@ export { EmptyState } from './empty-state/empty-state.js';
22
22
  export { FilePicker } from './file-picker/file-picker.js';
23
23
  export { FilterButtons } from './filter-buttons/filter-buttons.js';
24
24
  export { FilterButton } from './filter-buttons/filter-button.js';
25
+ export { FilteredSearch } from './filtered-search/filtered-search.js';
25
26
  export { StringFilter } from './filtered-search/model/string-filter.js';
26
27
  export { StringSetFilter } from './filtered-search/model/string-set-filter.js';
27
- export { FilteredSearch } from './filtered-search/filtered-search.js';
28
28
  export { FormField } from './form-field/form-field.js';
29
29
  export { Label } from './label/label.js';
30
30
  export { Menu } from './menu/menu.js';
package/esm/index.js CHANGED
@@ -29,9 +29,9 @@ export { EmptyState } from './components/empty-state/empty-state.js';
29
29
  export { FilePicker } from './components/file-picker/file-picker.js';
30
30
  export { FilterButtons } from './components/filter-buttons/filter-buttons.js';
31
31
  export { FilterButton } from './components/filter-buttons/filter-button.js';
32
+ export { FilteredSearch } from './components/filtered-search/filtered-search.js';
32
33
  export { StringFilter } from './components/filtered-search/model/string-filter.js';
33
34
  export { StringSetFilter } from './components/filtered-search/model/string-set-filter.js';
34
- export { FilteredSearch } from './components/filtered-search/filtered-search.js';
35
35
  export { FormField } from './components/form-field/form-field.js';
36
36
  export { Label } from './components/label/label.js';
37
37
  export { Menu } from './components/menu/menu.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "draft-components",
3
- "version": "1.7.1",
3
+ "version": "1.8.0",
4
4
  "description": "The React based UI components library.",
5
5
  "type": "module",
6
6
  "exports": {
@@ -29,8 +29,8 @@
29
29
  "coverage": "npm run test -- --coverage --no-cache",
30
30
  "lint": "eslint '**/*.{js,ts,tsx}'",
31
31
  "lint-styles": "stylelint 'src/**/*.css'",
32
- "check-types": "tsc --noEmit",
33
- "prebuild": "npm run test && npm run lint && npm run lint-styles",
32
+ "check-types": "tsc --project 'tsconfig.json' --noEmit",
33
+ "prebuild": "npm run check-types && npm run test && npm run lint && npm run lint-styles",
34
34
  "build": "node scripts/build.js",
35
35
  "build-storybook": "storybook build",
36
36
  "preversion": "npm run build",
@@ -10,6 +10,6 @@ export type FilteredSearchProps = FilteredSearchBaseProps & {
10
10
  removeFilterButtonAccessibleName?: string;
11
11
  filtersConfig: FilterConfig[];
12
12
  filters: Filter[];
13
- onChange: (filters: Filter[]) => void;
13
+ onChangeFilters: (filters: Filter[]) => void;
14
14
  };
15
- export declare function FilteredSearch({ className, placeholder, applyButtonLabel, cancelButtonLabel, clearButtonAccessibleName, removeFilterButtonAccessibleName, filtersConfig, filters, onChange, onMouseDown, ...props }: FilteredSearchProps): import("react/jsx-runtime").JSX.Element;
15
+ export declare function FilteredSearch({ className, placeholder, applyButtonLabel, cancelButtonLabel, clearButtonAccessibleName, removeFilterButtonAccessibleName, filtersConfig, filters, onChangeFilters, onMouseDown, ...props }: FilteredSearchProps): import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,4 @@
1
- export { StringFilter } from './model/string-filter';
2
- export { StringSetFilter } from './model/string-set-filter';
3
1
  export { FilteredSearch, type FilteredSearchProps, type FilteredSearchBaseProps, type FilteredSearchHTMLProps, } from './filtered-search';
4
2
  export { type Filter, type FilterConfig, } from './types';
3
+ export { StringFilter, type StringFilterState, type StringFilterConfig, } from './model/string-filter';
4
+ export { StringSetFilter, type StringSetFilterState, type StringSetFilterConfig, } from './model/string-set-filter';
@@ -1,6 +1,6 @@
1
1
  import { AbstractFilter } from './abstract-filter';
2
2
  import { ValidationResult } from './validation-result';
3
- declare const TYPE = "STRING";
3
+ declare const TYPE: "STRING";
4
4
  declare const OPERATORS: {
5
5
  readonly equal: "EQUAL";
6
6
  readonly notEqual: "NOT_EQUAL";
@@ -25,7 +25,7 @@ export type StringFilterState = {
25
25
  operator: StringFilterOperator;
26
26
  };
27
27
  export declare class StringFilter extends AbstractFilter {
28
- static readonly Type = "STRING";
28
+ static readonly Type: "STRING";
29
29
  static readonly Operators: {
30
30
  readonly equal: "EQUAL";
31
31
  readonly notEqual: "NOT_EQUAL";
@@ -1,5 +1,5 @@
1
1
  import { AbstractFilter } from './abstract-filter';
2
- declare const TYPE = "STRING_SET";
2
+ declare const TYPE: "STRING_SET";
3
3
  declare const OPERATORS: {
4
4
  readonly in: "IN";
5
5
  readonly notIn: "NOT_IN";
@@ -21,7 +21,7 @@ export type StringSetFilterState = {
21
21
  operator: StringSetFilterOperator;
22
22
  };
23
23
  export declare class StringSetFilter extends AbstractFilter {
24
- static readonly Type = "STRING_SET";
24
+ static readonly Type: "STRING_SET";
25
25
  static readonly Operators: {
26
26
  readonly in: "IN";
27
27
  readonly notIn: "NOT_IN";