onekijs-ui 0.16.2 → 0.16.3

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 (40) hide show
  1. package/dist/components/list/DropdownList.d.ts +1 -0
  2. package/dist/components/list/components/ArrayListComponent.d.ts +1 -0
  3. package/dist/components/list/components/CollectionListComponent.d.ts +1 -0
  4. package/dist/components/list/components/ListBodyComponent.d.ts +1 -0
  5. package/dist/components/list/components/ListComponent.d.ts +1 -0
  6. package/dist/components/list/components/VirtualListComponent.d.ts +1 -0
  7. package/dist/components/list/index.d.ts +1 -0
  8. package/dist/components/select/TreeSelect.d.ts +0 -1
  9. package/dist/components/select/components/ControlledSelectComponent.d.ts +1 -1
  10. package/dist/components/select/components/SelectTokensComponent.d.ts +1 -1
  11. package/dist/components/select/index.d.ts +0 -1
  12. package/dist/components/select/typings.d.ts +3 -0
  13. package/dist/components/tree/components/ArrayTreeComponent.d.ts +1 -0
  14. package/dist/components/tree/components/ControllerTreeComponent.d.ts +1 -0
  15. package/dist/components/tree/components/TreeBodyComponent.d.ts +1 -0
  16. package/dist/components/tree/components/TreeComponent.d.ts +1 -0
  17. package/dist/components/tree/components/TreeItemComponent.d.ts +1 -0
  18. package/dist/components/tree/components/TreeListComponent.d.ts +1 -0
  19. package/dist/components/tree/components/VirtualTreeBodyComponent.d.ts +1 -0
  20. package/dist/components/tree/components/VirtualTreeListComponent.d.ts +1 -0
  21. package/dist/components/tree/index.d.ts +1 -0
  22. package/dist/index.js +73 -29
  23. package/dist/index.js.map +1 -1
  24. package/dist/index.module.js +73 -29
  25. package/dist/index.module.js.map +1 -1
  26. package/dist/styles/size.d.ts +6 -6
  27. package/dist/styles/typography.d.ts +1 -1
  28. package/package.json +3 -3
  29. package/src/components/icon/LoadingIcon.tsx +12 -3
  30. package/src/components/select/FormSelect.tsx +5 -7
  31. package/src/components/select/SelectService.ts +3 -1
  32. package/src/components/select/components/ControlledSelectComponent.tsx +4 -0
  33. package/src/components/select/components/SelectInputComponent.tsx +7 -4
  34. package/src/components/select/components/SelectTokenComponent.tsx +2 -1
  35. package/src/components/select/components/SelectTokensComponent.tsx +29 -18
  36. package/src/components/select/style.ts +10 -1
  37. package/src/components/select/typings.ts +3 -0
  38. package/src/components/table/components/ControllerTableComponent.tsx +1 -1
  39. package/src/components/table/components/filters/TableSelectFilterComponent.tsx +2 -1
  40. package/src/components/tooltip/components/TooltipComponent.tsx +24 -2
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  declare const _default: {
2
3
  <T = any, I extends import("./typings").ListItem<T> = import("./typings").ListItem<T>>(props: import("./typings").ListProps<T, I, import("./typings").ListState<T, I>, import("./typings").ListCollection<T, I, import("./typings").ListState<T, I>>>): JSX.Element;
3
4
  displayName: string;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { ArrayListProps, ListItem } from '../typings';
2
3
  declare const ArrayListComponent: <T = any, I extends ListItem<T> = ListItem<T>>(props: ArrayListProps<T, I>) => JSX.Element;
3
4
  export default ArrayListComponent;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { CollectionListProps, ListItem } from '../typings';
2
3
  declare const CollectionListComponent: <T = any, I extends ListItem<T> = ListItem<T>>({ className, controller, height, ItemComponent, ItemLoadingComponent, ItemContentComponent, NotFoundComponent, itemHeight, preload, keyboardNavigable, increment, multiSelect, onItemActivate, onItemHighlight, onItemSelect, onItemDeactivate, onItemUnhighlight, onItemUnselect, paddingEnd, paddingStart, virtual, style, }: CollectionListProps<T, I, import("../typings").ListState<T, I>, import("../typings").ListCollection<T, I, import("../typings").ListState<T, I>>>) => JSX.Element;
3
4
  export default CollectionListComponent;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { ListBodyProps, ListItem } from '../typings';
2
3
  declare const ListBodyComponent: <T = any, I extends ListItem<T> = ListItem<T>>({ bodyRef, className, height, items, ItemComponent, ItemLoadingComponent, ItemContentComponent, NotFoundComponent, keyboardNavigable, ListComponent, multiSelect, onItemActivate, onItemDeactivate, onItemSelect, onItemUnselect, onItemHighlight, onItemUnhighlight, parentRef, scrollToIndex, service, state, style, totalSize, virtualItems, VirtualListComponent, LoadingComponent, }: ListBodyProps<T, I, import("../typings").ListState<T, I>, import("../typings").ListCollection<T, I, import("../typings").ListState<T, I>>>) => JSX.Element | null;
3
4
  export default ListBodyComponent;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { ListItem, ListProps } from '../typings';
2
3
  declare const _default: {
3
4
  <T = any, I extends ListItem<T> = ListItem<T>>(props: ListProps<T, I, import("../typings").ListState<T, I>, import("../typings").ListCollection<T, I, import("../typings").ListState<T, I>>>): JSX.Element;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { ListItem, VirtualListProps } from '../typings';
2
3
  declare const VirtualListComponent: <T = any, I extends ListItem<T> = ListItem<T>>({ items, ItemComponent, ItemLoadingComponent, ItemContentComponent, onItemClick, onItemMouseEnter, onItemMouseLeave, virtualItems, }: VirtualListProps<T, I>) => JSX.Element;
3
4
  export default VirtualListComponent;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  declare const _default: {
2
3
  <T = any, I extends import("./typings").ListItem<T> = import("./typings").ListItem<T>>(props: import("./typings").ListProps<T, I, import("./typings").ListState<T, I>, import("./typings").ListCollection<T, I, import("./typings").ListState<T, I>>>): JSX.Element;
3
4
  displayName: string;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  declare const _default: {
3
2
  <T = any, I extends import("./typings").TreeSelectItem<T> = import("./typings").TreeSelectItem<T>, S extends import("./typings").TreeSelectState<T, I> = import("./typings").TreeSelectState<T, I>, C extends import("./typings").TreeSelectController<T, I, S> = import("./typings").TreeSelectController<T, I, S>>(props: import("./typings").TreeSelectProps<T, I, S, C>): JSX.Element;
4
3
  displayName: string;
@@ -1,3 +1,3 @@
1
1
  import { ControllerSelectProps, SelectController, SelectItem, SelectState } from '../typings';
2
- declare const ControlledSelectComponent: <T = any, I extends SelectItem<T> = SelectItem<T>, S extends SelectState<T, I> = SelectState<T, I>, C extends SelectController<T, I, S> = SelectController<T, I, S>>({ attachDropdownToBody, className, placeholder, controller, InputComponent, IconComponent, OptionContentComponent, OptionComponent, OptionLoadingComponent, MultiOptionsComponent, NotFoundComponent, autoFocus, value, onChange, onBlur: forwardBlur, onFocus: forwardFocus, height, multiple, status, size, nullable, minChars, openOnFocus, searchable, dropdownWidthModifier, preload, increment, animationMs, disabled, defaultValue, required, sameWidth, overscan, clickable, ListComponent, autoCompleteSearch, }: ControllerSelectProps<T, I, S, C>) => JSX.Element;
2
+ declare const ControlledSelectComponent: <T = any, I extends SelectItem<T> = SelectItem<T>, S extends SelectState<T, I> = SelectState<T, I>, C extends SelectController<T, I, S> = SelectController<T, I, S>>({ attachDropdownToBody, className, placeholder, controller, InputComponent, IconComponent, OptionContentComponent, OptionComponent, OptionLoadingComponent, MultiOptionsComponent, NotFoundComponent, autoFocus, value, onChange, onBlur: forwardBlur, onFocus: forwardFocus, height, multiple, status, size, nullable, minChars, openOnFocus, searchable, dropdownWidthModifier, preload, increment, animationMs, disabled, defaultValue, required, sameWidth, overscan, clickable, ListComponent, autoCompleteSearch, maxDisplayTokens, }: ControllerSelectProps<T, I, S, C>) => JSX.Element;
3
3
  export default ControlledSelectComponent;
@@ -1,6 +1,6 @@
1
1
  import { SelectItem, SelectTokensProps } from '../typings';
2
2
  declare const _default: {
3
- <T, I extends SelectItem<T> = SelectItem<T>>({ tokens, onRemove, }: SelectTokensProps<T, I>): JSX.Element | null;
3
+ <T, I extends SelectItem<T> = SelectItem<T>>({ tokens, onRemove, maxDisplayTokens, }: SelectTokensProps<T, I>): JSX.Element | null;
4
4
  displayName: string;
5
5
  };
6
6
  export default _default;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  declare const _default: {
3
2
  <T = any, I extends import("./typings").SelectItem<T> = import("./typings").SelectItem<T>, S extends import("./typings").SelectState<T, I> = import("./typings").SelectState<T, I>, C extends import("./typings").SelectController<T, I, S> = import("./typings").SelectController<T, I, S>>(props: import("./typings").SelectProps<T, I, S, C>): JSX.Element;
4
3
  displayName: string;
@@ -52,6 +52,7 @@ export interface SelectInputProps<T = any, I extends SelectItem<T> = SelectItem<
52
52
  clickable: boolean;
53
53
  minChars: number;
54
54
  autoCompleteSearch: boolean;
55
+ maxDisplayTokens?: number;
55
56
  }
56
57
  export declare type SelectGroup = string | {
57
58
  text: string;
@@ -113,6 +114,7 @@ export declare type SelectConfig<T = any, I extends SelectItem<T> = SelectItem<T
113
114
  sameWidth?: boolean;
114
115
  ListComponent?: React.FC<SelectListComponentProps<T, I>>;
115
116
  autoCompleteSearch?: boolean;
117
+ maxDisplayTokens?: number;
116
118
  };
117
119
  export declare type SelectListComponentProps<T = any, I extends SelectItem<T> = SelectItem<T>> = CollectionListProps<T, I> & {
118
120
  optionsRef: React.RefObject<HTMLDivElement>;
@@ -125,6 +127,7 @@ export declare type SelectState<T = any, I extends SelectItem<T> = SelectItem<T>
125
127
  export interface SelectTokensProps<T = any, I extends SelectItem<T> = SelectItem<T>> {
126
128
  tokens?: I[];
127
129
  onRemove: SelectOptionHandler<T, I>;
130
+ maxDisplayTokens?: number;
128
131
  }
129
132
  export interface SelectTokenProps<T = any, I extends SelectItem<T> = SelectItem<T>> {
130
133
  token: I;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { ArrayTreeProps, TreeItem } from '../typings';
2
3
  declare const ArrayTreeComponent: <T = any, I extends TreeItem<T> = TreeItem<T>>(props: ArrayTreeProps<T, I>) => JSX.Element;
3
4
  export default ArrayTreeComponent;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { ControllerTreeProps, TreeItem } from '../typings';
2
3
  declare const ControllerTreeComponent: {
3
4
  <T = any, I extends TreeItem<T> = TreeItem<T>>({ controller, className, onActivate, onSelect, height, virtual, gap, TreeIconComponent, TreeItemComponent, TreeItemContentComponent, treeItemClassName, TreeTogglerComponent, paddingLeft, paddingRight, animate, keyboardNavigable, listRef, }: ControllerTreeProps<T, I, import("../typings").TreeState<T, I>, import("../typings").TreeController<T, I, import("../typings").TreeState<T, I>>>): JSX.Element;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { ControllerTreeProps, TreeItem } from '../typings';
2
3
  declare const TreeBodyComponent: {
3
4
  <T = any, I extends TreeItem<T> = TreeItem<T>>({ className, controller, }: ControllerTreeProps<T, I, import("../typings").TreeState<T, I>, import("../typings").TreeController<T, I, import("../typings").TreeState<T, I>>>): JSX.Element;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { TreeItem, TreeProps } from '../typings';
2
3
  declare const _default: {
3
4
  <T = any, I extends TreeItem<T> = TreeItem<T>>(props: TreeProps<T, I, import("../typings").TreeState<T, I>, import("../typings").TreeController<T, I, import("../typings").TreeState<T, I>>>): JSX.Element;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { ListItemProps } from '../../list/typings';
2
3
  import { TreeItem, TreeItemProps, TreeItemToggleProps } from '../typings';
3
4
  export declare const TreeItemToggler: <T = any, I extends TreeItem<T> = TreeItem<T>>({ item, onExpand, onCollapse, index, }: TreeItemToggleProps<T, I>) => JSX.Element | null;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { TreeItem, TreeListProps } from '../typings';
2
3
  declare const TreeListComponent: <T = any, I extends TreeItem<T> = TreeItem<T>>({ items, onItemClick, onItemMouseEnter, onItemMouseLeave, }: TreeListProps<T, I>) => JSX.Element;
3
4
  export default TreeListComponent;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { ControllerTreeProps, TreeItem } from '../typings';
2
3
  declare const VirtualTreeBodyComponent: {
3
4
  <T = any, I extends TreeItem<T> = TreeItem<T>>({ className, controller, height, }: ControllerTreeProps<T, I, import("../typings").TreeState<T, I>, import("../typings").TreeController<T, I, import("../typings").TreeState<T, I>>>): JSX.Element;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { TreeItem, VirtualTreeListProps } from '../typings';
2
3
  declare const VirtualTreeListComponent: <T = any, I extends TreeItem<T> = TreeItem<T>>({ items, onItemClick, onItemMouseEnter, onItemMouseLeave, virtualItems, }: VirtualTreeListProps<T, I>) => JSX.Element;
3
4
  export default VirtualTreeListComponent;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  declare const _default: {
2
3
  <T = any, I extends import("./typings").TreeItem<T> = import("./typings").TreeItem<T>>(props: import("./typings").TreeProps<T, I, import("./typings").TreeState<T, I>, import("./typings").TreeController<T, I, import("./typings").TreeState<T, I>>>): JSX.Element;
3
4
  displayName: string;
package/dist/index.js CHANGED
@@ -729,8 +729,8 @@ const iconCircleKeyFrame = styled.keyframes `
729
729
  transform: rotate(360deg);
730
730
  }
731
731
  `;
732
- var LoadingIcon = styled__default["default"](IconComponent$7) `
733
- ${({ width: cssWidth = '16px', height: cssHeight = '16px', color: cssColor = 'primary' }) => styled.css `
732
+ const iconStyle = ({ width: cssWidth = '16px', height: cssHeight = '16px', color: cssColor = 'primary', }) => {
733
+ return styled.css `
734
734
  height: ${cssHeight};
735
735
  width: ${cssWidth};
736
736
  display: inline-flex;
@@ -749,7 +749,10 @@ var LoadingIcon = styled__default["default"](IconComponent$7) `
749
749
  stroke-width: 10px;
750
750
  transform-origin: 50% 50%;
751
751
  }
752
- `}
752
+ `;
753
+ };
754
+ var LoadingIcon = styled__default["default"](IconComponent$7) `
755
+ ${iconStyle}
753
756
  `;
754
757
 
755
758
  const toDegree = (position) => {
@@ -1245,6 +1248,7 @@ const DropdownButton = styled__default["default"](DropdownButtonComponent) `
1245
1248
 
1246
1249
  const TooltipComponent = (props) => {
1247
1250
  const { content, className, popperOptions, children, delayHide = 300, ...tooltipConfig } = props;
1251
+ const [show, setShow] = React.useState(true);
1248
1252
  const tooltipOptions = Object.assign({
1249
1253
  interactive: true,
1250
1254
  delayHide,
@@ -1253,9 +1257,27 @@ const TooltipComponent = (props) => {
1253
1257
  const { style: containerStyle, ...containerProps } = getTooltipProps({ className: 'o-tooltip-container' });
1254
1258
  const { style: arrowStyle, ...arrowProps } = getArrowProps({ className: 'o-tooltip-arrow' });
1255
1259
  const classNames = addClassname('o-tooltip', className);
1260
+ const uid = React.useId();
1261
+ React.useEffect(() => {
1262
+ if (visible) {
1263
+ const event = new CustomEvent('tooltipVisible', {
1264
+ detail: uid,
1265
+ });
1266
+ document.dispatchEvent(event);
1267
+ }
1268
+ }, [visible, uid]);
1269
+ React.useEffect(() => {
1270
+ const listener = (e) => {
1271
+ setShow(e.detail === uid);
1272
+ };
1273
+ document.addEventListener('tooltipVisible', listener);
1274
+ return () => {
1275
+ document.removeEventListener('tooltipVisible', listener);
1276
+ };
1277
+ }, [uid]);
1256
1278
  return (React__default["default"].createElement("div", { className: classNames, ref: setTriggerRef },
1257
1279
  children,
1258
- visible && content && (React__default["default"].createElement("div", { ref: setTooltipRef, style: containerStyle, ...containerProps },
1280
+ show && visible && content && (React__default["default"].createElement("div", { ref: setTooltipRef, style: containerStyle, ...containerProps },
1259
1281
  React__default["default"].createElement("div", { style: arrowStyle, ...arrowProps }),
1260
1282
  content))));
1261
1283
  };
@@ -5686,7 +5708,9 @@ let SelectService = class SelectService extends onekijsFramework.CollectionServi
5686
5708
  else {
5687
5709
  yield this._setValidDefaultValue(this.config === undefined || this.config.nullable || !this.state.items
5688
5710
  ? null
5689
- : this.config.defaultValue === undefined || this.state.defaultValue === null
5711
+ : this.config.defaultValue === undefined ||
5712
+ this.config.defaultValue === null ||
5713
+ this.state.defaultValue === null
5690
5714
  ? this.state.items[0]?.data || null
5691
5715
  : null);
5692
5716
  }
@@ -5887,14 +5911,15 @@ const SelectIconComponent = ({ onClick, open, loading }) => {
5887
5911
  const SelectTokenComponent = ({ token, onRemove, index, }) => {
5888
5912
  return (React__default["default"].createElement("div", { className: "o-select-token" },
5889
5913
  React__default["default"].createElement("div", { className: "o-select-token-text", key: "o-select-token-text" }, token.text),
5890
- React__default["default"].createElement("div", { className: "o-select-token-remove", key: "o-select-token-remove", onClick: () => {
5914
+ React__default["default"].createElement("div", { className: "o-select-token-remove", key: "o-select-token-remove", onClick: (e) => {
5891
5915
  onRemove(token, index);
5916
+ e.stopPropagation();
5892
5917
  } }, "\u2716")));
5893
5918
  };
5894
5919
  SelectTokenComponent.displayName = 'SelectTokenComponent';
5895
5920
  var SelectTokenComponent$1 = React__default["default"].memo(SelectTokenComponent);
5896
5921
 
5897
- const SelectTokensComponent = ({ tokens, onRemove, }) => {
5922
+ const SelectTokensComponent = ({ tokens, onRemove, maxDisplayTokens, }) => {
5898
5923
  const widthRef = React.useRef();
5899
5924
  const onExiting = (node) => {
5900
5925
  node.style.width = '0';
@@ -5911,15 +5936,23 @@ const SelectTokensComponent = ({ tokens, onRemove, }) => {
5911
5936
  }, 0);
5912
5937
  };
5913
5938
  if (tokens !== undefined) {
5914
- return (React__default["default"].createElement(reactTransitionGroup.TransitionGroup, { component: null }, tokens.map((token, index) => (React__default["default"].createElement(reactTransitionGroup.CSSTransition, { timeout: 150, classNames: "o-select-token-animation", mountOnEnter: true, appear: true, unmountOnExit: true, key: `o-select-token-${token.id}`, onEntering: onEntering, onExiting: onExiting },
5915
- React__default["default"].createElement(SelectTokenComponent$1, { token: token, onRemove: onRemove, index: index }))))));
5939
+ if (!maxDisplayTokens || tokens.length <= maxDisplayTokens) {
5940
+ return (React__default["default"].createElement(reactTransitionGroup.TransitionGroup, { component: null }, tokens.map((token, index) => (React__default["default"].createElement(reactTransitionGroup.CSSTransition, { timeout: 150, classNames: "o-select-token-animation", mountOnEnter: true, appear: true, unmountOnExit: true, key: `o-select-token-${token.id}`, onEntering: onEntering, onExiting: onExiting },
5941
+ React__default["default"].createElement(SelectTokenComponent$1, { token: token, onRemove: onRemove, index: index }))))));
5942
+ }
5943
+ else {
5944
+ return (React__default["default"].createElement("div", { className: "o-select-token o-select-token-disabled" },
5945
+ React__default["default"].createElement("div", { className: "o-select-token-text", key: "o-select-token-text" },
5946
+ tokens.length,
5947
+ " selected")));
5948
+ }
5916
5949
  }
5917
5950
  return null;
5918
5951
  };
5919
5952
  SelectTokensComponent.displayName = 'SelectTokensComponent';
5920
5953
  var SelectTokensComponent$1 = React__default["default"].memo(SelectTokensComponent);
5921
5954
 
5922
- const SelectInputComponent = ({ setOpen, open, placeholder, loading, fetching, IconComponent = SelectIconComponent, onFocus: forwardFocus, onBlur: forwardBlur, onChange, onRemove, value, focus, multiple, tokens, autoFocus, style, nullable, clickable, searchable, minChars, disabled, }, ref) => {
5955
+ const SelectInputComponent = ({ setOpen, open, placeholder, loading, fetching, IconComponent = SelectIconComponent, onFocus: forwardFocus, onBlur: forwardBlur, onChange, onRemove, value, focus, multiple, tokens, autoFocus, style, nullable, clickable, searchable, minChars, disabled, maxDisplayTokens, }, ref) => {
5923
5956
  const inputRef = React.useRef(null);
5924
5957
  const autoSizeRef = React.useRef(null);
5925
5958
  // partialValue is the part of the selected item entered by the user
@@ -6064,12 +6097,12 @@ const SelectInputComponent = ({ setOpen, open, placeholder, loading, fetching, I
6064
6097
  }
6065
6098
  }, [autoFocus]);
6066
6099
  return (React__default["default"].createElement("div", { className: className, style: style, ref: ref },
6067
- React__default["default"].createElement("div", { className: "o-select-input-data" },
6068
- multiple && React__default["default"].createElement(SelectTokensComponent$1, { tokens: tokens, onRemove: onRemove }),
6100
+ React__default["default"].createElement("div", { className: "o-select-input-data", onClick: searchable ? undefined : onClick },
6101
+ multiple && React__default["default"].createElement(SelectTokensComponent$1, { tokens: tokens, onRemove: onRemove, maxDisplayTokens: maxDisplayTokens }),
6069
6102
  React__default["default"].createElement("div", { className: "o-select-input-wrapper" },
6070
6103
  React__default["default"].createElement("span", { ref: autoSizeRef, className: "o-select-input-auto-sizer" }),
6071
- React__default["default"].createElement("input", { ref: inputRef, placeholder: placeholder, className: "o-select-input", onFocus: onFocus, onBlur: onBlur, onChange: handleChange, onKeyDown: handleKeyDown, onKeyUp: handleKeyUp, value: proxyValue, onClick: onClick, autoCapitalize: "none", autoComplete: "off", autoCorrect: "off", spellCheck: "false", disabled: disabled }),
6072
- !searchable && (React__default["default"].createElement("span", { className: "o-select-input o-select-input-text", onClick: onClick }, proxyValue || '')))),
6104
+ React__default["default"].createElement("input", { ref: inputRef, placeholder: placeholder, className: "o-select-input", onFocus: onFocus, onBlur: onBlur, onChange: handleChange, onKeyDown: handleKeyDown, onKeyUp: handleKeyUp, value: searchable ? proxyValue : '', onClick: onClick, autoCapitalize: "none", autoComplete: "off", autoCorrect: "off", spellCheck: "false", disabled: disabled }),
6105
+ !searchable && (React__default["default"].createElement("span", { className: "o-select-input o-select-input-text", onClick: onClick }, multiple ? '' : proxyValue || '')))),
6073
6106
  !multiple && nullable && value && !disabled && (React__default["default"].createElement("div", { className: "o-select-remover", onClick: onNullify }, "\u2716")),
6074
6107
  React__default["default"].createElement(IconComponent, { onClick: onIconClick, open: open, loading: loading, fetching: fetching })));
6075
6108
  };
@@ -6154,7 +6187,7 @@ const DefaultSelectListComponent = (props) => {
6154
6187
  });
6155
6188
  return (React__default["default"].createElement(ListBodyComponent, { ...props, className: "o-select-options", bodyRef: props.optionsRef, items: selectItems, totalSize: totalSize, virtualItems: isVirtual ? virtualItems : undefined, scrollToIndex: scrollToIndex, keyboardNavigable: true, service: props.controller?.asService(), state: props.controller.state }));
6156
6189
  };
6157
- const ControlledSelectComponent = ({ attachDropdownToBody = false, className = '', placeholder, controller, InputComponent = SelectInputComponent$1, IconComponent, OptionContentComponent = SelectOptionContent, OptionComponent = SelectOptionComponent$1, OptionLoadingComponent = LoadingItem$1, MultiOptionsComponent = SelectOptionComponent$1, NotFoundComponent = SelectNotFoundComponent, autoFocus, value, onChange, onBlur: forwardBlur, onFocus: forwardFocus, height = 220, multiple = false, status = onekijsFramework.ValidationStatus.None, size = 'medium', nullable, minChars = 0, openOnFocus = false, searchable = true, dropdownWidthModifier = 'min', preload = 50, increment = 50, animationMs = 200, disabled, defaultValue, required = false, sameWidth = true, overscan, clickable = true, ListComponent = DefaultSelectListComponent, autoCompleteSearch = true, }) => {
6190
+ const ControlledSelectComponent = ({ attachDropdownToBody = false, className = '', placeholder, controller, InputComponent = SelectInputComponent$1, IconComponent, OptionContentComponent = SelectOptionContent, OptionComponent = SelectOptionComponent$1, OptionLoadingComponent = LoadingItem$1, MultiOptionsComponent = SelectOptionComponent$1, NotFoundComponent = SelectNotFoundComponent, autoFocus, value, onChange, onBlur: forwardBlur, onFocus: forwardFocus, height = 220, multiple = false, status = onekijsFramework.ValidationStatus.None, size = 'medium', nullable, minChars = 0, openOnFocus = false, searchable = true, dropdownWidthModifier = 'min', preload = 50, increment = 50, animationMs = 200, disabled, defaultValue, required = false, sameWidth = true, overscan, clickable = true, ListComponent = DefaultSelectListComponent, autoCompleteSearch = true, maxDisplayTokens, }) => {
6158
6191
  if (nullable === undefined) {
6159
6192
  nullable = !required;
6160
6193
  }
@@ -6197,6 +6230,7 @@ const ControlledSelectComponent = ({ attachDropdownToBody = false, className = '
6197
6230
  sameWidth,
6198
6231
  overscan,
6199
6232
  autoCompleteSearch,
6233
+ maxDisplayTokens,
6200
6234
  };
6201
6235
  }
6202
6236
  else {
@@ -6234,6 +6268,7 @@ const ControlledSelectComponent = ({ attachDropdownToBody = false, className = '
6234
6268
  sameWidth,
6235
6269
  overscan,
6236
6270
  autoCompleteSearch,
6271
+ maxDisplayTokens,
6237
6272
  };
6238
6273
  }
6239
6274
  const id = React.useId();
@@ -6575,7 +6610,7 @@ const ControlledSelectComponent = ({ attachDropdownToBody = false, className = '
6575
6610
  onekijsFramework.useEventListener('keydown', onKeyDown, false);
6576
6611
  return (React__default["default"].createElement(SelectServiceContext.Provider, { value: service },
6577
6612
  React__default["default"].createElement("div", { className: classNames, ref: containerRef, onMouseDown: () => (stateRef.current.keepFocus = true), onMouseUp: () => (stateRef.current.keepFocus = false) },
6578
- React__default["default"].createElement(InputComponent, { placeholder: placeholder, setOpen: setOpen, open: open, loading: loading, fetching: fetching, onChange: onInputChange, value: autoCompleteSearch ? (proxyItem ? proxyItem.text : '') : controller.getSearch() || '', focus: focus, onFocus: onFocus, onBlur: onBlur, tokens: tokens, multiple: multiple, onRemove: onRemoveToken, autoFocus: autoFocus, style: style, nullable: nullable, IconComponent: IconComponent, searchable: searchable, clickable: clickable, minChars: minChars, ref: triggerRef, disabled: disabled, autoCompleteSearch: autoCompleteSearch }),
6613
+ React__default["default"].createElement(InputComponent, { placeholder: placeholder, setOpen: setOpen, open: open, loading: loading, fetching: fetching, onChange: onInputChange, value: autoCompleteSearch ? (proxyItem ? proxyItem.text : '') : controller.getSearch() || '', focus: focus, onFocus: onFocus, onBlur: onBlur, tokens: tokens, multiple: multiple, onRemove: onRemoveToken, autoFocus: autoFocus, style: style, nullable: nullable, IconComponent: IconComponent, searchable: searchable, clickable: clickable, minChars: minChars, ref: triggerRef, disabled: disabled, autoCompleteSearch: autoCompleteSearch, maxDisplayTokens: maxDisplayTokens }),
6579
6614
  React__default["default"].createElement(Dropdown, { attachToBody: attachDropdownToBody, open: open, distance: 0, animationTimeout: animationMs, onDropStart: onOpen, onCollapseDone: onClosed, placement: "bottom-start", widthModifier: dropdownWidthModifier, className: className, zIndex: attachDropdownToBody ? 2000 : undefined },
6580
6615
  React__default["default"].createElement(ListComponent, { className: "o-select-options", height: height, ItemComponent: multiple ? MultiOptionsComponent : OptionComponent, ItemLoadingComponent: OptionLoadingComponent, ItemContentComponent: OptionContentComponent, NotFoundComponent: NotFoundComponent, onItemSelect: onSelect, onItemUnselect: onSelect, controller: controller, keyboardNavigable: true, multiSelect: multiple, onItemActivate: onActivate, optionsRef: optionsRef })))));
6581
6616
  };
@@ -6798,7 +6833,8 @@ const selectStyle = ({ theme, clickable = true, searchable = true }) => {
6798
6833
  ${flexGrow(1)}
6799
6834
  ${flexWrap('wrap')}
6800
6835
  ${alignItems('center')}
6801
- ${paddingX('sm')}
6836
+ ${paddingLeft('sm')}
6837
+ ${paddingRight(searchable ? 'sm' : 0)}
6802
6838
  ${maxWidth('calc(100% - 32px)')}
6803
6839
  }
6804
6840
 
@@ -6843,6 +6879,13 @@ const selectStyle = ({ theme, clickable = true, searchable = true }) => {
6843
6879
  ${flexGrow(1)}
6844
6880
  ${paddingLeft('sm')}
6845
6881
  }
6882
+
6883
+ .o-select-token-disabled {
6884
+ ${paddingRight('sm')}
6885
+ ${backgroundColor('dark')}
6886
+ ${color('lightest')}
6887
+ }
6888
+
6846
6889
  .o-select-token-remove {
6847
6890
  ${cursor('pointer')}
6848
6891
  ${color('white', { hover: 'danger' })}
@@ -6988,12 +7031,13 @@ const Select = styled__default["default"](SelectComponent$1) `
6988
7031
  `;
6989
7032
 
6990
7033
  const FormSelect = (props) => {
6991
- const [fieldLayoutProps, fieldComponentProps] = useFieldLayout(Object.assign({
6992
- defaultValue: props.defaultValue === undefined ? (props.multiple ? [] : null) : props.defaultValue,
6993
- }, props));
7034
+ const defaultValue = props.defaultValue === undefined ? (props.multiple ? [] : null) : props.defaultValue;
7035
+ const [fieldLayoutProps, fieldComponentProps] = useFieldLayout(Object.assign({}, props, {
7036
+ defaultValue,
7037
+ }));
6994
7038
  const Component = props.FieldComponent || Select;
6995
7039
  return (React__default["default"].createElement(FieldLayout, { ...fieldLayoutProps, required: props.required },
6996
- React__default["default"].createElement(Component, { ...fieldComponentProps, required: props.required, defaultValue: props.defaultValue })));
7040
+ React__default["default"].createElement(Component, { ...fieldComponentProps, required: props.required, defaultValue: defaultValue })));
6997
7041
  };
6998
7042
  FormSelect.displayName = 'FormSelect';
6999
7043
  var FormSelect$1 = React__default["default"].memo(FormSelect);
@@ -8685,12 +8729,6 @@ const useTableState = () => {
8685
8729
  return React.useContext(TableStateContext);
8686
8730
  };
8687
8731
 
8688
- const ExpandedCellComponent = ({ item, className }) => {
8689
- const service = useTableService();
8690
- return (React__default["default"].createElement("div", { className: addClassname('o-table-cell-expander-content', className), onClick: () => service.toggle(item) },
8691
- React__default["default"].createElement(TogglerIcon, { open: item.expanded, model: "plus", color: "primary" })));
8692
- };
8693
-
8694
8732
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
8695
8733
  const useTableColumns = () => {
8696
8734
  return useTableState().columns;
@@ -9456,6 +9494,12 @@ const TableHeaderComponent = ({ columns, className }) => {
9456
9494
  };
9457
9495
  TableHeaderComponent.displayName = 'TableHeader';
9458
9496
 
9497
+ const ExpandedCellComponent = ({ item, className }) => {
9498
+ const service = useTableService();
9499
+ return (React__default["default"].createElement("div", { className: addClassname('o-table-cell-expander-content', className), onClick: () => service.toggle(item) },
9500
+ React__default["default"].createElement(TogglerIcon, { open: item.expanded, model: "plus", color: "primary" })));
9501
+ };
9502
+
9459
9503
  const ControllerTableComponent = ({ autoRefresh, controller, className, bodyClassName, BodyComponent = TableBodyComponent, ExpandedComponent, filterable, fit, fixHeader = true, grow, FooterComponent = TableFooterComponent, footerClassName, header = true, headerClassName, HeaderComponent = TableHeaderComponent, increment, LoadingComponent, LoadingRowComponent, NotFoundComponent, footer = false, height, highlightRow, onRowClick, onRowEnter, onRowLeave, onRowOver, onRowOut, paddingEnd, paddingStart, parentRef, preload, rowClassName, RowComponent, sortable, stripRows, }) => {
9460
9504
  const classNames = addClassname('o-table', className);
9461
9505
  const { columns, items } = controller.state;
@@ -9805,7 +9849,7 @@ const addFilter = (controller, value, column, operator) => {
9805
9849
  controller.removeFilter(column.id);
9806
9850
  }
9807
9851
  };
9808
- const operators$1 = [{ text: 'equals', operator: 'eq', not: false }];
9852
+ const operators$1 = [{ text: 'any of', operator: 'in', not: false }];
9809
9853
  const TableSelectFilterComponent = ({ column, dataSource, }) => {
9810
9854
  const controller = useTableService();
9811
9855
  const filter = controller.getFilterById(column.id);
@@ -9824,7 +9868,7 @@ const TableSelectFilterComponent = ({ column, dataSource, }) => {
9824
9868
  const scClassName = className ? className.split(' ').slice(0, 2).join(' ') : '';
9825
9869
  return (React__default["default"].createElement("div", { className: "o-table-filter-select-container" },
9826
9870
  React__default["default"].createElement(TableFilterOperatorComponent, { operators: operators$1, onChange: onOperatorChange, selected: currentOperator, className: filterValue && filterValue.length > 0 ? 'o-table-filter-active' : '' }),
9827
- React__default["default"].createElement(Select, { className: addClassname('o-table-filter-select', scClassName), multiple: true, dataSource: dataSource, value: filterValue, nullable: true, searchable: false, onChange: onValueChange, size: "xsmall", attachDropdownToBody: true })));
9871
+ React__default["default"].createElement(Select, { className: addClassname('o-table-filter-select', scClassName), multiple: true, dataSource: dataSource, value: filterValue, nullable: true, searchable: false, onChange: onValueChange, size: "xsmall", attachDropdownToBody: true, maxDisplayTokens: 1 })));
9828
9872
  };
9829
9873
  TableSelectFilterComponent.displayName = 'TableInputFilterComponent';
9830
9874